STRUCTURES

VILLAGE PHASE

Civic Centre (Village Centre=>Town Centre=>City Centre)

House

Farmstead

Field

Corral

Mill

Outpost

Wall

Tower

Gate (Upgrade)

TOWN PHASE

Dock




Market

Barracks

Temple

CITY PHASE

Fortress

<Entity Tag="Name of Entity." Parent="Entity's Parent."
   // It uses this Actor.
   <Actor
       primary="Primary Actor name."
   ></Actor>
   <Actions>
       // It can train/research these units and techs.
       <Create
           entitylist="List of entity tags it can train."
           techlist="List of tech tags it can research."
           construct="Modifier to the default rate of construction, if needed."
       ></Create>
       // This gives the Market a resource-trading interface.
       <Barter
           foodratio="1 (1:1 ratio for Food.)"
           woodratio="2 (2:1 ratio for Wood.)"
           stoneratio="2 2:1 ratio for Stone.)"
           oreratio="4 (4:1 ratio for Ore.)"
       ></Barter>
       // Gates have a Lock ability to lock the Gate open or closed.
       <Lock></Lock>
       </Actions>
   <Traits>
       <Id
           specific="Specific name of structure (civ version)."
           generic="Generic name of structure (class version)."
           civ="List of civilisations that can create this structure."
           civ_code="4-character codes of civilisations that can create this structure."
           class1="Primary class: structure."
           class2="Secondary class: eg norm."
           class3="Tertiary class: eg military."
           icon="Icon name for structure's portrait."
           rollover="Localised rollover text for GUI description."
           history="History paragraph for GUI description."
           type="Additional descriptor categories for structure."
           version="Version number."
           internal_only="false"
           type.structure="true"
           type ... etc
           (ranked, personal, personal1, and personal2 are presumably not used for structures, since they don't have random names or gain promotions)
       </Id>
       // It has this ability to resist damage.
       <Armour
           value="Armour value."
           crush="Crush percentage."
           hack="Hack percentage."
           pierce="Pierce percentage."
       ></Armour>
       // A couple of structures use Auras eg Mills create a Gather area, Temples heal.
       <Aura
           name="Name of the Aura (localised)."
           affects="List of entity tags or groups affected by this Aura."
           allegiance="List of player groups affected by this Aura."
           radius="Size of Aura range."
           time="Time target must stay in Aura before effect occurs."
           cooldown="Time to wait before starting the timer for another target."
           hitpoints="Target can't have more than this percentage of its hitpoints."
           duration="How long the effect will remain on the target once applied."
       ></Aura>
       // Specify the logic of the Aura effect under the condition that it occurs.
       <event on="AuraTime" ![CDATA[ 
           // Scripting goes here.
       ]]></event>
       // These are the constraints under which the structure can be built.
       <Creation
           costfood="How much Food it will cost to build."
           costore="How much Wood it will cost to build."
           coststone="How much Stone it will cost to build."
           costwood="How much Wood it will cost to build."
           phase="The player must upgrade to this phase before he can build it."
           req="List of other entities that must be created before he can build it."
           time="Time it takes to build it."
           distance="Structure cannot be built further than this distance from another player structure (used in certain game modes)."
           limit="Player cannot have more than this number of this structure per Civ Centre."
           location="The structure can only be built upon an entity of this type (eg Civ Centre on Settlement). They should have the same footprint size."
           zvariance="Degree of terrain height variance permissible for the structure to be built at this location."
           paintplacement="If true, a placement footprint cursor appears and a valid location must be selected before creation can commence."
           buildclear="If true, clears all entities in the footprint when entity is placed."
           flattensterrain="If true, when placed, this entity flattens the terrain it sits on."
           placeanywhere="If true, ignores collision boundaries and can be built on anything."
       ></Creation>
       // Units can be garrisoned and propped.
       <Garrison
           list="List of entity types that can garrison."
           capacity="Number of entities that can garrison."
           ejecthealth="All entities ungarrisoned and no more can be garrisoned until repaired if the structure is damaged to this percentage."
           proppoints="List of prop nodes in the model that entities can occupy to be visible when garrisoned."
           proplist="List of entities that can appear at prop points."
           autogarrison="List of entity types that will garrison in this entity when Town Bell is rung."
       ></Garrison>
       // Specify the effects applied to garrisoned units.
       <event on="GarrisonEnter" ![CDATA[ 
              // Regeneration rate is increased +1.
              ev.target.health.regen++;
       ]]></event>
       <event on="SocketEnter" ![CDATA[ 
           // If garrisoned unit is at a prop point,
              // His LOS and attack range is +1.
              ev.target.traits.vision.los++;
              ev.target.traits.attack.range++;
              // His armour is +2.
              ev.target.traits.armour.value = ev.target.traits.armour.value+2;
       ]]></event>
       // Occurs when structure is ungarrisoned.
       <event on="GarrisonEmpty" ![CDATA[
              // Reduce current hitpoints until structure is regarrisoned or destroyed.
              ev.entity.traits.health.hpcurr--;
       ]]></event>
       // Structure can take this much damage.
       <Health
           curr="Structure's current hitpoints."
           hitpoints="Structure's maximum hitpoints."
           decay="Rate of hitpoint decay."
           vacant="Hitpoints decay if left unattended for this time."
           nohpbar="If true, no hitpoint bar."
       ></Health>
       // Quantity of resources received in plunder when destroying this structure.
       <Loot
           food="Resources received in plunder."
           wood="Resources received in plunder."
           stone="Resources received in plunder."
           ore="Resources received in plunder."
           up="Number of upgrade points to give when destroyed."
       ></Loot>
       // How is this structure represented on the Mini-Map? 
       <MiniMap
           red="Minimap RGB red value."
           green="Minimap RGB green value."
           blue="Minimap RGB blue value."
           class="Minimap class (typically Structure)."
       ></MiniMap>
       // How much housing the structure adds to population limit.
       <Population
           add="Number of housing points to add to Population Limit."
       ></Population>
       // Quantity of contained resources for eg Fields.
       <Supply
           curr="Current supply."
           supply="Maximum quantity of Supply."
           initial="Initial supply when first created (if doesn't start at max)."
           regen="Rate of supply regeneration."
           type="Supply resource."
           subtype="Subtype of supply resource, if appropriate."
           decay="Rate of supply decay."
           vacant="Supply decays if left unattended for this time."
           lootondeath="Percentage of current supply is added to Resource Pool of destroyer."
       ></Supply>
       // Structures don't tend to transform into others, but can earn others upgrade points when destroyed.
       <Transform
           newentity="Entity name of other structure to become."
           food="Amount of Food to upgrade to new entity."
           wood="Amount of Wood to upgrade to new entity."
           stone="Amount of Stone to upgrade to new entity."
           ore="Amount of Ore to upgrade to new entity."
           time="Amount of Time to upgrade to new entity."
           req="List of required entities to upgrade to new entity."
           phase="Phase required to upgrade to new entity."
       ></Transform>
       // The structure's visibility.
       <Vision
           LOS="1"
       ></Vision>
   </Traits>
></Entity>
Note: See TracWiki for help on using the wiki.