mirror of
https://github.com/vcmi/vcmi.git
synced 2025-11-29 23:07:48 +02:00
Support for configurable town fortifications
Removed most of hardcoded checks for fort level or for presence of fort/ citadel/castle buildings. It is now possible to define which parts of town fortifications are provided by town buildings Configuration for H3-like fortifications is provided in buildingsLibrary.json and will be used automatically by mods as long as mods have buidings named "fort", "citadel" and "castle". Alternatively, mods can separately define: - hitpoints of walls (shared value for all sections) - hitpoints of central, upper and lower towers (separate values) - presence of moat - shooters for each tower (separate values)
This commit is contained in:
@@ -23,6 +23,7 @@
|
||||
#include "../../lib/battle/CBattleInfoCallback.h"
|
||||
#include "../../lib/battle/CObstacleInstance.h"
|
||||
#include "../../lib/battle/BattleInfo.h"
|
||||
#include "../../lib/entities/building/TownFortifications.h"
|
||||
#include "../../lib/gameState/CGameState.h"
|
||||
#include "../../lib/mapping/CMap.h"
|
||||
#include "../../lib/mapObjects/CGHeroInstance.h"
|
||||
@@ -192,7 +193,7 @@ BattleID BattleProcessor::setupBattle(int3 tile, BattleSideArray<const CArmedIns
|
||||
bool BattleProcessor::checkBattleStateChanges(const CBattleInfoCallback & battle)
|
||||
{
|
||||
//check if drawbridge state need to be changes
|
||||
if (battle.battleGetSiegeLevel() > 0)
|
||||
if (battle.battleGetFortifications().wallsHealth > 0)
|
||||
updateGateState(battle);
|
||||
|
||||
if (resultProcessor->battleIsEnding(battle))
|
||||
|
||||
Reference in New Issue
Block a user