Skip to content

Instantly share code, notes, and snippets.

@marcus-downing
Last active June 14, 2018 09:20
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save marcus-downing/0981631652d677608c892d71d659b967 to your computer and use it in GitHub Desktop.
Save marcus-downing/0981631652d677608c892d71d659b967 to your computer and use it in GitHub Desktop.
Sample class descriptors in YAML
template: channel-energy
elems:
- field: channel-energy--type
type: choice
options:
- id: heal
name: "Heal"
- id: harm
name: "Harm"
- hr
- calc:
field: channel-energy--per-day
label:
equals:
- number: 3
- field: CHA
- field: channel-energy--today
type: checkgrid
position: right
max: 10
class: cleric
name: cleric
skill-proficiency:
- acrobatics
- athletics
- crafting
- deception
- diplomacy
- intimidation
- performance
- society
- stealth
- thievery
armour-proficiency:
- light
- medium
options:
- option: cleric-feats
type: feat
list: cleric
count: 10
- option: cleric-domain
type: domain
list: cleric
count: 1
inc:
- page: cleric
- at: cleric:narrow:top
elems:
- class-title: "Cleric"
- p: "of"
- template: deity
- at: cleric:wide:bottom
section: "Cleric Feats"
elems:
- template: feats-list
using: cleric-feats
- zone: cleric:feats
- feature: cleric-domains
inc:
- at: cleric:narrow:top
elems:
- section: "Domains"
- zone: cleric:domains
- each: cleric-domain
template: domain
- feature: cleric-spells
enable:
- subsystem:spells
- subsystem:spell-points
inc:
- at: cleric:narrow
section: "Spells"
template: spellbox
style: prepared
max: 10
- at: cleric:wide
position: top
elems:
- section: "Cantrips"
template: spells-list
style: prepared
level: 0
count: 10
- section: "Prepared Spells"
template: spells-list
style: prepared
level: 10
count: 3
- zone: cleric:spells
template: deity
elems:
- field: deity
label: "Deity"
type: text
wide: true
- template: alignment-grid
position: right
- hr
- field: anathema
label: "Anathema"
type: text
lines: 3
template: domain
params:
- id
elems:
- field: {{id}}--name
label: "Domain"
type: text
wide: true
- field: {{id}}--favored-weapon
label: "Favored Weapon"
type: text
wide: true
- hr
- template: feats-list
id: {{id}}--powers
class: rogue
name: "Rogue"
skill-proficiency:
- acrobatics
- athletics
- crafting
- deception
- diplomacy
- intimidation
- performance
- society
- stealth
- thievery
armour-proficiency:
- light
- medium
weapon-proficiency:
- martial
options:
- id: rogue-feats
type: feat
list: rogue
max: 10
inc:
- page: rogue
- at: rogue:narrow
position: top
elems:
- class-title: "Rogue"
- section: "Rogue"
primary: true
elems:
- table: ...
- at: rogue:wide:bottom
elems:
- zone: rogue:feats
- section: "Rogue Feats"
template: feats-list
using: rogue-feats
- feature: sneak-attack
inc:
- at: rogue-narrow
section: "Sneak Attack"
elems:
- template: sneak-attack
- zone: rogue:sneak-attack
- feature: delibitating-strike
level: 9
inc:
- at: rogue-sneak-attack
subsection: "Debilitating Strike"
elems:
- p: "Entangle of enfeeble foes on a successful sneak attack."
- field: delibitating-strike--conditions
label: "Conditions"
count: 5
wide: true
- feature: rogue-master-strike
level: 19
inc:
- at: rogue:narrow
section: "Master Strike"
elems:
- p: "..."
template: sneak-attack
elems:
- p: "Add precision damage when striking a flat-footed foe."
- calc:
field: rogue-sneak-attack--d6
label: "Sneak Attack Damage"
epithet: "d6"
equals:
- divide:
- field: rogue-level
label: "Rogue Level"
by: 3
- hook: sneak-attack-damage
- field: misc
label: "Misc"
enum: spell-school
type: text
items:
- Abjuration
- Conjuration
- Divination
- Enchantment
- Evocation
- Illusion
- Necromancy
- Transmutation
class: wizard
name: "Wizard"
enable:
- subsystem:spells
- subsystem:spell-points
options:
- type: feat
list: rogue
max: 10
inc:
- page: wizard
- at: wizard:narrow
position: top
class-title: "Wizard"
- at: wizard:wide:bottom
section: "Wizard Feats"
template: feats-list
using: wizard-feats
- feature: spell-schools
inc:
- at: wixatrd
section: "Spell School"
primary: true
elems:
- field: preferred-spell-school
label: "Preferred Spell School"
type: enum
options: spell-school
wide: true
primary: true
- field: forbidden-spell-school
label: "Forbidden Spell School"
type: enum
options: spell-school
wide: true
- feature: wizard-spells
inc:
- at: wizard:narrow
section: "Spells"
template: spellbox
key-ability: INT
max-level: 10
- at: wizard:wide
elems:
- section: "Cantrips"
template: spellbox
level: 0
count: 10
- section: "Prepared Spells"
template: spellbox
max-level: 10
count: 3
@SalvorinFex
Copy link

While I am a not a programmer but wanting to learn, I see this as you can setup templates for each sections and reuse them, right?

What is the time based difference between this and what you are doing for PF1?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment