1
1
forked from 0ad/0ad

Add trading posts and shrines as map props

Add a placement obstructor (idea by @Grapjas) to prevent  construction
but not movement

This was SVN commit r25559.
This commit is contained in:
Stan 2021-05-25 11:32:07 +00:00
parent 92a4fdc8e4
commit 20bb3ea4a3
13 changed files with 401 additions and 35 deletions

Binary file not shown.

View File

@ -0,0 +1,43 @@
<?xml version="1.0" encoding="utf-8"?>
<Entity>
<BuildRestrictions>
<Territory>own neutral ally</Territory>
</BuildRestrictions>
<Footprint>
<Square width="24.0" depth="25.0"/>
<Height>8.0</Height>
</Footprint>
<Health disable=""/>
<Identity>
<VisibleClasses datatype="tokens">
Shrine
</VisibleClasses>
<Undeletable>true</Undeletable>
</Identity>
<Obstruction>
<Static width="20" depth="21"/>
</Obstruction>
<ProductionQueue>
<Entities datatype="tokens">
-units/{civ}/support_healer_b
units/{native}/support_healer_e
</Entities>
<Technologies datatype="tokens">
-heal_range
-heal_range_2
-heal_rate
-heal_rate_2
-garrison_heal
-health_regen_units
</Technologies>
</ProductionQueue>
<StatusBars>
<HeightOffset>15.0</HeightOffset>
</StatusBars>
<Resistance replace=""/>
<TerritoryDecay disable=""/>
<TerritoryInfluence disable=""/>
<VisualActor>
<FoundationActor>structures/fndn_4x4.xml</FoundationActor>
</VisualActor>
</Entity>

View File

@ -1,34 +1,25 @@
<?xml version="1.0" encoding="utf-8"?>
<Entity parent="template_structure_economic_market">
<Capturable>
<CapturePoints>500</CapturePoints>
</Capturable>
<Footprint>
<Square width="26.0" depth="26.0"/>
<Height>8.0</Height>
</Footprint>
<Health>
<SpawnEntityOnDeath>rubble/rubble_stone_4x4</SpawnEntityOnDeath>
</Health>
<Identity>
<GenericName>Desert Trading Post</GenericName>
<SpecificName>Ardatašta</SpecificName>
</Identity>
<Obstruction>
<Static width="24.0" depth="24.0"/>
</Obstruction>
<ProductionQueue>
<Technologies datatype="tokens">
-trader_health
-trade_gain_01
-trade_gain_02
-trade_commercial_treaty
</Technologies>
</ProductionQueue>
<TerritoryDecay disable=""/>
<TerritoryInfluence disable=""/>
<VisualActor>
<Actor>structures/persians/market.xml</Actor>
<FoundationActor>structures/fndn_5x5.xml</FoundationActor>
</VisualActor>
</Entity>
<?xml version="1.0" encoding="utf-8"?>
<Entity>
<Capturable>
<CapturePoints>500</CapturePoints>
</Capturable>
<Health disable=""/>
<Identity>
<GenericName>Trading Post</GenericName>
<Undeletable>true</Undeletable>
</Identity>
<ProductionQueue>
<Technologies datatype="tokens">
-trader_health
-trade_gain_01
-trade_gain_02
-trade_commercial_treaty
</Technologies>
</ProductionQueue>
<Resistance replace=""/>
<TerritoryDecay disable=""/>
<TerritoryInfluence disable=""/>
<VisualActor>
<FoundationActor>structures/fndn_5x5.xml</FoundationActor>
</VisualActor>
</Entity>

View File

