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>