1
0
forked from 0ad/0ad

Differentiate Persians.

- Allows the immortals to be "upgraded" between sword and bow yielding.
- Reduces batch training time per progressing phase.
- Don't kill the immortals partly when reducing their training time.
- More units from the CC.
- Enable the Ice House.

Patch by: @borg-
Differential revision: https://code.wildfiregames.com/D4724
Accepted by: @chrstgtr, @real_tabasco_sauce
Comments by: @marder, @Stan
This was SVN commit r26996.
This commit is contained in:
Freagarach 2022-07-03 05:44:37 +00:00
parent 6e3ddadc7e
commit b6caf5eb63
23 changed files with 239 additions and 63 deletions

View File

@ -0,0 +1,82 @@
<?xml version="1.0" encoding="utf-8"?>
<actor version="1">
<castshadow/>
<group>
<variant>
<mesh>skeletal/new/m_armor_pants_tunic_long.dae</mesh>
<props>
<prop actor="props/units/heads/new/head_pers_tiara.xml" attachpoint="head"/>
<prop actor="props/units/helmets/pers_kidaris_tied.xml" attachpoint="helmet"/>
<prop actor="props/units/weapons/arrow_back.xml" attachpoint="weapon_R"/>
<prop actor="props/units/weapons/bow_recurve.xml" attachpoint="weapon_bow"/>
<prop actor="props/units/pers_quiver_back.xml" attachpoint="back"/>
</props>
<textures>
<texture file="skeletal/pers/scale_01_spec.png" name="specTex"/>
</textures>
</variant>
</group>
<group>
<variant frequency="1" name="Armor Bronze Scales">
<textures>
<texture file="skeletal/pers/scale_04_02.png" name="baseTex"/>
<texture file="skeletal/pers/scale_04_spec.png" name="specTex"/>
</textures>
</variant>
<variant frequency="3" name="Armor Iron Scales">
<textures>
<texture file="skeletal/pers/scale_03_01.dds" name="baseTex"/>
<texture file="skeletal/pers/scale_04_spec.png" name="specTex"/>
</textures>
</variant>
<variant frequency="3" name="scale-1a">
<textures>
<texture file="skeletal/pers/scale_01_01.png" name="baseTex"/>
</textures>
</variant>
<variant frequency="2" name="scale-1b">
<textures>
<texture file="skeletal/pers/scale_01_02.png" name="baseTex"/>
</textures>
</variant>
<variant frequency="3" name="scale-1c">
<textures>
<texture file="skeletal/pers/scale_01_03.png" name="baseTex"/>
</textures>
</variant>
<variant frequency="2" name="scale-1d">
<textures>
<texture file="skeletal/pers/scale_01_04.png" name="baseTex"/>
</textures>
</variant>
<variant frequency="2" name="scale-1e">
<textures>
<texture file="skeletal/pers/scale_01_05.png" name="baseTex"/>
</textures>
</variant>
<variant frequency="3" name="scale-1f">
<textures>
<texture file="skeletal/pers/scale_01_06.png" name="baseTex"/>
</textures>
</variant>
<variant frequency="2" name="scale-1g">
<textures>
<texture file="skeletal/pers/scale_01_07.png" name="baseTex"/>
</textures>
</variant>
<variant frequency="2" name="scale-1h">
<textures>
<texture file="skeletal/pers/scale_01_08.png" name="baseTex"/>
</textures>
</variant>
</group>
<group>
<variant file="biped/base_archer_relax.xml" frequency="1" name="Archer-Relax"/>
<variant file="biped/attack_capture.xml"/>
<variant file="biped/attack_slaughter.xml"/>
<variant file="biped/attack_ranged_archer_hip.xml"/>
<variant file="biped/gather_praise.xml"/>
<variant file="biped/death_infantry.xml"/>
</group>
<material>player_trans_spec.xml</material>
</actor>

View File

