Commit Graph
28 Commits
Author SHA1 Message Date
Andrej Dudenhefner f0fc58b118 add wouldResist mock method 2025-12-11 11:21:15 +01:00
Andrej Dudenhefner 9d996ca830 adhere to Heroes 3 chain lightning mechanics
- if first units triggers magic resistance : no chain
- if a later unit triggers magic resistance : skip unit, no resist animation, do not shorten chain length
2025-12-11 10:40:34 +01:00
Andrej Dudenhefner 737352b31b fix crash on hotseat new game 2025-12-09 16:38:10 +01:00
Andrej Dudenhefner fee88cf2de prevent client code from ALL_KNOWING access to obstacles to compute new id 2025-12-08 16:36:18 +01:00
Andrej Dudenhefner b3714d5d58 exclude invincible units from targets of multihex attacks 2025-12-05 21:58:26 +01:00
Andrej Dudenhefner b1ad3df598 refactor onPlayerEndsGame into removePlayer and resumeTurnOrder for separation of concerns 2025-12-05 14:47:31 +01:00
Andrej Dudenhefner 85824770db remove WINNER and LOSER players from turnOrder 2025-12-05 14:26:01 +01:00
Andrej Dudenhefner dec72aa5e1 postpone next turn logic after victory / loss status is settled 2025-12-05 14:15:12 +01:00
Andrej Dudenhefner 0af15610e1 made quick load logic follow restart logic more closely 2025-12-05 11:22:29 +01:00
Andrej Dudenhefner 85afefe30b fix scope of summonDemons graphics 2025-12-04 16:55:52 +01:00
Andrej Dudenhefner 991d047000 restructure unpropagation logic 2025-12-04 11:42:22 +01:00
Andrej Dudenhefner 8bddd8f4e3 add quick save (F8) / quick load (F9) functionality for single player and hotseat games on adventure map and in combat
- add LobbyQuickLoad pack
- add hotkeys F8, F9 to adventure map and battle
- check whether quick save matches current settings
- ask before quick load
- notify about quick save
- use CResourceHandler for file existence test
- update localization
- externalize buttons to vcmi-extras
2025-12-04 09:16:35 +01:00
Andrej Dudenhefner 3cbef2c77c fix shootable hexes not highlighted as attackable 2025-12-03 13:38:10 +01:00
Andrej Dudenhefner 497995c11f add BattleEnded pack which happens after BattleResultsApplied and losing heroes are removed 2025-11-14 12:48:46 +01:00
Andrej Dudenhefner e72dcce8ba refactor logic to CBattleInfoCallback and leave UI in BattleFieldController, BattleActionsController
- move fromWhichHexAttack to CBattleInfoCallback
- add toWhichHexMove (unifying incoherent duplicates)
- add battleGetOccupiableHexes
- add battleCanAttackHex for spatial attack check
- add battleCanAttackUnit for non-spatial attack check
- add headDirection to Unit (removing destShiftDir from CStack)
- remove redundant game logic from selectAttackDirection
- remove redundant game logic from BattleFieldController and BattleActionsController
- fix no consideration for double-wide tail attack in BattleFlowProcessor
- fix #6302 wrong moat stopping condition
- throw exception on attacker nullptr in battleCanAttackHex, fromWhichHexAttack
- safer actionIsLegal on attack, move
- remove redundant canStackMoveHere from ui code
- throw exception on nullptr unit in battleGetOccupiableHexes
- ensure activeStack in redrawBackgroundWithHexes
- test point validity in selectAttackDirection
2025-11-13 09:15:56 +01:00
Andrej Dudenhefner 3b68389d67 extend isMeleeAttacker() == false to all war machines 2025-11-11 19:55:39 +01:00
Andrej Dudenhefner 7c4b7aa3f0 Move isMeleeAttacker to Unit 2025-11-11 19:38:48 +01:00
Andrej Dudenhefner 31c093baae Remove condition that a unit can always attack itself 2025-11-11 19:38:48 +01:00
Andrej Dudenhefner 3b72a74161 Add isMeleeAttacker to Unit 2025-11-11 19:38:47 +01:00
Andrej Dudenhefner 7161ce858e Consider wide units (avoiding self attack trouble) 2025-11-11 19:38:47 +01:00
Andrej Dudenhefner 8c713f73c1 Fix violated assert(direction != BattleHex::NONE) in BattleFieldController::fromWhichHexAttack when unit surrounded 2025-11-11 19:38:47 +01:00
Andrej Dudenhefner 6253e8321b Fix division by zero in RewardEvaluator::getArmyReward 2025-11-06 12:24:30 +01:00
Andrej Dudenhefner 6325ec705d Fix artifact->artifactID.hasValue() nullptr 2025-11-04 19:24:46 +01:00
Andrej Dudenhefner 7fa5b8fc7b Removed trailing whitespace 2025-11-01 18:10:04 +01:00
Andrej Dudenhefner 38126a9893 Reformatted using tabs 2025-11-01 17:52:30 +01:00
Andrej Dudenhefner 0f74cb9c79 Fix preserveCountSuffix if no parentheses are present 2025-11-01 15:35:26 +01:00
Andrej Dudenhefner 4f6a4c5053 Fix networkHandler is destroyed before networkServer leading to dangling context pointer crash 2025-11-01 12:40:10 +01:00
Andrej Dudenhefner f8b45b0c21 Add ucrt64 build instructions
Link to VCMI_lib: WinSock2 (ws2_32) + socket extensions (mswsock) + Debug Help API (dbghelp) in MinGW
2025-11-01 10:12:21 +01:00