@ -0,0 +1,48 @@
<?xml version="1.0" encoding="utf-8"?>
<Entity>
<AIProxy/>
<Footprint>
<Square width="38.5" depth="7.0"/>
<Height>9.0</Height>
</Footprint>
<Obstruction>
<Active>true</Active>
<BlockMovement>false</BlockMovement>
<BlockPathfinding>false</BlockPathfinding>
<BlockFoundation>true</BlockFoundation>
<BlockConstruction>true</BlockConstruction>
<DeleteUponConstruction>false</DeleteUponConstruction>
<DisableBlockMovement>false</DisableBlockMovement>
<DisableBlockPathfinding>false</DisableBlockPathfinding>
<Static width="37.0" depth="6.0"/>
</Obstruction>
<Ownership/>
<Position>
<Altitude>0</Altitude>
<Anchor>upright</Anchor>
<Floating>false</Floating>
<FloatDepth>0.0</FloatDepth>
<TurnRate>6.0</TurnRate>
</Position>
<Selectable>
<Overlay>
<Outline>
<LineTexture>outline_border.png</LineTexture>
<LineTextureMask>outline_border_mask.png</LineTextureMask>
<LineThickness>0.4</LineThickness>
</Outline>
</Overlay>
</Selectable>
<Visibility>
<RetainInFog>true</RetainInFog>
<AlwaysVisible>false</AlwaysVisible>
<Corpse>false</Corpse>
<Preview>false</Preview>
</Visibility>
<VisualActor>
<Actor>structures/hellenes/wall_long.xml</Actor>
<SilhouetteDisplay>false</SilhouetteDisplay>
<SilhouetteOccluder>false</SilhouetteOccluder>
<VisibleInAtlasOnly>true</VisibleInAtlasOnly>
</VisualActor>
</Entity>

View File

@ -0,0 +1,20 @@
<?xml version="1.0" encoding="utf-8"?>
<Entity parent="template_structure_civic_temple">
<Footprint>
<Square width="30.0" depth="33.0"/>
</Footprint>
<Health>
<SpawnEntityOnDeath>decay|rubble/rubble_stone_6x6</SpawnEntityOnDeath>
</Health>
<Identity>
<Civ>ptol</Civ>
<SpecificName>Naos</SpecificName>
</Identity>
<Obstruction>
<Static width="27.0" depth="30.0"/>
</Obstruction>
<VisualActor>
<Actor>structures/ptolemies/temple_2.xml</Actor>
<FoundationActor>structures/fndn_7x8.xml</FoundationActor>
</VisualActor>
</Entity>

View File

@ -0,0 +1,10 @@
<?xml version="1.0" encoding="utf-8"?>
<Entity parent="shrine|template_structure_civic_temple">
<Identity>
<Civ>ptol</Civ>
<GenericName>Sanctuary Kiosk</GenericName>
</Identity>
<VisualActor>
<Actor>structures/ptolemies/kiosk.xml</Actor>
</VisualActor>
</Entity>

View File

@ -0,0 +1,18 @@
<?xml version="1.0" encoding="utf-8"?>
<Entity parent="shrine|template_structure_civic_temple">
<Footprint replace="">
<Circle radius="12.0"/>
<Height>18.0</Height>
</Footprint>
<Identity>
<Civ>rome</Civ>
<GenericName>Temple of Healing</GenericName>
<SpecificName>Aedēs Sanitatem</SpecificName>
</Identity>
<Obstruction>
<Static width="19.0" depth="19.0"/>
</Obstruction>
<VisualActor>
<Actor>structures/romans/temple_vesta.xml</Actor>
</VisualActor>
</Entity>

View File

@ -0,0 +1,10 @@
<?xml version="1.0" encoding="utf-8"?>
<Entity parent="shrine|template_structure_civic_temple">
<Identity>
<Civ>kush</Civ>
<GenericName>Shrine</GenericName>
</Identity>
<VisualActor>
<Actor>structures/kushites/shrine.xml</Actor>
</VisualActor>
</Entity>

View File

