Add weight ratings and localize the Access field (and add it to items that should but don't have it)

This commit is contained in:
Oliver-Akins 2025-02-20 20:36:27 -07:00
parent 40ba46fc6b
commit 329c45dad9
7 changed files with 69 additions and 29 deletions

View file

@ -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,
})),
],

View file

@ -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,
})),
],

View file

@ -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,
})),
],

View file

@ -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) {

View file

@ -42,4 +42,9 @@ export const gameTerms = Object.preventExtensions({
`shield`,
`good`,
]),
WeightRatings: Object.freeze({
LIGHT: `light`,
MODEST: `modest`,
HEAVY: `heavy`,
}),
});