Add spells rolls and enhance CSS styling
This commit is contained in:
@@ -24,7 +24,7 @@ export default class PrismRPGArmor extends foundry.abstract.TypeDataModel {
|
||||
schema.isHelmet = new fields.BooleanField({ required: true, initial: false })
|
||||
|
||||
schema.cost = new fields.NumberField({ required: true, initial: 0, min: 0 })
|
||||
schema.money = new fields.StringField({ required: true, initial: "tinbit", choices: SYSTEM.MONEY })
|
||||
schema.money = new fields.StringField({ required: true, initial: "coppercoin", choices: SYSTEM.MONEY })
|
||||
|
||||
return schema
|
||||
}
|
||||
|
||||
@@ -84,11 +84,6 @@ export default class PrismRPGCharacter extends foundry.abstract.TypeDataModel {
|
||||
temp: new fields.NumberField({ ...requiredInteger, initial: 0, min: 0 })
|
||||
})
|
||||
|
||||
schema.magicPoints = new fields.SchemaField({
|
||||
value: new fields.NumberField({ ...requiredInteger, initial: 0, min: 0 }),
|
||||
max: new fields.NumberField({ ...requiredInteger, initial: 0, min: 0 })
|
||||
})
|
||||
|
||||
schema.armorPoints = new fields.SchemaField({
|
||||
value: new fields.NumberField({ ...requiredInteger, initial: 0, min: 0 }),
|
||||
max: new fields.NumberField({ ...requiredInteger, initial: 0, min: 0 })
|
||||
@@ -110,15 +105,7 @@ export default class PrismRPGCharacter extends foundry.abstract.TypeDataModel {
|
||||
total: new fields.NumberField({ ...requiredInteger, initial: 0, min: 0 }),
|
||||
remaining: new fields.NumberField({ ...requiredInteger, initial: 0, min: 0 })
|
||||
})
|
||||
schema.spellMiraclePoints = new fields.SchemaField({
|
||||
total: new fields.NumberField({ ...requiredInteger, initial: 0, min: 0 }),
|
||||
used: new fields.NumberField({ ...requiredInteger, initial: 0, min: 0 })
|
||||
})
|
||||
schema.aetherPoints = new fields.SchemaField({
|
||||
max: new fields.NumberField({ ...requiredInteger, initial: 0, min: 0 }),
|
||||
value: new fields.NumberField({ ...requiredInteger, initial: 0, min: 0 })
|
||||
})
|
||||
schema.divinityPoints = new fields.SchemaField({
|
||||
schema.manaPoints = new fields.SchemaField({
|
||||
max: new fields.NumberField({ ...requiredInteger, initial: 0, min: 0 }),
|
||||
value: new fields.NumberField({ ...requiredInteger, initial: 0, min: 0 })
|
||||
})
|
||||
|
||||
@@ -7,11 +7,11 @@ export default class PrismRPGEquipment extends foundry.abstract.TypeDataModel {
|
||||
const requiredInteger = { required: true, nullable: false, integer: true }
|
||||
|
||||
schema.description = new fields.HTMLField({ required: true, textSearch: true })
|
||||
schema.category = new fields.StringField({ required: true, initial: "tinbit", choices: SYSTEM.EQUIPMENT_CATEGORIES })
|
||||
schema.category = new fields.StringField({ required: true, initial: "coppercoin", choices: SYSTEM.EQUIPMENT_CATEGORIES })
|
||||
|
||||
schema.encLoad = new fields.NumberField({ required: true, initial: 0, min: 0 })
|
||||
schema.cost = new fields.NumberField({ ...requiredInteger, required: true, initial: 0, min: 0 })
|
||||
schema.money = new fields.StringField({ required: true, initial: "tinbit", choices: SYSTEM.MONEY })
|
||||
schema.money = new fields.StringField({ required: true, initial: "coppercoin", choices: SYSTEM.MONEY })
|
||||
|
||||
// Kit properties
|
||||
schema.isKit = new fields.BooleanField({
|
||||
@@ -54,4 +54,29 @@ export default class PrismRPGEquipment extends foundry.abstract.TypeDataModel {
|
||||
/** @override */
|
||||
static LOCALIZATION_PREFIXES = ["PRISMRPG.Equipment"]
|
||||
|
||||
static migrateData(data) {
|
||||
// Migrate old money types to new ones
|
||||
if (data?.money) {
|
||||
const moneyMigration = {
|
||||
"tinbit": "coppercoin",
|
||||
"copper": "coppercoin",
|
||||
"silver": "silvercoin",
|
||||
"gold": "goldcoin",
|
||||
"platinum": "note"
|
||||
}
|
||||
|
||||
if (moneyMigration[data.money]) {
|
||||
data.money = moneyMigration[data.money]
|
||||
}
|
||||
|
||||
// If still invalid, default to coppercoin
|
||||
if (!SYSTEM.MONEY[data.money]) {
|
||||
console.warn(`Prism RPG | Migrate equipment: Invalid money type "${data.money}", defaulting to coppercoin`)
|
||||
data.money = "coppercoin"
|
||||
}
|
||||
}
|
||||
|
||||
return super.migrateData(data)
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -61,7 +61,7 @@ export default class PrismRPGShield extends foundry.abstract.TypeDataModel {
|
||||
// Equipment properties
|
||||
schema.encLoad = new fields.NumberField({ required: true, initial: 0, min: 0 })
|
||||
schema.cost = new fields.NumberField({ required: true, initial: 0, min: 0 })
|
||||
schema.money = new fields.StringField({ required: true, initial: "tinbit", choices: SYSTEM.MONEY })
|
||||
schema.money = new fields.StringField({ required: true, initial: "coppercoin", choices: SYSTEM.MONEY })
|
||||
schema.equipped = new fields.BooleanField({ required: true, initial: false })
|
||||
|
||||
return schema
|
||||
|
||||
@@ -96,16 +96,17 @@ export default class PrismRPGWeapon extends foundry.abstract.TypeDataModel {
|
||||
initial: ""
|
||||
})
|
||||
|
||||
// Projectile-specific properties
|
||||
schema.isProjectile = new fields.BooleanField({
|
||||
required: true,
|
||||
initial: false
|
||||
// Range properties
|
||||
schema.shortRange = new fields.NumberField({
|
||||
...requiredInteger,
|
||||
initial: 0,
|
||||
min: 0
|
||||
})
|
||||
|
||||
schema.range = new fields.SchemaField({
|
||||
short: new fields.NumberField({ ...requiredInteger, initial: 0, min: 0 }),
|
||||
medium: new fields.NumberField({ ...requiredInteger, initial: 0, min: 0 }),
|
||||
long: new fields.NumberField({ ...requiredInteger, initial: 0, min: 0 })
|
||||
schema.longRange = new fields.NumberField({
|
||||
...requiredInteger,
|
||||
initial: 0,
|
||||
min: 0
|
||||
})
|
||||
|
||||
schema.reloadAPC = new fields.NumberField({
|
||||
@@ -123,7 +124,7 @@ export default class PrismRPGWeapon extends foundry.abstract.TypeDataModel {
|
||||
|
||||
schema.encLoad = new fields.NumberField({ required: true, initial: 0, min: 0 })
|
||||
schema.cost = new fields.NumberField({ ...requiredInteger, required: true, initial: 0, min: 0 })
|
||||
schema.money = new fields.StringField({ required: true, initial: "tinbit", choices: SYSTEM.MONEY })
|
||||
schema.money = new fields.StringField({ required: true, initial: "coppercoin", choices: SYSTEM.MONEY })
|
||||
schema.equipped = new fields.BooleanField({ required: true, initial: false })
|
||||
schema.isImplement = new fields.BooleanField({ required: true, initial: false })
|
||||
|
||||
|
||||
Reference in New Issue
Block a user