diff --git a/rpg-docs/Model/Inventory/Items.js b/rpg-docs/Model/Inventory/Items.js index 20f5b902..649233fb 100644 --- a/rpg-docs/Model/Inventory/Items.js +++ b/rpg-docs/Model/Inventory/Items.js @@ -9,6 +9,7 @@ Schemas.Item = new SimpleSchema({ weight: {type: Number, min: 0, defaultValue: 0, decimal: true}, value: {type: Number, min: 0, defaultValue: 0, decimal: true}, enabled: {type: Boolean, defaultValue: false}, + requiresAttunement: {type: Boolean, defaultValue: false}, color: {type: String, allowedValues: _.pluck(colorOptions, "key"), defaultValue: "q"} }); diff --git a/rpg-docs/client/views/character/inventory/inventory.html b/rpg-docs/client/views/character/inventory/inventory.html index 7400496a..08f0d26f 100644 --- a/rpg-docs/client/views/character/inventory/inventory.html +++ b/rpg-docs/client/views/character/inventory/inventory.html @@ -30,6 +30,13 @@
{{round equipmentWeight}}lbs
+ {{#if attuned.count}} +
Attuned
+ {{/if}} + {{#each attuned}} + {{>inventoryItem}} + {{/each}} +
{{name}}
{{#each equipment}} {{>inventoryItem}} {{/each}} diff --git a/rpg-docs/client/views/character/inventory/inventory.js b/rpg-docs/client/views/character/inventory/inventory.js index 4393567d..15aa8a49 100644 --- a/rpg-docs/client/views/character/inventory/inventory.js +++ b/rpg-docs/client/views/character/inventory/inventory.js @@ -9,8 +9,11 @@ Template.inventory.helpers({ items: function(charId, containerId){ return Items.find({charId: charId, "parent.id": containerId }, {sort: {color: 1, name: 1}}); }, + attuned: function(){ + return Items.find({ charId: this._id, enabled: true, requiresAttunement: true }, {sort: {color: 1, name: 1}}); + }, equipment: function(){ - return Items.find({ charId: this._id, enabled: true }, {sort: {color: 1, name: 1}}); + return Items.find({ charId: this._id, enabled: true, requiresAttunement: false }, {sort: {color: 1, name: 1}}); }, carriedItems: function(){ return Items.find({charId: this._id, enabled: false, "parent.id": this._id}, {sort: {color: 1, name: 1}}); diff --git a/rpg-docs/client/views/character/inventory/itemDialog/itemDialog.html b/rpg-docs/client/views/character/inventory/itemDialog/itemDialog.html index d51170a9..dbf6a32e 100644 --- a/rpg-docs/client/views/character/inventory/itemDialog/itemDialog.html +++ b/rpg-docs/client/views/character/inventory/itemDialog/itemDialog.html @@ -25,6 +25,11 @@ touch-action="pan-y">
+ +
+
Requires Attunement
+ +
diff --git a/rpg-docs/client/views/character/inventory/itemDialog/itemDialog.js b/rpg-docs/client/views/character/inventory/itemDialog/itemDialog.js index 7cbf10d1..3962b5b8 100644 --- a/rpg-docs/client/views/character/inventory/itemDialog/itemDialog.js +++ b/rpg-docs/client/views/character/inventory/itemDialog/itemDialog.js @@ -24,24 +24,24 @@ Template.itemDialog.events({ GlobalUI.closeDetail(); }, //TODO validate input (integer, non-negative, etc) for these inputs and give validation errors - "change #itemNameInput, input #itemNameInput": function(event){ + "change #itemNameInput": function(event){ console.log("changed Nameinput"); var name = Template.instance().find("#itemNameInput").value; Items.update(this._id, {$set: {name: name}}); }, - "change #itemPluralInput, input #itemPluralInput": function(event){ + "change #itemPluralInput": function(event){ var plural = Template.instance().find("#itemPluralInput").value; Items.update(this._id, {$set: {plural: plural}}); }, - "change #quantityInput, input #quantityInput": function(event){ + "change #quantityInput": function(event){ var quantity = +Template.instance().find("#quantityInput").value; Items.update(this._id, {$set: {quantity: quantity}}); }, - "change #weightInput, input #weightInput": function(event){ + "change #weightInput": function(event){ var weight = +Template.instance().find("#weightInput").value; Items.update(this._id, {$set: {weight: weight}}); }, - "change #valueInput, input #valueInput": function(event){ + "change #valueInput": function(event){ var value = +Template.instance().find("#valueInput").value; Items.update(this._id, {$set: {value: value}}); }, @@ -60,6 +60,10 @@ Template.itemDialog.events({ } } }, + "change #attunementCheckbox": function(event){ + var value = event.currentTarget.checked; + Items.update(this._id, {$set: {requiresAttunement: value}}); + }, "core-select #containerDropDown": function(event){ var detail = event.originalEvent.detail; if(!detail.isSelected) return;