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

540 Commits

Author SHA1 Message Date
264a0c4fe7 - Restored evaluation of wander targets at every step.
- First wander target will be sorted by distance (closest) as well.
2015-04-07 08:55:13 +02:00
2f588b548e Fixed one case when heroes exchanged armies until ran out of movement points. 2015-04-07 08:43:10 +02:00
6cfc89dc7c A number of fixes for wander / SectorMap. 2015-04-05 21:13:47 +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
299e9d5a0b Experiment - do not prioritize reserved objects during wandering to prevent running back and forth. 2015-03-30 10:07:37 +02:00
8820bc05a9 MSVS compiler doesn't allow default arguments for Lambdas. 2015-03-10 10:06:45 +01:00
ec879046ca Merge pull request #93 from ArseniyShestakov/feature/pathfindingTeleports
Okay let's do this!
2015-03-10 09:04:25 +01:00
11d4b4291c VCAI: always clear teleport channel probing list if we lost hero 2015-03-10 03:23:36 +03:00
431f3bd857 VCAI: use cannotFulfillGoalException instead of runtime_error 2015-03-09 17:09:34 +03:00
8524bdbc25 VCAI: use copy_if instead of erase_if for teleport exit probing list 2015-03-09 03:24:39 +03:00
496338813c VCAI: explicitly check for teleportation between subterranean gates 2015-03-09 02:27:49 +03:00
8f8d237d5d Use isTeleportChannel callback functions to check teleport channel type 2015-03-09 02:13:40 +03:00
afac28a2f5 VCAI little fix for typo in retreiveVisitableObjs 2015-03-08 17:56:59 +03:00
12cf883740 VCAI: add all new movement code include teleports and transit support 2015-03-08 17:47:58 +03:00
665712c196 VCAI: add any newly found teleports to knownTeleportChannels
Now all new objects added to visitableObjs only using addVisitableObj so we can catch them for teleports handling.
I also simplified one of retreiveVisitableObjs functions because it's only used for inserting things into visitableObjs.
2015-03-08 17:38:09 +03:00
ab7ad4741a AIStatus: add teleport channel probing mode
When AI going through bidirectional teleport it's always getting list of all available exits.
If some of exits are invisible it's will attempt to visit each of them teleport probing begins.
2015-03-08 17:23:56 +03:00
f4c683cd5e Move VievXXX logic to server side (except expert ViewEarth) 2015-02-26 17:15:17 +03:00
ea46be03f3 AI: check if hero killed while visiting object he stayed on
This is need to avoid crashes like one happen in 2084, but then game bahaviour incorrect.
I'm not exactly sure if this possible currently, but I can imaging this would happen if hero decide to attack bank while staying on it.
2015-02-22 20:56:50 +03:00
60932d9ed0 AI won't ignore owned objects taken by enemies. 2015-01-24 21:38:22 +01:00
3bca68fd2d Initial refactoring
* reduce registerTypes* templtates instantiation
2014-12-21 17:29:42 +03:00
95e442898e Fixed #1900 2014-10-01 13:26:04 +02:00
33c0e24940 Fixes 1895 - Properly select upper army for recruitment 2014-09-23 14:28:55 +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
78709e223b Breaking things - trying to remove server-side knowledge of selected objects 2014-09-19 00:18:49 +03:00
1157111fcf More bugfixing:
- Fixed compile in VCAI (precompiled headers should not include VCMI headers)
- Fixed crash on visiting observatories, including shroud of darkness
2014-06-29 17:23:06 +03:00
88122ee253 another build fix:
Undefined symbols for architecture x86_64:
  "operator<<(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, EVictoryLossCheckResult const&)
2014-06-26 02:19:10 +03:00
32240da34e Reduced number of #include's in headers. May break compilation on Win
since some net packs now need DLL_LINKAGE
2014-06-25 17:11:07 +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
3ac306f501 Merge pull request #19 from vcmi/feature/mapObjects
Feature/map objects
2014-06-22 14:49:42 +02:00
2ee139977f crash in VCAI::completeGoal() fixed 2014-06-09 11:24:17 +03:00
652ceb2bde Finally shattered CObjectHandler.cpp into tiny bits
- This file is now split into multiple smaller files in mapObjects
directory
- CObjectHandler itself now contains only core classes (Handler itself,
CGObject and interfaces)
- Cleaned up excessive #include's through whole project
2014-06-05 19:52:14 +03:00
0afdfa529c Moved all object-related files to lib/mapObjects directory.
Renamed some classes to more readable names
2014-06-05 14:19:47 +03:00
32b6568b65 Merged changes from upstream and fixed compilation caused by API changes 2014-06-03 22:45:18 +03:00
aee748d8d6 - Added monoliths between remote zones
- Fixed land connections between zones, now they're generated correctly.
2014-06-01 12:02:43 +02:00
1d17d60449 gcc update:
- removed support for 4.6
- compilation fixes for 4.7
2014-05-29 13:42:05 +03:00
6658e173f1 - Possible fix for #1769
- Fixed all possible (even unexpected) crashes when AI looses active hero
2014-05-18 13:13:31 +02:00
21c2efbc64 Update VCAI.cpp
Deleted commented text and optimized estimateIncome
2014-04-28 10:33:42 +04:00
ede9818b38 Update VCAI.cpp
corrected typo
2014-04-28 08:26:21 +04:00
8ec7a9b919 Moved "max heroes on map per player", "max heroes available for player" to "defaultMods.json" 2014-04-27 10:43:46 +04:00
907caedb13 Added "produce" section in "building" structure. Changed dailyIncome. 2014-04-26 18:23:35 +04:00
b7b890acff Added "tavernVideo","guildBackground" to "faction" JSON config and schema. If "primaryResource" is set to "gold", silo will generate 500 gold per day 2014-04-24 23:36:18 +04:00
43ba3d30ea Breaking things - first commit towards configurable object(s).
- New files: lib/CObjectWithReward.h/cpp
- Classes that will be replaced by configurable object are now in this
fil

Status: far from functional, currently at "it compiles" point, some
essential pieces are still missing.
2014-04-06 23:14:26 +03:00
2da3d7d7c3 Removed AI bottleneck on water-based maps. 2014-04-03 09:57:44 +00:00
30b79588db - Moved gameState::guardingCreaturePosition() to CMap so it doesn't need to be recalculated many times for every player.
- Some optimizations with local cb pinter in VCAI.
2014-04-01 11:53:28 +00:00
a64df5718f Some nontrivial optimizations based on profiling results:
- Movement bonuses will be calculated ONCE per pathfinder loop
- Goals will be sorted by hero to reduce number of calculatePaths calls
2014-03-31 14:26:09 +00:00
8683c8c0eb - Added and improved some propagators, including Crystal Dragons ability (#1232)
- Minor refactoring in AI
2014-03-29 21:39:19 +00:00
771c1ce255 - some effords to get rid of bottlenecks in AI code
- fixes, probably partially #1577
- enabled code for reading map object templates from json, still not
used
- disabled PCH for launcher due to speed issues.
2014-03-23 16:36:16 +00: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