A detailed reference for the feature editor used in the Draw Steel Codex.
The Feature Editor is a powerful tool to create and modify features and abilities in the Compendium, on character and monster sheets, and on objects in the Draw Steel Codex. It combines a robust set of data fields in the user interface with GoblinScript to plug into the core functionality of the Codex to build many features without requiring knowledge of Lua.
This reference guide is intended to make answering the following questions easier:
What does this Field/Subfield/Attribute/Value do in the Context I am using it?
How does this Field/Subfield/Attribute/Value show up in GoblinScript?
Where Does This Field/Subfield/Attribute/Value show up in the Front End Game User Interface?
The Feature Editor is available in a variety of places in the Codex. When you open the Feature Editor you are creating a feature in the place you opened it, whether that be a class in the Compendium, the Add Custom Feature button on a character sheet, or the Edit button on a monster character sheet. Features created in the Compendium are available throughout a given campaign. Features created on an individual character or monster sheet are only available on the creature represented by that sheet.
Features can be copied from one location to another. You can create a feature on a single monster, copy it, and paste it into a monster in the Bestiary, and then that new feature will be included in every new instance of that monster you pull from the Bestiary going forward. You can also go the other way. You can copy a feature from a class in the Compendium and paste it into a character sheet. Copying or duplicating a similar existing feature is often a good way to get started creating a new feature because some of the work has already been done for you.
Though there are many ways to get there, here are the steps to some common paths:
Codex => Compendium => Kits => Plus Sign => Signature Ability
Codex => Compendium => Classes => Plus Sign => [Choose] Encounter or Level => Select Add Features => New Feature
Codex => Compendium => Ancestries => Plus Sign => Add Features => Choice => Add Option => Single Feature
Hero Character Sheet => Character => Features => Add Custom Feature
Monster Character Sheet => Character => Features => Edit [on specific feature]
It is generally safer to add to the Compendium or a character sheet rather than modify existing features. Especially for broadly applicable features in Global Rules, Standard Abilities, or even classes, changing them means changing them for your entire game. If you duplicate an ability and modify the copy the system treats them as two separate features which gives you the flexibility to hold on to the original feature, and experiment or adjust. You can even suppress the original if you prefer your version without risking losing that feature in your campaign.
There are a lot of components to a feature. Many components have subcomponents. Some subcomponents have subcomponents. To make the relationships and interactions between those components, and those components with the rest of the Codex, clearer we need to define some basic terminology that applies to the Feature Editor Reference Guide. Some of this terminology sounds like GoblinScript terminology, and GoblinScript shows up in a lot of places in the Feature Editor. For the purposes of this guide, when it talks about a GoblinScript field it will be explicitly stated. Further, GoblinScript fields will be stated as Subject.Field where possible so that it is clear where a field or value in the Feature Editor is being evaluated in a goblinscript.
| Term | Meaning |
|---|---|
| Element | A component of Feature Editor |
| Context | The element of the Codex or the Feature Editor that contains this element |
| Field | An element that contains a specific Subfield or Value |
| Subfield | An element contained in a Field that contains a Value or another subfield; is a value for a given Field or subfield |
| Attribute | A characteristic of a Field or Subfield; some attributes are required, some are optional |
| Value | A specific instance of a Field or Subfield; a piece of data the system uses in a feature |
| Sheet | Text record of all characteristics, features, and abilities of an entity in the game available on front end (character, monster, object) |
| User | A player or director using the Codex |
| Number of Values Allowed | Fields (and Subfields) that contain subfields can take 1 value or many values. In cases where they take many values, there typically needs to be an instance of the field or subfield for each value included. Fields and subfields that contain a Value that is not also a Subfield typically accept one value. |
| Compendium Path | A user interface path to where a list of values is stored in the Compendium. Each step in the path will be separated by Implies symbol => from the next step. |
| Dropdown List | Set of subfields and/or values selectable for a given Field or Subfield; dropdown lists always have a placeholder value which is ignored by Codex |
| Boolean | A value that GoblinScript understands as either true or false when it is evaluated during the game; a boolean value can be a GoblinScript formula that has a yes/no (true/false) result in relation to the subject of the GoblinScript; a boolean value can also be a number: 1 for True, 0 for false. The type of boolean value accepted depends on the field holding the value |
| GoblinScript | A value in a Feature Editor element that is a GoblinScript formula; available fields for that formula are found in the formula documentation (press the Goblin head icon to view). See GoblinScript V2 |
| Number | A value that can only be a number |
| Toggle | A value in a Feature Editor element that is either On (filled box) or Off (empty box) |
| Text | A value in a Feature Editor element that is composed of text |
| Required | A Field/Subfield/Attribute must have a value; the Feature Editor provides a default value as a placeholder that can be left in place if element is not needed for a feature |
| Optional | A Field/Subfield/Attribute can take a value but will function without it; typically has either no default value or generic text (if field displays on front end) |
All features have a set of elements that describe the feature in the Codex. Everything that constitutes a feature will be contained within one or more of these elements. Each element declares something about its immediate context and the top level feature elements declare aspects of the feature as a whole.
| Field | Definition | Required? | Default Value | Interaction With GoblinScript | Location in Front End? |
|---|---|---|---|---|---|
| Name | Field containing name of feature | Required | New Feature | Used in text fields | Yes |
| Source | Field declaring context containing feature | Required | Element of Codex where editor ws opened | unknown | No |
| Implementation | Field declaring degree of automation of feature | Required | Unimplemented | No? | Appears on ability card under Name |
| Description | Field containing high level description of entire ability | Optional | none | unknown | unknown |
| Add Prerequisite | Field containing condition for an ability to be available to a subject. | Optional | none | Prerequisite must be true for ability to be available to creature | Feature is visible to user if prerequisite is true |
| Add Modifier | Field to add specific component of feature | Required to automate any portion of feature | Add Modifier (placeholder) | Each Modifier contains many values that interact with GoblinScript | Yes, see individual modifiers for details |
| Confirm | Button that saves changes to New Feature | — | — | — | — |
| Cancel | Button that cancels changes to New Feature | — | — | — | — |
***Recommendation: Prerequisites are very strong conditions. There are many opportunities to add conditions that limit a smaller portion of a feature. Unless the condition needed is truly universal for a feature, it is better to use other condition fields.
(Values Available for this Field)
Used to track degree of automated implementation of a feature. On published features this will be provided and updated by DMHub. Definitions taken from Version 0.0.662 Devlog in DMHub discord.
| Value | Definition | Location in Front End? |
|---|---|---|
| Unimplemented | Denoted by a red colour. No work has been done yet to implement this feature. | Under name in ability card |
| Bronze | Denoted by a bronze colour. All basic parts of a power roll should be implemented. (e.g targeting, applying damage, applying standardised conditions and effects). | Under name in ability card |
| Silver | Denoted by a silver colour. All parts of the power roll are implemented, except for complicated abilities that are better suited by Director interpretation at the table. Some abilities will never get past Silver implementation. | Under name in ability card |
| Gold | Denoted by a gold colour. All parts of the ability or feature are implemented and fully automated. | Under name in ability card |
| Narrative | Denoted by a pink colour. These abiltiies are usually entirely narrative or RP based in nature and don’t make sense to try and automate in a VTT. These can also be abilities that are too general in nature to provide an automation for, such as the Elementatlist’s Motivate Earth ability. | Under name in ability card |
(Values Available for this Field which are each also Subfields or GoblinScript)
Assigns type of prerequisite that needs to be true for a feature to be available to user. Prerequisites are not visible to users outside the editor.
| Value | Definition | Required? | Default Value | Interaction With GoblinScript | Behavior in Front End? |
|---|---|---|---|---|---|
| Deity Field | Name of a deity in Compendium | optional | None | — | If prerequisite is not true on sheet, feature will not be available to user |
| Domain Field | Name of a domain in Compendium | optional | None | — | If prerequisite is not true on sheet, feature will not be available to user |
| Skill Proficiency Field | Name of skill in Compendium | optional | None | — | If prerequisite is not true on sheet, feature will not be available to user |
| GoblinScript | Goblinscript formula | optional | None | Yes; see formula documentation in UI and GoblinScript V2 | If prerequisite is not true on sheet, feature will not be available to user |
(Values Available in this Dropdown List)
The Compendium includes all gods and saints from Draw Steel Heroes and any added by users. Each Deity prerequisite is entered individually.
| Value | Definition | Interaction With GoblinScript |
|---|---|---|
| A Sea of Suns | Draw Steel Deity or Saint | — |
| Adun | Draw Steel Deity or Saint | — |
| All Domains | Draw Steel Deity or Saint | Allows selection of any domain |
| Atossa the Shepherd | Draw Steel Deity or Saint | — |
| Cavall | Draw Steel Deity or Saint | — |
| Draighen the Warden | Draw Steel Deity or Saint | — |
| Eriarwen the Wroth | Draw Steel Deity or Saint | — |
| Eseld of the Eye | Draw Steel Deity or Saint | — |
| and so on… | — | — |
(Values Available in this Dropdown List)
The Compendium includes all domains from Draw Steel Heroes and any added by users. Each Domain prerequisite is entered individually.
| Value | Definition | Interaction With GoblinScript |
|---|---|---|
| Creation | Draw Steel Domain | value in Deity.Domains |
| Death | Draw Steel Domain | value in Deity.Domains |
| Fate | Draw Steel Domain | value in Deity.Domains |
| Knowledge | Draw Steel Domain | value in Deity.Domains |
| Life | Draw Steel Domain | value in Deity.Domains |
| Love | Draw Steel Domain | value in Deity.Domains |
| Nature | Draw Steel Domain | value in Deity.Domains |
| Protection | Draw Steel Domain | value in Deity.Domains |
| Storm | Draw Steel Domain | value in Deity.Domains |
| Sun | Draw Steel Domain | value in Deity.Domains |
| Trickery | Draw Steel Domain | value in Deity.Domains |
| War | Draw Steel Domain | value in Deity.Domains |
| and so on… | — | — |
(Values Available in this Dropdown List)
The Compendium includes all skills from Draw Steel Heroes and any added by users. Each Skill Proficiency prerequisite is entered individually.
| Value | Definition | Interaction With GoblinScript |
|---|---|---|
| Alchemy | Draw Steel Skill | Text value in Proficient and Skill Modifier functions |
| Alertness | Draw Steel Skill | Text value in Proficient and Skill Modifier functions |
| Architecture | Draw Steel Skill | Text value in Proficient and Skill Modifier functions |
| Blacksmithing | Draw Steel Skill | Text value in Proficient and Skill Modifier functions |
| Brag | Draw Steel Skill | Text value in Proficient and Skill Modifier functions |
| Carpentry | Draw Steel Skill | Text value in Proficient and Skill Modifier functions |
| Climb | Draw Steel Skill | Text value in Proficient and Skill Modifier functions |
| Conceal Object | Draw Steel Skill | Text value in Proficient and Skill Modifier functions |
| Cooking | Draw Steel Skill | Text value in Proficient and Skill Modifier functions |
| Criminal Underworld | Draw Steel Skill | Text value in Proficient and Skill Modifier functions |
| Culture | Draw Steel Skill | Text value in Proficient and Skill Modifier functions |
| Disguise | Draw Steel Skill | Text value in Proficient and Skill Modifier functions |
| and so on… | — | — |
(Values Available in this Dropdown List which are each High Level Subfields of New Feature)
One or more Modifiers will hold the data to instantiate the feature in the front end user interface. All of these values are high level subfields of New Feature which could contain dozens of subfields and values each. Each is optional, but if none of them are included the New Feature is only the text in the Description field and its name. The Feature Modifiers Reference Guide has detailed information about each modifier.
| Value | Definition | Required? | Interaction With GoblinScript | ||
|---|---|---|---|---|---|
| Ability Improvement | — | Optional | — | ||
| Access to new types of kits | — | Optional | — | ||
| Activated Ability | Element that contains a selectable ability in Action Bar | Optional | — | ||
| Alternate Appearance | — | Optional | — | ||
| Aura | — | Optional | — | ||
| Bestow Condition | — | Optional | — | ||
| Casting Origin | — | Optional | — | ||
| Condition Immunity | — | Optional | — | ||
| Damage Immunity | — | Optional | — | ||
| Filter | — | Optional | — | — | — |
| Forced Movement | — | Optional | — | ||
| Grant Resource | — | Optional | — | ||
| Grant Skill or Language | — | Optional | — | ||
| Growing Resources Table | — | Optional | — | ||
| Invisibility | — | Optional | — | ||
| Journal Explanation | — | Optional | — | ||
| Light Source | — | Optional | — | ||
| Modify Abilities | — | Optional | — | ||
| Modify Attribute | — | Optional | — | ||
| Modify Creature Type | — | Optional | — | ||
| Modify Mount Riders | — | Optional | — | ||
| Modify Power Rolls | — | Optional | — | ||
| Moddify Resource Checklist | — | Optional | — | ||
| Modify Squad Captain | — | Optional | — | ||
| Modify Trigger | — | Optional | — | ||
| Power Roll Trigger | — | Optional | — | ||
| Power Roll Trigger Addition | — | Optional | — | ||
| Reciprocal Condition | — | Optional | — | ||
| Reminder Text | — | Optional | — | ||
| Routine | — | Optional | — | ||
| Status Icon | — | Optional | — | ||
| Suppress Abilities | — | Optional | — | ||
| Suspended In Air | — | Optional | — | ||
| Transformation | — | Optional | — | ||
| Triggered Ability | — | Optional | — | ||
| Triggered Ability Display | — | Optional | — |