Change cost per skill

This commit is contained in:
2025-01-22 20:23:59 +01:00
parent f00a69e9b4
commit 560b2eb5ac
30 changed files with 114 additions and 70 deletions

View File

@ -141,6 +141,15 @@ export const CHAR_CLASSES = {
"magicuser": "Magic User"
}
export const CHAR_CLASSES_DEFINES = {
"untrained": {id: "untrained", label: "Untrained"},
"fighter": {id: "fighter", label: "Fighter"},
"rogue": {id: "rogue", label: "Rogue"},
"ranger": {id: "ranger", label: "Ranger"},
"cleric": {id: "cleric", label: "Cleric"},
"magicuser": {id: "magicuser", label: "Magic User"}
}
export const DICE_VALUES = {
"d3": "D3",
"d4": "D4",
@ -250,6 +259,7 @@ export const SYSTEM = {
CHARACTERISTIC_DAMAGE,
INITIATIVE_DICE_CHOICES_PER_CLASS,
CHAR_CLASSES,
CHAR_CLASSES_DEFINES,
MONEY,
ASCII,
CHOICE_MODIFIERS,

View File

@ -114,6 +114,7 @@ export default class LethalFantasyCharacter extends foundry.abstract.TypeDataMod
alignment: new fields.StringField({ required: true, nullable: false, initial: "" }),
age: new fields.NumberField({ ...requiredInteger, initial: 15, min: 6 }),
height: new fields.NumberField({ ...requiredInteger, initial: 170, min: 50 }),
weight: new fields.StringField({ required: true, nullable: false, initial: "" }),
eyes: new fields.StringField({ required: true, nullable: false, initial: "" }),
hair: new fields.StringField({ required: true, nullable: false, initial: "" }),
magicUser: new fields.BooleanField({ initial: false }),

View File

@ -10,6 +10,13 @@ export default class LethalFantasySkill extends foundry.abstract.TypeDataModel {
schema.category = new fields.StringField({ required: true, initial: "layperson", choices: SYSTEM.SKILL_CATEGORY })
schema.base = new fields.StringField({ required: true, initial: "WIS" })
schema.bonus = new fields.NumberField({ ...requiredInteger, required: true, initial: 0, min: 0 })
schema.classesCost = new fields.SchemaField(
Object.values(SYSTEM.CHAR_CLASSES_DEFINES).reduce((obj, pcClass) => {
obj[pcClass.id] = new fields.NumberField({ ...requiredInteger, required: true, initial: 0, min: 0 })
return obj
}, {}),
)
schema.cost = new fields.NumberField({ ...requiredInteger, required: true, initial: 0, min: 0 })
schema.weaponClass = new fields.StringField({ required: true, initial: "shortblade", choices: SYSTEM.WEAPON_CLASS })