diff --git a/langs/en-ca.2.json b/langs/en-ca.2.json index cdf74a9..ae5e9b7 100644 --- a/langs/en-ca.2.json +++ b/langs/en-ca.2.json @@ -68,13 +68,20 @@ "rare": "Rare", "legendary": "Legendary" }, + "location": { + "unknown": "@dotdungeon.common.empty", + "inventory": "Inventory", + "equipped": "Equipped", + "storage": "Storage" + }, "default": { "name": "(Unnamed @TYPES.{document}.{type})" }, "common": { "send-to-chat": "Send to Chat", "edit": "Edit", - "delete": "Delete" + "delete": "Delete", + "empty": "---" }, "sheet-names": { "UntypedDataSheet": "Data Sheet" diff --git a/module/documents/Item/GenericItem.mjs b/module/documents/Item/GenericItem.mjs index eb8b7c1..786824e 100644 --- a/module/documents/Item/GenericItem.mjs +++ b/module/documents/Item/GenericItem.mjs @@ -12,4 +12,13 @@ export class DotDungeonItem extends Item { }; return this.system.quantity; }; + + get availableLocations() { + return [ + { value: null, label: `dotdungeon.location.unknown` }, + { value: `inventory`, label: `dotdungeon.location.inventory` }, + { value: `equipped`, label: `dotdungeon.location.equipped` }, + { value: `storage`, label: `dotdungeon.location.storage` }, + ]; + }; }; diff --git a/module/helpers/index.mjs b/module/helpers/index.mjs index ee573e7..b48baa3 100644 --- a/module/helpers/index.mjs +++ b/module/helpers/index.mjs @@ -2,7 +2,7 @@ import { schemaOptions } from "./schemaOptions.mjs"; import { createArray } from "./createArray.mjs"; import { detailsExpanded } from "./detailsExpanded.mjs"; import { objectValue } from "./objectValue.mjs"; -import { handlebarsLocalizer } from "../utils/localizer.mjs"; +import { handlebarsLocalizer, localizer } from "../utils/localizer.mjs"; import { options } from "./options.mjs"; export default { @@ -19,7 +19,7 @@ export default { "dd-stringify": v => JSON.stringify(v, null, ` `), "dd-empty": v => v.length == 0, "dd-set-has": (s, k) => s.has(k), - "dd-empty-state": (v) => v ?? `--`, + "dd-empty-state": (v) => v ?? localizer(`dotdungeon.common.empty`), // Logic helpers "eq": (a, b) => a == b, diff --git a/module/models/Item/CommonItemData.mjs b/module/models/Item/CommonItemData.mjs index 4fded0f..9e11800 100644 --- a/module/models/Item/CommonItemData.mjs +++ b/module/models/Item/CommonItemData.mjs @@ -42,16 +42,8 @@ export class CommonItemData extends foundry.abstract.TypeDataModel { nullable: false, }), location: new fields.StringField({ - initial: null, - nullable: true, - /* - "equipped" = on player, actively having an effect (e.g. armour - is worn, weapon is held), not all items have an equipped state - "inventory" = on player, equivalent to being put in a backpack - "storage" = not on player at all, in a chest in their house or - smth, these items should be displayed in the storage tab - */ - choices: ["equipped", "inventory", "storage"], + initial: "", + nullable: false, }), }; }; diff --git a/templates/items/untyped/v2/tabs/details.v2.untyped.hbs b/templates/items/untyped/v2/tabs/details.v2.untyped.hbs index e86e96e..000ac35 100644 --- a/templates/items/untyped/v2/tabs/details.v2.untyped.hbs +++ b/templates/items/untyped/v2/tabs/details.v2.untyped.hbs @@ -53,8 +53,20 @@ {{/if}} {{#if meta.isEmbedded}} -