Actor sheet, WIP
This commit is contained in:
@@ -21,13 +21,48 @@ export default class OathHammerCharacter extends foundry.abstract.TypeDataModel
|
||||
fate: attributeField()
|
||||
})
|
||||
|
||||
// Skills: 26 skills each with a rank (0–4). Grit.max = resilience.rank + toughness.rank.
|
||||
const skillField = () => new fields.SchemaField({
|
||||
rank: new fields.NumberField({ ...requiredInteger, initial: 0, min: 0, max: 4 })
|
||||
})
|
||||
schema.skills = new fields.SchemaField({
|
||||
academics: skillField(),
|
||||
acrobatics: skillField(),
|
||||
animalHandling:skillField(),
|
||||
athletics: skillField(),
|
||||
brewing: skillField(),
|
||||
carpentry: skillField(),
|
||||
defense: skillField(),
|
||||
dexterity: skillField(),
|
||||
diplomacy: skillField(),
|
||||
discipline: skillField(),
|
||||
fighting: skillField(),
|
||||
folklore: skillField(),
|
||||
fortune: skillField(),
|
||||
heal: skillField(),
|
||||
leadership: skillField(),
|
||||
magic: skillField(),
|
||||
masonry: skillField(),
|
||||
orientation: skillField(),
|
||||
perception: skillField(),
|
||||
resilience: skillField(),
|
||||
ride: skillField(),
|
||||
shooting: skillField(),
|
||||
smithing: skillField(),
|
||||
stealth: skillField(),
|
||||
survival: skillField(),
|
||||
tracking: skillField(),
|
||||
})
|
||||
|
||||
schema.grit = new fields.SchemaField({
|
||||
value: new fields.NumberField({ ...requiredInteger, initial: 2, min: 0 }),
|
||||
max: new fields.NumberField({ ...requiredInteger, initial: 2, min: 0 })
|
||||
})
|
||||
|
||||
// Luck.max is derived from fate.rank; resets at session start.
|
||||
schema.luck = new fields.SchemaField({
|
||||
value: new fields.NumberField({ ...requiredInteger, initial: 1, min: 0 })
|
||||
value: new fields.NumberField({ ...requiredInteger, initial: 1, min: 0 }),
|
||||
max: new fields.NumberField({ ...requiredInteger, initial: 1, min: 0 })
|
||||
})
|
||||
|
||||
schema.arcaneStress = new fields.SchemaField({
|
||||
@@ -77,7 +112,11 @@ export default class OathHammerCharacter extends foundry.abstract.TypeDataModel
|
||||
|
||||
prepareDerivedData() {
|
||||
super.prepareDerivedData()
|
||||
this.grit.max = this.attributes.might.rank + this.attributes.toughness.rank
|
||||
// Grit max = Resilience skill rank + Toughness attribute rank (rulebook p.5)
|
||||
this.grit.max = this.skills.resilience.rank + this.attributes.toughness.rank
|
||||
// Luck max = Fate rank; restores at session start
|
||||
this.luck.max = this.attributes.fate.rank
|
||||
// Defense score = 10 + Agility + Armor Rating + bonus
|
||||
this.defense.value = 10 + this.attributes.agility.rank + this.defense.armorRating + this.defense.bonus
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user