diff --git a/langs/en-ca.json b/langs/en-ca.json index 134593a..ac5a6bb 100644 --- a/langs/en-ca.json +++ b/langs/en-ca.json @@ -29,7 +29,8 @@ "thin-glim": "Thin Glim" }, "ability": "Ability", - "access": { + "access": "Access", + "accessLevels": { "Common": "Common", "Uncommon": "Uncommon", "Rare": "Rare", @@ -100,7 +101,13 @@ "singular": "Weapon", "plural": "Weapons" }, - "wear": "Wear" + "wear": "Wear", + "weightRating": "Weight", + "weightRatings": { + "light": "Light", + "modest": "Modest", + "heavy": "Heavy" + } }, "setting": { "abbrAccess": { diff --git a/module/data/Item/Ammo.mjs b/module/data/Item/Ammo.mjs index 79733cd..a3aa54b 100644 --- a/module/data/Item/Ammo.mjs +++ b/module/data/Item/Ammo.mjs @@ -29,7 +29,7 @@ export class AmmoData extends CommonItemData { { id: `access`, type: `dropdown`, - label: `Access`, + label: `RipCrypt.common.access`, path: `system.access`, value: this.access, limited: false, @@ -39,7 +39,7 @@ export class AmmoData extends CommonItemData { value: ``, }, ...gameTerms.Access.map(opt => ({ - label: `RipCrypt.common.access.${opt}`, + label: `RipCrypt.common.accessLevels.${opt}`, value: opt, })), ], diff --git a/module/data/Item/Armour.mjs b/module/data/Item/Armour.mjs index 4883219..5d56510 100644 --- a/module/data/Item/Armour.mjs +++ b/module/data/Item/Armour.mjs @@ -31,6 +31,12 @@ export class ArmourData extends CommonItemData { required: true, nullable: false, }), + weight: new fields.StringField({ + blank: false, + nullable: true, + initial: null, + options: Object.values(gameTerms.WeightRatings), + }), }; }; @@ -119,7 +125,7 @@ export class ArmourData extends CommonItemData { { id: `access`, type: `dropdown`, - label: `Access`, + label: `RipCrypt.common.access`, path: `system.access`, value: this.access, limited: false, @@ -129,7 +135,24 @@ export class ArmourData extends CommonItemData { value: ``, }, ...gameTerms.Access.map(opt => ({ - label: `RipCrypt.common.access.${opt}`, + label: `RipCrypt.common.accessLevels.${opt}`, + value: opt, + })), + ], + }, + { + id: `weight`, + type: `dropdown`, + label: `RipCrypt.common.weightRating`, + path: `system.weight`, + value: this.weight, + options: [ + { + label: `RipCrypt.common.empty`, + value: null, + }, + ...Object.values(gameTerms.WeightRatings).map(opt => ({ + label: `RipCrypt.common.weightRatings.${opt}`, value: opt, })), ], diff --git a/module/data/Item/Good.mjs b/module/data/Item/Good.mjs index f5d9ead..0194609 100644 --- a/module/data/Item/Good.mjs +++ b/module/data/Item/Good.mjs @@ -44,7 +44,7 @@ export class GoodData extends CommonItemData { { id: `access`, type: `dropdown`, - label: `Access`, + label: `RipCrypt.common.access`, path: `system.access`, value: this.access, limited: false, @@ -54,7 +54,7 @@ export class GoodData extends CommonItemData { value: ``, }, ...gameTerms.Access.map(opt => ({ - label: `RipCrypt.common.access.${opt}`, + label: `RipCrypt.common.accessLevels.${opt}`, value: opt, })), ], diff --git a/module/data/Item/Weapon.mjs b/module/data/Item/Weapon.mjs index 5f648a2..5242f25 100644 --- a/module/data/Item/Weapon.mjs +++ b/module/data/Item/Weapon.mjs @@ -33,6 +33,12 @@ export class WeaponData extends CommonItemData { required: true, nullable: false, }), + weight: new fields.StringField({ + blank: false, + nullable: true, + initial: null, + options: Object.values(gameTerms.WeightRatings), + }), }; }; @@ -94,7 +100,7 @@ export class WeaponData extends CommonItemData { { id: `access`, type: `dropdown`, - label: `Access`, + label: `RipCrypt.common.access`, path: `system.access`, value: this.access, limited: false, @@ -104,7 +110,24 @@ export class WeaponData extends CommonItemData { value: ``, }, ...gameTerms.Access.map(opt => ({ - label: `RipCrypt.common.access.${opt}`, + label: `RipCrypt.common.accessLevels.${opt}`, + value: opt, + })), + ], + }, + { + id: `weight`, + type: `dropdown`, + label: `RipCrypt.common.weightRating`, + path: `system.weight`, + value: this.weight, + options: [ + { + label: `RipCrypt.common.empty`, + value: null, + }, + ...Object.values(gameTerms.WeightRatings).map(opt => ({ + label: `RipCrypt.common.weightRatings.${opt}`, value: opt, })), ], @@ -180,24 +203,6 @@ export class WeaponData extends CommonItemData { min: 0, }, }, - { - id: `access`, - type: `dropdown`, - label: `Access`, - path: `system.access`, - value: this.access, - limited: false, - options: [ - { - label: `RipCrypt.common.empty`, - value: ``, - }, - ...gameTerms.Access.map(opt => ({ - label: `RipCrypt.common.access.${opt}`, - value: opt, - })), - ], - }, ); if (this.parent.isEmbedded) { diff --git a/module/gameTerms.mjs b/module/gameTerms.mjs index 3e3bfff..5bcbe71 100644 --- a/module/gameTerms.mjs +++ b/module/gameTerms.mjs @@ -42,4 +42,9 @@ export const gameTerms = Object.preventExtensions({ `shield`, `good`, ]), + WeightRatings: Object.freeze({ + LIGHT: `light`, + MODEST: `modest`, + HEAVY: `heavy`, + }), }); diff --git a/templates/Apps/AllItemSheetV1/style.css b/templates/Apps/AllItemSheetV1/style.css index acac966..59089ef 100644 --- a/templates/Apps/AllItemSheetV1/style.css +++ b/templates/Apps/AllItemSheetV1/style.css @@ -23,7 +23,7 @@ grid-template-columns: auto 200px; column-gap: var(--col-gap); row-gap: var(--row-gap); - max-width: 300px; + max-width: 350px; padding: 8px; background: var(--base-background);