diff --git a/module/data/Item/Weapon.mjs b/module/data/Item/Weapon.mjs index 237b78c..5e610f3 100644 --- a/module/data/Item/Weapon.mjs +++ b/module/data/Item/Weapon.mjs @@ -1,3 +1,5 @@ +import { optionalInteger } from "../helpers.mjs"; + const { fields } = foundry.data; export class WeaponData extends foundry.abstract.TypeDataModel { @@ -14,6 +16,10 @@ export class WeaponData extends foundry.abstract.TypeDataModel { required: true, }, ), + range: new fields.SchemaField({ + short: optionalInteger(), + long: optionalInteger(), + }), }; }; diff --git a/module/data/helpers.mjs b/module/data/helpers.mjs index 37d92c2..62e1590 100644 --- a/module/data/helpers.mjs +++ b/module/data/helpers.mjs @@ -18,3 +18,14 @@ export function barAttribute(min, initial, max = undefined) { }), }); }; + +export function optionalInteger({min, initial = null, max} = {}) { + return new fields.NumberField({ + min, + initial, + max, + required: true, + nullable: true, + integer: true, + }); +};