From af6bc6cf25e11c03725b522de23b0f74180bfcf2 Mon Sep 17 00:00:00 2001 From: MobiusDevelopment <8391001+MobiusDevelopment@users.noreply.github.com> Date: Thu, 29 Oct 2020 22:29:45 +0000 Subject: [PATCH] Unhardcoded and simplified artifact equip method. --- .../model/itemcontainer/Inventory.java | 162 +++--------------- .../model/itemcontainer/Inventory.java | 162 +++--------------- .../model/itemcontainer/Inventory.java | 162 +++--------------- .../model/itemcontainer/Inventory.java | 162 +++--------------- .../model/itemcontainer/Inventory.java | 162 +++--------------- .../gameserver/model/items/Item.java | 8 + .../model/itemcontainer/Inventory.java | 162 +++--------------- .../gameserver/model/items/Item.java | 8 + .../model/itemcontainer/Inventory.java | 162 +++--------------- .../gameserver/model/items/Item.java | 8 + .../model/itemcontainer/Inventory.java | 162 +++--------------- .../gameserver/model/items/Item.java | 8 + 12 files changed, 240 insertions(+), 1088 deletions(-) diff --git a/L2J_Mobius_5.5_EtinasFate/java/org/l2jmobius/gameserver/model/itemcontainer/Inventory.java b/L2J_Mobius_5.5_EtinasFate/java/org/l2jmobius/gameserver/model/itemcontainer/Inventory.java index a66477f5ba..e0ed643258 100644 --- a/L2J_Mobius_5.5_EtinasFate/java/org/l2jmobius/gameserver/model/itemcontainer/Inventory.java +++ b/L2J_Mobius_5.5_EtinasFate/java/org/l2jmobius/gameserver/model/itemcontainer/Inventory.java @@ -2161,168 +2161,58 @@ public abstract class Inventory extends ItemContainer private void equipArtifact(ItemInstance item) { - if (getArtifactSlots() == 0) + final int slotNumber = getArtifactSlots(); + if (slotNumber == 0) { return; } - switch (getArtifactSlots()) + switch (item.getItem().getArtifactSlot()) { - case 1: + case 1: // Attack { - // 4 Balance Artifact Equip - if ((item.getId() >= 48969) && (item.getId() <= 48985)) + for (int i = PAPERDOLL_ARTIFACT13; i < (PAPERDOLL_ARTIFACT13 + slotNumber); i++) { - for (int i = PAPERDOLL_ARTIFACT1; i < (PAPERDOLL_ARTIFACT1 + 4); i++) + if (_paperdoll[i] == null) { - if (_paperdoll[i] == null) - { - setPaperdollItem(i, item); - return; - } - } - } - - // 1 Spirit Artifact Equip - if ((item.getId() >= 48957) && (item.getId() <= 48960)) - { - for (int i = PAPERDOLL_ARTIFACT13; i < (PAPERDOLL_ARTIFACT13 + 1); i++) - { - if (_paperdoll[i] == null) - { - setPaperdollItem(i, item); - return; - } - } - } - // 1 Protection Artifact Equip - if ((item.getId() >= 48961) && (item.getId() <= 48964)) - { - for (int i = PAPERDOLL_ARTIFACT16; i < (PAPERDOLL_ARTIFACT16 + 1); i++) - { - if (_paperdoll[i] == null) - { - setPaperdollItem(i, item); - return; - } - } - } - // 1 Support Artifact Equip - if ((item.getId() >= 48965) && (item.getId() <= 48968)) - { - for (int i = PAPERDOLL_ARTIFACT19; i < (PAPERDOLL_ARTIFACT19 + 1); i++) - { - if (_paperdoll[i] == null) - { - setPaperdollItem(i, item); - return; - } + setPaperdollItem(i, item); + return; } } break; } - case 2: + case 2: // Protection { - // 8 Balance Artifact Equip - if ((item.getId() >= 48969) && (item.getId() <= 48985)) + for (int i = PAPERDOLL_ARTIFACT16; i < (PAPERDOLL_ARTIFACT16 + slotNumber); i++) { - for (int i = PAPERDOLL_ARTIFACT1; i < (PAPERDOLL_ARTIFACT1 + 8); i++) + if (_paperdoll[i] == null) { - if (_paperdoll[i] == null) - { - setPaperdollItem(i, item); - return; - } - } - } - - // 2 Spirit Artifact Equip - if ((item.getId() >= 48957) && (item.getId() <= 48960)) - { - for (int i = PAPERDOLL_ARTIFACT13; i < (PAPERDOLL_ARTIFACT13 + 2); i++) - { - if (_paperdoll[i] == null) - { - setPaperdollItem(i, item); - return; - } - } - } - // 2 Protection Artifact Equip - if ((item.getId() >= 48961) && (item.getId() <= 48964)) - { - for (int i = PAPERDOLL_ARTIFACT16; i < (PAPERDOLL_ARTIFACT16 + 2); i++) - { - if (_paperdoll[i] == null) - { - setPaperdollItem(i, item); - return; - } - } - } - // 2 Support Artifact Equip - if ((item.getId() >= 48965) && (item.getId() <= 48968)) - { - for (int i = PAPERDOLL_ARTIFACT19; i < (PAPERDOLL_ARTIFACT19 + 2); i++) - { - if (_paperdoll[i] == null) - { - setPaperdollItem(i, item); - return; - } + setPaperdollItem(i, item); + return; } } break; } - case 3: + case 3: // Support { - // 12 Balance Artifact Equip - if ((item.getId() >= 48969) && (item.getId() <= 48985)) + for (int i = PAPERDOLL_ARTIFACT19; i < (PAPERDOLL_ARTIFACT19 + slotNumber); i++) { - for (int i = PAPERDOLL_ARTIFACT1; i < (PAPERDOLL_ARTIFACT1 + 12); i++) + if (_paperdoll[i] == null) { - if (_paperdoll[i] == null) - { - setPaperdollItem(i, item); - return; - } + setPaperdollItem(i, item); + return; } } - - // 3 Spirit Artifact Equip - if ((item.getId() >= 48957) && (item.getId() <= 48960)) + break; + } + case 4: // Balance + { + for (int i = PAPERDOLL_ARTIFACT1; i < (PAPERDOLL_ARTIFACT1 + (4 * slotNumber)); i++) { - for (int i = PAPERDOLL_ARTIFACT13; i < (PAPERDOLL_ARTIFACT13 + 3); i++) + if (_paperdoll[i] == null) { - if (_paperdoll[i] == null) - { - setPaperdollItem(i, item); - return; - } - } - } - // 3 Protection Artifact Equip - if ((item.getId() >= 48961) && (item.getId() <= 48964)) - { - for (int i = PAPERDOLL_ARTIFACT16; i < (PAPERDOLL_ARTIFACT16 + 3); i++) - { - if (_paperdoll[i] == null) - { - setPaperdollItem(i, item); - return; - } - } - } - // 3 Support Artifact Equip - if ((item.getId() >= 48965) && (item.getId() <= 48968)) - { - for (int i = PAPERDOLL_ARTIFACT19; i < (PAPERDOLL_ARTIFACT19 + 3); i++) - { - if (_paperdoll[i] == null) - { - setPaperdollItem(i, item); - return; - } + setPaperdollItem(i, item); + return; } } break; diff --git a/L2J_Mobius_6.0_Fafurion/java/org/l2jmobius/gameserver/model/itemcontainer/Inventory.java b/L2J_Mobius_6.0_Fafurion/java/org/l2jmobius/gameserver/model/itemcontainer/Inventory.java index a66477f5ba..e0ed643258 100644 --- a/L2J_Mobius_6.0_Fafurion/java/org/l2jmobius/gameserver/model/itemcontainer/Inventory.java +++ b/L2J_Mobius_6.0_Fafurion/java/org/l2jmobius/gameserver/model/itemcontainer/Inventory.java @@ -2161,168 +2161,58 @@ public abstract class Inventory extends ItemContainer private void equipArtifact(ItemInstance item) { - if (getArtifactSlots() == 0) + final int slotNumber = getArtifactSlots(); + if (slotNumber == 0) { return; } - switch (getArtifactSlots()) + switch (item.getItem().getArtifactSlot()) { - case 1: + case 1: // Attack { - // 4 Balance Artifact Equip - if ((item.getId() >= 48969) && (item.getId() <= 48985)) + for (int i = PAPERDOLL_ARTIFACT13; i < (PAPERDOLL_ARTIFACT13 + slotNumber); i++) { - for (int i = PAPERDOLL_ARTIFACT1; i < (PAPERDOLL_ARTIFACT1 + 4); i++) + if (_paperdoll[i] == null) { - if (_paperdoll[i] == null) - { - setPaperdollItem(i, item); - return; - } - } - } - - // 1 Spirit Artifact Equip - if ((item.getId() >= 48957) && (item.getId() <= 48960)) - { - for (int i = PAPERDOLL_ARTIFACT13; i < (PAPERDOLL_ARTIFACT13 + 1); i++) - { - if (_paperdoll[i] == null) - { - setPaperdollItem(i, item); - return; - } - } - } - // 1 Protection Artifact Equip - if ((item.getId() >= 48961) && (item.getId() <= 48964)) - { - for (int i = PAPERDOLL_ARTIFACT16; i < (PAPERDOLL_ARTIFACT16 + 1); i++) - { - if (_paperdoll[i] == null) - { - setPaperdollItem(i, item); - return; - } - } - } - // 1 Support Artifact Equip - if ((item.getId() >= 48965) && (item.getId() <= 48968)) - { - for (int i = PAPERDOLL_ARTIFACT19; i < (PAPERDOLL_ARTIFACT19 + 1); i++) - { - if (_paperdoll[i] == null) - { - setPaperdollItem(i, item); - return; - } + setPaperdollItem(i, item); + return; } } break; } - case 2: + case 2: // Protection { - // 8 Balance Artifact Equip - if ((item.getId() >= 48969) && (item.getId() <= 48985)) + for (int i = PAPERDOLL_ARTIFACT16; i < (PAPERDOLL_ARTIFACT16 + slotNumber); i++) { - for (int i = PAPERDOLL_ARTIFACT1; i < (PAPERDOLL_ARTIFACT1 + 8); i++) + if (_paperdoll[i] == null) { - if (_paperdoll[i] == null) - { - setPaperdollItem(i, item); - return; - } - } - } - - // 2 Spirit Artifact Equip - if ((item.getId() >= 48957) && (item.getId() <= 48960)) - { - for (int i = PAPERDOLL_ARTIFACT13; i < (PAPERDOLL_ARTIFACT13 + 2); i++) - { - if (_paperdoll[i] == null) - { - setPaperdollItem(i, item); - return; - } - } - } - // 2 Protection Artifact Equip - if ((item.getId() >= 48961) && (item.getId() <= 48964)) - { - for (int i = PAPERDOLL_ARTIFACT16; i < (PAPERDOLL_ARTIFACT16 + 2); i++) - { - if (_paperdoll[i] == null) - { - setPaperdollItem(i, item); - return; - } - } - } - // 2 Support Artifact Equip - if ((item.getId() >= 48965) && (item.getId() <= 48968)) - { - for (int i = PAPERDOLL_ARTIFACT19; i < (PAPERDOLL_ARTIFACT19 + 2); i++) - { - if (_paperdoll[i] == null) - { - setPaperdollItem(i, item); - return; - } + setPaperdollItem(i, item); + return; } } break; } - case 3: + case 3: // Support { - // 12 Balance Artifact Equip - if ((item.getId() >= 48969) && (item.getId() <= 48985)) + for (int i = PAPERDOLL_ARTIFACT19; i < (PAPERDOLL_ARTIFACT19 + slotNumber); i++) { - for (int i = PAPERDOLL_ARTIFACT1; i < (PAPERDOLL_ARTIFACT1 + 12); i++) + if (_paperdoll[i] == null) { - if (_paperdoll[i] == null) - { - setPaperdollItem(i, item); - return; - } + setPaperdollItem(i, item); + return; } } - - // 3 Spirit Artifact Equip - if ((item.getId() >= 48957) && (item.getId() <= 48960)) + break; + } + case 4: // Balance + { + for (int i = PAPERDOLL_ARTIFACT1; i < (PAPERDOLL_ARTIFACT1 + (4 * slotNumber)); i++) { - for (int i = PAPERDOLL_ARTIFACT13; i < (PAPERDOLL_ARTIFACT13 + 3); i++) + if (_paperdoll[i] == null) { - if (_paperdoll[i] == null) - { - setPaperdollItem(i, item); - return; - } - } - } - // 3 Protection Artifact Equip - if ((item.getId() >= 48961) && (item.getId() <= 48964)) - { - for (int i = PAPERDOLL_ARTIFACT16; i < (PAPERDOLL_ARTIFACT16 + 3); i++) - { - if (_paperdoll[i] == null) - { - setPaperdollItem(i, item); - return; - } - } - } - // 3 Support Artifact Equip - if ((item.getId() >= 48965) && (item.getId() <= 48968)) - { - for (int i = PAPERDOLL_ARTIFACT19; i < (PAPERDOLL_ARTIFACT19 + 3); i++) - { - if (_paperdoll[i] == null) - { - setPaperdollItem(i, item); - return; - } + setPaperdollItem(i, item); + return; } } break; diff --git a/L2J_Mobius_7.0_PreludeOfWar/java/org/l2jmobius/gameserver/model/itemcontainer/Inventory.java b/L2J_Mobius_7.0_PreludeOfWar/java/org/l2jmobius/gameserver/model/itemcontainer/Inventory.java index 7343f42775..09109b471b 100644 --- a/L2J_Mobius_7.0_PreludeOfWar/java/org/l2jmobius/gameserver/model/itemcontainer/Inventory.java +++ b/L2J_Mobius_7.0_PreludeOfWar/java/org/l2jmobius/gameserver/model/itemcontainer/Inventory.java @@ -2145,168 +2145,58 @@ public abstract class Inventory extends ItemContainer private void equipArtifact(ItemInstance item) { - if (getArtifactSlots() == 0) + final int slotNumber = getArtifactSlots(); + if (slotNumber == 0) { return; } - switch (getArtifactSlots()) + switch (item.getItem().getArtifactSlot()) { - case 1: + case 1: // Attack { - // 4 Balance Artifact Equip - if (((item.getId() >= 48969) && (item.getId() <= 48985)) || ((item.getId() >= 80656) && (item.getId() <= 80662))) + for (int i = PAPERDOLL_ARTIFACT13; i < (PAPERDOLL_ARTIFACT13 + slotNumber); i++) { - for (int i = PAPERDOLL_ARTIFACT1; i < (PAPERDOLL_ARTIFACT1 + 4); i++) + if (_paperdoll[i] == null) { - if (_paperdoll[i] == null) - { - setPaperdollItem(i, item); - return; - } - } - } - - // 1 Spirit Artifact Equip - if (((item.getId() >= 48957) && (item.getId() <= 48960)) || ((item.getId() >= 80647) && (item.getId() <= 80649))) - { - for (int i = PAPERDOLL_ARTIFACT13; i < (PAPERDOLL_ARTIFACT13 + 1); i++) - { - if (_paperdoll[i] == null) - { - setPaperdollItem(i, item); - return; - } - } - } - // 1 Protection Artifact Equip - if (((item.getId() >= 48961) && (item.getId() <= 48964)) || ((item.getId() >= 80650) && (item.getId() <= 80652))) - { - for (int i = PAPERDOLL_ARTIFACT16; i < (PAPERDOLL_ARTIFACT16 + 1); i++) - { - if (_paperdoll[i] == null) - { - setPaperdollItem(i, item); - return; - } - } - } - // 1 Support Artifact Equip - if (((item.getId() >= 48965) && (item.getId() <= 48968)) || ((item.getId() >= 80653) && (item.getId() <= 80655))) - { - for (int i = PAPERDOLL_ARTIFACT19; i < (PAPERDOLL_ARTIFACT19 + 1); i++) - { - if (_paperdoll[i] == null) - { - setPaperdollItem(i, item); - return; - } + setPaperdollItem(i, item); + return; } } break; } - case 2: + case 2: // Protection { - // 8 Balance Artifact Equip - if (((item.getId() >= 48969) && (item.getId() <= 48985)) || ((item.getId() >= 80656) && (item.getId() <= 80662))) + for (int i = PAPERDOLL_ARTIFACT16; i < (PAPERDOLL_ARTIFACT16 + slotNumber); i++) { - for (int i = PAPERDOLL_ARTIFACT1; i < (PAPERDOLL_ARTIFACT1 + 8); i++) + if (_paperdoll[i] == null) { - if (_paperdoll[i] == null) - { - setPaperdollItem(i, item); - return; - } - } - } - - // 2 Spirit Artifact Equip - if (((item.getId() >= 48957) && (item.getId() <= 48960)) || ((item.getId() >= 80647) && (item.getId() <= 80649))) - { - for (int i = PAPERDOLL_ARTIFACT13; i < (PAPERDOLL_ARTIFACT13 + 2); i++) - { - if (_paperdoll[i] == null) - { - setPaperdollItem(i, item); - return; - } - } - } - // 2 Protection Artifact Equip - if (((item.getId() >= 48961) && (item.getId() <= 48964)) || ((item.getId() >= 80650) && (item.getId() <= 80652))) - { - for (int i = PAPERDOLL_ARTIFACT16; i < (PAPERDOLL_ARTIFACT16 + 2); i++) - { - if (_paperdoll[i] == null) - { - setPaperdollItem(i, item); - return; - } - } - } - // 2 Support Artifact Equip - if (((item.getId() >= 48965) && (item.getId() <= 48968)) || ((item.getId() >= 80653) && (item.getId() <= 80655))) - { - for (int i = PAPERDOLL_ARTIFACT19; i < (PAPERDOLL_ARTIFACT19 + 2); i++) - { - if (_paperdoll[i] == null) - { - setPaperdollItem(i, item); - return; - } + setPaperdollItem(i, item); + return; } } break; } - case 3: + case 3: // Support { - // 12 Balance Artifact Equip - if (((item.getId() >= 48969) && (item.getId() <= 48985)) || ((item.getId() >= 80656) && (item.getId() <= 80662))) + for (int i = PAPERDOLL_ARTIFACT19; i < (PAPERDOLL_ARTIFACT19 + slotNumber); i++) { - for (int i = PAPERDOLL_ARTIFACT1; i < (PAPERDOLL_ARTIFACT1 + 12); i++) + if (_paperdoll[i] == null) { - if (_paperdoll[i] == null) - { - setPaperdollItem(i, item); - return; - } + setPaperdollItem(i, item); + return; } } - - // 3 Spirit Artifact Equip - if (((item.getId() >= 48957) && (item.getId() <= 48960)) || ((item.getId() >= 80647) && (item.getId() <= 80649))) + break; + } + case 4: // Balance + { + for (int i = PAPERDOLL_ARTIFACT1; i < (PAPERDOLL_ARTIFACT1 + (4 * slotNumber)); i++) { - for (int i = PAPERDOLL_ARTIFACT13; i < (PAPERDOLL_ARTIFACT13 + 3); i++) + if (_paperdoll[i] == null) { - if (_paperdoll[i] == null) - { - setPaperdollItem(i, item); - return; - } - } - } - // 3 Protection Artifact Equip - if (((item.getId() >= 48961) && (item.getId() <= 48964)) || ((item.getId() >= 80650) && (item.getId() <= 80652))) - { - for (int i = PAPERDOLL_ARTIFACT16; i < (PAPERDOLL_ARTIFACT16 + 3); i++) - { - if (_paperdoll[i] == null) - { - setPaperdollItem(i, item); - return; - } - } - } - // 3 Support Artifact Equip - if (((item.getId() >= 48965) && (item.getId() <= 48968)) || ((item.getId() >= 80653) && (item.getId() <= 80655))) - { - for (int i = PAPERDOLL_ARTIFACT19; i < (PAPERDOLL_ARTIFACT19 + 3); i++) - { - if (_paperdoll[i] == null) - { - setPaperdollItem(i, item); - return; - } + setPaperdollItem(i, item); + return; } } break; diff --git a/L2J_Mobius_8.0_Homunculus/java/org/l2jmobius/gameserver/model/itemcontainer/Inventory.java b/L2J_Mobius_8.0_Homunculus/java/org/l2jmobius/gameserver/model/itemcontainer/Inventory.java index 7343f42775..09109b471b 100644 --- a/L2J_Mobius_8.0_Homunculus/java/org/l2jmobius/gameserver/model/itemcontainer/Inventory.java +++ b/L2J_Mobius_8.0_Homunculus/java/org/l2jmobius/gameserver/model/itemcontainer/Inventory.java @@ -2145,168 +2145,58 @@ public abstract class Inventory extends ItemContainer private void equipArtifact(ItemInstance item) { - if (getArtifactSlots() == 0) + final int slotNumber = getArtifactSlots(); + if (slotNumber == 0) { return; } - switch (getArtifactSlots()) + switch (item.getItem().getArtifactSlot()) { - case 1: + case 1: // Attack { - // 4 Balance Artifact Equip - if (((item.getId() >= 48969) && (item.getId() <= 48985)) || ((item.getId() >= 80656) && (item.getId() <= 80662))) + for (int i = PAPERDOLL_ARTIFACT13; i < (PAPERDOLL_ARTIFACT13 + slotNumber); i++) { - for (int i = PAPERDOLL_ARTIFACT1; i < (PAPERDOLL_ARTIFACT1 + 4); i++) + if (_paperdoll[i] == null) { - if (_paperdoll[i] == null) - { - setPaperdollItem(i, item); - return; - } - } - } - - // 1 Spirit Artifact Equip - if (((item.getId() >= 48957) && (item.getId() <= 48960)) || ((item.getId() >= 80647) && (item.getId() <= 80649))) - { - for (int i = PAPERDOLL_ARTIFACT13; i < (PAPERDOLL_ARTIFACT13 + 1); i++) - { - if (_paperdoll[i] == null) - { - setPaperdollItem(i, item); - return; - } - } - } - // 1 Protection Artifact Equip - if (((item.getId() >= 48961) && (item.getId() <= 48964)) || ((item.getId() >= 80650) && (item.getId() <= 80652))) - { - for (int i = PAPERDOLL_ARTIFACT16; i < (PAPERDOLL_ARTIFACT16 + 1); i++) - { - if (_paperdoll[i] == null) - { - setPaperdollItem(i, item); - return; - } - } - } - // 1 Support Artifact Equip - if (((item.getId() >= 48965) && (item.getId() <= 48968)) || ((item.getId() >= 80653) && (item.getId() <= 80655))) - { - for (int i = PAPERDOLL_ARTIFACT19; i < (PAPERDOLL_ARTIFACT19 + 1); i++) - { - if (_paperdoll[i] == null) - { - setPaperdollItem(i, item); - return; - } + setPaperdollItem(i, item); + return; } } break; } - case 2: + case 2: // Protection { - // 8 Balance Artifact Equip - if (((item.getId() >= 48969) && (item.getId() <= 48985)) || ((item.getId() >= 80656) && (item.getId() <= 80662))) + for (int i = PAPERDOLL_ARTIFACT16; i < (PAPERDOLL_ARTIFACT16 + slotNumber); i++) { - for (int i = PAPERDOLL_ARTIFACT1; i < (PAPERDOLL_ARTIFACT1 + 8); i++) + if (_paperdoll[i] == null) { - if (_paperdoll[i] == null) - { - setPaperdollItem(i, item); - return; - } - } - } - - // 2 Spirit Artifact Equip - if (((item.getId() >= 48957) && (item.getId() <= 48960)) || ((item.getId() >= 80647) && (item.getId() <= 80649))) - { - for (int i = PAPERDOLL_ARTIFACT13; i < (PAPERDOLL_ARTIFACT13 + 2); i++) - { - if (_paperdoll[i] == null) - { - setPaperdollItem(i, item); - return; - } - } - } - // 2 Protection Artifact Equip - if (((item.getId() >= 48961) && (item.getId() <= 48964)) || ((item.getId() >= 80650) && (item.getId() <= 80652))) - { - for (int i = PAPERDOLL_ARTIFACT16; i < (PAPERDOLL_ARTIFACT16 + 2); i++) - { - if (_paperdoll[i] == null) - { - setPaperdollItem(i, item); - return; - } - } - } - // 2 Support Artifact Equip - if (((item.getId() >= 48965) && (item.getId() <= 48968)) || ((item.getId() >= 80653) && (item.getId() <= 80655))) - { - for (int i = PAPERDOLL_ARTIFACT19; i < (PAPERDOLL_ARTIFACT19 + 2); i++) - { - if (_paperdoll[i] == null) - { - setPaperdollItem(i, item); - return; - } + setPaperdollItem(i, item); + return; } } break; } - case 3: + case 3: // Support { - // 12 Balance Artifact Equip - if (((item.getId() >= 48969) && (item.getId() <= 48985)) || ((item.getId() >= 80656) && (item.getId() <= 80662))) + for (int i = PAPERDOLL_ARTIFACT19; i < (PAPERDOLL_ARTIFACT19 + slotNumber); i++) { - for (int i = PAPERDOLL_ARTIFACT1; i < (PAPERDOLL_ARTIFACT1 + 12); i++) + if (_paperdoll[i] == null) { - if (_paperdoll[i] == null) - { - setPaperdollItem(i, item); - return; - } + setPaperdollItem(i, item); + return; } } - - // 3 Spirit Artifact Equip - if (((item.getId() >= 48957) && (item.getId() <= 48960)) || ((item.getId() >= 80647) && (item.getId() <= 80649))) + break; + } + case 4: // Balance + { + for (int i = PAPERDOLL_ARTIFACT1; i < (PAPERDOLL_ARTIFACT1 + (4 * slotNumber)); i++) { - for (int i = PAPERDOLL_ARTIFACT13; i < (PAPERDOLL_ARTIFACT13 + 3); i++) + if (_paperdoll[i] == null) { - if (_paperdoll[i] == null) - { - setPaperdollItem(i, item); - return; - } - } - } - // 3 Protection Artifact Equip - if (((item.getId() >= 48961) && (item.getId() <= 48964)) || ((item.getId() >= 80650) && (item.getId() <= 80652))) - { - for (int i = PAPERDOLL_ARTIFACT16; i < (PAPERDOLL_ARTIFACT16 + 3); i++) - { - if (_paperdoll[i] == null) - { - setPaperdollItem(i, item); - return; - } - } - } - // 3 Support Artifact Equip - if (((item.getId() >= 48965) && (item.getId() <= 48968)) || ((item.getId() >= 80653) && (item.getId() <= 80655))) - { - for (int i = PAPERDOLL_ARTIFACT19; i < (PAPERDOLL_ARTIFACT19 + 3); i++) - { - if (_paperdoll[i] == null) - { - setPaperdollItem(i, item); - return; - } + setPaperdollItem(i, item); + return; } } break; diff --git a/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/model/itemcontainer/Inventory.java b/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/model/itemcontainer/Inventory.java index e7d3123a69..9c46d279c4 100644 --- a/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/model/itemcontainer/Inventory.java +++ b/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/model/itemcontainer/Inventory.java @@ -2161,168 +2161,58 @@ public abstract class Inventory extends ItemContainer private void equipArtifact(ItemInstance item) { - if (getArtifactSlots() == 0) + final int slotNumber = getArtifactSlots(); + if (slotNumber == 0) { return; } - switch (getArtifactSlots()) + switch (item.getItem().getArtifactSlot()) { - case 1: + case 1: // Attack { - // 4 Balance Artifact Equip - if ((item.getId() >= 48969) && (item.getId() <= 48985)) + for (int i = PAPERDOLL_ARTIFACT13; i < (PAPERDOLL_ARTIFACT13 + slotNumber); i++) { - for (int i = PAPERDOLL_ARTIFACT1; i < (PAPERDOLL_ARTIFACT1 + 4); i++) + if (_paperdoll[i] == null) { - if (_paperdoll[i] == null) - { - setPaperdollItem(i, item); - return; - } - } - } - - // 1 Spirit Artifact Equip - if ((item.getId() >= 48957) && (item.getId() <= 48960)) - { - for (int i = PAPERDOLL_ARTIFACT13; i < (PAPERDOLL_ARTIFACT13 + 1); i++) - { - if (_paperdoll[i] == null) - { - setPaperdollItem(i, item); - return; - } - } - } - // 1 Protection Artifact Equip - if ((item.getId() >= 48961) && (item.getId() <= 48964)) - { - for (int i = PAPERDOLL_ARTIFACT16; i < (PAPERDOLL_ARTIFACT16 + 1); i++) - { - if (_paperdoll[i] == null) - { - setPaperdollItem(i, item); - return; - } - } - } - // 1 Support Artifact Equip - if ((item.getId() >= 48965) && (item.getId() <= 48968)) - { - for (int i = PAPERDOLL_ARTIFACT19; i < (PAPERDOLL_ARTIFACT19 + 1); i++) - { - if (_paperdoll[i] == null) - { - setPaperdollItem(i, item); - return; - } + setPaperdollItem(i, item); + return; } } break; } - case 2: + case 2: // Protection { - // 8 Balance Artifact Equip - if ((item.getId() >= 48969) && (item.getId() <= 48985)) + for (int i = PAPERDOLL_ARTIFACT16; i < (PAPERDOLL_ARTIFACT16 + slotNumber); i++) { - for (int i = PAPERDOLL_ARTIFACT1; i < (PAPERDOLL_ARTIFACT1 + 8); i++) + if (_paperdoll[i] == null) { - if (_paperdoll[i] == null) - { - setPaperdollItem(i, item); - return; - } - } - } - - // 2 Spirit Artifact Equip - if ((item.getId() >= 48957) && (item.getId() <= 48960)) - { - for (int i = PAPERDOLL_ARTIFACT13; i < (PAPERDOLL_ARTIFACT13 + 2); i++) - { - if (_paperdoll[i] == null) - { - setPaperdollItem(i, item); - return; - } - } - } - // 2 Protection Artifact Equip - if ((item.getId() >= 48961) && (item.getId() <= 48964)) - { - for (int i = PAPERDOLL_ARTIFACT16; i < (PAPERDOLL_ARTIFACT16 + 2); i++) - { - if (_paperdoll[i] == null) - { - setPaperdollItem(i, item); - return; - } - } - } - // 2 Support Artifact Equip - if ((item.getId() >= 48965) && (item.getId() <= 48968)) - { - for (int i = PAPERDOLL_ARTIFACT19; i < (PAPERDOLL_ARTIFACT19 + 2); i++) - { - if (_paperdoll[i] == null) - { - setPaperdollItem(i, item); - return; - } + setPaperdollItem(i, item); + return; } } break; } - case 3: + case 3: // Support { - // 12 Balance Artifact Equip - if ((item.getId() >= 48969) && (item.getId() <= 48985)) + for (int i = PAPERDOLL_ARTIFACT19; i < (PAPERDOLL_ARTIFACT19 + slotNumber); i++) { - for (int i = PAPERDOLL_ARTIFACT1; i < (PAPERDOLL_ARTIFACT1 + 12); i++) + if (_paperdoll[i] == null) { - if (_paperdoll[i] == null) - { - setPaperdollItem(i, item); - return; - } + setPaperdollItem(i, item); + return; } } - - // 3 Spirit Artifact Equip - if ((item.getId() >= 48957) && (item.getId() <= 48960)) + break; + } + case 4: // Balance + { + for (int i = PAPERDOLL_ARTIFACT1; i < (PAPERDOLL_ARTIFACT1 + (4 * slotNumber)); i++) { - for (int i = PAPERDOLL_ARTIFACT13; i < (PAPERDOLL_ARTIFACT13 + 3); i++) + if (_paperdoll[i] == null) { - if (_paperdoll[i] == null) - { - setPaperdollItem(i, item); - return; - } - } - } - // 3 Protection Artifact Equip - if ((item.getId() >= 48961) && (item.getId() <= 48964)) - { - for (int i = PAPERDOLL_ARTIFACT16; i < (PAPERDOLL_ARTIFACT16 + 3); i++) - { - if (_paperdoll[i] == null) - { - setPaperdollItem(i, item); - return; - } - } - } - // 3 Support Artifact Equip - if ((item.getId() >= 48965) && (item.getId() <= 48968)) - { - for (int i = PAPERDOLL_ARTIFACT19; i < (PAPERDOLL_ARTIFACT19 + 3); i++) - { - if (_paperdoll[i] == null) - { - setPaperdollItem(i, item); - return; - } + setPaperdollItem(i, item); + return; } } break; diff --git a/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/model/items/Item.java b/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/model/items/Item.java index 156141c7bf..57b71aa9b4 100644 --- a/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/model/items/Item.java +++ b/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/model/items/Item.java @@ -174,6 +174,8 @@ public abstract class Item extends ListenersContainer implements IIdentifiable private boolean _isAppearanceable; private boolean _isBlessed; + private int _artifactSlot; + /** * Constructor of the Item that fill class variables. * @param set : StatSet corresponding to a set of couples (key,value) for description of the item @@ -224,6 +226,7 @@ public abstract class Item extends ListenersContainer implements IIdentifiable _forNpc = set.getBoolean("for_npc", false); _isAppearanceable = set.getBoolean("isAppearanceable", false); _isBlessed = set.getBoolean("blessed", false); + _artifactSlot = set.getInt("artifactSlot", 0); _immediateEffect = set.getBoolean("immediate_effect", false); _exImmediateEffect = set.getBoolean("ex_immediate_effect", false); _defaultAction = set.getEnum("default_action", ActionType.class, ActionType.NONE); @@ -943,6 +946,11 @@ public abstract class Item extends ListenersContainer implements IIdentifiable return _isBlessed; } + public int getArtifactSlot() + { + return _artifactSlot; + } + /** * Returns the name of the item followed by the item ID. * @return the name and the ID of the item diff --git a/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/model/itemcontainer/Inventory.java b/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/model/itemcontainer/Inventory.java index e7d3123a69..9c46d279c4 100644 --- a/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/model/itemcontainer/Inventory.java +++ b/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/model/itemcontainer/Inventory.java @@ -2161,168 +2161,58 @@ public abstract class Inventory extends ItemContainer private void equipArtifact(ItemInstance item) { - if (getArtifactSlots() == 0) + final int slotNumber = getArtifactSlots(); + if (slotNumber == 0) { return; } - switch (getArtifactSlots()) + switch (item.getItem().getArtifactSlot()) { - case 1: + case 1: // Attack { - // 4 Balance Artifact Equip - if ((item.getId() >= 48969) && (item.getId() <= 48985)) + for (int i = PAPERDOLL_ARTIFACT13; i < (PAPERDOLL_ARTIFACT13 + slotNumber); i++) { - for (int i = PAPERDOLL_ARTIFACT1; i < (PAPERDOLL_ARTIFACT1 + 4); i++) + if (_paperdoll[i] == null) { - if (_paperdoll[i] == null) - { - setPaperdollItem(i, item); - return; - } - } - } - - // 1 Spirit Artifact Equip - if ((item.getId() >= 48957) && (item.getId() <= 48960)) - { - for (int i = PAPERDOLL_ARTIFACT13; i < (PAPERDOLL_ARTIFACT13 + 1); i++) - { - if (_paperdoll[i] == null) - { - setPaperdollItem(i, item); - return; - } - } - } - // 1 Protection Artifact Equip - if ((item.getId() >= 48961) && (item.getId() <= 48964)) - { - for (int i = PAPERDOLL_ARTIFACT16; i < (PAPERDOLL_ARTIFACT16 + 1); i++) - { - if (_paperdoll[i] == null) - { - setPaperdollItem(i, item); - return; - } - } - } - // 1 Support Artifact Equip - if ((item.getId() >= 48965) && (item.getId() <= 48968)) - { - for (int i = PAPERDOLL_ARTIFACT19; i < (PAPERDOLL_ARTIFACT19 + 1); i++) - { - if (_paperdoll[i] == null) - { - setPaperdollItem(i, item); - return; - } + setPaperdollItem(i, item); + return; } } break; } - case 2: + case 2: // Protection { - // 8 Balance Artifact Equip - if ((item.getId() >= 48969) && (item.getId() <= 48985)) + for (int i = PAPERDOLL_ARTIFACT16; i < (PAPERDOLL_ARTIFACT16 + slotNumber); i++) { - for (int i = PAPERDOLL_ARTIFACT1; i < (PAPERDOLL_ARTIFACT1 + 8); i++) + if (_paperdoll[i] == null) { - if (_paperdoll[i] == null) - { - setPaperdollItem(i, item); - return; - } - } - } - - // 2 Spirit Artifact Equip - if ((item.getId() >= 48957) && (item.getId() <= 48960)) - { - for (int i = PAPERDOLL_ARTIFACT13; i < (PAPERDOLL_ARTIFACT13 + 2); i++) - { - if (_paperdoll[i] == null) - { - setPaperdollItem(i, item); - return; - } - } - } - // 2 Protection Artifact Equip - if ((item.getId() >= 48961) && (item.getId() <= 48964)) - { - for (int i = PAPERDOLL_ARTIFACT16; i < (PAPERDOLL_ARTIFACT16 + 2); i++) - { - if (_paperdoll[i] == null) - { - setPaperdollItem(i, item); - return; - } - } - } - // 2 Support Artifact Equip - if ((item.getId() >= 48965) && (item.getId() <= 48968)) - { - for (int i = PAPERDOLL_ARTIFACT19; i < (PAPERDOLL_ARTIFACT19 + 2); i++) - { - if (_paperdoll[i] == null) - { - setPaperdollItem(i, item); - return; - } + setPaperdollItem(i, item); + return; } } break; } - case 3: + case 3: // Support { - // 12 Balance Artifact Equip - if ((item.getId() >= 48969) && (item.getId() <= 48985)) + for (int i = PAPERDOLL_ARTIFACT19; i < (PAPERDOLL_ARTIFACT19 + slotNumber); i++) { - for (int i = PAPERDOLL_ARTIFACT1; i < (PAPERDOLL_ARTIFACT1 + 12); i++) + if (_paperdoll[i] == null) { - if (_paperdoll[i] == null) - { - setPaperdollItem(i, item); - return; - } + setPaperdollItem(i, item); + return; } } - - // 3 Spirit Artifact Equip - if ((item.getId() >= 48957) && (item.getId() <= 48960)) + break; + } + case 4: // Balance + { + for (int i = PAPERDOLL_ARTIFACT1; i < (PAPERDOLL_ARTIFACT1 + (4 * slotNumber)); i++) { - for (int i = PAPERDOLL_ARTIFACT13; i < (PAPERDOLL_ARTIFACT13 + 3); i++) + if (_paperdoll[i] == null) { - if (_paperdoll[i] == null) - { - setPaperdollItem(i, item); - return; - } - } - } - // 3 Protection Artifact Equip - if ((item.getId() >= 48961) && (item.getId() <= 48964)) - { - for (int i = PAPERDOLL_ARTIFACT16; i < (PAPERDOLL_ARTIFACT16 + 3); i++) - { - if (_paperdoll[i] == null) - { - setPaperdollItem(i, item); - return; - } - } - } - // 3 Support Artifact Equip - if ((item.getId() >= 48965) && (item.getId() <= 48968)) - { - for (int i = PAPERDOLL_ARTIFACT19; i < (PAPERDOLL_ARTIFACT19 + 3); i++) - { - if (_paperdoll[i] == null) - { - setPaperdollItem(i, item); - return; - } + setPaperdollItem(i, item); + return; } } break; diff --git a/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/model/items/Item.java b/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/model/items/Item.java index 156141c7bf..57b71aa9b4 100644 --- a/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/model/items/Item.java +++ b/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/model/items/Item.java @@ -174,6 +174,8 @@ public abstract class Item extends ListenersContainer implements IIdentifiable private boolean _isAppearanceable; private boolean _isBlessed; + private int _artifactSlot; + /** * Constructor of the Item that fill class variables. * @param set : StatSet corresponding to a set of couples (key,value) for description of the item @@ -224,6 +226,7 @@ public abstract class Item extends ListenersContainer implements IIdentifiable _forNpc = set.getBoolean("for_npc", false); _isAppearanceable = set.getBoolean("isAppearanceable", false); _isBlessed = set.getBoolean("blessed", false); + _artifactSlot = set.getInt("artifactSlot", 0); _immediateEffect = set.getBoolean("immediate_effect", false); _exImmediateEffect = set.getBoolean("ex_immediate_effect", false); _defaultAction = set.getEnum("default_action", ActionType.class, ActionType.NONE); @@ -943,6 +946,11 @@ public abstract class Item extends ListenersContainer implements IIdentifiable return _isBlessed; } + public int getArtifactSlot() + { + return _artifactSlot; + } + /** * Returns the name of the item followed by the item ID. * @return the name and the ID of the item diff --git a/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/model/itemcontainer/Inventory.java b/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/model/itemcontainer/Inventory.java index 768bcc055c..09109b471b 100644 --- a/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/model/itemcontainer/Inventory.java +++ b/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/model/itemcontainer/Inventory.java @@ -2145,168 +2145,58 @@ public abstract class Inventory extends ItemContainer private void equipArtifact(ItemInstance item) { - if (getArtifactSlots() == 0) + final int slotNumber = getArtifactSlots(); + if (slotNumber == 0) { return; } - switch (getArtifactSlots()) + switch (item.getItem().getArtifactSlot()) { - case 1: + case 1: // Attack { - // 4 Balance Artifact Equip - if ((item.getId() >= 48969) && (item.getId() <= 48985)) + for (int i = PAPERDOLL_ARTIFACT13; i < (PAPERDOLL_ARTIFACT13 + slotNumber); i++) { - for (int i = PAPERDOLL_ARTIFACT1; i < (PAPERDOLL_ARTIFACT1 + 4); i++) + if (_paperdoll[i] == null) { - if (_paperdoll[i] == null) - { - setPaperdollItem(i, item); - return; - } - } - } - - // 1 Spirit Artifact Equip - if ((item.getId() >= 48957) && (item.getId() <= 48960)) - { - for (int i = PAPERDOLL_ARTIFACT13; i < (PAPERDOLL_ARTIFACT13 + 1); i++) - { - if (_paperdoll[i] == null) - { - setPaperdollItem(i, item); - return; - } - } - } - // 1 Protection Artifact Equip - if ((item.getId() >= 48961) && (item.getId() <= 48964)) - { - for (int i = PAPERDOLL_ARTIFACT16; i < (PAPERDOLL_ARTIFACT16 + 1); i++) - { - if (_paperdoll[i] == null) - { - setPaperdollItem(i, item); - return; - } - } - } - // 1 Support Artifact Equip - if ((item.getId() >= 48965) && (item.getId() <= 48968)) - { - for (int i = PAPERDOLL_ARTIFACT19; i < (PAPERDOLL_ARTIFACT19 + 1); i++) - { - if (_paperdoll[i] == null) - { - setPaperdollItem(i, item); - return; - } + setPaperdollItem(i, item); + return; } } break; } - case 2: + case 2: // Protection { - // 8 Balance Artifact Equip - if ((item.getId() >= 48969) && (item.getId() <= 48985)) + for (int i = PAPERDOLL_ARTIFACT16; i < (PAPERDOLL_ARTIFACT16 + slotNumber); i++) { - for (int i = PAPERDOLL_ARTIFACT1; i < (PAPERDOLL_ARTIFACT1 + 8); i++) + if (_paperdoll[i] == null) { - if (_paperdoll[i] == null) - { - setPaperdollItem(i, item); - return; - } - } - } - - // 2 Spirit Artifact Equip - if ((item.getId() >= 48957) && (item.getId() <= 48960)) - { - for (int i = PAPERDOLL_ARTIFACT13; i < (PAPERDOLL_ARTIFACT13 + 2); i++) - { - if (_paperdoll[i] == null) - { - setPaperdollItem(i, item); - return; - } - } - } - // 2 Protection Artifact Equip - if ((item.getId() >= 48961) && (item.getId() <= 48964)) - { - for (int i = PAPERDOLL_ARTIFACT16; i < (PAPERDOLL_ARTIFACT16 + 2); i++) - { - if (_paperdoll[i] == null) - { - setPaperdollItem(i, item); - return; - } - } - } - // 2 Support Artifact Equip - if ((item.getId() >= 48965) && (item.getId() <= 48968)) - { - for (int i = PAPERDOLL_ARTIFACT19; i < (PAPERDOLL_ARTIFACT19 + 2); i++) - { - if (_paperdoll[i] == null) - { - setPaperdollItem(i, item); - return; - } + setPaperdollItem(i, item); + return; } } break; } - case 3: + case 3: // Support { - // 12 Balance Artifact Equip - if ((item.getId() >= 48969) && (item.getId() <= 48985)) + for (int i = PAPERDOLL_ARTIFACT19; i < (PAPERDOLL_ARTIFACT19 + slotNumber); i++) { - for (int i = PAPERDOLL_ARTIFACT1; i < (PAPERDOLL_ARTIFACT1 + 12); i++) + if (_paperdoll[i] == null) { - if (_paperdoll[i] == null) - { - setPaperdollItem(i, item); - return; - } + setPaperdollItem(i, item); + return; } } - - // 3 Spirit Artifact Equip - if ((item.getId() >= 48957) && (item.getId() <= 48960)) + break; + } + case 4: // Balance + { + for (int i = PAPERDOLL_ARTIFACT1; i < (PAPERDOLL_ARTIFACT1 + (4 * slotNumber)); i++) { - for (int i = PAPERDOLL_ARTIFACT13; i < (PAPERDOLL_ARTIFACT13 + 3); i++) + if (_paperdoll[i] == null) { - if (_paperdoll[i] == null) - { - setPaperdollItem(i, item); - return; - } - } - } - // 3 Protection Artifact Equip - if ((item.getId() >= 48961) && (item.getId() <= 48964)) - { - for (int i = PAPERDOLL_ARTIFACT16; i < (PAPERDOLL_ARTIFACT16 + 3); i++) - { - if (_paperdoll[i] == null) - { - setPaperdollItem(i, item); - return; - } - } - } - // 3 Support Artifact Equip - if ((item.getId() >= 48965) && (item.getId() <= 48968)) - { - for (int i = PAPERDOLL_ARTIFACT19; i < (PAPERDOLL_ARTIFACT19 + 3); i++) - { - if (_paperdoll[i] == null) - { - setPaperdollItem(i, item); - return; - } + setPaperdollItem(i, item); + return; } } break; diff --git a/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/model/items/Item.java b/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/model/items/Item.java index 156141c7bf..57b71aa9b4 100644 --- a/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/model/items/Item.java +++ b/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/model/items/Item.java @@ -174,6 +174,8 @@ public abstract class Item extends ListenersContainer implements IIdentifiable private boolean _isAppearanceable; private boolean _isBlessed; + private int _artifactSlot; + /** * Constructor of the Item that fill class variables. * @param set : StatSet corresponding to a set of couples (key,value) for description of the item @@ -224,6 +226,7 @@ public abstract class Item extends ListenersContainer implements IIdentifiable _forNpc = set.getBoolean("for_npc", false); _isAppearanceable = set.getBoolean("isAppearanceable", false); _isBlessed = set.getBoolean("blessed", false); + _artifactSlot = set.getInt("artifactSlot", 0); _immediateEffect = set.getBoolean("immediate_effect", false); _exImmediateEffect = set.getBoolean("ex_immediate_effect", false); _defaultAction = set.getEnum("default_action", ActionType.class, ActionType.NONE); @@ -943,6 +946,11 @@ public abstract class Item extends ListenersContainer implements IIdentifiable return _isBlessed; } + public int getArtifactSlot() + { + return _artifactSlot; + } + /** * Returns the name of the item followed by the item ID. * @return the name and the ID of the item diff --git a/L2J_Mobius_Essence_4.0_DwellingOfSpirits/java/org/l2jmobius/gameserver/model/itemcontainer/Inventory.java b/L2J_Mobius_Essence_4.0_DwellingOfSpirits/java/org/l2jmobius/gameserver/model/itemcontainer/Inventory.java index 768bcc055c..09109b471b 100644 --- a/L2J_Mobius_Essence_4.0_DwellingOfSpirits/java/org/l2jmobius/gameserver/model/itemcontainer/Inventory.java +++ b/L2J_Mobius_Essence_4.0_DwellingOfSpirits/java/org/l2jmobius/gameserver/model/itemcontainer/Inventory.java @@ -2145,168 +2145,58 @@ public abstract class Inventory extends ItemContainer private void equipArtifact(ItemInstance item) { - if (getArtifactSlots() == 0) + final int slotNumber = getArtifactSlots(); + if (slotNumber == 0) { return; } - switch (getArtifactSlots()) + switch (item.getItem().getArtifactSlot()) { - case 1: + case 1: // Attack { - // 4 Balance Artifact Equip - if ((item.getId() >= 48969) && (item.getId() <= 48985)) + for (int i = PAPERDOLL_ARTIFACT13; i < (PAPERDOLL_ARTIFACT13 + slotNumber); i++) { - for (int i = PAPERDOLL_ARTIFACT1; i < (PAPERDOLL_ARTIFACT1 + 4); i++) + if (_paperdoll[i] == null) { - if (_paperdoll[i] == null) - { - setPaperdollItem(i, item); - return; - } - } - } - - // 1 Spirit Artifact Equip - if ((item.getId() >= 48957) && (item.getId() <= 48960)) - { - for (int i = PAPERDOLL_ARTIFACT13; i < (PAPERDOLL_ARTIFACT13 + 1); i++) - { - if (_paperdoll[i] == null) - { - setPaperdollItem(i, item); - return; - } - } - } - // 1 Protection Artifact Equip - if ((item.getId() >= 48961) && (item.getId() <= 48964)) - { - for (int i = PAPERDOLL_ARTIFACT16; i < (PAPERDOLL_ARTIFACT16 + 1); i++) - { - if (_paperdoll[i] == null) - { - setPaperdollItem(i, item); - return; - } - } - } - // 1 Support Artifact Equip - if ((item.getId() >= 48965) && (item.getId() <= 48968)) - { - for (int i = PAPERDOLL_ARTIFACT19; i < (PAPERDOLL_ARTIFACT19 + 1); i++) - { - if (_paperdoll[i] == null) - { - setPaperdollItem(i, item); - return; - } + setPaperdollItem(i, item); + return; } } break; } - case 2: + case 2: // Protection { - // 8 Balance Artifact Equip - if ((item.getId() >= 48969) && (item.getId() <= 48985)) + for (int i = PAPERDOLL_ARTIFACT16; i < (PAPERDOLL_ARTIFACT16 + slotNumber); i++) { - for (int i = PAPERDOLL_ARTIFACT1; i < (PAPERDOLL_ARTIFACT1 + 8); i++) + if (_paperdoll[i] == null) { - if (_paperdoll[i] == null) - { - setPaperdollItem(i, item); - return; - } - } - } - - // 2 Spirit Artifact Equip - if ((item.getId() >= 48957) && (item.getId() <= 48960)) - { - for (int i = PAPERDOLL_ARTIFACT13; i < (PAPERDOLL_ARTIFACT13 + 2); i++) - { - if (_paperdoll[i] == null) - { - setPaperdollItem(i, item); - return; - } - } - } - // 2 Protection Artifact Equip - if ((item.getId() >= 48961) && (item.getId() <= 48964)) - { - for (int i = PAPERDOLL_ARTIFACT16; i < (PAPERDOLL_ARTIFACT16 + 2); i++) - { - if (_paperdoll[i] == null) - { - setPaperdollItem(i, item); - return; - } - } - } - // 2 Support Artifact Equip - if ((item.getId() >= 48965) && (item.getId() <= 48968)) - { - for (int i = PAPERDOLL_ARTIFACT19; i < (PAPERDOLL_ARTIFACT19 + 2); i++) - { - if (_paperdoll[i] == null) - { - setPaperdollItem(i, item); - return; - } + setPaperdollItem(i, item); + return; } } break; } - case 3: + case 3: // Support { - // 12 Balance Artifact Equip - if ((item.getId() >= 48969) && (item.getId() <= 48985)) + for (int i = PAPERDOLL_ARTIFACT19; i < (PAPERDOLL_ARTIFACT19 + slotNumber); i++) { - for (int i = PAPERDOLL_ARTIFACT1; i < (PAPERDOLL_ARTIFACT1 + 12); i++) + if (_paperdoll[i] == null) { - if (_paperdoll[i] == null) - { - setPaperdollItem(i, item); - return; - } + setPaperdollItem(i, item); + return; } } - - // 3 Spirit Artifact Equip - if ((item.getId() >= 48957) && (item.getId() <= 48960)) + break; + } + case 4: // Balance + { + for (int i = PAPERDOLL_ARTIFACT1; i < (PAPERDOLL_ARTIFACT1 + (4 * slotNumber)); i++) { - for (int i = PAPERDOLL_ARTIFACT13; i < (PAPERDOLL_ARTIFACT13 + 3); i++) + if (_paperdoll[i] == null) { - if (_paperdoll[i] == null) - { - setPaperdollItem(i, item); - return; - } - } - } - // 3 Protection Artifact Equip - if ((item.getId() >= 48961) && (item.getId() <= 48964)) - { - for (int i = PAPERDOLL_ARTIFACT16; i < (PAPERDOLL_ARTIFACT16 + 3); i++) - { - if (_paperdoll[i] == null) - { - setPaperdollItem(i, item); - return; - } - } - } - // 3 Support Artifact Equip - if ((item.getId() >= 48965) && (item.getId() <= 48968)) - { - for (int i = PAPERDOLL_ARTIFACT19; i < (PAPERDOLL_ARTIFACT19 + 3); i++) - { - if (_paperdoll[i] == null) - { - setPaperdollItem(i, item); - return; - } + setPaperdollItem(i, item); + return; } } break; diff --git a/L2J_Mobius_Essence_4.0_DwellingOfSpirits/java/org/l2jmobius/gameserver/model/items/Item.java b/L2J_Mobius_Essence_4.0_DwellingOfSpirits/java/org/l2jmobius/gameserver/model/items/Item.java index db3441d17b..a9a28e383b 100644 --- a/L2J_Mobius_Essence_4.0_DwellingOfSpirits/java/org/l2jmobius/gameserver/model/items/Item.java +++ b/L2J_Mobius_Essence_4.0_DwellingOfSpirits/java/org/l2jmobius/gameserver/model/items/Item.java @@ -174,6 +174,8 @@ public abstract class Item extends ListenersContainer implements IIdentifiable private boolean _isAppearanceable; private boolean _isBlessed; + private int _artifactSlot; + /** * Constructor of the Item that fill class variables. * @param set : StatSet corresponding to a set of couples (key,value) for description of the item @@ -224,6 +226,7 @@ public abstract class Item extends ListenersContainer implements IIdentifiable _forNpc = set.getBoolean("for_npc", false); _isAppearanceable = set.getBoolean("isAppearanceable", false); _isBlessed = set.getBoolean("blessed", false); + _artifactSlot = set.getInt("artifactSlot", 0); _immediateEffect = set.getBoolean("immediate_effect", false); _exImmediateEffect = set.getBoolean("ex_immediate_effect", false); _defaultAction = set.getEnum("default_action", ActionType.class, ActionType.NONE); @@ -943,6 +946,11 @@ public abstract class Item extends ListenersContainer implements IIdentifiable return _isBlessed; } + public int getArtifactSlot() + { + return _artifactSlot; + } + /** * Returns the name of the item followed by the item ID. * @return the name and the ID of the item