Fix enc for equipments/weapons
All checks were successful
Release Creation / build (release) Successful in 1m34s

This commit is contained in:
2025-07-13 19:30:28 +02:00
parent 8197e3c369
commit d2cbe71731
17 changed files with 71 additions and 38 deletions

View File

@@ -7,11 +7,11 @@ export default class FTLNomadEquipment extends foundry.abstract.TypeDataModel {
const requiredInteger = { required: true, nullable: false, integer: true }
schema.description = new fields.HTMLField({ required: true, textSearch: true })
schema.techAge = new fields.StringField({ required: true, choices: SYSTEM.TECH_AGES, initial : "lateatomic" })
schema.enc = new fields.NumberField({ ...requiredInteger, required: true, initial: 0, min: 0 })
schema.cost = new fields.NumberField({ required: true, initial: 0, min: 0 })
schema.cost = new fields.NumberField({ required: true, initial: 1, min: 0 })
return schema
}

View File

@@ -7,12 +7,12 @@ export default class FTLNomadWeapon extends foundry.abstract.TypeDataModel {
const requiredInteger = { required: true, nullable: false, integer: true }
schema.description = new fields.HTMLField({ required: true, textSearch: true })
schema.techAge = new fields.StringField({ required: true, choices: SYSTEM.TECH_AGES, initial : "lateatomic" })
schema.weaponType = new fields.StringField({ required: true, initial: "melee", choices: SYSTEM.WEAPON_TYPES })
schema.rangeType = new fields.StringField({ required: true, initial: "melee", choices: SYSTEM.WEAPON_RANGE })
schema.damage = new fields.StringField({required: true, initial: "1d6"})
schema.damage = new fields.StringField({required: true, initial: "1d6"})
schema.magazine = new fields.NumberField({ required: true, initial: 1, min: 0 })
schema.range = new fields.SchemaField({
@@ -22,12 +22,12 @@ export default class FTLNomadWeapon extends foundry.abstract.TypeDataModel {
dist: new fields.NumberField({ ...requiredInteger, initial: 0 }),
})
schema.enc = new fields.NumberField({ required: true, initial: 0, min: 0 })
schema.enc = new fields.NumberField({ required: true, initial: 1, min: 0 })
schema.aspect = new fields.StringField({ required: true, initial: ""})
schema.cost = new fields.NumberField({ required: true, initial: 0, min: 0 })
schema.ammoCost = new fields.NumberField({ required: true, initial: 0, min: 0 })
return schema
}

View File

@@ -636,6 +636,28 @@ export default class FTLNomadUtils {
}
}
static async fixWeaponsEnc() {
// Iterate over all items of type "weapon" from compendium
const weapons = game.items.filter(i => i.type === "weapon");
for (const weapon of weapons) {
// If the weapon's encumbrance is less than 1, set it to 1
if (weapon.system.enc < 1) {
await weapon.update({ "system.enc": 1 });
}
}
}
static async fixEquipmentEnc() {
// Iterate over all items of type "equipment" from compendium
const equipments = game.items.filter(i => i.type === "equipment");
for (const equipment of equipments) {
// If the equipment's encumbrance is less than 1, set it to
if (equipment.system.enc < 1) {
await equipment.update({ "system.enc": 1 });
}
}
}
static async importMeleeWeapons() {
// Create a melee weapons folder if it doesn't exist
const meleeWeaponsFolder = game.folders.getName("Melee Weapons") || await Folder.create({