1
0
forked from mirrors/0ad

[Gameplay] "Marian Reforms" update for the Roman civilization

This is a very unique technology that trades in melee citizen-soldier
infantry in exchange for unlocking Legionaries. Legionaries are similar
to Skiritai except they are cheaper.The idea is that these units can
form the bulk of the Roman army, so they should be cheap, but powerful.
Additional champions remain to supplement these units. And for improved
engagement with Centurions, they gain a special second aura just for
Legionaries, called 'Century Maneuvers"

Patch by: @real_tabasco_sauce
Accepted by: @borg-, @wowgetoffyourcellphone
Comments by: @chrstgtr, @Freagarach,
This was SVN commit r27900.
This commit is contained in:
wowgetoffyourcellphone
2023-10-27 16:52:03 +00:00
parent 0bc6602a41
commit 6decff312d
16 changed files with 289 additions and 2 deletions
@@ -0,0 +1,87 @@
<?xml version="1.0" encoding="utf-8"?>
<actor version="1">
<castshadow/>
<group>
<variant frequency="1" name="Base">
<props>
<prop actor="props/units/heads/new/rome_head_veteran.xml" attachpoint="head"/>
<prop actor="props/units/helmets/rome_helmet_coolus.xml" attachpoint="helmet"/>
<prop actor="props/units/weapons/jav_loaded.xml" attachpoint="weapon_R"/>
<prop actor="props/units/weapons/sheath_gladius.xml" attachpoint="sheath_01_R"/>
<prop actor="props/units/capes/cape_med_player_skirmisher.xml" attachpoint="root"/>
</props>
<textures>
<texture file="default_norm.png" name="normTex"/>
<texture file="null_black.dds" name="specTex"/>
</textures>
</variant>
</group>
<group>
<variant frequency="1" name="armor_chain_03_01">
<mesh>skeletal/new/m_armor_tunic_short.dae</mesh>
<textures>
<texture file="skeletal/imp/chain_03_01.png" name="baseTex"/>
<texture file="skeletal/imp/chain_03_spec.png" name="specTex"/>
</textures>
</variant>
<variant frequency="1" name="armor_chain_01_01">
<mesh>skeletal/new/m_armor_tunic_long.dae</mesh>
<textures>
<texture file="skeletal/imp/chain_01_01.png" name="baseTex"/>
<texture file="skeletal/imp/chain_01_spec.png" name="specTex"/>
</textures>
</variant>
</group>
<group>
<variant frequency="1" name="Scutum-01">
<props>
<prop actor="props/units/shields/scutum_rome_imp_01.xml" attachpoint="shield"/>
</props>
</variant>
<variant frequency="1" name="Scutum-02">
<props>
<prop actor="props/units/shields/scutum_rome_imp_02.xml" attachpoint="shield"/>
</props>
</variant>
</group>
<group>
<variant file="biped/base_skirmisher.xml" name="Skirmisher-Shield" frequency="1"/>
<variant file="biped/carry_food.xml"/>
<variant file="biped/carry_meat.xml"/>
<variant file="biped/carry_wood.xml"/>
<variant file="biped/carry_stone.xml"/>
<variant file="biped/carry_metal.xml"/>
<variant file="biped/approach_tree.xml"/>
<variant file="biped/approach_grain.xml"/>
<variant file="biped/approach_fruit.xml"/>
<variant file="biped/approach_meat.xml"/>
<variant file="biped/approach_rock.xml"/>
<variant file="biped/approach_ore.xml"/>
<variant file="biped/approach_ruins.xml"/>
<variant file="biped/approach_praise.xml"/>
</group>
<group>
<variant frequency="1" name="Idle"/>
<variant file="biped/attack_ranged_javelinist.xml"/>
<variant file="biped/attack_capture.xml"/>
<variant file="biped/attack_slaughter.xml"/>
<variant file="biped/formations/testudo_top.xml"/>
<variant file="biped/formations/testudo_front.xml"/>
<variant file="biped/formations/testudo_front_left.xml"/>
<variant file="biped/formations/testudo_front_right.xml"/>
<variant file="biped/formations/testudo_left.xml"/>
<variant file="biped/formations/testudo_right.xml"/>
<variant file="biped/gather_tree.xml"/>
<variant file="biped/gather_grain.xml"/>
<variant file="biped/gather_fruit.xml"/>
<variant file="biped/gather_meat.xml"/>
<variant file="biped/gather_rock.xml"/>
<variant file="biped/gather_ore.xml"/>
<variant file="biped/gather_ruins.xml"/>
<variant file="biped/gather_praise.xml"/>
<variant file="biped/build.xml"/>
<variant file="biped/build_farm.xml"/>
<variant file="biped/death_cape_long.xml"/>
</group>
<material>player_trans_norm_spec.xml</material>
</actor>
@@ -46,6 +46,7 @@
<variant file="biped/formations/testudo_front_right.xml"/>
<variant file="biped/formations/testudo_left.xml"/>
<variant file="biped/formations/testudo_right.xml"/>
<variant file="biped/build.xml"/>
</group>
<material>player_trans_norm_spec.xml</material>
</actor>
@@ -0,0 +1,17 @@
{
"type": "range",
"radius": 30,
"affects": ["Soldier"],
"modifications": [
{ "value": "Attack/Melee/Damage/Hack", "multiply": 1.1 },
{ "value": "Attack/Melee/Damage/Pierce", "multiply": 1.1 },
{ "value": "Attack/Melee/Damage/Crush", "multiply": 1.1 },
{ "value": "Attack/Ranged/Damage/Hack", "multiply": 1.1 },
{ "value": "Attack/Ranged/Damage/Pierce", "multiply": 1.1 },
{ "value": "Attack/Ranged/Damage/Crush", "multiply": 1.1 },
{ "value": "Promotion/RequiredXp", "multiply": 0.75 }
],
"auraName": "Combat Leadership",
"auraDescription": "Soldiers +10% attack damage and 25% experience points for promotion.",
"overlayIcon": "art/textures/ui/session/auras/attack_bonus.png"
}
@@ -0,0 +1,11 @@
{
"type": "range",
"radius": 30,
"affects": ["Legionary","Centurion"],
"modifications": [
{ "value": "UnitMotion/WalkSpeed", "multiply": 1.1 }
],
"auraName": "Century Maneuvers",
"auraDescription": "Marian Legionaries and Centurions +10% movement speed.",
"overlayIcon": "art/textures/ui/session/auras/speed_bonus.png"
}
@@ -0,0 +1,30 @@
{
"genericName": "Marian Reforms",
"description": "Regularize the army into a professional, organized force. The Marian reforms were a series of military reforms in the last century BC attributed to Gaius Marius involving the abolition of citzen cavalry, equipment changes, and standardization of the heavy infantry unit: the Legionary.",
"cost": {
"food": 800,
"metal": 800
},
"researchTime": 60,
"requirements": {
"all": [
{ "tech": "phase_city" },
{ "civ": "rome" }
]
},
"requirementsTooltip": "Unlocked in City Phase.",
"icon": "shield_scutum.png",
"modifications":[
{
"value": "Trainer/Entities/_string",
"tokens": "-units/{civ}/infantry_swordsman_b -units/{civ}/infantry_spearman_b -units/{civ}/infantry_swordsman_a -units/{civ}/infantry_spearman_a -units/{civ}/cavalry_spearman_b -units/{civ}/champion_infantry_swordsman units/{civ}/cavalry_javelineer_b>units/{civ}/cavalry_javelineer_02_b -units/{civ}/infantry_javelineer_b"
},
{
"value": "Researcher/Technologies/_string",
"tokens": "-unlock_champion_infantry"
}
],
"affects": ["Structure"],
"tooltip": "Train Marian Legionaries, Centurions, and Onagers, but lose access to basic Citizen Infantry, Spear Cavalry, and Italic Heavy Infantry.",
"soundComplete": "interface/alarm/alarm_upgradearmory.xml"
}
@@ -70,7 +70,7 @@
<Civ>rome</Civ>
<GenericName>Army Camp</GenericName>
<SpecificName>Castra</SpecificName>
<Tooltip>Build in neutral or enemy territory. Train Advanced Melee Infantry. Construct Rams. Garrison Soldiers for additional arrows.</Tooltip>
<Tooltip>Build in neutral or enemy territory. Train Advanced Melee Infantry and Marian Legionaries. Construct Rams. Garrison Soldiers for additional arrows.</Tooltip>
<Classes datatype="tokens">ConquestCritical CivSpecific</Classes>
<VisibleClasses datatype="tokens">Town ArmyCamp</VisibleClasses>
<Icon>structures/roman_camp.png</Icon>
@@ -113,6 +113,8 @@
units/{civ}/infantry_swordsman_a
units/{civ}/infantry_spearman_a
units/{civ}/infantry_pikeman_a
units/{civ}/infantry_legionary
units/{civ}/infantry_lanciarius
units/{civ}/siege_ram
</Entities>
</Trainer>
@@ -11,6 +11,12 @@
<Civ>rome</Civ>
<SpecificName>Castrum</SpecificName>
</Identity>
<Trainer>
<Entities datatype="tokens">
units/{civ}/infantry_legionary
units/{civ}/infantry_lanciarius
</Entities>
</Trainer>
<Obstruction>
<Static width="22.0" depth="22.0"/>
</Obstruction>
@@ -19,6 +19,8 @@
units/{civ}/infantry_swordsman_b
units/{civ}/infantry_javelineer_b
units/{civ}/cavalry_spearman_b
units/rome/infantry_legionary
units/rome/infantry_lanciarius
</Entities>
</Trainer>
<VisualActor>
@@ -10,6 +10,7 @@
units/{civ}/hero_marcellus
units/{civ}/hero_maximus
units/{civ}/hero_scipio
units/{civ}/infantry_swordsman_e_centurion
</Entities>
</Trainer>
<VisualActor>
@@ -86,6 +86,7 @@
art_of_war
poison_arrows
poison_blades
roman_reforms
</Technologies>
</Researcher>
<Sound>
@@ -0,0 +1,12 @@
<?xml version="1.0" encoding="utf-8"?>
<Entity parent="units/rome/cavalry_javelineer_b">
<Identity>
<Rank>Advanced</Rank>
</Identity>
<Promotion>
<Entity>units/rome/cavalry_javelineer_e</Entity>
</Promotion>
<VisualActor>
<Actor>units/romans/cavalry_javelinist_a_m.xml</Actor>
</VisualActor>
</Entity>
@@ -0,0 +1,20 @@
<?xml version="1.0" encoding="utf-8"?>
<Entity parent="template_unit_cavalry_ranged_javelineer">
<Identity>
<Civ>rome</Civ>
<Lang>latin</Lang>
<GenericName>Auxiliary Cavalry</GenericName>
<SpecificName>Eques Alaris</SpecificName>
<SelectionGroupName>units/rome/cavalry_javelineer_02_b</SelectionGroupName>
<Icon>units/rome/cavalry_javelinist.png</Icon>
<Requirements>
<Techs datatype="tokens">phase_town</Techs>
</Requirements>
</Identity>
<Promotion>
<Entity>units/rome/cavalry_javelineer_02_a</Entity>
</Promotion>
<VisualActor>
<Actor>units/romans/cavalry_javelinist_b_m.xml</Actor>
</VisualActor>
</Entity>
@@ -0,0 +1,10 @@
<?xml version="1.0" encoding="utf-8"?>
<Entity parent="units/rome/cavalry_javelineer_a">
<Identity>
<Rank>Elite</Rank>
</Identity>
<Promotion disable=""/>
<VisualActor>
<Actor>units/romans/cavalry_javelinist_e_m.xml</Actor>
</VisualActor>
</Entity>
@@ -0,0 +1,35 @@
<?xml version="1.0" encoding="utf-8"?>
<Entity parent="template_unit_infantry_ranged_javelineer">
<Builder>
<Entities datatype="tokens">
structures/rome/army_camp
structures/rome/temple_vesta
units/rome/siege_onager
</Entities>
</Builder>
<Cost>
<Resources>
<metal>15</metal>
</Resources>
</Cost>
<Loot>
<metal>2</metal>
</Loot>
<Identity>
<Civ>rome</Civ>
<Lang>latin</Lang>
<SelectionGroupName>units/rome/infantry_lanciarius</SelectionGroupName>
<GenericName>Legionary Skirmisher</GenericName>
<SpecificName>lanciārius</SpecificName>
<VisibleClasses datatype="tokens">Legionary</VisibleClasses>
<Rank>Elite</Rank>
<Icon>units/rome/infantry_javelinist.png</Icon>
<Requirements>
<Techs datatype="tokens">roman_reforms</Techs>
</Requirements>
</Identity>
<Promotion disable=""/>
<VisualActor>
<Actor>units/romans/infantry_javelinist_reform.xml</Actor>
</VisualActor>
</Entity>
@@ -0,0 +1,35 @@
<?xml version="1.0" encoding="utf-8"?>
<Entity parent="template_unit_infantry_melee_swordsman">
<Builder>
<Entities datatype="tokens">
structures/rome/army_camp
structures/rome/temple_vesta
units/rome/siege_onager
</Entities>
</Builder>
<Cost>
<Resources>
<metal op="add">5</metal>
<wood op="add">10</wood>
</Resources>
</Cost>
<Loot>
<wood>5</wood>
<metal>2</metal>
</Loot>
<Identity>
<GenericName>Marian Legionary</GenericName>
<Lang>latin</Lang>
<SpecificName>Legiōnārius</SpecificName>
<Rank>Elite</Rank>
<Icon>units/rome/champion_legion_marian.png</Icon>
<VisibleClasses datatype="tokens">Legionary</VisibleClasses>
<Requirements>
<Techs datatype="tokens">roman_reforms</Techs>
</Requirements>
</Identity>
<Promotion disable=""/>
<VisualActor>
<Actor>units/romans/infantry_swordsman_c2.xml</Actor>
</VisualActor>
</Entity>
@@ -4,14 +4,31 @@
<Category>Centurion</Category>
</TrainingRestrictions>
<Auras datatype="tokens">
units/centurion
units/centurion_1
units/centurion_2
</Auras>
<Cost>
<BuildTime op="mul">1.25</BuildTime>
<Resources>
<food op="add">40</food>
<metal op="add">20</metal>
</Resources>
</Cost>
<Loot>
<food op="add">4</food>
<metal op="add">2</metal>
</Loot>
<Identity>
<Civ>rome</Civ>
<Lang>latin</Lang>
<GenericName>Roman Centurion</GenericName>
<SpecificName>Centuriō</SpecificName>
<Icon>units/rome/champion_infantry_centurion.png</Icon>
<Tooltip>Centurions may be promoted from elite melee citizen infantry, and train from the Fortress after Marian Reforms.</Tooltip>
<VisibleClasses datatype="tokens">Centurion</VisibleClasses>
<Requirements>
<Techs datatype="tokens">roman_reforms -phase_city</Techs>
</Requirements>
</Identity>
<VisualActor>
<Actor>units/romans/infantry_swordsman_f.xml</Actor>