Changes between Version 6 and Version 7 of Development/FileFormatsExplained


Ignore:
Timestamp:
10/08/09 20:29:33 (10 years ago)
Author:
ibboard
Comment:

Complete race definition

Legend:

Unmodified
Added
Removed
Modified
  • Development/FileFormatsExplained

    v6 v7  
    3232=== <units> and <unit> ===
    3333
    34 The {{{<units>}}} tag is a container for {{{<unit>}}} tags. Unit tags define everything about a unit, including equipment, statistics, limits on the number of troops in the unit (min/maxSize), limits on the number of times the unit can be taken (min/maxNum), and other additional data.
     34The {{{<units>}}} tag is a container for {{{<unit>}}} tags. Unit tags define everything about a unit, including equipment, statistics, notes, and additional data. Attributes of the <unit> tag are:
     35
     36 * {{{id}}}: the unique (to the race) ID of the unit type
     37 * {{{typeName}}}: the name of the unit type that will be shown in unit selection lists
     38 * {{{cat}}}: the ID of the category that the unit belongs to
     39 * {{{minSize}}}/{{{maxSize}}}: limits on the number of troops in a single unit
     40 * {{{minNum}}}/{{{maxNum}}}: limits on the number of times the unit type can be taken
     41 * {{{unitPoints}}}: the base cost for the unit - some units (e.g. Dogs of War in Warhammer) may have a base cost for a set number of troopers
     42 * {{{baseSize}}}: the base size of the unit - these are the troopers that are accounted for in the unitPoints (normally zero)
     43 * {{{points}}}: the point cost per additional trooper above the baseSize
    3544
    3645==== <stats> and <stat> ====
     46
     47The {{{<stats>}}} tag is a container for {{{<stat>}}} tags. The <stats> tag has one optional attribute called "statSet" that provides the ID of the stats set to use. If it isn't defined then the stats are assumed to be for the Game System's default stat set, allowing most game systems to create races without ever using the statSet attribute. Each <stat> then references the name of the stat in the set that it represents (e.g. "M", "WS", "BS", etc) and contains the string value for that stat. Although many systems use numeric values, stats are treated as plain text because there is always an exception or two to the "stats are numbers" rule.
     48
     49==== <equipmentSlots> and <equipmentSlot> ====
     50
     51A new feature that is currently in development (ticket:198). Equipment slots represent the additional limited "special equipment" slots that a unit has, such as heavy weapons in Warhammer 40,000. These slots define limited groups of equipment at a finer level of granularity than mutex groups and can be combined with mutex groups for even more powerful combinations/restrictions.
     52
     53The {{{<equipmentSlots>}}} tag is a container for {{{<equipmentSlot>}}} tags. equipmentSlot tags currently define a name, limit number and limit type. The type is either an absolute number (e.g. "3") or the numerical part of a percentage (e.g. "50" for 50% with {{{isPercentage="true"}}}). If {{{isPercentage}}} isn't defined then an absolute number is assumed.
    3754
    3855==== <unitEquipment> and <unitEquipmentItem> ====
     
    4259 * {{{id}}} - the ID of the equipment item in the main list
    4360 * {{{required}}} - whether the item must be taken by the unit (e.g. swords for swordsmen)
    44  * {{{exclusivityGroup}}} - currently a single string, but will be multi-valued. Defines a "group" where only one item from the group can be taken at once
     61 * {{{exclusivityGroups}}} - a multi-valued string, split on comma (","). Defines a number of "groups" where only one item from the group can be taken at once
    4562 * {{{minNum}}}/{{{maxNum}}} - the minimum and maximum number of times an item can be taken by each instance of the unit
    4663 * {{{minPercentage}}}/{{{maxPercentage}}} - the minimum and maximum percentage of the unit who can be equiped with the item
     
    6683==== <extraData> and <data> ====
    6784
    68 Currently unused, but useful for a variety of purposes. Can contain additional notes (e.g. design text) or data used by requirement calculations.
     85Currently unused, but useful for a variety of purposes. May contain data used by requirement calculations.
     86
     87As an example, if the army has a "max units per category" restriction using a custom restriction plugin but a unit doesn't count towards the restriction then the unit may have a <data> tag with an ID of "units-per-category-count" and contain the value "0". This could then be parsed by the army restriction module and the unit wouldn't be counted towards the limit. Note: This differs from <requirements> because the <requirement> tag defines the requirements that apply to units of this type (e.g. "can only take three per unit of X"), where as the requirement in the example is on the army itself.
     88
     89==== <notes> ====
     90
     91Currently loaded but not yet displayed (ticket:196). Notes are a single block of text containing additional "design notes" that help people when selecting units but which aren't shown in the final army.
    6992
    7093=== <categories> ===
     
    86109 * {{{id}}} - the unique ID of the ability
    87110 * {{{name}}} - the name of the ability
    88 Details of the ability should be known by the user and available in the appropriate army definition
     111Details of the ability should be known by the user and available in the appropriate gaming source, but a {{{<description>}}} tag is provided for additional detail (currently unused/not displayed).
    89112
    90113== Armies ==