diff --git a/module/actors/actor-sheet.js b/module/actors/actor-sheet.js index 87273d1..3825678 100644 --- a/module/actors/actor-sheet.js +++ b/module/actors/actor-sheet.js @@ -154,7 +154,7 @@ export class ActorSheetKH extends ActorSheet { icon: '', callback: (li) => { let itemId = li.data("itemId"); - let _item = this.actor.items.find((element) => element._id == itemId); + let _item = this.actor.items.find((element) => element.id == itemId); // Retrieve skill based on name let skill = this.actor.items.find((element) => element.name === _item.data.data.skill.value); @@ -186,7 +186,7 @@ export class ActorSheetKH extends ActorSheet { icon: '', callback: (li) => { let itemId = li.data("itemId"); - let _item = this.actor.items.find((element) => element._id == itemId); + let _item = this.actor.items.find((element) => element.id == itemId); let skillName = _item.name let skillValue = _item.data.data.value @@ -214,14 +214,14 @@ export class ActorSheetKH extends ActorSheet { name: game.i18n.localize("MENU.SHOWROLLDIALOG"), icon: '', callback: (li) => { - let itemId = li.data("itemId"); - let _item = this.actor.items.find((element) => element._id == itemId); + let itemId = li.data("item-id"); + let _item = this.actor.items.find((element) => element.id == itemId); if (!_item) { _item = game.items.get(itemId); if (!_item) { - console.log("IMPORT ERROR") + console.log("IMPORT ERROR 1") return } } @@ -406,7 +406,7 @@ export class ActorSheetKH extends ActorSheet { html.find(".item-delete").click((ev) => { let parent = $(ev.currentTarget).data("parent") const li = $(ev.currentTarget).parents(parent); - const item = this.actor.getOwnedItem(li.data("itemId")); + const item = this.actor.items.get(li.data("itemId")); if(item) { if (item.type === "armor") { @@ -417,7 +417,7 @@ export class ActorSheetKH extends ActorSheet { this.actor.items.map((i) => { if (i.type === "armor") { - if (i._id !== item._id && i.data.data.equipable.equipped && i.data?.data?.modifications) { + if (i.id !== item.id && i.data.data.equipable.equipped && i.data?.data?.modifications) { for (let k of Object.keys(i.data.data.modifications)) { if (i.data.data.modifications[k].modtype === "init") { initValue = i.data.data.modifications[k].value; @@ -444,13 +444,13 @@ export class ActorSheetKH extends ActorSheet { let parent = $(ev.currentTarget).data("parent") let li = $(ev.currentTarget).parents(parent); let itemId = li.data("itemId"); - let item = this.actor.getOwnedItem(itemId); + let item = this.actor.items.get(itemId); if (!item) { item = game.items.get(itemId); if (!item) { - console.log("IMPORT ERROR") + console.log("IMPORT ERROR 2") } } @@ -463,13 +463,13 @@ export class ActorSheetKH extends ActorSheet { html.find(".roll-spell-cost").click((ev) => { const li = $(ev.currentTarget).parents(".item-spell"); let itemId = li.data("itemId"); - let spell = this.actor.getOwnedItem(itemId); + let spell = this.actor.items.get(itemId); if (!spell) { spell = game.items.get(itemId); if (!spell) { - console.log("IMPORT ERROR") + console.log("IMPORT ERROR 3") return } } @@ -486,14 +486,14 @@ export class ActorSheetKH extends ActorSheet { html.find(".roll-spell-skill").click((ev) => { const li = $(ev.currentTarget).parents(".item-spell"); - let itemId = li.data("itemId"); - let spell = this.actor.getOwnedItem(itemId); + let itemId = li.data("item-id"); + let spell = this.actor.items.get(itemId); if (!spell) { spell = game.items.get(itemId); if (!spell) { - console.log("IMPORT ERROR") + console.log("IMPORT ERROR 4") return } } @@ -614,8 +614,13 @@ export class ActorSheetKH extends ActorSheet { /* Roll skill */ html.find(".roll-skill").click((ev) => { const li = $(ev.currentTarget).parents(".item-skill"); - let itemId = li.data("itemId"); - let _item = this.actor.items.find((element) => element._id == itemId); + let itemId = li.data("item-id"); + let _item = this.actor.items.find((element) => element.id === itemId); + + console.log(li) + console.log(li.data) + console.log(itemId) + console.log(_item) let skillName = _item.name let skillValue = _item.data.data.value @@ -632,13 +637,13 @@ export class ActorSheetKH extends ActorSheet { html.find(".roll-weapon-skill").click((ev) => { const li = $(ev.currentTarget).parents(".item-weapon"); let itemId = li.data("itemId"); - let weapon = this.actor.getOwnedItem(itemId); + let weapon = this.actor.items.get(itemId); if (!weapon) { weapon = game.items.get(itemId); if (!weapon) { - console.log("IMPORT ERROR") + console.log("IMPORT ERROR 5") return } } @@ -661,13 +666,13 @@ export class ActorSheetKH extends ActorSheet { html.find(".roll-damage").click((ev) => { const li = $(ev.currentTarget).parents(".item-weapon"); let itemId = li.data("itemId"); - let weapon = this.actor.getOwnedItem(itemId); + let weapon = this.actor.items.get(itemId); if (!weapon) { weapon = game.items.get(itemId); if (!weapon) { - console.log("IMPORT ERROR") + console.log("IMPORT ERROR 6") return } } @@ -686,13 +691,13 @@ export class ActorSheetKH extends ActorSheet { html.find(".roll-armor").click((ev) => { const li = $(ev.currentTarget).parents(".item"); let itemId = li.data("itemId"); - let armor = this.actor.getOwnedItem(itemId); + let armor = this.actor.items.get(itemId); if (!armor) { armor = game.items.get(itemId); if (!armor) { - console.log("IMPORT ERROR") + console.log("IMPORT ERROR 7") return } } @@ -747,13 +752,13 @@ export class ActorSheetKH extends ActorSheet { html.find(".roll-attack-damage").click((ev) => { const li = $(ev.currentTarget).parents(".item-attack"); let itemId = li.data("itemId"); - let weapon = this.actor.getOwnedItem(itemId); + let weapon = this.actor.items.get(itemId); if (!weapon) { weapon = game.items.get(itemId); if (!weapon) { - console.log("IMPORT ERROR") + console.log("IMPORT ERROR 8") return } } @@ -906,7 +911,7 @@ export class ActorSheetKH extends ActorSheet { async _toggleEquippedItem(event) { const li = $(event.currentTarget); - const item = this.actor.getOwnedItem(li.data("itemId")); + const item = this.actor.items.get(li.data("itemId")); const actor = this.actor; if(item) { @@ -918,7 +923,7 @@ export class ActorSheetKH extends ActorSheet { actor.items.map((i) => { if(i.type === "armor") { - if(i._id !== item._id && i.data.data.equipable.equipped && i.data?.data?.modifications) { + if(i.id !== item.id && i.data.data.equipable.equipped && i.data?.data?.modifications) { for(let k of Object.keys(i.data.data.modifications)) { if(i.data.data.modifications[k].modtype === "init") { initValue = i.data.data.modifications[k].value; @@ -953,10 +958,10 @@ export class ActorSheetKH extends ActorSheet { const li = $(event.currentTarget).parents(".item"); let itemId = li.data("itemId"); - let item = this.actor.getOwnedItem(itemId); + let item = this.actor.items.get(itemId); if (!item) { - console.log("IMPORT ERROR") + console.log("IMPORT ERROR 9") } item.update({ ["data.quantity.value"]: item.data.data.quantity.value + 1 }); @@ -967,10 +972,10 @@ export class ActorSheetKH extends ActorSheet { const li = $(event.currentTarget).parents(".item"); let itemId = li.data("itemId"); - let item = this.actor.getOwnedItem(itemId); + let item = this.actor.items.get(itemId); if (!item) { - console.log("IMPORT ERROR") + console.log("IMPORT ERROR 10") } let count = item.data.data.quantity.value - 1 > 0 ? item.data.data.quantity.value - 1 : 0; @@ -982,14 +987,14 @@ export class ActorSheetKH extends ActorSheet { event.preventDefault(); const itemId = $(event.currentTarget).data("item-id"); - let _item = this.actor.items.find((element) => element._id == itemId); + let _item = this.actor.items.find((element) => element.id == itemId); if (_item) { let update = { - _id: _item._id, + _id: _item.id, data: { value: $(event.currentTarget).val() }, }; - await this.actor.updateEmbeddedEntity("OwnedItem", update); + await this.actor.updateEmbeddedEntity("Item", [update]); } } @@ -997,20 +1002,23 @@ export class ActorSheetKH extends ActorSheet { event.preventDefault(); const itemId = $(event.currentTarget).data("item-id"); - let _item = this.actor.items.find((element) => element._id == itemId); + let _item = this.actor.items.find((element) => element.id == itemId); + + console.log(_item) + console.log(itemId) if (_item) { let newVal = true; - if(_item.data.data.used !== undefined) { - newVal = !_item.data.data.used; + if(_item.data.used !== undefined) { + newVal = !_item.data.used; } let update = { - _id: _item._id, + _id: _item.id, data: { used: newVal }, }; - await this.actor.updateEmbeddedEntity("OwnedItem", update); + await this.actor.updateEmbeddedEntity("Item", [update]); } } @@ -1026,14 +1034,14 @@ export class ActorSheetKH extends ActorSheet { * @private */ async _itemDetailsToChat(itemId) { - let item = this.actor.getOwnedItem(itemId); + let item = this.actor.items.get(itemId); if (!item) { item = game.items.get(itemId); } if (!item) { - console.log("IMPORT ERROR") + console.log("IMPORT ERROR 11") return } @@ -1041,11 +1049,11 @@ export class ActorSheetKH extends ActorSheet { const html = await renderTemplate("systems/kopparhavet/templates/chat/item-card.html", itemDetails); const messageData = { - user: game.user._id, + user: game.user.id, type: CONST.CHAT_MESSAGE_TYPES.OTHER, content: html, speaker: { - actor: this.actor._id, + actor: this.actor.id, token: this.actor.token, alias: this.actor.name, }, diff --git a/module/helpers/dice-helper.js b/module/helpers/dice-helper.js index a8bbf54..6aec89a 100644 --- a/module/helpers/dice-helper.js +++ b/module/helpers/dice-helper.js @@ -23,9 +23,9 @@ export default class KHDiceRoller { await roll.toMessage({ create: true, content: html, - user: game.user._id, + user: game.user.id, speaker: { - actor: speaker._id, + actor: speaker.id, token: speaker.token, alias: speaker.name, }, @@ -50,9 +50,9 @@ export default class KHDiceRoller { await roll.toMessage({ create: true, content: html, - user: game.user._id, + user: game.user.id, speaker: { - actor: speaker._id, + actor: speaker.id, token: speaker.token, alias: speaker.name, }, @@ -81,9 +81,9 @@ export default class KHDiceRoller { await roll.toMessage({ create: true, content: html, - user: game.user._id, + user: game.user.id, speaker: { - actor: speaker._id, + actor: speaker.id, token: speaker.token, alias: speaker.name, }, @@ -160,9 +160,9 @@ export default class KHDiceRoller { await roll.toMessage({ create: true, content: html, - user: game.user._id, + user: game.user.id, speaker: { - actor: speaker._id, + actor: speaker.id, token: speaker.token, alias: speaker.name, }, @@ -354,9 +354,9 @@ export default class KHDiceRoller { await roll.toMessage({ create: true, content: html, - user: game.user._id, + user: game.user.id, speaker: { - actor: speaker._id, + actor: speaker.id, token: speaker.token, alias: speaker.name, }, @@ -427,9 +427,9 @@ export default class KHDiceRoller { await ChatMessage.create({ create: true, content: html, - user: game.user._id, + user: game.user.id, speaker: { - actor: speaker._id, + actor: speaker.id, token: speaker.token, alias: speaker.name, }, diff --git a/module/items/item-sheet.js b/module/items/item-sheet.js index 1957bf5..3853f5e 100644 --- a/module/items/item-sheet.js +++ b/module/items/item-sheet.js @@ -39,23 +39,24 @@ export class ItemSheetKH extends ItemSheet { let skillList2 if(game.settings.get("kopparhavet", "gameSystem") === "hjaltarnas-tid") { - skillList2 = await game.packs.get("kopparhavet.skills-ht").getContent(); + skillList2 = await game.packs.get("kopparhavet.skills-ht").getDocuments(); } else { - skillList2 = await game.packs.get("kopparhavet.skills").getContent(); + skillList2 = await game.packs.get("kopparhavet.skills").getDocuments(); } for (let item of skillList2) { if(item.data.type === "skill" && item.data.data.type.value === "combat") { - skillList.push(item) + skillList.push(item.data) } } // Retrieve any created skills as well for (let item of game.items.entities) { if(item.data.type === "skill" && item.data.data.type.value === "combat") { - skillList.push(item) + skillList.push(item.data) } } + this.position.width = 530; this.position.height = 750; break; @@ -77,23 +78,24 @@ export class ItemSheetKH extends ItemSheet { let skillList3 if(game.settings.get("kopparhavet", "gameSystem") === "hjaltarnas-tid") { - skillList3 = await game.packs.get("kopparhavet.skills-ht").getContent(); + skillList3 = await game.packs.get("kopparhavet.skills-ht").getDocuments(); } else { - skillList3 = await game.packs.get("kopparhavet.skills").getContent(); + skillList3 = await game.packs.get("kopparhavet.skills").getDocuments(); } for (let item of skillList3) { if(item.data.type === "skill") { - skillList.push(item) + skillList.push(item.data) } } // Retrieve any created skills as well for (let item of game.items.entities) { - if(item.data.type === "skill") { - skillList.push(item) + if(item.data.data.type === "skill") { + skillList.push(item.data) } } + this.position.width = 450; this.position.height = 605; break; @@ -102,21 +104,21 @@ export class ItemSheetKH extends ItemSheet { let skillList4 if(game.settings.get("kopparhavet", "gameSystem") === "hjaltarnas-tid") { - skillList4 = await game.packs.get("kopparhavet.skills-ht").getContent(); + skillList4 = await game.packs.get("kopparhavet.skills-ht").getDocuments(); } else { - skillList4 = await game.packs.get("kopparhavet.skills").getContent(); + skillList4 = await game.packs.get("kopparhavet.skills").getDocuments(); } for (let item of skillList4) { if(item.data.type === "skill" && item.data.data.type.value === "combat") { - skillList.push(item) + skillList.push(item.data) } } // Retrieve any created skills as well for (let item of game.items.entities) { if(item.data.type === "skill" && item.data.data.type.value === "combat") { - skillList.push(item) + skillList.push(item.data) } } this.position.width = 530; diff --git a/module/items/item.js b/module/items/item.js index 62b416b..e1d9d4c 100644 --- a/module/items/item.js +++ b/module/items/item.js @@ -27,7 +27,7 @@ export class ItemKH extends Item { const html = await renderTemplate("systems/kopparhavet/templates/chat/item-card.html", itemData); const chatData = { - user: game.user._id, + user: game.user.id, rollMode: game.settings.get("core", "rollMode"), content: html, }; diff --git a/module/kh-dice.js b/module/kh-dice.js index 8ea7d78..2c2b4fe 100644 --- a/module/kh-dice.js +++ b/module/kh-dice.js @@ -57,7 +57,7 @@ class KHDice { const html2 = await renderTemplate("systems/kopparhavet/templates/dice/roll.html", rollData); await r.toMessage({ - user: game.user._id, + user: game.user.id, create: true, content: html2 }); diff --git a/module/kh-hooks.js b/module/kh-hooks.js index 650d0ce..dfd56f2 100644 --- a/module/kh-hooks.js +++ b/module/kh-hooks.js @@ -10,10 +10,10 @@ export default class KHHooks { actor.update({ "data.currency.shekel.label": "CURRENCY.SILVER" }); actorbaseSkills = CONFIG.KH.baseSkillsHT - skillIndex = await game.packs.get("kopparhavet.skills-ht").getContent(); + skillIndex = await game.packs.get("kopparhavet.skills-ht").getDocuments(); } else { actorbaseSkills = CONFIG.KH.baseSkills; - skillIndex = await game.packs.get("kopparhavet.skills").getContent(); + skillIndex = await game.packs.get("kopparhavet.skills").getDocuments(); } // Check if skill already exists by some chance @@ -23,7 +23,15 @@ export default class KHHooks { // Filter skillIndex array to include only skills for Actor Type. let _skillsList = skillIndex.filter((i) => skillsToAdd.includes(i.data.name)); - await actor.createEmbeddedEntity("OwnedItem", _skillsList); + let _sl = []; + _skillsList.forEach((s) => { + //s.data._source.data["creatureType"] = actor.data.type; + //s.data._source.data["coreSkill"] = true; + _sl.push(s.data); + }); + + await actor.createEmbeddedDocuments("Item", _sl); + //await actor.createEmbeddedDocuments("Item", [_skillsList.toObject()]); } else { setTimeout(async function () { await actor.sheet.render(true); diff --git a/module/kh-main.js b/module/kh-main.js index de96253..0ad6e51 100644 --- a/module/kh-main.js +++ b/module/kh-main.js @@ -9,8 +9,8 @@ import * as migrations from "./helpers/migration-helper.js"; Hooks.once("init", () => { CONFIG.Combat.initiative = { formula: "(@combat.init)d6kh2", decimals: 0 }; - CONFIG.Actor.entityClass = ActorKH; - CONFIG.Item.entityClass = ItemKH; + CONFIG.Actor.documentClass = ActorKH; + CONFIG.Item.documentClass = ItemKH; // Give global access to FFG config. CONFIG.KH = KH; diff --git a/system.json b/system.json index 9f849b6..063d0c1 100644 --- a/system.json +++ b/system.json @@ -2,9 +2,9 @@ "name": "kopparhavet", "title": "Kopparhavets Hjältar", "description": "The Molten Sea is a dangerous but exciting place, where pirates, sorcerers and secretive orders of knighthood struggle for power, wealth and ancient lore.", - "version": "0.0.6", - "minimumCoreVersion": "0.7.5", - "compatibleCoreVersion": "0.7.9", + "version": "0.0.7", + "minimumCoreVersion": "0.8.6", + "compatibleCoreVersion": "0.8.8", "templateVersion": 4, "author": "Erebus", "scripts": [], diff --git a/templates/actors/adversary-sheet.html b/templates/actors/adversary-sheet.html index 360a8c7..4a351df 100644 --- a/templates/actors/adversary-sheet.html +++ b/templates/actors/adversary-sheet.html @@ -8,25 +8,25 @@
- +