1
0
mirror of https://github.com/vcmi/vcmi.git synced 2025-01-18 03:21:27 +02:00

412 Commits

Author SHA1 Message Date
ArseniyShestakov
f6de3f94ca Teleports: use TTeleportExitsList typedef for exits list
There is several ideas that teleportation code have to be shared between object/spells and this way we can avoid changing showTeleportDialog declaration every time.
2015-11-28 02:41:30 +03:00
ArseniyShestakov
5106738160 Merge branch 'develop' into feature/pathfinderLayers 2015-11-09 19:20:13 +03:00
ArseniyShestakov
866a0a1fc0 VCAI: little improvement for 2a59cb619137cb443adce6aba009ecf37a6a57da 2015-11-08 23:02:59 +03:00
ArseniyShestakov
ac12a0735e Plumbing on client and server to make flying actually work 2015-11-05 10:02:13 +03:00
ArseniyShestakov
2b6e1498d2 Pathfinding: change argument order for getPath and AUTO layer as default
This still need investigation, but likely most of external code shouldn't be aware of layers in order to work properly because only LAND and SAIL can be targeted and single tile can't have both of these layers.
2015-11-02 11:14:32 +03:00
AlexVinS
d46364c4c3 Merge branch 'develop' into issue/2306
Need to reapply changes to pathfiner

Conflicts:
	AI/VCAI/VCAI.cpp
	lib/CGameState.cpp
	lib/CGameStateFwd.h
2015-11-01 01:49:57 +03:00
Vadim Markovtsev
fa8a282696 Fix pthread_mutex_lock abort() in requestActionASAP impl 2015-10-31 18:04:06 +03:00
DjWarmonger
1e36f3cecd Cache SectorMap where possible and update when necessary. 2015-10-26 16:38:17 +01:00
AlexVinS
e8e484bbca Merge branch 'mutexRelax_fix' into develop 2015-10-25 22:35:19 +03:00
DjWarmonger
2a59cb6191 Fixed #2308 - AI didn't attack enemy heroes at all. 2015-10-25 11:55:50 +01:00
DjWarmonger
768b1ca289 More consitent code. 2015-10-25 11:16:43 +01:00
DjWarmonger
87f838f286 AI should poke inaccessible Quest Guards less often. 2015-10-25 08:39:03 +01:00
DjWarmonger
520e42bcd7 Fixed #2317 2015-10-25 08:21:15 +01:00
DjWarmonger
4e444abf66 Few more uses of cached visibleTiles. 2015-10-24 20:46:55 +02:00
DjWarmonger
afe65d1264 Relaxed some locks in VCAI. 2015-08-31 09:18:24 +02:00
DjWarmonger
1c14dbf7b2 Cache SectorMaps to evaluate multiple goals -> huge performance boost 2015-08-31 08:25:33 +02:00
DjWarmonger
a3ce1521e5 Cache visible tiles within SectorMap for quicker access. 2015-08-31 07:39:03 +02:00
DjWarmonger
2012d53dd6 Fixed issues with exchanging combo artifacts (#2132). 2015-08-30 15:15:04 +02:00
DjWarmonger
6af8db2c69 Fixed logic discrepancy for (in)visible objects. Fixes #2224, #2225 and possibly more. 2015-08-30 09:14:54 +02:00
DjWarmonger
3e8c395156 - More fixes for wander targets
- SectorMap won't find paths through the rock
2015-04-10 08:50:21 +02:00
DjWarmonger
d32461d9d1 Complete solution for artifact equip & exchange. 2015-04-09 09:53:17 +02:00
DjWarmonger
b3f482b8a8 Restored artifact selection & exchange, work in progress. 2015-04-07 22:48:35 +02:00
DjWarmonger
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
DjWarmonger
2f588b548e Fixed one case when heroes exchanged armies until ran out of movement points. 2015-04-07 08:43:10 +02:00
DjWarmonger
6cfc89dc7c A number of fixes for wander / SectorMap. 2015-04-05 21:13:47 +02:00
DjWarmonger
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
DjWarmonger
299e9d5a0b Experiment - do not prioritize reserved objects during wandering to prevent running back and forth. 2015-03-30 10:07:37 +02:00
DjWarmonger
8820bc05a9 MSVS compiler doesn't allow default arguments for Lambdas. 2015-03-10 10:06:45 +01:00
DjWarmonger
ec879046ca Merge pull request #93 from ArseniyShestakov/feature/pathfindingTeleports
Okay let's do this!
2015-03-10 09:04:25 +01:00
ArseniyShestakov
11d4b4291c VCAI: always clear teleport channel probing list if we lost hero 2015-03-10 03:23:36 +03:00
ArseniyShestakov
431f3bd857 VCAI: use cannotFulfillGoalException instead of runtime_error 2015-03-09 17:09:34 +03:00
ArseniyShestakov
8524bdbc25 VCAI: use copy_if instead of erase_if for teleport exit probing list 2015-03-09 03:24:39 +03:00
ArseniyShestakov
496338813c VCAI: explicitly check for teleportation between subterranean gates 2015-03-09 02:27:49 +03:00
ArseniyShestakov
8f8d237d5d Use isTeleportChannel callback functions to check teleport channel type 2015-03-09 02:13:40 +03:00
ArseniyShestakov
afac28a2f5 VCAI little fix for typo in retreiveVisitableObjs 2015-03-08 17:56:59 +03:00
ArseniyShestakov
12cf883740 VCAI: add all new movement code include teleports and transit support 2015-03-08 17:47:58 +03:00
ArseniyShestakov
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
ArseniyShestakov
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
AlexVinS
f4c683cd5e Move VievXXX logic to server side (except expert ViewEarth) 2015-02-26 17:15:17 +03:00
ArseniyShestakov
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
DjWarmonger
60932d9ed0 AI won't ignore owned objects taken by enemies. 2015-01-24 21:38:22 +01:00
AlexVinS
3bca68fd2d Initial refactoring
* reduce registerTypes* templtates instantiation
2014-12-21 17:29:42 +03:00
DjWarmonger
95e442898e Fixed #1900 2014-10-01 13:26:04 +02:00
Ivan Savenko
33c0e24940 Fixes 1895 - Properly select upper army for recruitment 2014-09-23 14:28:55 +03:00
Ivan Savenko
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
Ivan Savenko
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
Ivan Savenko
78709e223b Breaking things - trying to remove server-side knowledge of selected objects 2014-09-19 00:18:49 +03:00
Ivan Savenko
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
Haryaalcar
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
Ivan Savenko
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