-
Notifications
You must be signed in to change notification settings - Fork 82
Implementation Guidelines
-
ONE ENTRY: There should only be one entry in a catalogue for an entity wherever possible. If your entity is used more than once, create a shared version and link to it. This does not apply to profiles and rules entries. It makes no difference on performance if it is shared and not all similarly named abilities have the same rules.
-
ONE CORE RULE: "Fluff" text can optionally be removed from any profile entry. Only the text which has an actual gameplay impact needs to be included. Additionally, any reference to "above" or "below" in reference to the location of additional information for the profile should be amended appropriately.
-
Each catalogue MUST have an "Allegiance" SSE which is min1/max1 in Force. This entry should contain a SGE (min1/max1 in Parent) containing SEs for all Allegiances available in the Catalogue. This list should include both Allegiances which have a specific entry in a published book and those which are only specified in the GHB2017 as triggering units to switch Battlefield Role. For example, the THUNDERSCORN Allegiance for Chaos does not have an entry listing Command Traits etc., but triggers switching Dragon Ogors to Battleline, so it must be included in the Allegiance list.
This list may have a default of "<GRAND ALLIANCE>" or may have a default of the primary Allegiance for the catalogue. (e.g. Seraphon, Tzeentch, Sylvaneth, or Khorne)
-
Each catalogue must have a "General" SSE which has a Max 1 in Parent constraint and the "General" category from the GST. This should be linked to units for which it is required to enable functionality, such as switching Battlefield Roles on Unit A if you select Unit B as the General. In this case, the "General" SSE should be linked to Unit B.
-
Unit/Model entries should be created as Shared Selection Entries with the Unit type. KEYWORD Categories should be applied to this entry and no Primary Category should be assigned. These entries should never be hidden.
-
In order for Ally point restrictions to function correctly, the top level SSE needs to be correctly valued.
If the SSE is for a Unit, it should initially have the minimum size unit point cost. The Unit cost should be decremented to 0 if there are greater than 0 selections of the model increment and then incremented on repeat for each selection of the model increment.
If the SSE is for a model (or 'Single Model Unit'), it should have the model point cost and no model increment SE is required.
When creating 'Leader' units that can be the General and have Command Traits and Artefacts, ensure that they are linked at the SSE root level for the model as indicated in the example above.
-
Further to the above, model count increments MUST be Upgrades with a 0 point cost with appropriate min/max in Parent constraints.
-
The following Profile types should be added at the Unit level:
- Unit
- Magic
- Prayers
- Spells
- Unit Abilities (which include Unit leader entries)
- Command Abilities
- Damage Table
-
Any reference to a KEYWORD in profile text should be in ALL CAPITALS.
-
Unit Abilities should be added as Profiles at the unit level, unless they are associated with a Weapon.
-
Abilities which have a table (or, in the opinion of the data author, are best presented in a table) should have a custom Profile type. The Profile Type should be named with a Characteristic Type appropriate to the Ability (Effect, Benefit, etc.). Profiles should have 1 entry for the main Ability text, plus N other entries named after the effects.
If the Ability relies on a dice roll, "- DICE Roll" should be appended to the Profile Type name, e.g. "Peal of Doom - 2D6 roll". When adding the profiles to the unit, add a entry named "-" with the main text of the Ability, then numbered entries for each numbered effect. In order to maintain ordering on 2D6 tables, numbers will need to be prefixed with 0.
-
Weapon entries should be Selection Entries within a unit with an associated profile. Any Unit Abilities associated with the weapon should also be added to the Weapon Selection Entry.
-
Weapon Profile characteristics which refer to a Unit Ability or to the unit's damage table should be entered as an asterisk (*).
-
Weapon choice should be an SGE (min1/max1 in Parent) on the unit containing SEs or SSEs for each weapon choice. Weapons and Unit Abilities which depend on weapon choice should be attached to the individual SEs except where a Weapon Profile is the same for all choices, in which case it can be added at the Unit level.
- Optional selections (Banner Bearers, Musicians, etc) should be an SSE with a maxN in Parent constraint and associated Profile with the Unit Abilities type.
-
Single Spells should be added as min1/max1 SEs with an attached Spell Profile. Arcane Bolt and Mystic Shield have been added to the GST and should be added as Entry Links on the Unit.
Where Units can select from a list of spells, the spell list should be created as an SSEG with SSEs and Profiles for each spell. This SSEG should be added to the Unit via an Entry Link and have a maxN constraint based on the Unit's Magic entry.
-
Where a unit confers a Spell upon WIZARDS, the Spell Selection Entry should be added to the source unit. In addition, a Unit Abilities Profile should be added with the name "Magic" and the details of which units can use the spell.
-
Details of how a model/unit activates prayers/blessings should be added as a "Unit Abilities" Profile.
-
Single Prayers should be added as min1/max1 SSEs with an attached Prayer Profile.
Where Units can select from a list of prayers/blessings, the list should be created as an SSEG with SSEs and Profiles for each prayer/blessing. This SSEG should be added to the Unit via an Entry Link.
-
Keywords should be added as Categories on the unit SSE.
Due to a BS "quirk", Categories appear in the order by which they were added to the unit. If you want to replicate the book ordering, you need to add your Keyword Categories in that order.
Category entries for Keywords should be in CAPITALS.
The following shared Keywords have been added to the GST and these should be used in preference to local ones.
- CREW
- DAEMON
- HERO
- MONSTER
- PRIEST
- TOTEM
- WAR MACHINE
- WIZARD
-
If a model/unit has characteristics and/or abilities which change based on a selection on the unit, conditional modifiers should be used to change the unit's characteristics and make abilities visible based on that selection.
-
Most units will have one RSE, this "Standard" RSE would be for units that never change their battlefield role. Units which would only need the one RSE would include units with the following Primary Battlefield roles:
- Leader
- Other
- Behemoth
- Artillery
-
Units that have a Primary Battlefield role of "Battleline" in the PBF list and that do not switch role based on Allegiance or Allegiance and General will require two RSEs (e.g. Zombies, Pink Horrors, Kairic Acolytes). Their "Standard" or "Battleline Role" RSE would be for when they are in their "Battleline Role" and an "Other" RSE for when they are being used as an Ally. These units should follow the '"Battleline" Primary Category "Standard" RSE' guidelines below.
-
Units which switch Battlefield Role based on Allegiance or Allegiance and General choice will have a modified "Battleline" (Primary Selection) RSE for when they are in their switched role, and an "Other" (or their "Standard") RSE for when they do not meet the requirements. These units should follow the "Battlefield Role Switch" RSE guidelines below.
-
All constraints in the below entries should have "And all child selections" checked.
- The standard RSE should have a Primary Category which is the unit's default Battlefield role. This is "Other" if the Battlefield Role column in the published PBF list containing the unit is blank. This unit will have no 'hide' modifiers required.
-
The "Battleline" (Primary Category) or "Standard" RSE must be set to 'Hidden' "If Ancestor = Instance of "Allies" (NOTE: All 3 of the 'Allies' references for the three Pitched Battle force types must be validated against.) This hides the Battleline selection when selected as part of an 'Allied' force.
-
The "Other" RSE must be set to 'Hidden' if Ancestor != Instance of "Allies) (NOTE: All 3 of the 'Allies' references for the three Pitched Battle force types must be validated against.) (This hides the "Other" role when part of the Main Force.)
This section only applies to units which switch battlefield role based on Allegiance or Allegiance and General choice.
-
Units should have the Primary category of Other if they are only Battlefield in certain circumstances.
-
There should be a modifier at root level of the unit to "set primary Category on Battleline" with the correct criteria added below. This should be set on the unit itself, not on any links to the item.
TO BE DONE
If appropriate, each catalogue must have a "container SSEG" named "Command Traits". This SSEG should contain a link to the Grand Alliance Command Trait SSEG, and 1+ links to Allegiance Command Trait SSEGs.
Allegiance SSEGs should be hidden when the appropriate Allegiance (and other requirements, if any) are not chosen, and if a GA Trait or Artefact is chosen.
Command Trait container SSEG
Allegiance Command Traits should be implemented as an SSEG (with a max 1 in Parent constraint) containing an SE for each Trait, which should be named to include the dice roll required to select it, e.g. "1. TRAIT NAME". Each SE should contain a "Command Trait" type profile entry with the text of the trait. The profile entry should omit the dice roll for nicer formatting in the output.
Grand Alliance Command Traits should follow the same pattern as above, but the SSEG should be kept in the GST rather than in a particular catalogue.
-
Each catalogue should have a main "Artefacts" SSEG which is Max 1 in Parent.
-
Each Allegiance's Artefacts should be created in an SSEG which is then linked into the main SSEG and hidden if the Allegiance is not selected.
Allegiance Artefact SSEGs
-
Allegiance Artefact SSEGs may require additional restrictions based on unit category.
-
Each Artefact should be a numbered SE within the Allegiance SSEG. This SE should have the Artefact category to ensure ensure that restrictions on the number of Artefacts in the Roster are enforced.
-
Each SE should have an "Artefact"-type profile, which does not inherit the numbering from the SE.
-
Battle Traits should be added as "Battle Trait" profiles to the relevant Allegiance SE.
SE - Selection Entry
SSE - Shared Selection Entry
SGE - Selection Group Entry
SSEG - Shared Selection Entry Group
RSE - Root Selection Entry
GA - Grand Alliance
GHB2017 - General's Handbook 2017