Index: binaries/data/mods/public/simulation/components/Armour.js =================================================================== --- binaries/data/mods/public/simulation/components/Armour.js +++ binaries/data/mods/public/simulation/components/Armour.js @@ -43,6 +43,14 @@ if (this.invulnerable) return { "killed": false, "change": 0 }; + if (strengths == "InstantKill") + { + // Special damage to instantly kill entities. + let cmpTargetHealth = Engine.QueryInterface(this.entity, IID_Health); + if (cmpTargetHealth) + return cmpTargetHealth.Reduce(cmpTargetHealth.GetHitpoints()); + } + // Adjust damage values based on armour; exponential armour: damage = attack * 0.9^armour var armourStrengths = this.GetArmourStrengths(); Index: binaries/data/mods/public/simulation/components/Attack.js =================================================================== --- binaries/data/mods/public/simulation/components/Attack.js +++ binaries/data/mods/public/simulation/components/Attack.js @@ -113,9 +113,7 @@ "" + "" + "" + - "1000.0" + - "0.0" + - "0.0" + + "" + "4.0" + "" + "" + @@ -227,9 +225,8 @@ "" + "" + "" + - DamageTypes.BuildSchema("damage strength") + + "" + "" + // TODO: how do these work? - Attack.prototype.bonusesSchema + Attack.prototype.preferredClassesSchema + Attack.prototype.restrictedClassesSchema + "" + @@ -447,6 +444,9 @@ splash = "/Splash"; } + if ("InstantKill" in template) + return "InstantKill"; + let applyMods = damageType => ApplyValueModificationsToEntity("Attack/" + type + splash + "/" + damageType, +(template[damageType] || 0), this.entity); Index: binaries/data/mods/public/simulation/templates/template_unit_cavalry.xml =================================================================== --- binaries/data/mods/public/simulation/templates/template_unit_cavalry.xml +++ binaries/data/mods/public/simulation/templates/template_unit_cavalry.xml @@ -13,9 +13,7 @@ Field Palisade SiegeWall StoneWall - 100.0 - 0.0 - 0.0 + 2 Index: binaries/data/mods/public/simulation/templates/template_unit_infantry.xml =================================================================== --- binaries/data/mods/public/simulation/templates/template_unit_infantry.xml +++ binaries/data/mods/public/simulation/templates/template_unit_infantry.xml @@ -13,9 +13,7 @@ Field Palisade SiegeWall StoneWall - 50.0 - 0.0 - 0.0 + 2 Index: binaries/data/mods/public/simulation/templates/template_unit_support_female_citizen.xml =================================================================== --- binaries/data/mods/public/simulation/templates/template_unit_support_female_citizen.xml +++ binaries/data/mods/public/simulation/templates/template_unit_support_female_citizen.xml @@ -10,9 +10,7 @@ 1000 - 25.0 - 0.0 - 0.0 + 2