Generalize to arbitrary translatable attacknames in the GUI
Reviewed By: Nescio, Freagarach Comments By: wraitii, elexis Differential Revision: D2995 refs: #252 This was SVN commit r24209.
This commit is contained in:
1 parent
2dd223af29
commit
85c9a48db0
96 files changed
+213
-4
No files matched your search
@@ -214,9 +214,13 @@ function GetTemplateDataHelper(template, player, auraTemplates, modifiers = {})
|
||||
};
|
||||
|
||||
ret.attack[type] = {
|
||||
"attackName": {
|
||||
"name": template.Attack[type].AttackName._string || template.Attack[type].AttackName,
|
||||
"context": template.Attack[type].AttackName["@context"]
|
||||
},
|
||||
"minRange": getAttackStat("MinRange"),
|
||||
"maxRange": getAttackStat("MaxRange"),
|
||||
"elevationBonus": getAttackStat("ElevationBonus"),
|
||||
"elevationBonus": getAttackStat("ElevationBonus")
|
||||
};
|
||||
|
||||
ret.attack[type].elevationAdaptedRange = Math.sqrt(ret.attack[type].maxRange *
|
||||
|
||||
@@ -420,10 +420,12 @@ function getAttackTooltip(template)
|
||||
if (attackType == "Slaughter")
|
||||
continue;
|
||||
|
||||
let attackLabel = sprintf(headerFont(translate("%(attackType)s")), {
|
||||
"attackType": attackType
|
||||
});
|
||||
let attackTypeTemplate = template.attack[attackType];
|
||||
let attackLabel = sprintf(headerFont(translate("%(attackType)s")), {
|
||||
"attackType": attackTypeTemplate.attackName.context ?
|
||||
translateWithContext(attackTypeTemplate.attackName.context || "Name of an attack, usually the weapon.", attackTypeTemplate.attackName.name) :
|
||||
translate(attackTypeTemplate.attackName.name)
|
||||
});
|
||||
|
||||
let projectiles;
|
||||
// Use either current rate from simulation or default count if the sim is not running.
|
||||
|
||||
@@ -400,6 +400,9 @@
|
||||
],
|
||||
"options": {
|
||||
"keywords": {
|
||||
"AttackName": {
|
||||
"customContext": "Name of an attack, usually the weapon."
|
||||
},
|
||||
"StatusName": {
|
||||
"customContext": "status effect"
|
||||
},
|
||||
@@ -441,6 +444,9 @@
|
||||
],
|
||||
"options": {
|
||||
"keywords": {
|
||||
"AttackName": {
|
||||
"customContext": "Name of an attack, usually the weapon."
|
||||
},
|
||||
"StatusName": {
|
||||
"customContext": "status effect"
|
||||
},
|
||||
@@ -489,6 +495,9 @@
|
||||
},
|
||||
"options": {
|
||||
"keywords": {
|
||||
"AttackName": {
|
||||
"customContext": "Name of an attack, usually the weapon."
|
||||
},
|
||||
"GenericName": {},
|
||||
"SpecificName": {},
|
||||
"History": {},
|
||||
|
||||
@@ -26,6 +26,7 @@ Attack.prototype.Schema =
|
||||
"<a:help>Controls the attack abilities and strengths of the unit.</a:help>" +
|
||||
"<a:example>" +
|
||||
"<Melee>" +
|
||||
"<AttackName>Spear</AttackName>" +
|
||||
"<Damage>" +
|
||||
"<Hack>10.0</Hack>" +
|
||||
"<Pierce>0.0</Pierce>" +
|
||||
@@ -48,6 +49,7 @@ Attack.prototype.Schema =
|
||||
"<PreferredClasses datatype=\"tokens\">Cavalry Infantry</PreferredClasses>" +
|
||||
"</Melee>" +
|
||||
"<Ranged>" +
|
||||
"<AttackName>Bow</AttackName>" +
|
||||
"<Damage>" +
|
||||
"<Hack>0.0</Hack>" +
|
||||
"<Pierce>10.0</Pierce>" +
|
||||
@@ -97,6 +99,14 @@ Attack.prototype.Schema =
|
||||
"<optional>" +
|
||||
"<element name='Melee'>" +
|
||||
"<interleave>" +
|
||||
"<element name='AttackName' a:help='Name of the attack, to be displayed in the GUI. Optionally includes a translate context attribute.'>" +
|
||||
"<optional>" +
|
||||
"<attribute name='context'>" +
|
||||
"<text/>" +
|
||||
"</attribute>" +
|
||||
"</optional>" +
|
||||
"<text/>" +
|
||||
"</element>" +
|
||||
Attacking.BuildAttackEffectsSchema() +
|
||||
"<element name='MaxRange' a:help='Maximum attack range (in metres)'><ref name='nonNegativeDecimal'/></element>" +
|
||||
"<element name='PrepareTime' a:help='Time from the start of the attack command until the attack actually occurs (in milliseconds). This value relative to RepeatTime should closely match the \"event\" point in the actor's attack animation'>" +
|
||||
@@ -113,6 +123,14 @@ Attack.prototype.Schema =
|
||||
"<optional>" +
|
||||
"<element name='Ranged'>" +
|
||||
"<interleave>" +
|
||||
"<element name='AttackName' a:help='Name of the attack, to be displayed in the GUI. Optionally includes a translate context attribute.'>" +
|
||||
"<optional>" +
|
||||
"<attribute name='context'>" +
|
||||
"<text/>" +
|
||||
"</attribute>" +
|
||||
"</optional>" +
|
||||
"<text/>" +
|
||||
"</element>" +
|
||||
Attacking.BuildAttackEffectsSchema() +
|
||||
"<element name='MaxRange' a:help='Maximum attack range (in metres)'><ref name='nonNegativeDecimal'/></element>" +
|
||||
"<element name='MinRange' a:help='Minimum attack range (in metres)'><ref name='nonNegativeDecimal'/></element>" +
|
||||
@@ -185,6 +203,14 @@ Attack.prototype.Schema =
|
||||
"<optional>" +
|
||||
"<element name='Capture'>" +
|
||||
"<interleave>" +
|
||||
"<element name='AttackName' a:help='Name of the attack, to be displayed in the GUI. Optionally includes a translate context attribute.'>" +
|
||||
"<optional>" +
|
||||
"<attribute name='context'>" +
|
||||
"<text/>" +
|
||||
"</attribute>" +
|
||||
"</optional>" +
|
||||
"<text/>" +
|
||||
"</element>" +
|
||||
Attacking.BuildAttackEffectsSchema() +
|
||||
"<element name='MaxRange' a:help='Maximum attack range (in meters)'><ref name='nonNegativeDecimal'/></element>" +
|
||||
"<element name='RepeatTime' a:help='Time between attacks (in milliseconds). The attack animation will be stretched to match this time'>" + // TODO: it shouldn't be stretched
|
||||
@@ -198,6 +224,14 @@ Attack.prototype.Schema =
|
||||
"<optional>" +
|
||||
"<element name='Slaughter' a:help='A special attack to kill domestic animals'>" +
|
||||
"<interleave>" +
|
||||
"<element name='AttackName' a:help='Name of the attack, to be displayed in the GUI. Optionally includes a translate context attribute.'>" +
|
||||
"<optional>" +
|
||||
"<attribute name='context'>" +
|
||||
"<text/>" +
|
||||
"</attribute>" +
|
||||
"</optional>" +
|
||||
"<text/>" +
|
||||
"</element>" +
|
||||
Attacking.BuildAttackEffectsSchema() +
|
||||
"<element name='MaxRange'><ref name='nonNegativeDecimal'/></element>" + // TODO: how do these work?
|
||||
Attack.prototype.preferredClassesSchema +
|
||||
@@ -403,6 +437,14 @@ Attack.prototype.CompareEntitiesByPreference = function(a, b)
|
||||
return aPreference - bPreference;
|
||||
};
|
||||
|
||||
Attack.prototype.GetAttackName = function(type)
|
||||
{
|
||||
return {
|
||||
"name": this.template[type].AttackName._string || this.template[type].AttackName,
|
||||
"context": this.template[type].AttackName["@context"]
|
||||
};
|
||||
};
|
||||
|
||||
Attack.prototype.GetRepeatTime = function(type)
|
||||
{
|
||||
let repeatTime = 1000;
|
||||
|
||||
@@ -423,6 +423,8 @@ GuiInterface.prototype.GetEntityState = function(player, ent)
|
||||
|
||||
Object.assign(ret.attack[type], cmpAttack.GetAttackEffectsData(type));
|
||||
|
||||
ret.attack[type].attackName = cmpAttack.GetAttackName(type);
|
||||
|
||||
ret.attack[type].splash = cmpAttack.GetSplashData(type);
|
||||
if (ret.attack[type].splash)
|
||||
Object.assign(ret.attack[type].splash, cmpAttack.GetAttackEffectsData(type, true));
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
<Entity parent="template_unit_fauna_hunt_aggressive">
|
||||
<Attack>
|
||||
<Melee>
|
||||
<AttackName>Tusks</AttackName>
|
||||
<Damage>
|
||||
<Hack>12.0</Hack>
|
||||
<Pierce>0.0</Pierce>
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
<Entity parent="template_unit_fauna_wild_aggressive">
|
||||
<Attack>
|
||||
<Melee>
|
||||
<AttackName>Teeth</AttackName>
|
||||
<Damage>
|
||||
<Hack>30.0</Hack>
|
||||
<Pierce>0.0</Pierce>
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
<Entity parent="template_unit_fauna_hunt_aggressive">
|
||||
<Attack>
|
||||
<Melee>
|
||||
<AttackName>Tusks</AttackName>
|
||||
<Damage>
|
||||
<Hack>12</Hack>
|
||||
<Pierce>12</Pierce>
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
<Entity parent="template_unit_fauna_wild_violent">
|
||||
<Attack>
|
||||
<Melee>
|
||||
<AttackName>Paws</AttackName>
|
||||
<Damage>
|
||||
<Hack>20.0</Hack>
|
||||
<Pierce>0.0</Pierce>
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
<Entity parent="template_unit_fauna_hunt_aggressive">
|
||||
<Attack>
|
||||
<Melee>
|
||||
<AttackName>Horn</AttackName>
|
||||
<Damage>
|
||||
<Hack>20.0</Hack>
|
||||
<Pierce>0.0</Pierce>
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
<Entity parent="template_unit_fauna_wild_violent">
|
||||
<Attack>
|
||||
<Melee>
|
||||
<AttackName>Paws</AttackName>
|
||||
<Damage>
|
||||
<Hack>30.0</Hack>
|
||||
<Pierce>20.0</Pierce>
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
<Entity parent="template_unit_fauna_hunt_defensive">
|
||||
<Attack>
|
||||
<Melee>
|
||||
<AttackName>Tusks</AttackName>
|
||||
<Damage>
|
||||
<Hack>15.0</Hack>
|
||||
<Pierce>10.0</Pierce>
|
||||
|
||||
+5
@@ -1,5 +1,10 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Entity parent="template_unit_infantry_melee">
|
||||
<Attack>
|
||||
<Melee>
|
||||
<AttackName>Melee</AttackName>
|
||||
</Melee>
|
||||
</Attack>
|
||||
<Identity>
|
||||
<Civ>skirm</Civ>
|
||||
</Identity>
|
||||
|
||||
+5
@@ -1,5 +1,10 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Entity parent="template_unit_infantry_ranged">
|
||||
<Attack>
|
||||
<Ranged>
|
||||
<AttackName>Ranged</AttackName>
|
||||
</Ranged>
|
||||
</Attack>
|
||||
<Identity>
|
||||
<Civ>skirm</Civ>
|
||||
</Identity>
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
<Entity parent="template_structure_special">
|
||||
<Attack>
|
||||
<Ranged>
|
||||
<AttackName>Bow</AttackName>
|
||||
<Damage>
|
||||
<Hack>0.0</Hack>
|
||||
<Pierce>25.0</Pierce>
|
||||
|
||||
+1
@@ -8,6 +8,7 @@
|
||||
</AlertRaiser>
|
||||
<Attack>
|
||||
<Ranged>
|
||||
<AttackName>Bow</AttackName>
|
||||
<Damage>
|
||||
<Hack>0.0</Hack>
|
||||
<Pierce>12.0</Pierce>
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
<Entity parent="template_structure_defensive">
|
||||
<Attack>
|
||||
<Ranged>
|
||||
<AttackName>Bow</AttackName>
|
||||
<Damage>
|
||||
<Hack>0</Hack>
|
||||
<Pierce>0</Pierce>
|
||||
|
||||
+1
@@ -2,6 +2,7 @@
|
||||
<Entity parent="template_structure_defensive_tower">
|
||||
<Attack>
|
||||
<Ranged>
|
||||
<AttackName>Stone</AttackName>
|
||||
<Damage>
|
||||
<Pierce>35</Pierce>
|
||||
<Crush>25</Crush>
|
||||
|
||||
+1
@@ -2,6 +2,7 @@
|
||||
<Entity parent="template_structure_defensive_tower">
|
||||
<Attack>
|
||||
<Ranged>
|
||||
<AttackName>Bolt</AttackName>
|
||||
<Damage>
|
||||
<Pierce>55</Pierce>
|
||||
<Crush>5</Crush>
|
||||
|
||||
+1
@@ -2,6 +2,7 @@
|
||||
<Entity parent="template_structure_defensive_wall">
|
||||
<Attack>
|
||||
<Ranged>
|
||||
<AttackName>Bow</AttackName>
|
||||
<Damage>
|
||||
<Hack>0.0</Hack>
|
||||
<Pierce>8.0</Pierce>
|
||||
|
||||
+1
@@ -2,6 +2,7 @@
|
||||
<Entity parent="template_structure_military">
|
||||
<Attack>
|
||||
<Ranged>
|
||||
<AttackName>Bow</AttackName>
|
||||
<Damage>
|
||||
<Hack>0.0</Hack>
|
||||
<Pierce>16.0</Pierce>
|
||||
|
||||
@@ -2,12 +2,14 @@
|
||||
<Entity parent="template_unit">
|
||||
<Attack>
|
||||
<Capture>
|
||||
<AttackName>Capture</AttackName>
|
||||
<Capture>2.5</Capture>
|
||||
<MaxRange>4</MaxRange>
|
||||
<RepeatTime>1000</RepeatTime>
|
||||
<RestrictedClasses datatype="tokens">Field Palisade Wall</RestrictedClasses>
|
||||
</Capture>
|
||||
<Slaughter>
|
||||
<AttackName>Slaughter</AttackName>
|
||||
<Damage>
|
||||
<Hack>100.0</Hack>
|
||||
<Pierce>0.0</Pierce>
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
<Entity parent="template_unit_cavalry_melee">
|
||||
<Attack>
|
||||
<Melee>
|
||||
<AttackName>Axe</AttackName>
|
||||
<Damage>
|
||||
<Hack>6.9</Hack>
|
||||
<Pierce>0</Pierce>
|
||||
|
||||
+1
@@ -2,6 +2,7 @@
|
||||
<Entity parent="template_unit_cavalry_melee">
|
||||
<Attack>
|
||||
<Melee>
|
||||
<AttackName>Spear</AttackName>
|
||||
<Damage>
|
||||
<Hack>4</Hack>
|
||||
<Pierce>3</Pierce>
|
||||
|
||||
+1
@@ -2,6 +2,7 @@
|
||||
<Entity parent="template_unit_cavalry_melee">
|
||||
<Attack>
|
||||
<Melee>
|
||||
<AttackName context="Name of an attack using a double-edged sword.">Sword</AttackName>
|
||||
<Damage>
|
||||
<Hack>6.5</Hack>
|
||||
<Pierce>0</Pierce>
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
<Entity parent="template_unit_cavalry_ranged">
|
||||
<Attack>
|
||||
<Ranged>
|
||||
<AttackName>Bow</AttackName>
|
||||
<Damage>
|
||||
<Hack>0</Hack>
|
||||
<Pierce>7.0</Pierce>
|
||||
|
||||
+1
@@ -2,6 +2,7 @@
|
||||
<Entity parent="template_unit_cavalry_ranged">
|
||||
<Attack>
|
||||
<Ranged>
|
||||
<AttackName>Javelin</AttackName>
|
||||
<Damage>
|
||||
<Hack>0</Hack>
|
||||
<Pierce>18.0</Pierce>
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
<Entity parent="template_unit">
|
||||
<Attack>
|
||||
<Capture>
|
||||
<AttackName>Capture</AttackName>
|
||||
<Capture>5</Capture>
|
||||
<MaxRange>4</MaxRange>
|
||||
<RepeatTime>1000</RepeatTime>
|
||||
|
||||
+1
@@ -2,6 +2,7 @@
|
||||
<Entity parent="template_unit_champion_cavalry">
|
||||
<Attack>
|
||||
<Ranged>
|
||||
<AttackName>Bow</AttackName>
|
||||
<Damage>
|
||||
<Hack>0</Hack>
|
||||
<Pierce>14.0</Pierce>
|
||||
|
||||
+1
@@ -2,6 +2,7 @@
|
||||
<Entity parent="template_unit_champion_cavalry">
|
||||
<Attack>
|
||||
<Melee>
|
||||
<AttackName>Axe</AttackName>
|
||||
<Damage>
|
||||
<Hack>13.8</Hack>
|
||||
<Pierce>0</Pierce>
|
||||
|
||||
+1
@@ -2,6 +2,7 @@
|
||||
<Entity parent="template_unit_champion_cavalry">
|
||||
<Attack>
|
||||
<Ranged>
|
||||
<AttackName>Javelin</AttackName>
|
||||
<Damage>
|
||||
<Hack>0.0</Hack>
|
||||
<Pierce>36.0</Pierce>
|
||||
|
||||
+1
@@ -2,6 +2,7 @@
|
||||
<Entity parent="template_unit_champion_cavalry">
|
||||
<Attack>
|
||||
<Melee>
|
||||
<AttackName>Spear</AttackName>
|
||||
<Damage>
|
||||
<Hack>8</Hack>
|
||||
<Pierce>6</Pierce>
|
||||
|
||||
+1
@@ -2,6 +2,7 @@
|
||||
<Entity parent="template_unit_champion_cavalry">
|
||||
<Attack>
|
||||
<Melee>
|
||||
<AttackName context="Name of an attack using a double-edged sword.">Sword</AttackName>
|
||||
<Damage>
|
||||
<Hack>13.0</Hack>
|
||||
<Pierce>0</Pierce>
|
||||
|
||||
+1
@@ -2,6 +2,7 @@
|
||||
<Entity parent="template_unit_champion_elephant">
|
||||
<Attack replace="">
|
||||
<Melee>
|
||||
<AttackName>Trunk</AttackName>
|
||||
<Damage>
|
||||
<Hack>20</Hack>
|
||||
<Pierce>0</Pierce>
|
||||
|
||||
+1
@@ -2,6 +2,7 @@
|
||||
<Entity parent="template_unit_champion_infantry">
|
||||
<Attack>
|
||||
<Ranged>
|
||||
<AttackName>Bow</AttackName>
|
||||
<Damage>
|
||||
<Hack>0</Hack>
|
||||
<Pierce>6.5</Pierce>
|
||||
|
||||
+1
@@ -2,6 +2,7 @@
|
||||
<Entity parent="template_unit_champion_infantry">
|
||||
<Attack>
|
||||
<Melee>
|
||||
<AttackName>Axe</AttackName>
|
||||
<Damage>
|
||||
<Hack>12</Hack>
|
||||
<Pierce>0</Pierce>
|
||||
|
||||
+1
@@ -2,6 +2,7 @@
|
||||
<Entity parent="template_unit_champion_infantry">
|
||||
<Attack>
|
||||
<Ranged>
|
||||
<AttackName>Javelin</AttackName>
|
||||
<Damage>
|
||||
<Hack>0</Hack>
|
||||
<Pierce>26.0</Pierce>
|
||||
|
||||
+1
@@ -2,6 +2,7 @@
|
||||
<Entity parent="template_unit_champion_infantry">
|
||||
<Attack>
|
||||
<Melee>
|
||||
<AttackName>Mace</AttackName>
|
||||
<Damage>
|
||||
<Hack>0</Hack>
|
||||
<Pierce>0</Pierce>
|
||||
|
||||
+1
@@ -2,6 +2,7 @@
|
||||
<Entity parent="template_unit_champion_infantry">
|
||||
<Attack>
|
||||
<Melee>
|
||||
<AttackName>Pike</AttackName>
|
||||
<Damage>
|
||||
<Hack>2.0</Hack>
|
||||
<Pierce>6.0</Pierce>
|
||||
|
||||
+1
@@ -2,6 +2,7 @@
|
||||
<Entity parent="template_unit_champion_infantry">
|
||||
<Attack>
|
||||
<Melee>
|
||||
<AttackName>Spear</AttackName>
|
||||
<Damage>
|
||||
<Hack>6.0</Hack>
|
||||
<Pierce>5.0</Pierce>
|
||||
|
||||
+1
@@ -2,6 +2,7 @@
|
||||
<Entity parent="template_unit_champion_infantry">
|
||||
<Attack>
|
||||
<Melee>
|
||||
<AttackName context="Name of an attack using a double-edged sword.">Sword</AttackName>
|
||||
<Damage>
|
||||
<Hack>11.0</Hack>
|
||||
<Pierce>0</Pierce>
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
<Entity parent="template_unit">
|
||||
<Attack>
|
||||
<Melee>
|
||||
<AttackName>Fangs</AttackName>
|
||||
<Damage>
|
||||
<Hack>7</Hack>
|
||||
<Pierce>2</Pierce>
|
||||
|
||||
+1
@@ -2,6 +2,7 @@
|
||||
<Entity parent="template_unit_fauna_hunt_aggressive">
|
||||
<Attack>
|
||||
<Melee>
|
||||
<AttackName>Paws</AttackName>
|
||||
<Damage>
|
||||
<Hack>20</Hack>
|
||||
<Pierce>0</Pierce>
|
||||
|
||||
+1
@@ -2,6 +2,7 @@
|
||||
<Entity parent="template_unit_fauna_hunt_defensive">
|
||||
<Attack>
|
||||
<Melee>
|
||||
<AttackName>Horns</AttackName>
|
||||
<Damage>
|
||||
<Hack>1</Hack>
|
||||
<Pierce>5</Pierce>
|
||||
|
||||
+1
@@ -2,6 +2,7 @@
|
||||
<Entity parent="template_unit_fauna_hunt_defensive">
|
||||
<Attack>
|
||||
<Melee>
|
||||
<AttackName>Trunk</AttackName>
|
||||
<Damage>
|
||||
<Hack>25.0</Hack>
|
||||
<Pierce>10.0</Pierce>
|
||||
|
||||
+1
@@ -2,6 +2,7 @@
|
||||
<Entity parent="template_unit_fauna_wild_aggressive_wolf">
|
||||
<Attack>
|
||||
<Melee>
|
||||
<AttackName>Fangs</AttackName>
|
||||
<Damage>
|
||||
<Hack>7</Hack>
|
||||
<Pierce>2</Pierce>
|
||||
|
||||
+1
@@ -2,6 +2,7 @@
|
||||
<Entity parent="template_unit_fauna_wild_aggressive">
|
||||
<Attack>
|
||||
<Melee>
|
||||
<AttackName>Fangs</AttackName>
|
||||
<Damage>
|
||||
<Hack>10.0</Hack>
|
||||
<Pierce>10.0</Pierce>
|
||||
|
||||
+1
@@ -2,6 +2,7 @@
|
||||
<Entity parent="template_unit_fauna_wild_defensive">
|
||||
<Attack>
|
||||
<Melee>
|
||||
<AttackName>Fangs</AttackName>
|
||||
<Damage>
|
||||
<Hack>2.5</Hack>
|
||||
<Pierce>5.0</Pierce>
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
<Entity parent="template_unit">
|
||||
<Attack>
|
||||
<Capture>
|
||||
<AttackName>Capture</AttackName>
|
||||
<Capture>10</Capture>
|
||||
<MaxRange>4</MaxRange>
|
||||
<RepeatTime>1000</RepeatTime>
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
<Entity parent="template_unit_hero_cavalry">
|
||||
<Attack>
|
||||
<Ranged>
|
||||
<AttackName>Bow</AttackName>
|
||||
<Damage>
|
||||
<Hack>0</Hack>
|
||||
<Pierce>35</Pierce>
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
<Entity parent="template_unit_hero_cavalry">
|
||||
<Attack>
|
||||
<Melee>
|
||||
<AttackName>Axe</AttackName>
|
||||
<Damage>
|
||||
<Hack>27.6</Hack>
|
||||
<Pierce>0</Pierce>
|
||||
|
||||
+1
@@ -2,6 +2,7 @@
|
||||
<Entity parent="template_unit_hero_cavalry">
|
||||
<Attack>
|
||||
<Ranged>
|
||||
<AttackName>Javelin</AttackName>
|
||||
<Damage>
|
||||
<Hack>0.0</Hack>
|
||||
<Pierce>60.0</Pierce>
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
<Entity parent="template_unit_hero_cavalry">
|
||||
<Attack>
|
||||
<Melee>
|
||||
<AttackName>Spear</AttackName>
|
||||
<Damage>
|
||||
<Hack>16</Hack>
|
||||
<Pierce>12</Pierce>
|
||||
|
||||
+1
@@ -2,6 +2,7 @@
|
||||
<Entity parent="template_unit_hero_cavalry">
|
||||
<Attack>
|
||||
<Melee>
|
||||
<AttackName context="Name of an attack using a double-edged sword.">Sword</AttackName>
|
||||
<Damage>
|
||||
<Hack>26.0</Hack>
|
||||
<Pierce>0.0</Pierce>
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
<Entity parent="template_unit_hero">
|
||||
<Attack replace="">
|
||||
<Melee>
|
||||
<AttackName>Trunk</AttackName>
|
||||
<Damage>
|
||||
<Hack>20.0</Hack>
|
||||
<Pierce>0</Pierce>
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
<Entity parent="template_unit_hero_infantry">
|
||||
<Attack>
|
||||
<Ranged>
|
||||
<AttackName>Bow</AttackName>
|
||||
<Damage>
|
||||
<Hack>0</Hack>
|
||||
<Pierce>8.0</Pierce>
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
<Entity parent="template_unit_hero_infantry">
|
||||
<Attack>
|
||||
<Melee>
|
||||
<AttackName>Axe</AttackName>
|
||||
<Damage>
|
||||
<Hack>24</Hack>
|
||||
<Pierce>0</Pierce>
|
||||
|
||||
+1
@@ -2,6 +2,7 @@
|
||||
<Entity parent="template_unit_hero_infantry">
|
||||
<Attack>
|
||||
<Ranged>
|
||||
<AttackName>Javelin</AttackName>
|
||||
<Damage>
|
||||
<Hack>0</Hack>
|
||||
<Pierce>50.0</Pierce>
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
<Entity parent="template_unit_hero_infantry">
|
||||
<Attack>
|
||||
<Melee>
|
||||
<AttackName>Pike</AttackName>
|
||||
<Damage>
|
||||
<Hack>4.0</Hack>
|
||||
<Pierce>20.0</Pierce>
|
||||
|
||||
+1
@@ -2,6 +2,7 @@
|
||||
<Entity parent="template_unit_hero_infantry">
|
||||
<Attack>
|
||||
<Melee>
|
||||
<AttackName>Spear</AttackName>
|
||||
<Damage>
|
||||
<Hack>12.0</Hack>
|
||||
<Pierce>10.0</Pierce>
|
||||
|
||||
+1
@@ -2,6 +2,7 @@
|
||||
<Entity parent="template_unit_hero_infantry">
|
||||
<Attack>
|
||||
<Melee>
|
||||
<AttackName context="Name of an attack using a double-edged sword.">Sword</AttackName>
|
||||
<Damage>
|
||||
<Hack>22.0</Hack>
|
||||
<Pierce>0</Pierce>
|
||||
|
||||
@@ -2,12 +2,14 @@
|
||||
<Entity parent="template_unit">
|
||||
<Attack>
|
||||
<Capture>
|
||||
<AttackName>Capture</AttackName>
|
||||
<Capture>2.5</Capture>
|
||||
<MaxRange>4</MaxRange>
|
||||
<RepeatTime>1000</RepeatTime>
|
||||
<RestrictedClasses datatype="tokens">Field Palisade Wall</RestrictedClasses>
|
||||
</Capture>
|
||||
<Slaughter>
|
||||
<AttackName>Slaughter</AttackName>
|
||||
<Damage>
|
||||
<Hack>50.0</Hack>
|
||||
<Pierce>0.0</Pierce>
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
<Entity parent="template_unit_infantry_melee">
|
||||
<Attack>
|
||||
<Melee>
|
||||
<AttackName>Axe</AttackName>
|
||||
<Damage>
|
||||
<Hack>6</Hack>
|
||||
<Crush>2</Crush>
|
||||
|
||||
+1
@@ -2,6 +2,7 @@
|
||||
<Entity parent="template_unit_infantry_melee">
|
||||
<Attack>
|
||||
<Melee>
|
||||
<AttackName>Pike</AttackName>
|
||||
<Damage>
|
||||
<Hack>1</Hack>
|
||||
<Pierce>3</Pierce>
|
||||
|
||||
+1
@@ -2,6 +2,7 @@
|
||||
<Entity parent="template_unit_infantry_melee">
|
||||
<Attack>
|
||||
<Melee>
|
||||
<AttackName>Spear</AttackName>
|
||||
<Damage>
|
||||
<Hack>3.0</Hack>
|
||||
<Pierce>2.5</Pierce>
|
||||
|
||||
+1
@@ -2,6 +2,7 @@
|
||||
<Entity parent="template_unit_infantry_melee">
|
||||
<Attack>
|
||||
<Melee>
|
||||
<AttackName context="Name of an attack using a double-edged sword.">Sword</AttackName>
|
||||
<Damage>
|
||||
<Hack>5.5</Hack>
|
||||
<Pierce>0</Pierce>
|
||||
|
||||
+1
@@ -2,6 +2,7 @@
|
||||
<Entity parent="template_unit_infantry_ranged">
|
||||
<Attack>
|
||||
<Ranged>
|
||||
<AttackName>Bow</AttackName>
|
||||
<Damage>
|
||||
<Hack>0</Hack>
|
||||
<Pierce>6.7</Pierce>
|
||||
|
||||
+1
@@ -2,6 +2,7 @@
|
||||
<Entity parent="template_unit_infantry_ranged">
|
||||
<Attack>
|
||||
<Ranged>
|
||||
<AttackName>Javelin</AttackName>
|
||||
<Damage>
|
||||
<Hack>0</Hack>
|
||||
<Pierce>16.0</Pierce>
|
||||
|
||||
+1
@@ -2,6 +2,7 @@
|
||||
<Entity parent="template_unit_infantry_ranged">
|
||||
<Attack>
|
||||
<Ranged>
|
||||
<AttackName>Sling</AttackName>
|
||||
<Damage>
|
||||
<Hack>0</Hack>
|
||||
<Pierce>9.2</Pierce>
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
<Entity parent="template_unit_ship">
|
||||
<Attack>
|
||||
<Ranged>
|
||||
<AttackName>Bow</AttackName>
|
||||
<Damage>
|
||||
<Hack>0.0</Hack>
|
||||
<Pierce>35.0</Pierce>
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
<Entity parent="template_unit_ship">
|
||||
<Attack>
|
||||
<Melee>
|
||||
<AttackName>Fire</AttackName>
|
||||
<Damage>
|
||||
<Hack>10.0</Hack>
|
||||
<Pierce>10.0</Pierce>
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
<Entity parent="template_unit_ship">
|
||||
<Attack>
|
||||
<Melee>
|
||||
<AttackName>Harpoon</AttackName>
|
||||
<Damage>
|
||||
<Hack>10.0</Hack>
|
||||
<Pierce>0.0</Pierce>
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
<Entity parent="template_unit_ship">
|
||||
<Attack>
|
||||
<Ranged>
|
||||
<AttackName>Stone</AttackName>
|
||||
<Damage>
|
||||
<Hack>0.0</Hack>
|
||||
<Pierce>10.0</Pierce>
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
<Entity parent="template_unit_ship">
|
||||
<Attack>
|
||||
<Ranged>
|
||||
<AttackName>Bow</AttackName>
|
||||
<Damage>
|
||||
<Hack>0.0</Hack>
|
||||
<Pierce>35.0</Pierce>
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
<Entity parent="template_unit_siege">
|
||||
<Attack>
|
||||
<Ranged>
|
||||
<AttackName>Bolt</AttackName>
|
||||
<Damage>
|
||||
<Hack>0.0</Hack>
|
||||
<Pierce>150.0</Pierce>
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
<Entity parent="template_unit_siege">
|
||||
<Attack>
|
||||
<Melee>
|
||||
<AttackName>Ram</AttackName>
|
||||
<Damage>
|
||||
<Hack>0.0</Hack>
|
||||
<Pierce>0.0</Pierce>
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
<Entity parent="template_unit_siege">
|
||||
<Attack>
|
||||
<Ranged>
|
||||
<AttackName>Stone</AttackName>
|
||||
<Damage>
|
||||
<Hack>0.0</Hack>
|
||||
<Pierce>10.0</Pierce>
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
<Entity parent="template_unit_siege">
|
||||
<Attack>
|
||||
<Ranged>
|
||||
<AttackName>Bow</AttackName>
|
||||
<Damage>
|
||||
<Hack>0.0</Hack>
|
||||
<Pierce>12.0</Pierce>
|
||||
|
||||
+2
@@ -2,6 +2,7 @@
|
||||
<Entity parent="template_unit_support">
|
||||
<Attack>
|
||||
<Melee>
|
||||
<AttackName>Dagger</AttackName>
|
||||
<Damage>
|
||||
<Hack>2.0</Hack>
|
||||
<Pierce>0</Pierce>
|
||||
@@ -12,6 +13,7 @@
|
||||
<RepeatTime>1000</RepeatTime>
|
||||
</Melee>
|
||||
<Slaughter>
|
||||
<AttackName>Slaughter</AttackName>
|
||||
<Damage>
|
||||
<Hack>25.0</Hack>
|
||||
<Pierce>0.0</Pierce>
|
||||
|
||||
@@ -1,5 +1,10 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Entity parent="template_unit_cavalry_melee_swordsman">
|
||||
<Attack>
|
||||
<Melee>
|
||||
<AttackName context="Name of an attack using a single-edged sword.">Sword</AttackName>
|
||||
</Melee>
|
||||
</Attack>
|
||||
<Identity>
|
||||
<Civ>athen</Civ>
|
||||
<Lang>greek</Lang>
|
||||
|
||||
@@ -1,5 +1,10 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Entity parent="template_unit_cavalry_melee_swordsman">
|
||||
<Attack>
|
||||
<Melee>
|
||||
<AttackName context="Name of an attack using a single-edged sword.">Sword</AttackName>
|
||||
</Melee>
|
||||
</Attack>
|
||||
<Cost>
|
||||
<Resources>
|
||||
<food op="add">-25</food>
|
||||
|
||||
@@ -1,5 +1,10 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Entity parent="template_unit_hero_cavalry_swordsman">
|
||||
<Attack>
|
||||
<Melee>
|
||||
<AttackName context="Name of an attack using a single-edged sword.">Sword</AttackName>
|
||||
</Melee>
|
||||
</Attack>
|
||||
<Auras datatype="tokens">
|
||||
units/heroes/cart_hero_hamilcar_1
|
||||
units/heroes/cart_hero_hamilcar_2
|
||||
|
||||
@@ -1,5 +1,10 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Entity parent="template_unit_champion_infantry_swordsman">
|
||||
<Attack>
|
||||
<Melee>
|
||||
<AttackName context="Name of an attack using a single-edged sword.">Sword</AttackName>
|
||||
</Melee>
|
||||
</Attack>
|
||||
<Identity>
|
||||
<Civ>iber</Civ>
|
||||
<SpecificName>Leial Ezpatari</SpecificName>
|
||||
|
||||
@@ -1,5 +1,10 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Entity parent="template_unit_infantry_melee_swordsman">
|
||||
<Attack>
|
||||
<Melee>
|
||||
<AttackName context="Name of an attack using a single-edged sword.">Sword</AttackName>
|
||||
</Melee>
|
||||
</Attack>
|
||||
<Builder>
|
||||
<Entities datatype="tokens">
|
||||
structures/iber_monument
|
||||
|
||||
@@ -1,5 +1,10 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Entity parent="template_unit_champion_infantry_swordsman">
|
||||
<Attack>
|
||||
<Melee>
|
||||
<AttackName context="Name of an attack using a single-edged sword.">Sword</AttackName>
|
||||
</Melee>
|
||||
</Attack>
|
||||
<Identity>
|
||||
<Civ>kush</Civ>
|
||||
<Lang>napatan</Lang>
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
<Entity parent="template_unit_infantry_melee_swordsman">
|
||||
<Attack>
|
||||
<Melee>
|
||||
<AttackName>Mace</AttackName>
|
||||
<Damage>
|
||||
<Hack>3.0</Hack>
|
||||
<Crush>2.5</Crush>
|
||||
|
||||
+1
@@ -2,6 +2,7 @@
|
||||
<Entity parent="template_unit_champion_infantry_archer">
|
||||
<Attack>
|
||||
<Ranged>
|
||||
<AttackName>Crossbow</AttackName>
|
||||
<Damage>
|
||||
<Hack>0</Hack>
|
||||
<Pierce>6.5</Pierce>
|
||||
|
||||
+5
@@ -1,5 +1,10 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Entity parent="template_unit_champion_infantry_swordsman">
|
||||
<Attack>
|
||||
<Melee>
|
||||
<AttackName context="Name of an attack using a rhomphaia (ῥομφαία), a Thracian two-handed weapon capable of both thrusting and slashing.">Rhomphaia</AttackName>
|
||||
</Melee>
|
||||
</Attack>
|
||||
<Identity>
|
||||
<Civ>mace</Civ>
|
||||
<Lang>greek</Lang>
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
<Entity parent="template_unit_hero_cavalry_swordsman">
|
||||
<Attack>
|
||||
<Melee>
|
||||
<AttackName context="Name of an attack using a single-edged sword.">Sword</AttackName>
|
||||
<Bonuses>
|
||||
<Herocide>
|
||||
<Classes>Hero</Classes>
|
||||
|
||||
@@ -1,5 +1,10 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Entity parent="template_unit_hero_infantry_swordsman">
|
||||
<Attack>
|
||||
<Melee>
|
||||
<AttackName context="Name of an attack using a single-edged sword.">Sword</AttackName>
|
||||
</Melee>
|
||||
</Attack>
|
||||
<Auras datatype="tokens">
|
||||
units/heroes/mace_hero_craterus
|
||||
</Auras>
|
||||
|
||||
@@ -1,5 +1,10 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Entity parent="template_unit_hero_infantry_swordsman">
|
||||
<Attack>
|
||||
<Melee>
|
||||
<AttackName context="Name of an attack using a single-edged sword.">Sword</AttackName>
|
||||
</Melee>
|
||||
</Attack>
|
||||
<Auras datatype="tokens">
|
||||
units/heroes/mace_hero_demetrius
|
||||
</Auras>
|
||||
|
||||
@@ -1,5 +1,10 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Entity parent="template_unit_infantry_melee_swordsman">
|
||||
<Attack>
|
||||
<Melee>
|
||||
<AttackName context="Name of an attack using a single-edged sword.">Sword</AttackName>
|
||||
</Melee>
|
||||
</Attack>
|
||||
<Builder>
|
||||
<Entities datatype="tokens">
|
||||
structures/maur_elephant_stables
|
||||
|
||||
@@ -1,5 +1,10 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Entity parent="template_unit_champion_infantry_swordsman">
|
||||
<Attack>
|
||||
<Melee>
|
||||
<AttackName context="Name of an attack using a rhomphaia (ῥομφαία), a Thracian two-handed weapon capable of both thrusting and slashing.">Rhomphaia</AttackName>
|
||||
</Melee>
|
||||
</Attack>
|
||||
<Identity>
|
||||
<VisibleClasses datatype="tokens">Mercenary</VisibleClasses>
|
||||
<Lang>greek</Lang>
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
<Entity parent="template_unit">
|
||||
<Attack>
|
||||
<Ranged>
|
||||
<AttackName>Machine Guns</AttackName>
|
||||
<Damage>
|
||||
<Hack>0.0</Hack>
|
||||
<Pierce>100.0</Pierce>
|
||||
|
||||
+5
@@ -1,5 +1,10 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Entity parent="template_unit_infantry_melee_swordsman">
|
||||
<Attack>
|
||||
<Melee>
|
||||
<AttackName context="Name of an attack using a rhomphaia (ῥομφαία), a Thracian two-handed weapon capable of both thrusting and slashing.">Rhomphaia</AttackName>
|
||||
</Melee>
|
||||
</Attack>
|
||||
<Builder>
|
||||
<Entities datatype="tokens">
|
||||
structures/sele_library
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
<Entity parent="template_unit_siege">
|
||||
<Attack>
|
||||
<Ranged>
|
||||
<AttackName>Fire</AttackName>
|
||||
<Damage>
|
||||
<Hack>50.0</Hack>
|
||||
<Pierce>0.0</Pierce>
|
||||
|
||||
Reference in new issue
Block a user