@ -29,6 +29,11 @@
"Name": "Large Rams",
"History": "",
"Description": "Battering Rams +20% attack damage and +2 garrison capacity."
},
{
"Name": "Time of War",
"History": "The Persians were known for their large cavalry contingent",
"Description": "Stable −10% batch training time per phase advance."
}
],
"WallSets": [

View File

@ -4,7 +4,12 @@
"cost": {
"food": 500
},
"requirements": { "tech": "phase_city" },
"requirements": {
"all": [
{ "tech": "phase_city" },
{ "notciv": "pers" }
]
},
"requirementsTooltip": "Unlocked in City Phase.",
"icon": "fist_spear_fire.png",
"researchTime": 40,

View File

@ -1,22 +0,0 @@
{
"genericName": "Levy Cavalry",
"description": "Calling up cavalry levies in time of war helps bolster the ranks of a king's army.",
"cost": {
"food": 300
},
"requirements": {
"all": [
{ "tech": "phase_town" },
{ "civ": "pers" }
]
},
"requirementsTooltip": "Unlocked in Town Phase.",
"icon": "horseshoe_silver.png",
"researchTime": 40,
"tooltip": "Cavalry −10% training time.",
"modifications": [
{ "value": "Cost/BuildTime", "multiply": 0.9 }
],
"affects": ["Cavalry"],
"soundComplete": "interface/alarm/alarm_upgradearmory.xml"
}

View File

@ -14,10 +14,9 @@
"requirementsTooltip": "Unlocked in City Phase.",
"icon": "immortals.png",
"researchTime": 60,
"tooltip": "Immortals −50% training time, but −10% health.",
"tooltip": "Immortals −50% training time.",
"modifications": [
{ "value": "Cost/BuildTime", "multiply": 0.5 },
{ "value": "Health/Max", "multiply": 0.9 }
{ "value": "Cost/BuildTime", "multiply": 0.5 }
],
"affects": ["Immortal"],
"soundComplete": "interface/alarm/alarm_upgradearmory.xml"

View File

@ -1,22 +0,0 @@
{
"genericName": "Levy Infantry",
"description": "Calling up infantry levies in time of war helps bolster the ranks of a king's army.",
"cost": {
"food": 300
},
"requirements": {
"all": [
{ "tech": "phase_town" },
{ "civ": "pers" }
]
},
"requirementsTooltip": "Unlocked in Town Phase.",
"icon": "fist_spear.png",
"researchTime": 40,
"tooltip": "Infantry −10% training time.",
"modifications": [
{ "value": "Cost/BuildTime", "multiply": 0.9 }
],
"affects": ["Infantry"],
"soundComplete": "interface/alarm/alarm_upgradearmory.xml"
}

View File

@ -0,0 +1,23 @@
{
"genericName": "Subterraneam Aqueducts",
"description": "Qanat, network of underground aqueducts connected to the yakhchal.",
"cost": {
"wood": 300,
"stone": 300
},
"requirements": {
"all": [
{ "tech": "phase_city" },
{ "civ": "pers" }
]
},
"requirementsTooltip": "Unlocked in City Phase.",
"icon": "cornucopia.png",
"researchTime": 40,
"tooltip": "IceHouse +1 trickle food rate per second.",
"modifications": [
{ "value": "ResourceTrickle/Rates/food", "add": 1 }
],
"affects": ["IceHouse"],
"soundComplete": "interface/alarm/alarm_upgradearmory.xml"
}

View File

@ -0,0 +1,26 @@
{
"genericName": "City Phase",
"description": "Advances from a bustling town to a veritable metropolis, full of the wonders of modern technology. This is the Persian city phase, where stable training rates are decreased because of the 'Times of War' bonus.",
"cost": {
"stone": 750,
"metal": 750
},
"requirements": {
"entity": {
"class": "Town",
"number": 3
}
},
"requirementsTooltip": "Requires three Town Structures.",
"supersedes": "phase_town_pers",
"replaces": ["phase_city"],
"icon": "city_phase.png",
"researchTime": 60,
"tooltip": "Advance to City Phase, which unlocks more entities and technologies. Civic Centers +50% territory influence radius. Structures +9 capture points regeneration rate per garrisoned unit. Stable −10% batch training time.",
"modifications": [
{ "value": "Capturable/GarrisonRegenRate", "add": 9, "affects": "Structure" },
{ "value": "Trainer/BatchTimeModifier", "add": -0.1, "affects": "Stable" },
{ "value": "TerritoryInfluence/Radius", "multiply": 1.5, "affects": "CivCentre" }
],
"soundComplete": "interface/alarm/alarm_phase.xml"
}

View File

@ -0,0 +1,26 @@
{
"genericName": "Town Phase",
"description": "Advances from a small village to a bustling town, ready to expand rapidly. This is the Persian town phase, where stable training rates are decreased because of the 'Times of War' bonus.",
"cost": {
"food": 500,
"wood": 500
},
"requirements": {
"entity": {
"class": "Village",
"number": 5
}
},
"requirementsTooltip": "Requires five Village Structures.",
"supersedes": "phase_village",
"replaces": ["phase_town"],
"icon": "town_phase.png",
"researchTime": 30,
"tooltip": "Advance to Town Phase, which unlocks more entities and technologies. Civic Centers +30% territory influence radius. Structures +7 capture points regeneration rate per garrisoned unit. Stable −10% batch training time.",
"modifications": [
{ "value": "Capturable/GarrisonRegenRate", "add": 7, "affects": "Structure" },
{ "value": "Trainer/BatchTimeModifier", "add": -0.1, "affects": "Stable" },
{ "value": "TerritoryInfluence/Radius", "multiply": 1.3, "affects": "CivCentre" }
],
"soundComplete": "interface/alarm/alarm_phase.xml"
}

View File

@ -4,7 +4,12 @@
"cost": {
"food": 500
},
"requirements": { "tech": "phase_city" },
"requirements": {
"all": [
{ "tech": "phase_city" },
{ "notciv": "pers" }
]
},
"requirementsTooltip": "Unlocked in City Phase.",
"icon": "horseshoe_gold.png",
"researchTime": 40,

View File

@ -6,7 +6,7 @@
<Cost>
<BuildTime>300</BuildTime>
<Resources>
<stone>300</stone>
<stone>200</stone>
<metal>200</metal>
</Resources>
</Cost>
@ -31,7 +31,7 @@
<Icon>structures/palace.png</Icon>
</Identity>
<Loot>
<stone>60</stone>
<stone>40</stone>
<metal>40</metal>
</Loot>
<Obstruction>
@ -47,10 +47,8 @@
<Rates>
<food>1.0</food>
<wood>1.0</wood>
<stone>0.75</stone>
<metal>0.75</metal>
</Rates>
<Interval>2000</Interval>
<Interval>1000</Interval>
</ResourceTrickle>
<Sound>
<SoundGroups>

View File

@ -4,6 +4,11 @@
<Civ>pers</Civ>
<SpecificName>Padgan</SpecificName>
</Identity>
<Trainer>
<Entities datatype="tokens">
-units/{civ}/champion_infantry_archer
</Entities>
</Trainer>
<VisualActor>
<Actor>structures/persians/barracks.xml</Actor>
</VisualActor>

View File

@ -17,7 +17,12 @@
<Entities datatype="tokens">
units/{civ}/infantry_spearman_b
units/{civ}/infantry_archer_b
units/{civ}/cavalry_axeman_b
units/{civ}/cavalry_swordsman_b
units/{civ}/cavalry_spearman_b
units/{civ}/cavalry_javelineer_b
units/{civ}/cavalry_archer_b
units/{civ}/cavalry_crossbowman_b
</Entities>
</Trainer>
<VisualActor>

View File

@ -1,15 +1,14 @@
<?xml version="1.0" encoding="utf-8"?>
<Entity parent="template_structure_special">
<BuildRestrictions>
<Territory>own neutral</Territory>
<Territory>own</Territory>
<Category>Yakhchal</Category>
</BuildRestrictions>
<Cost>
<BuildTime>100</BuildTime>
<BuildTime>60</BuildTime>
<Resources>
<stone>100</stone>
<wood>100</wood>
<metal>0</metal>
</Resources>
</Cost>
<Footprint replace="">
@ -32,9 +31,19 @@
<RequiredTechnology>phase_village</RequiredTechnology>
<Icon>structures/yakhchal.png</Icon>
</Identity>
<Loot>
<stone>20</stone>
<wood>20</wood>
</Loot>
<Obstruction>
<Static width="16.0" depth="16.0"/>
</Obstruction>
<ProductionQueue/>
<Researcher>
<Technologies datatype="tokens">
pers_food_trickle
</Technologies>
</Researcher>
<Sound>
<SoundGroups>
<select>interface/select/building/sel_farmstead.xml</select>
@ -42,10 +51,14 @@
<death>attack/destruction/building_collapse_large.xml</death>
</SoundGroups>
</Sound>
<TerritoryDecay>
<Territory>enemy</Territory>
</TerritoryDecay>
<TerritoryInfluence disable=""/>
<TerritoryInfluence>
<Root>false</Root>
<Radius>20</Radius>
<Weight>30000</Weight>
</TerritoryInfluence>
<Vision>
<Range>20</Range>
</Vision>
<VisualActor>
<Actor>structures/persians/ice_house.xml</Actor>
<FoundationActor>structures/fndn_4x4.xml</FoundationActor>

View File

@ -29,6 +29,7 @@
<TempleOfAmun>1</TempleOfAmun>
<TempleOfVesta>1</TempleOfVesta>
<Theater>1</Theater>
<Yakhchal>5</Yakhchal>
<WarDog>20</WarDog>
<Wonder>1</Wonder>
</Limits>

View File

@ -41,7 +41,6 @@
<Researcher>
<Technologies datatype="tokens">
barracks_batch_training
infantry_cost_time
unlock_champion_infantry
pair_unlock_champions_sele
</Technologies>

View File

@ -41,7 +41,6 @@
<Researcher>
<Technologies datatype="tokens">
stable_batch_training
cavalry_cost_time
cavalry_movement_speed
cavalry_health
nisean_horses

View File

@ -1,5 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
<Entity parent="template_unit_champion_infantry_spearman">
<Health>
<Max>140</Max>
</Health>
<Identity>
<Civ>pers</Civ>
<Lang>persian</Lang>
@ -8,6 +11,25 @@
<VisibleClasses datatype="tokens">Immortal</VisibleClasses>
<Icon>units/pers_champion_infantry.png</Icon>
</Identity>
<Resistance>
<Entity>
<Damage>
<Hack op="add">-3</Hack>
<Pierce op="add">-3</Pierce>
</Damage>
</Entity>
</Resistance>
<Upgrade>
<Immortal_archer>
<Entity>units/pers/champion_infantry_archer</Entity>
<Tooltip>Switch to using the bow and arrow.</Tooltip>
<Variant>upgrading</Variant>
<Time>8</Time>
</Immortal_archer>
</Upgrade>
<UnitMotion>
<WalkSpeed op="mul">0.9</WalkSpeed>
</UnitMotion>
<VisualActor>
<Actor>units/persians/infantry_spearman_c2.xml</Actor>
</VisualActor>

View File

@ -3,6 +3,7 @@
<Builder>
<Entities datatype="tokens">
structures/pers/apadana
structures/pers/ice_house
</Entities>
</Builder>
<Identity>

View File

@ -3,6 +3,7 @@
<Builder>
<Entities datatype="tokens">
structures/pers/apadana
structures/pers/ice_house
</Entities>
</Builder>
<Identity>

View File

@ -3,6 +3,7 @@
<Builder>
<Entities datatype="tokens">
structures/pers/apadana
structures/pers/ice_house
</Entities>
</Builder>
<Identity>

View File

@ -3,6 +3,7 @@
<Builder>
<Entities datatype="tokens">
structures/pers/apadana
structures/pers/ice_house
</Entities>
</Builder>
<Identity>