From 0e9218fbd34fc943bd70d0531d4d4a29e5a8452e Mon Sep 17 00:00:00 2001 From: Oliver-Akins Date: Wed, 25 Dec 2024 22:12:22 -0700 Subject: [PATCH] RC-40 | Weapon | Range --- module/data/Item/Weapon.mjs | 6 ++++++ module/data/helpers.mjs | 11 +++++++++++ 2 files changed, 17 insertions(+) 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, + }); +};