NOTES

STRUCTURES

STARTING STRUCTURE

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

VILLAGE PHASE

House

Farmstead

Field

Corral

Mill

Outpost

Palisade Wall

Palisade Joint

Palisade Gate (Upgrade)

TOWN PHASE

Dock

Market

Barracks

Temple

Defense Tower

Wall

Wall Turret

City Gate (Upgrade)

Civic Centre

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.