Introduce axeman templates

Introduces axeman parent templates, used to differentiate axemen from
swordsmen
(which they had been "under the hood" up until now), and update entity
templates
and maps where applicable.

Artwork (actors, icons) is not touched here - see D2688 for that.


Patch by: Nescio
Reviewed By: s0600204
Differential Revision: https://code.wildfiregames.com/D1355
This was SVN commit r23780.
This commit is contained in:
s0600204 2020-06-18 21:36:16 +00:00
parent 1f68e4d740
commit dd5c7edea3
21 changed files with 216 additions and 39 deletions

View File

@ -159,7 +159,7 @@ var mercenaryCampGuards = {
"generic/desert": [
{ "Template" : "structures/ptol_mercenary_camp" },
{ "Template" : "units/pers_infantry_javelinist_b", "Count" : 4 },
{ "Template" : "units/pers_cavalry_swordsman_e", "Count" : 3 },
{ "Template" : "units/pers_cavalry_axeman_e", "Count" : 3 },
{ "Template" : "units/pers_infantry_archer_a", "Count" : 4 },
{ "Template" : "units/pers_champion_infantry", "Count" : 3 }
],

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -34,10 +34,12 @@
<Entities datatype="tokens">
units/{civ}_infantry_spearman_b
units/{civ}_infantry_pikeman_b
units/{civ}_infantry_axeman_b
units/{civ}_infantry_swordsman_b
units/{civ}_infantry_javelinist_b
units/{civ}_infantry_slinger_b
units/{civ}_infantry_archer_b
units/{civ}_cavalry_axeman_b
units/{civ}_cavalry_swordsman_b
units/{civ}_cavalry_spearman_b
units/{civ}_cavalry_javelinist_b

View File

@ -35,6 +35,7 @@
<ProductionQueue>
<BatchTimeModifier>0.8</BatchTimeModifier>
<Entities datatype="tokens">
units/{civ}_cavalry_axeman_b
units/{civ}_cavalry_swordsman_b
units/{civ}_cavalry_spearman_b
units/{civ}_cavalry_javelinist_b

View File

@ -0,0 +1,33 @@
<?xml version="1.0" encoding="utf-8"?>
<Entity parent="template_unit_cavalry_melee">
<Armour>
<Hack>3</Hack>
<Pierce>2</Pierce>
</Armour>
<Attack>
<Melee>
<Damage>
<Hack>6.9</Hack>
<Crush>2.3</Crush>
</Damage>
<PreferredClasses datatype="tokens">Siege</PreferredClasses>
</Melee>
</Attack>
<Cost>
<Resources>
<wood>40</wood>
<metal>10</metal>
</Resources>
</Cost>
<Identity>
<VisibleClasses datatype="tokens">Axeman</VisibleClasses>
<GenericName>Cavalry Axeman</GenericName>
</Identity>
<Loot>
<wood>4</wood>
<metal>1</metal>
</Loot>
<UnitMotion>
<WalkSpeed op="mul">1.2</WalkSpeed>
</UnitMotion>
</Entity>

View File

@ -0,0 +1,35 @@
<?xml version="1.0" encoding="utf-8"?>
<Entity parent="template_unit_champion_cavalry">
<Armour>
<Pierce op="add">2</Pierce>
</Armour>
<Attack>
<Melee>
<Damage>
<Hack>13.8</Hack>
<Pierce>0</Pierce>
<Crush>4.6</Crush>
</Damage>
<MaxRange>3.5</MaxRange>
<PrepareTime>500</PrepareTime>
<RepeatTime>1000</RepeatTime>
<PreferredClasses datatype="tokens">Human Siege</PreferredClasses>
</Melee>
</Attack>
<Cost>
<Resources>
<wood>100</wood>
<metal>100</metal>
</Resources>
</Cost>
<Health>
<Max>300</Max>
</Health>
<Identity>
<VisibleClasses datatype="tokens">Melee Axeman</VisibleClasses>
<GenericName>Champion Cavalry Axeman</GenericName>
</Identity>
<UnitMotion>
<WalkSpeed op="mul">1.2</WalkSpeed>
</UnitMotion>
</Entity>

View File

@ -0,0 +1,36 @@
<?xml version="1.0" encoding="utf-8"?>
<Entity parent="template_unit_champion_infantry">
<Armour>
<Hack op="add">2</Hack>
<Pierce op="add">3</Pierce>
</Armour>
<Attack>
<Melee>
<Damage>
<Hack>12</Hack>
<Pierce>0</Pierce>
<Crush>4</Crush>
</Damage>
<MaxRange>3.5</MaxRange>
<PrepareTime>500</PrepareTime>
<RepeatTime>1000</RepeatTime>
<PreferredClasses datatype="tokens">Human Siege</PreferredClasses>
</Melee>
</Attack>
<Cost>
<Resources>
<wood>100</wood>
<metal>75</metal>
</Resources>
</Cost>
<Health>
<Max>200</Max>
</Health>
<Identity>
<VisibleClasses datatype="tokens">Melee Axeman</VisibleClasses>
<GenericName>Champion Axeman</GenericName>
</Identity>
<UnitMotion>
<WalkSpeed op="mul">1.4</WalkSpeed>
</UnitMotion>
</Entity>

View File

@ -0,0 +1,23 @@
<?xml version="1.0" encoding="utf-8"?>
<Entity parent="template_unit_hero_cavalry">
<Armour>
<Pierce op="add">1</Pierce>
</Armour>
<Attack>
<Melee>
<Damage>
<Hack>27.6</Hack>
<Pierce>0</Pierce>
<Crush>9.2</Crush>
</Damage>
<MaxRange>3.5</MaxRange>
<PrepareTime>500</PrepareTime>
<RepeatTime>1000</RepeatTime>
<PreferredClasses datatype="tokens">Human Siege</PreferredClasses>
</Melee>
</Attack>
<Identity>
<VisibleClasses datatype="tokens">Melee Axeman</VisibleClasses>
<GenericName>Hero Cavalry Axeman</GenericName>
</Identity>
</Entity>

View File

@ -0,0 +1,30 @@
<?xml version="1.0" encoding="utf-8"?>
<Entity parent="template_unit_hero_infantry">
<Armour>
<Hack op="add">3</Hack>
<Pierce op="add">4</Pierce>
</Armour>
<Attack>
<Melee>
<Damage>
<Hack>24</Hack>
<Pierce>0</Pierce>
<Crush>8</Crush>
</Damage>
<MaxRange>3.5</MaxRange>
<PrepareTime>500</PrepareTime>
<RepeatTime>1000</RepeatTime>
<PreferredClasses datatype="tokens">Human Siege</PreferredClasses>
</Melee>
</Attack>
<Identity>
<VisibleClasses datatype="tokens">Melee Axeman</VisibleClasses>
<GenericName>Hero Axeman</GenericName>
</Identity>
<UnitMotion>
<WalkSpeed op="mul">1.05</WalkSpeed>
</UnitMotion>
<Vision>
<Range>80</Range>
</Vision>
</Entity>

View File

@ -0,0 +1,33 @@
<?xml version="1.0" encoding="utf-8"?>
<Entity parent="template_unit_infantry_melee">
<Armour>
<Hack>4</Hack>
<Pierce>5</Pierce>
</Armour>
<Attack>
<Melee>
<Damage>
<Hack>6</Hack>
<Crush>2</Crush>
</Damage>
<PreferredClasses datatype="tokens">Siege</PreferredClasses>
</Melee>
</Attack>
<Cost>
<Resources>
<wood>40</wood>
<metal>10</metal>
</Resources>
</Cost>
<Identity>
<VisibleClasses datatype="tokens">Axeman</VisibleClasses>
<GenericName>Axeman</GenericName>
</Identity>
<Loot>
<wood>4</wood>
<metal>1</metal>
</Loot>
<UnitMotion>
<WalkSpeed op="mul">1.05</WalkSpeed>
</UnitMotion>
</Entity>

View File

@ -1,26 +1,10 @@
<?xml version="1.0" encoding="utf-8"?>
<Entity parent="template_unit_champion_infantry_swordsman">
<Armour>
<Hack op="add">-1</Hack>
<Pierce op="add">-1</Pierce>
</Armour>
<Attack>
<Melee>
<Bonuses>
<Bonus1>
<Classes>Champion Hero</Classes>
<Multiplier>1.3</Multiplier>
</Bonus1>
</Bonuses>
</Melee>
</Attack>
<Entity parent="template_unit_champion_infantry_axeman">
<Identity>
<Civ>kush</Civ>
<Classes datatype="tokens">ApedemakGuard</Classes>
<VisibleClasses datatype="tokens">-Swordsman Axeman</VisibleClasses>
<GenericName>Meroitic Temple Guard</GenericName>
<SpecificName>rs ʿIprmk</SpecificName>
<Tooltip>Armor-piercing Axes: Counters 1.3x vs. Champions and Heroes.</Tooltip>
<Classes datatype="tokens">ApedemakGuard</Classes>
<Icon>units/kush_champion_apedemak.png</Icon>
</Identity>
<VisualActor>

View File

@ -1,10 +1,10 @@
<?xml version="1.0" encoding="utf-8"?>
<Entity parent="units/pers_cavalry_swordsman_b">
<Entity parent="units/pers_cavalry_axeman_b">
<Identity>
<Rank>Advanced</Rank>
</Identity>
<Promotion>
<Entity>units/pers_cavalry_swordsman_e</Entity>
<Entity>units/pers_cavalry_axeman_e</Entity>
</Promotion>
<VisualActor>
<Actor>units/persians/cavalry_swordsman_a_m.xml</Actor>

View File

@ -1,9 +1,9 @@
<?xml version="1.0" encoding="utf-8"?>
<Entity parent="units/pers_cavalry_swordsman_a">
<Entity parent="units/pers_cavalry_axeman_a">
<Identity>
<RequiredTechnology>persians/special_equine_transports</RequiredTechnology>
</Identity>
<Promotion>
<Entity>units/pers_cavalry_swordsman_e_trireme</Entity>
<Entity>units/pers_cavalry_axeman_e_trireme</Entity>
</Promotion>
</Entity>

View File

@ -1,16 +1,16 @@
<?xml version="1.0" encoding="utf-8"?>
<Entity parent="template_unit_cavalry_melee_swordsman">
<Entity parent="template_unit_cavalry_melee_axeman">
<Identity>
<Civ>pers</Civ>
<Lang>persian</Lang>
<SelectionGroupName>units/pers_cavalry_swordsman_b</SelectionGroupName>
<SelectionGroupName>units/pers_cavalry_axeman_b</SelectionGroupName>
<GenericName>Hyrcanian Cavalry</GenericName>
<SpecificName>Asabāra Varkaniya</SpecificName>
<Icon>units/pers_cavalry_swordsman.png</Icon>
<RequiredTechnology>phase_town</RequiredTechnology>
</Identity>
<Promotion>
<Entity>units/pers_cavalry_swordsman_a</Entity>
<Entity>units/pers_cavalry_axeman_a</Entity>
</Promotion>
<VisualActor>
<Actor>units/persians/cavalry_swordsman_b_m.xml</Actor>

View File

@ -1,9 +1,9 @@
<?xml version="1.0" encoding="utf-8"?>
<Entity parent="units/pers_cavalry_swordsman_b">
<Entity parent="units/pers_cavalry_axeman_b">
<Identity>
<RequiredTechnology>persians/special_equine_transports</RequiredTechnology>
</Identity>
<Promotion>
<Entity>units/pers_cavalry_swordsman_a_trireme</Entity>
<Entity>units/pers_cavalry_axeman_a_trireme</Entity>
</Promotion>
</Entity>

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<Entity parent="units/pers_cavalry_swordsman_a">
<Entity parent="units/pers_cavalry_axeman_a">
<Identity>
<Rank>Elite</Rank>
</Identity>

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<Entity parent="units/pers_cavalry_swordsman_e">
<Entity parent="units/pers_cavalry_axeman_e">
<Identity>
<RequiredTechnology>persians/special_equine_transports</RequiredTechnology>
</Identity>

View File

@ -14,7 +14,7 @@
<ProductionQueue>
<BatchTimeModifier>0.8</BatchTimeModifier>
<Entities datatype="tokens">
units/pers_cavalry_swordsman_b_trireme
units/pers_cavalry_axeman_b_trireme
units/pers_cavalry_javelinist_b_trireme
</Entities>
<TechCostMultiplier>