Dice
Main type
dice:
- id: "example_dice" # required
display_name: "Dice" # required
tags: ["example_tag"] # optional
lore_text: "this is a dice" # required
mechanical_text: "this dice does stuff" # required
cooldown: 2 # required. static integer. should be modified using scaling nodes.
base_copies: 0 # required. static integer. should be modified using scaling nodes.
faces: # required. the base faces the dice has.
- [fist, fist]
- [blank]
- [fist]
scaling: # required. list of dice scaling nodes (examples below)
- condition: "q:strength > 2" # works the same way as action conditions. can also do {:taking_action, action_id} which will be true when they're taking that action when choosing dice to roll and rolling for that action, etc.
modification: [:add_face, [fist, fist, fist]]
always_roll
the key always_roll can be put under actions to make a dice always roll for it. it can have a number or :max, to always roll all of that dice that they have. if the number is higher than the amount of the dice that they have, it will only roll the amount they actually have. also, the tag action_only can be added to dice to make them only available if they're manually enabled by an action, by using always_roll or enable_dice.
- id: "saltedslabsossifields/backtrack"
display_name: "Backtrack"
condition: :none
description: "You'll be faster and/or safer on the way back, but you won't learn much."
cost: [:gain, :quality, exhaustion, 5]
always_roll:
bonydie: :max
example_dice_2: 3
enable_dice:
- example_dice
Scaling nodes
Modifications
Modifications can be placed under the modification section of a scaling node. It can be a list of modifications or just one.
Modifying properties
[:modify_property, :cooldown, q:strength + 1] # using an expression
[:modify_property, :cooldown, 2] # using a number
Adding / Removing faces
[:remove_face, [fist, blank]] # remove the first face that is the exact same as this (does nothing if there isn't one).
Repeating a modification
repeat:
- enable: "q:strength >= 2" # whether to enable repeating. an expression.
times: "q:strength" # how many times the operation should be repeated, if it is enabled.
modification: # a list of dice modifications or a single one.
- [:add_face, [fist, fist]]
repeat_interval:
- expression: "q:strength" # what value to base this repeat_interval block on
start: 10 # start applying the modification at 10 strength
interval: 3 # apply the modification another time for every 3 strength they have past 10
modification: # a list of dice modifications or a single one
- [:add_face, [fist, fist]]
(this can be used as a face modification too)
This example will do nothing until they reach 2 strength, then add a [fist, fist] face for every 2 strength they have. If they have exactly 2 strength, it will repeat twice and add two [face, face] faces.
Modifying individual faces
modify_face:
target: # a list of face target selectors or a single one (examples below).
- [:least_symbols, fist]
modification: # list of face modifications or a single one (examples below).
- [:add_symbols, [fist]]
limit: 3 # optional, the limit of faces that should be modified. defaults to 1. can also be :none, which will modify all faces that match the target selectors. modifies the first n faces in the list.
The list of target selectors will be run through, one by one, to narrow down the list of faces that will be modified. Then for each of those faces, all of the modifications will be done in order.
Target selectors
[:has_symbols, [fist, fist, circle]] # has at least 2 fist symbols and 1 circle symbol