From 4663845c5f77b940a9b720fb80dcb7b2ba992132 Mon Sep 17 00:00:00 2001
From: Peter Varaksin
Date: Tue, 28 Apr 2020 13:52:30 +0300
Subject: [PATCH] Hooks refactor
---
module/actor-sheet.js | 43 -----------------------------------------
module/blades.js | 12 ++++++++----
module/crew-sheet.js | 44 ------------------------------------------
packs/crew_upgrades.db | 2 +-
4 files changed, 9 insertions(+), 92 deletions(-)
diff --git a/module/actor-sheet.js b/module/actor-sheet.js
index 22cb24a..ba0c757 100644
--- a/module/actor-sheet.js
+++ b/module/actor-sheet.js
@@ -98,47 +98,4 @@ export class BladesActorSheet extends ActorSheet {
}
/* -------------------------------------------- */
-
- /** @override */
- async _onDrop (event) {
-
- event.preventDefault();
-
- // Get dropped data
- let data;
- let item;
- try {
- data = JSON.parse(event.dataTransfer.getData('text/plain'));
- } catch (err) {
- return false;
- }
-
- // Add only Items.
- if (data.type === "Item") {
-
- // Import from Compendium
- if (data.pack) {
- const pack = game.packs.find(p => p.collection === data.pack);
- await pack.getEntity(data.id).then(ent => {
- item = ent;
- });
- }
- // Get from Items list.
- else {
- // Class must be distinct.
- item = game.items.get(data.id);
- }
-
- if (item) {
- const actor = this.actor;
- BladesHelpers.removeDuplicatedItemType(item.data.type, actor);
- }
-
- // Call parent on drop logic
- return super._onDrop(event);
- }
-
- }
-
- /* -------------------------------------------- */
}
diff --git a/module/blades.js b/module/blades.js
index 082d3aa..c1213e1 100644
--- a/module/blades.js
+++ b/module/blades.js
@@ -94,10 +94,14 @@ Hooks.once("init", async function() {
/*
* Hooks
*/
-Hooks.on("createOwnedItem", (parent, child, options, userId) => {
- BladesHelpers.callItemLogic(child, parent);
+Hooks.on("preCreateOwnedItem", (parent_entity, child_data, options, userId) => {
+ BladesHelpers.removeDuplicatedItemType(child_data.type, parent_entity);
});
-Hooks.on("deleteOwnedItem", (parent, child, options, userId) => {
- BladesHelpers.undoItemLogic(child, parent);
+Hooks.on("createOwnedItem", (parent_entity, child_data, options, userId) => {
+ BladesHelpers.callItemLogic(child_data, parent_entity);
+});
+
+Hooks.on("deleteOwnedItem", (parent_entity, child_data, options, userId) => {
+ BladesHelpers.undoItemLogic(child_data, parent_entity);
});
diff --git a/module/crew-sheet.js b/module/crew-sheet.js
index e8121f1..0739fd0 100644
--- a/module/crew-sheet.js
+++ b/module/crew-sheet.js
@@ -95,48 +95,4 @@ export class BladesCrewSheet extends ActorSheet {
/* -------------------------------------------- */
- /** @override */
- async _onDrop (event) {
-
- event.preventDefault();
-
- // Get dropped data
- let data;
- let item;
- try {
- data = JSON.parse(event.dataTransfer.getData('text/plain'));
- } catch (err) {
- return false;
- }
-
- // Add only Items.
- if (data.type === "Item") {
-
- // Import from Compendium
- if (data.pack) {
- const pack = game.packs.find(p => p.collection === data.pack);
- await pack.getEntity(data.id).then(ent => {
- item = ent;
- });
- }
- // Get from Items list.
- else {
- // Class must be distinct.
- item = game.items.get(data.id);
- }
-
- if (item) {
- const actor = this.actor;
- BladesHelpers.removeDuplicatedItemType(item.data.type, actor);
- BladesHelpers.callItemLogic(item, actor);
- }
-
- // Call parent on drop logic
- return super._onDrop(event);
- }
-
- }
-
- /* -------------------------------------------- */
-
}
diff --git a/packs/crew_upgrades.db b/packs/crew_upgrades.db
index a69e4d6..4284598 100644
--- a/packs/crew_upgrades.db
+++ b/packs/crew_upgrades.db
@@ -1 +1 @@
-{"_id":"M7k3sdhua5qmJ93M","name":"Vault 1","permission":{"default":0,"BwbqQh8sHfeKmUax":3},"type":"crew_upgrade","data":{"description":"Adds the Vault providing additional 4 Coin space","logic":"{\"attribute\":\"data.vault.max\",\"operator\":\"addition\",\"value\":4,\"requirement\":\"\"}","crew_type":""},"folder":null,"sort":300000,"flags":{}}
\ No newline at end of file
+{"_id":"M7k3sdhua5qmJ93M","name":"Vault 1","permission":{"default":0,"BwbqQh8sHfeKmUax":3},"type":"crew_upgrade","data":{"description":"Adds the Vault providing additional 4 Coin space","logic":"{\"attribute\":\"data.vault.max\",\"operator\":\"addition\",\"value\":4,\"requirement\":\"\"}","crew_type":""},"folder":null,"sort":300000,"flags":{}}