Mercurial > repos > IBDev-IBBoard.WarFoundry.API
view dtds/race.dtd @ 6:150a5669cd7b
Re #9 - more granular loading
* Remove SystemStatsSet class so that other classes don't know the internals of how GameSystem stores its stats (cleaner code principle)
* Make XML loader each stats set and add to the game system
* Add methods to GameSystem to remove use of SystemStatsSet and hide internal handling
* Add methods to add SystemStats to GameSystem
author | IBBoard <dev@ibboard.co.uk> |
---|---|
date | Sun, 04 Jan 2009 12:13:59 +0000 |
parents | 163b35f875ef |
children |
line wrap: on
line source
<!ELEMENT race (units,categories?,equipment?, abilities?)> <!ELEMENT categories (cat+)> <!ELEMENT cat EMPTY> <!ELEMENT units (unit+)> <!ELEMENT unit (unitCats,stats,unitEquipment,requires?,exclusiveOf?,champions?,specialItems?,attachable?,additionalMembers?)> <!ELEMENT unitCats (unitCat+)> <!ELEMENT unitCat EMPTY> <!ELEMENT stats (stat+)> <!ELEMENT stat (#PCDATA)> <!ELEMENT unitEquipment (unitEquipmentItem*)> <!ELEMENT unitEquipmentItem EMPTY> <!ELEMENT requires (required+)> <!ELEMENT required EMPTY> <!ELEMENT exclusiveOf (exclusive+)> <!ELEMENT exclusive EMPTY> <!ELEMENT champions (champion+)> <!ELEMENT champion EMPTY> <!ELEMENT specialItems (specialItem+)> <!ELEMENT specialItem EMPTY> <!ELEMENT attachable (attachableUnit+)> <!ELEMENT attachableUnit EMPTY> <!ELEMENT additionalMembers (additionalMember+)> <!ELEMENT additionalMember EMPTY> <!ELEMENT equipment (equipmentItem*)> <!ELEMENT equipmentItem (stats?)> <!ELEMENT abilities (ability?)> <!ELEMENT ability (description,requirements)> <!ELEMENT description (#PCDATA)> <!ELEMENT requirements (requirement*)> <!ELEMENT requirement (#PCDATA)> <!ATTLIST race id ID #REQUIRED> <!ATTLIST race subid CDATA ""> <!ATTLIST race system CDATA #REQUIRED> <!ATTLIST race name CDATA #REQUIRED> <!ATTLIST cat id ID #REQUIRED> <!ATTLIST cat name CDATA #REQUIRED> <!ATTLIST cat minimum CDATA #REQUIRED> <!ATTLIST cat maximum CDATA #REQUIRED> <!ATTLIST cat baseValue CDATA #IMPLIED> <!ATTLIST cat incValue CDATA #IMPLIED> <!ATTLIST cat incAmount CDATA #IMPLIED> <!ATTLIST unit id ID #REQUIRED> <!ATTLIST unit typeName CDATA #REQUIRED> <!ATTLIST unit cat CDATA #REQUIRED> <!ATTLIST unit unitPoints CDATA "0"> <!ATTLIST unit points CDATA #REQUIRED> <!ATTLIST unit race CDATA ""> <!ATTLIST unit minNum CDATA "0"> <!ATTLIST unit maxNum CDATA "-1"> <!ATTLIST unit minSize CDATA "5"> <!ATTLIST unit maxSize CDATA "-1"> <!ATTLIST unit baseSize CDATA "0"> <!ATTLIST unitCat catID CDATA #REQUIRED> <!ATTLIST unitCat catCost CDATA "1"> <!ATTLIST stats statSet CDATA ""> <!ATTLIST stat name CDATA #REQUIRED> <!ATTLIST unitEquipmentItem id CDATA #REQUIRED> <!ATTLIST unitEquipmentItem required (true|false) "false"> <!ATTLIST unitEquipmentItem exclusivityGroup CDATA ""> <!ATTLIST unitEquipmentItem roundDirection (up|down) "up"> <!ATTLIST equipmentItem id ID #REQUIRED> <!ATTLIST equipmentItem name CDATA #REQUIRED> <!ATTLIST equipmentItem cost CDATA #REQUIRED> <!ATTLIST equipmentItem min CDATA "-1"> <!ATTLIST equipmentItem max CDATA "-1"> <!ATTLIST equipmentItem armourType (None|Shield|LightArmour|LightArmourShield|HeavyArmour|HeavyArmourShield|Barding|BardingShield|BardingLightArmour|BardingLightArmourShield|BardingHeavyArmour|BardingHeavyArmourShield) "None"> <!ATTLIST ability id ID #REQUIRED> <!ATTLIST ability name CDATA #REQUIRED>