1
0
forked from mirrors/0ad

Bolt tower and ampitheater commit, updated ptolemaic sentry tower while I was at it, and radiant flame texture added for directionless fire effects, babylonian tower template switched to persian denomination for potential upgradeability

https://wildfiregames.com/forum/index.php?/topic/27156-artillery-towers/page/2/&tab=comments#comment-388362
https://wildfiregames.com/forum/index.php?/topic/27230-pompeii-ampitheater/&tab=comments#comment-387990

This was SVN commit r23160.
This commit is contained in:
LordGood
2019-11-18 01:12:41 +00:00
parent e0393304c2
commit d4db7d2e0b
44 changed files with 804 additions and 27 deletions
@@ -0,0 +1,16 @@
<?xml version="1.0" encoding="utf-8"?>
<actor version="1">
<castshadow/>
<group>
<variant frequency="1" name="struct">
<mesh>structural/hele_tower_bolt_props.dae</mesh>
<textures>
<texture file="props/hele_props_a.dds" name="baseTex"/>
<texture file="props/hele_props_a_norm.png" name="normTex"/>
<texture file="props/hele_props_a_spec.png" name="specTex"/>
<texture file="structural/ao/hele_tower_bolt_AO.png" name="aoTex"/>
</textures>
</variant>
</group>
<material>player_trans_ao_parallax_spec.xml</material>
</actor>
@@ -0,0 +1,16 @@
<?xml version="1.0" encoding="utf-8"?>
<actor version="1">
<castshadow/>
<group>
<variant frequency="100" name="helllenized_2">
<mesh>structural/ptol_tower_bolt_roof.dae</mesh>
<textures>
<texture file="structural/Sele_struct_2.png" name="baseTex"/>
<texture file="structural/Sele_struct_2_norm.png" name="normTex"/>
<texture file="structural/Sele_struct_2_spec.png" name="specTex"/>
<texture file="structural/ao/ptol_tower_bolt_AO.png" name="aoTex"/>
</textures>
</variant>
</group>
<material>player_trans_ao_parallax_spec.xml</material>
</actor>
@@ -0,0 +1,19 @@
<?xml version="1.0" encoding="utf-8"?>
<actor version="1">
<castshadow/>
<group>
<variant frequency="1" name="bolt">
<mesh>props/bolt_tower_projectile.dae</mesh>
</variant>
</group>
<group>
<variant>
<textures>
<texture file="structural/rome_struct.png" name="baseTex"/>
<texture file="structural/rome_struct_norm.png" name="normTex"/>
<texture file="structural/rome_struct_spec.png" name="specTex"/>
</textures>
</variant>
</group>
<material>basic_trans_parallax_spec.xml</material>
</actor>
@@ -0,0 +1,66 @@
<?xml version="1.0" encoding="utf-8"?>
<actor version="1">
<castshadow/>
<group>
<variant frequency="1" name="Scout_Tower">
<animations>
<animation event="0.5" load="0" name="attack_ranged" speed="100"/>
</animations>
<mesh>structural/kart_tower_bolt.dae</mesh>
<props>
<prop actor="props/structures/decals/spart_1x1.xml" attachpoint="root"/>
<prop actor="props/units/weapons/bolt_tower.xml" attachpoint="loaded-projectile"/>
<prop actor="props/units/weapons/bolt_tower.xml" attachpoint="projectile"/>
</props>
<textures>
<texture file="structural/kart_struct.dds" name="baseTex"/>
<texture file="structural/kart_struct_norm.png" name="specTex"/>
<texture file="structural/kart_struct_norm.png" name="normTex"/>
<texture file="structural/ao/kart_tower_bolt_AO.png" name="aoTex"/>
</textures>
</variant>
</group>
<group>
<variant frequency="1" name="ungarrisoned"/>
<variant name="garrisoned">
<props>
<prop actor="props/special/common/garrison_flag_kart.xml" attachpoint="garrisoned"/>
</props>
</variant>
</group>
<group>
<variant frequency="1" name="alive"/>
<variant name="lightdamage">
<textures>
<texture file="structural/kart_struct_damaged.png" name="baseTex"/>
<texture file="structural/kart_struct_damaged_norm.png" name="normTex"/>
</textures>
</variant>
<variant name="mediumdamage">
<textures>
<texture file="structural/kart_struct_damaged_med.png" name="baseTex"/>
<texture file="structural/kart_struct_damaged_med_norm.png" name="normTex"/>
</textures>
</variant>
<variant name="heavydamage">
<textures>
<texture file="structural/kart_struct_damaged_heavy.png" name="baseTex"/>
<texture file="structural/kart_struct_damaged_heavy_norm.png" name="normTex"/>
</textures>
</variant>
<variant name="death">
<props>
<prop attachpoint="garrisoned"/>
<prop actor="particle/destruction_smoke_small.xml" attachpoint="root"/>
<prop actor="particle/destruction_dust_small.xml" attachpoint="root"/>
<prop actor="particle/destruction_dust_small_gray.xml" attachpoint="root"/>
<prop actor="props/structures/decals/dirt_2x2.xml" attachpoint="root"/>
</props>
<textures>
<texture file="structural/kart_struct_damaged_heavy.png" name="baseTex"/>
<texture file="structural/kart_struct_damaged_heavy_norm.png" name="normTex"/>
</textures>
</variant>
</group>
<material>player_trans_ao_parallax_spec.xml</material>
</actor>
@@ -0,0 +1,46 @@
<?xml version="1.0" encoding="utf-8"?>
<actor version="1">
<castshadow/>
<group>
<variant frequency="100" name="scout tower">
<animations>
<animation event="0.5" load="0" name="attack_ranged" speed="100"/>
</animations>
<mesh>structural/hele_tower_bolt_struct.dae</mesh>
<props>
<prop actor="props/structures/hellenes/tower_bolt_props.xml" attachpoint="root"/>
<prop actor="props/structures/decals/spart_1x1.xml" attachpoint="root"/>
<prop actor="props/units/weapons/bolt_tower.xml" attachpoint="loaded-projectile"/>
<prop actor="props/units/weapons/bolt_tower.xml" attachpoint="projectile"/>
</props>
<textures>
<texture file="structural/hele_struct.dds" name="baseTex"/>
<texture file="structural/hele_struct_norm.png" name="normTex"/>
<texture file="structural/hele_struct_spec.png" name="specTex"/>
<texture file="structural/ao/hele_tower_bolt_AO.png" name="aoTex"/>
</textures>
</variant>
</group>
<group>
<variant frequency="1" name="ungarrisoned"/>
<variant name="garrisoned">
<props>
<prop actor="props/special/common/garrison_flag_hele.xml" attachpoint="garrisoned"/>
</props>
</variant>
</group>
<group>
<variant frequency="1" name="alive"/>
<variant name="death">
<props>
<prop attachpoint="garrisoned"/>
<prop actor="props/structures/hellenes/tower_bolt_props.xml" attachpoint="root"/>
<prop actor="particle/destruction_smoke_small.xml" attachpoint="root"/>
<prop actor="particle/destruction_dust_small.xml" attachpoint="root"/>
<prop actor="particle/destruction_dust_small_gray.xml" attachpoint="root"/>
<prop actor="props/structures/decals/dirt_1x1.xml" attachpoint="root"/>
</props>
</variant>
</group>
<material>player_trans_ao_parallax_spec.xml</material>
</actor>
@@ -0,0 +1,42 @@
<?xml version="1.0" encoding="utf-8"?>
<actor version="1">
<castshadow/>
<group>
<variant frequency="100" name="Palestrina">
<mesh>structural/ptol_tower_bolt.dae</mesh>
<props>
<prop actor="props/structures/decals/spart_1x1.xml" attachpoint="root"/>
<prop actor="props/structures/ptolemies/tower_bolt_roof.xml" attachpoint="root"/>
<prop actor="props/units/weapons/bolt_tower.xml" attachpoint="loaded-projectile"/>
<prop actor="props/units/weapons/bolt_tower.xml" attachpoint="projectile"/>
</props>
<textures>
<texture file="structural/ptol_struct.png" name="baseTex"/>
<texture file="structural/ptol_struct_norm.png" name="normTex"/>
<texture file="structural/ptol_struct_spec.png" name="specTex"/>
<texture file="structural/ao/ptol_tower_bolt_AO.png" name="aoTex"/>
</textures>
</variant>
</group>
<group>
<variant frequency="1" name="ungarrisoned"/>
<variant name="garrisoned">
<props>
<prop actor="props/special/common/garrison_flag_hele.xml" attachpoint="garrisoned"/>
</props>
</variant>
</group>
<group>
<variant frequency="1" name="alive"/>
<variant name="death">
<props>
<prop actor="particle/destruction_smoke_small.xml" attachpoint="root"/>
<prop actor="particle/destruction_dust_small.xml" attachpoint="root"/>
<prop actor="particle/destruction_dust_small_gray.xml" attachpoint="root"/>
<prop actor="props/structures/decals/dirt_1x1.xml" attachpoint="root"/>
<prop actor="props/structures/ptolemies/tower_bolt_roof.xml" attachpoint="root"/>
</props>
</variant>
</group>
<material>player_trans_ao_parallax_spec.xml</material>
</actor>
@@ -0,0 +1,36 @@
<?xml version="1.0" encoding="utf-8"?>
<actor version="1">
<castshadow/>
<group>
<variant frequency="100" name="ampitheater">
<mesh>structural/rome_ampitheater_pompeii.dae</mesh>
<props>
<prop actor="props/structures/decals/dirt_5x5.xml" attachpoint="root"/>
<prop actor="props/structures/decals/celt_barracks.xml" attachpoint="root"/>
</props>
<textures>
<texture file="structural/rome_struct_2.png" name="baseTex"/>
<texture file="structural/rome_struct_2_norm.png" name="normTex"/>
<texture file="structural/rome_struct_2_spec.png" name="specTex"/>
<texture file="structural/ao/rome_ampitheater_pompeii_AO.png" name="aoTex"/>
</textures>
</variant>
</group>
<group>
<variant frequency="1" name="ungarrisoned"/>
<variant name="garrisoned"/>
</group>
<group>
<variant frequency="1" name="alive"/>
<variant name="death">
<props>
<prop attachpoint="garrisoned"/>
<prop actor="particle/destruction_smoke_med.xml" attachpoint="root"/>
<prop actor="particle/destruction_dust_med.xml" attachpoint="root"/>
<prop actor="particle/destruction_dust_med_gray.xml" attachpoint="root"/>
<prop actor="props/structures/decals/dirt_5x5.xml" attachpoint="root"/>
</props>
</variant>
</group>
<material>player_trans_ao_parallax_spec.xml</material>
</actor>
@@ -0,0 +1,44 @@
<?xml version="1.0" encoding="utf-8"?>
<actor version="1">
<castshadow/>
<group>
<variant frequency="1" name="Base">
<animations>
<animation event="0.5" load="0.0" name="attack_ranged" speed="100"/>
</animations>
<mesh>structural/rome_tower_bolt.dae</mesh>
<props>
<prop actor="props/units/weapons/bolt_tower.xml" attachpoint="projectile"/>
<prop actor="props/units/weapons/bolt_tower.xml" attachpoint="loaded-projectile"/>
<prop actor="props/structures/decals/spart_1x1.xml" attachpoint="root"/>
</props>
<textures>
<texture file="structural/rome_struct.png" name="baseTex"/>
<texture file="structural/rome_struct_norm.png" name="normTex"/>
<texture file="structural/rome_struct_spec.png" name="specTex"/>
<texture file="structural/ao/rome_tower_bolt_AO.png" name="aoTex"/>
</textures>
</variant>
</group>
<group>
<variant frequency="1" name="ungarrisoned"/>
<variant name="garrisoned">
<props>
<prop actor="props/special/common/garrison_flag_rome.xml" attachpoint="garrisoned"/>
</props>
</variant>
</group>
<group>
<variant frequency="1" name="alive"/>
<variant name="death">
<props>
<prop attachpoint="garrisoned"/>
<prop actor="particle/destruction_smoke_small.xml" attachpoint="root"/>
<prop actor="particle/destruction_dust_small.xml" attachpoint="root"/>
<prop actor="particle/destruction_dust_small_gray.xml" attachpoint="root"/>
<prop actor="props/structures/decals/dirt_2x2.xml" attachpoint="root"/>
</props>
</variant>
</group>
<material>player_trans_ao_parallax_spec.xml</material>
</actor>
@@ -0,0 +1,44 @@
<?xml version="1.0" encoding="utf-8"?>
<actor version="1">
<castshadow/>
<group>
<variant frequency="1" name="Spartan Tower">
<animations>
<animation event="0.5" load="0.0" name="attack_ranged" speed="100"/>
</animations>
<mesh>structural/spart_tower_bolt.dae</mesh>
<props>
<prop actor="props/structures/decals/spart_1x1.xml" attachpoint="root"/>
<prop actor="props/units/weapons/bolt_tower.xml" attachpoint="loaded-projectile"/>
<prop actor="props/units/weapons/bolt_tower.xml" attachpoint="projectile"/>
<prop attachpoint=""/>
</props>
<textures>
<texture file="structural/sparta_struct.png" name="baseTex"/>
<texture file="structural/sparta_struct_norm.png" name="normTex"/>
<texture file="structural/sparta_struct_spec.png" name="specTex"/>
<texture file="structural/ao/spart_tower_bolt_AO.png" name="aoTex"/>
</textures>
</variant>
</group>
<group>
<variant frequency="1" name="ungarrisoned"/>
<variant name="garrisoned">
<props>
<prop actor="props/special/common/garrison_flag_hele.xml" attachpoint="garrisoned"/>
</props>
</variant>
</group>
<group>
<variant frequency="1" name="alive"/>
<variant name="death">
<props>
<prop attachpoint="garrisoned"/>
<prop actor="particle/destruction_smoke_small.xml" attachpoint="root"/>
<prop actor="particle/destruction_dust_large.xml" attachpoint="root"/>
<prop actor="particle/destruction_dust_large_gray.xml" attachpoint="root"/>
</props>
</variant>
</group>
<material>player_trans_ao_parallax_spec.xml</material>
</actor>
@@ -18,15 +18,25 @@
<Actor>structures/hellenes/scout_tower.xml</Actor>
</VisualActor>
<Upgrade>
<Tower>
<Tower1>
<Entity>structures/{civ}_tower_artillery</Entity>
<Tooltip>Reinforce with stone block, and install small torsion engines to upgrade this defense tower into an artillery tower.</Tooltip>
<Tooltip>Reinforce with stone block, and install small stone throwers to upgrade this defense tower into a slow, area of effect, and siege resistant artillery tower.</Tooltip>
<RequiredTechnology>phase_city</RequiredTechnology>
<Cost>
<wood>150</wood>
<stone>100</stone>
</Cost>
<Time>200</Time>
</Tower>
</Tower1>
<Tower2>
<Entity>structures/{civ}_tower_bolt</Entity>
<Tooltip>Reinforce with stone block, and install scorpions to upgrade this defense tower into a prompt, long range, and accurate bolt tower.</Tooltip>
<RequiredTechnology>phase_city</RequiredTechnology>
<Cost>
<metal>100</metal>
<stone>100</stone>
</Cost>
<Time>200</Time>
</Tower2>
</Upgrade>
</Entity>
@@ -0,0 +1,20 @@
<?xml version="1.0" encoding="utf-8"?>
<Entity parent="template_structure_defensive_tower_bolt">
<Footprint>
<Square width="10.0" depth="10.0"/>
<Height>15.0</Height>
</Footprint>
<Identity>
<Civ>athen</Civ>
<SpecificName>Pyrgíon</SpecificName>
</Identity>
<Obstruction>
<Static width="7.5" depth="7.5"/>
</Obstruction>
<StatusBars>
<HeightOffset>19.0</HeightOffset>
</StatusBars>
<VisualActor>
<Actor>structures/hellenes/tower_bolt.xml</Actor>
</VisualActor>
</Entity>
@@ -19,15 +19,25 @@
<Actor>structures/carthaginians/scout_tower.xml</Actor>
</VisualActor>
<Upgrade>
<Tower>
<Tower1>
<Entity>structures/{civ}_tower_artillery</Entity>
<Tooltip>Reinforce with stone block, and install small torsion engines to upgrade this defense tower into an artillery tower.</Tooltip>
<Tooltip>Reinforce with stone block, and install small stone throwers to upgrade this defense tower into a slow, area of effect, and siege resistant artillery tower.</Tooltip>
<RequiredTechnology>phase_city</RequiredTechnology>
<Cost>
<wood>150</wood>
<stone>100</stone>
</Cost>
<Time>200</Time>
</Tower>
</Tower1>
<Tower2>
<Entity>structures/{civ}_tower_bolt</Entity>
<Tooltip>Reinforce with stone block, and install scorpions to upgrade this defense tower into a prompt, long range, and accurate bolt tower.</Tooltip>
<RequiredTechnology>phase_city</RequiredTechnology>
<Cost>
<metal>100</metal>
<stone>100</stone>
</Cost>
<Time>200</Time>
</Tower2>
</Upgrade>
</Entity>
@@ -0,0 +1,20 @@
<?xml version="1.0" encoding="utf-8"?>
<Entity parent="template_structure_defensive_tower_bolt">
<Footprint>
<Square width="10.0" depth="10.0"/>
<Height>15.0</Height>
</Footprint>
<Identity>
<Civ>spart</Civ>
<SpecificName>Mijdil</SpecificName>
</Identity>
<Obstruction>
<Static width="7.5" depth="7.5"/>
</Obstruction>
<StatusBars>
<HeightOffset>19.0</HeightOffset>
</StatusBars>
<VisualActor>
<Actor>structures/carthaginians/tower_bolt.xml</Actor>
</VisualActor>
</Entity>
@@ -15,7 +15,7 @@
<HeightOffset>22.0</HeightOffset>
</StatusBars>
<Upgrade>
<Tower>
<Tower1>
<Entity>structures/{civ}_tower_artillery</Entity>
<Tooltip>Reinforce with stone block, and install small stone throwers to upgrade this defense tower into a slow, area of effect, and siege resistant artillery tower.</Tooltip>
<RequiredTechnology>phase_city</RequiredTechnology>
@@ -24,7 +24,17 @@
<stone>100</stone>
</Cost>
<Time>200</Time>
</Tower>
</Tower1>
<Tower2>
<Entity>structures/{civ}_tower_bolt</Entity>
<Tooltip>Reinforce with stone block, and install scorpions to upgrade this defense tower into a prompt, long range, and accurate bolt tower.</Tooltip>
<RequiredTechnology>phase_city</RequiredTechnology>
<Cost>
<metal>100</metal>
<stone>100</stone>
</Cost>
<Time>200</Time>
</Tower2>
</Upgrade>
<VisualActor>
<Actor>structures/hellenes/scout_tower.xml</Actor>
@@ -0,0 +1,20 @@
<?xml version="1.0" encoding="utf-8"?>
<Entity parent="template_structure_defensive_tower_bolt">
<Footprint>
<Square width="10.0" depth="10.0"/>
<Height>15.0</Height>
</Footprint>
<Identity>
<Civ>mace</Civ>
<SpecificName>Pyrgíon</SpecificName>
</Identity>
<Obstruction>
<Static width="7.5" depth="7.5"/>
</Obstruction>
<StatusBars>
<HeightOffset>19.0</HeightOffset>
</StatusBars>
<VisualActor>
<Actor>structures/hellenes/tower_bolt.xml</Actor>
</VisualActor>
</Entity>
@@ -1,13 +1,13 @@
<?xml version="1.0" encoding="utf-8"?>
<Entity parent="template_structure_defensive_tower_stone">
<Identity>
<Civ>pers</Civ>
<SpecificName>Pāyaud</SpecificName>
</Identity>
<StatusBars>
<HeightOffset>19.0</HeightOffset>
</StatusBars>
<VisualActor>
<Actor>structures/persians/babylonian_tower.xml</Actor>
</VisualActor>
</Entity>
<?xml version="1.0" encoding="utf-8"?>
<Entity parent="template_structure_defensive_tower_stone">
<Identity>
<Civ>pers</Civ>
<SpecificName>Pāyaud</SpecificName>
</Identity>
<StatusBars>
<HeightOffset>19.0</HeightOffset>
</StatusBars>
<VisualActor>
<Actor>structures/persians/babylonian_tower.xml</Actor>
</VisualActor>
</Entity>
@@ -18,15 +18,25 @@
<Actor>structures/ptolemies/defense_tower.xml</Actor>
</VisualActor>
<Upgrade>
<Tower>
<Tower1>
<Entity>structures/{civ}_tower_artillery</Entity>
<Tooltip>Reinforce with stone block, and install small torsion engines to upgrade this defense tower into an artillery tower.</Tooltip>
<Tooltip>Reinforce with stone block, and install small stone throwers to upgrade this defense tower into a slow, area of effect, and siege resistant artillery tower.</Tooltip>
<RequiredTechnology>phase_city</RequiredTechnology>
<Cost>
<wood>150</wood>
<stone>100</stone>
</Cost>
<Time>200</Time>
</Tower>
</Tower1>
<Tower2>
<Entity>structures/{civ}_tower_bolt</Entity>
<Tooltip>Reinforce with stone block, and install scorpions to upgrade this defense tower into a prompt, long range, and accurate bolt tower.</Tooltip>
<RequiredTechnology>phase_city</RequiredTechnology>
<Cost>
<metal>100</metal>
<stone>100</stone>
</Cost>
<Time>200</Time>
</Tower2>
</Upgrade>
</Entity>
@@ -0,0 +1,20 @@
<?xml version="1.0" encoding="utf-8"?>
<Entity parent="template_structure_defensive_tower_bolt">
<Footprint>
<Square width="10.0" depth="10.0"/>
<Height>15.0</Height>
</Footprint>
<Identity>
<Civ>spart</Civ>
<SpecificName>Pyrgíon</SpecificName>
</Identity>
<Obstruction>
<Static width="7.5" depth="7.5"/>
</Obstruction>
<StatusBars>
<HeightOffset>19.0</HeightOffset>
</StatusBars>
<VisualActor>
<Actor>structures/ptolemies/tower_bolt.xml</Actor>
</VisualActor>
</Entity>
@@ -0,0 +1,26 @@
<?xml version="1.0" encoding="utf-8"?>
<Entity parent="template_structure_special_theatron">
<Auras disable=""/>
<Footprint replace="">
<Square width="66.0" depth="90.0"/>
<Height>20.0</Height>
</Footprint>
<Identity>
<Civ>rome</Civ>
<GenericName>Ampitheater</GenericName>
<SpecificName>Ampitheatrum</SpecificName>
</Identity>
<Obstruction>
<Static width="62" depth="86"/>
</Obstruction>
<Sound>
<SoundGroups>
<select>interface/select/building/sel_tholos.xml</select>
<constructed>interface/complete/building/complete_tholos.xml</constructed>
</SoundGroups>
</Sound>
<VisualActor>
<Actor>structures/romans/ampitheater_pompeii.xml</Actor>
<FoundationActor>structures/fndn_6x6.xml</FoundationActor>
</VisualActor>
</Entity>
@@ -18,15 +18,25 @@
<Actor>structures/romans/scout_tower.xml</Actor>
</VisualActor>
<Upgrade>
<Tower>
<Tower1>
<Entity>structures/{civ}_tower_artillery</Entity>
<Tooltip>Reinforce with stone block, and install small torsion engines to upgrade this defense tower into an artillery tower.</Tooltip>
<Tooltip>Reinforce with stone block, and install small stone throwers to upgrade this defense tower into a slow, area of effect, and siege resistant artillery tower.</Tooltip>
<RequiredTechnology>phase_city</RequiredTechnology>
<Cost>
<wood>150</wood>
<stone>100</stone>
</Cost>
<Time>200</Time>
</Tower>
</Tower1>
<Tower2>
<Entity>structures/{civ}_tower_bolt</Entity>
<Tooltip>Reinforce with stone block, and install scorpions to upgrade this defense tower into a prompt, long range, and accurate bolt tower.</Tooltip>
<RequiredTechnology>phase_city</RequiredTechnology>
<Cost>
<metal>100</metal>
<stone>100</stone>
</Cost>
<Time>200</Time>
</Tower2>
</Upgrade>
</Entity>
@@ -0,0 +1,20 @@
<?xml version="1.0" encoding="utf-8"?>
<Entity parent="template_structure_defensive_tower_bolt">
<Footprint>
<Square width="10.0" depth="10.0"/>
<Height>15.0</Height>
</Footprint>
<Identity>
<Civ>rome</Civ>
<SpecificName>Turris Laterīcia</SpecificName>
</Identity>
<Obstruction>
<Static width="7.5" depth="7.5"/>
</Obstruction>
<StatusBars>
<HeightOffset>19.0</HeightOffset>
</StatusBars>
<VisualActor>
<Actor>structures/romans/tower_bolt.xml</Actor>
</VisualActor>
</Entity>
@@ -17,4 +17,16 @@
<VisualActor>
<Actor>structures/spartans/defense_tower.xml</Actor>
</VisualActor>
<Upgrade>
<Tower2>
<Entity>structures/{civ}_tower_bolt</Entity>
<Tooltip>Reinforce with stone block, and install small oxybeles to upgrade this defense tower into a prompt, long range, and accurate bolt tower.</Tooltip>
<RequiredTechnology>phase_city</RequiredTechnology>
<Cost>
<metal>100</metal>
<stone>100</stone>
</Cost>
<Time>200</Time>
</Tower2>
</Upgrade>
</Entity>
@@ -0,0 +1,20 @@
<?xml version="1.0" encoding="utf-8"?>
<Entity parent="template_structure_defensive_tower_bolt">
<Footprint>
<Square width="10.0" depth="10.0"/>
<Height>15.0</Height>
</Footprint>
<Identity>
<Civ>spart</Civ>
<SpecificName>Pyrgíon</SpecificName>
</Identity>
<Obstruction>
<Static width="7.5" depth="7.5"/>
</Obstruction>
<StatusBars>
<HeightOffset>19.0</HeightOffset>
</StatusBars>
<VisualActor>
<Actor>structures/spartans/tower_bolt.xml</Actor>
</VisualActor>
</Entity>
@@ -0,0 +1,93 @@
<?xml version="1.0" encoding="utf-8"?>
<Entity parent="template_structure_defense_tower_stone">
<Attack>
<Ranged>
<Hack>0.0</Hack>
<Pierce>0.0</Pierce>
<Crush>200.0</Crush>
<MaxRange>100</MaxRange>
<MinRange>50</MinRange>
<Spread>3.0</Spread>
<PrepareTime>2000</PrepareTime>
<RepeatTime>12000</RepeatTime>
<ProjectileSpeed>439.0</ProjectileSpeed>
<PreferredClasses datatype="tokens">Human</PreferredClasses>
<Projectile>
<ImpactActorName>particle/destruction_dust_small.xml</ImpactActorName>
<ImpactAnimationLifetime>0.1</ImpactAnimationLifetime>
</Projectile>
<Splash>
<Shape>Circular</Shape>
<Range>8</Range>
<FriendlyFire>true</FriendlyFire>
<Hack>0.0</Hack>
<Pierce>00.0</Pierce>
<Crush>50.0</Crush>
</Splash>
</Ranged>
</Attack>
<Auras datatype="tokens">
structures/wall_garrisoned
</Auras>
<Footprint replace="">
<Circle radius="6.0"/>
<Height>15.0</Height>
</Footprint>
<BuildingAI>
<DefaultArrowCount>0</DefaultArrowCount>
<GarrisonArrowMultiplier>0.1</GarrisonArrowMultiplier>
<GarrisonArrowClasses>Infantry</GarrisonArrowClasses>
</BuildingAI>
<GarrisonHolder>
<Max>8</Max>
<List datatype="tokens">Ranged+Infantry</List>
<EjectHealth>0.1</EjectHealth>
<EjectClassesOnDestroy datatype="tokens">Unit</EjectClassesOnDestroy>
<BuffHeal>1</BuffHeal>
<LoadingRange>2</LoadingRange>
<VisibleGarrisonPoints>
<Archer1>
<X>3</X><Y>7</Y><Z>3</Z>
</Archer1>
<Archer2>
<X>3</X><Y>7</Y><Z>0</Z>
</Archer2>
<Archer3>
<X>3</X><Y>7</Y><Z>-3</Z>
</Archer3>
<Archer4>
<X>0</X><Y>7</Y><Z>3</Z>
</Archer4>
<Archer5>
<X>0</X><Y>7</Y><Z>-3</Z>
</Archer5>
<Archer6>
<X>-3</X><Y>7</Y><Z>3</Z>
</Archer6>
<Archer7>
<X>-3</X><Y>7</Y><Z>0</Z>
</Archer7>
<Archer8>
<X>-3</X><Y>7</Y><Z>-3</Z>
</Archer8>
</VisibleGarrisonPoints>
</GarrisonHolder>
<Identity>
<Civ>union</Civ>
<SpecificName>Union Blockhouse</SpecificName>
</Identity>
<Obstruction>
<Static width="7.5" depth="7.5"/>
</Obstruction>
<StatusBars>
<HeightOffset>21.0</HeightOffset>
</StatusBars>
<VisualActor>
<Actor>structures/union/blockhouse.xml</Actor>
</VisualActor>
<Sound>
<SoundGroups>
<attack_ranged>attack/siege/ram_attack_order.xml</attack_ranged>
</SoundGroups>
</Sound>
</Entity>
@@ -0,0 +1,90 @@
<?xml version="1.0" encoding="utf-8"?>
<Entity parent="template_structure_defensive_tower">
<Attack>
<Ranged>
<Damage>
<Pierce>55</Pierce>
<Crush>5</Crush>
</Damage>
<MaxRange>84</MaxRange>
<MinRange>15</MinRange>
<ElevationBonus>15</ElevationBonus>
<PrepareTime>500</PrepareTime>
<RepeatTime>4000</RepeatTime>
<Projectile>
<Speed>125.0</Speed>
<Spread>0.5</Spread>
<Gravity>49.81</Gravity>
<LaunchPoint y="3.2"/>
<ImpactActorName>props/units/weapons/tower_artillery_projectile_impact.xml</ImpactActorName>
<ImpactAnimationLifetime>0.1</ImpactAnimationLifetime>
</Projectile>
<Splash>
<Shape>Linear</Shape>
<Range>4</Range>
<FriendlyFire>false</FriendlyFire>
<Damage>
<Hack>0.0</Hack>
<Pierce>12.0</Pierce>
<Crush>0.0</Crush>
</Damage>
</Splash>
</Ranged>
</Attack>
<BuildingAI>
<DefaultArrowCount>1</DefaultArrowCount>
<GarrisonArrowMultiplier>0.2</GarrisonArrowMultiplier>
</BuildingAI>
<Cost>
<BuildTime>200</BuildTime>
<Resources>
<metal>100</metal>
<stone>200</stone>
</Resources>
</Cost>
<Footprint>
<Square width="10.0" depth="10.0"/>
<Height>15.0</Height>
</Footprint>
<GarrisonHolder>
<Max>5</Max>
</GarrisonHolder>
<Health>
<Max>1400</Max>
</Health>
<Identity>
<GenericName>Bolt Tower</GenericName>
<Tooltip>Shoots bolts. Faster reaction time against raiding units than the artillery tower, weak to all siege weapons and mass melee. Needs the murder holes tech to protect its foot.</Tooltip>
<Classes datatype="tokens">GarrisonTower</Classes>
<VisibleClasses datatype="tokens">City DefenseTower StoneTower</VisibleClasses>
<Icon>structures/tower_bolt.png</Icon>
<RequiredTechnology>phase_city</RequiredTechnology>
</Identity>
<Loot>
<wood>0</wood>
<stone>40</stone>
</Loot>
<Obstruction>
<Static width="7.0" depth="7.0"/>
</Obstruction>
<ProductionQueue>
<Technologies datatype="tokens">
tower_watch
tower_crenellations
tower_range
tower_murderholes
tower_armour
</Technologies>
</ProductionQueue>
<Sound>
<SoundGroups>
<attack_impact_ranged>attack/impact/javelin_impact.xml</attack_impact_ranged>
<attack_ranged>attack/weapon/bow_attack.xml</attack_ranged>
</SoundGroups>
</Sound>
<TerritoryInfluence>
<Root>false</Root>
<Radius>32</Radius>
<Weight>30000</Weight>
</TerritoryInfluence>
</Entity>