Index: binaries/data/mods/public/simulation/components/UnitAI.js =================================================================== --- binaries/data/mods/public/simulation/components/UnitAI.js +++ binaries/data/mods/public/simulation/components/UnitAI.js @@ -68,69 +68,7 @@ // respondHoldGround: attack enemy but don't move far from current position // TODO: maybe add targetAggressiveEnemies (don't worry about lone scouts, // do worry around armies slaughtering the guy standing next to you), etc. -var g_Stances = { - "violent": { - "targetVisibleEnemies": true, - "targetAttackersAlways": true, - "respondFlee": false, - "respondChase": true, - "respondChaseBeyondVision": true, - "respondStandGround": false, - "respondHoldGround": false, - "selectable": true - }, - "aggressive": { - "targetVisibleEnemies": true, - "targetAttackersAlways": false, - "respondFlee": false, - "respondChase": true, - "respondChaseBeyondVision": false, - "respondStandGround": false, - "respondHoldGround": false, - "selectable": true - }, - "defensive": { - "targetVisibleEnemies": true, - "targetAttackersAlways": false, - "respondFlee": false, - "respondChase": false, - "respondChaseBeyondVision": false, - "respondStandGround": false, - "respondHoldGround": true, - "selectable": true - }, - "passive": { - "targetVisibleEnemies": false, - "targetAttackersAlways": false, - "respondFlee": true, - "respondChase": false, - "respondChaseBeyondVision": false, - "respondStandGround": false, - "respondHoldGround": false, - "selectable": true - }, - "standground": { - "targetVisibleEnemies": true, - "targetAttackersAlways": false, - "respondFlee": false, - "respondChase": false, - "respondChaseBeyondVision": false, - "respondStandGround": true, - "respondHoldGround": false, - "selectable": true - }, - "none": { - // Only to be used by AI or trigger scripts - "targetVisibleEnemies": false, - "targetAttackersAlways": false, - "respondFlee": false, - "respondChase": false, - "respondChaseBeyondVision": false, - "respondStandGround": false, - "respondHoldGround": false, - "selectable": false - } -}; +const g_Stances = Engine.ReadJSONFile("simulation/data/unit_stances.json"); // See ../helpers/FSM.js for some documentation of this FSM specification syntax UnitAI.prototype.UnitFsmSpec = { Index: binaries/data/mods/public/simulation/data/unit_stances.json =================================================================== --- binaries/data/mods/public/simulation/data/unit_stances.json +++ binaries/data/mods/public/simulation/data/unit_stances.json @@ -0,0 +1,62 @@ +{ + "violent": { + "targetVisibleEnemies": true, + "targetAttackersAlways": true, + "respondFlee": false, + "respondChase": true, + "respondChaseBeyondVision": true, + "respondStandGround": false, + "respondHoldGround": false, + "selectable": true + }, + "aggressive": { + "targetVisibleEnemies": true, + "targetAttackersAlways": false, + "respondFlee": false, + "respondChase": true, + "respondChaseBeyondVision": false, + "respondStandGround": false, + "respondHoldGround": false, + "selectable": true + }, + "defensive": { + "targetVisibleEnemies": true, + "targetAttackersAlways": false, + "respondFlee": false, + "respondChase": false, + "respondChaseBeyondVision": false, + "respondStandGround": false, + "respondHoldGround": true, + "selectable": true + }, + "passive": { + "targetVisibleEnemies": false, + "targetAttackersAlways": false, + "respondFlee": true, + "respondChase": false, + "respondChaseBeyondVision": false, + "respondStandGround": false, + "respondHoldGround": false, + "selectable": true + }, + "standground": { + "targetVisibleEnemies": true, + "targetAttackersAlways": false, + "respondFlee": false, + "respondChase": false, + "respondChaseBeyondVision": false, + "respondStandGround": true, + "respondHoldGround": false, + "selectable": true + }, + "none": { + "targetVisibleEnemies": false, + "targetAttackersAlways": false, + "respondFlee": false, + "respondChase": false, + "respondChaseBeyondVision": false, + "respondStandGround": false, + "respondHoldGround": false, + "selectable": false + } +} \ No newline at end of file