It seems that H3 treats some victory conditions in a special way - our “simple” read map & use it as it fails resulting in bugs like #733 & #1415
I’ve managed to localized this a bit but there are still some unclear details. Can somebody who have free time and don’t mind to spend time switching between game & map editor to test these situations:
What happens if there is only one player on the map with victory condition set to:
Acquire artifact
Build grail
Transport artifact
Will this result in instant win? Or will you still need to complete the goal?
What happens when on map with following conditions player defeats all enemies:
Acquire artifact
Build grail
Transport artifact
Wil you win or you still need to fulfill the goal?
What happens if on map with following victory conditions AI will complete them before player:
Upgrade town
Build grail
Defeat monster
Defeat hero
Will this trigger defeat for player or these conditions are player-specific?
What happens if there is only one player on the map with victory condition set to:
Acquire artifact - instant win
Build grail - instant win
Transport artifact - instant win
What happens when on map with following conditions player defeats all enemies:
Acquire artifact - after defeating all enemies you win.
Build grail - after defeating all enemies you win.
Transport artifact - after defeating all enemies you win.
What happens if on map with following victory conditions AI will complete them before player:
Upgrade town - if AI will complete town upgrading before the player, then the player loses scenario.
Build grail - wow, such condition crashed the game.
Defeat monster - I think the AI doesn’t see such condition so never tries to defeat specific monster. But once, when the enemy hero captured my town, and then I recaptured my town back by defeating that hero, new one has been recruited and that one tried to defeat the monster and caused the game to freeze. Moreover, when I tried to defeat the monster, the game also freezed.
Defeat hero - The AI never tries to defeat such hero.
Thanks. But that’s weird. Because there is at least one map with such condition (Transport artifact, no enemies) that works OK in H3: bugs.vcmi.eu/view.php?id=1415
How H3 detects such cases I wonder…
Oh well… At least for now I will handle these cases as:
“defeat all enemies” victory condition will be disabled
Normal victory allowed.
AI can win game as well as player.
UPD:
No, not VCMI but H3. I’m interested in how original game, Heroes 3, handles these cases.
I’ll check out those crashes in vcmi though so your tests were not in vain