@ -0,0 +1,64 @@
<?xml version="1.0" encoding="utf-8"?>
<Entity parent="template_structure_special">
<BuildRestrictions>
<Territory>own neutral enemy</Territory>
</BuildRestrictions>
<Capturable>
<CapturePoints>25</CapturePoints>
<RegenRate>0</RegenRate>
<GarrisonRegenRate>5</GarrisonRegenRate>
</Capturable>
<Cost>
<BuildTime>20</BuildTime>
<Resources>
<wood>50</wood>
</Resources>
</Cost>
<Footprint>
<Square width="12.0" depth="11.0"/>
<Height>5.0</Height>
</Footprint>
<GarrisonHolder>
<Max>5</Max>
<EjectHealth>0.1</EjectHealth>
<EjectClassesOnDestroy datatype="tokens">Unit</EjectClassesOnDestroy>
<List datatype="tokens">Support Infantry</List>
<BuffHeal>0</BuffHeal>
<LoadingRange>2</LoadingRange>
</GarrisonHolder>
<Health>
<Max>100</Max>
<SpawnEntityOnDeath>decay|rubble/rubble_stone_3x3</SpawnEntityOnDeath>
</Health>
<Identity>
<Civ>rome</Civ>
<SpecificName>Desert Army Tent</SpecificName>
<GenericName>Tent</GenericName>
<Icon>structures/mercenary_camp.png</Icon>
<VisibleClasses datatype="tokens">Tent</VisibleClasses>
<Tooltip>A temporary shelter for soldiers. +5 population bonus.</Tooltip>
</Identity>
<Obstruction>
<Static width="10.0" depth="10.0"/>
</Obstruction>
<Population>
<Bonus>5</Bonus>
</Population>
<Sound>
<SoundGroups>
<select>interface/select/building/sel_universal.xml</select>
<constructed>interface/complete/building/complete_universal.xml</constructed>
<death>attack/destruction/building_collapse_large.xml</death>
</SoundGroups>
</Sound>
<StatusBars>
<HeightOffset>6.0</HeightOffset>
</StatusBars>
<TerritoryDecay>
<DecayRate>1</DecayRate>
</TerritoryDecay>
<TerritoryInfluence disable=""/>
<VisualActor>
<Actor>structures/tent_big.xml</Actor>
</VisualActor>
</Entity>

View File

@ -0,0 +1,64 @@
<?xml version="1.0" encoding="utf-8"?>
<Entity parent="template_structure_special">
<BuildRestrictions>
<Territory>own neutral enemy</Territory>
</BuildRestrictions>
<Capturable>
<CapturePoints>25</CapturePoints>
<RegenRate>0</RegenRate>
<GarrisonRegenRate>5</GarrisonRegenRate>
</Capturable>
<Cost>
<BuildTime>20</BuildTime>
<Resources>
<wood>50</wood>
</Resources>
</Cost>
<Footprint>
<Square width="9.0" depth="9.0"/>
<Height>5.0</Height>
</Footprint>
<GarrisonHolder>
<Max>5</Max>
<EjectHealth>0.1</EjectHealth>
<EjectClassesOnDestroy datatype="tokens">Unit</EjectClassesOnDestroy>
<List datatype="tokens">Support Infantry</List>
<BuffHeal>0</BuffHeal>
<LoadingRange>2</LoadingRange>
</GarrisonHolder>
<Health>
<Max>100</Max>
<SpawnEntityOnDeath>decay|rubble/rubble_stone_3x3</SpawnEntityOnDeath>
</Health>
<Identity>
<Civ>rome</Civ>
<SpecificName>Macedonian Army Tent</SpecificName>
<GenericName>Tent</GenericName>
<Icon>structures/mercenary_camp.png</Icon>
<VisibleClasses datatype="tokens">Tent</VisibleClasses>
<Tooltip>A temporary shelter for soldiers. +5 population bonus.</Tooltip>
</Identity>
<Obstruction>
<Static width="8.0" depth="8.0"/>
</Obstruction>
<Population>
<Bonus>5</Bonus>
</Population>
<Sound>
<SoundGroups>
<select>interface/select/building/sel_universal.xml</select>
<constructed>interface/complete/building/complete_universal.xml</constructed>
<death>attack/destruction/building_collapse_large.xml</death>
</SoundGroups>
</Sound>
<StatusBars>
<HeightOffset>6.0</HeightOffset>
</StatusBars>
<TerritoryDecay>
<DecayRate>1</DecayRate>
</TerritoryDecay>
<TerritoryInfluence disable=""/>
<VisualActor>
<Actor>structures/tent_greek.xml</Actor>
</VisualActor>
</Entity>

