1
0
mirror of https://github.com/vcmi/vcmi.git synced 2025-06-23 00:28:08 +02:00
Commit Graph

72 Commits

Author SHA1 Message Date
10dbbead2d Fix indentation of logging code and around it
That wouldn't be as big issue if problem affected few files, but it everywhere in codebase.
Fixed it everywhere since in most files that is the only code with wrong indentation.
2016-03-12 04:46:21 +03:00
10f888a483 Fix obelisks puzzle revealing
Teams and players were messed up in lib; hardcoded constants were refactored.
2016-01-20 10:44:13 +03:00
6eefce23fe Check against nullptr in VisitHero::fulfillsMe() 2016-01-19 21:15:07 +03:00
9fd1cff090 Refactoring: always use std prefix for shared_ptr, unique_ptr and make_shared
Long time ago it's was used without prefix to make future switch from boost to std version easier.
I discusses this with Ivan and decide to drop these using from Global.h now.

This change wouldn't break anything because there was already code with prefix for each of three cases.
2015-12-29 05:43:33 +03:00
29a7934a99 Refactoring: avoid using namespace when it's not absolutely needed 2015-12-29 02:14:08 +03:00
03e9dd3bab Add hero gold cost to GameConstants 2015-12-07 00:13:58 +03:00
faa7cbff18 Fixed gcc/clang warnings 2015-12-04 01:17:43 +02:00
2e56b547ee replaced references to SectorMap with shared_ptr to avoid data races in AI code 2015-12-04 00:10:51 +02:00
7b5a7f43ad Removed includes of CGameState from headers 2015-12-02 21:39:53 +02:00
1e36f3cecd Cache SectorMap where possible and update when necessary. 2015-10-26 16:38:17 +01:00
768b1ca289 More consitent code. 2015-10-25 11:16:43 +01:00
87f838f286 AI should poke inaccessible Quest Guards less often. 2015-10-25 08:39:03 +01:00
f3c7774576 AiI will ignore winning conditions that require defeating his own objects. Fixes #2174 2015-04-13 18:45:43 +02:00
3e8c395156 - More fixes for wander targets
- SectorMap won't find paths through the rock
2015-04-10 08:50:21 +02:00
a208afeee6 Removed new code, it was enough to fix the old one. 2015-03-30 16:54:32 +02:00
b2a75551c8 - Extensive use of SectorMap. AI will not eagerly pick guarded and blocked treasures.
- Fixed usage of boats, added Boat building as a part of Explore goal. This resolves #2151
2015-03-30 15:32:23 +02:00
8d901ad4d0 VCAI Explore goal: fix switch formatting 2015-03-09 01:25:52 +03:00
f490ea1fcd VCAI Explore goal: remove useless check 2015-03-08 18:36:25 +03:00
9ece636cf8 VCAI Explore goal: add monolith's exploration support
Explore will also suggest AI to re-enter bidirectional teleporter in case of one of it's exits is not visible for some reason.

