Ivan Savenko
9fbfbc7506
Fix build
2025-04-29 12:37:29 +03:00
Ivan Savenko
eaae6270b2
Fix crash on AI evaluating hero pool after retreating from combat
2025-04-29 12:15:03 +03:00
Ivan Savenko
a43c3fcb31
Restore save compatibility with 1.6
2025-04-27 14:57:31 +03:00
Ivan Savenko
d1d2cf4189
Fix crashes on game start, gamestate now derives from GameCallbackHolder
2025-04-27 14:57:31 +03:00
Ivan Savenko
d9aabb47e6
Remove pointers to hero instances from HeroPool class
2025-04-27 14:57:30 +03:00
Ivan Savenko
1f502c0548
CMap towns and heroes on map fields are now private
2025-04-27 14:57:30 +03:00
Ivan Savenko
10ad0fc760
Split CHeroHandler.cpp/.h into 1 file per class
...
All parts of CHeroHandler.cpp are now in lib/entities/hero
Adjusted includes to use new paths
No functionality changes
2024-10-13 14:01:09 +00:00
Ivan Savenko
3dd4fa2528
Reduce usage of pointers to VLC entities
...
Final goal (of multiple PR's) is to remove all remaining pointers from
serializeable game state, and replace them with either identifiers or
with shared/unique pointers.
CGTownInstance::town and CGHeroInstance::type members have been removed.
Now this data is computed dynamically using subID member.
VLC entity of a town can now be accessed via following methods:
- getFactionID() returns ID of a faction
- getFaction() returns pointer to a faction
- getTown() returns pointer to a town
VLC entity of a hero can now be accessed via following methods:
- getHeroTypeID() returns ID of a hero
- getHeroClassID() returns ID of a hero class
- getHeroType() returns pointer to a hero
- getHeroClass() returns pointer to a hero class
2024-10-10 12:28:08 +00:00
Ivan Savenko
c21913f661
Fixed initialization of move points and mana for dismissed heroes
2024-01-15 23:16:48 +02:00
Ivan Savenko
35ee8c1397
Only apply normal mana regen for retreated heroes in taverns (h3 logic)
2023-11-12 19:30:33 +02:00
Ivan Savenko
03e1169781
Reduced number of accesses to CGObjectInstance::subID
2023-11-01 14:43:20 +02:00
Ivan Savenko
ef0eb8e930
Merge pull request #2772 from wb180/tavernPoolHeroesFix
...
Remove(reduce durations) of bonuses for tavern heroes
2023-09-07 10:54:44 +03:00
Evgeniy Meshcheryakov
47f5dd14fa
Remove(reduce durations) of bonuses for tavern heroes
2023-09-06 09:12:23 +03:00
Ivan Savenko
a30e7ba321
Remove bitmasks of PlayerColor's. Add encode/decode methods
2023-09-04 18:56:16 +03:00
Ivan Savenko
ee8adbe85f
Update tavern on end of 7th turn of player in question
...
Allows removal of "retreat after 7th day" workaround and as result -
more straightforward code
2023-08-24 23:34:33 +03:00
Ivan Savenko
72210afc92
Do not attempt to reset movement for inactive heroes in pool
2023-07-27 15:51:38 +03:00
Ivan Savenko
463efea7bb
Fix hero retreating handling & code cleanup
2023-07-15 19:55:30 +03:00
Ivan Savenko
cb16636fce
Implemented preserving hero on retreat on 7th day after end of turn
2023-07-15 19:55:30 +03:00
Ivan Savenko
9a38d8ea97
Implemented tavern slot selection using rules similar to H3
2023-07-15 19:55:30 +03:00
Ivan Savenko
a2d2ecc96f
Roll first for hero class, and then - for actual hero for tavern
2023-07-15 19:55:30 +03:00
Ivan Savenko
f8187ce1d8
Fix regressions
2023-07-15 19:55:30 +03:00
Ivan Savenko
19ace6a849
Moved hero pool logic to the separate files
2023-07-15 19:55:29 +03:00