Checking it out. May not work. Not a Telegram.

This commit is contained in:
Nikhil Nagarajan 2025-12-10 15:57:46 -05:00
parent 09141053c9
commit e44823b6dd
6 changed files with 64 additions and 1 deletions

View file

@ -692,6 +692,13 @@
"bruiser": "for each Bruiser adversary.", "bruiser": "for each Bruiser adversary.",
"solo": "for each Solo adversary." "solo": "for each Solo adversary."
}, },
"ArmorKeys": {
"armor": "Armor",
"weapon": "Weapon",
"consumable": "Consumable",
"loot": "Loot",
"feature": "Feature"
},
"ArmorFeature": { "ArmorFeature": {
"burning": { "burning": {
"name": "Burning", "name": "Burning",

View file

@ -489,6 +489,18 @@ export const orderedArmorFeatures = () => {
return Object.values(all).sort((a, b) => game.i18n.localize(a.label).localeCompare(game.i18n.localize(b.label))); return Object.values(all).sort((a, b) => game.i18n.localize(a.label).localeCompare(game.i18n.localize(b.label)));
}; };
export const armorPriorityKeys = {
armor: {label: 'DAGGERHEART.CONFIG.ArmorKeys.armor'},
weapon: {label: 'DAGGERHEART.CONFIG.ArmorKeys.weapon'},
consumable: {label: 'DAGGERHEART.CONFIG.ArmorKeys.consumable'},
loot: {label: 'DAGGERHEART.CONFIG.ArmorKeys.loot'},
features: {label: 'DAGGERHEART.CONFIG.ArmorKeys.features'}
}
export const allArmorKeys = () => {
return {...armorPriorityKeys};
}
export const weaponFeatures = { export const weaponFeatures = {
barrier: { barrier: {
label: 'DAGGERHEART.CONFIG.WeaponFeature.barrier.name', label: 'DAGGERHEART.CONFIG.WeaponFeature.barrier.name',

View file

@ -31,6 +31,17 @@ export default class DHArmor extends AttachableItem {
actionIds: new fields.ArrayField(new fields.StringField({ required: true })) actionIds: new fields.ArrayField(new fields.StringField({ required: true }))
}) })
), ),
//Testing new armor schema
armor: new fields.SchemaField({
value: new fields.NumberField({integer: true, min: 0, initial: 0}),
max: new fields.NumberField({ required: true, integer: true, min: 0, initial: 0}),
priority: new fields.StringField({
required: true,
choices: CONFIG.DH.ITEM.allArmorKeys,
initial: CONFIG.DH.ITEM.armorPriorityKeys[0]
})
}),
//End
marks: new fields.SchemaField({ marks: new fields.SchemaField({
value: new fields.NumberField({ initial: 0, integer: true }) value: new fields.NumberField({ initial: 0, integer: true })
}), }),

View file

@ -18,6 +18,17 @@ export default class DHConsumable extends BaseDataItem {
const fields = foundry.data.fields; const fields = foundry.data.fields;
return { return {
...super.defineSchema(), ...super.defineSchema(),
//Testing new armor schema
armor: new fields.SchemaField({
value: new fields.NumberField({integer: true, min: 0, initial: 0}),
max: new fields.NumberField({ required: true, integer: true, min: 0, initial: 0}),
priority: new fields.StringField({
required: true,
choices: CONFIG.DH.ITEM.allArmorKeys,
initial: CONFIG.DH.ITEM.armorPriorityKeys[0]
})
}),
//End
consumeOnUse: new fields.BooleanField({ initial: true }), consumeOnUse: new fields.BooleanField({ initial: true }),
destroyOnEmpty: new fields.BooleanField({ initial: true }) destroyOnEmpty: new fields.BooleanField({ initial: true })
}; };

View file

@ -16,7 +16,18 @@ export default class DHLoot extends BaseDataItem {
/** @inheritDoc */ /** @inheritDoc */
static defineSchema() { static defineSchema() {
return { return {
...super.defineSchema() ...super.defineSchema(),
//Testing new armor schema
armor: new fields.SchemaField({
value: new fields.NumberField({integer: true, min: 0, initial: 0}),
max: new fields.NumberField({ required: true, integer: true, min: 0, initial: 0}),
priority: new fields.StringField({
required: true,
choices: CONFIG.DH.ITEM.allArmorKeys,
initial: CONFIG.DH.ITEM.armorPriorityKeys[0]
})
})
//End
}; };
} }

View file

@ -18,6 +18,17 @@ export default class DHWeapon extends AttachableItem {
const fields = foundry.data.fields; const fields = foundry.data.fields;
return { return {
...super.defineSchema(), ...super.defineSchema(),
//Testing new armor schema
armor: new fields.SchemaField({
value: new fields.NumberField({integer: true, min: 0, initial: 0}),
max: new fields.NumberField({ required: true, integer: true, min: 0, initial: 0}),
priority: new fields.StringField({
required: true,
choices: CONFIG.DH.ITEM.allArmorKeys,
initial: CONFIG.DH.ITEM.armorPriorityKeys[0]
})
}),
//End
tier: new fields.NumberField({ tier: new fields.NumberField({
required: true, required: true,
integer: true, integer: true,