1
0
forked from mirrors/0ad

Reduce defensive_wall* duplication

Including:
Remove LongWall from gates
Change the ("unused") gate cost component in more reasonable number and
adapt the repairTimeRatio with it to keep the health/second the same

Patch By: Nescio
Differential Revision: https://code.wildfiregames.com/D1794
This was SVN commit r22325.
This commit is contained in:
bb
2019-05-31 11:17:10 +00:00
parent ddcdc643ba
commit e7f720d7bc
6 changed files with 22 additions and 53 deletions
@@ -7,22 +7,12 @@
<Capturable>
<CapturePoints>1200</CapturePoints>
</Capturable>
<Cost>
<BuildTime>25</BuildTime>
<Resources>
<stone>20</stone>
</Resources>
</Cost>
<Footprint>
<Square width="6.0" depth="6.0"/>
<Height>8.0</Height>
</Footprint>
<Health>
<Max>3000</Max>
<SpawnEntityOnDeath>decay|rubble/rubble_stone_2x2</SpawnEntityOnDeath>
</Health>
<Identity>
<Classes datatype="tokens">Defensive StoneWall</Classes>
<Classes datatype="tokens">StoneWall</Classes>
<GenericName>Stone Wall</GenericName>
<Tooltip>Wall off your town for a stout defense.</Tooltip>
<Icon>structures/wall.png</Icon>
@@ -35,8 +25,6 @@
<Obstruction>
<Static width="6.0" depth="6.0"/>
</Obstruction>
<ProductionQueue disable=""/>
<RallyPoint disable=""/>
<Repairable>
<RepairTimeRatio>4.5</RepairTimeRatio>
</Repairable>
@@ -1,13 +1,19 @@
<?xml version="1.0" encoding="utf-8"?>
<Entity parent="template_structure_defensive_wall_long">
<Auras disable=""/>
<!-- We don't disable the Cost component, although gates cannot be built directly, as Cost/BuildTime is required to prevent instantaneous repair -->
<Entity parent="template_structure_defensive_wall">
<!-- We need a Cost component, although gates cannot be built directly, as Cost/BuildTime is required to prevent instantaneous repair -->
<Cost>
<BuildTime>38</BuildTime>
<Resources>
<stone>60</stone>
</Resources>
</Cost>
<GarrisonHolder disable=""/>
<Gate>
<PassRange>20</PassRange>
</Gate>
<Health>
<Max op="mul">0.85</Max>
<Max>2500</Max>
<SpawnEntityOnDeath>decay|rubble/rubble_stone_wall_long</SpawnEntityOnDeath>
</Health>
<Identity>
<Classes datatype="tokens">Gates</Classes>
@@ -23,10 +29,8 @@
<Door width="20.0" depth="6.5" x="0" z="0"/>
</Obstructions>
</Obstruction>
<ProductionQueue disable=""/>
<RallyPoint disable=""/>
<Repairable>
<RepairTimeRatio op="mul">0.85</RepairTimeRatio>
</Repairable>
<Sound>
<SoundGroups>
<select>interface/select/building/sel_gate.xml</select>
@@ -37,5 +41,7 @@
<gate_unlocked>interface/select/building/sel_gate.xml</gate_unlocked>
</SoundGroups>
</Sound>
<Upgrade disable=""/>
<VisualActor>
<FoundationActor>structures/fndn_9x3_wall.xml</FoundationActor>
</VisualActor>
</Entity>
@@ -35,13 +35,14 @@
</VisibleGarrisonPoints>
</GarrisonHolder>
<Health>
<Max>3000</Max>
<SpawnEntityOnDeath>decay|rubble/rubble_stone_wall_long</SpawnEntityOnDeath>
</Health>
<Identity>
<Classes datatype="tokens">LongWall</Classes>
<Tooltip>Long wall segments can be converted to gates.</Tooltip>
</Identity>
<RallyPoint/>
<ProductionQueue disable=""/>
<Upgrade>
<Gate>
<Entity>structures/{civ}_wall_gate</Entity>
@@ -32,7 +32,7 @@
<Max>2000</Max>
<SpawnEntityOnDeath>decay|rubble/rubble_stone_wall_medium</SpawnEntityOnDeath>
</Health>
<RallyPoint/>
<ProductionQueue disable=""/>
<VisualActor>
<FoundationActor>structures/fndn_6x3_wall.xml</FoundationActor>
</VisualActor>
@@ -10,6 +10,8 @@
<Max>1000</Max>
<SpawnEntityOnDeath>decay|rubble/rubble_stone_wall_short</SpawnEntityOnDeath>
</Health>
<ProductionQueue disable=""/>
<RallyPoint disable=""/>
<VisualActor>
<FoundationActor>structures/fndn_3x3_wall.xml</FoundationActor>
</VisualActor>
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<Entity parent="template_structure_defensive">
<Entity parent="template_structure_defensive_wall">
<Attack>
<Ranged>
<Hack>0.0</Hack>
@@ -29,23 +29,12 @@
<GarrisonArrowMultiplier>1</GarrisonArrowMultiplier>
<GarrisonArrowClasses>Infantry</GarrisonArrowClasses>
</BuildingAI>
<BuildRestrictions>
<PlacementType>land-shore</PlacementType>
<Category>Wall</Category>
</BuildRestrictions>
<Capturable>
<CapturePoints>1200</CapturePoints>
</Capturable>
<Cost>
<BuildTime>80</BuildTime>
<Resources>
<stone>90</stone>
</Resources>
</Cost>
<Footprint>
<Square width="6.0" depth="6.0"/>
<Height>8.0</Height>
</Footprint>
<GarrisonHolder>
<Max>2</Max>
<EjectHealth>0.1</EjectHealth>
@@ -61,16 +50,10 @@
<Identity>
<GenericName>Wall Turret</GenericName>
<Tooltip>Shoots arrows. Garrison to defend a city wall against attackers.</Tooltip>
<Classes datatype="tokens">StoneWall Tower</Classes>
<Classes datatype="tokens">Tower</Classes>
<Icon>structures/tower.png</Icon>
<RequiredTechnology>phase_town</RequiredTechnology>
</Identity>
<Loot>
<wood>0</wood>
<stone>15</stone>
</Loot>
<Obstruction>
<Static width="6.0" depth="6.0"/>
<ControlPersist/>
</Obstruction>
<ProductionQueue>
@@ -79,9 +62,6 @@
pair_walls_01
</Technologies>
</ProductionQueue>
<Repairable>
<RepairTimeRatio>4.5</RepairTimeRatio>
</Repairable>
<Sound>
<SoundGroups>
<select>interface/select/building/sel_tower.xml</select>
@@ -91,14 +71,6 @@
<StatusBars>
<HeightOffset>20.0</HeightOffset>
</StatusBars>
<TerritoryDecay>
<DecayRate>5.0</DecayRate>
</TerritoryDecay>
<TerritoryInfluence>
<Root>false</Root>
<Radius>20</Radius>
<Weight>65535</Weight>
</TerritoryInfluence>
<Vision>
<Range>60</Range>
</Vision>