New weapon management, including shotgun

This commit is contained in:
2025-07-14 21:33:32 +02:00
parent 61b8da8ccf
commit cdefecdeba
43 changed files with 651 additions and 133 deletions

View File

@@ -13,12 +13,23 @@ export default class CthulhuEternalWeapon extends foundry.abstract.TypeDataModel
schema.weaponType = new fields.StringField({ required: true, initial: "melee", choices: SYSTEM.WEAPON_TYPE })
schema.hasDirectSkill = new fields.BooleanField({ required: true, initial: false })
schema.directSkillValue = new fields.NumberField({ required: true, initial: 0, min: 0, max:99 })
schema.directSkillValue = new fields.NumberField({ required: true, initial: 0, min: 0, max: 99 })
schema.hasDamageDistance = new fields.BooleanField({ required: true, initial: false })
schema.damageDistance = new fields.SchemaField(Array.fromRange(6, 1).reduce((damageDistance, i) => {
damageDistance[`dist${i}`] = new fields.SchemaField({
damage: new fields.StringField({ required: true, initial: "1d6" }),
distance: new fields.NumberField({ ...requiredInteger, initial: 0, min: 0 })
})
return damageDistance
}, {}));
schema.hasSelectiveFire = new fields.BooleanField({ required: true, initial: false })
schema.damage = new fields.StringField({required: true, initial: "1d6"})
schema.hasSight = new fields.BooleanField({ required: true, initial: false })
schema.isStunning = new fields.BooleanField({ required: true, initial: false })
schema.damage = new fields.StringField({ required: true, initial: "1d6" })
schema.applyDamageBonus = new fields.BooleanField({ required: true, initial: false })
schema.baseRange = new fields.StringField({required: true, initial: ""})
schema.baseRange = new fields.StringField({ required: true, initial: "" })
schema.rangeUnit = new fields.StringField({ required: true, initial: "yard", choices: SYSTEM.WEAPON_RANGE_UNIT })
schema.lethality = new fields.NumberField({ required: true, initial: 0, min: 0 })
schema.killRadius = new fields.NumberField({ required: true, initial: 0, min: 0 })
@@ -43,7 +54,8 @@ export default class CthulhuEternalWeapon extends foundry.abstract.TypeDataModel
}
isRanged() {
return this.weaponType.includes("ranged")
console.log("isRanged", this.weaponType, this)
return this.weaponType.match("ranged")
}
isFireArm() {