Ivan Savenko
6aadcf43d3
Fix tests
2025-05-15 13:04:47 +03:00
Ivan Savenko
4d4da0454f
map objects hierarchy now uses IGameInfoCallback
2025-05-14 18:33:20 +03:00
Ivan Savenko
6f20235d07
Merge CPrivilegedInfoCallback into CGameInfoCallback
2025-05-14 13:42:20 +03:00
Ivan Savenko
b37a3dc63c
Lighthouse / flaggable objects now has dedicated bonus system node
...
this alows to remove multiple hacks from lighthouse logic
2025-05-14 13:42:19 +03:00
Ivan Savenko
716da918f8
Completely remove IGameCallback class
...
- CClient now inherits directly from CPrivilegedInfoCallback, like
IGameCallback did before. However CClient no longer needs dummy
implementation of IGameEventCallback
- CGObjectInstance hierarchy now uses CPrivilegedInfoCallback for
callback. Actual events can only be emitted in calls that receive
IGameEventCallback pointer, e.g. heroVisit
- CGameHandler now inherits directly from both CPrivilegedInfoCallback
and IGameEventCallback as it did before via IGameCallback
2025-05-14 13:39:41 +03:00
Ivan Savenko
f7d08a7288
Merge pull request #5700 from IvanSavenko/gamestate_pack_visitor
...
Remove CPack::applyGs method in favor of GameStatePackVisitor class
2025-05-14 11:53:15 +03:00
Ivan Savenko
1165dadfd4
Merge pull request #5701 from IvanSavenko/bonus_docs
...
Update documentation for bonuses and fix creature type limiter
2025-05-14 11:53:05 +03:00
Ivan Savenko
c62e1d289e
Merge pull request #5706 from IvanSavenko/antagarich
...
Fix missing messages on events without guards on .vmap's (e.g. Antagarich Burning)
2025-05-14 11:52:52 +03:00
Ivan Savenko
a13ab8f013
Merge pull request #5707 from IvanSavenko/dwelling_fix
...
Fixes for handling of oversized map dwellings
2025-05-14 11:52:40 +03:00
Ivan Savenko
d25db82bf8
Merge pull request #5710 from IvanSavenko/docs_fix
...
Fix documentation on configurable map objects
2025-05-14 11:52:30 +03:00
Ivan Savenko
f26dca2026
Merge pull request #5708 from kdmcser/limit_fix
...
OppositeLimiter fix and boat creation fix when loading map
2025-05-14 11:52:15 +03:00
Ivan Savenko
ed2b9e77e4
Fix documentation on configurable map objects
2025-05-13 18:12:43 +03:00
Ivan Savenko
9a30ce27af
Merge pull request #5705 from IvanSavenko/callback_split
...
Reorganize callback-related code
2025-05-13 15:21:39 +03:00
Ivan Savenko
1f15a7faa4
Fix build
2025-05-12 22:07:10 +03:00
Ivan Savenko
2c17c2d5b7
Rework CCallback <-> CClient interaction
...
- callback is now part of lib instead of weird class that is shared by
client and AI while being part of client
- callback interacts with client class via minimal interface class
- removed no longer used unlockGsWhileWaiting field
2025-05-12 22:07:10 +03:00
Ivan Savenko
35644da2b7
Reogranize callback-related classes on 1 file = 1 class basis
2025-05-12 22:07:09 +03:00
kdmcser
1c4d78c3fa
fix boat instanceName not set bug in loading map
2025-05-13 01:04:27 +08:00
kdmcser
c464e953e2
Merge branch 'develop' into limit_fix
2025-05-13 00:59:25 +08:00
kdmcser
ab46a16322
fix OppositeSideLimiter treat UNFLAGGABLE as opposite of NEUTRAL
2025-05-13 00:58:10 +08:00
Ivan Savenko
cb70cc48d6
Fixes for handling of oversized map dwellings
...
- Marked large version of H3 Unicorn's Glade as not usable for random
dwelling replacement
- Shifted oversized dwellings - that have at most 2x2 as blocked tile,
but have non-blocked tile column will now be placed correctly
- This fixes incorrect random dwelling replacement of the only oversized
H3 dwelling - Portal of Glory
- Game will now detect & report invalid dwelling templates from mods
- Updated docs to clarify dwellings format
2025-05-12 18:01:46 +03:00
Ivan Savenko
79591ac587
Fix missing messages on events without guards on .vmap's
2025-05-12 15:42:59 +03:00
Ivan Savenko
29207c0b0f
Merge pull request #5702 from IvanSavenko/sonar
...
Fix issues detected by Sonar
2025-05-12 14:54:39 +03:00
Ivan Savenko
0a74992268
Fix formatting
2025-05-11 19:58:49 +03:00
Ivan Savenko
4b30336d03
Fix issues detected by Sonar
2025-05-11 19:50:57 +03:00
kdmcser
7543fee02c
fix OppositeSideLimiter error
2025-05-12 00:46:06 +08:00
Ivan Savenko
990f766254
Update & expand docs on bonus limiters & updaters
2025-05-10 19:16:51 +03:00
Ivan Savenko
519fbae43c
Add example of typical bonus system graph to docs
2025-05-10 19:13:47 +03:00
Ivan Savenko
a188934e12
Add basic description of battlefield layout
2025-05-10 19:12:59 +03:00
Ivan Savenko
9bf5cf42f3
Move guides to separate directory to make them easier to find
2025-05-10 19:11:30 +03:00
Ivan Savenko
3d170bb1f4
Fix creature type limiter not considering upgrades of upgrades
2025-05-10 19:09:08 +03:00
Ivan Savenko
86b832be67
Remove CPack::applyGs method in favor of GameStatePackVisitor class
2025-05-10 17:51:35 +03:00
Ivan Savenko
cb5295b9ec
Merge pull request #5690 from IvanSavenko/rewardable_improve
...
Extend functionality of rewardable objects
2025-05-09 18:47:56 +03:00
Ivan Savenko
754bc16e82
Fix .md formatting
2025-05-09 18:45:28 +03:00
Ivan Savenko
ed6725db0f
Update schemas
2025-05-09 17:31:25 +03:00
Ivan Savenko
cf69440e9a
Update docs
2025-05-09 17:26:35 +03:00
Ivan Savenko
6859ab7c36
Fix discovered issues, remove not implemented ideas
2025-05-09 17:26:23 +03:00
Ivan Savenko
de134326e0
Merge pull request #5693 from kdmcser/crash_fix
...
fix crash when loading game in battle
2025-05-08 15:44:06 +03:00
Ivan Savenko
e6c75dd66d
Merge pull request #5692 from shamazmazum/fix-assert
...
Fix incorrect assertion in CArtPlace::setArtifact
2025-05-08 15:43:25 +03:00
Ivan Savenko
700eeb6bd4
Implemented HERO_SPELL_CASTS_PER_COMBAT_TURN bonus
2025-05-08 00:25:07 +03:00
Ivan Savenko
6b6199d3a4
Implemented giving bonuses to commanders
2025-05-07 22:49:22 +03:00
Ivan Savenko
434da3ffe1
Added forceCombat
field for ambush-like objects
2025-05-07 19:49:26 +03:00
Ivan Savenko
0e2ea99283
Implemented option to emulate H3 seer hut full-army quest bug
2025-05-07 19:16:58 +03:00
Ivan Savenko
69de14a42f
Fix crash on loading map with heroes that have combined art equipped
2025-05-07 18:05:30 +03:00
kdmcser
7bb7d07230
fix crash when loading game in battle
2025-05-07 22:22:48 +08:00
Ivan Savenko
92c4bcbf68
Unify checks for creature limiter
2025-05-07 16:35:15 +03:00
Vasily Postnicov
db2997f240
Fix incorrect assertion in CArtPlace::setArtifact
...
This fixes a crash in debug builds when the player tries to access
a hero's inventory and the hero has a "Summon Boat" spell scroll.
2025-05-07 15:49:59 +03:00
Ivan Savenko
4b77140f4a
Implemented playerGlobal visit mode for objects like cartographer
2025-05-06 18:53:43 +03:00
Ivan Savenko
1b5d00cc99
Fix running game without wog active
2025-05-06 18:53:21 +03:00
Ivan Savenko
f1d9d8479f
Extend rewards & limiters functionality
2025-05-06 17:28:12 +03:00
Ivan Savenko
0212b6e37d
Remove artifact from slot as reward
2025-05-06 17:28:12 +03:00