-
Notifications
You must be signed in to change notification settings - Fork 14
Actor Sheet
Characters are actors meant to be used by players. They are defined under the [character] group in your sheet configuration.
NPCs are actors meant to be used by GMs. NPCs are defined under the [npc] group in your sheet configuration.
You can define multiple custom actor types beyond the standard character and npc types. Custom actors use the same structure as Characters or NPCs, but with your own actor type name.
# Custom actor type named "vehicle"
[vehicle]
label = "Vehicle" # Display name
baseType = "npc" # Inherit behavior from npc
[vehicle.attributes]
[vehicle.attributes.speed]
type = "Number"
label = "Speed"
position = "top"
[vehicle.attributes.armor]
type = "Number"
label = "Armor Plating"
position = "top"
[vehicle.attributes.condition]
type = "LongText"
label = "Condition"
position = "left"
[vehicle.moveTypes]
maneuvers = "Maneuvers"
systems = "Systems"
[vehicle.equipmentTypes]
upgrades = "Upgrades"
cargo = "Cargo"[location]
label = "Location"
baseType = "npc"
[location.attributes]
[location.attributes.threat]
type = "Number"
label = "Threat Level"
position = "top"
[location.attributes.description]
type = "LongText"
label = "Description"
position = "left"
[location.attributes.features]
type = "ListMany"
label = "Features"
position = "left"
options = [
"Hidden", "Dangerous", "Resource Rich",
"Inhabited", "Ancient", "Mystical"
]
[location.moveTypes]
events = "Location Events"
[location.equipmentTypes]
resources = "Resources"[organization]
label = "Organization"
baseType = "character" # Has stats like a character
[organization.stats]
influence = "Influence"
resources = "Resources"
secrecy = "Secrecy"
[organization.attributes]
[organization.attributes.reputation]
type = "Number"
label = "Reputation"
position = "top"
[organization.attributes.agenda]
type = "LongText"
label = "Hidden Agenda"
position = "left"
limited = true # Hidden from players
[organization.moveTypes]
political = "Political Moves"
covert = "Covert Operations"
[organization.equipmentTypes]
assets = "Assets"Any TOML configuration section that isn't character or npc will be considered a custom actor type.
Note
Stats are not required for NPCs.
Defines the stats used by your player characters. Each stat is written as direct assignment with the short syntax, such as the following:
[character.stats]
cool = "Cool"
hard = "Hard"
hot = "Hot"
sharp = "Sharp"
weird = "Weird"
Warning
Reserved Terms: You can't have a stat with a key (name at the left) set as ask, formula or prompt. These keys are used internally by the system.
If you have Stat Tokens enabled, a stat with a key set as token will have special behavior.
Attributes are used in the PbtA system to track things that are not stats or moves. For instance, Harm in Apocalypse World, Look in Dungeon World, and Conditions in Masks would all be considered attributes when making a sheet in the PbtA system.
Attributes have a position property that is used to define where in the sheet they will be displayed. You can omit this property to have an attribute to not be displayed.
This system supports only two positions:
-
left, a column to the left of the Moves section. -
top, at the top of the sheet, directly below Stats.
Example
[character.attributes.armor]
type = "Number"
label = "Armor"
position = "top"
[character.attributes.harm]
type = "Clock"
max = 6
default = 0
position = "top"
[character.attributes.damage]
type = "Roll"
label = "Damage"
default = "1d10"
position = "top"
[character.attributes.look]
type = "LongText"
label = "Look"
position = "left"
[character.attributes.weight]
type = "Resource"
label = "Weight"
position = "left"
[character.attributes.conditions]
type = "ListMany"
label = "Conditions"
description = "Choose all that apply:"
condition = true
options = [
"Afraid (-2 to engage)",
"Angry (-2 to comfort)",
"Guilty (-2 to provoke)",
"Hopeless (-2 to unleash)",
"Insecure (-2 to defend)"
]
position = "left"Read Playbooks.
You can set an attribute to not be displayed to users that have limited ownership of a playbook.
[character.attributes.foo]
type = "Clock"
label = "Foo"
position = "top"
limited = trueFor a full list of attribute types and how to use them, see the Attribute Types page. Here is a list of the available attribute types.
Available Attribute Types
- Number - Attributes that should be numeric values only.
- Text - Plain text values in a single-line text field.
- LongText - Plain text values in a text area that spans multiple lines. In a future version of the system, this will support the TinyMCE text editor.
-
Resource - Numeric value fields that support both a current
valueandmaxvalue. - Clock - Numeric value fields with current and max values, but the front-end widget will be a series of checkboxes.
- Xp - Numeric value fields with current and max values, but the front-end widget will be a series of radio circles. In a future version of the system, this will support additional values to better tie it to character advancement.
- Checkbox - A single checkbox with a label.
-
ListMany - Multiple checkboxes with labels that can support any number of them being checked at a given time. In a future version of the system, there will be a "limit" option to specify how many options can be chosen by characters at once. In addition, ListMany can be used to handle conditions if the labels of your options include a number (such as -2) and the
condition = trueproperty is included in the attribute. -
Roll - A text field along with a button to trigger dice rolls based on its current value. Works best with a supplied
defaultvalue, such asdefault = "d10"
Defines the move types that can be used to organize moves in a character's sheet.
A move type can be created as a group to have one of the following properties:
-
creation, which adds the move types to the actor when it is created. -
playbook, which adds a field to the Move's sheet to set the playbook that move is from. This is purely visual.
# Short Syntax
[character.moveTypes]
basic = "Basic Moves"
advanced = "Advanced Moves"
class = "Class Moves"
# Long Syntax
[character.moveTypes.basic]
label = "Basic Moves"
creation = true
[character.moveTypes.advanced]
label = "Advanced Moves"
[character.moveTypes.class]
label = "Class Moves"
playbook = trueDefines the equipment types that can be used to organize equipment in a character's sheet.
[character.equipmentTypes]
gear = "Gear"
loot = "Loot"Note
This field is only available to Custom Actor Types.
You can choose whether the custom actor will behave like a Character's (support for Stats) or a NPC's.
If a base type isn't set, the actor sheet will be rendered as a Character. Effectively, this configuration is only important to set NPC-like actors.
[other]
label = "Custom Actor Type"
baseType = "npc"Adds new description editors to the Description tab. Descriptions can also have the limited and playbook properties, similar to Attributes.
If no descriptions are set, a default biography description will be set.
[character.description.background]
label = "Background"
value = "Character's history and origins"
[character.description.goals]
label = "Goals & Motivations"
value = "What drives this character"
[character.description.secrets]
label = "Secrets"
value = "Hidden information"
limited = true # Only visible to owners
[character.description.class-notes]
label = "Class Notes"
value = "Playbook-specific information"
playbook = true # Only shows when playbook selectedReplaces the Character/NPC names on places such as the Character Creation dialog. Labels are localized when the TOML is parsed.
[character]
label = "Protagonist"
[npc]
label = "Supporting Character"
[vehicle]
label = "Vehicle"All actor types support these optional properties:
[custom-actor]
label = "Display Name" # Shown in UI instead of config key[custom-actor]
description = "Detailed description of this actor type"[custom-actor.description]
field1 = "Description text"
field2 = "More description"[custom-actor]
baseType = "character" # Inherit character behavior (has stats)
# or
baseType = "npc" # Inherit NPC behavior (no stats by default)If no baseType is specified, custom actors default to character-like behavior.
List of TOML presets for your games.
List of FoundryVTT modules that implement the rules of some PbtA games.
Covers how to create FoundryVTT modules that integrate with the PbtA system.