Also now AI won't try to visit teleporters in case if it's know that it's channel is impassable. E.g if map have several entrance monoliths of with same same SubID that don't have exit then AI will only try to visit one of them and later of he'll know that all other monoliths of this subtype is blocked because they all using same channel.
2015-03-08 17:49:14 +03:00
da76a2f227 Fixed AI trying to visit tile already occupied by different hero, including #1902. 2014-12-21 14:50:26 +01:00
af02655b30 Fixed #1962 2014-12-21 11:33:53 +01:00
4bb5784922 Fixing AI - dwelling visitation code should now work properly 2014-09-21 18:08:47 +03:00
b67618ab53 First batch of AI fixes:
- wiped not actually used set/get selection
- replaced isReachable with VCAI::isAccessible
2014-09-21 17:03:20 +03:00
6c0c03d74b Refactoing of pathfinder <-> client/AI interaction to remove dependency on selected hero
- finished removal of server-side setSelection
- disabled some broken code (AI & cheats). TODO: fix
2014-09-21 16:42:08 +03:00
a0689fa377 Refactoring of hoverText from objects:
- removed hoverText field
- split getHoverText() method into 3:
- - getObjectName() for generic name
- - getHoverText(Player) for player-specific text
- - getHoverText(Hero) for hero-specific strings
2014-06-24 20:39:47 +03:00
441e4b2cb2 Improvements for AI speed (#1760)
AI heroes will be excluded from exploration if:
- There is no clear way to next exploration point or
- There is no possible exploration point at all
AI heroes will be erased from the list above if:
- FoW changes
- New object is added
- To prevent lock, primary hero will be erased at the start of each turn
2014-03-23 16:00:43 +00:00
9c0df68cb8 Fixing spelling mistakes. Patch from josch, fixes #1759 2014-03-23 12:59:03 +00:00
94c8f01732 Commiting some minor tweaks before next dev version. 2014-02-23 16:55:42 +00:00
b0b0249524 - Implemented serialization of Goals. Loaded games work, at least.
- Attempts to add Subterranean Gates to SectorMap
- Extensive use of ClearWayTo goal.
2014-02-20 20:18:49 +00:00
8683b982c7 - A simple method to break loop in goal decomposition (which consumed time)
- Finally corrected canGetArmy conditions (which also consumed time)
- Removed some unused code, general cleaning
2014-02-19 16:23:47 +00:00
a3cad2883f - Restored correct specialty serialization (#1599 and all its children)
- Fixed rare AI crash
- Fixed AI visiting some objects many times
- Some cleanup and refactoring
2014-02-17 17:28:39 +00:00
6ee823298a - Various improvements for exploration
* Heroes will try to use SectorMap if there are no accessible tiles
* Remove some loopholes and pitfalls when all the ways are blocked
* Fixed AI not conquering some (reserved) objects
Still missing: SectorMap does not use Subterranean Gates :(

- Improvements for army exchange
* Fixed exchange condition
* Bidirectional exchange is possible
2014-02-17 07:36:03 +00:00
afacb40f5a - Fixed secondary heroes stalking main hero
- Fixed exotic crash when all nearby tiles are occupied
2014-02-15 21:32:49 +00:00
b368e565ab - fixed #1714
- Performance improvements, refactoring
2014-02-15 19:39:03 +00:00
d8933b5c36 - AI will now use SectorMap to find a way to guarded / covered objects.
- Improvements to SectorMap needed for use of multiple heroes
2014-02-15 16:38:51 +00:00
7f07a30d7d More fixes for map-specific crashes, fixes #1427 and #733
- if special victory condition is present AND there is only one player
normal victory condition will be disabled
- added new triggered condition, constant value
- if target of CONTROL/DESTROY condition is removed from map, triggered
condition will be replaced with constant
- fixed randomization of armies with random stacks
2014-02-09 12:10:02 +00:00
d17b3a14bd - Significantly improved exploration algorithm
- Workaround to make AI gather army when exploration is not possible anymore
- Possibly fixed issue with AI not capturing guarded objects
2014-02-07 20:09:15 +00:00
a9b10c8099 - Changed aggregation method so now fuzzy engine takes all the factors into consideration
- Heroes now will use real path cost and their movement, which has numerous advantages:
* Actual movement cost is taken into consideration
* Groups of heroes will keep order
* Fastest heroes will be used for exploration first
2014-02-07 08:23:31 +00:00
16d6292be9 [refactor] extract often used classes from lib\NetPacks.h to separate header - less dependecies on whole packets class tree
[mingw build] fix linking issues with netpacks. 
Mingw build is finally fixed! 

[c::b] update projects

[config] fix and cleanup spell_info.json
2014-01-16 20:24:06 +00:00
51e6961d08 Compile fix for MVS. 2013-12-29 15:48:56 +00:00
0c5be52a42 Win/loss conditions based on logical expressions, yet another large
changeset:
- victory/defeat will be detected using triggered events
- vcmi will convert h3 conditions into set of triggered events
- it is possible to either change number of days without towns or even
remove this loss condition completely
- possibility of custom win/loss text and icons in pregame (no longer
connected to win/loss conditions)

Still missing:
- No interface to pass custom events/victory conditions into the game 
- AI would benefit from improvemets (handle all victory conditions,
select best one to fulfill)
- You have X days till defeat message still hardcoded to 7 days
2013-12-29 11:27:38 +00:00
9ec299931d - Fixed VisitHero goal. Now heroes can exchange armies again.
- AI should not get lazy in endgame.
- Removed unused code.
2013-12-27 13:20:40 +00:00
e5b011abe0 - Fixed heroes stalling. Locked heroes now try to decompose their goals exhaustively, which FINALLY works as intended.
- Fixed multiple issues with ClearWayTo goal.
2013-12-26 09:53:37 +00:00
603cbd8850 Experiment: goal values calculated by Fuzzy Helper will be stored in "priority" field and used in consecutive calculations. 2013-12-25 16:05:11 +00:00
7af9b0ea74 Replaced AI vectors by sets for both performance and safety. 2013-12-25 13:38:20 +00:00
12bb9221d1 One more fix. 2013-12-24 22:12:12 +00:00
a8539b2b28 - Fixes for Quest Guard and goal completion, in particular For Sale map (#894)
- Fixes for ally players handling by AI
2013-12-24 22:01:16 +00:00
0c3ccda922 One more fix. 2013-12-23 21:22:42 +00:00
aec04d920e Endless crusade against AI issues and loopholes!
- Fixed #1126
- ClearWayTo and GatherArmy goals will also consider multiple subgoals
- GatherArmy may include building dwellings in town (experimental)
2013-12-23 20:46:01 +00:00
362a54b4df More fixes and tweaks for AI, including #1590. 2013-12-21 21:31:28 +00:00