From 63ebb138f16748e7cdeb11654984e3152de3b526 Mon Sep 17 00:00:00 2001 From: Shaun Date: Sun, 27 Feb 2022 14:11:04 +0200 Subject: [PATCH 1/2] bug #1912 --- src/server/components/equipment.js | 2 +- src/server/components/inventory.js | 8 +------- src/server/components/inventory/getItem.js | 2 +- 3 files changed, 3 insertions(+), 9 deletions(-) diff --git a/src/server/components/equipment.js b/src/server/components/equipment.js index 19384ba0..06e50e3f 100644 --- a/src/server/components/equipment.js +++ b/src/server/components/equipment.js @@ -126,7 +126,7 @@ module.exports = { if ((!obj.mob) || (item.ability)) { if (item.spell) - inventory.learnAbility({ itemId }, item.runeSlot); + inventory.learnAbility({ itemId, runeSlot: item.runeSlot }); else obj.syncer.setArray(true, 'inventory', 'getItems', inventory.simplifyItem(item)); } diff --git a/src/server/components/inventory.js b/src/server/components/inventory.js index 917cd236..2a878178 100644 --- a/src/server/components/inventory.js +++ b/src/server/components/inventory.js @@ -145,13 +145,7 @@ module.exports = { } }, - learnAbility: function (itemId, runeSlot) { - if (itemId.has('itemId')) { - let msg = itemId; - itemId = msg.itemId; - runeSlot = msg.slot; - } - + learnAbility: function ({ itemId, runeSlot }) { let item = this.findItem(itemId); let statValues = this.obj.stats.values; if (!item) diff --git a/src/server/components/inventory/getItem.js b/src/server/components/inventory/getItem.js index a566b332..755b24f0 100644 --- a/src/server/components/inventory/getItem.js +++ b/src/server/components/inventory/getItem.js @@ -124,7 +124,7 @@ module.exports = (cpnInv, item, hideMessage, noStack, hideAlert, createBagIfFull if (item.eq) { if (item.ability) - cpnInv.learnAbility({ itemId: item.id }, item.runeSlot); + cpnInv.learnAbility({ itemId: item.id, runeSlot: item.runeSlot }); else { delete item.eq; obj.equipment.equip({ itemId: item.id }); From 59ec4f5d22ab3b303e2d1970f25d7963f5828c75 Mon Sep 17 00:00:00 2001 From: Shaun Date: Sun, 27 Feb 2022 14:18:22 +0200 Subject: [PATCH 2/2] bug #1912 --- src/client/ui/templates/equipment/equipment.js | 1 + src/server/components/equipment.js | 4 ++-- src/server/components/inventory.js | 18 +++++++++--------- src/server/components/inventory/getItem.js | 2 +- 4 files changed, 13 insertions(+), 12 deletions(-) diff --git a/src/client/ui/templates/equipment/equipment.js b/src/client/ui/templates/equipment/equipment.js index e8ac86e2..cbf4ee13 100644 --- a/src/client/ui/templates/equipment/equipment.js +++ b/src/client/ui/templates/equipment/equipment.js @@ -317,6 +317,7 @@ define([ } method = 'unlearnAbility'; data.itemId = this.hoverCompare.id; + delete data.slot; } } else if (item.slot === 'finger') { data = { diff --git a/src/server/components/equipment.js b/src/server/components/equipment.js index 06e50e3f..babab8d6 100644 --- a/src/server/components/equipment.js +++ b/src/server/components/equipment.js @@ -126,7 +126,7 @@ module.exports = { if ((!obj.mob) || (item.ability)) { if (item.spell) - inventory.learnAbility({ itemId, runeSlot: item.runeSlot }); + inventory.learnAbility({ itemId, slot: item.runeSlot }); else obj.syncer.setArray(true, 'inventory', 'getItems', inventory.simplifyItem(item)); } @@ -164,7 +164,7 @@ module.exports = { if (item.spell) { item.eq = true; - inventory.unlearnAbility({ itemId }, item.runeSlot); + inventory.unlearnAbility({ itemId }); } else obj.syncer.setArray(true, 'inventory', 'getItems', inventory.simplifyItem(item)); diff --git a/src/server/components/inventory.js b/src/server/components/inventory.js index 2a878178..15f51a05 100644 --- a/src/server/components/inventory.js +++ b/src/server/components/inventory.js @@ -145,7 +145,7 @@ module.exports = { } }, - learnAbility: function ({ itemId, runeSlot }) { + learnAbility: function ({ itemId, slot }) { let item = this.findItem(itemId); let statValues = this.obj.stats.values; if (!item) @@ -173,20 +173,20 @@ module.exports = { let spellbook = this.obj.spellbook; if ((item.slot === 'twoHanded') || (item.slot === 'oneHanded')) - runeSlot = 0; - else if (!runeSlot) { - runeSlot = 4; + slot = 0; + else if (!slot) { + slot = 4; for (let i = 1; i <= 4; i++) { if (!this.items.some(j => (j.runeSlot === i))) { - runeSlot = i; + slot = i; break; } } } - let currentEq = this.items.find(i => (i.runeSlot === runeSlot)); + let currentEq = this.items.find(i => (i.runeSlot === slot)); if (currentEq) { - spellbook.removeSpellById(runeSlot); + spellbook.removeSpellById(slot); delete currentEq.eq; delete currentEq.runeSlot; this.setItemPosition(currentEq.id); @@ -194,10 +194,10 @@ module.exports = { } item.eq = true; - item.runeSlot = runeSlot; + item.runeSlot = slot; delete item.pos; - spellbook.addSpellFromRune(item.spell, runeSlot); + spellbook.addSpellFromRune(item.spell, slot); this.obj.syncer.setArray(true, 'inventory', 'getItems', item); }, diff --git a/src/server/components/inventory/getItem.js b/src/server/components/inventory/getItem.js index 755b24f0..b97e9b3b 100644 --- a/src/server/components/inventory/getItem.js +++ b/src/server/components/inventory/getItem.js @@ -124,7 +124,7 @@ module.exports = (cpnInv, item, hideMessage, noStack, hideAlert, createBagIfFull if (item.eq) { if (item.ability) - cpnInv.learnAbility({ itemId: item.id, runeSlot: item.runeSlot }); + cpnInv.learnAbility({ itemId: item.id, slot: item.runeSlot }); else { delete item.eq; obj.equipment.equip({ itemId: item.id });