View File

@ -0,0 +1,64 @@
<?xml version="1.0" encoding="utf-8"?>
<Entity parent="template_structure_special">
<BuildRestrictions>
<Territory>own neutral enemy</Territory>
</BuildRestrictions>
<Capturable>
<CapturePoints>25</CapturePoints>
<RegenRate>0</RegenRate>
<GarrisonRegenRate>5</GarrisonRegenRate>
</Capturable>
<Cost>
<BuildTime>20</BuildTime>
<Resources>
<wood>50</wood>
</Resources>
</Cost>
<Footprint>
<Square width="11.0" depth="11.0"/>
<Height>5.0</Height>
</Footprint>
<GarrisonHolder>
<Max>5</Max>
<EjectHealth>0.1</EjectHealth>
<EjectClassesOnDestroy datatype="tokens">Unit</EjectClassesOnDestroy>
<List datatype="tokens">Support Infantry</List>
<BuffHeal>0</BuffHeal>
<LoadingRange>2</LoadingRange>
</GarrisonHolder>
<Health>
<Max>100</Max>
<SpawnEntityOnDeath>decay|rubble/rubble_stone_3x3</SpawnEntityOnDeath>
</Health>
<Identity>
<Civ>rome</Civ>
<SpecificName>Roman Army Tent</SpecificName>
<GenericName>Tent</GenericName>
<Icon>structures/mercenary_camp.png</Icon>
<VisibleClasses datatype="tokens">Tent</VisibleClasses>
<Tooltip>A temporary shelter for soldiers. +5 population bonus.</Tooltip>
</Identity>
<Obstruction>
<Static width="8.0" depth="8.0"/>
</Obstruction>
<Population>
<Bonus>5</Bonus>
</Population>
<Sound>
<SoundGroups>
<select>interface/select/building/sel_universal.xml</select>
<constructed>interface/complete/building/complete_universal.xml</constructed>
<death>attack/destruction/building_collapse_large.xml</death>
</SoundGroups>
</Sound>
<StatusBars>
<HeightOffset>6.0</HeightOffset>
</StatusBars>
<TerritoryDecay>
<DecayRate>1</DecayRate>
</TerritoryDecay>
<TerritoryInfluence disable=""/>
<VisualActor>
<Actor>props/structures/romans/rome_tent.xml</Actor>
</VisualActor>
</Entity>

View File

@ -0,0 +1,17 @@
<?xml version="1.0" encoding="utf-8"?>
<Entity parent="trading_post|template_structure_economic_market">
<Footprint>
<Square width="22.0" depth="22.0"/>
<Height>8.0</Height>
</Footprint>
<Identity>
<Civ>gaul</Civ>
<SpecificName>Celtic Tavern</SpecificName>
</Identity>
<Obstruction>
<Static width="20.0" depth="20.0"/>
</Obstruction>
<VisualActor>
<Actor>structures/celts/tavern.xml</Actor>
</VisualActor>
</Entity>

View File

@ -0,0 +1,17 @@
<?xml version="1.0" encoding="utf-8"?>
<Entity parent="trading_post|template_structure_economic_market">
<Footprint>
<Square width="26.0" depth="26.0"/>
<Height>8.0</Height>
</Footprint>
<Identity>
<Civ>pers</Civ>
<SpecificName>Desert Bazaar</SpecificName>>
</Identity>
<Obstruction>
<Static width="24.0" depth="24.0"/>
</Obstruction>
<VisualActor>
<Actor>structures/persians/market.xml</Actor>
</VisualActor>
</Entity>