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