Changes between Initial Version and Version 1 of XML.Entity.Traits.ID


Ignore:
Timestamp:
Feb 23, 2008, 4:18:59 AM (16 years ago)
Author:
trac
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • XML.Entity.Traits.ID

    v1 v1  
     1These properties identify and classify an entity. Attributes include the unit's name, icon, class properties, tooltip rollover, historical information, and civilisation ownership.
     2
     3'''Example:'''
     4
     5{{{
     6        <Traits>
     7                <Id>
     8                        <Internal_Only />
     9 
     10                        <Generic>Infantry Spearman</Generic>
     11                        <Specific>Caldeer</Specific>
     12 
     13                        <Icon>sheet_civ</Icon>
     14                        <Icon_Cell>42</Icon_Cell>
     15 
     16                        <Classes>Unit, Infantry, Melee, Organic, CitizenSoldier, Male</Classes>
     17                        <Civ>Celts</Civ>
     18 
     19                        <Rollover>blah</Rollover>
     20                        <History>blah</History>
     21 
     22                        <Personal />
     23                </Id>
     24        </Traits>
     25}}}
     26----
     27
     28= Internal_Only =
     29''BRIEF DESCRIPTION ::'' Indicates that an XML file is an inheritable template or property container, and not an entity that will actually be usable in-game.
     30
     31Use this attribute for all templates, and leave it out for the lowest items in the hierarchy.
     32
     33= Generic =
     34''BRIEF DESCRIPTION ::'' General name.
     35
     36The general name of an entity is the name that takes the place of prominence in the user interface because the specific name is so foreign to the players.
     37
     38This general name is also a name that will need to be translated to the native language (localised).
     39
     40Examples:
     41
     42'''Structures'''
     43 * ''Civilian Centre''
     44 * ''House''
     45 * ''Farmstead''
     46 * ''Field''
     47 * ''Corral ''
     48 * ''Mill ''
     49 * ''Outpost''
     50 * ''Wall ''
     51 * ''Gate''
     52 * ''Wall Tower''
     53 * ''Scout Tower''
     54 * ''Dock''
     55 * ''Barracks''
     56 * ''Market''
     57 * ''Temple''
     58 * ''Fortress''
     59
     60'''Units'''
     61 * ''Infantry Swordsman''
     62 * ''Infantry Spearman''
     63 * ''Infantry Javelinist''
     64 * ''Infantry Slinger''
     65 * ''Infantry Archer''
     66 * ''Cavalry Swordsman''
     67 * ''Cavalry Spearman''
     68 * ''Cavalry Javelinist''
     69 * ''Cavalry Archer''
     70 * ''Female Citizen''
     71 * ''Healer''
     72 * ''Trader''
     73 * ''Onager''
     74 * ''Ballista''
     75 * ''Ram''
     76 * ''Merchantman''
     77 * ''Bireme''
     78 * ''Trireme''
     79 * ''Quinquereme''
     80 * ''Super Unit''
     81 * ''Hero''
     82
     83= Specific =
     84''BRIEF DESCRIPTION ::'' Specific Name.
     85
     86Every entity in the game will have a specific name.  That name will be its historical/ancient name that is linked to its civilisation.
     87
     88Since these will already use a regional language, they will not need to be localised.
     89
     90Because ranked units are separate entities, this also includes names given to units of higher rank. For example, a veteran "Hastus" might have the Specific Latin name "Versatus Hastus".
     91
     92= Icon =
     93''BRIEF DESCRIPTION ::'' Points to Icon.
     94
     95Subname of the icon used by the GUI for this entity's portrait.
     96
     97= Icon_Cell =
     98''BRIEF DESCRIPTION ::'' The element in a multi-icon portrait sheet where this entity's icon is stored.
     99
     100If the entity has this attribute, it expects the ''Id.Icon'' to contain multiple icon frames in a single image. This value indicates which cell in the sheet to use for this entity's icon (cells are read 1..x, left->right, top->bottom).
     101
     102= Classes =
     103''BRIEF DESCRIPTION ::'' A list of strings identifying the unit. These can be used to categorise the entity in various ways.
     104
     105'''Not yet implemented.'''  Class strings can be generated, but at time of writing aren't used for anything.
     106
     107Classes is a clever custom string that can be modified through inheritance. Each element is separated by a comma. When a value is specified, these elements are added to the Classes list, instead of overwriting the string with a replacement value. For example, if a parent has classes="class1, class2" and the child sets it to classes="class3, class4", these values are appended, resulting in a total Classes attribute for this entity of "class1, class2, class3, class4".
     108
     109To remove a class from the list, use a minus ("-") prefix. For example, '''classes="class1, -class2"''' adds "class1" and removes "class2" if it is in the list.
     110
     111The Classes string can be accessed in JS in an intelligent way. For example, '''if ( entity.hasClass( "some_class_id" ))''' will return success if the string exists in the list, without having to 'locate' through it to find that element.
     112
     113Class strings will be implemented only as needed (for example, for technologies that affect certain groups of units), but some likely categories include:
     114
     115 * ''Aqua'' = Vegetation on water.
     116 * ''Bow'' = Infantry Archer, Cavalry Archer.
     117 * ''Cavalry'' = This is a variation of a Citizen Soldier (units with economic and military capabilities) that rides on a beast or is pulled by a beast. All Cavalry Citizen Soldiers: Cavalry Swordsman, Cavalry Spearman, Cavalry Javelinist, Cavalry Archer.
     118 * ''Civic'' = Structures that 'serve the people'.
     119 * ''!CitizenSoldier'' = Land units that serves a dual economic and military role (split into Infantry Citizen Soldiers and Cavalry Citizen Soldiers): Infantry Swordsman, Infantry Spearman, Infantry Javelinist, Infantry Archer, Infantry Slinger, Cavalry Swordsman, Cavalry Spearman, Cavalry Javelinist, Cavalry Archer.
     120 * ''Defensive'' Defensive Structures: Outpost, Wall, Tower, Gate, (any Wall or Tower SBs).
     121 * ''Economic'' = Structures that promote an economy.
     122 * ''Fauna'' = These are animals. Some are sources of Food.
     123 * ''Flora'' = These are forms of vegetation. Vegetation on dry land.
     124 * ''Foot' = Non-mounted infantry, support and special infantry: Infantry Citizen Soldiers, Female Citizen, Healer, Super Infantry Unit, non-mounted Heroes.
     125 * ''Gaia'' = an entity that represents 'nature'.
     126 * ''!GaiaBuilding'' = A special building unique to Gaia (such as a Settlement).
     127 * ''Geo'' = Non-living. Inorganic. These are rocks, minerals and anything in nature that isn't 'alive'.
     128 * ''Hero'' = This is a legendary unit that is unique to a civilisation and has special powers. A significant figure from the civilisation's history: (all three Heroes for this civilisation).
     129 * ''Housing'' Housing Structures: Civilian Centre, House, Farmstead, Dock, Market, Temple, Fortress.
     130 * ''Infantry'' = This is a variation of a Citizen Soldier (units with economic and military capabilities) that walks on foot. All Infantry Citizen Soldiers: Infantry Swordsman, Infantry Spearman, Infantry Javelinist, Infantry Archer, Infantry Slinger.
     131 * ''Javelin'' = Infantry Javelinist, Cavalry Javelinist.
     132 * ''Mechanical'' = This unit is a mechanical weapon. A mechanical conveyance or weapon: Onager, Ballista, Ram, Merchantman, Bireme, Trireme, Quinquereme, Super Siege Unit (if applicable).
     133 * ''Melee'' = Units that fight in hand-to-hand combat, typically associated with hack attack. (All units with a melee weapon.)
     134 * ''Military'' = Structures that provide for the defense. Non-mechanical land units capable of attacking opposing units: Infantry Citizen Soldiers, Cavalry Citizen Soldiers, Super Units and Heroes.
     135 * ''Mineral'' = Typically a source of Ore.
     136 * ''Mounted'' = A "humanoid" unit that rides some kind of mount (horseback, camelback, donkey, animal drawn cart, elephant or chariot): Cavalry Citizen Soldiers, Super Cavalry Units, mounted Heroes.
     137 * ''Norm'' = This is a normal structure.  Some structures serve as training centres for units and gateways to researching of technologies.
     138 * ''Offensive'' Military Production Structures: Civilian Centre, Barracks, Dock, Fortress.
     139 * ''Organic'' = All units that aren't in the Mechanical category (basic and special infantry and cavalry, and support units).
     140 * ''Other'' = anything that isn't a Unit, Structure, or Gaia (eg a projectile).
     141 * ''!PhaseCity'' = City Phase Structures: Fortress, (any SBs).
     142 * ''!PhaseTown'' = Town Phase Structures: Barracks, Market, Temple, Dock.
     143 * ''!PhaseVillage'' = Village Phase Structures: Civilian Centre, House, Mill, Farmstead, Field, Corral, Outpost, Wall, Tower, Gate.
     144 * ''Plant'' = This is low lying vegetation. They're typically just eye candy.
     145 * ''Projectile'' = An airborne weapon that causes damage.
     146 * ''Ranged'' = Units that fight with missile weapons, typically associated with pierce attack. (All units with a ranged weapon.)
     147 * ''Resource'' = Any entity from which a resource may be collected. Or this is not a structure at all, but a resource that can be 'built' by a player (fields and corrals).
     148 * ''Rock'' = Typically a source of Stone.
     149 * ''Ship'' = Provide passage over waterways. Merchantman, Bireme, Trireme, Quinquereme.
     150 * ''Siege'' = Typically units whose purpose is the destruction of structures. Onager, Ballista, Land Ram.
     151 * ''Sling'' = Infantry Slinger.
     152 * ''Spear'' = Infantry Spearman, Cavalry Spearman.
     153 * ''Special'' = Anything that doesn't fit the above categories.
     154 * ''Stone'' (Civ-dependent; Structures constructed of stone).
     155 * ''Structure'' = an entity that doesn't move around, but may be controlled by the player.
     156 * ''!SuperUnit'' = This unit is unique to a civilisation and has special traits that make it unique and super. A particularly powerful, rare and expensive unit, typically unique to a civilisation, and more likely than most units to require unique content. Its closest relation would probably be the Ao(x) UU: Super Infantry Unit, Super Cavalry/Siege Unit.
     157 * ''Supply'' Resource Structures: Civilian Centre, Mill, Farmstead.
     158 * ''Support'' = These units do not have any military capabilities. Female Citizen, Healer, Trader.
     159 * ''Sword'' = Infantry Swordsman, Cavalry Swordsman.
     160 * ''Tower'' Tower Structures: Outpost, Tower, (any Tower SBs).
     161 * ''Trade'' = Trader, Merchantman.
     162 * ''Tree'' = This is tall vegetation. They're typically a source of Wood.
     163 * ''Unit'' = an entity that can move around and may be controllable by a player.
     164 * ''Wall''  = Wall Structures: Wall, (any Wall SBs).
     165 * ''!WarShip'' = A naval unit serving only a military purpose: Bireme, Trireme, Quinquereme.
     166 * ''Wood'' = (Civ-dependent; Structures constructed of wood).
     167 * ''Worker'' = Infantry Swordsman, Infantry Spearman, Infantry Javelinist, Infantry Archer, Infantry Slinger, Female Citizen.
     168
     169= Civ =
     170''BRIEF DESCRIPTION ::'' The name of the civilisation that owns this entity.
     171
     172This is the full civilisation name, and might need to be localised, depending on the language.
     173
     174An abbreviated four-character lower-case version of this property called '''civ_code''' is generated from JS when the entities are initialised, and used for internal reference to a civilisation.
     175
     176A 'civilisation' in a game is defined as a collection of common entities.  This civilisation is unique in its art, sounds, and gameplay when compared to other civilisations.  The basis of this uniqueness is historical research.
     177
     178Our ultimate goal is to feature the primary civilisations that existed between 500 B.C. and 500 A.D. (hence the title of ''0 A.D.'') The first release will focus on six civilisations spanning the first five hundred years of this millennial range:
     179 
     180 * The Carthaginians - Carthaginians - kart
     181 * The Celts - Celts - celt
     182  * Britons - Britons - brit
     183  * Gauls - Gauls - gaul
     184 * The Hellenic City States - Hellenes - hele
     185  * Athens - Athens - athe
     186  * Sparta - Spartans - spar
     187  * Macedonia - Macedonians - mace
     188 * The Iberians - Iberians - iber
     189 * The Persian Empire - Persians - pers
     190 * Pre-Imperial Rome - Romans - rome
     191
     192Britons, Gauls, Athens, Sparta, Macedonia are subsets of their respective parents.
     193
     194= History =
     195''BRIEF DESCRIPTION ::'' A paragraph of historical text about the unit.
     196
     197Displayed in the game's on-line manual. Will need to be localised.
     198
     199= Rollover =
     200''BRIEF DESCRIPTION ::'' Rollover text for GUI. Mouse selection.
     201
     202This is a text string that is displayed in the GUI info box.  This briefly covers the unit's purpose in the game, and then following that there will be information about what technologies can be used to improve the entity's statistics.
     203
     204This will need to be translated to ensure that players can read this information.
     205
     206= Personal =
     207''BRIEF DESCRIPTION ::'' Indicates that each instance of this unit should be given a random "personal name".
     208
     209'''Not yet implemented.'''  Personal tag is in use, but scripting to generate names still needs to be done.
     210
     211The generated name (if any) is stored in '''entity.traits.id.personal.name''', and is determined from various ID attributes such as the civilisation, the class of unit (organic, mechanical) and gender (male, female, none) indicated in the '''ID.Classes''' attribute. This information is used to select an appropriate text list of random first and second names for the appropriate categories.
     212
     213This could also be done with structures such as the Civilian Centre for random town name generation.