From f47a1a62645b00ee21d44f6b43247f3f66b07c25 Mon Sep 17 00:00:00 2001 From: MobiusDevelopment <8391001+MobiusDevelopment@users.noreply.github.com> Date: Sat, 11 Dec 2021 01:59:47 +0000 Subject: [PATCH] Brooch enum support for Sapphire and skill level. Thanks to nasseka. --- .../handlers/itemhandlers/BeastSoulShot.java | 4 +- .../itemhandlers/BeastSpiritShot.java | 4 +- .../itemhandlers/BlessedSoulShots.java | 2 +- .../itemhandlers/BlessedSpiritShot.java | 2 +- .../handlers/itemhandlers/SoulShots.java | 2 +- .../handlers/itemhandlers/SpiritShot.java | 2 +- .../gameserver/enums/BroochJewel.java | 47 ++++--- .../gameserver/model/actor/Player.java | 2 +- .../handlers/itemhandlers/BeastSoulShot.java | 4 +- .../itemhandlers/BeastSpiritShot.java | 4 +- .../itemhandlers/BlessedSoulShots.java | 2 +- .../itemhandlers/BlessedSpiritShot.java | 2 +- .../handlers/itemhandlers/SoulShots.java | 2 +- .../handlers/itemhandlers/SpiritShot.java | 2 +- .../gameserver/enums/BroochJewel.java | 47 ++++--- .../gameserver/model/actor/Player.java | 2 +- .../handlers/itemhandlers/BeastSoulShot.java | 4 +- .../itemhandlers/BeastSpiritShot.java | 4 +- .../itemhandlers/BlessedSoulShots.java | 2 +- .../itemhandlers/BlessedSpiritShot.java | 2 +- .../handlers/itemhandlers/SoulShots.java | 2 +- .../handlers/itemhandlers/SpiritShot.java | 2 +- .../gameserver/enums/BroochJewel.java | 53 +++++--- .../gameserver/model/actor/Player.java | 2 +- .../handlers/itemhandlers/BeastSoulShot.java | 4 +- .../itemhandlers/BeastSpiritShot.java | 4 +- .../itemhandlers/BlessedSoulShots.java | 2 +- .../itemhandlers/BlessedSpiritShot.java | 2 +- .../handlers/itemhandlers/SoulShots.java | 2 +- .../handlers/itemhandlers/SpiritShot.java | 2 +- .../gameserver/enums/BroochJewel.java | 53 +++++--- .../gameserver/model/actor/Player.java | 2 +- .../handlers/itemhandlers/BeastSoulShot.java | 4 +- .../itemhandlers/BeastSpiritShot.java | 4 +- .../itemhandlers/BlessedSoulShots.java | 2 +- .../itemhandlers/BlessedSpiritShot.java | 2 +- .../handlers/itemhandlers/SoulShots.java | 2 +- .../handlers/itemhandlers/SpiritShot.java | 2 +- .../gameserver/enums/BroochJewel.java | 53 +++++--- .../gameserver/model/actor/Player.java | 2 +- .../handlers/itemhandlers/BeastSoulShot.java | 4 +- .../itemhandlers/BeastSpiritShot.java | 4 +- .../itemhandlers/BlessedSoulShots.java | 2 +- .../itemhandlers/BlessedSpiritShot.java | 2 +- .../handlers/itemhandlers/SoulShots.java | 2 +- .../handlers/itemhandlers/SpiritShot.java | 2 +- .../gameserver/enums/BroochJewel.java | 53 +++++--- .../gameserver/model/actor/Player.java | 2 +- .../handlers/itemhandlers/BeastSoulShot.java | 4 +- .../itemhandlers/BeastSpiritShot.java | 4 +- .../itemhandlers/BlessedSoulShots.java | 2 +- .../itemhandlers/BlessedSpiritShot.java | 2 +- .../handlers/itemhandlers/SoulShots.java | 2 +- .../handlers/itemhandlers/SpiritShot.java | 2 +- .../gameserver/enums/BroochJewel.java | 69 ++++++---- .../gameserver/model/actor/Player.java | 2 +- .../handlers/itemhandlers/BeastSoulShot.java | 4 +- .../itemhandlers/BeastSpiritShot.java | 4 +- .../itemhandlers/BlessedSoulShots.java | 2 +- .../itemhandlers/BlessedSpiritShot.java | 2 +- .../handlers/itemhandlers/SoulShots.java | 2 +- .../handlers/itemhandlers/SpiritShot.java | 2 +- .../gameserver/enums/BroochJewel.java | 69 ++++++---- .../gameserver/model/actor/Player.java | 2 +- .../handlers/itemhandlers/BeastSoulShot.java | 4 +- .../itemhandlers/BeastSpiritShot.java | 4 +- .../itemhandlers/BlessedSoulShots.java | 2 +- .../itemhandlers/BlessedSpiritShot.java | 2 +- .../handlers/itemhandlers/SoulShots.java | 2 +- .../handlers/itemhandlers/SpiritShot.java | 2 +- .../gameserver/enums/BroochJewel.java | 111 +++++++++------- .../gameserver/model/actor/Player.java | 2 +- .../handlers/itemhandlers/BeastSoulShot.java | 4 +- .../itemhandlers/BeastSpiritShot.java | 4 +- .../itemhandlers/BlessedSoulShots.java | 2 +- .../itemhandlers/BlessedSpiritShot.java | 2 +- .../handlers/itemhandlers/SoulShots.java | 2 +- .../handlers/itemhandlers/SpiritShot.java | 2 +- .../gameserver/enums/BroochJewel.java | 111 +++++++++------- .../gameserver/model/actor/Player.java | 2 +- .../handlers/itemhandlers/BeastSoulShot.java | 4 +- .../itemhandlers/BeastSpiritShot.java | 4 +- .../itemhandlers/BlessedSoulShots.java | 2 +- .../itemhandlers/BlessedSpiritShot.java | 2 +- .../handlers/itemhandlers/SoulShots.java | 2 +- .../handlers/itemhandlers/SpiritShot.java | 2 +- .../gameserver/enums/BroochJewel.java | 111 +++++++++------- .../gameserver/model/actor/Player.java | 2 +- .../handlers/itemhandlers/BeastSoulShot.java | 4 +- .../itemhandlers/BeastSpiritShot.java | 4 +- .../itemhandlers/BlessedSoulShots.java | 2 +- .../itemhandlers/BlessedSpiritShot.java | 2 +- .../handlers/itemhandlers/SoulShots.java | 2 +- .../handlers/itemhandlers/SpiritShot.java | 2 +- .../gameserver/enums/BroochJewel.java | 68 ++++++---- .../gameserver/model/actor/Player.java | 2 +- .../handlers/itemhandlers/BeastSoulShot.java | 4 +- .../itemhandlers/BeastSpiritShot.java | 4 +- .../itemhandlers/BlessedSoulShots.java | 2 +- .../itemhandlers/BlessedSpiritShot.java | 2 +- .../handlers/itemhandlers/SoulShots.java | 2 +- .../handlers/itemhandlers/SpiritShot.java | 2 +- .../gameserver/enums/BroochJewel.java | 106 ++++++++------- .../gameserver/model/actor/Player.java | 2 +- .../handlers/itemhandlers/BeastSoulShot.java | 4 +- .../itemhandlers/BeastSpiritShot.java | 4 +- .../itemhandlers/BlessedSoulShots.java | 2 +- .../itemhandlers/BlessedSpiritShot.java | 2 +- .../handlers/itemhandlers/SoulShots.java | 2 +- .../handlers/itemhandlers/SpiritShot.java | 2 +- .../gameserver/enums/BroochJewel.java | 106 ++++++++------- .../gameserver/model/actor/Player.java | 2 +- .../handlers/itemhandlers/BeastSoulShot.java | 4 +- .../itemhandlers/BeastSpiritShot.java | 4 +- .../itemhandlers/BlessedSoulShots.java | 2 +- .../itemhandlers/BlessedSpiritShot.java | 2 +- .../handlers/itemhandlers/SoulShots.java | 2 +- .../handlers/itemhandlers/SpiritShot.java | 2 +- .../gameserver/enums/BroochJewel.java | 106 ++++++++------- .../gameserver/model/actor/Player.java | 2 +- .../handlers/itemhandlers/BeastSoulShot.java | 4 +- .../itemhandlers/BeastSpiritShot.java | 4 +- .../itemhandlers/BlessedSoulShots.java | 2 +- .../itemhandlers/BlessedSpiritShot.java | 2 +- .../handlers/itemhandlers/SoulShots.java | 2 +- .../handlers/itemhandlers/SpiritShot.java | 2 +- .../gameserver/enums/BroochJewel.java | 106 ++++++++------- .../gameserver/model/actor/Player.java | 2 +- .../handlers/itemhandlers/BeastSoulShot.java | 4 +- .../itemhandlers/BeastSpiritShot.java | 4 +- .../itemhandlers/BlessedSoulShots.java | 2 +- .../itemhandlers/BlessedSpiritShot.java | 2 +- .../handlers/itemhandlers/SoulShots.java | 2 +- .../handlers/itemhandlers/SpiritShot.java | 2 +- .../gameserver/enums/BroochJewel.java | 122 ++++++++++-------- .../gameserver/model/actor/Player.java | 2 +- .../handlers/itemhandlers/BeastSoulShot.java | 4 +- .../itemhandlers/BeastSpiritShot.java | 4 +- .../itemhandlers/BlessedSoulShots.java | 2 +- .../itemhandlers/BlessedSpiritShot.java | 2 +- .../handlers/itemhandlers/SoulShots.java | 2 +- .../handlers/itemhandlers/SpiritShot.java | 2 +- .../gameserver/enums/BroochJewel.java | 51 +++++--- .../gameserver/model/actor/Player.java | 2 +- .../handlers/itemhandlers/BeastSoulShot.java | 4 +- .../itemhandlers/BeastSpiritShot.java | 4 +- .../itemhandlers/BlessedSoulShots.java | 2 +- .../itemhandlers/BlessedSpiritShot.java | 2 +- .../handlers/itemhandlers/SoulShots.java | 2 +- .../handlers/itemhandlers/SpiritShot.java | 2 +- .../gameserver/enums/BroochJewel.java | 122 ++++++++++-------- .../gameserver/model/actor/Player.java | 2 +- .../handlers/itemhandlers/BeastSoulShot.java | 4 +- .../itemhandlers/BeastSpiritShot.java | 4 +- .../itemhandlers/BlessedSoulShots.java | 2 +- .../itemhandlers/BlessedSpiritShot.java | 2 +- .../handlers/itemhandlers/SoulShots.java | 2 +- .../handlers/itemhandlers/SpiritShot.java | 2 +- .../gameserver/enums/BroochJewel.java | 122 ++++++++++-------- .../gameserver/model/actor/Player.java | 2 +- .../handlers/itemhandlers/BeastSoulShot.java | 4 +- .../itemhandlers/BeastSpiritShot.java | 4 +- .../itemhandlers/BlessedSoulShots.java | 2 +- .../itemhandlers/BlessedSpiritShot.java | 2 +- .../handlers/itemhandlers/SoulShots.java | 2 +- .../handlers/itemhandlers/SpiritShot.java | 2 +- .../gameserver/enums/BroochJewel.java | 122 ++++++++++-------- .../gameserver/model/actor/Player.java | 2 +- 168 files changed, 1259 insertions(+), 927 deletions(-) diff --git a/L2J_Mobius_01.0_Ertheia/dist/game/data/scripts/handlers/itemhandlers/BeastSoulShot.java b/L2J_Mobius_01.0_Ertheia/dist/game/data/scripts/handlers/itemhandlers/BeastSoulShot.java index a0b53bbc44..d80c58265b 100644 --- a/L2J_Mobius_01.0_Ertheia/dist/game/data/scripts/handlers/itemhandlers/BeastSoulShot.java +++ b/L2J_Mobius_01.0_Ertheia/dist/game/data/scripts/handlers/itemhandlers/BeastSoulShot.java @@ -126,7 +126,7 @@ public class BeastSoulShot implements IItemHandler // Visual effect change if player has equipped Ruby level 3 or higher if (activeOwner.getActiveRubyJewel() != null) { - Broadcast.toSelfAndKnownPlayersInRadius(activeOwner, new MagicSkillUse(pet, pet, activeOwner.getActiveRubyJewel().getEffectId(), 1, 0, 0), 600); + Broadcast.toSelfAndKnownPlayersInRadius(activeOwner, new MagicSkillUse(pet, pet, activeOwner.getActiveRubyJewel().getSkillId(), activeOwner.getActiveRubyJewel().getSkillLevel(), 0, 0), 600); } else { @@ -143,7 +143,7 @@ public class BeastSoulShot implements IItemHandler // Visual effect change if player has equipped Ruby level 3 or higher if (activeOwner.getActiveRubyJewel() != null) { - Broadcast.toSelfAndKnownPlayersInRadius(activeOwner, new MagicSkillUse(s, s, activeOwner.getActiveRubyJewel().getEffectId(), 1, 0, 0), 600); + Broadcast.toSelfAndKnownPlayersInRadius(activeOwner, new MagicSkillUse(s, s, activeOwner.getActiveRubyJewel().getSkillId(), activeOwner.getActiveRubyJewel().getSkillLevel(), 0, 0), 600); } else { diff --git a/L2J_Mobius_01.0_Ertheia/dist/game/data/scripts/handlers/itemhandlers/BeastSpiritShot.java b/L2J_Mobius_01.0_Ertheia/dist/game/data/scripts/handlers/itemhandlers/BeastSpiritShot.java index b860d16e2f..edac0c4b64 100644 --- a/L2J_Mobius_01.0_Ertheia/dist/game/data/scripts/handlers/itemhandlers/BeastSpiritShot.java +++ b/L2J_Mobius_01.0_Ertheia/dist/game/data/scripts/handlers/itemhandlers/BeastSpiritShot.java @@ -127,7 +127,7 @@ public class BeastSpiritShot implements IItemHandler // Visual effect change if player has equipped Sapphire level 3 or higher if (activeOwner.getActiveShappireJewel() != null) { - Broadcast.toSelfAndKnownPlayersInRadius(activeOwner, new MagicSkillUse(pet, pet, activeOwner.getActiveShappireJewel().getEffectId(), 2, 0, 0), 600); + Broadcast.toSelfAndKnownPlayersInRadius(activeOwner, new MagicSkillUse(pet, pet, activeOwner.getActiveShappireJewel().getSkillId(), activeOwner.getActiveShappireJewel().getSkillLevel(), 0, 0), 600); } else { @@ -144,7 +144,7 @@ public class BeastSpiritShot implements IItemHandler // Visual effect change if player has equipped Sapphire level 3 or higher if (activeOwner.getActiveShappireJewel() != null) { - Broadcast.toSelfAndKnownPlayersInRadius(activeOwner, new MagicSkillUse(s, s, activeOwner.getActiveShappireJewel().getEffectId(), 2, 0, 0), 600); + Broadcast.toSelfAndKnownPlayersInRadius(activeOwner, new MagicSkillUse(s, s, activeOwner.getActiveShappireJewel().getSkillId(), activeOwner.getActiveShappireJewel().getSkillLevel(), 0, 0), 600); } else { diff --git a/L2J_Mobius_01.0_Ertheia/dist/game/data/scripts/handlers/itemhandlers/BlessedSoulShots.java b/L2J_Mobius_01.0_Ertheia/dist/game/data/scripts/handlers/itemhandlers/BlessedSoulShots.java index 85d614b478..6dcbb48f32 100644 --- a/L2J_Mobius_01.0_Ertheia/dist/game/data/scripts/handlers/itemhandlers/BlessedSoulShots.java +++ b/L2J_Mobius_01.0_Ertheia/dist/game/data/scripts/handlers/itemhandlers/BlessedSoulShots.java @@ -112,7 +112,7 @@ public class BlessedSoulShots implements IItemHandler // Visual effect change if player has equipped Ruby level 3 or higher if (player.getActiveRubyJewel() != null) { - Broadcast.toSelfAndKnownPlayersInRadius(player, new MagicSkillUse(player, player, player.getActiveRubyJewel().getEffectId(), 1, 0, 0), 600); + Broadcast.toSelfAndKnownPlayersInRadius(player, new MagicSkillUse(player, player, player.getActiveRubyJewel().getSkillId(), player.getActiveRubyJewel().getSkillLevel(), 0, 0), 600); } else { diff --git a/L2J_Mobius_01.0_Ertheia/dist/game/data/scripts/handlers/itemhandlers/BlessedSpiritShot.java b/L2J_Mobius_01.0_Ertheia/dist/game/data/scripts/handlers/itemhandlers/BlessedSpiritShot.java index c2610ec4e3..0107d8e303 100644 --- a/L2J_Mobius_01.0_Ertheia/dist/game/data/scripts/handlers/itemhandlers/BlessedSpiritShot.java +++ b/L2J_Mobius_01.0_Ertheia/dist/game/data/scripts/handlers/itemhandlers/BlessedSpiritShot.java @@ -104,7 +104,7 @@ public class BlessedSpiritShot implements IItemHandler // Visual effect change if player has equipped Sapphire level 3 or higher if (player.getActiveShappireJewel() != null) { - Broadcast.toSelfAndKnownPlayersInRadius(player, new MagicSkillUse(player, player, player.getActiveShappireJewel().getEffectId(), 1, 0, 0), 600); + Broadcast.toSelfAndKnownPlayersInRadius(player, new MagicSkillUse(player, player, player.getActiveShappireJewel().getSkillId(), player.getActiveShappireJewel().getSkillLevel(), 0, 0), 600); } else { diff --git a/L2J_Mobius_01.0_Ertheia/dist/game/data/scripts/handlers/itemhandlers/SoulShots.java b/L2J_Mobius_01.0_Ertheia/dist/game/data/scripts/handlers/itemhandlers/SoulShots.java index a61cc1bd71..e965687e9b 100644 --- a/L2J_Mobius_01.0_Ertheia/dist/game/data/scripts/handlers/itemhandlers/SoulShots.java +++ b/L2J_Mobius_01.0_Ertheia/dist/game/data/scripts/handlers/itemhandlers/SoulShots.java @@ -109,7 +109,7 @@ public class SoulShots implements IItemHandler // Visual effect change if player has equipped Ruby level 3 or higher if (player.getActiveRubyJewel() != null) { - Broadcast.toSelfAndKnownPlayersInRadius(player, new MagicSkillUse(player, player, player.getActiveRubyJewel().getEffectId(), 1, 0, 0), 600); + Broadcast.toSelfAndKnownPlayersInRadius(player, new MagicSkillUse(player, player, player.getActiveRubyJewel().getSkillId(), player.getActiveRubyJewel().getSkillLevel(), 0, 0), 600); } else { diff --git a/L2J_Mobius_01.0_Ertheia/dist/game/data/scripts/handlers/itemhandlers/SpiritShot.java b/L2J_Mobius_01.0_Ertheia/dist/game/data/scripts/handlers/itemhandlers/SpiritShot.java index 12f575b243..d1de206b63 100644 --- a/L2J_Mobius_01.0_Ertheia/dist/game/data/scripts/handlers/itemhandlers/SpiritShot.java +++ b/L2J_Mobius_01.0_Ertheia/dist/game/data/scripts/handlers/itemhandlers/SpiritShot.java @@ -104,7 +104,7 @@ public class SpiritShot implements IItemHandler // Visual effect change if player has equipped Sapphire level 3 or higher if (player.getActiveShappireJewel() != null) { - Broadcast.toSelfAndKnownPlayersInRadius(player, new MagicSkillUse(player, player, player.getActiveShappireJewel().getEffectId(), 1, 0, 0), 600); + Broadcast.toSelfAndKnownPlayersInRadius(player, new MagicSkillUse(player, player, player.getActiveShappireJewel().getSkillId(), player.getActiveShappireJewel().getSkillLevel(), 0, 0), 600); } else { diff --git a/L2J_Mobius_01.0_Ertheia/java/org/l2jmobius/gameserver/enums/BroochJewel.java b/L2J_Mobius_01.0_Ertheia/java/org/l2jmobius/gameserver/enums/BroochJewel.java index 591ee713ae..74fba149fd 100644 --- a/L2J_Mobius_01.0_Ertheia/java/org/l2jmobius/gameserver/enums/BroochJewel.java +++ b/L2J_Mobius_01.0_Ertheia/java/org/l2jmobius/gameserver/enums/BroochJewel.java @@ -21,28 +21,33 @@ package org.l2jmobius.gameserver.enums; */ public enum BroochJewel { - RUBY_LV1(38855, 17814, 0.01, true), - RUBY_LV2(38856, 17814, 0.035, true), - RUBY_LV3(38857, 17815, 0.075, true), - RUBY_LV4(38858, 17816, 0.125, true), - RUBY_LV5(38859, 17817, 0.2, true), - SHAPPHIRE_LV1(38927, 17818, 0.01, false), - SHAPPHIRE_LV2(38928, 17818, 0.035, false), - SHAPPHIRE_LV3(38929, 17819, 0.075, false), - SHAPPHIRE_LV4(38930, 17820, 0.125, false), - SHAPPHIRE_LV5(38931, 17821, 0.2, false); + RUBY_LV1(38855, 17814, 1, 0.01, true, false), + RUBY_LV2(38856, 17814, 1, 0.035, true, false), + RUBY_LV3(38857, 17815, 1, 0.075, true, false), + RUBY_LV4(38858, 17816, 1, 0.125, true, false), + RUBY_LV5(38859, 17817, 1, 0.2, true, false), + + SAPPHIRE_LV1(38927, 17818, 1, 0.01, false, true), + SAPPHIRE_LV2(38928, 17818, 1, 0.035, false, true), + SAPPHIRE_LV3(38929, 17819, 1, 0.075, false, true), + SAPPHIRE_LV4(38930, 17820, 1, 0.125, false, true), + SAPPHIRE_LV5(38931, 17821, 1, 0.2, false, true); private int _itemId; - private int _effectId; + private int _skillId; + private int _skillLevel; private double _bonus; - private boolean _isRuby; // If not, it is sapphire. + private boolean _isRuby; + private boolean _isSapphire; - private BroochJewel(int itemId, int effectId, double bonus, boolean isRuby) + private BroochJewel(int itemId, int skillId, int skillLevel, double bonus, boolean isRuby, boolean isSapphire) { _itemId = itemId; - _effectId = effectId; + _skillId = skillId; + _skillLevel = skillLevel; _bonus = bonus; _isRuby = isRuby; + _isSapphire = isSapphire; } public int getItemId() @@ -50,9 +55,14 @@ public enum BroochJewel return _itemId; } - public int getEffectId() + public int getSkillId() { - return _effectId; + return _skillId; + } + + public int getSkillLevel() + { + return _skillLevel; } public double getBonus() @@ -64,4 +74,9 @@ public enum BroochJewel { return _isRuby; } + + public boolean isSapphire() + { + return _isSapphire; + } } diff --git a/L2J_Mobius_01.0_Ertheia/java/org/l2jmobius/gameserver/model/actor/Player.java b/L2J_Mobius_01.0_Ertheia/java/org/l2jmobius/gameserver/model/actor/Player.java index 27109ce884..5034107ebb 100644 --- a/L2J_Mobius_01.0_Ertheia/java/org/l2jmobius/gameserver/model/actor/Player.java +++ b/L2J_Mobius_01.0_Ertheia/java/org/l2jmobius/gameserver/model/actor/Player.java @@ -8882,7 +8882,7 @@ public class Player extends Playable for (int i = broochJewels.length - 1; i > 0; i--) { final BroochJewel jewel = broochJewels[i]; - if (!jewel.isRuby() && _inventory.isItemEquipped(jewel.getItemId())) + if (jewel.isSapphire() && _inventory.isItemEquipped(jewel.getItemId())) { setActiveShappireJewel(jewel); break; diff --git a/L2J_Mobius_02.5_Underground/dist/game/data/scripts/handlers/itemhandlers/BeastSoulShot.java b/L2J_Mobius_02.5_Underground/dist/game/data/scripts/handlers/itemhandlers/BeastSoulShot.java index a0b53bbc44..d80c58265b 100644 --- a/L2J_Mobius_02.5_Underground/dist/game/data/scripts/handlers/itemhandlers/BeastSoulShot.java +++ b/L2J_Mobius_02.5_Underground/dist/game/data/scripts/handlers/itemhandlers/BeastSoulShot.java @@ -126,7 +126,7 @@ public class BeastSoulShot implements IItemHandler // Visual effect change if player has equipped Ruby level 3 or higher if (activeOwner.getActiveRubyJewel() != null) { - Broadcast.toSelfAndKnownPlayersInRadius(activeOwner, new MagicSkillUse(pet, pet, activeOwner.getActiveRubyJewel().getEffectId(), 1, 0, 0), 600); + Broadcast.toSelfAndKnownPlayersInRadius(activeOwner, new MagicSkillUse(pet, pet, activeOwner.getActiveRubyJewel().getSkillId(), activeOwner.getActiveRubyJewel().getSkillLevel(), 0, 0), 600); } else { @@ -143,7 +143,7 @@ public class BeastSoulShot implements IItemHandler // Visual effect change if player has equipped Ruby level 3 or higher if (activeOwner.getActiveRubyJewel() != null) { - Broadcast.toSelfAndKnownPlayersInRadius(activeOwner, new MagicSkillUse(s, s, activeOwner.getActiveRubyJewel().getEffectId(), 1, 0, 0), 600); + Broadcast.toSelfAndKnownPlayersInRadius(activeOwner, new MagicSkillUse(s, s, activeOwner.getActiveRubyJewel().getSkillId(), activeOwner.getActiveRubyJewel().getSkillLevel(), 0, 0), 600); } else { diff --git a/L2J_Mobius_02.5_Underground/dist/game/data/scripts/handlers/itemhandlers/BeastSpiritShot.java b/L2J_Mobius_02.5_Underground/dist/game/data/scripts/handlers/itemhandlers/BeastSpiritShot.java index b860d16e2f..edac0c4b64 100644 --- a/L2J_Mobius_02.5_Underground/dist/game/data/scripts/handlers/itemhandlers/BeastSpiritShot.java +++ b/L2J_Mobius_02.5_Underground/dist/game/data/scripts/handlers/itemhandlers/BeastSpiritShot.java @@ -127,7 +127,7 @@ public class BeastSpiritShot implements IItemHandler // Visual effect change if player has equipped Sapphire level 3 or higher if (activeOwner.getActiveShappireJewel() != null) { - Broadcast.toSelfAndKnownPlayersInRadius(activeOwner, new MagicSkillUse(pet, pet, activeOwner.getActiveShappireJewel().getEffectId(), 2, 0, 0), 600); + Broadcast.toSelfAndKnownPlayersInRadius(activeOwner, new MagicSkillUse(pet, pet, activeOwner.getActiveShappireJewel().getSkillId(), activeOwner.getActiveShappireJewel().getSkillLevel(), 0, 0), 600); } else { @@ -144,7 +144,7 @@ public class BeastSpiritShot implements IItemHandler // Visual effect change if player has equipped Sapphire level 3 or higher if (activeOwner.getActiveShappireJewel() != null) { - Broadcast.toSelfAndKnownPlayersInRadius(activeOwner, new MagicSkillUse(s, s, activeOwner.getActiveShappireJewel().getEffectId(), 2, 0, 0), 600); + Broadcast.toSelfAndKnownPlayersInRadius(activeOwner, new MagicSkillUse(s, s, activeOwner.getActiveShappireJewel().getSkillId(), activeOwner.getActiveShappireJewel().getSkillLevel(), 0, 0), 600); } else { diff --git a/L2J_Mobius_02.5_Underground/dist/game/data/scripts/handlers/itemhandlers/BlessedSoulShots.java b/L2J_Mobius_02.5_Underground/dist/game/data/scripts/handlers/itemhandlers/BlessedSoulShots.java index 85d614b478..6dcbb48f32 100644 --- a/L2J_Mobius_02.5_Underground/dist/game/data/scripts/handlers/itemhandlers/BlessedSoulShots.java +++ b/L2J_Mobius_02.5_Underground/dist/game/data/scripts/handlers/itemhandlers/BlessedSoulShots.java @@ -112,7 +112,7 @@ public class BlessedSoulShots implements IItemHandler // Visual effect change if player has equipped Ruby level 3 or higher if (player.getActiveRubyJewel() != null) { - Broadcast.toSelfAndKnownPlayersInRadius(player, new MagicSkillUse(player, player, player.getActiveRubyJewel().getEffectId(), 1, 0, 0), 600); + Broadcast.toSelfAndKnownPlayersInRadius(player, new MagicSkillUse(player, player, player.getActiveRubyJewel().getSkillId(), player.getActiveRubyJewel().getSkillLevel(), 0, 0), 600); } else { diff --git a/L2J_Mobius_02.5_Underground/dist/game/data/scripts/handlers/itemhandlers/BlessedSpiritShot.java b/L2J_Mobius_02.5_Underground/dist/game/data/scripts/handlers/itemhandlers/BlessedSpiritShot.java index c2610ec4e3..0107d8e303 100644 --- a/L2J_Mobius_02.5_Underground/dist/game/data/scripts/handlers/itemhandlers/BlessedSpiritShot.java +++ b/L2J_Mobius_02.5_Underground/dist/game/data/scripts/handlers/itemhandlers/BlessedSpiritShot.java @@ -104,7 +104,7 @@ public class BlessedSpiritShot implements IItemHandler // Visual effect change if player has equipped Sapphire level 3 or higher if (player.getActiveShappireJewel() != null) { - Broadcast.toSelfAndKnownPlayersInRadius(player, new MagicSkillUse(player, player, player.getActiveShappireJewel().getEffectId(), 1, 0, 0), 600); + Broadcast.toSelfAndKnownPlayersInRadius(player, new MagicSkillUse(player, player, player.getActiveShappireJewel().getSkillId(), player.getActiveShappireJewel().getSkillLevel(), 0, 0), 600); } else { diff --git a/L2J_Mobius_02.5_Underground/dist/game/data/scripts/handlers/itemhandlers/SoulShots.java b/L2J_Mobius_02.5_Underground/dist/game/data/scripts/handlers/itemhandlers/SoulShots.java index a61cc1bd71..e965687e9b 100644 --- a/L2J_Mobius_02.5_Underground/dist/game/data/scripts/handlers/itemhandlers/SoulShots.java +++ b/L2J_Mobius_02.5_Underground/dist/game/data/scripts/handlers/itemhandlers/SoulShots.java @@ -109,7 +109,7 @@ public class SoulShots implements IItemHandler // Visual effect change if player has equipped Ruby level 3 or higher if (player.getActiveRubyJewel() != null) { - Broadcast.toSelfAndKnownPlayersInRadius(player, new MagicSkillUse(player, player, player.getActiveRubyJewel().getEffectId(), 1, 0, 0), 600); + Broadcast.toSelfAndKnownPlayersInRadius(player, new MagicSkillUse(player, player, player.getActiveRubyJewel().getSkillId(), player.getActiveRubyJewel().getSkillLevel(), 0, 0), 600); } else { diff --git a/L2J_Mobius_02.5_Underground/dist/game/data/scripts/handlers/itemhandlers/SpiritShot.java b/L2J_Mobius_02.5_Underground/dist/game/data/scripts/handlers/itemhandlers/SpiritShot.java index 12f575b243..d1de206b63 100644 --- a/L2J_Mobius_02.5_Underground/dist/game/data/scripts/handlers/itemhandlers/SpiritShot.java +++ b/L2J_Mobius_02.5_Underground/dist/game/data/scripts/handlers/itemhandlers/SpiritShot.java @@ -104,7 +104,7 @@ public class SpiritShot implements IItemHandler // Visual effect change if player has equipped Sapphire level 3 or higher if (player.getActiveShappireJewel() != null) { - Broadcast.toSelfAndKnownPlayersInRadius(player, new MagicSkillUse(player, player, player.getActiveShappireJewel().getEffectId(), 1, 0, 0), 600); + Broadcast.toSelfAndKnownPlayersInRadius(player, new MagicSkillUse(player, player, player.getActiveShappireJewel().getSkillId(), player.getActiveShappireJewel().getSkillLevel(), 0, 0), 600); } else { diff --git a/L2J_Mobius_02.5_Underground/java/org/l2jmobius/gameserver/enums/BroochJewel.java b/L2J_Mobius_02.5_Underground/java/org/l2jmobius/gameserver/enums/BroochJewel.java index 591ee713ae..74fba149fd 100644 --- a/L2J_Mobius_02.5_Underground/java/org/l2jmobius/gameserver/enums/BroochJewel.java +++ b/L2J_Mobius_02.5_Underground/java/org/l2jmobius/gameserver/enums/BroochJewel.java @@ -21,28 +21,33 @@ package org.l2jmobius.gameserver.enums; */ public enum BroochJewel { - RUBY_LV1(38855, 17814, 0.01, true), - RUBY_LV2(38856, 17814, 0.035, true), - RUBY_LV3(38857, 17815, 0.075, true), - RUBY_LV4(38858, 17816, 0.125, true), - RUBY_LV5(38859, 17817, 0.2, true), - SHAPPHIRE_LV1(38927, 17818, 0.01, false), - SHAPPHIRE_LV2(38928, 17818, 0.035, false), - SHAPPHIRE_LV3(38929, 17819, 0.075, false), - SHAPPHIRE_LV4(38930, 17820, 0.125, false), - SHAPPHIRE_LV5(38931, 17821, 0.2, false); + RUBY_LV1(38855, 17814, 1, 0.01, true, false), + RUBY_LV2(38856, 17814, 1, 0.035, true, false), + RUBY_LV3(38857, 17815, 1, 0.075, true, false), + RUBY_LV4(38858, 17816, 1, 0.125, true, false), + RUBY_LV5(38859, 17817, 1, 0.2, true, false), + + SAPPHIRE_LV1(38927, 17818, 1, 0.01, false, true), + SAPPHIRE_LV2(38928, 17818, 1, 0.035, false, true), + SAPPHIRE_LV3(38929, 17819, 1, 0.075, false, true), + SAPPHIRE_LV4(38930, 17820, 1, 0.125, false, true), + SAPPHIRE_LV5(38931, 17821, 1, 0.2, false, true); private int _itemId; - private int _effectId; + private int _skillId; + private int _skillLevel; private double _bonus; - private boolean _isRuby; // If not, it is sapphire. + private boolean _isRuby; + private boolean _isSapphire; - private BroochJewel(int itemId, int effectId, double bonus, boolean isRuby) + private BroochJewel(int itemId, int skillId, int skillLevel, double bonus, boolean isRuby, boolean isSapphire) { _itemId = itemId; - _effectId = effectId; + _skillId = skillId; + _skillLevel = skillLevel; _bonus = bonus; _isRuby = isRuby; + _isSapphire = isSapphire; } public int getItemId() @@ -50,9 +55,14 @@ public enum BroochJewel return _itemId; } - public int getEffectId() + public int getSkillId() { - return _effectId; + return _skillId; + } + + public int getSkillLevel() + { + return _skillLevel; } public double getBonus() @@ -64,4 +74,9 @@ public enum BroochJewel { return _isRuby; } + + public boolean isSapphire() + { + return _isSapphire; + } } diff --git a/L2J_Mobius_02.5_Underground/java/org/l2jmobius/gameserver/model/actor/Player.java b/L2J_Mobius_02.5_Underground/java/org/l2jmobius/gameserver/model/actor/Player.java index 17584574d4..d867b444e0 100644 --- a/L2J_Mobius_02.5_Underground/java/org/l2jmobius/gameserver/model/actor/Player.java +++ b/L2J_Mobius_02.5_Underground/java/org/l2jmobius/gameserver/model/actor/Player.java @@ -8885,7 +8885,7 @@ public class Player extends Playable for (int i = broochJewels.length - 1; i > 0; i--) { final BroochJewel jewel = broochJewels[i]; - if (!jewel.isRuby() && _inventory.isItemEquipped(jewel.getItemId())) + if (jewel.isSapphire() && _inventory.isItemEquipped(jewel.getItemId())) { setActiveShappireJewel(jewel); break; diff --git a/L2J_Mobius_03.0_Helios/dist/game/data/scripts/handlers/itemhandlers/BeastSoulShot.java b/L2J_Mobius_03.0_Helios/dist/game/data/scripts/handlers/itemhandlers/BeastSoulShot.java index a0b53bbc44..d80c58265b 100644 --- a/L2J_Mobius_03.0_Helios/dist/game/data/scripts/handlers/itemhandlers/BeastSoulShot.java +++ b/L2J_Mobius_03.0_Helios/dist/game/data/scripts/handlers/itemhandlers/BeastSoulShot.java @@ -126,7 +126,7 @@ public class BeastSoulShot implements IItemHandler // Visual effect change if player has equipped Ruby level 3 or higher if (activeOwner.getActiveRubyJewel() != null) { - Broadcast.toSelfAndKnownPlayersInRadius(activeOwner, new MagicSkillUse(pet, pet, activeOwner.getActiveRubyJewel().getEffectId(), 1, 0, 0), 600); + Broadcast.toSelfAndKnownPlayersInRadius(activeOwner, new MagicSkillUse(pet, pet, activeOwner.getActiveRubyJewel().getSkillId(), activeOwner.getActiveRubyJewel().getSkillLevel(), 0, 0), 600); } else { @@ -143,7 +143,7 @@ public class BeastSoulShot implements IItemHandler // Visual effect change if player has equipped Ruby level 3 or higher if (activeOwner.getActiveRubyJewel() != null) { - Broadcast.toSelfAndKnownPlayersInRadius(activeOwner, new MagicSkillUse(s, s, activeOwner.getActiveRubyJewel().getEffectId(), 1, 0, 0), 600); + Broadcast.toSelfAndKnownPlayersInRadius(activeOwner, new MagicSkillUse(s, s, activeOwner.getActiveRubyJewel().getSkillId(), activeOwner.getActiveRubyJewel().getSkillLevel(), 0, 0), 600); } else { diff --git a/L2J_Mobius_03.0_Helios/dist/game/data/scripts/handlers/itemhandlers/BeastSpiritShot.java b/L2J_Mobius_03.0_Helios/dist/game/data/scripts/handlers/itemhandlers/BeastSpiritShot.java index b860d16e2f..edac0c4b64 100644 --- a/L2J_Mobius_03.0_Helios/dist/game/data/scripts/handlers/itemhandlers/BeastSpiritShot.java +++ b/L2J_Mobius_03.0_Helios/dist/game/data/scripts/handlers/itemhandlers/BeastSpiritShot.java @@ -127,7 +127,7 @@ public class BeastSpiritShot implements IItemHandler // Visual effect change if player has equipped Sapphire level 3 or higher if (activeOwner.getActiveShappireJewel() != null) { - Broadcast.toSelfAndKnownPlayersInRadius(activeOwner, new MagicSkillUse(pet, pet, activeOwner.getActiveShappireJewel().getEffectId(), 2, 0, 0), 600); + Broadcast.toSelfAndKnownPlayersInRadius(activeOwner, new MagicSkillUse(pet, pet, activeOwner.getActiveShappireJewel().getSkillId(), activeOwner.getActiveShappireJewel().getSkillLevel(), 0, 0), 600); } else { @@ -144,7 +144,7 @@ public class BeastSpiritShot implements IItemHandler // Visual effect change if player has equipped Sapphire level 3 or higher if (activeOwner.getActiveShappireJewel() != null) { - Broadcast.toSelfAndKnownPlayersInRadius(activeOwner, new MagicSkillUse(s, s, activeOwner.getActiveShappireJewel().getEffectId(), 2, 0, 0), 600); + Broadcast.toSelfAndKnownPlayersInRadius(activeOwner, new MagicSkillUse(s, s, activeOwner.getActiveShappireJewel().getSkillId(), activeOwner.getActiveShappireJewel().getSkillLevel(), 0, 0), 600); } else { diff --git a/L2J_Mobius_03.0_Helios/dist/game/data/scripts/handlers/itemhandlers/BlessedSoulShots.java b/L2J_Mobius_03.0_Helios/dist/game/data/scripts/handlers/itemhandlers/BlessedSoulShots.java index 85d614b478..6dcbb48f32 100644 --- a/L2J_Mobius_03.0_Helios/dist/game/data/scripts/handlers/itemhandlers/BlessedSoulShots.java +++ b/L2J_Mobius_03.0_Helios/dist/game/data/scripts/handlers/itemhandlers/BlessedSoulShots.java @@ -112,7 +112,7 @@ public class BlessedSoulShots implements IItemHandler // Visual effect change if player has equipped Ruby level 3 or higher if (player.getActiveRubyJewel() != null) { - Broadcast.toSelfAndKnownPlayersInRadius(player, new MagicSkillUse(player, player, player.getActiveRubyJewel().getEffectId(), 1, 0, 0), 600); + Broadcast.toSelfAndKnownPlayersInRadius(player, new MagicSkillUse(player, player, player.getActiveRubyJewel().getSkillId(), player.getActiveRubyJewel().getSkillLevel(), 0, 0), 600); } else { diff --git a/L2J_Mobius_03.0_Helios/dist/game/data/scripts/handlers/itemhandlers/BlessedSpiritShot.java b/L2J_Mobius_03.0_Helios/dist/game/data/scripts/handlers/itemhandlers/BlessedSpiritShot.java index c2610ec4e3..0107d8e303 100644 --- a/L2J_Mobius_03.0_Helios/dist/game/data/scripts/handlers/itemhandlers/BlessedSpiritShot.java +++ b/L2J_Mobius_03.0_Helios/dist/game/data/scripts/handlers/itemhandlers/BlessedSpiritShot.java @@ -104,7 +104,7 @@ public class BlessedSpiritShot implements IItemHandler // Visual effect change if player has equipped Sapphire level 3 or higher if (player.getActiveShappireJewel() != null) { - Broadcast.toSelfAndKnownPlayersInRadius(player, new MagicSkillUse(player, player, player.getActiveShappireJewel().getEffectId(), 1, 0, 0), 600); + Broadcast.toSelfAndKnownPlayersInRadius(player, new MagicSkillUse(player, player, player.getActiveShappireJewel().getSkillId(), player.getActiveShappireJewel().getSkillLevel(), 0, 0), 600); } else { diff --git a/L2J_Mobius_03.0_Helios/dist/game/data/scripts/handlers/itemhandlers/SoulShots.java b/L2J_Mobius_03.0_Helios/dist/game/data/scripts/handlers/itemhandlers/SoulShots.java index a61cc1bd71..e965687e9b 100644 --- a/L2J_Mobius_03.0_Helios/dist/game/data/scripts/handlers/itemhandlers/SoulShots.java +++ b/L2J_Mobius_03.0_Helios/dist/game/data/scripts/handlers/itemhandlers/SoulShots.java @@ -109,7 +109,7 @@ public class SoulShots implements IItemHandler // Visual effect change if player has equipped Ruby level 3 or higher if (player.getActiveRubyJewel() != null) { - Broadcast.toSelfAndKnownPlayersInRadius(player, new MagicSkillUse(player, player, player.getActiveRubyJewel().getEffectId(), 1, 0, 0), 600); + Broadcast.toSelfAndKnownPlayersInRadius(player, new MagicSkillUse(player, player, player.getActiveRubyJewel().getSkillId(), player.getActiveRubyJewel().getSkillLevel(), 0, 0), 600); } else { diff --git a/L2J_Mobius_03.0_Helios/dist/game/data/scripts/handlers/itemhandlers/SpiritShot.java b/L2J_Mobius_03.0_Helios/dist/game/data/scripts/handlers/itemhandlers/SpiritShot.java index 12f575b243..d1de206b63 100644 --- a/L2J_Mobius_03.0_Helios/dist/game/data/scripts/handlers/itemhandlers/SpiritShot.java +++ b/L2J_Mobius_03.0_Helios/dist/game/data/scripts/handlers/itemhandlers/SpiritShot.java @@ -104,7 +104,7 @@ public class SpiritShot implements IItemHandler // Visual effect change if player has equipped Sapphire level 3 or higher if (player.getActiveShappireJewel() != null) { - Broadcast.toSelfAndKnownPlayersInRadius(player, new MagicSkillUse(player, player, player.getActiveShappireJewel().getEffectId(), 1, 0, 0), 600); + Broadcast.toSelfAndKnownPlayersInRadius(player, new MagicSkillUse(player, player, player.getActiveShappireJewel().getSkillId(), player.getActiveShappireJewel().getSkillLevel(), 0, 0), 600); } else { diff --git a/L2J_Mobius_03.0_Helios/java/org/l2jmobius/gameserver/enums/BroochJewel.java b/L2J_Mobius_03.0_Helios/java/org/l2jmobius/gameserver/enums/BroochJewel.java index ab3d1b8dd3..7906df9779 100644 --- a/L2J_Mobius_03.0_Helios/java/org/l2jmobius/gameserver/enums/BroochJewel.java +++ b/L2J_Mobius_03.0_Helios/java/org/l2jmobius/gameserver/enums/BroochJewel.java @@ -21,30 +21,37 @@ package org.l2jmobius.gameserver.enums; */ public enum BroochJewel { - RUBY_LV1(38855, 17814, 0.01, true), - RUBY_LV2(38856, 17814, 0.035, true), - RUBY_LV3(38857, 17815, 0.075, true), - RUBY_LV4(38858, 17816, 0.125, true), - RUBY_LV5(38859, 17817, 0.2, true), - GREATER_RUBY(47688, 18715, 0.2, true), - SHAPPHIRE_LV1(38927, 17818, 0.01, false), - SHAPPHIRE_LV2(38928, 17818, 0.035, false), - SHAPPHIRE_LV3(38929, 17819, 0.075, false), - SHAPPHIRE_LV4(38930, 17820, 0.125, false), - SHAPPHIRE_LV5(38931, 17821, 0.2, false), - GREATER_SHAPPHIRE(47689, 18718, 0.2, false); + RUBY_LV1(38855, 17814, 1, 0.01, true, false), + RUBY_LV2(38856, 17814, 1, 0.035, true, false), + RUBY_LV3(38857, 17815, 1, 0.075, true, false), + RUBY_LV4(38858, 17816, 1, 0.125, true, false), + RUBY_LV5(38859, 17817, 1, 0.2, true, false), + + GREATER_RUBY(47688, 18715, 1, 0.2, true, false), + + SAPPHIRE_LV1(38927, 17818, 1, 0.01, false, true), + SAPPHIRE_LV2(38928, 17818, 1, 0.035, false, true), + SAPPHIRE_LV3(38929, 17819, 1, 0.075, false, true), + SAPPHIRE_LV4(38930, 17820, 1, 0.125, false, true), + SAPPHIRE_LV5(38931, 17821, 1, 0.2, false, true), + + GREATER_SAPPHIRE(47689, 18718, 1, 0.2, false, true); private int _itemId; - private int _effectId; + private int _skillId; + private int _skillLevel; private double _bonus; - private boolean _isRuby; // If not, it is sapphire. + private boolean _isRuby; + private boolean _isSapphire; - private BroochJewel(int itemId, int effectId, double bonus, boolean isRuby) + private BroochJewel(int itemId, int skillId, int skillLevel, double bonus, boolean isRuby, boolean isSapphire) { _itemId = itemId; - _effectId = effectId; + _skillId = skillId; + _skillLevel = skillLevel; _bonus = bonus; _isRuby = isRuby; + _isSapphire = isSapphire; } public int getItemId() @@ -52,9 +59,14 @@ public enum BroochJewel return _itemId; } - public int getEffectId() + public int getSkillId() { - return _effectId; + return _skillId; + } + + public int getSkillLevel() + { + return _skillLevel; } public double getBonus() @@ -66,4 +78,9 @@ public enum BroochJewel { return _isRuby; } + + public boolean isSapphire() + { + return _isSapphire; + } } diff --git a/L2J_Mobius_03.0_Helios/java/org/l2jmobius/gameserver/model/actor/Player.java b/L2J_Mobius_03.0_Helios/java/org/l2jmobius/gameserver/model/actor/Player.java index a9d7beeb2b..6504c9e255 100644 --- a/L2J_Mobius_03.0_Helios/java/org/l2jmobius/gameserver/model/actor/Player.java +++ b/L2J_Mobius_03.0_Helios/java/org/l2jmobius/gameserver/model/actor/Player.java @@ -8887,7 +8887,7 @@ public class Player extends Playable for (int i = broochJewels.length - 1; i > 0; i--) { final BroochJewel jewel = broochJewels[i]; - if (!jewel.isRuby() && _inventory.isItemEquipped(jewel.getItemId())) + if (jewel.isSapphire() && _inventory.isItemEquipped(jewel.getItemId())) { setActiveShappireJewel(jewel); break; diff --git a/L2J_Mobius_04.0_GrandCrusade/dist/game/data/scripts/handlers/itemhandlers/BeastSoulShot.java b/L2J_Mobius_04.0_GrandCrusade/dist/game/data/scripts/handlers/itemhandlers/BeastSoulShot.java index a0b53bbc44..d80c58265b 100644 --- a/L2J_Mobius_04.0_GrandCrusade/dist/game/data/scripts/handlers/itemhandlers/BeastSoulShot.java +++ b/L2J_Mobius_04.0_GrandCrusade/dist/game/data/scripts/handlers/itemhandlers/BeastSoulShot.java @@ -126,7 +126,7 @@ public class BeastSoulShot implements IItemHandler // Visual effect change if player has equipped Ruby level 3 or higher if (activeOwner.getActiveRubyJewel() != null) { - Broadcast.toSelfAndKnownPlayersInRadius(activeOwner, new MagicSkillUse(pet, pet, activeOwner.getActiveRubyJewel().getEffectId(), 1, 0, 0), 600); + Broadcast.toSelfAndKnownPlayersInRadius(activeOwner, new MagicSkillUse(pet, pet, activeOwner.getActiveRubyJewel().getSkillId(), activeOwner.getActiveRubyJewel().getSkillLevel(), 0, 0), 600); } else { @@ -143,7 +143,7 @@ public class BeastSoulShot implements IItemHandler // Visual effect change if player has equipped Ruby level 3 or higher if (activeOwner.getActiveRubyJewel() != null) { - Broadcast.toSelfAndKnownPlayersInRadius(activeOwner, new MagicSkillUse(s, s, activeOwner.getActiveRubyJewel().getEffectId(), 1, 0, 0), 600); + Broadcast.toSelfAndKnownPlayersInRadius(activeOwner, new MagicSkillUse(s, s, activeOwner.getActiveRubyJewel().getSkillId(), activeOwner.getActiveRubyJewel().getSkillLevel(), 0, 0), 600); } else { diff --git a/L2J_Mobius_04.0_GrandCrusade/dist/game/data/scripts/handlers/itemhandlers/BeastSpiritShot.java b/L2J_Mobius_04.0_GrandCrusade/dist/game/data/scripts/handlers/itemhandlers/BeastSpiritShot.java index b860d16e2f..edac0c4b64 100644 --- a/L2J_Mobius_04.0_GrandCrusade/dist/game/data/scripts/handlers/itemhandlers/BeastSpiritShot.java +++ b/L2J_Mobius_04.0_GrandCrusade/dist/game/data/scripts/handlers/itemhandlers/BeastSpiritShot.java @@ -127,7 +127,7 @@ public class BeastSpiritShot implements IItemHandler // Visual effect change if player has equipped Sapphire level 3 or higher if (activeOwner.getActiveShappireJewel() != null) { - Broadcast.toSelfAndKnownPlayersInRadius(activeOwner, new MagicSkillUse(pet, pet, activeOwner.getActiveShappireJewel().getEffectId(), 2, 0, 0), 600); + Broadcast.toSelfAndKnownPlayersInRadius(activeOwner, new MagicSkillUse(pet, pet, activeOwner.getActiveShappireJewel().getSkillId(), activeOwner.getActiveShappireJewel().getSkillLevel(), 0, 0), 600); } else { @@ -144,7 +144,7 @@ public class BeastSpiritShot implements IItemHandler // Visual effect change if player has equipped Sapphire level 3 or higher if (activeOwner.getActiveShappireJewel() != null) { - Broadcast.toSelfAndKnownPlayersInRadius(activeOwner, new MagicSkillUse(s, s, activeOwner.getActiveShappireJewel().getEffectId(), 2, 0, 0), 600); + Broadcast.toSelfAndKnownPlayersInRadius(activeOwner, new MagicSkillUse(s, s, activeOwner.getActiveShappireJewel().getSkillId(), activeOwner.getActiveShappireJewel().getSkillLevel(), 0, 0), 600); } else { diff --git a/L2J_Mobius_04.0_GrandCrusade/dist/game/data/scripts/handlers/itemhandlers/BlessedSoulShots.java b/L2J_Mobius_04.0_GrandCrusade/dist/game/data/scripts/handlers/itemhandlers/BlessedSoulShots.java index 85d614b478..6dcbb48f32 100644 --- a/L2J_Mobius_04.0_GrandCrusade/dist/game/data/scripts/handlers/itemhandlers/BlessedSoulShots.java +++ b/L2J_Mobius_04.0_GrandCrusade/dist/game/data/scripts/handlers/itemhandlers/BlessedSoulShots.java @@ -112,7 +112,7 @@ public class BlessedSoulShots implements IItemHandler // Visual effect change if player has equipped Ruby level 3 or higher if (player.getActiveRubyJewel() != null) { - Broadcast.toSelfAndKnownPlayersInRadius(player, new MagicSkillUse(player, player, player.getActiveRubyJewel().getEffectId(), 1, 0, 0), 600); + Broadcast.toSelfAndKnownPlayersInRadius(player, new MagicSkillUse(player, player, player.getActiveRubyJewel().getSkillId(), player.getActiveRubyJewel().getSkillLevel(), 0, 0), 600); } else { diff --git a/L2J_Mobius_04.0_GrandCrusade/dist/game/data/scripts/handlers/itemhandlers/BlessedSpiritShot.java b/L2J_Mobius_04.0_GrandCrusade/dist/game/data/scripts/handlers/itemhandlers/BlessedSpiritShot.java index c2610ec4e3..0107d8e303 100644 --- a/L2J_Mobius_04.0_GrandCrusade/dist/game/data/scripts/handlers/itemhandlers/BlessedSpiritShot.java +++ b/L2J_Mobius_04.0_GrandCrusade/dist/game/data/scripts/handlers/itemhandlers/BlessedSpiritShot.java @@ -104,7 +104,7 @@ public class BlessedSpiritShot implements IItemHandler // Visual effect change if player has equipped Sapphire level 3 or higher if (player.getActiveShappireJewel() != null) { - Broadcast.toSelfAndKnownPlayersInRadius(player, new MagicSkillUse(player, player, player.getActiveShappireJewel().getEffectId(), 1, 0, 0), 600); + Broadcast.toSelfAndKnownPlayersInRadius(player, new MagicSkillUse(player, player, player.getActiveShappireJewel().getSkillId(), player.getActiveShappireJewel().getSkillLevel(), 0, 0), 600); } else { diff --git a/L2J_Mobius_04.0_GrandCrusade/dist/game/data/scripts/handlers/itemhandlers/SoulShots.java b/L2J_Mobius_04.0_GrandCrusade/dist/game/data/scripts/handlers/itemhandlers/SoulShots.java index a61cc1bd71..e965687e9b 100644 --- a/L2J_Mobius_04.0_GrandCrusade/dist/game/data/scripts/handlers/itemhandlers/SoulShots.java +++ b/L2J_Mobius_04.0_GrandCrusade/dist/game/data/scripts/handlers/itemhandlers/SoulShots.java @@ -109,7 +109,7 @@ public class SoulShots implements IItemHandler // Visual effect change if player has equipped Ruby level 3 or higher if (player.getActiveRubyJewel() != null) { - Broadcast.toSelfAndKnownPlayersInRadius(player, new MagicSkillUse(player, player, player.getActiveRubyJewel().getEffectId(), 1, 0, 0), 600); + Broadcast.toSelfAndKnownPlayersInRadius(player, new MagicSkillUse(player, player, player.getActiveRubyJewel().getSkillId(), player.getActiveRubyJewel().getSkillLevel(), 0, 0), 600); } else { diff --git a/L2J_Mobius_04.0_GrandCrusade/dist/game/data/scripts/handlers/itemhandlers/SpiritShot.java b/L2J_Mobius_04.0_GrandCrusade/dist/game/data/scripts/handlers/itemhandlers/SpiritShot.java index 12f575b243..d1de206b63 100644 --- a/L2J_Mobius_04.0_GrandCrusade/dist/game/data/scripts/handlers/itemhandlers/SpiritShot.java +++ b/L2J_Mobius_04.0_GrandCrusade/dist/game/data/scripts/handlers/itemhandlers/SpiritShot.java @@ -104,7 +104,7 @@ public class SpiritShot implements IItemHandler // Visual effect change if player has equipped Sapphire level 3 or higher if (player.getActiveShappireJewel() != null) { - Broadcast.toSelfAndKnownPlayersInRadius(player, new MagicSkillUse(player, player, player.getActiveShappireJewel().getEffectId(), 1, 0, 0), 600); + Broadcast.toSelfAndKnownPlayersInRadius(player, new MagicSkillUse(player, player, player.getActiveShappireJewel().getSkillId(), player.getActiveShappireJewel().getSkillLevel(), 0, 0), 600); } else { diff --git a/L2J_Mobius_04.0_GrandCrusade/java/org/l2jmobius/gameserver/enums/BroochJewel.java b/L2J_Mobius_04.0_GrandCrusade/java/org/l2jmobius/gameserver/enums/BroochJewel.java index ab3d1b8dd3..7906df9779 100644 --- a/L2J_Mobius_04.0_GrandCrusade/java/org/l2jmobius/gameserver/enums/BroochJewel.java +++ b/L2J_Mobius_04.0_GrandCrusade/java/org/l2jmobius/gameserver/enums/BroochJewel.java @@ -21,30 +21,37 @@ package org.l2jmobius.gameserver.enums; */ public enum BroochJewel { - RUBY_LV1(38855, 17814, 0.01, true), - RUBY_LV2(38856, 17814, 0.035, true), - RUBY_LV3(38857, 17815, 0.075, true), - RUBY_LV4(38858, 17816, 0.125, true), - RUBY_LV5(38859, 17817, 0.2, true), - GREATER_RUBY(47688, 18715, 0.2, true), - SHAPPHIRE_LV1(38927, 17818, 0.01, false), - SHAPPHIRE_LV2(38928, 17818, 0.035, false), - SHAPPHIRE_LV3(38929, 17819, 0.075, false), - SHAPPHIRE_LV4(38930, 17820, 0.125, false), - SHAPPHIRE_LV5(38931, 17821, 0.2, false), - GREATER_SHAPPHIRE(47689, 18718, 0.2, false); + RUBY_LV1(38855, 17814, 1, 0.01, true, false), + RUBY_LV2(38856, 17814, 1, 0.035, true, false), + RUBY_LV3(38857, 17815, 1, 0.075, true, false), + RUBY_LV4(38858, 17816, 1, 0.125, true, false), + RUBY_LV5(38859, 17817, 1, 0.2, true, false), + + GREATER_RUBY(47688, 18715, 1, 0.2, true, false), + + SAPPHIRE_LV1(38927, 17818, 1, 0.01, false, true), + SAPPHIRE_LV2(38928, 17818, 1, 0.035, false, true), + SAPPHIRE_LV3(38929, 17819, 1, 0.075, false, true), + SAPPHIRE_LV4(38930, 17820, 1, 0.125, false, true), + SAPPHIRE_LV5(38931, 17821, 1, 0.2, false, true), + + GREATER_SAPPHIRE(47689, 18718, 1, 0.2, false, true); private int _itemId; - private int _effectId; + private int _skillId; + private int _skillLevel; private double _bonus; - private boolean _isRuby; // If not, it is sapphire. + private boolean _isRuby; + private boolean _isSapphire; - private BroochJewel(int itemId, int effectId, double bonus, boolean isRuby) + private BroochJewel(int itemId, int skillId, int skillLevel, double bonus, boolean isRuby, boolean isSapphire) { _itemId = itemId; - _effectId = effectId; + _skillId = skillId; + _skillLevel = skillLevel; _bonus = bonus; _isRuby = isRuby; + _isSapphire = isSapphire; } public int getItemId() @@ -52,9 +59,14 @@ public enum BroochJewel return _itemId; } - public int getEffectId() + public int getSkillId() { - return _effectId; + return _skillId; + } + + public int getSkillLevel() + { + return _skillLevel; } public double getBonus() @@ -66,4 +78,9 @@ public enum BroochJewel { return _isRuby; } + + public boolean isSapphire() + { + return _isSapphire; + } } diff --git a/L2J_Mobius_04.0_GrandCrusade/java/org/l2jmobius/gameserver/model/actor/Player.java b/L2J_Mobius_04.0_GrandCrusade/java/org/l2jmobius/gameserver/model/actor/Player.java index 6cb0d8171d..791a09f755 100644 --- a/L2J_Mobius_04.0_GrandCrusade/java/org/l2jmobius/gameserver/model/actor/Player.java +++ b/L2J_Mobius_04.0_GrandCrusade/java/org/l2jmobius/gameserver/model/actor/Player.java @@ -8882,7 +8882,7 @@ public class Player extends Playable for (int i = broochJewels.length - 1; i > 0; i--) { final BroochJewel jewel = broochJewels[i]; - if (!jewel.isRuby() && _inventory.isItemEquipped(jewel.getItemId())) + if (jewel.isSapphire() && _inventory.isItemEquipped(jewel.getItemId())) { setActiveShappireJewel(jewel); break; diff --git a/L2J_Mobius_05.0_Salvation/dist/game/data/scripts/handlers/itemhandlers/BeastSoulShot.java b/L2J_Mobius_05.0_Salvation/dist/game/data/scripts/handlers/itemhandlers/BeastSoulShot.java index a0b53bbc44..d80c58265b 100644 --- a/L2J_Mobius_05.0_Salvation/dist/game/data/scripts/handlers/itemhandlers/BeastSoulShot.java +++ b/L2J_Mobius_05.0_Salvation/dist/game/data/scripts/handlers/itemhandlers/BeastSoulShot.java @@ -126,7 +126,7 @@ public class BeastSoulShot implements IItemHandler // Visual effect change if player has equipped Ruby level 3 or higher if (activeOwner.getActiveRubyJewel() != null) { - Broadcast.toSelfAndKnownPlayersInRadius(activeOwner, new MagicSkillUse(pet, pet, activeOwner.getActiveRubyJewel().getEffectId(), 1, 0, 0), 600); + Broadcast.toSelfAndKnownPlayersInRadius(activeOwner, new MagicSkillUse(pet, pet, activeOwner.getActiveRubyJewel().getSkillId(), activeOwner.getActiveRubyJewel().getSkillLevel(), 0, 0), 600); } else { @@ -143,7 +143,7 @@ public class BeastSoulShot implements IItemHandler // Visual effect change if player has equipped Ruby level 3 or higher if (activeOwner.getActiveRubyJewel() != null) { - Broadcast.toSelfAndKnownPlayersInRadius(activeOwner, new MagicSkillUse(s, s, activeOwner.getActiveRubyJewel().getEffectId(), 1, 0, 0), 600); + Broadcast.toSelfAndKnownPlayersInRadius(activeOwner, new MagicSkillUse(s, s, activeOwner.getActiveRubyJewel().getSkillId(), activeOwner.getActiveRubyJewel().getSkillLevel(), 0, 0), 600); } else { diff --git a/L2J_Mobius_05.0_Salvation/dist/game/data/scripts/handlers/itemhandlers/BeastSpiritShot.java b/L2J_Mobius_05.0_Salvation/dist/game/data/scripts/handlers/itemhandlers/BeastSpiritShot.java index b860d16e2f..edac0c4b64 100644 --- a/L2J_Mobius_05.0_Salvation/dist/game/data/scripts/handlers/itemhandlers/BeastSpiritShot.java +++ b/L2J_Mobius_05.0_Salvation/dist/game/data/scripts/handlers/itemhandlers/BeastSpiritShot.java @@ -127,7 +127,7 @@ public class BeastSpiritShot implements IItemHandler // Visual effect change if player has equipped Sapphire level 3 or higher if (activeOwner.getActiveShappireJewel() != null) { - Broadcast.toSelfAndKnownPlayersInRadius(activeOwner, new MagicSkillUse(pet, pet, activeOwner.getActiveShappireJewel().getEffectId(), 2, 0, 0), 600); + Broadcast.toSelfAndKnownPlayersInRadius(activeOwner, new MagicSkillUse(pet, pet, activeOwner.getActiveShappireJewel().getSkillId(), activeOwner.getActiveShappireJewel().getSkillLevel(), 0, 0), 600); } else { @@ -144,7 +144,7 @@ public class BeastSpiritShot implements IItemHandler // Visual effect change if player has equipped Sapphire level 3 or higher if (activeOwner.getActiveShappireJewel() != null) { - Broadcast.toSelfAndKnownPlayersInRadius(activeOwner, new MagicSkillUse(s, s, activeOwner.getActiveShappireJewel().getEffectId(), 2, 0, 0), 600); + Broadcast.toSelfAndKnownPlayersInRadius(activeOwner, new MagicSkillUse(s, s, activeOwner.getActiveShappireJewel().getSkillId(), activeOwner.getActiveShappireJewel().getSkillLevel(), 0, 0), 600); } else { diff --git a/L2J_Mobius_05.0_Salvation/dist/game/data/scripts/handlers/itemhandlers/BlessedSoulShots.java b/L2J_Mobius_05.0_Salvation/dist/game/data/scripts/handlers/itemhandlers/BlessedSoulShots.java index 85d614b478..6dcbb48f32 100644 --- a/L2J_Mobius_05.0_Salvation/dist/game/data/scripts/handlers/itemhandlers/BlessedSoulShots.java +++ b/L2J_Mobius_05.0_Salvation/dist/game/data/scripts/handlers/itemhandlers/BlessedSoulShots.java @@ -112,7 +112,7 @@ public class BlessedSoulShots implements IItemHandler // Visual effect change if player has equipped Ruby level 3 or higher if (player.getActiveRubyJewel() != null) { - Broadcast.toSelfAndKnownPlayersInRadius(player, new MagicSkillUse(player, player, player.getActiveRubyJewel().getEffectId(), 1, 0, 0), 600); + Broadcast.toSelfAndKnownPlayersInRadius(player, new MagicSkillUse(player, player, player.getActiveRubyJewel().getSkillId(), player.getActiveRubyJewel().getSkillLevel(), 0, 0), 600); } else { diff --git a/L2J_Mobius_05.0_Salvation/dist/game/data/scripts/handlers/itemhandlers/BlessedSpiritShot.java b/L2J_Mobius_05.0_Salvation/dist/game/data/scripts/handlers/itemhandlers/BlessedSpiritShot.java index c2610ec4e3..0107d8e303 100644 --- a/L2J_Mobius_05.0_Salvation/dist/game/data/scripts/handlers/itemhandlers/BlessedSpiritShot.java +++ b/L2J_Mobius_05.0_Salvation/dist/game/data/scripts/handlers/itemhandlers/BlessedSpiritShot.java @@ -104,7 +104,7 @@ public class BlessedSpiritShot implements IItemHandler // Visual effect change if player has equipped Sapphire level 3 or higher if (player.getActiveShappireJewel() != null) { - Broadcast.toSelfAndKnownPlayersInRadius(player, new MagicSkillUse(player, player, player.getActiveShappireJewel().getEffectId(), 1, 0, 0), 600); + Broadcast.toSelfAndKnownPlayersInRadius(player, new MagicSkillUse(player, player, player.getActiveShappireJewel().getSkillId(), player.getActiveShappireJewel().getSkillLevel(), 0, 0), 600); } else { diff --git a/L2J_Mobius_05.0_Salvation/dist/game/data/scripts/handlers/itemhandlers/SoulShots.java b/L2J_Mobius_05.0_Salvation/dist/game/data/scripts/handlers/itemhandlers/SoulShots.java index a61cc1bd71..e965687e9b 100644 --- a/L2J_Mobius_05.0_Salvation/dist/game/data/scripts/handlers/itemhandlers/SoulShots.java +++ b/L2J_Mobius_05.0_Salvation/dist/game/data/scripts/handlers/itemhandlers/SoulShots.java @@ -109,7 +109,7 @@ public class SoulShots implements IItemHandler // Visual effect change if player has equipped Ruby level 3 or higher if (player.getActiveRubyJewel() != null) { - Broadcast.toSelfAndKnownPlayersInRadius(player, new MagicSkillUse(player, player, player.getActiveRubyJewel().getEffectId(), 1, 0, 0), 600); + Broadcast.toSelfAndKnownPlayersInRadius(player, new MagicSkillUse(player, player, player.getActiveRubyJewel().getSkillId(), player.getActiveRubyJewel().getSkillLevel(), 0, 0), 600); } else { diff --git a/L2J_Mobius_05.0_Salvation/dist/game/data/scripts/handlers/itemhandlers/SpiritShot.java b/L2J_Mobius_05.0_Salvation/dist/game/data/scripts/handlers/itemhandlers/SpiritShot.java index 12f575b243..d1de206b63 100644 --- a/L2J_Mobius_05.0_Salvation/dist/game/data/scripts/handlers/itemhandlers/SpiritShot.java +++ b/L2J_Mobius_05.0_Salvation/dist/game/data/scripts/handlers/itemhandlers/SpiritShot.java @@ -104,7 +104,7 @@ public class SpiritShot implements IItemHandler // Visual effect change if player has equipped Sapphire level 3 or higher if (player.getActiveShappireJewel() != null) { - Broadcast.toSelfAndKnownPlayersInRadius(player, new MagicSkillUse(player, player, player.getActiveShappireJewel().getEffectId(), 1, 0, 0), 600); + Broadcast.toSelfAndKnownPlayersInRadius(player, new MagicSkillUse(player, player, player.getActiveShappireJewel().getSkillId(), player.getActiveShappireJewel().getSkillLevel(), 0, 0), 600); } else { diff --git a/L2J_Mobius_05.0_Salvation/java/org/l2jmobius/gameserver/enums/BroochJewel.java b/L2J_Mobius_05.0_Salvation/java/org/l2jmobius/gameserver/enums/BroochJewel.java index ab3d1b8dd3..7906df9779 100644 --- a/L2J_Mobius_05.0_Salvation/java/org/l2jmobius/gameserver/enums/BroochJewel.java +++ b/L2J_Mobius_05.0_Salvation/java/org/l2jmobius/gameserver/enums/BroochJewel.java @@ -21,30 +21,37 @@ package org.l2jmobius.gameserver.enums; */ public enum BroochJewel { - RUBY_LV1(38855, 17814, 0.01, true), - RUBY_LV2(38856, 17814, 0.035, true), - RUBY_LV3(38857, 17815, 0.075, true), - RUBY_LV4(38858, 17816, 0.125, true), - RUBY_LV5(38859, 17817, 0.2, true), - GREATER_RUBY(47688, 18715, 0.2, true), - SHAPPHIRE_LV1(38927, 17818, 0.01, false), - SHAPPHIRE_LV2(38928, 17818, 0.035, false), - SHAPPHIRE_LV3(38929, 17819, 0.075, false), - SHAPPHIRE_LV4(38930, 17820, 0.125, false), - SHAPPHIRE_LV5(38931, 17821, 0.2, false), - GREATER_SHAPPHIRE(47689, 18718, 0.2, false); + RUBY_LV1(38855, 17814, 1, 0.01, true, false), + RUBY_LV2(38856, 17814, 1, 0.035, true, false), + RUBY_LV3(38857, 17815, 1, 0.075, true, false), + RUBY_LV4(38858, 17816, 1, 0.125, true, false), + RUBY_LV5(38859, 17817, 1, 0.2, true, false), + + GREATER_RUBY(47688, 18715, 1, 0.2, true, false), + + SAPPHIRE_LV1(38927, 17818, 1, 0.01, false, true), + SAPPHIRE_LV2(38928, 17818, 1, 0.035, false, true), + SAPPHIRE_LV3(38929, 17819, 1, 0.075, false, true), + SAPPHIRE_LV4(38930, 17820, 1, 0.125, false, true), + SAPPHIRE_LV5(38931, 17821, 1, 0.2, false, true), + + GREATER_SAPPHIRE(47689, 18718, 1, 0.2, false, true); private int _itemId; - private int _effectId; + private int _skillId; + private int _skillLevel; private double _bonus; - private boolean _isRuby; // If not, it is sapphire. + private boolean _isRuby; + private boolean _isSapphire; - private BroochJewel(int itemId, int effectId, double bonus, boolean isRuby) + private BroochJewel(int itemId, int skillId, int skillLevel, double bonus, boolean isRuby, boolean isSapphire) { _itemId = itemId; - _effectId = effectId; + _skillId = skillId; + _skillLevel = skillLevel; _bonus = bonus; _isRuby = isRuby; + _isSapphire = isSapphire; } public int getItemId() @@ -52,9 +59,14 @@ public enum BroochJewel return _itemId; } - public int getEffectId() + public int getSkillId() { - return _effectId; + return _skillId; + } + + public int getSkillLevel() + { + return _skillLevel; } public double getBonus() @@ -66,4 +78,9 @@ public enum BroochJewel { return _isRuby; } + + public boolean isSapphire() + { + return _isSapphire; + } } diff --git a/L2J_Mobius_05.0_Salvation/java/org/l2jmobius/gameserver/model/actor/Player.java b/L2J_Mobius_05.0_Salvation/java/org/l2jmobius/gameserver/model/actor/Player.java index 8ff24cf41f..84f45c922e 100644 --- a/L2J_Mobius_05.0_Salvation/java/org/l2jmobius/gameserver/model/actor/Player.java +++ b/L2J_Mobius_05.0_Salvation/java/org/l2jmobius/gameserver/model/actor/Player.java @@ -8902,7 +8902,7 @@ public class Player extends Playable for (int i = broochJewels.length - 1; i > 0; i--) { final BroochJewel jewel = broochJewels[i]; - if (!jewel.isRuby() && _inventory.isItemEquipped(jewel.getItemId())) + if (jewel.isSapphire() && _inventory.isItemEquipped(jewel.getItemId())) { setActiveShappireJewel(jewel); break; diff --git a/L2J_Mobius_05.5_EtinasFate/dist/game/data/scripts/handlers/itemhandlers/BeastSoulShot.java b/L2J_Mobius_05.5_EtinasFate/dist/game/data/scripts/handlers/itemhandlers/BeastSoulShot.java index a0b53bbc44..d80c58265b 100644 --- a/L2J_Mobius_05.5_EtinasFate/dist/game/data/scripts/handlers/itemhandlers/BeastSoulShot.java +++ b/L2J_Mobius_05.5_EtinasFate/dist/game/data/scripts/handlers/itemhandlers/BeastSoulShot.java @@ -126,7 +126,7 @@ public class BeastSoulShot implements IItemHandler // Visual effect change if player has equipped Ruby level 3 or higher if (activeOwner.getActiveRubyJewel() != null) { - Broadcast.toSelfAndKnownPlayersInRadius(activeOwner, new MagicSkillUse(pet, pet, activeOwner.getActiveRubyJewel().getEffectId(), 1, 0, 0), 600); + Broadcast.toSelfAndKnownPlayersInRadius(activeOwner, new MagicSkillUse(pet, pet, activeOwner.getActiveRubyJewel().getSkillId(), activeOwner.getActiveRubyJewel().getSkillLevel(), 0, 0), 600); } else { @@ -143,7 +143,7 @@ public class BeastSoulShot implements IItemHandler // Visual effect change if player has equipped Ruby level 3 or higher if (activeOwner.getActiveRubyJewel() != null) { - Broadcast.toSelfAndKnownPlayersInRadius(activeOwner, new MagicSkillUse(s, s, activeOwner.getActiveRubyJewel().getEffectId(), 1, 0, 0), 600); + Broadcast.toSelfAndKnownPlayersInRadius(activeOwner, new MagicSkillUse(s, s, activeOwner.getActiveRubyJewel().getSkillId(), activeOwner.getActiveRubyJewel().getSkillLevel(), 0, 0), 600); } else { diff --git a/L2J_Mobius_05.5_EtinasFate/dist/game/data/scripts/handlers/itemhandlers/BeastSpiritShot.java b/L2J_Mobius_05.5_EtinasFate/dist/game/data/scripts/handlers/itemhandlers/BeastSpiritShot.java index b860d16e2f..edac0c4b64 100644 --- a/L2J_Mobius_05.5_EtinasFate/dist/game/data/scripts/handlers/itemhandlers/BeastSpiritShot.java +++ b/L2J_Mobius_05.5_EtinasFate/dist/game/data/scripts/handlers/itemhandlers/BeastSpiritShot.java @@ -127,7 +127,7 @@ public class BeastSpiritShot implements IItemHandler // Visual effect change if player has equipped Sapphire level 3 or higher if (activeOwner.getActiveShappireJewel() != null) { - Broadcast.toSelfAndKnownPlayersInRadius(activeOwner, new MagicSkillUse(pet, pet, activeOwner.getActiveShappireJewel().getEffectId(), 2, 0, 0), 600); + Broadcast.toSelfAndKnownPlayersInRadius(activeOwner, new MagicSkillUse(pet, pet, activeOwner.getActiveShappireJewel().getSkillId(), activeOwner.getActiveShappireJewel().getSkillLevel(), 0, 0), 600); } else { @@ -144,7 +144,7 @@ public class BeastSpiritShot implements IItemHandler // Visual effect change if player has equipped Sapphire level 3 or higher if (activeOwner.getActiveShappireJewel() != null) { - Broadcast.toSelfAndKnownPlayersInRadius(activeOwner, new MagicSkillUse(s, s, activeOwner.getActiveShappireJewel().getEffectId(), 2, 0, 0), 600); + Broadcast.toSelfAndKnownPlayersInRadius(activeOwner, new MagicSkillUse(s, s, activeOwner.getActiveShappireJewel().getSkillId(), activeOwner.getActiveShappireJewel().getSkillLevel(), 0, 0), 600); } else { diff --git a/L2J_Mobius_05.5_EtinasFate/dist/game/data/scripts/handlers/itemhandlers/BlessedSoulShots.java b/L2J_Mobius_05.5_EtinasFate/dist/game/data/scripts/handlers/itemhandlers/BlessedSoulShots.java index 85d614b478..6dcbb48f32 100644 --- a/L2J_Mobius_05.5_EtinasFate/dist/game/data/scripts/handlers/itemhandlers/BlessedSoulShots.java +++ b/L2J_Mobius_05.5_EtinasFate/dist/game/data/scripts/handlers/itemhandlers/BlessedSoulShots.java @@ -112,7 +112,7 @@ public class BlessedSoulShots implements IItemHandler // Visual effect change if player has equipped Ruby level 3 or higher if (player.getActiveRubyJewel() != null) { - Broadcast.toSelfAndKnownPlayersInRadius(player, new MagicSkillUse(player, player, player.getActiveRubyJewel().getEffectId(), 1, 0, 0), 600); + Broadcast.toSelfAndKnownPlayersInRadius(player, new MagicSkillUse(player, player, player.getActiveRubyJewel().getSkillId(), player.getActiveRubyJewel().getSkillLevel(), 0, 0), 600); } else { diff --git a/L2J_Mobius_05.5_EtinasFate/dist/game/data/scripts/handlers/itemhandlers/BlessedSpiritShot.java b/L2J_Mobius_05.5_EtinasFate/dist/game/data/scripts/handlers/itemhandlers/BlessedSpiritShot.java index c2610ec4e3..0107d8e303 100644 --- a/L2J_Mobius_05.5_EtinasFate/dist/game/data/scripts/handlers/itemhandlers/BlessedSpiritShot.java +++ b/L2J_Mobius_05.5_EtinasFate/dist/game/data/scripts/handlers/itemhandlers/BlessedSpiritShot.java @@ -104,7 +104,7 @@ public class BlessedSpiritShot implements IItemHandler // Visual effect change if player has equipped Sapphire level 3 or higher if (player.getActiveShappireJewel() != null) { - Broadcast.toSelfAndKnownPlayersInRadius(player, new MagicSkillUse(player, player, player.getActiveShappireJewel().getEffectId(), 1, 0, 0), 600); + Broadcast.toSelfAndKnownPlayersInRadius(player, new MagicSkillUse(player, player, player.getActiveShappireJewel().getSkillId(), player.getActiveShappireJewel().getSkillLevel(), 0, 0), 600); } else { diff --git a/L2J_Mobius_05.5_EtinasFate/dist/game/data/scripts/handlers/itemhandlers/SoulShots.java b/L2J_Mobius_05.5_EtinasFate/dist/game/data/scripts/handlers/itemhandlers/SoulShots.java index a61cc1bd71..e965687e9b 100644 --- a/L2J_Mobius_05.5_EtinasFate/dist/game/data/scripts/handlers/itemhandlers/SoulShots.java +++ b/L2J_Mobius_05.5_EtinasFate/dist/game/data/scripts/handlers/itemhandlers/SoulShots.java @@ -109,7 +109,7 @@ public class SoulShots implements IItemHandler // Visual effect change if player has equipped Ruby level 3 or higher if (player.getActiveRubyJewel() != null) { - Broadcast.toSelfAndKnownPlayersInRadius(player, new MagicSkillUse(player, player, player.getActiveRubyJewel().getEffectId(), 1, 0, 0), 600); + Broadcast.toSelfAndKnownPlayersInRadius(player, new MagicSkillUse(player, player, player.getActiveRubyJewel().getSkillId(), player.getActiveRubyJewel().getSkillLevel(), 0, 0), 600); } else { diff --git a/L2J_Mobius_05.5_EtinasFate/dist/game/data/scripts/handlers/itemhandlers/SpiritShot.java b/L2J_Mobius_05.5_EtinasFate/dist/game/data/scripts/handlers/itemhandlers/SpiritShot.java index 12f575b243..d1de206b63 100644 --- a/L2J_Mobius_05.5_EtinasFate/dist/game/data/scripts/handlers/itemhandlers/SpiritShot.java +++ b/L2J_Mobius_05.5_EtinasFate/dist/game/data/scripts/handlers/itemhandlers/SpiritShot.java @@ -104,7 +104,7 @@ public class SpiritShot implements IItemHandler // Visual effect change if player has equipped Sapphire level 3 or higher if (player.getActiveShappireJewel() != null) { - Broadcast.toSelfAndKnownPlayersInRadius(player, new MagicSkillUse(player, player, player.getActiveShappireJewel().getEffectId(), 1, 0, 0), 600); + Broadcast.toSelfAndKnownPlayersInRadius(player, new MagicSkillUse(player, player, player.getActiveShappireJewel().getSkillId(), player.getActiveShappireJewel().getSkillLevel(), 0, 0), 600); } else { diff --git a/L2J_Mobius_05.5_EtinasFate/java/org/l2jmobius/gameserver/enums/BroochJewel.java b/L2J_Mobius_05.5_EtinasFate/java/org/l2jmobius/gameserver/enums/BroochJewel.java index ab3d1b8dd3..7906df9779 100644 --- a/L2J_Mobius_05.5_EtinasFate/java/org/l2jmobius/gameserver/enums/BroochJewel.java +++ b/L2J_Mobius_05.5_EtinasFate/java/org/l2jmobius/gameserver/enums/BroochJewel.java @@ -21,30 +21,37 @@ package org.l2jmobius.gameserver.enums; */ public enum BroochJewel { - RUBY_LV1(38855, 17814, 0.01, true), - RUBY_LV2(38856, 17814, 0.035, true), - RUBY_LV3(38857, 17815, 0.075, true), - RUBY_LV4(38858, 17816, 0.125, true), - RUBY_LV5(38859, 17817, 0.2, true), - GREATER_RUBY(47688, 18715, 0.2, true), - SHAPPHIRE_LV1(38927, 17818, 0.01, false), - SHAPPHIRE_LV2(38928, 17818, 0.035, false), - SHAPPHIRE_LV3(38929, 17819, 0.075, false), - SHAPPHIRE_LV4(38930, 17820, 0.125, false), - SHAPPHIRE_LV5(38931, 17821, 0.2, false), - GREATER_SHAPPHIRE(47689, 18718, 0.2, false); + RUBY_LV1(38855, 17814, 1, 0.01, true, false), + RUBY_LV2(38856, 17814, 1, 0.035, true, false), + RUBY_LV3(38857, 17815, 1, 0.075, true, false), + RUBY_LV4(38858, 17816, 1, 0.125, true, false), + RUBY_LV5(38859, 17817, 1, 0.2, true, false), + + GREATER_RUBY(47688, 18715, 1, 0.2, true, false), + + SAPPHIRE_LV1(38927, 17818, 1, 0.01, false, true), + SAPPHIRE_LV2(38928, 17818, 1, 0.035, false, true), + SAPPHIRE_LV3(38929, 17819, 1, 0.075, false, true), + SAPPHIRE_LV4(38930, 17820, 1, 0.125, false, true), + SAPPHIRE_LV5(38931, 17821, 1, 0.2, false, true), + + GREATER_SAPPHIRE(47689, 18718, 1, 0.2, false, true); private int _itemId; - private int _effectId; + private int _skillId; + private int _skillLevel; private double _bonus; - private boolean _isRuby; // If not, it is sapphire. + private boolean _isRuby; + private boolean _isSapphire; - private BroochJewel(int itemId, int effectId, double bonus, boolean isRuby) + private BroochJewel(int itemId, int skillId, int skillLevel, double bonus, boolean isRuby, boolean isSapphire) { _itemId = itemId; - _effectId = effectId; + _skillId = skillId; + _skillLevel = skillLevel; _bonus = bonus; _isRuby = isRuby; + _isSapphire = isSapphire; } public int getItemId() @@ -52,9 +59,14 @@ public enum BroochJewel return _itemId; } - public int getEffectId() + public int getSkillId() { - return _effectId; + return _skillId; + } + + public int getSkillLevel() + { + return _skillLevel; } public double getBonus() @@ -66,4 +78,9 @@ public enum BroochJewel { return _isRuby; } + + public boolean isSapphire() + { + return _isSapphire; + } } diff --git a/L2J_Mobius_05.5_EtinasFate/java/org/l2jmobius/gameserver/model/actor/Player.java b/L2J_Mobius_05.5_EtinasFate/java/org/l2jmobius/gameserver/model/actor/Player.java index 76185a8ba7..a19db5462c 100644 --- a/L2J_Mobius_05.5_EtinasFate/java/org/l2jmobius/gameserver/model/actor/Player.java +++ b/L2J_Mobius_05.5_EtinasFate/java/org/l2jmobius/gameserver/model/actor/Player.java @@ -8902,7 +8902,7 @@ public class Player extends Playable for (int i = broochJewels.length - 1; i > 0; i--) { final BroochJewel jewel = broochJewels[i]; - if (!jewel.isRuby() && _inventory.isItemEquipped(jewel.getItemId())) + if (jewel.isSapphire() && _inventory.isItemEquipped(jewel.getItemId())) { setActiveShappireJewel(jewel); break; diff --git a/L2J_Mobius_06.0_Fafurion/dist/game/data/scripts/handlers/itemhandlers/BeastSoulShot.java b/L2J_Mobius_06.0_Fafurion/dist/game/data/scripts/handlers/itemhandlers/BeastSoulShot.java index a0b53bbc44..d80c58265b 100644 --- a/L2J_Mobius_06.0_Fafurion/dist/game/data/scripts/handlers/itemhandlers/BeastSoulShot.java +++ b/L2J_Mobius_06.0_Fafurion/dist/game/data/scripts/handlers/itemhandlers/BeastSoulShot.java @@ -126,7 +126,7 @@ public class BeastSoulShot implements IItemHandler // Visual effect change if player has equipped Ruby level 3 or higher if (activeOwner.getActiveRubyJewel() != null) { - Broadcast.toSelfAndKnownPlayersInRadius(activeOwner, new MagicSkillUse(pet, pet, activeOwner.getActiveRubyJewel().getEffectId(), 1, 0, 0), 600); + Broadcast.toSelfAndKnownPlayersInRadius(activeOwner, new MagicSkillUse(pet, pet, activeOwner.getActiveRubyJewel().getSkillId(), activeOwner.getActiveRubyJewel().getSkillLevel(), 0, 0), 600); } else { @@ -143,7 +143,7 @@ public class BeastSoulShot implements IItemHandler // Visual effect change if player has equipped Ruby level 3 or higher if (activeOwner.getActiveRubyJewel() != null) { - Broadcast.toSelfAndKnownPlayersInRadius(activeOwner, new MagicSkillUse(s, s, activeOwner.getActiveRubyJewel().getEffectId(), 1, 0, 0), 600); + Broadcast.toSelfAndKnownPlayersInRadius(activeOwner, new MagicSkillUse(s, s, activeOwner.getActiveRubyJewel().getSkillId(), activeOwner.getActiveRubyJewel().getSkillLevel(), 0, 0), 600); } else { diff --git a/L2J_Mobius_06.0_Fafurion/dist/game/data/scripts/handlers/itemhandlers/BeastSpiritShot.java b/L2J_Mobius_06.0_Fafurion/dist/game/data/scripts/handlers/itemhandlers/BeastSpiritShot.java index b860d16e2f..edac0c4b64 100644 --- a/L2J_Mobius_06.0_Fafurion/dist/game/data/scripts/handlers/itemhandlers/BeastSpiritShot.java +++ b/L2J_Mobius_06.0_Fafurion/dist/game/data/scripts/handlers/itemhandlers/BeastSpiritShot.java @@ -127,7 +127,7 @@ public class BeastSpiritShot implements IItemHandler // Visual effect change if player has equipped Sapphire level 3 or higher if (activeOwner.getActiveShappireJewel() != null) { - Broadcast.toSelfAndKnownPlayersInRadius(activeOwner, new MagicSkillUse(pet, pet, activeOwner.getActiveShappireJewel().getEffectId(), 2, 0, 0), 600); + Broadcast.toSelfAndKnownPlayersInRadius(activeOwner, new MagicSkillUse(pet, pet, activeOwner.getActiveShappireJewel().getSkillId(), activeOwner.getActiveShappireJewel().getSkillLevel(), 0, 0), 600); } else { @@ -144,7 +144,7 @@ public class BeastSpiritShot implements IItemHandler // Visual effect change if player has equipped Sapphire level 3 or higher if (activeOwner.getActiveShappireJewel() != null) { - Broadcast.toSelfAndKnownPlayersInRadius(activeOwner, new MagicSkillUse(s, s, activeOwner.getActiveShappireJewel().getEffectId(), 2, 0, 0), 600); + Broadcast.toSelfAndKnownPlayersInRadius(activeOwner, new MagicSkillUse(s, s, activeOwner.getActiveShappireJewel().getSkillId(), activeOwner.getActiveShappireJewel().getSkillLevel(), 0, 0), 600); } else { diff --git a/L2J_Mobius_06.0_Fafurion/dist/game/data/scripts/handlers/itemhandlers/BlessedSoulShots.java b/L2J_Mobius_06.0_Fafurion/dist/game/data/scripts/handlers/itemhandlers/BlessedSoulShots.java index 85d614b478..6dcbb48f32 100644 --- a/L2J_Mobius_06.0_Fafurion/dist/game/data/scripts/handlers/itemhandlers/BlessedSoulShots.java +++ b/L2J_Mobius_06.0_Fafurion/dist/game/data/scripts/handlers/itemhandlers/BlessedSoulShots.java @@ -112,7 +112,7 @@ public class BlessedSoulShots implements IItemHandler // Visual effect change if player has equipped Ruby level 3 or higher if (player.getActiveRubyJewel() != null) { - Broadcast.toSelfAndKnownPlayersInRadius(player, new MagicSkillUse(player, player, player.getActiveRubyJewel().getEffectId(), 1, 0, 0), 600); + Broadcast.toSelfAndKnownPlayersInRadius(player, new MagicSkillUse(player, player, player.getActiveRubyJewel().getSkillId(), player.getActiveRubyJewel().getSkillLevel(), 0, 0), 600); } else { diff --git a/L2J_Mobius_06.0_Fafurion/dist/game/data/scripts/handlers/itemhandlers/BlessedSpiritShot.java b/L2J_Mobius_06.0_Fafurion/dist/game/data/scripts/handlers/itemhandlers/BlessedSpiritShot.java index c2610ec4e3..0107d8e303 100644 --- a/L2J_Mobius_06.0_Fafurion/dist/game/data/scripts/handlers/itemhandlers/BlessedSpiritShot.java +++ b/L2J_Mobius_06.0_Fafurion/dist/game/data/scripts/handlers/itemhandlers/BlessedSpiritShot.java @@ -104,7 +104,7 @@ public class BlessedSpiritShot implements IItemHandler // Visual effect change if player has equipped Sapphire level 3 or higher if (player.getActiveShappireJewel() != null) { - Broadcast.toSelfAndKnownPlayersInRadius(player, new MagicSkillUse(player, player, player.getActiveShappireJewel().getEffectId(), 1, 0, 0), 600); + Broadcast.toSelfAndKnownPlayersInRadius(player, new MagicSkillUse(player, player, player.getActiveShappireJewel().getSkillId(), player.getActiveShappireJewel().getSkillLevel(), 0, 0), 600); } else { diff --git a/L2J_Mobius_06.0_Fafurion/dist/game/data/scripts/handlers/itemhandlers/SoulShots.java b/L2J_Mobius_06.0_Fafurion/dist/game/data/scripts/handlers/itemhandlers/SoulShots.java index a61cc1bd71..e965687e9b 100644 --- a/L2J_Mobius_06.0_Fafurion/dist/game/data/scripts/handlers/itemhandlers/SoulShots.java +++ b/L2J_Mobius_06.0_Fafurion/dist/game/data/scripts/handlers/itemhandlers/SoulShots.java @@ -109,7 +109,7 @@ public class SoulShots implements IItemHandler // Visual effect change if player has equipped Ruby level 3 or higher if (player.getActiveRubyJewel() != null) { - Broadcast.toSelfAndKnownPlayersInRadius(player, new MagicSkillUse(player, player, player.getActiveRubyJewel().getEffectId(), 1, 0, 0), 600); + Broadcast.toSelfAndKnownPlayersInRadius(player, new MagicSkillUse(player, player, player.getActiveRubyJewel().getSkillId(), player.getActiveRubyJewel().getSkillLevel(), 0, 0), 600); } else { diff --git a/L2J_Mobius_06.0_Fafurion/dist/game/data/scripts/handlers/itemhandlers/SpiritShot.java b/L2J_Mobius_06.0_Fafurion/dist/game/data/scripts/handlers/itemhandlers/SpiritShot.java index 12f575b243..d1de206b63 100644 --- a/L2J_Mobius_06.0_Fafurion/dist/game/data/scripts/handlers/itemhandlers/SpiritShot.java +++ b/L2J_Mobius_06.0_Fafurion/dist/game/data/scripts/handlers/itemhandlers/SpiritShot.java @@ -104,7 +104,7 @@ public class SpiritShot implements IItemHandler // Visual effect change if player has equipped Sapphire level 3 or higher if (player.getActiveShappireJewel() != null) { - Broadcast.toSelfAndKnownPlayersInRadius(player, new MagicSkillUse(player, player, player.getActiveShappireJewel().getEffectId(), 1, 0, 0), 600); + Broadcast.toSelfAndKnownPlayersInRadius(player, new MagicSkillUse(player, player, player.getActiveShappireJewel().getSkillId(), player.getActiveShappireJewel().getSkillLevel(), 0, 0), 600); } else { diff --git a/L2J_Mobius_06.0_Fafurion/java/org/l2jmobius/gameserver/enums/BroochJewel.java b/L2J_Mobius_06.0_Fafurion/java/org/l2jmobius/gameserver/enums/BroochJewel.java index 957e5765f1..15a69f251e 100644 --- a/L2J_Mobius_06.0_Fafurion/java/org/l2jmobius/gameserver/enums/BroochJewel.java +++ b/L2J_Mobius_06.0_Fafurion/java/org/l2jmobius/gameserver/enums/BroochJewel.java @@ -21,38 +21,45 @@ package org.l2jmobius.gameserver.enums; */ public enum BroochJewel { - RUBY_LV1(38855, 17814, 0.01, true), - RUBY_LV2(38856, 17814, 0.035, true), - RUBY_LV3(38857, 17815, 0.075, true), - RUBY_LV4(38858, 17816, 0.125, true), - RUBY_LV5(38859, 17817, 0.2, true), - GREATER_RUBY_LV1(47688, 18715, 0.2, true), - GREATER_RUBY_LV2(48771, 18715, 0.235, true), - GREATER_RUBY_LV3(48772, 18715, 0.275, true), - GREATER_RUBY_LV4(48773, 18715, 0.325, true), - GREATER_RUBY_LV5(48774, 18715, 0.4, true), - SHAPPHIRE_LV1(38927, 17818, 0.01, false), - SHAPPHIRE_LV2(38928, 17818, 0.035, false), - SHAPPHIRE_LV3(38929, 17819, 0.075, false), - SHAPPHIRE_LV4(38930, 17820, 0.125, false), - SHAPPHIRE_LV5(38931, 17821, 0.2, false), - GREATER_SHAPPHIRE_LV1(47689, 18718, 0.2, false), - GREATER_SHAPPHIRE_LV2(48775, 18718, 0.235, false), - GREATER_SHAPPHIRE_LV3(48776, 18718, 0.275, false), - GREATER_SHAPPHIRE_LV4(48777, 18718, 0.325, false), - GREATER_SHAPPHIRE_LV5(48778, 18718, 0.4, false); + RUBY_LV1(38855, 17814, 1, 0.01, true, false), + RUBY_LV2(38856, 17814, 1, 0.035, true, false), + RUBY_LV3(38857, 17815, 1, 0.075, true, false), + RUBY_LV4(38858, 17816, 1, 0.125, true, false), + RUBY_LV5(38859, 17817, 1, 0.2, true, false), + + GREATER_RUBY_LV1(47688, 18715, 1, 0.2, true, false), + GREATER_RUBY_LV2(48771, 18715, 1, 0.235, true, false), + GREATER_RUBY_LV3(48772, 18715, 1, 0.275, true, false), + GREATER_RUBY_LV4(48773, 18715, 1, 0.325, true, false), + GREATER_RUBY_LV5(48774, 18715, 1, 0.4, true, false), + + SAPPHIRE_LV1(38927, 17818, 1, 0.01, false, true), + SAPPHIRE_LV2(38928, 17818, 1, 0.035, false, true), + SAPPHIRE_LV3(38929, 17819, 1, 0.075, false, true), + SAPPHIRE_LV4(38930, 17820, 1, 0.125, false, true), + SAPPHIRE_LV5(38931, 17821, 1, 0.2, false, true), + + GREATER_SAPPHIRE_LV1(47689, 18718, 1, 0.2, false, true), + GREATER_SAPPHIRE_LV2(48775, 18718, 1, 0.235, false, true), + GREATER_SAPPHIRE_LV3(48776, 18718, 1, 0.275, false, true), + GREATER_SAPPHIRE_LV4(48777, 18718, 1, 0.325, false, true), + GREATER_SAPPHIRE_LV5(48778, 18718, 1, 0.4, false, true); private int _itemId; - private int _effectId; + private int _skillId; + private int _skillLevel; private double _bonus; - private boolean _isRuby; // If not, it is sapphire. + private boolean _isRuby; + private boolean _isSapphire; - private BroochJewel(int itemId, int effectId, double bonus, boolean isRuby) + private BroochJewel(int itemId, int skillId, int skillLevel, double bonus, boolean isRuby, boolean isSapphire) { _itemId = itemId; - _effectId = effectId; + _skillId = skillId; + _skillLevel = skillLevel; _bonus = bonus; _isRuby = isRuby; + _isSapphire = isSapphire; } public int getItemId() @@ -60,9 +67,14 @@ public enum BroochJewel return _itemId; } - public int getEffectId() + public int getSkillId() { - return _effectId; + return _skillId; + } + + public int getSkillLevel() + { + return _skillLevel; } public double getBonus() @@ -74,4 +86,9 @@ public enum BroochJewel { return _isRuby; } + + public boolean isSapphire() + { + return _isSapphire; + } } diff --git a/L2J_Mobius_06.0_Fafurion/java/org/l2jmobius/gameserver/model/actor/Player.java b/L2J_Mobius_06.0_Fafurion/java/org/l2jmobius/gameserver/model/actor/Player.java index ee4e9fb14f..74eb6e916c 100644 --- a/L2J_Mobius_06.0_Fafurion/java/org/l2jmobius/gameserver/model/actor/Player.java +++ b/L2J_Mobius_06.0_Fafurion/java/org/l2jmobius/gameserver/model/actor/Player.java @@ -8903,7 +8903,7 @@ public class Player extends Playable for (int i = broochJewels.length - 1; i > 0; i--) { final BroochJewel jewel = broochJewels[i]; - if (!jewel.isRuby() && _inventory.isItemEquipped(jewel.getItemId())) + if (jewel.isSapphire() && _inventory.isItemEquipped(jewel.getItemId())) { setActiveShappireJewel(jewel); break; diff --git a/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/scripts/handlers/itemhandlers/BeastSoulShot.java b/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/scripts/handlers/itemhandlers/BeastSoulShot.java index 7b898d2461..3cbb8fa479 100644 --- a/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/scripts/handlers/itemhandlers/BeastSoulShot.java +++ b/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/scripts/handlers/itemhandlers/BeastSoulShot.java @@ -126,7 +126,7 @@ public class BeastSoulShot implements IItemHandler // Visual effect change if player has equipped Ruby level 3 or higher if (activeOwner.getActiveRubyJewel() != null) { - Broadcast.toSelfAndKnownPlayersInRadius(activeOwner, new MagicSkillUse(pet, pet, activeOwner.getActiveRubyJewel().getEffectId(), 1, 0, 0), 600); + Broadcast.toSelfAndKnownPlayersInRadius(activeOwner, new MagicSkillUse(pet, pet, activeOwner.getActiveRubyJewel().getSkillId(), activeOwner.getActiveRubyJewel().getSkillLevel(), 0, 0), 600); } else { @@ -143,7 +143,7 @@ public class BeastSoulShot implements IItemHandler // Visual effect change if player has equipped Ruby level 3 or higher if (activeOwner.getActiveRubyJewel() != null) { - Broadcast.toSelfAndKnownPlayersInRadius(activeOwner, new MagicSkillUse(s, s, activeOwner.getActiveRubyJewel().getEffectId(), 1, 0, 0), 600); + Broadcast.toSelfAndKnownPlayersInRadius(activeOwner, new MagicSkillUse(s, s, activeOwner.getActiveRubyJewel().getSkillId(), activeOwner.getActiveRubyJewel().getSkillLevel(), 0, 0), 600); } else { diff --git a/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/scripts/handlers/itemhandlers/BeastSpiritShot.java b/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/scripts/handlers/itemhandlers/BeastSpiritShot.java index ff11355aa7..c1094304c9 100644 --- a/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/scripts/handlers/itemhandlers/BeastSpiritShot.java +++ b/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/scripts/handlers/itemhandlers/BeastSpiritShot.java @@ -127,7 +127,7 @@ public class BeastSpiritShot implements IItemHandler // Visual effect change if player has equipped Sapphire level 3 or higher if (activeOwner.getActiveShappireJewel() != null) { - Broadcast.toSelfAndKnownPlayersInRadius(activeOwner, new MagicSkillUse(pet, pet, activeOwner.getActiveShappireJewel().getEffectId(), 2, 0, 0), 600); + Broadcast.toSelfAndKnownPlayersInRadius(activeOwner, new MagicSkillUse(pet, pet, activeOwner.getActiveShappireJewel().getSkillId(), activeOwner.getActiveShappireJewel().getSkillLevel(), 0, 0), 600); } else { @@ -144,7 +144,7 @@ public class BeastSpiritShot implements IItemHandler // Visual effect change if player has equipped Sapphire level 3 or higher if (activeOwner.getActiveShappireJewel() != null) { - Broadcast.toSelfAndKnownPlayersInRadius(activeOwner, new MagicSkillUse(s, s, activeOwner.getActiveShappireJewel().getEffectId(), 2, 0, 0), 600); + Broadcast.toSelfAndKnownPlayersInRadius(activeOwner, new MagicSkillUse(s, s, activeOwner.getActiveShappireJewel().getSkillId(), activeOwner.getActiveShappireJewel().getSkillLevel(), 0, 0), 600); } else { diff --git a/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/scripts/handlers/itemhandlers/BlessedSoulShots.java b/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/scripts/handlers/itemhandlers/BlessedSoulShots.java index f553a0c846..9da3b6cfd7 100644 --- a/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/scripts/handlers/itemhandlers/BlessedSoulShots.java +++ b/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/scripts/handlers/itemhandlers/BlessedSoulShots.java @@ -101,7 +101,7 @@ public class BlessedSoulShots implements IItemHandler // Visual effect change if player has equipped Ruby level 3 or higher if (player.getActiveRubyJewel() != null) { - Broadcast.toSelfAndKnownPlayersInRadius(player, new MagicSkillUse(player, player, player.getActiveRubyJewel().getEffectId(), 1, 0, 0), 600); + Broadcast.toSelfAndKnownPlayersInRadius(player, new MagicSkillUse(player, player, player.getActiveRubyJewel().getSkillId(), player.getActiveRubyJewel().getSkillLevel(), 0, 0), 600); } else { diff --git a/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/scripts/handlers/itemhandlers/BlessedSpiritShot.java b/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/scripts/handlers/itemhandlers/BlessedSpiritShot.java index 119fe1f81e..f8e9fb8786 100644 --- a/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/scripts/handlers/itemhandlers/BlessedSpiritShot.java +++ b/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/scripts/handlers/itemhandlers/BlessedSpiritShot.java @@ -91,7 +91,7 @@ public class BlessedSpiritShot implements IItemHandler // Visual effect change if player has equipped Sapphire level 3 or higher if (player.getActiveShappireJewel() != null) { - Broadcast.toSelfAndKnownPlayersInRadius(player, new MagicSkillUse(player, player, player.getActiveShappireJewel().getEffectId(), 1, 0, 0), 600); + Broadcast.toSelfAndKnownPlayersInRadius(player, new MagicSkillUse(player, player, player.getActiveShappireJewel().getSkillId(), player.getActiveShappireJewel().getSkillLevel(), 0, 0), 600); } else { diff --git a/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/scripts/handlers/itemhandlers/SoulShots.java b/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/scripts/handlers/itemhandlers/SoulShots.java index 1f44066740..3c8cbb15c4 100644 --- a/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/scripts/handlers/itemhandlers/SoulShots.java +++ b/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/scripts/handlers/itemhandlers/SoulShots.java @@ -98,7 +98,7 @@ public class SoulShots implements IItemHandler // Visual effect change if player has equipped Ruby level 3 or higher if (player.getActiveRubyJewel() != null) { - Broadcast.toSelfAndKnownPlayersInRadius(player, new MagicSkillUse(player, player, player.getActiveRubyJewel().getEffectId(), 1, 0, 0), 600); + Broadcast.toSelfAndKnownPlayersInRadius(player, new MagicSkillUse(player, player, player.getActiveRubyJewel().getSkillId(), player.getActiveRubyJewel().getSkillLevel(), 0, 0), 600); } else { diff --git a/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/scripts/handlers/itemhandlers/SpiritShot.java b/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/scripts/handlers/itemhandlers/SpiritShot.java index 353347df87..e1f09a5a72 100644 --- a/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/scripts/handlers/itemhandlers/SpiritShot.java +++ b/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/scripts/handlers/itemhandlers/SpiritShot.java @@ -91,7 +91,7 @@ public class SpiritShot implements IItemHandler // Visual effect change if player has equipped Sapphire level 3 or higher if (player.getActiveShappireJewel() != null) { - Broadcast.toSelfAndKnownPlayersInRadius(player, new MagicSkillUse(player, player, player.getActiveShappireJewel().getEffectId(), 1, 0, 0), 600); + Broadcast.toSelfAndKnownPlayersInRadius(player, new MagicSkillUse(player, player, player.getActiveShappireJewel().getSkillId(), player.getActiveShappireJewel().getSkillLevel(), 0, 0), 600); } else { diff --git a/L2J_Mobius_07.0_PreludeOfWar/java/org/l2jmobius/gameserver/enums/BroochJewel.java b/L2J_Mobius_07.0_PreludeOfWar/java/org/l2jmobius/gameserver/enums/BroochJewel.java index 957e5765f1..15a69f251e 100644 --- a/L2J_Mobius_07.0_PreludeOfWar/java/org/l2jmobius/gameserver/enums/BroochJewel.java +++ b/L2J_Mobius_07.0_PreludeOfWar/java/org/l2jmobius/gameserver/enums/BroochJewel.java @@ -21,38 +21,45 @@ package org.l2jmobius.gameserver.enums; */ public enum BroochJewel { - RUBY_LV1(38855, 17814, 0.01, true), - RUBY_LV2(38856, 17814, 0.035, true), - RUBY_LV3(38857, 17815, 0.075, true), - RUBY_LV4(38858, 17816, 0.125, true), - RUBY_LV5(38859, 17817, 0.2, true), - GREATER_RUBY_LV1(47688, 18715, 0.2, true), - GREATER_RUBY_LV2(48771, 18715, 0.235, true), - GREATER_RUBY_LV3(48772, 18715, 0.275, true), - GREATER_RUBY_LV4(48773, 18715, 0.325, true), - GREATER_RUBY_LV5(48774, 18715, 0.4, true), - SHAPPHIRE_LV1(38927, 17818, 0.01, false), - SHAPPHIRE_LV2(38928, 17818, 0.035, false), - SHAPPHIRE_LV3(38929, 17819, 0.075, false), - SHAPPHIRE_LV4(38930, 17820, 0.125, false), - SHAPPHIRE_LV5(38931, 17821, 0.2, false), - GREATER_SHAPPHIRE_LV1(47689, 18718, 0.2, false), - GREATER_SHAPPHIRE_LV2(48775, 18718, 0.235, false), - GREATER_SHAPPHIRE_LV3(48776, 18718, 0.275, false), - GREATER_SHAPPHIRE_LV4(48777, 18718, 0.325, false), - GREATER_SHAPPHIRE_LV5(48778, 18718, 0.4, false); + RUBY_LV1(38855, 17814, 1, 0.01, true, false), + RUBY_LV2(38856, 17814, 1, 0.035, true, false), + RUBY_LV3(38857, 17815, 1, 0.075, true, false), + RUBY_LV4(38858, 17816, 1, 0.125, true, false), + RUBY_LV5(38859, 17817, 1, 0.2, true, false), + + GREATER_RUBY_LV1(47688, 18715, 1, 0.2, true, false), + GREATER_RUBY_LV2(48771, 18715, 1, 0.235, true, false), + GREATER_RUBY_LV3(48772, 18715, 1, 0.275, true, false), + GREATER_RUBY_LV4(48773, 18715, 1, 0.325, true, false), + GREATER_RUBY_LV5(48774, 18715, 1, 0.4, true, false), + + SAPPHIRE_LV1(38927, 17818, 1, 0.01, false, true), + SAPPHIRE_LV2(38928, 17818, 1, 0.035, false, true), + SAPPHIRE_LV3(38929, 17819, 1, 0.075, false, true), + SAPPHIRE_LV4(38930, 17820, 1, 0.125, false, true), + SAPPHIRE_LV5(38931, 17821, 1, 0.2, false, true), + + GREATER_SAPPHIRE_LV1(47689, 18718, 1, 0.2, false, true), + GREATER_SAPPHIRE_LV2(48775, 18718, 1, 0.235, false, true), + GREATER_SAPPHIRE_LV3(48776, 18718, 1, 0.275, false, true), + GREATER_SAPPHIRE_LV4(48777, 18718, 1, 0.325, false, true), + GREATER_SAPPHIRE_LV5(48778, 18718, 1, 0.4, false, true); private int _itemId; - private int _effectId; + private int _skillId; + private int _skillLevel; private double _bonus; - private boolean _isRuby; // If not, it is sapphire. + private boolean _isRuby; + private boolean _isSapphire; - private BroochJewel(int itemId, int effectId, double bonus, boolean isRuby) + private BroochJewel(int itemId, int skillId, int skillLevel, double bonus, boolean isRuby, boolean isSapphire) { _itemId = itemId; - _effectId = effectId; + _skillId = skillId; + _skillLevel = skillLevel; _bonus = bonus; _isRuby = isRuby; + _isSapphire = isSapphire; } public int getItemId() @@ -60,9 +67,14 @@ public enum BroochJewel return _itemId; } - public int getEffectId() + public int getSkillId() { - return _effectId; + return _skillId; + } + + public int getSkillLevel() + { + return _skillLevel; } public double getBonus() @@ -74,4 +86,9 @@ public enum BroochJewel { return _isRuby; } + + public boolean isSapphire() + { + return _isSapphire; + } } diff --git a/L2J_Mobius_07.0_PreludeOfWar/java/org/l2jmobius/gameserver/model/actor/Player.java b/L2J_Mobius_07.0_PreludeOfWar/java/org/l2jmobius/gameserver/model/actor/Player.java index b427c0a6c2..6319df27f3 100644 --- a/L2J_Mobius_07.0_PreludeOfWar/java/org/l2jmobius/gameserver/model/actor/Player.java +++ b/L2J_Mobius_07.0_PreludeOfWar/java/org/l2jmobius/gameserver/model/actor/Player.java @@ -8918,7 +8918,7 @@ public class Player extends Playable for (int i = broochJewels.length - 1; i > 0; i--) { final BroochJewel jewel = broochJewels[i]; - if (!jewel.isRuby() && _inventory.isItemEquipped(jewel.getItemId())) + if (jewel.isSapphire() && _inventory.isItemEquipped(jewel.getItemId())) { setActiveShappireJewel(jewel); break; diff --git a/L2J_Mobius_08.2_Homunculus/dist/game/data/scripts/handlers/itemhandlers/BeastSoulShot.java b/L2J_Mobius_08.2_Homunculus/dist/game/data/scripts/handlers/itemhandlers/BeastSoulShot.java index 7b898d2461..3cbb8fa479 100644 --- a/L2J_Mobius_08.2_Homunculus/dist/game/data/scripts/handlers/itemhandlers/BeastSoulShot.java +++ b/L2J_Mobius_08.2_Homunculus/dist/game/data/scripts/handlers/itemhandlers/BeastSoulShot.java @@ -126,7 +126,7 @@ public class BeastSoulShot implements IItemHandler // Visual effect change if player has equipped Ruby level 3 or higher if (activeOwner.getActiveRubyJewel() != null) { - Broadcast.toSelfAndKnownPlayersInRadius(activeOwner, new MagicSkillUse(pet, pet, activeOwner.getActiveRubyJewel().getEffectId(), 1, 0, 0), 600); + Broadcast.toSelfAndKnownPlayersInRadius(activeOwner, new MagicSkillUse(pet, pet, activeOwner.getActiveRubyJewel().getSkillId(), activeOwner.getActiveRubyJewel().getSkillLevel(), 0, 0), 600); } else { @@ -143,7 +143,7 @@ public class BeastSoulShot implements IItemHandler // Visual effect change if player has equipped Ruby level 3 or higher if (activeOwner.getActiveRubyJewel() != null) { - Broadcast.toSelfAndKnownPlayersInRadius(activeOwner, new MagicSkillUse(s, s, activeOwner.getActiveRubyJewel().getEffectId(), 1, 0, 0), 600); + Broadcast.toSelfAndKnownPlayersInRadius(activeOwner, new MagicSkillUse(s, s, activeOwner.getActiveRubyJewel().getSkillId(), activeOwner.getActiveRubyJewel().getSkillLevel(), 0, 0), 600); } else { diff --git a/L2J_Mobius_08.2_Homunculus/dist/game/data/scripts/handlers/itemhandlers/BeastSpiritShot.java b/L2J_Mobius_08.2_Homunculus/dist/game/data/scripts/handlers/itemhandlers/BeastSpiritShot.java index ff11355aa7..c1094304c9 100644 --- a/L2J_Mobius_08.2_Homunculus/dist/game/data/scripts/handlers/itemhandlers/BeastSpiritShot.java +++ b/L2J_Mobius_08.2_Homunculus/dist/game/data/scripts/handlers/itemhandlers/BeastSpiritShot.java @@ -127,7 +127,7 @@ public class BeastSpiritShot implements IItemHandler // Visual effect change if player has equipped Sapphire level 3 or higher if (activeOwner.getActiveShappireJewel() != null) { - Broadcast.toSelfAndKnownPlayersInRadius(activeOwner, new MagicSkillUse(pet, pet, activeOwner.getActiveShappireJewel().getEffectId(), 2, 0, 0), 600); + Broadcast.toSelfAndKnownPlayersInRadius(activeOwner, new MagicSkillUse(pet, pet, activeOwner.getActiveShappireJewel().getSkillId(), activeOwner.getActiveShappireJewel().getSkillLevel(), 0, 0), 600); } else { @@ -144,7 +144,7 @@ public class BeastSpiritShot implements IItemHandler // Visual effect change if player has equipped Sapphire level 3 or higher if (activeOwner.getActiveShappireJewel() != null) { - Broadcast.toSelfAndKnownPlayersInRadius(activeOwner, new MagicSkillUse(s, s, activeOwner.getActiveShappireJewel().getEffectId(), 2, 0, 0), 600); + Broadcast.toSelfAndKnownPlayersInRadius(activeOwner, new MagicSkillUse(s, s, activeOwner.getActiveShappireJewel().getSkillId(), activeOwner.getActiveShappireJewel().getSkillLevel(), 0, 0), 600); } else { diff --git a/L2J_Mobius_08.2_Homunculus/dist/game/data/scripts/handlers/itemhandlers/BlessedSoulShots.java b/L2J_Mobius_08.2_Homunculus/dist/game/data/scripts/handlers/itemhandlers/BlessedSoulShots.java index f553a0c846..9da3b6cfd7 100644 --- a/L2J_Mobius_08.2_Homunculus/dist/game/data/scripts/handlers/itemhandlers/BlessedSoulShots.java +++ b/L2J_Mobius_08.2_Homunculus/dist/game/data/scripts/handlers/itemhandlers/BlessedSoulShots.java @@ -101,7 +101,7 @@ public class BlessedSoulShots implements IItemHandler // Visual effect change if player has equipped Ruby level 3 or higher if (player.getActiveRubyJewel() != null) { - Broadcast.toSelfAndKnownPlayersInRadius(player, new MagicSkillUse(player, player, player.getActiveRubyJewel().getEffectId(), 1, 0, 0), 600); + Broadcast.toSelfAndKnownPlayersInRadius(player, new MagicSkillUse(player, player, player.getActiveRubyJewel().getSkillId(), player.getActiveRubyJewel().getSkillLevel(), 0, 0), 600); } else { diff --git a/L2J_Mobius_08.2_Homunculus/dist/game/data/scripts/handlers/itemhandlers/BlessedSpiritShot.java b/L2J_Mobius_08.2_Homunculus/dist/game/data/scripts/handlers/itemhandlers/BlessedSpiritShot.java index 119fe1f81e..f8e9fb8786 100644 --- a/L2J_Mobius_08.2_Homunculus/dist/game/data/scripts/handlers/itemhandlers/BlessedSpiritShot.java +++ b/L2J_Mobius_08.2_Homunculus/dist/game/data/scripts/handlers/itemhandlers/BlessedSpiritShot.java @@ -91,7 +91,7 @@ public class BlessedSpiritShot implements IItemHandler // Visual effect change if player has equipped Sapphire level 3 or higher if (player.getActiveShappireJewel() != null) { - Broadcast.toSelfAndKnownPlayersInRadius(player, new MagicSkillUse(player, player, player.getActiveShappireJewel().getEffectId(), 1, 0, 0), 600); + Broadcast.toSelfAndKnownPlayersInRadius(player, new MagicSkillUse(player, player, player.getActiveShappireJewel().getSkillId(), player.getActiveShappireJewel().getSkillLevel(), 0, 0), 600); } else { diff --git a/L2J_Mobius_08.2_Homunculus/dist/game/data/scripts/handlers/itemhandlers/SoulShots.java b/L2J_Mobius_08.2_Homunculus/dist/game/data/scripts/handlers/itemhandlers/SoulShots.java index 1f44066740..3c8cbb15c4 100644 --- a/L2J_Mobius_08.2_Homunculus/dist/game/data/scripts/handlers/itemhandlers/SoulShots.java +++ b/L2J_Mobius_08.2_Homunculus/dist/game/data/scripts/handlers/itemhandlers/SoulShots.java @@ -98,7 +98,7 @@ public class SoulShots implements IItemHandler // Visual effect change if player has equipped Ruby level 3 or higher if (player.getActiveRubyJewel() != null) { - Broadcast.toSelfAndKnownPlayersInRadius(player, new MagicSkillUse(player, player, player.getActiveRubyJewel().getEffectId(), 1, 0, 0), 600); + Broadcast.toSelfAndKnownPlayersInRadius(player, new MagicSkillUse(player, player, player.getActiveRubyJewel().getSkillId(), player.getActiveRubyJewel().getSkillLevel(), 0, 0), 600); } else { diff --git a/L2J_Mobius_08.2_Homunculus/dist/game/data/scripts/handlers/itemhandlers/SpiritShot.java b/L2J_Mobius_08.2_Homunculus/dist/game/data/scripts/handlers/itemhandlers/SpiritShot.java index 353347df87..e1f09a5a72 100644 --- a/L2J_Mobius_08.2_Homunculus/dist/game/data/scripts/handlers/itemhandlers/SpiritShot.java +++ b/L2J_Mobius_08.2_Homunculus/dist/game/data/scripts/handlers/itemhandlers/SpiritShot.java @@ -91,7 +91,7 @@ public class SpiritShot implements IItemHandler // Visual effect change if player has equipped Sapphire level 3 or higher if (player.getActiveShappireJewel() != null) { - Broadcast.toSelfAndKnownPlayersInRadius(player, new MagicSkillUse(player, player, player.getActiveShappireJewel().getEffectId(), 1, 0, 0), 600); + Broadcast.toSelfAndKnownPlayersInRadius(player, new MagicSkillUse(player, player, player.getActiveShappireJewel().getSkillId(), player.getActiveShappireJewel().getSkillLevel(), 0, 0), 600); } else { diff --git a/L2J_Mobius_08.2_Homunculus/java/org/l2jmobius/gameserver/enums/BroochJewel.java b/L2J_Mobius_08.2_Homunculus/java/org/l2jmobius/gameserver/enums/BroochJewel.java index 5210f9a7f4..61713c10d8 100644 --- a/L2J_Mobius_08.2_Homunculus/java/org/l2jmobius/gameserver/enums/BroochJewel.java +++ b/L2J_Mobius_08.2_Homunculus/java/org/l2jmobius/gameserver/enums/BroochJewel.java @@ -21,58 +21,67 @@ package org.l2jmobius.gameserver.enums; */ public enum BroochJewel { - RUBY_LV1(38855, 17814, 0.01, true), - RUBY_LV2(38856, 17814, 0.035, true), - RUBY_LV3(38857, 17815, 0.075, true), - RUBY_LV4(38858, 17816, 0.125, true), - RUBY_LV5(38859, 17817, 0.2, true), - GREATER_RUBY_LV1(47688, 18715, 0.2, true), - GREATER_RUBY_LV2(48771, 18715, 0.2, true), - GREATER_RUBY_LV3(48772, 18715, 0.2, true), - GREATER_RUBY_LV4(48773, 18715, 0.2, true), - GREATER_RUBY_LV5(48774, 18715, 0.2, true), - SUPERIOR_RUBY_LV1(81505, 39658, 0.23, true), - SUPERIOR_RUBY_LV2(81506, 39658, 0.23, true), - SUPERIOR_RUBY_LV3(81507, 39658, 0.23, true), - SUPERIOR_RUBY_LV4(81508, 39658, 0.23, true), - SUPERIOR_RUBY_LV5(81509, 39658, 0.23, true), - SUPERIOR_RUBY_LV6(81510, 39658, 0.23, true), - SUPERIOR_RUBY_LV7(81511, 39658, 0.23, true), - SUPERIOR_RUBY_LV8(81512, 39658, 0.23, true), - SUPERIOR_RUBY_LV9(81513, 39658, 0.23, true), - SUPERIOR_RUBY_LV10(81514, 39658, 0.23, true), - SAPPHIRE_LV1(38927, 17818, 0.01, false), - SAPPHIRE_LV2(38928, 17818, 0.035, false), - SAPPHIRE_LV3(38929, 17819, 0.075, false), - SAPPHIRE_LV4(38930, 17820, 0.125, false), - SAPPHIRE_LV5(38931, 17821, 0.2, false), - GREATER_SAPPHIRE_LV1(47689, 18718, 0.2, false), - GREATER_SAPPHIRE_LV2(48775, 18718, 0.2, false), - GREATER_SAPPHIRE_LV3(48776, 18718, 0.2, false), - GREATER_SAPPHIRE_LV4(48777, 18718, 0.2, false), - GREATER_SAPPHIRE_LV5(48778, 18718, 0.2, false), - SUPERIOR_SAPPHIRE_LV1(81515, 39660, 0.23, false), - SUPERIOR_SAPPHIRE_LV2(81516, 39660, 0.23, false), - SUPERIOR_SAPPHIRE_LV3(81517, 39660, 0.23, false), - SUPERIOR_SAPPHIRE_LV4(81518, 39660, 0.23, false), - SUPERIOR_SAPPHIRE_LV5(81519, 39660, 0.23, false), - SUPERIOR_SAPPHIRE_LV6(81520, 39660, 0.23, false), - SUPERIOR_SAPPHIRE_LV7(81521, 39660, 0.23, false), - SUPERIOR_SAPPHIRE_LV8(81522, 39660, 0.23, false), - SUPERIOR_SAPPHIRE_LV9(81523, 39660, 0.23, false), - SUPERIOR_SAPPHIRE_LV10(81524, 39660, 0.23, false); + RUBY_LV1(38855, 17814, 1, 0.01, true, false), + RUBY_LV2(38856, 17814, 1, 0.035, true, false), + RUBY_LV3(38857, 17815, 1, 0.075, true, false), + RUBY_LV4(38858, 17816, 1, 0.125, true, false), + RUBY_LV5(38859, 17817, 1, 0.2, true, false), + + GREATER_RUBY_LV1(47688, 18715, 1, 0.2, true, false), + GREATER_RUBY_LV2(48771, 18715, 1, 0.2, true, false), + GREATER_RUBY_LV3(48772, 18715, 1, 0.2, true, false), + GREATER_RUBY_LV4(48773, 18715, 1, 0.2, true, false), + GREATER_RUBY_LV5(48774, 18715, 1, 0.2, true, false), + + SUPERIOR_RUBY_LV1(81505, 39658, 1, 0.23, true, false), + SUPERIOR_RUBY_LV2(81506, 39658, 1, 0.23, true, false), + SUPERIOR_RUBY_LV3(81507, 39658, 1, 0.23, true, false), + SUPERIOR_RUBY_LV4(81508, 39658, 1, 0.23, true, false), + SUPERIOR_RUBY_LV5(81509, 39658, 1, 0.23, true, false), + SUPERIOR_RUBY_LV6(81510, 39658, 1, 0.23, true, false), + SUPERIOR_RUBY_LV7(81511, 39658, 1, 0.23, true, false), + SUPERIOR_RUBY_LV8(81512, 39658, 1, 0.23, true, false), + SUPERIOR_RUBY_LV9(81513, 39658, 1, 0.23, true, false), + SUPERIOR_RUBY_LV10(81514, 39658, 1, 0.23, true, false), + + SAPPHIRE_LV1(38927, 17818, 1, 0.01, false, true), + SAPPHIRE_LV2(38928, 17818, 1, 0.035, false, true), + SAPPHIRE_LV3(38929, 17819, 1, 0.075, false, true), + SAPPHIRE_LV4(38930, 17820, 1, 0.125, false, true), + SAPPHIRE_LV5(38931, 17821, 1, 0.2, false, true), + + GREATER_SAPPHIRE_LV1(47689, 18718, 1, 0.2, false, true), + GREATER_SAPPHIRE_LV2(48775, 18718, 1, 0.2, false, true), + GREATER_SAPPHIRE_LV3(48776, 18718, 1, 0.2, false, true), + GREATER_SAPPHIRE_LV4(48777, 18718, 1, 0.2, false, true), + GREATER_SAPPHIRE_LV5(48778, 18718, 1, 0.2, false, true), + + SUPERIOR_SAPPHIRE_LV1(81515, 39660, 1, 0.23, false, true), + SUPERIOR_SAPPHIRE_LV2(81516, 39660, 1, 0.23, false, true), + SUPERIOR_SAPPHIRE_LV3(81517, 39660, 1, 0.23, false, true), + SUPERIOR_SAPPHIRE_LV4(81518, 39660, 1, 0.23, false, true), + SUPERIOR_SAPPHIRE_LV5(81519, 39660, 1, 0.23, false, true), + SUPERIOR_SAPPHIRE_LV6(81520, 39660, 1, 0.23, false, true), + SUPERIOR_SAPPHIRE_LV7(81521, 39660, 1, 0.23, false, true), + SUPERIOR_SAPPHIRE_LV8(81522, 39660, 1, 0.23, false, true), + SUPERIOR_SAPPHIRE_LV9(81523, 39660, 1, 0.23, false, true), + SUPERIOR_SAPPHIRE_LV10(81524, 39660, 1, 0.23, false, true); private int _itemId; - private int _effectId; + private int _skillId; + private int _skillLevel; private double _bonus; - private boolean _isRuby; // If not, it is sapphire. + private boolean _isRuby; + private boolean _isSapphire; - private BroochJewel(int itemId, int effectId, double bonus, boolean isRuby) + private BroochJewel(int itemId, int skillId, int skillLevel, double bonus, boolean isRuby, boolean isSapphire) { _itemId = itemId; - _effectId = effectId; + _skillId = skillId; + _skillLevel = skillLevel; _bonus = bonus; _isRuby = isRuby; + _isSapphire = isSapphire; } public int getItemId() @@ -80,9 +89,14 @@ public enum BroochJewel return _itemId; } - public int getEffectId() + public int getSkillId() { - return _effectId; + return _skillId; + } + + public int getSkillLevel() + { + return _skillLevel; } public double getBonus() @@ -94,4 +108,9 @@ public enum BroochJewel { return _isRuby; } + + public boolean isSapphire() + { + return _isSapphire; + } } diff --git a/L2J_Mobius_08.2_Homunculus/java/org/l2jmobius/gameserver/model/actor/Player.java b/L2J_Mobius_08.2_Homunculus/java/org/l2jmobius/gameserver/model/actor/Player.java index 190d95dcfb..18e2a483d0 100644 --- a/L2J_Mobius_08.2_Homunculus/java/org/l2jmobius/gameserver/model/actor/Player.java +++ b/L2J_Mobius_08.2_Homunculus/java/org/l2jmobius/gameserver/model/actor/Player.java @@ -9019,7 +9019,7 @@ public class Player extends Playable for (int i = broochJewels.length - 1; i > 0; i--) { final BroochJewel jewel = broochJewels[i]; - if (!jewel.isRuby() && _inventory.isItemEquipped(jewel.getItemId())) + if (jewel.isSapphire() && _inventory.isItemEquipped(jewel.getItemId())) { setActiveShappireJewel(jewel); break; diff --git a/L2J_Mobius_09.2_ReturnOfTheQueenAnt/dist/game/data/scripts/handlers/itemhandlers/BeastSoulShot.java b/L2J_Mobius_09.2_ReturnOfTheQueenAnt/dist/game/data/scripts/handlers/itemhandlers/BeastSoulShot.java index 7b898d2461..3cbb8fa479 100644 --- a/L2J_Mobius_09.2_ReturnOfTheQueenAnt/dist/game/data/scripts/handlers/itemhandlers/BeastSoulShot.java +++ b/L2J_Mobius_09.2_ReturnOfTheQueenAnt/dist/game/data/scripts/handlers/itemhandlers/BeastSoulShot.java @@ -126,7 +126,7 @@ public class BeastSoulShot implements IItemHandler // Visual effect change if player has equipped Ruby level 3 or higher if (activeOwner.getActiveRubyJewel() != null) { - Broadcast.toSelfAndKnownPlayersInRadius(activeOwner, new MagicSkillUse(pet, pet, activeOwner.getActiveRubyJewel().getEffectId(), 1, 0, 0), 600); + Broadcast.toSelfAndKnownPlayersInRadius(activeOwner, new MagicSkillUse(pet, pet, activeOwner.getActiveRubyJewel().getSkillId(), activeOwner.getActiveRubyJewel().getSkillLevel(), 0, 0), 600); } else { @@ -143,7 +143,7 @@ public class BeastSoulShot implements IItemHandler // Visual effect change if player has equipped Ruby level 3 or higher if (activeOwner.getActiveRubyJewel() != null) { - Broadcast.toSelfAndKnownPlayersInRadius(activeOwner, new MagicSkillUse(s, s, activeOwner.getActiveRubyJewel().getEffectId(), 1, 0, 0), 600); + Broadcast.toSelfAndKnownPlayersInRadius(activeOwner, new MagicSkillUse(s, s, activeOwner.getActiveRubyJewel().getSkillId(), activeOwner.getActiveRubyJewel().getSkillLevel(), 0, 0), 600); } else { diff --git a/L2J_Mobius_09.2_ReturnOfTheQueenAnt/dist/game/data/scripts/handlers/itemhandlers/BeastSpiritShot.java b/L2J_Mobius_09.2_ReturnOfTheQueenAnt/dist/game/data/scripts/handlers/itemhandlers/BeastSpiritShot.java index ff11355aa7..c1094304c9 100644 --- a/L2J_Mobius_09.2_ReturnOfTheQueenAnt/dist/game/data/scripts/handlers/itemhandlers/BeastSpiritShot.java +++ b/L2J_Mobius_09.2_ReturnOfTheQueenAnt/dist/game/data/scripts/handlers/itemhandlers/BeastSpiritShot.java @@ -127,7 +127,7 @@ public class BeastSpiritShot implements IItemHandler // Visual effect change if player has equipped Sapphire level 3 or higher if (activeOwner.getActiveShappireJewel() != null) { - Broadcast.toSelfAndKnownPlayersInRadius(activeOwner, new MagicSkillUse(pet, pet, activeOwner.getActiveShappireJewel().getEffectId(), 2, 0, 0), 600); + Broadcast.toSelfAndKnownPlayersInRadius(activeOwner, new MagicSkillUse(pet, pet, activeOwner.getActiveShappireJewel().getSkillId(), activeOwner.getActiveShappireJewel().getSkillLevel(), 0, 0), 600); } else { @@ -144,7 +144,7 @@ public class BeastSpiritShot implements IItemHandler // Visual effect change if player has equipped Sapphire level 3 or higher if (activeOwner.getActiveShappireJewel() != null) { - Broadcast.toSelfAndKnownPlayersInRadius(activeOwner, new MagicSkillUse(s, s, activeOwner.getActiveShappireJewel().getEffectId(), 2, 0, 0), 600); + Broadcast.toSelfAndKnownPlayersInRadius(activeOwner, new MagicSkillUse(s, s, activeOwner.getActiveShappireJewel().getSkillId(), activeOwner.getActiveShappireJewel().getSkillLevel(), 0, 0), 600); } else { diff --git a/L2J_Mobius_09.2_ReturnOfTheQueenAnt/dist/game/data/scripts/handlers/itemhandlers/BlessedSoulShots.java b/L2J_Mobius_09.2_ReturnOfTheQueenAnt/dist/game/data/scripts/handlers/itemhandlers/BlessedSoulShots.java index f553a0c846..9da3b6cfd7 100644 --- a/L2J_Mobius_09.2_ReturnOfTheQueenAnt/dist/game/data/scripts/handlers/itemhandlers/BlessedSoulShots.java +++ b/L2J_Mobius_09.2_ReturnOfTheQueenAnt/dist/game/data/scripts/handlers/itemhandlers/BlessedSoulShots.java @@ -101,7 +101,7 @@ public class BlessedSoulShots implements IItemHandler // Visual effect change if player has equipped Ruby level 3 or higher if (player.getActiveRubyJewel() != null) { - Broadcast.toSelfAndKnownPlayersInRadius(player, new MagicSkillUse(player, player, player.getActiveRubyJewel().getEffectId(), 1, 0, 0), 600); + Broadcast.toSelfAndKnownPlayersInRadius(player, new MagicSkillUse(player, player, player.getActiveRubyJewel().getSkillId(), player.getActiveRubyJewel().getSkillLevel(), 0, 0), 600); } else { diff --git a/L2J_Mobius_09.2_ReturnOfTheQueenAnt/dist/game/data/scripts/handlers/itemhandlers/BlessedSpiritShot.java b/L2J_Mobius_09.2_ReturnOfTheQueenAnt/dist/game/data/scripts/handlers/itemhandlers/BlessedSpiritShot.java index 119fe1f81e..f8e9fb8786 100644 --- a/L2J_Mobius_09.2_ReturnOfTheQueenAnt/dist/game/data/scripts/handlers/itemhandlers/BlessedSpiritShot.java +++ b/L2J_Mobius_09.2_ReturnOfTheQueenAnt/dist/game/data/scripts/handlers/itemhandlers/BlessedSpiritShot.java @@ -91,7 +91,7 @@ public class BlessedSpiritShot implements IItemHandler // Visual effect change if player has equipped Sapphire level 3 or higher if (player.getActiveShappireJewel() != null) { - Broadcast.toSelfAndKnownPlayersInRadius(player, new MagicSkillUse(player, player, player.getActiveShappireJewel().getEffectId(), 1, 0, 0), 600); + Broadcast.toSelfAndKnownPlayersInRadius(player, new MagicSkillUse(player, player, player.getActiveShappireJewel().getSkillId(), player.getActiveShappireJewel().getSkillLevel(), 0, 0), 600); } else { diff --git a/L2J_Mobius_09.2_ReturnOfTheQueenAnt/dist/game/data/scripts/handlers/itemhandlers/SoulShots.java b/L2J_Mobius_09.2_ReturnOfTheQueenAnt/dist/game/data/scripts/handlers/itemhandlers/SoulShots.java index 1f44066740..3c8cbb15c4 100644 --- a/L2J_Mobius_09.2_ReturnOfTheQueenAnt/dist/game/data/scripts/handlers/itemhandlers/SoulShots.java +++ b/L2J_Mobius_09.2_ReturnOfTheQueenAnt/dist/game/data/scripts/handlers/itemhandlers/SoulShots.java @@ -98,7 +98,7 @@ public class SoulShots implements IItemHandler // Visual effect change if player has equipped Ruby level 3 or higher if (player.getActiveRubyJewel() != null) { - Broadcast.toSelfAndKnownPlayersInRadius(player, new MagicSkillUse(player, player, player.getActiveRubyJewel().getEffectId(), 1, 0, 0), 600); + Broadcast.toSelfAndKnownPlayersInRadius(player, new MagicSkillUse(player, player, player.getActiveRubyJewel().getSkillId(), player.getActiveRubyJewel().getSkillLevel(), 0, 0), 600); } else { diff --git a/L2J_Mobius_09.2_ReturnOfTheQueenAnt/dist/game/data/scripts/handlers/itemhandlers/SpiritShot.java b/L2J_Mobius_09.2_ReturnOfTheQueenAnt/dist/game/data/scripts/handlers/itemhandlers/SpiritShot.java index 353347df87..e1f09a5a72 100644 --- a/L2J_Mobius_09.2_ReturnOfTheQueenAnt/dist/game/data/scripts/handlers/itemhandlers/SpiritShot.java +++ b/L2J_Mobius_09.2_ReturnOfTheQueenAnt/dist/game/data/scripts/handlers/itemhandlers/SpiritShot.java @@ -91,7 +91,7 @@ public class SpiritShot implements IItemHandler // Visual effect change if player has equipped Sapphire level 3 or higher if (player.getActiveShappireJewel() != null) { - Broadcast.toSelfAndKnownPlayersInRadius(player, new MagicSkillUse(player, player, player.getActiveShappireJewel().getEffectId(), 1, 0, 0), 600); + Broadcast.toSelfAndKnownPlayersInRadius(player, new MagicSkillUse(player, player, player.getActiveShappireJewel().getSkillId(), player.getActiveShappireJewel().getSkillLevel(), 0, 0), 600); } else { diff --git a/L2J_Mobius_09.2_ReturnOfTheQueenAnt/java/org/l2jmobius/gameserver/enums/BroochJewel.java b/L2J_Mobius_09.2_ReturnOfTheQueenAnt/java/org/l2jmobius/gameserver/enums/BroochJewel.java index 5210f9a7f4..61713c10d8 100644 --- a/L2J_Mobius_09.2_ReturnOfTheQueenAnt/java/org/l2jmobius/gameserver/enums/BroochJewel.java +++ b/L2J_Mobius_09.2_ReturnOfTheQueenAnt/java/org/l2jmobius/gameserver/enums/BroochJewel.java @@ -21,58 +21,67 @@ package org.l2jmobius.gameserver.enums; */ public enum BroochJewel { - RUBY_LV1(38855, 17814, 0.01, true), - RUBY_LV2(38856, 17814, 0.035, true), - RUBY_LV3(38857, 17815, 0.075, true), - RUBY_LV4(38858, 17816, 0.125, true), - RUBY_LV5(38859, 17817, 0.2, true), - GREATER_RUBY_LV1(47688, 18715, 0.2, true), - GREATER_RUBY_LV2(48771, 18715, 0.2, true), - GREATER_RUBY_LV3(48772, 18715, 0.2, true), - GREATER_RUBY_LV4(48773, 18715, 0.2, true), - GREATER_RUBY_LV5(48774, 18715, 0.2, true), - SUPERIOR_RUBY_LV1(81505, 39658, 0.23, true), - SUPERIOR_RUBY_LV2(81506, 39658, 0.23, true), - SUPERIOR_RUBY_LV3(81507, 39658, 0.23, true), - SUPERIOR_RUBY_LV4(81508, 39658, 0.23, true), - SUPERIOR_RUBY_LV5(81509, 39658, 0.23, true), - SUPERIOR_RUBY_LV6(81510, 39658, 0.23, true), - SUPERIOR_RUBY_LV7(81511, 39658, 0.23, true), - SUPERIOR_RUBY_LV8(81512, 39658, 0.23, true), - SUPERIOR_RUBY_LV9(81513, 39658, 0.23, true), - SUPERIOR_RUBY_LV10(81514, 39658, 0.23, true), - SAPPHIRE_LV1(38927, 17818, 0.01, false), - SAPPHIRE_LV2(38928, 17818, 0.035, false), - SAPPHIRE_LV3(38929, 17819, 0.075, false), - SAPPHIRE_LV4(38930, 17820, 0.125, false), - SAPPHIRE_LV5(38931, 17821, 0.2, false), - GREATER_SAPPHIRE_LV1(47689, 18718, 0.2, false), - GREATER_SAPPHIRE_LV2(48775, 18718, 0.2, false), - GREATER_SAPPHIRE_LV3(48776, 18718, 0.2, false), - GREATER_SAPPHIRE_LV4(48777, 18718, 0.2, false), - GREATER_SAPPHIRE_LV5(48778, 18718, 0.2, false), - SUPERIOR_SAPPHIRE_LV1(81515, 39660, 0.23, false), - SUPERIOR_SAPPHIRE_LV2(81516, 39660, 0.23, false), - SUPERIOR_SAPPHIRE_LV3(81517, 39660, 0.23, false), - SUPERIOR_SAPPHIRE_LV4(81518, 39660, 0.23, false), - SUPERIOR_SAPPHIRE_LV5(81519, 39660, 0.23, false), - SUPERIOR_SAPPHIRE_LV6(81520, 39660, 0.23, false), - SUPERIOR_SAPPHIRE_LV7(81521, 39660, 0.23, false), - SUPERIOR_SAPPHIRE_LV8(81522, 39660, 0.23, false), - SUPERIOR_SAPPHIRE_LV9(81523, 39660, 0.23, false), - SUPERIOR_SAPPHIRE_LV10(81524, 39660, 0.23, false); + RUBY_LV1(38855, 17814, 1, 0.01, true, false), + RUBY_LV2(38856, 17814, 1, 0.035, true, false), + RUBY_LV3(38857, 17815, 1, 0.075, true, false), + RUBY_LV4(38858, 17816, 1, 0.125, true, false), + RUBY_LV5(38859, 17817, 1, 0.2, true, false), + + GREATER_RUBY_LV1(47688, 18715, 1, 0.2, true, false), + GREATER_RUBY_LV2(48771, 18715, 1, 0.2, true, false), + GREATER_RUBY_LV3(48772, 18715, 1, 0.2, true, false), + GREATER_RUBY_LV4(48773, 18715, 1, 0.2, true, false), + GREATER_RUBY_LV5(48774, 18715, 1, 0.2, true, false), + + SUPERIOR_RUBY_LV1(81505, 39658, 1, 0.23, true, false), + SUPERIOR_RUBY_LV2(81506, 39658, 1, 0.23, true, false), + SUPERIOR_RUBY_LV3(81507, 39658, 1, 0.23, true, false), + SUPERIOR_RUBY_LV4(81508, 39658, 1, 0.23, true, false), + SUPERIOR_RUBY_LV5(81509, 39658, 1, 0.23, true, false), + SUPERIOR_RUBY_LV6(81510, 39658, 1, 0.23, true, false), + SUPERIOR_RUBY_LV7(81511, 39658, 1, 0.23, true, false), + SUPERIOR_RUBY_LV8(81512, 39658, 1, 0.23, true, false), + SUPERIOR_RUBY_LV9(81513, 39658, 1, 0.23, true, false), + SUPERIOR_RUBY_LV10(81514, 39658, 1, 0.23, true, false), + + SAPPHIRE_LV1(38927, 17818, 1, 0.01, false, true), + SAPPHIRE_LV2(38928, 17818, 1, 0.035, false, true), + SAPPHIRE_LV3(38929, 17819, 1, 0.075, false, true), + SAPPHIRE_LV4(38930, 17820, 1, 0.125, false, true), + SAPPHIRE_LV5(38931, 17821, 1, 0.2, false, true), + + GREATER_SAPPHIRE_LV1(47689, 18718, 1, 0.2, false, true), + GREATER_SAPPHIRE_LV2(48775, 18718, 1, 0.2, false, true), + GREATER_SAPPHIRE_LV3(48776, 18718, 1, 0.2, false, true), + GREATER_SAPPHIRE_LV4(48777, 18718, 1, 0.2, false, true), + GREATER_SAPPHIRE_LV5(48778, 18718, 1, 0.2, false, true), + + SUPERIOR_SAPPHIRE_LV1(81515, 39660, 1, 0.23, false, true), + SUPERIOR_SAPPHIRE_LV2(81516, 39660, 1, 0.23, false, true), + SUPERIOR_SAPPHIRE_LV3(81517, 39660, 1, 0.23, false, true), + SUPERIOR_SAPPHIRE_LV4(81518, 39660, 1, 0.23, false, true), + SUPERIOR_SAPPHIRE_LV5(81519, 39660, 1, 0.23, false, true), + SUPERIOR_SAPPHIRE_LV6(81520, 39660, 1, 0.23, false, true), + SUPERIOR_SAPPHIRE_LV7(81521, 39660, 1, 0.23, false, true), + SUPERIOR_SAPPHIRE_LV8(81522, 39660, 1, 0.23, false, true), + SUPERIOR_SAPPHIRE_LV9(81523, 39660, 1, 0.23, false, true), + SUPERIOR_SAPPHIRE_LV10(81524, 39660, 1, 0.23, false, true); private int _itemId; - private int _effectId; + private int _skillId; + private int _skillLevel; private double _bonus; - private boolean _isRuby; // If not, it is sapphire. + private boolean _isRuby; + private boolean _isSapphire; - private BroochJewel(int itemId, int effectId, double bonus, boolean isRuby) + private BroochJewel(int itemId, int skillId, int skillLevel, double bonus, boolean isRuby, boolean isSapphire) { _itemId = itemId; - _effectId = effectId; + _skillId = skillId; + _skillLevel = skillLevel; _bonus = bonus; _isRuby = isRuby; + _isSapphire = isSapphire; } public int getItemId() @@ -80,9 +89,14 @@ public enum BroochJewel return _itemId; } - public int getEffectId() + public int getSkillId() { - return _effectId; + return _skillId; + } + + public int getSkillLevel() + { + return _skillLevel; } public double getBonus() @@ -94,4 +108,9 @@ public enum BroochJewel { return _isRuby; } + + public boolean isSapphire() + { + return _isSapphire; + } } diff --git a/L2J_Mobius_09.2_ReturnOfTheQueenAnt/java/org/l2jmobius/gameserver/model/actor/Player.java b/L2J_Mobius_09.2_ReturnOfTheQueenAnt/java/org/l2jmobius/gameserver/model/actor/Player.java index 5d8e27dd3c..9822b99dc4 100644 --- a/L2J_Mobius_09.2_ReturnOfTheQueenAnt/java/org/l2jmobius/gameserver/model/actor/Player.java +++ b/L2J_Mobius_09.2_ReturnOfTheQueenAnt/java/org/l2jmobius/gameserver/model/actor/Player.java @@ -9045,7 +9045,7 @@ public class Player extends Playable for (int i = broochJewels.length - 1; i > 0; i--) { final BroochJewel jewel = broochJewels[i]; - if (!jewel.isRuby() && _inventory.isItemEquipped(jewel.getItemId())) + if (jewel.isSapphire() && _inventory.isItemEquipped(jewel.getItemId())) { setActiveShappireJewel(jewel); break; diff --git a/L2J_Mobius_10.0_MasterClass/dist/game/data/scripts/handlers/itemhandlers/BeastSoulShot.java b/L2J_Mobius_10.0_MasterClass/dist/game/data/scripts/handlers/itemhandlers/BeastSoulShot.java index 7b898d2461..3cbb8fa479 100644 --- a/L2J_Mobius_10.0_MasterClass/dist/game/data/scripts/handlers/itemhandlers/BeastSoulShot.java +++ b/L2J_Mobius_10.0_MasterClass/dist/game/data/scripts/handlers/itemhandlers/BeastSoulShot.java @@ -126,7 +126,7 @@ public class BeastSoulShot implements IItemHandler // Visual effect change if player has equipped Ruby level 3 or higher if (activeOwner.getActiveRubyJewel() != null) { - Broadcast.toSelfAndKnownPlayersInRadius(activeOwner, new MagicSkillUse(pet, pet, activeOwner.getActiveRubyJewel().getEffectId(), 1, 0, 0), 600); + Broadcast.toSelfAndKnownPlayersInRadius(activeOwner, new MagicSkillUse(pet, pet, activeOwner.getActiveRubyJewel().getSkillId(), activeOwner.getActiveRubyJewel().getSkillLevel(), 0, 0), 600); } else { @@ -143,7 +143,7 @@ public class BeastSoulShot implements IItemHandler // Visual effect change if player has equipped Ruby level 3 or higher if (activeOwner.getActiveRubyJewel() != null) { - Broadcast.toSelfAndKnownPlayersInRadius(activeOwner, new MagicSkillUse(s, s, activeOwner.getActiveRubyJewel().getEffectId(), 1, 0, 0), 600); + Broadcast.toSelfAndKnownPlayersInRadius(activeOwner, new MagicSkillUse(s, s, activeOwner.getActiveRubyJewel().getSkillId(), activeOwner.getActiveRubyJewel().getSkillLevel(), 0, 0), 600); } else { diff --git a/L2J_Mobius_10.0_MasterClass/dist/game/data/scripts/handlers/itemhandlers/BeastSpiritShot.java b/L2J_Mobius_10.0_MasterClass/dist/game/data/scripts/handlers/itemhandlers/BeastSpiritShot.java index ff11355aa7..c1094304c9 100644 --- a/L2J_Mobius_10.0_MasterClass/dist/game/data/scripts/handlers/itemhandlers/BeastSpiritShot.java +++ b/L2J_Mobius_10.0_MasterClass/dist/game/data/scripts/handlers/itemhandlers/BeastSpiritShot.java @@ -127,7 +127,7 @@ public class BeastSpiritShot implements IItemHandler // Visual effect change if player has equipped Sapphire level 3 or higher if (activeOwner.getActiveShappireJewel() != null) { - Broadcast.toSelfAndKnownPlayersInRadius(activeOwner, new MagicSkillUse(pet, pet, activeOwner.getActiveShappireJewel().getEffectId(), 2, 0, 0), 600); + Broadcast.toSelfAndKnownPlayersInRadius(activeOwner, new MagicSkillUse(pet, pet, activeOwner.getActiveShappireJewel().getSkillId(), activeOwner.getActiveShappireJewel().getSkillLevel(), 0, 0), 600); } else { @@ -144,7 +144,7 @@ public class BeastSpiritShot implements IItemHandler // Visual effect change if player has equipped Sapphire level 3 or higher if (activeOwner.getActiveShappireJewel() != null) { - Broadcast.toSelfAndKnownPlayersInRadius(activeOwner, new MagicSkillUse(s, s, activeOwner.getActiveShappireJewel().getEffectId(), 2, 0, 0), 600); + Broadcast.toSelfAndKnownPlayersInRadius(activeOwner, new MagicSkillUse(s, s, activeOwner.getActiveShappireJewel().getSkillId(), activeOwner.getActiveShappireJewel().getSkillLevel(), 0, 0), 600); } else { diff --git a/L2J_Mobius_10.0_MasterClass/dist/game/data/scripts/handlers/itemhandlers/BlessedSoulShots.java b/L2J_Mobius_10.0_MasterClass/dist/game/data/scripts/handlers/itemhandlers/BlessedSoulShots.java index f553a0c846..9da3b6cfd7 100644 --- a/L2J_Mobius_10.0_MasterClass/dist/game/data/scripts/handlers/itemhandlers/BlessedSoulShots.java +++ b/L2J_Mobius_10.0_MasterClass/dist/game/data/scripts/handlers/itemhandlers/BlessedSoulShots.java @@ -101,7 +101,7 @@ public class BlessedSoulShots implements IItemHandler // Visual effect change if player has equipped Ruby level 3 or higher if (player.getActiveRubyJewel() != null) { - Broadcast.toSelfAndKnownPlayersInRadius(player, new MagicSkillUse(player, player, player.getActiveRubyJewel().getEffectId(), 1, 0, 0), 600); + Broadcast.toSelfAndKnownPlayersInRadius(player, new MagicSkillUse(player, player, player.getActiveRubyJewel().getSkillId(), player.getActiveRubyJewel().getSkillLevel(), 0, 0), 600); } else { diff --git a/L2J_Mobius_10.0_MasterClass/dist/game/data/scripts/handlers/itemhandlers/BlessedSpiritShot.java b/L2J_Mobius_10.0_MasterClass/dist/game/data/scripts/handlers/itemhandlers/BlessedSpiritShot.java index 119fe1f81e..f8e9fb8786 100644 --- a/L2J_Mobius_10.0_MasterClass/dist/game/data/scripts/handlers/itemhandlers/BlessedSpiritShot.java +++ b/L2J_Mobius_10.0_MasterClass/dist/game/data/scripts/handlers/itemhandlers/BlessedSpiritShot.java @@ -91,7 +91,7 @@ public class BlessedSpiritShot implements IItemHandler // Visual effect change if player has equipped Sapphire level 3 or higher if (player.getActiveShappireJewel() != null) { - Broadcast.toSelfAndKnownPlayersInRadius(player, new MagicSkillUse(player, player, player.getActiveShappireJewel().getEffectId(), 1, 0, 0), 600); + Broadcast.toSelfAndKnownPlayersInRadius(player, new MagicSkillUse(player, player, player.getActiveShappireJewel().getSkillId(), player.getActiveShappireJewel().getSkillLevel(), 0, 0), 600); } else { diff --git a/L2J_Mobius_10.0_MasterClass/dist/game/data/scripts/handlers/itemhandlers/SoulShots.java b/L2J_Mobius_10.0_MasterClass/dist/game/data/scripts/handlers/itemhandlers/SoulShots.java index 1f44066740..3c8cbb15c4 100644 --- a/L2J_Mobius_10.0_MasterClass/dist/game/data/scripts/handlers/itemhandlers/SoulShots.java +++ b/L2J_Mobius_10.0_MasterClass/dist/game/data/scripts/handlers/itemhandlers/SoulShots.java @@ -98,7 +98,7 @@ public class SoulShots implements IItemHandler // Visual effect change if player has equipped Ruby level 3 or higher if (player.getActiveRubyJewel() != null) { - Broadcast.toSelfAndKnownPlayersInRadius(player, new MagicSkillUse(player, player, player.getActiveRubyJewel().getEffectId(), 1, 0, 0), 600); + Broadcast.toSelfAndKnownPlayersInRadius(player, new MagicSkillUse(player, player, player.getActiveRubyJewel().getSkillId(), player.getActiveRubyJewel().getSkillLevel(), 0, 0), 600); } else { diff --git a/L2J_Mobius_10.0_MasterClass/dist/game/data/scripts/handlers/itemhandlers/SpiritShot.java b/L2J_Mobius_10.0_MasterClass/dist/game/data/scripts/handlers/itemhandlers/SpiritShot.java index 353347df87..e1f09a5a72 100644 --- a/L2J_Mobius_10.0_MasterClass/dist/game/data/scripts/handlers/itemhandlers/SpiritShot.java +++ b/L2J_Mobius_10.0_MasterClass/dist/game/data/scripts/handlers/itemhandlers/SpiritShot.java @@ -91,7 +91,7 @@ public class SpiritShot implements IItemHandler // Visual effect change if player has equipped Sapphire level 3 or higher if (player.getActiveShappireJewel() != null) { - Broadcast.toSelfAndKnownPlayersInRadius(player, new MagicSkillUse(player, player, player.getActiveShappireJewel().getEffectId(), 1, 0, 0), 600); + Broadcast.toSelfAndKnownPlayersInRadius(player, new MagicSkillUse(player, player, player.getActiveShappireJewel().getSkillId(), player.getActiveShappireJewel().getSkillLevel(), 0, 0), 600); } else { diff --git a/L2J_Mobius_10.0_MasterClass/java/org/l2jmobius/gameserver/enums/BroochJewel.java b/L2J_Mobius_10.0_MasterClass/java/org/l2jmobius/gameserver/enums/BroochJewel.java index 5210f9a7f4..61713c10d8 100644 --- a/L2J_Mobius_10.0_MasterClass/java/org/l2jmobius/gameserver/enums/BroochJewel.java +++ b/L2J_Mobius_10.0_MasterClass/java/org/l2jmobius/gameserver/enums/BroochJewel.java @@ -21,58 +21,67 @@ package org.l2jmobius.gameserver.enums; */ public enum BroochJewel { - RUBY_LV1(38855, 17814, 0.01, true), - RUBY_LV2(38856, 17814, 0.035, true), - RUBY_LV3(38857, 17815, 0.075, true), - RUBY_LV4(38858, 17816, 0.125, true), - RUBY_LV5(38859, 17817, 0.2, true), - GREATER_RUBY_LV1(47688, 18715, 0.2, true), - GREATER_RUBY_LV2(48771, 18715, 0.2, true), - GREATER_RUBY_LV3(48772, 18715, 0.2, true), - GREATER_RUBY_LV4(48773, 18715, 0.2, true), - GREATER_RUBY_LV5(48774, 18715, 0.2, true), - SUPERIOR_RUBY_LV1(81505, 39658, 0.23, true), - SUPERIOR_RUBY_LV2(81506, 39658, 0.23, true), - SUPERIOR_RUBY_LV3(81507, 39658, 0.23, true), - SUPERIOR_RUBY_LV4(81508, 39658, 0.23, true), - SUPERIOR_RUBY_LV5(81509, 39658, 0.23, true), - SUPERIOR_RUBY_LV6(81510, 39658, 0.23, true), - SUPERIOR_RUBY_LV7(81511, 39658, 0.23, true), - SUPERIOR_RUBY_LV8(81512, 39658, 0.23, true), - SUPERIOR_RUBY_LV9(81513, 39658, 0.23, true), - SUPERIOR_RUBY_LV10(81514, 39658, 0.23, true), - SAPPHIRE_LV1(38927, 17818, 0.01, false), - SAPPHIRE_LV2(38928, 17818, 0.035, false), - SAPPHIRE_LV3(38929, 17819, 0.075, false), - SAPPHIRE_LV4(38930, 17820, 0.125, false), - SAPPHIRE_LV5(38931, 17821, 0.2, false), - GREATER_SAPPHIRE_LV1(47689, 18718, 0.2, false), - GREATER_SAPPHIRE_LV2(48775, 18718, 0.2, false), - GREATER_SAPPHIRE_LV3(48776, 18718, 0.2, false), - GREATER_SAPPHIRE_LV4(48777, 18718, 0.2, false), - GREATER_SAPPHIRE_LV5(48778, 18718, 0.2, false), - SUPERIOR_SAPPHIRE_LV1(81515, 39660, 0.23, false), - SUPERIOR_SAPPHIRE_LV2(81516, 39660, 0.23, false), - SUPERIOR_SAPPHIRE_LV3(81517, 39660, 0.23, false), - SUPERIOR_SAPPHIRE_LV4(81518, 39660, 0.23, false), - SUPERIOR_SAPPHIRE_LV5(81519, 39660, 0.23, false), - SUPERIOR_SAPPHIRE_LV6(81520, 39660, 0.23, false), - SUPERIOR_SAPPHIRE_LV7(81521, 39660, 0.23, false), - SUPERIOR_SAPPHIRE_LV8(81522, 39660, 0.23, false), - SUPERIOR_SAPPHIRE_LV9(81523, 39660, 0.23, false), - SUPERIOR_SAPPHIRE_LV10(81524, 39660, 0.23, false); + RUBY_LV1(38855, 17814, 1, 0.01, true, false), + RUBY_LV2(38856, 17814, 1, 0.035, true, false), + RUBY_LV3(38857, 17815, 1, 0.075, true, false), + RUBY_LV4(38858, 17816, 1, 0.125, true, false), + RUBY_LV5(38859, 17817, 1, 0.2, true, false), + + GREATER_RUBY_LV1(47688, 18715, 1, 0.2, true, false), + GREATER_RUBY_LV2(48771, 18715, 1, 0.2, true, false), + GREATER_RUBY_LV3(48772, 18715, 1, 0.2, true, false), + GREATER_RUBY_LV4(48773, 18715, 1, 0.2, true, false), + GREATER_RUBY_LV5(48774, 18715, 1, 0.2, true, false), + + SUPERIOR_RUBY_LV1(81505, 39658, 1, 0.23, true, false), + SUPERIOR_RUBY_LV2(81506, 39658, 1, 0.23, true, false), + SUPERIOR_RUBY_LV3(81507, 39658, 1, 0.23, true, false), + SUPERIOR_RUBY_LV4(81508, 39658, 1, 0.23, true, false), + SUPERIOR_RUBY_LV5(81509, 39658, 1, 0.23, true, false), + SUPERIOR_RUBY_LV6(81510, 39658, 1, 0.23, true, false), + SUPERIOR_RUBY_LV7(81511, 39658, 1, 0.23, true, false), + SUPERIOR_RUBY_LV8(81512, 39658, 1, 0.23, true, false), + SUPERIOR_RUBY_LV9(81513, 39658, 1, 0.23, true, false), + SUPERIOR_RUBY_LV10(81514, 39658, 1, 0.23, true, false), + + SAPPHIRE_LV1(38927, 17818, 1, 0.01, false, true), + SAPPHIRE_LV2(38928, 17818, 1, 0.035, false, true), + SAPPHIRE_LV3(38929, 17819, 1, 0.075, false, true), + SAPPHIRE_LV4(38930, 17820, 1, 0.125, false, true), + SAPPHIRE_LV5(38931, 17821, 1, 0.2, false, true), + + GREATER_SAPPHIRE_LV1(47689, 18718, 1, 0.2, false, true), + GREATER_SAPPHIRE_LV2(48775, 18718, 1, 0.2, false, true), + GREATER_SAPPHIRE_LV3(48776, 18718, 1, 0.2, false, true), + GREATER_SAPPHIRE_LV4(48777, 18718, 1, 0.2, false, true), + GREATER_SAPPHIRE_LV5(48778, 18718, 1, 0.2, false, true), + + SUPERIOR_SAPPHIRE_LV1(81515, 39660, 1, 0.23, false, true), + SUPERIOR_SAPPHIRE_LV2(81516, 39660, 1, 0.23, false, true), + SUPERIOR_SAPPHIRE_LV3(81517, 39660, 1, 0.23, false, true), + SUPERIOR_SAPPHIRE_LV4(81518, 39660, 1, 0.23, false, true), + SUPERIOR_SAPPHIRE_LV5(81519, 39660, 1, 0.23, false, true), + SUPERIOR_SAPPHIRE_LV6(81520, 39660, 1, 0.23, false, true), + SUPERIOR_SAPPHIRE_LV7(81521, 39660, 1, 0.23, false, true), + SUPERIOR_SAPPHIRE_LV8(81522, 39660, 1, 0.23, false, true), + SUPERIOR_SAPPHIRE_LV9(81523, 39660, 1, 0.23, false, true), + SUPERIOR_SAPPHIRE_LV10(81524, 39660, 1, 0.23, false, true); private int _itemId; - private int _effectId; + private int _skillId; + private int _skillLevel; private double _bonus; - private boolean _isRuby; // If not, it is sapphire. + private boolean _isRuby; + private boolean _isSapphire; - private BroochJewel(int itemId, int effectId, double bonus, boolean isRuby) + private BroochJewel(int itemId, int skillId, int skillLevel, double bonus, boolean isRuby, boolean isSapphire) { _itemId = itemId; - _effectId = effectId; + _skillId = skillId; + _skillLevel = skillLevel; _bonus = bonus; _isRuby = isRuby; + _isSapphire = isSapphire; } public int getItemId() @@ -80,9 +89,14 @@ public enum BroochJewel return _itemId; } - public int getEffectId() + public int getSkillId() { - return _effectId; + return _skillId; + } + + public int getSkillLevel() + { + return _skillLevel; } public double getBonus() @@ -94,4 +108,9 @@ public enum BroochJewel { return _isRuby; } + + public boolean isSapphire() + { + return _isSapphire; + } } diff --git a/L2J_Mobius_10.0_MasterClass/java/org/l2jmobius/gameserver/model/actor/Player.java b/L2J_Mobius_10.0_MasterClass/java/org/l2jmobius/gameserver/model/actor/Player.java index ad25eabc17..ae9fde22f8 100644 --- a/L2J_Mobius_10.0_MasterClass/java/org/l2jmobius/gameserver/model/actor/Player.java +++ b/L2J_Mobius_10.0_MasterClass/java/org/l2jmobius/gameserver/model/actor/Player.java @@ -9095,7 +9095,7 @@ public class Player extends Playable for (int i = broochJewels.length - 1; i > 0; i--) { final BroochJewel jewel = broochJewels[i]; - if (!jewel.isRuby() && _inventory.isItemEquipped(jewel.getItemId())) + if (jewel.isSapphire() && _inventory.isItemEquipped(jewel.getItemId())) { setActiveShappireJewel(jewel); break; diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/handlers/itemhandlers/BeastSoulShot.java b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/handlers/itemhandlers/BeastSoulShot.java index 30e5fd51af..abd1015ac8 100644 --- a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/handlers/itemhandlers/BeastSoulShot.java +++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/handlers/itemhandlers/BeastSoulShot.java @@ -126,7 +126,7 @@ public class BeastSoulShot implements IItemHandler // Visual effect change if player has equipped Ruby level 3 or higher if (activeOwner.getActiveRubyJewel() != null) { - Broadcast.toSelfAndKnownPlayersInRadius(activeOwner, new MagicSkillUse(pet, pet, activeOwner.getActiveRubyJewel().getEffectId(), 1, 0, 0), 600); + Broadcast.toSelfAndKnownPlayersInRadius(activeOwner, new MagicSkillUse(pet, pet, activeOwner.getActiveRubyJewel().getSkillId(), activeOwner.getActiveRubyJewel().getSkillLevel(), 0, 0), 600); } else { @@ -143,7 +143,7 @@ public class BeastSoulShot implements IItemHandler // Visual effect change if player has equipped Ruby level 3 or higher if (activeOwner.getActiveRubyJewel() != null) { - Broadcast.toSelfAndKnownPlayersInRadius(activeOwner, new MagicSkillUse(s, s, activeOwner.getActiveRubyJewel().getEffectId(), 1, 0, 0), 600); + Broadcast.toSelfAndKnownPlayersInRadius(activeOwner, new MagicSkillUse(s, s, activeOwner.getActiveRubyJewel().getSkillId(), activeOwner.getActiveRubyJewel().getSkillLevel(), 0, 0), 600); } else { diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/handlers/itemhandlers/BeastSpiritShot.java b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/handlers/itemhandlers/BeastSpiritShot.java index 44599b2555..19ba21525f 100644 --- a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/handlers/itemhandlers/BeastSpiritShot.java +++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/handlers/itemhandlers/BeastSpiritShot.java @@ -127,7 +127,7 @@ public class BeastSpiritShot implements IItemHandler // Visual effect change if player has equipped Sapphire level 3 or higher if (activeOwner.getActiveShappireJewel() != null) { - Broadcast.toSelfAndKnownPlayersInRadius(activeOwner, new MagicSkillUse(pet, pet, activeOwner.getActiveShappireJewel().getEffectId(), 2, 0, 0), 600); + Broadcast.toSelfAndKnownPlayersInRadius(activeOwner, new MagicSkillUse(pet, pet, activeOwner.getActiveShappireJewel().getSkillId(), activeOwner.getActiveShappireJewel().getSkillLevel(), 0, 0), 600); } else { @@ -144,7 +144,7 @@ public class BeastSpiritShot implements IItemHandler // Visual effect change if player has equipped Sapphire level 3 or higher if (activeOwner.getActiveShappireJewel() != null) { - Broadcast.toSelfAndKnownPlayersInRadius(activeOwner, new MagicSkillUse(s, s, activeOwner.getActiveShappireJewel().getEffectId(), 2, 0, 0), 600); + Broadcast.toSelfAndKnownPlayersInRadius(activeOwner, new MagicSkillUse(s, s, activeOwner.getActiveShappireJewel().getSkillId(), activeOwner.getActiveShappireJewel().getSkillLevel(), 0, 0), 600); } else { diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/handlers/itemhandlers/BlessedSoulShots.java b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/handlers/itemhandlers/BlessedSoulShots.java index 85d614b478..6dcbb48f32 100644 --- a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/handlers/itemhandlers/BlessedSoulShots.java +++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/handlers/itemhandlers/BlessedSoulShots.java @@ -112,7 +112,7 @@ public class BlessedSoulShots implements IItemHandler // Visual effect change if player has equipped Ruby level 3 or higher if (player.getActiveRubyJewel() != null) { - Broadcast.toSelfAndKnownPlayersInRadius(player, new MagicSkillUse(player, player, player.getActiveRubyJewel().getEffectId(), 1, 0, 0), 600); + Broadcast.toSelfAndKnownPlayersInRadius(player, new MagicSkillUse(player, player, player.getActiveRubyJewel().getSkillId(), player.getActiveRubyJewel().getSkillLevel(), 0, 0), 600); } else { diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/handlers/itemhandlers/BlessedSpiritShot.java b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/handlers/itemhandlers/BlessedSpiritShot.java index c2610ec4e3..0107d8e303 100644 --- a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/handlers/itemhandlers/BlessedSpiritShot.java +++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/handlers/itemhandlers/BlessedSpiritShot.java @@ -104,7 +104,7 @@ public class BlessedSpiritShot implements IItemHandler // Visual effect change if player has equipped Sapphire level 3 or higher if (player.getActiveShappireJewel() != null) { - Broadcast.toSelfAndKnownPlayersInRadius(player, new MagicSkillUse(player, player, player.getActiveShappireJewel().getEffectId(), 1, 0, 0), 600); + Broadcast.toSelfAndKnownPlayersInRadius(player, new MagicSkillUse(player, player, player.getActiveShappireJewel().getSkillId(), player.getActiveShappireJewel().getSkillLevel(), 0, 0), 600); } else { diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/handlers/itemhandlers/SoulShots.java b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/handlers/itemhandlers/SoulShots.java index a61cc1bd71..e965687e9b 100644 --- a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/handlers/itemhandlers/SoulShots.java +++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/handlers/itemhandlers/SoulShots.java @@ -109,7 +109,7 @@ public class SoulShots implements IItemHandler // Visual effect change if player has equipped Ruby level 3 or higher if (player.getActiveRubyJewel() != null) { - Broadcast.toSelfAndKnownPlayersInRadius(player, new MagicSkillUse(player, player, player.getActiveRubyJewel().getEffectId(), 1, 0, 0), 600); + Broadcast.toSelfAndKnownPlayersInRadius(player, new MagicSkillUse(player, player, player.getActiveRubyJewel().getSkillId(), player.getActiveRubyJewel().getSkillLevel(), 0, 0), 600); } else { diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/handlers/itemhandlers/SpiritShot.java b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/handlers/itemhandlers/SpiritShot.java index 12f575b243..d1de206b63 100644 --- a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/handlers/itemhandlers/SpiritShot.java +++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/handlers/itemhandlers/SpiritShot.java @@ -104,7 +104,7 @@ public class SpiritShot implements IItemHandler // Visual effect change if player has equipped Sapphire level 3 or higher if (player.getActiveShappireJewel() != null) { - Broadcast.toSelfAndKnownPlayersInRadius(player, new MagicSkillUse(player, player, player.getActiveShappireJewel().getEffectId(), 1, 0, 0), 600); + Broadcast.toSelfAndKnownPlayersInRadius(player, new MagicSkillUse(player, player, player.getActiveShappireJewel().getSkillId(), player.getActiveShappireJewel().getSkillLevel(), 0, 0), 600); } else { diff --git a/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/enums/BroochJewel.java b/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/enums/BroochJewel.java index 5594c24caa..4f3569e186 100644 --- a/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/enums/BroochJewel.java +++ b/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/enums/BroochJewel.java @@ -21,41 +21,43 @@ package org.l2jmobius.gameserver.enums; */ public enum BroochJewel { - // Working effect - RUBY_LV1(70451, 17817, 0.02, true), - RUBY_LV2(70452, 17817, 0.03, true), - RUBY_LV3(70453, 17817, 0.05, true), - RUBY_LV4(70454, 17817, 0.08, true), - RUBY_LV5(70455, 17817, 0.16, true), - GREATER_RUBY_LV1(71368, 17817, 0.17, true), // + 1% p atk - GREATER_RUBY_LV2(71369, 17817, 0.18, true), // + 2% p atk - GREATER_RUBY_LV3(71370, 17817, 0.19, true), // + 3% p atk - GREATER_RUBY_LV4(71371, 17817, 0.20, true), // + 5% p atk - GREATER_RUBY_LV5(71372, 17817, 0.20, true), // + 7% p atk + crit. p. rate +10% + RUBY_LV1(70451, 17817, 1, 0.02, true, false), + RUBY_LV2(70452, 17817, 1, 0.03, true, false), + RUBY_LV3(70453, 17817, 1, 0.05, true, false), + RUBY_LV4(70454, 17817, 1, 0.08, true, false), + RUBY_LV5(70455, 17817, 1, 0.16, true, false), + GREATER_RUBY_LV1(71368, 17817, 1, 0.17, true, false), // + 1% p atk + GREATER_RUBY_LV2(71369, 17817, 1, 0.18, true, false), // + 2% p atk + GREATER_RUBY_LV3(71370, 17817, 1, 0.19, true, false), // + 3% p atk + GREATER_RUBY_LV4(71371, 17817, 1, 0.20, true, false), // + 5% p atk + GREATER_RUBY_LV5(71372, 17817, 1, 0.20, true, false), // + 7% p atk + crit. p. rate +10% - // Working effect - SHAPPHIRE_LV1(70456, 17821, 0.02, false), - SHAPPHIRE_LV2(70457, 17821, 0.03, false), - SHAPPHIRE_LV3(70458, 17821, 0.05, false), - SHAPPHIRE_LV4(70459, 17821, 0.08, false), - SHAPPHIRE_LV5(70460, 17821, 0.16, false), - GREATER_SHAPPHIRE_LV1(71373, 17821, 00.17, false), // + 2 % m attack - GREATER_SHAPPHIRE_LV2(71374, 17821, 00.18, false), // + 4 % m attack - GREATER_SHAPPHIRE_LV3(71375, 17821, 00.19, false), // + 6 % m attack - GREATER_SHAPPHIRE_LV4(71376, 17821, 00.20, false), // + 10 % m attack - GREATER_SHAPPHIRE_LV5(71377, 17821, 00.20, false); // + 14 % m attack + crit. m. rate +10% + SAPPHIRE_LV1(70456, 17821, 1, 0.02, false, true), + SAPPHIRE_LV2(70457, 17821, 1, 0.03, false, true), + SAPPHIRE_LV3(70458, 17821, 1, 0.05, false, true), + SAPPHIRE_LV4(70459, 17821, 1, 0.08, false, true), + SAPPHIRE_LV5(70460, 17821, 1, 0.16, false, true), + GREATER_SAPPHIRE_LV1(71373, 17821, 1, 00.17, false, true), // + 2 % m attack + GREATER_SAPPHIRE_LV2(71374, 17821, 1, 00.18, false, true), // + 4 % m attack + GREATER_SAPPHIRE_LV3(71375, 17821, 1, 00.19, false, true), // + 6 % m attack + GREATER_SAPPHIRE_LV4(71376, 17821, 1, 00.20, false, true), // + 10 % m attack + GREATER_SAPPHIRE_LV5(71377, 17821, 1, 00.20, false, true); // + 14 % m attack + crit. m. rate +10% private int _itemId; - private int _effectId; + private int _skillId; + private int _skillLevel; private double _bonus; - private boolean _isRuby; // If not, it is sapphire. + private boolean _isRuby; + private boolean _isSapphire; - private BroochJewel(int itemId, int effectId, double bonus, boolean isRuby) + private BroochJewel(int itemId, int skillId, int skillLevel, double bonus, boolean isRuby, boolean isSapphire) { _itemId = itemId; - _effectId = effectId; + _skillId = skillId; + _skillLevel = skillLevel; _bonus = bonus; _isRuby = isRuby; + _isSapphire = isSapphire; } public int getItemId() @@ -63,9 +65,14 @@ public enum BroochJewel return _itemId; } - public int getEffectId() + public int getSkillId() { - return _effectId; + return _skillId; + } + + public int getSkillLevel() + { + return _skillLevel; } public double getBonus() @@ -77,4 +84,9 @@ public enum BroochJewel { return _isRuby; } + + public boolean isSapphire() + { + return _isSapphire; + } } diff --git a/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/model/actor/Player.java b/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/model/actor/Player.java index 4d7de90bd0..e88a0f3b98 100644 --- a/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/model/actor/Player.java +++ b/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/model/actor/Player.java @@ -8783,7 +8783,7 @@ public class Player extends Playable for (int i = broochJewels.length - 1; i > 0; i--) { final BroochJewel jewel = broochJewels[i]; - if (!jewel.isRuby() && _inventory.isItemEquipped(jewel.getItemId())) + if (jewel.isSapphire() && _inventory.isItemEquipped(jewel.getItemId())) { setActiveShappireJewel(jewel); break; diff --git a/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/handlers/itemhandlers/BeastSoulShot.java b/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/handlers/itemhandlers/BeastSoulShot.java index 30e5fd51af..abd1015ac8 100644 --- a/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/handlers/itemhandlers/BeastSoulShot.java +++ b/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/handlers/itemhandlers/BeastSoulShot.java @@ -126,7 +126,7 @@ public class BeastSoulShot implements IItemHandler // Visual effect change if player has equipped Ruby level 3 or higher if (activeOwner.getActiveRubyJewel() != null) { - Broadcast.toSelfAndKnownPlayersInRadius(activeOwner, new MagicSkillUse(pet, pet, activeOwner.getActiveRubyJewel().getEffectId(), 1, 0, 0), 600); + Broadcast.toSelfAndKnownPlayersInRadius(activeOwner, new MagicSkillUse(pet, pet, activeOwner.getActiveRubyJewel().getSkillId(), activeOwner.getActiveRubyJewel().getSkillLevel(), 0, 0), 600); } else { @@ -143,7 +143,7 @@ public class BeastSoulShot implements IItemHandler // Visual effect change if player has equipped Ruby level 3 or higher if (activeOwner.getActiveRubyJewel() != null) { - Broadcast.toSelfAndKnownPlayersInRadius(activeOwner, new MagicSkillUse(s, s, activeOwner.getActiveRubyJewel().getEffectId(), 1, 0, 0), 600); + Broadcast.toSelfAndKnownPlayersInRadius(activeOwner, new MagicSkillUse(s, s, activeOwner.getActiveRubyJewel().getSkillId(), activeOwner.getActiveRubyJewel().getSkillLevel(), 0, 0), 600); } else { diff --git a/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/handlers/itemhandlers/BeastSpiritShot.java b/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/handlers/itemhandlers/BeastSpiritShot.java index 44599b2555..19ba21525f 100644 --- a/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/handlers/itemhandlers/BeastSpiritShot.java +++ b/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/handlers/itemhandlers/BeastSpiritShot.java @@ -127,7 +127,7 @@ public class BeastSpiritShot implements IItemHandler // Visual effect change if player has equipped Sapphire level 3 or higher if (activeOwner.getActiveShappireJewel() != null) { - Broadcast.toSelfAndKnownPlayersInRadius(activeOwner, new MagicSkillUse(pet, pet, activeOwner.getActiveShappireJewel().getEffectId(), 2, 0, 0), 600); + Broadcast.toSelfAndKnownPlayersInRadius(activeOwner, new MagicSkillUse(pet, pet, activeOwner.getActiveShappireJewel().getSkillId(), activeOwner.getActiveShappireJewel().getSkillLevel(), 0, 0), 600); } else { @@ -144,7 +144,7 @@ public class BeastSpiritShot implements IItemHandler // Visual effect change if player has equipped Sapphire level 3 or higher if (activeOwner.getActiveShappireJewel() != null) { - Broadcast.toSelfAndKnownPlayersInRadius(activeOwner, new MagicSkillUse(s, s, activeOwner.getActiveShappireJewel().getEffectId(), 2, 0, 0), 600); + Broadcast.toSelfAndKnownPlayersInRadius(activeOwner, new MagicSkillUse(s, s, activeOwner.getActiveShappireJewel().getSkillId(), activeOwner.getActiveShappireJewel().getSkillLevel(), 0, 0), 600); } else { diff --git a/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/handlers/itemhandlers/BlessedSoulShots.java b/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/handlers/itemhandlers/BlessedSoulShots.java index 85d614b478..6dcbb48f32 100644 --- a/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/handlers/itemhandlers/BlessedSoulShots.java +++ b/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/handlers/itemhandlers/BlessedSoulShots.java @@ -112,7 +112,7 @@ public class BlessedSoulShots implements IItemHandler // Visual effect change if player has equipped Ruby level 3 or higher if (player.getActiveRubyJewel() != null) { - Broadcast.toSelfAndKnownPlayersInRadius(player, new MagicSkillUse(player, player, player.getActiveRubyJewel().getEffectId(), 1, 0, 0), 600); + Broadcast.toSelfAndKnownPlayersInRadius(player, new MagicSkillUse(player, player, player.getActiveRubyJewel().getSkillId(), player.getActiveRubyJewel().getSkillLevel(), 0, 0), 600); } else { diff --git a/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/handlers/itemhandlers/BlessedSpiritShot.java b/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/handlers/itemhandlers/BlessedSpiritShot.java index c2610ec4e3..0107d8e303 100644 --- a/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/handlers/itemhandlers/BlessedSpiritShot.java +++ b/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/handlers/itemhandlers/BlessedSpiritShot.java @@ -104,7 +104,7 @@ public class BlessedSpiritShot implements IItemHandler // Visual effect change if player has equipped Sapphire level 3 or higher if (player.getActiveShappireJewel() != null) { - Broadcast.toSelfAndKnownPlayersInRadius(player, new MagicSkillUse(player, player, player.getActiveShappireJewel().getEffectId(), 1, 0, 0), 600); + Broadcast.toSelfAndKnownPlayersInRadius(player, new MagicSkillUse(player, player, player.getActiveShappireJewel().getSkillId(), player.getActiveShappireJewel().getSkillLevel(), 0, 0), 600); } else { diff --git a/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/handlers/itemhandlers/SoulShots.java b/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/handlers/itemhandlers/SoulShots.java index a61cc1bd71..e965687e9b 100644 --- a/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/handlers/itemhandlers/SoulShots.java +++ b/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/handlers/itemhandlers/SoulShots.java @@ -109,7 +109,7 @@ public class SoulShots implements IItemHandler // Visual effect change if player has equipped Ruby level 3 or higher if (player.getActiveRubyJewel() != null) { - Broadcast.toSelfAndKnownPlayersInRadius(player, new MagicSkillUse(player, player, player.getActiveRubyJewel().getEffectId(), 1, 0, 0), 600); + Broadcast.toSelfAndKnownPlayersInRadius(player, new MagicSkillUse(player, player, player.getActiveRubyJewel().getSkillId(), player.getActiveRubyJewel().getSkillLevel(), 0, 0), 600); } else { diff --git a/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/handlers/itemhandlers/SpiritShot.java b/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/handlers/itemhandlers/SpiritShot.java index 12f575b243..d1de206b63 100644 --- a/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/handlers/itemhandlers/SpiritShot.java +++ b/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/handlers/itemhandlers/SpiritShot.java @@ -104,7 +104,7 @@ public class SpiritShot implements IItemHandler // Visual effect change if player has equipped Sapphire level 3 or higher if (player.getActiveShappireJewel() != null) { - Broadcast.toSelfAndKnownPlayersInRadius(player, new MagicSkillUse(player, player, player.getActiveShappireJewel().getEffectId(), 1, 0, 0), 600); + Broadcast.toSelfAndKnownPlayersInRadius(player, new MagicSkillUse(player, player, player.getActiveShappireJewel().getSkillId(), player.getActiveShappireJewel().getSkillLevel(), 0, 0), 600); } else { diff --git a/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/enums/BroochJewel.java b/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/enums/BroochJewel.java index c399dc2b5b..37262daf69 100644 --- a/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/enums/BroochJewel.java +++ b/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/enums/BroochJewel.java @@ -22,64 +22,68 @@ package org.l2jmobius.gameserver.enums; public enum BroochJewel { // Working effect - RUBY_LV1(70451, 17817, 0.02, true), - RUBY_LV2(70452, 17817, 0.03, true), - RUBY_LV3(70453, 17817, 0.05, true), - RUBY_LV4(70454, 17817, 0.08, true), - RUBY_LV5(70455, 17817, 0.16, true), - GREATER_RUBY_LV1(71368, 17817, 0.17, true), // + 1% p atk - GREATER_RUBY_LV2(71369, 17817, 0.18, true), // + 2% p atk - GREATER_RUBY_LV3(71370, 17817, 0.19, true), // + 3% p atk - GREATER_RUBY_LV4(71371, 17817, 0.20, true), // + 5% p atk - GREATER_RUBY_LV5(71372, 17817, 0.20, true), // + 7% p atk + crit. p. rate +10% + RUBY_LV1(70451, 17817, 1, 0.02, true, false), + RUBY_LV2(70452, 17817, 1, 0.03, true, false), + RUBY_LV3(70453, 17817, 1, 0.05, true, false), + RUBY_LV4(70454, 17817, 1, 0.08, true, false), + RUBY_LV5(70455, 17817, 1, 0.16, true, false), + GREATER_RUBY_LV1(71368, 17817, 1, 0.17, true, false), // + 1% p atk + GREATER_RUBY_LV2(71369, 17817, 1, 0.18, true, false), // + 2% p atk + GREATER_RUBY_LV3(71370, 17817, 1, 0.19, true, false), // + 3% p atk + GREATER_RUBY_LV4(71371, 17817, 1, 0.20, true, false), // + 5% p atk + GREATER_RUBY_LV5(71372, 17817, 1, 0.20, true, false), // + 7% p atk + crit. p. rate +10% // Not show recharge effect - not used in classics maybe - RUBY_LV1_2(90328, 59150, 0.02, true), - RUBY_LV2_2(90329, 59150, 0.03, true), - RUBY_LV3_2(90330, 59150, 0.05, true), - RUBY_LV4_2(90331, 59150, 0.08, true), - RUBY_LV5_2(90332, 59150, 0.16, true), - GREATER_RUBY_LV1_2(91320, 59150, 0.17, true), // + 1% p atk - GREATER_RUBY_LV2_2(91321, 59150, 0.18, true), // + 2% p atk - GREATER_RUBY_LV3_2(91322, 59150, 0.19, true), // + 3% p atk - GREATER_RUBY_LV4_2(91323, 59150, 0.20, true), // + 5% p atk - GREATER_RUBY_LV5_2(91324, 59150, 0.20, true), // + 7% p atk + crit. p. rate +10% + RUBY_LV1_2(90328, 59150, 1, 0.02, true, false), + RUBY_LV2_2(90329, 59150, 1, 0.03, true, false), + RUBY_LV3_2(90330, 59150, 1, 0.05, true, false), + RUBY_LV4_2(90331, 59150, 1, 0.08, true, false), + RUBY_LV5_2(90332, 59150, 1, 0.16, true, false), + GREATER_RUBY_LV1_2(91320, 59150, 1, 0.17, true, false), // + 1% p atk + GREATER_RUBY_LV2_2(91321, 59150, 1, 0.18, true, false), // + 2% p atk + GREATER_RUBY_LV3_2(91322, 59150, 1, 0.19, true, false), // + 3% p atk + GREATER_RUBY_LV4_2(91323, 59150, 1, 0.20, true, false), // + 5% p atk + GREATER_RUBY_LV5_2(91324, 59150, 1, 0.20, true, false), // + 7% p atk + crit. p. rate +10% // Working effect - SHAPPHIRE_LV1(70456, 17821, 0.02, false), - SHAPPHIRE_LV2(70457, 17821, 0.03, false), - SHAPPHIRE_LV3(70458, 17821, 0.05, false), - SHAPPHIRE_LV4(70459, 17821, 0.08, false), - SHAPPHIRE_LV5(70460, 17821, 0.16, false), - GREATER_SHAPPHIRE_LV1(71373, 17821, 00.17, false), // + 2 % m attack - GREATER_SHAPPHIRE_LV2(71374, 17821, 00.18, false), // + 4 % m attack - GREATER_SHAPPHIRE_LV3(71375, 17821, 00.19, false), // + 6 % m attack - GREATER_SHAPPHIRE_LV4(71376, 17821, 00.20, false), // + 10 % m attack - GREATER_SHAPPHIRE_LV5(71377, 17821, 00.20, false), // + 14 % m attack + crit. m. rate +10% + SAPPHIRE_LV1(70456, 17821, 1, 0.02, false, true), + SAPPHIRE_LV2(70457, 17821, 1, 0.03, false, true), + SAPPHIRE_LV3(70458, 17821, 1, 0.05, false, true), + SAPPHIRE_LV4(70459, 17821, 1, 0.08, false, true), + SAPPHIRE_LV5(70460, 17821, 1, 0.16, false, true), + GREATER_SAPPHIRE_LV1(71373, 17821, 1, 00.17, false, true), // + 2 % m attack + GREATER_SAPPHIRE_LV2(71374, 17821, 1, 00.18, false, true), // + 4 % m attack + GREATER_SAPPHIRE_LV3(71375, 17821, 1, 00.19, false, true), // + 6 % m attack + GREATER_SAPPHIRE_LV4(71376, 17821, 1, 00.20, false, true), // + 10 % m attack + GREATER_SAPPHIRE_LV5(71377, 17821, 1, 00.20, false, true), // + 14 % m attack + crit. m. rate +10% // Not show recharge effect - not used in classics maybe - SHAPPHIRE_LV1_2(90333, 59151, 0.02, false), - SHAPPHIRE_LV2_2(90334, 59151, 0.03, false), - SHAPPHIRE_LV3_2(90335, 59151, 0.05, false), - SHAPPHIRE_LV4_2(90336, 59151, 0.08, false), - SHAPPHIRE_LV5_2(90337, 59151, 0.16, false), - GREATER_SHAPPHIRE_LV1_2(91325, 59151, 0.17, false), // + 2 % m attack - GREATER_SHAPPHIRE_LV2_2(91326, 59151, 0.18, false), // + 4 % m attack - GREATER_SHAPPHIRE_LV3_2(91327, 59151, 0.19, false), // + 6 % m attack - GREATER_SHAPPHIRE_LV4_2(91328, 59151, 0.20, false), // + 10 % m attack - GREATER_SHAPPHIRE_LV5_2(91329, 59151, 0.20, false);// + 14 % m attack + crit. m. ata +10% + SAPPHIRE_LV1_2(90333, 59151, 1, 0.02, false, true), + SAPPHIRE_LV2_2(90334, 59151, 1, 0.03, false, true), + SAPPHIRE_LV3_2(90335, 59151, 1, 0.05, false, true), + SAPPHIRE_LV4_2(90336, 59151, 1, 0.08, false, true), + SAPPHIRE_LV5_2(90337, 59151, 1, 0.16, false, true), + GREATER_SAPPHIRE_LV1_2(91325, 59151, 1, 0.17, false, true), // + 2 % m attack + GREATER_SAPPHIRE_LV2_2(91326, 59151, 1, 0.18, false, true), // + 4 % m attack + GREATER_SAPPHIRE_LV3_2(91327, 59151, 1, 0.19, false, true), // + 6 % m attack + GREATER_SAPPHIRE_LV4_2(91328, 59151, 1, 0.20, false, true), // + 10 % m attack + GREATER_SAPPHIRE_LV5_2(91329, 59151, 1, 0.20, false, true); // + 14 % m attack + crit. m. ata +10% private int _itemId; - private int _effectId; + private int _skillId; + private int _skillLevel; private double _bonus; - private boolean _isRuby; // If not, it is sapphire. + private boolean _isRuby; + private boolean _isSapphire; - private BroochJewel(int itemId, int effectId, double bonus, boolean isRuby) + private BroochJewel(int itemId, int skillId, int skillLevel, double bonus, boolean isRuby, boolean isSapphire) { _itemId = itemId; - _effectId = effectId; + _skillId = skillId; + _skillLevel = skillLevel; _bonus = bonus; _isRuby = isRuby; + _isSapphire = isSapphire; } public int getItemId() @@ -87,9 +91,14 @@ public enum BroochJewel return _itemId; } - public int getEffectId() + public int getSkillId() { - return _effectId; + return _skillId; + } + + public int getSkillLevel() + { + return _skillLevel; } public double getBonus() @@ -101,4 +110,9 @@ public enum BroochJewel { return _isRuby; } + + public boolean isSapphire() + { + return _isSapphire; + } } diff --git a/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/model/actor/Player.java b/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/model/actor/Player.java index 9b2ea7bf5d..40fe816be3 100644 --- a/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/model/actor/Player.java +++ b/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/model/actor/Player.java @@ -8783,7 +8783,7 @@ public class Player extends Playable for (int i = broochJewels.length - 1; i > 0; i--) { final BroochJewel jewel = broochJewels[i]; - if (!jewel.isRuby() && _inventory.isItemEquipped(jewel.getItemId())) + if (jewel.isSapphire() && _inventory.isItemEquipped(jewel.getItemId())) { setActiveShappireJewel(jewel); break; diff --git a/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/handlers/itemhandlers/BeastSoulShot.java b/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/handlers/itemhandlers/BeastSoulShot.java index 30e5fd51af..abd1015ac8 100644 --- a/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/handlers/itemhandlers/BeastSoulShot.java +++ b/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/handlers/itemhandlers/BeastSoulShot.java @@ -126,7 +126,7 @@ public class BeastSoulShot implements IItemHandler // Visual effect change if player has equipped Ruby level 3 or higher if (activeOwner.getActiveRubyJewel() != null) { - Broadcast.toSelfAndKnownPlayersInRadius(activeOwner, new MagicSkillUse(pet, pet, activeOwner.getActiveRubyJewel().getEffectId(), 1, 0, 0), 600); + Broadcast.toSelfAndKnownPlayersInRadius(activeOwner, new MagicSkillUse(pet, pet, activeOwner.getActiveRubyJewel().getSkillId(), activeOwner.getActiveRubyJewel().getSkillLevel(), 0, 0), 600); } else { @@ -143,7 +143,7 @@ public class BeastSoulShot implements IItemHandler // Visual effect change if player has equipped Ruby level 3 or higher if (activeOwner.getActiveRubyJewel() != null) { - Broadcast.toSelfAndKnownPlayersInRadius(activeOwner, new MagicSkillUse(s, s, activeOwner.getActiveRubyJewel().getEffectId(), 1, 0, 0), 600); + Broadcast.toSelfAndKnownPlayersInRadius(activeOwner, new MagicSkillUse(s, s, activeOwner.getActiveRubyJewel().getSkillId(), activeOwner.getActiveRubyJewel().getSkillLevel(), 0, 0), 600); } else { diff --git a/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/handlers/itemhandlers/BeastSpiritShot.java b/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/handlers/itemhandlers/BeastSpiritShot.java index 44599b2555..19ba21525f 100644 --- a/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/handlers/itemhandlers/BeastSpiritShot.java +++ b/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/handlers/itemhandlers/BeastSpiritShot.java @@ -127,7 +127,7 @@ public class BeastSpiritShot implements IItemHandler // Visual effect change if player has equipped Sapphire level 3 or higher if (activeOwner.getActiveShappireJewel() != null) { - Broadcast.toSelfAndKnownPlayersInRadius(activeOwner, new MagicSkillUse(pet, pet, activeOwner.getActiveShappireJewel().getEffectId(), 2, 0, 0), 600); + Broadcast.toSelfAndKnownPlayersInRadius(activeOwner, new MagicSkillUse(pet, pet, activeOwner.getActiveShappireJewel().getSkillId(), activeOwner.getActiveShappireJewel().getSkillLevel(), 0, 0), 600); } else { @@ -144,7 +144,7 @@ public class BeastSpiritShot implements IItemHandler // Visual effect change if player has equipped Sapphire level 3 or higher if (activeOwner.getActiveShappireJewel() != null) { - Broadcast.toSelfAndKnownPlayersInRadius(activeOwner, new MagicSkillUse(s, s, activeOwner.getActiveShappireJewel().getEffectId(), 2, 0, 0), 600); + Broadcast.toSelfAndKnownPlayersInRadius(activeOwner, new MagicSkillUse(s, s, activeOwner.getActiveShappireJewel().getSkillId(), activeOwner.getActiveShappireJewel().getSkillLevel(), 0, 0), 600); } else { diff --git a/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/handlers/itemhandlers/BlessedSoulShots.java b/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/handlers/itemhandlers/BlessedSoulShots.java index 85d614b478..6dcbb48f32 100644 --- a/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/handlers/itemhandlers/BlessedSoulShots.java +++ b/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/handlers/itemhandlers/BlessedSoulShots.java @@ -112,7 +112,7 @@ public class BlessedSoulShots implements IItemHandler // Visual effect change if player has equipped Ruby level 3 or higher if (player.getActiveRubyJewel() != null) { - Broadcast.toSelfAndKnownPlayersInRadius(player, new MagicSkillUse(player, player, player.getActiveRubyJewel().getEffectId(), 1, 0, 0), 600); + Broadcast.toSelfAndKnownPlayersInRadius(player, new MagicSkillUse(player, player, player.getActiveRubyJewel().getSkillId(), player.getActiveRubyJewel().getSkillLevel(), 0, 0), 600); } else { diff --git a/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/handlers/itemhandlers/BlessedSpiritShot.java b/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/handlers/itemhandlers/BlessedSpiritShot.java index c2610ec4e3..0107d8e303 100644 --- a/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/handlers/itemhandlers/BlessedSpiritShot.java +++ b/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/handlers/itemhandlers/BlessedSpiritShot.java @@ -104,7 +104,7 @@ public class BlessedSpiritShot implements IItemHandler // Visual effect change if player has equipped Sapphire level 3 or higher if (player.getActiveShappireJewel() != null) { - Broadcast.toSelfAndKnownPlayersInRadius(player, new MagicSkillUse(player, player, player.getActiveShappireJewel().getEffectId(), 1, 0, 0), 600); + Broadcast.toSelfAndKnownPlayersInRadius(player, new MagicSkillUse(player, player, player.getActiveShappireJewel().getSkillId(), player.getActiveShappireJewel().getSkillLevel(), 0, 0), 600); } else { diff --git a/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/handlers/itemhandlers/SoulShots.java b/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/handlers/itemhandlers/SoulShots.java index a61cc1bd71..e965687e9b 100644 --- a/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/handlers/itemhandlers/SoulShots.java +++ b/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/handlers/itemhandlers/SoulShots.java @@ -109,7 +109,7 @@ public class SoulShots implements IItemHandler // Visual effect change if player has equipped Ruby level 3 or higher if (player.getActiveRubyJewel() != null) { - Broadcast.toSelfAndKnownPlayersInRadius(player, new MagicSkillUse(player, player, player.getActiveRubyJewel().getEffectId(), 1, 0, 0), 600); + Broadcast.toSelfAndKnownPlayersInRadius(player, new MagicSkillUse(player, player, player.getActiveRubyJewel().getSkillId(), player.getActiveRubyJewel().getSkillLevel(), 0, 0), 600); } else { diff --git a/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/handlers/itemhandlers/SpiritShot.java b/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/handlers/itemhandlers/SpiritShot.java index 12f575b243..d1de206b63 100644 --- a/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/handlers/itemhandlers/SpiritShot.java +++ b/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/handlers/itemhandlers/SpiritShot.java @@ -104,7 +104,7 @@ public class SpiritShot implements IItemHandler // Visual effect change if player has equipped Sapphire level 3 or higher if (player.getActiveShappireJewel() != null) { - Broadcast.toSelfAndKnownPlayersInRadius(player, new MagicSkillUse(player, player, player.getActiveShappireJewel().getEffectId(), 1, 0, 0), 600); + Broadcast.toSelfAndKnownPlayersInRadius(player, new MagicSkillUse(player, player, player.getActiveShappireJewel().getSkillId(), player.getActiveShappireJewel().getSkillLevel(), 0, 0), 600); } else { diff --git a/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/enums/BroochJewel.java b/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/enums/BroochJewel.java index c399dc2b5b..37262daf69 100644 --- a/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/enums/BroochJewel.java +++ b/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/enums/BroochJewel.java @@ -22,64 +22,68 @@ package org.l2jmobius.gameserver.enums; public enum BroochJewel { // Working effect - RUBY_LV1(70451, 17817, 0.02, true), - RUBY_LV2(70452, 17817, 0.03, true), - RUBY_LV3(70453, 17817, 0.05, true), - RUBY_LV4(70454, 17817, 0.08, true), - RUBY_LV5(70455, 17817, 0.16, true), - GREATER_RUBY_LV1(71368, 17817, 0.17, true), // + 1% p atk - GREATER_RUBY_LV2(71369, 17817, 0.18, true), // + 2% p atk - GREATER_RUBY_LV3(71370, 17817, 0.19, true), // + 3% p atk - GREATER_RUBY_LV4(71371, 17817, 0.20, true), // + 5% p atk - GREATER_RUBY_LV5(71372, 17817, 0.20, true), // + 7% p atk + crit. p. rate +10% + RUBY_LV1(70451, 17817, 1, 0.02, true, false), + RUBY_LV2(70452, 17817, 1, 0.03, true, false), + RUBY_LV3(70453, 17817, 1, 0.05, true, false), + RUBY_LV4(70454, 17817, 1, 0.08, true, false), + RUBY_LV5(70455, 17817, 1, 0.16, true, false), + GREATER_RUBY_LV1(71368, 17817, 1, 0.17, true, false), // + 1% p atk + GREATER_RUBY_LV2(71369, 17817, 1, 0.18, true, false), // + 2% p atk + GREATER_RUBY_LV3(71370, 17817, 1, 0.19, true, false), // + 3% p atk + GREATER_RUBY_LV4(71371, 17817, 1, 0.20, true, false), // + 5% p atk + GREATER_RUBY_LV5(71372, 17817, 1, 0.20, true, false), // + 7% p atk + crit. p. rate +10% // Not show recharge effect - not used in classics maybe - RUBY_LV1_2(90328, 59150, 0.02, true), - RUBY_LV2_2(90329, 59150, 0.03, true), - RUBY_LV3_2(90330, 59150, 0.05, true), - RUBY_LV4_2(90331, 59150, 0.08, true), - RUBY_LV5_2(90332, 59150, 0.16, true), - GREATER_RUBY_LV1_2(91320, 59150, 0.17, true), // + 1% p atk - GREATER_RUBY_LV2_2(91321, 59150, 0.18, true), // + 2% p atk - GREATER_RUBY_LV3_2(91322, 59150, 0.19, true), // + 3% p atk - GREATER_RUBY_LV4_2(91323, 59150, 0.20, true), // + 5% p atk - GREATER_RUBY_LV5_2(91324, 59150, 0.20, true), // + 7% p atk + crit. p. rate +10% + RUBY_LV1_2(90328, 59150, 1, 0.02, true, false), + RUBY_LV2_2(90329, 59150, 1, 0.03, true, false), + RUBY_LV3_2(90330, 59150, 1, 0.05, true, false), + RUBY_LV4_2(90331, 59150, 1, 0.08, true, false), + RUBY_LV5_2(90332, 59150, 1, 0.16, true, false), + GREATER_RUBY_LV1_2(91320, 59150, 1, 0.17, true, false), // + 1% p atk + GREATER_RUBY_LV2_2(91321, 59150, 1, 0.18, true, false), // + 2% p atk + GREATER_RUBY_LV3_2(91322, 59150, 1, 0.19, true, false), // + 3% p atk + GREATER_RUBY_LV4_2(91323, 59150, 1, 0.20, true, false), // + 5% p atk + GREATER_RUBY_LV5_2(91324, 59150, 1, 0.20, true, false), // + 7% p atk + crit. p. rate +10% // Working effect - SHAPPHIRE_LV1(70456, 17821, 0.02, false), - SHAPPHIRE_LV2(70457, 17821, 0.03, false), - SHAPPHIRE_LV3(70458, 17821, 0.05, false), - SHAPPHIRE_LV4(70459, 17821, 0.08, false), - SHAPPHIRE_LV5(70460, 17821, 0.16, false), - GREATER_SHAPPHIRE_LV1(71373, 17821, 00.17, false), // + 2 % m attack - GREATER_SHAPPHIRE_LV2(71374, 17821, 00.18, false), // + 4 % m attack - GREATER_SHAPPHIRE_LV3(71375, 17821, 00.19, false), // + 6 % m attack - GREATER_SHAPPHIRE_LV4(71376, 17821, 00.20, false), // + 10 % m attack - GREATER_SHAPPHIRE_LV5(71377, 17821, 00.20, false), // + 14 % m attack + crit. m. rate +10% + SAPPHIRE_LV1(70456, 17821, 1, 0.02, false, true), + SAPPHIRE_LV2(70457, 17821, 1, 0.03, false, true), + SAPPHIRE_LV3(70458, 17821, 1, 0.05, false, true), + SAPPHIRE_LV4(70459, 17821, 1, 0.08, false, true), + SAPPHIRE_LV5(70460, 17821, 1, 0.16, false, true), + GREATER_SAPPHIRE_LV1(71373, 17821, 1, 00.17, false, true), // + 2 % m attack + GREATER_SAPPHIRE_LV2(71374, 17821, 1, 00.18, false, true), // + 4 % m attack + GREATER_SAPPHIRE_LV3(71375, 17821, 1, 00.19, false, true), // + 6 % m attack + GREATER_SAPPHIRE_LV4(71376, 17821, 1, 00.20, false, true), // + 10 % m attack + GREATER_SAPPHIRE_LV5(71377, 17821, 1, 00.20, false, true), // + 14 % m attack + crit. m. rate +10% // Not show recharge effect - not used in classics maybe - SHAPPHIRE_LV1_2(90333, 59151, 0.02, false), - SHAPPHIRE_LV2_2(90334, 59151, 0.03, false), - SHAPPHIRE_LV3_2(90335, 59151, 0.05, false), - SHAPPHIRE_LV4_2(90336, 59151, 0.08, false), - SHAPPHIRE_LV5_2(90337, 59151, 0.16, false), - GREATER_SHAPPHIRE_LV1_2(91325, 59151, 0.17, false), // + 2 % m attack - GREATER_SHAPPHIRE_LV2_2(91326, 59151, 0.18, false), // + 4 % m attack - GREATER_SHAPPHIRE_LV3_2(91327, 59151, 0.19, false), // + 6 % m attack - GREATER_SHAPPHIRE_LV4_2(91328, 59151, 0.20, false), // + 10 % m attack - GREATER_SHAPPHIRE_LV5_2(91329, 59151, 0.20, false);// + 14 % m attack + crit. m. ata +10% + SAPPHIRE_LV1_2(90333, 59151, 1, 0.02, false, true), + SAPPHIRE_LV2_2(90334, 59151, 1, 0.03, false, true), + SAPPHIRE_LV3_2(90335, 59151, 1, 0.05, false, true), + SAPPHIRE_LV4_2(90336, 59151, 1, 0.08, false, true), + SAPPHIRE_LV5_2(90337, 59151, 1, 0.16, false, true), + GREATER_SAPPHIRE_LV1_2(91325, 59151, 1, 0.17, false, true), // + 2 % m attack + GREATER_SAPPHIRE_LV2_2(91326, 59151, 1, 0.18, false, true), // + 4 % m attack + GREATER_SAPPHIRE_LV3_2(91327, 59151, 1, 0.19, false, true), // + 6 % m attack + GREATER_SAPPHIRE_LV4_2(91328, 59151, 1, 0.20, false, true), // + 10 % m attack + GREATER_SAPPHIRE_LV5_2(91329, 59151, 1, 0.20, false, true); // + 14 % m attack + crit. m. ata +10% private int _itemId; - private int _effectId; + private int _skillId; + private int _skillLevel; private double _bonus; - private boolean _isRuby; // If not, it is sapphire. + private boolean _isRuby; + private boolean _isSapphire; - private BroochJewel(int itemId, int effectId, double bonus, boolean isRuby) + private BroochJewel(int itemId, int skillId, int skillLevel, double bonus, boolean isRuby, boolean isSapphire) { _itemId = itemId; - _effectId = effectId; + _skillId = skillId; + _skillLevel = skillLevel; _bonus = bonus; _isRuby = isRuby; + _isSapphire = isSapphire; } public int getItemId() @@ -87,9 +91,14 @@ public enum BroochJewel return _itemId; } - public int getEffectId() + public int getSkillId() { - return _effectId; + return _skillId; + } + + public int getSkillLevel() + { + return _skillLevel; } public double getBonus() @@ -101,4 +110,9 @@ public enum BroochJewel { return _isRuby; } + + public boolean isSapphire() + { + return _isSapphire; + } } diff --git a/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/model/actor/Player.java b/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/model/actor/Player.java index 82a584cfd6..c88e7dd311 100644 --- a/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/model/actor/Player.java +++ b/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/model/actor/Player.java @@ -8769,7 +8769,7 @@ public class Player extends Playable for (int i = broochJewels.length - 1; i > 0; i--) { final BroochJewel jewel = broochJewels[i]; - if (!jewel.isRuby() && _inventory.isItemEquipped(jewel.getItemId())) + if (jewel.isSapphire() && _inventory.isItemEquipped(jewel.getItemId())) { setActiveShappireJewel(jewel); break; diff --git a/L2J_Mobius_Classic_2.3_SevenSigns/dist/game/data/scripts/handlers/itemhandlers/BeastSoulShot.java b/L2J_Mobius_Classic_2.3_SevenSigns/dist/game/data/scripts/handlers/itemhandlers/BeastSoulShot.java index 30e5fd51af..abd1015ac8 100644 --- a/L2J_Mobius_Classic_2.3_SevenSigns/dist/game/data/scripts/handlers/itemhandlers/BeastSoulShot.java +++ b/L2J_Mobius_Classic_2.3_SevenSigns/dist/game/data/scripts/handlers/itemhandlers/BeastSoulShot.java @@ -126,7 +126,7 @@ public class BeastSoulShot implements IItemHandler // Visual effect change if player has equipped Ruby level 3 or higher if (activeOwner.getActiveRubyJewel() != null) { - Broadcast.toSelfAndKnownPlayersInRadius(activeOwner, new MagicSkillUse(pet, pet, activeOwner.getActiveRubyJewel().getEffectId(), 1, 0, 0), 600); + Broadcast.toSelfAndKnownPlayersInRadius(activeOwner, new MagicSkillUse(pet, pet, activeOwner.getActiveRubyJewel().getSkillId(), activeOwner.getActiveRubyJewel().getSkillLevel(), 0, 0), 600); } else { @@ -143,7 +143,7 @@ public class BeastSoulShot implements IItemHandler // Visual effect change if player has equipped Ruby level 3 or higher if (activeOwner.getActiveRubyJewel() != null) { - Broadcast.toSelfAndKnownPlayersInRadius(activeOwner, new MagicSkillUse(s, s, activeOwner.getActiveRubyJewel().getEffectId(), 1, 0, 0), 600); + Broadcast.toSelfAndKnownPlayersInRadius(activeOwner, new MagicSkillUse(s, s, activeOwner.getActiveRubyJewel().getSkillId(), activeOwner.getActiveRubyJewel().getSkillLevel(), 0, 0), 600); } else { diff --git a/L2J_Mobius_Classic_2.3_SevenSigns/dist/game/data/scripts/handlers/itemhandlers/BeastSpiritShot.java b/L2J_Mobius_Classic_2.3_SevenSigns/dist/game/data/scripts/handlers/itemhandlers/BeastSpiritShot.java index 44599b2555..19ba21525f 100644 --- a/L2J_Mobius_Classic_2.3_SevenSigns/dist/game/data/scripts/handlers/itemhandlers/BeastSpiritShot.java +++ b/L2J_Mobius_Classic_2.3_SevenSigns/dist/game/data/scripts/handlers/itemhandlers/BeastSpiritShot.java @@ -127,7 +127,7 @@ public class BeastSpiritShot implements IItemHandler // Visual effect change if player has equipped Sapphire level 3 or higher if (activeOwner.getActiveShappireJewel() != null) { - Broadcast.toSelfAndKnownPlayersInRadius(activeOwner, new MagicSkillUse(pet, pet, activeOwner.getActiveShappireJewel().getEffectId(), 2, 0, 0), 600); + Broadcast.toSelfAndKnownPlayersInRadius(activeOwner, new MagicSkillUse(pet, pet, activeOwner.getActiveShappireJewel().getSkillId(), activeOwner.getActiveShappireJewel().getSkillLevel(), 0, 0), 600); } else { @@ -144,7 +144,7 @@ public class BeastSpiritShot implements IItemHandler // Visual effect change if player has equipped Sapphire level 3 or higher if (activeOwner.getActiveShappireJewel() != null) { - Broadcast.toSelfAndKnownPlayersInRadius(activeOwner, new MagicSkillUse(s, s, activeOwner.getActiveShappireJewel().getEffectId(), 2, 0, 0), 600); + Broadcast.toSelfAndKnownPlayersInRadius(activeOwner, new MagicSkillUse(s, s, activeOwner.getActiveShappireJewel().getSkillId(), activeOwner.getActiveShappireJewel().getSkillLevel(), 0, 0), 600); } else { diff --git a/L2J_Mobius_Classic_2.3_SevenSigns/dist/game/data/scripts/handlers/itemhandlers/BlessedSoulShots.java b/L2J_Mobius_Classic_2.3_SevenSigns/dist/game/data/scripts/handlers/itemhandlers/BlessedSoulShots.java index 85d614b478..6dcbb48f32 100644 --- a/L2J_Mobius_Classic_2.3_SevenSigns/dist/game/data/scripts/handlers/itemhandlers/BlessedSoulShots.java +++ b/L2J_Mobius_Classic_2.3_SevenSigns/dist/game/data/scripts/handlers/itemhandlers/BlessedSoulShots.java @@ -112,7 +112,7 @@ public class BlessedSoulShots implements IItemHandler // Visual effect change if player has equipped Ruby level 3 or higher if (player.getActiveRubyJewel() != null) { - Broadcast.toSelfAndKnownPlayersInRadius(player, new MagicSkillUse(player, player, player.getActiveRubyJewel().getEffectId(), 1, 0, 0), 600); + Broadcast.toSelfAndKnownPlayersInRadius(player, new MagicSkillUse(player, player, player.getActiveRubyJewel().getSkillId(), player.getActiveRubyJewel().getSkillLevel(), 0, 0), 600); } else { diff --git a/L2J_Mobius_Classic_2.3_SevenSigns/dist/game/data/scripts/handlers/itemhandlers/BlessedSpiritShot.java b/L2J_Mobius_Classic_2.3_SevenSigns/dist/game/data/scripts/handlers/itemhandlers/BlessedSpiritShot.java index c2610ec4e3..0107d8e303 100644 --- a/L2J_Mobius_Classic_2.3_SevenSigns/dist/game/data/scripts/handlers/itemhandlers/BlessedSpiritShot.java +++ b/L2J_Mobius_Classic_2.3_SevenSigns/dist/game/data/scripts/handlers/itemhandlers/BlessedSpiritShot.java @@ -104,7 +104,7 @@ public class BlessedSpiritShot implements IItemHandler // Visual effect change if player has equipped Sapphire level 3 or higher if (player.getActiveShappireJewel() != null) { - Broadcast.toSelfAndKnownPlayersInRadius(player, new MagicSkillUse(player, player, player.getActiveShappireJewel().getEffectId(), 1, 0, 0), 600); + Broadcast.toSelfAndKnownPlayersInRadius(player, new MagicSkillUse(player, player, player.getActiveShappireJewel().getSkillId(), player.getActiveShappireJewel().getSkillLevel(), 0, 0), 600); } else { diff --git a/L2J_Mobius_Classic_2.3_SevenSigns/dist/game/data/scripts/handlers/itemhandlers/SoulShots.java b/L2J_Mobius_Classic_2.3_SevenSigns/dist/game/data/scripts/handlers/itemhandlers/SoulShots.java index a61cc1bd71..e965687e9b 100644 --- a/L2J_Mobius_Classic_2.3_SevenSigns/dist/game/data/scripts/handlers/itemhandlers/SoulShots.java +++ b/L2J_Mobius_Classic_2.3_SevenSigns/dist/game/data/scripts/handlers/itemhandlers/SoulShots.java @@ -109,7 +109,7 @@ public class SoulShots implements IItemHandler // Visual effect change if player has equipped Ruby level 3 or higher if (player.getActiveRubyJewel() != null) { - Broadcast.toSelfAndKnownPlayersInRadius(player, new MagicSkillUse(player, player, player.getActiveRubyJewel().getEffectId(), 1, 0, 0), 600); + Broadcast.toSelfAndKnownPlayersInRadius(player, new MagicSkillUse(player, player, player.getActiveRubyJewel().getSkillId(), player.getActiveRubyJewel().getSkillLevel(), 0, 0), 600); } else { diff --git a/L2J_Mobius_Classic_2.3_SevenSigns/dist/game/data/scripts/handlers/itemhandlers/SpiritShot.java b/L2J_Mobius_Classic_2.3_SevenSigns/dist/game/data/scripts/handlers/itemhandlers/SpiritShot.java index 12f575b243..d1de206b63 100644 --- a/L2J_Mobius_Classic_2.3_SevenSigns/dist/game/data/scripts/handlers/itemhandlers/SpiritShot.java +++ b/L2J_Mobius_Classic_2.3_SevenSigns/dist/game/data/scripts/handlers/itemhandlers/SpiritShot.java @@ -104,7 +104,7 @@ public class SpiritShot implements IItemHandler // Visual effect change if player has equipped Sapphire level 3 or higher if (player.getActiveShappireJewel() != null) { - Broadcast.toSelfAndKnownPlayersInRadius(player, new MagicSkillUse(player, player, player.getActiveShappireJewel().getEffectId(), 1, 0, 0), 600); + Broadcast.toSelfAndKnownPlayersInRadius(player, new MagicSkillUse(player, player, player.getActiveShappireJewel().getSkillId(), player.getActiveShappireJewel().getSkillLevel(), 0, 0), 600); } else { diff --git a/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/enums/BroochJewel.java b/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/enums/BroochJewel.java index c399dc2b5b..37262daf69 100644 --- a/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/enums/BroochJewel.java +++ b/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/enums/BroochJewel.java @@ -22,64 +22,68 @@ package org.l2jmobius.gameserver.enums; public enum BroochJewel { // Working effect - RUBY_LV1(70451, 17817, 0.02, true), - RUBY_LV2(70452, 17817, 0.03, true), - RUBY_LV3(70453, 17817, 0.05, true), - RUBY_LV4(70454, 17817, 0.08, true), - RUBY_LV5(70455, 17817, 0.16, true), - GREATER_RUBY_LV1(71368, 17817, 0.17, true), // + 1% p atk - GREATER_RUBY_LV2(71369, 17817, 0.18, true), // + 2% p atk - GREATER_RUBY_LV3(71370, 17817, 0.19, true), // + 3% p atk - GREATER_RUBY_LV4(71371, 17817, 0.20, true), // + 5% p atk - GREATER_RUBY_LV5(71372, 17817, 0.20, true), // + 7% p atk + crit. p. rate +10% + RUBY_LV1(70451, 17817, 1, 0.02, true, false), + RUBY_LV2(70452, 17817, 1, 0.03, true, false), + RUBY_LV3(70453, 17817, 1, 0.05, true, false), + RUBY_LV4(70454, 17817, 1, 0.08, true, false), + RUBY_LV5(70455, 17817, 1, 0.16, true, false), + GREATER_RUBY_LV1(71368, 17817, 1, 0.17, true, false), // + 1% p atk + GREATER_RUBY_LV2(71369, 17817, 1, 0.18, true, false), // + 2% p atk + GREATER_RUBY_LV3(71370, 17817, 1, 0.19, true, false), // + 3% p atk + GREATER_RUBY_LV4(71371, 17817, 1, 0.20, true, false), // + 5% p atk + GREATER_RUBY_LV5(71372, 17817, 1, 0.20, true, false), // + 7% p atk + crit. p. rate +10% // Not show recharge effect - not used in classics maybe - RUBY_LV1_2(90328, 59150, 0.02, true), - RUBY_LV2_2(90329, 59150, 0.03, true), - RUBY_LV3_2(90330, 59150, 0.05, true), - RUBY_LV4_2(90331, 59150, 0.08, true), - RUBY_LV5_2(90332, 59150, 0.16, true), - GREATER_RUBY_LV1_2(91320, 59150, 0.17, true), // + 1% p atk - GREATER_RUBY_LV2_2(91321, 59150, 0.18, true), // + 2% p atk - GREATER_RUBY_LV3_2(91322, 59150, 0.19, true), // + 3% p atk - GREATER_RUBY_LV4_2(91323, 59150, 0.20, true), // + 5% p atk - GREATER_RUBY_LV5_2(91324, 59150, 0.20, true), // + 7% p atk + crit. p. rate +10% + RUBY_LV1_2(90328, 59150, 1, 0.02, true, false), + RUBY_LV2_2(90329, 59150, 1, 0.03, true, false), + RUBY_LV3_2(90330, 59150, 1, 0.05, true, false), + RUBY_LV4_2(90331, 59150, 1, 0.08, true, false), + RUBY_LV5_2(90332, 59150, 1, 0.16, true, false), + GREATER_RUBY_LV1_2(91320, 59150, 1, 0.17, true, false), // + 1% p atk + GREATER_RUBY_LV2_2(91321, 59150, 1, 0.18, true, false), // + 2% p atk + GREATER_RUBY_LV3_2(91322, 59150, 1, 0.19, true, false), // + 3% p atk + GREATER_RUBY_LV4_2(91323, 59150, 1, 0.20, true, false), // + 5% p atk + GREATER_RUBY_LV5_2(91324, 59150, 1, 0.20, true, false), // + 7% p atk + crit. p. rate +10% // Working effect - SHAPPHIRE_LV1(70456, 17821, 0.02, false), - SHAPPHIRE_LV2(70457, 17821, 0.03, false), - SHAPPHIRE_LV3(70458, 17821, 0.05, false), - SHAPPHIRE_LV4(70459, 17821, 0.08, false), - SHAPPHIRE_LV5(70460, 17821, 0.16, false), - GREATER_SHAPPHIRE_LV1(71373, 17821, 00.17, false), // + 2 % m attack - GREATER_SHAPPHIRE_LV2(71374, 17821, 00.18, false), // + 4 % m attack - GREATER_SHAPPHIRE_LV3(71375, 17821, 00.19, false), // + 6 % m attack - GREATER_SHAPPHIRE_LV4(71376, 17821, 00.20, false), // + 10 % m attack - GREATER_SHAPPHIRE_LV5(71377, 17821, 00.20, false), // + 14 % m attack + crit. m. rate +10% + SAPPHIRE_LV1(70456, 17821, 1, 0.02, false, true), + SAPPHIRE_LV2(70457, 17821, 1, 0.03, false, true), + SAPPHIRE_LV3(70458, 17821, 1, 0.05, false, true), + SAPPHIRE_LV4(70459, 17821, 1, 0.08, false, true), + SAPPHIRE_LV5(70460, 17821, 1, 0.16, false, true), + GREATER_SAPPHIRE_LV1(71373, 17821, 1, 00.17, false, true), // + 2 % m attack + GREATER_SAPPHIRE_LV2(71374, 17821, 1, 00.18, false, true), // + 4 % m attack + GREATER_SAPPHIRE_LV3(71375, 17821, 1, 00.19, false, true), // + 6 % m attack + GREATER_SAPPHIRE_LV4(71376, 17821, 1, 00.20, false, true), // + 10 % m attack + GREATER_SAPPHIRE_LV5(71377, 17821, 1, 00.20, false, true), // + 14 % m attack + crit. m. rate +10% // Not show recharge effect - not used in classics maybe - SHAPPHIRE_LV1_2(90333, 59151, 0.02, false), - SHAPPHIRE_LV2_2(90334, 59151, 0.03, false), - SHAPPHIRE_LV3_2(90335, 59151, 0.05, false), - SHAPPHIRE_LV4_2(90336, 59151, 0.08, false), - SHAPPHIRE_LV5_2(90337, 59151, 0.16, false), - GREATER_SHAPPHIRE_LV1_2(91325, 59151, 0.17, false), // + 2 % m attack - GREATER_SHAPPHIRE_LV2_2(91326, 59151, 0.18, false), // + 4 % m attack - GREATER_SHAPPHIRE_LV3_2(91327, 59151, 0.19, false), // + 6 % m attack - GREATER_SHAPPHIRE_LV4_2(91328, 59151, 0.20, false), // + 10 % m attack - GREATER_SHAPPHIRE_LV5_2(91329, 59151, 0.20, false);// + 14 % m attack + crit. m. ata +10% + SAPPHIRE_LV1_2(90333, 59151, 1, 0.02, false, true), + SAPPHIRE_LV2_2(90334, 59151, 1, 0.03, false, true), + SAPPHIRE_LV3_2(90335, 59151, 1, 0.05, false, true), + SAPPHIRE_LV4_2(90336, 59151, 1, 0.08, false, true), + SAPPHIRE_LV5_2(90337, 59151, 1, 0.16, false, true), + GREATER_SAPPHIRE_LV1_2(91325, 59151, 1, 0.17, false, true), // + 2 % m attack + GREATER_SAPPHIRE_LV2_2(91326, 59151, 1, 0.18, false, true), // + 4 % m attack + GREATER_SAPPHIRE_LV3_2(91327, 59151, 1, 0.19, false, true), // + 6 % m attack + GREATER_SAPPHIRE_LV4_2(91328, 59151, 1, 0.20, false, true), // + 10 % m attack + GREATER_SAPPHIRE_LV5_2(91329, 59151, 1, 0.20, false, true); // + 14 % m attack + crit. m. ata +10% private int _itemId; - private int _effectId; + private int _skillId; + private int _skillLevel; private double _bonus; - private boolean _isRuby; // If not, it is sapphire. + private boolean _isRuby; + private boolean _isSapphire; - private BroochJewel(int itemId, int effectId, double bonus, boolean isRuby) + private BroochJewel(int itemId, int skillId, int skillLevel, double bonus, boolean isRuby, boolean isSapphire) { _itemId = itemId; - _effectId = effectId; + _skillId = skillId; + _skillLevel = skillLevel; _bonus = bonus; _isRuby = isRuby; + _isSapphire = isSapphire; } public int getItemId() @@ -87,9 +91,14 @@ public enum BroochJewel return _itemId; } - public int getEffectId() + public int getSkillId() { - return _effectId; + return _skillId; + } + + public int getSkillLevel() + { + return _skillLevel; } public double getBonus() @@ -101,4 +110,9 @@ public enum BroochJewel { return _isRuby; } + + public boolean isSapphire() + { + return _isSapphire; + } } diff --git a/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/model/actor/Player.java b/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/model/actor/Player.java index e1dfdbc64b..d540e8adcd 100644 --- a/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/model/actor/Player.java +++ b/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/model/actor/Player.java @@ -8796,7 +8796,7 @@ public class Player extends Playable for (int i = broochJewels.length - 1; i > 0; i--) { final BroochJewel jewel = broochJewels[i]; - if (!jewel.isRuby() && _inventory.isItemEquipped(jewel.getItemId())) + if (jewel.isSapphire() && _inventory.isItemEquipped(jewel.getItemId())) { setActiveShappireJewel(jewel); break; diff --git a/L2J_Mobius_Classic_2.4_SecretOfEmpire/dist/game/data/scripts/handlers/itemhandlers/BeastSoulShot.java b/L2J_Mobius_Classic_2.4_SecretOfEmpire/dist/game/data/scripts/handlers/itemhandlers/BeastSoulShot.java index 30e5fd51af..abd1015ac8 100644 --- a/L2J_Mobius_Classic_2.4_SecretOfEmpire/dist/game/data/scripts/handlers/itemhandlers/BeastSoulShot.java +++ b/L2J_Mobius_Classic_2.4_SecretOfEmpire/dist/game/data/scripts/handlers/itemhandlers/BeastSoulShot.java @@ -126,7 +126,7 @@ public class BeastSoulShot implements IItemHandler // Visual effect change if player has equipped Ruby level 3 or higher if (activeOwner.getActiveRubyJewel() != null) { - Broadcast.toSelfAndKnownPlayersInRadius(activeOwner, new MagicSkillUse(pet, pet, activeOwner.getActiveRubyJewel().getEffectId(), 1, 0, 0), 600); + Broadcast.toSelfAndKnownPlayersInRadius(activeOwner, new MagicSkillUse(pet, pet, activeOwner.getActiveRubyJewel().getSkillId(), activeOwner.getActiveRubyJewel().getSkillLevel(), 0, 0), 600); } else { @@ -143,7 +143,7 @@ public class BeastSoulShot implements IItemHandler // Visual effect change if player has equipped Ruby level 3 or higher if (activeOwner.getActiveRubyJewel() != null) { - Broadcast.toSelfAndKnownPlayersInRadius(activeOwner, new MagicSkillUse(s, s, activeOwner.getActiveRubyJewel().getEffectId(), 1, 0, 0), 600); + Broadcast.toSelfAndKnownPlayersInRadius(activeOwner, new MagicSkillUse(s, s, activeOwner.getActiveRubyJewel().getSkillId(), activeOwner.getActiveRubyJewel().getSkillLevel(), 0, 0), 600); } else { diff --git a/L2J_Mobius_Classic_2.4_SecretOfEmpire/dist/game/data/scripts/handlers/itemhandlers/BeastSpiritShot.java b/L2J_Mobius_Classic_2.4_SecretOfEmpire/dist/game/data/scripts/handlers/itemhandlers/BeastSpiritShot.java index 44599b2555..19ba21525f 100644 --- a/L2J_Mobius_Classic_2.4_SecretOfEmpire/dist/game/data/scripts/handlers/itemhandlers/BeastSpiritShot.java +++ b/L2J_Mobius_Classic_2.4_SecretOfEmpire/dist/game/data/scripts/handlers/itemhandlers/BeastSpiritShot.java @@ -127,7 +127,7 @@ public class BeastSpiritShot implements IItemHandler // Visual effect change if player has equipped Sapphire level 3 or higher if (activeOwner.getActiveShappireJewel() != null) { - Broadcast.toSelfAndKnownPlayersInRadius(activeOwner, new MagicSkillUse(pet, pet, activeOwner.getActiveShappireJewel().getEffectId(), 2, 0, 0), 600); + Broadcast.toSelfAndKnownPlayersInRadius(activeOwner, new MagicSkillUse(pet, pet, activeOwner.getActiveShappireJewel().getSkillId(), activeOwner.getActiveShappireJewel().getSkillLevel(), 0, 0), 600); } else { @@ -144,7 +144,7 @@ public class BeastSpiritShot implements IItemHandler // Visual effect change if player has equipped Sapphire level 3 or higher if (activeOwner.getActiveShappireJewel() != null) { - Broadcast.toSelfAndKnownPlayersInRadius(activeOwner, new MagicSkillUse(s, s, activeOwner.getActiveShappireJewel().getEffectId(), 2, 0, 0), 600); + Broadcast.toSelfAndKnownPlayersInRadius(activeOwner, new MagicSkillUse(s, s, activeOwner.getActiveShappireJewel().getSkillId(), activeOwner.getActiveShappireJewel().getSkillLevel(), 0, 0), 600); } else { diff --git a/L2J_Mobius_Classic_2.4_SecretOfEmpire/dist/game/data/scripts/handlers/itemhandlers/BlessedSoulShots.java b/L2J_Mobius_Classic_2.4_SecretOfEmpire/dist/game/data/scripts/handlers/itemhandlers/BlessedSoulShots.java index 85d614b478..6dcbb48f32 100644 --- a/L2J_Mobius_Classic_2.4_SecretOfEmpire/dist/game/data/scripts/handlers/itemhandlers/BlessedSoulShots.java +++ b/L2J_Mobius_Classic_2.4_SecretOfEmpire/dist/game/data/scripts/handlers/itemhandlers/BlessedSoulShots.java @@ -112,7 +112,7 @@ public class BlessedSoulShots implements IItemHandler // Visual effect change if player has equipped Ruby level 3 or higher if (player.getActiveRubyJewel() != null) { - Broadcast.toSelfAndKnownPlayersInRadius(player, new MagicSkillUse(player, player, player.getActiveRubyJewel().getEffectId(), 1, 0, 0), 600); + Broadcast.toSelfAndKnownPlayersInRadius(player, new MagicSkillUse(player, player, player.getActiveRubyJewel().getSkillId(), player.getActiveRubyJewel().getSkillLevel(), 0, 0), 600); } else { diff --git a/L2J_Mobius_Classic_2.4_SecretOfEmpire/dist/game/data/scripts/handlers/itemhandlers/BlessedSpiritShot.java b/L2J_Mobius_Classic_2.4_SecretOfEmpire/dist/game/data/scripts/handlers/itemhandlers/BlessedSpiritShot.java index c2610ec4e3..0107d8e303 100644 --- a/L2J_Mobius_Classic_2.4_SecretOfEmpire/dist/game/data/scripts/handlers/itemhandlers/BlessedSpiritShot.java +++ b/L2J_Mobius_Classic_2.4_SecretOfEmpire/dist/game/data/scripts/handlers/itemhandlers/BlessedSpiritShot.java @@ -104,7 +104,7 @@ public class BlessedSpiritShot implements IItemHandler // Visual effect change if player has equipped Sapphire level 3 or higher if (player.getActiveShappireJewel() != null) { - Broadcast.toSelfAndKnownPlayersInRadius(player, new MagicSkillUse(player, player, player.getActiveShappireJewel().getEffectId(), 1, 0, 0), 600); + Broadcast.toSelfAndKnownPlayersInRadius(player, new MagicSkillUse(player, player, player.getActiveShappireJewel().getSkillId(), player.getActiveShappireJewel().getSkillLevel(), 0, 0), 600); } else { diff --git a/L2J_Mobius_Classic_2.4_SecretOfEmpire/dist/game/data/scripts/handlers/itemhandlers/SoulShots.java b/L2J_Mobius_Classic_2.4_SecretOfEmpire/dist/game/data/scripts/handlers/itemhandlers/SoulShots.java index a61cc1bd71..e965687e9b 100644 --- a/L2J_Mobius_Classic_2.4_SecretOfEmpire/dist/game/data/scripts/handlers/itemhandlers/SoulShots.java +++ b/L2J_Mobius_Classic_2.4_SecretOfEmpire/dist/game/data/scripts/handlers/itemhandlers/SoulShots.java @@ -109,7 +109,7 @@ public class SoulShots implements IItemHandler // Visual effect change if player has equipped Ruby level 3 or higher if (player.getActiveRubyJewel() != null) { - Broadcast.toSelfAndKnownPlayersInRadius(player, new MagicSkillUse(player, player, player.getActiveRubyJewel().getEffectId(), 1, 0, 0), 600); + Broadcast.toSelfAndKnownPlayersInRadius(player, new MagicSkillUse(player, player, player.getActiveRubyJewel().getSkillId(), player.getActiveRubyJewel().getSkillLevel(), 0, 0), 600); } else { diff --git a/L2J_Mobius_Classic_2.4_SecretOfEmpire/dist/game/data/scripts/handlers/itemhandlers/SpiritShot.java b/L2J_Mobius_Classic_2.4_SecretOfEmpire/dist/game/data/scripts/handlers/itemhandlers/SpiritShot.java index 12f575b243..d1de206b63 100644 --- a/L2J_Mobius_Classic_2.4_SecretOfEmpire/dist/game/data/scripts/handlers/itemhandlers/SpiritShot.java +++ b/L2J_Mobius_Classic_2.4_SecretOfEmpire/dist/game/data/scripts/handlers/itemhandlers/SpiritShot.java @@ -104,7 +104,7 @@ public class SpiritShot implements IItemHandler // Visual effect change if player has equipped Sapphire level 3 or higher if (player.getActiveShappireJewel() != null) { - Broadcast.toSelfAndKnownPlayersInRadius(player, new MagicSkillUse(player, player, player.getActiveShappireJewel().getEffectId(), 1, 0, 0), 600); + Broadcast.toSelfAndKnownPlayersInRadius(player, new MagicSkillUse(player, player, player.getActiveShappireJewel().getSkillId(), player.getActiveShappireJewel().getSkillLevel(), 0, 0), 600); } else { diff --git a/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/enums/BroochJewel.java b/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/enums/BroochJewel.java index c399dc2b5b..37262daf69 100644 --- a/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/enums/BroochJewel.java +++ b/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/enums/BroochJewel.java @@ -22,64 +22,68 @@ package org.l2jmobius.gameserver.enums; public enum BroochJewel { // Working effect - RUBY_LV1(70451, 17817, 0.02, true), - RUBY_LV2(70452, 17817, 0.03, true), - RUBY_LV3(70453, 17817, 0.05, true), - RUBY_LV4(70454, 17817, 0.08, true), - RUBY_LV5(70455, 17817, 0.16, true), - GREATER_RUBY_LV1(71368, 17817, 0.17, true), // + 1% p atk - GREATER_RUBY_LV2(71369, 17817, 0.18, true), // + 2% p atk - GREATER_RUBY_LV3(71370, 17817, 0.19, true), // + 3% p atk - GREATER_RUBY_LV4(71371, 17817, 0.20, true), // + 5% p atk - GREATER_RUBY_LV5(71372, 17817, 0.20, true), // + 7% p atk + crit. p. rate +10% + RUBY_LV1(70451, 17817, 1, 0.02, true, false), + RUBY_LV2(70452, 17817, 1, 0.03, true, false), + RUBY_LV3(70453, 17817, 1, 0.05, true, false), + RUBY_LV4(70454, 17817, 1, 0.08, true, false), + RUBY_LV5(70455, 17817, 1, 0.16, true, false), + GREATER_RUBY_LV1(71368, 17817, 1, 0.17, true, false), // + 1% p atk + GREATER_RUBY_LV2(71369, 17817, 1, 0.18, true, false), // + 2% p atk + GREATER_RUBY_LV3(71370, 17817, 1, 0.19, true, false), // + 3% p atk + GREATER_RUBY_LV4(71371, 17817, 1, 0.20, true, false), // + 5% p atk + GREATER_RUBY_LV5(71372, 17817, 1, 0.20, true, false), // + 7% p atk + crit. p. rate +10% // Not show recharge effect - not used in classics maybe - RUBY_LV1_2(90328, 59150, 0.02, true), - RUBY_LV2_2(90329, 59150, 0.03, true), - RUBY_LV3_2(90330, 59150, 0.05, true), - RUBY_LV4_2(90331, 59150, 0.08, true), - RUBY_LV5_2(90332, 59150, 0.16, true), - GREATER_RUBY_LV1_2(91320, 59150, 0.17, true), // + 1% p atk - GREATER_RUBY_LV2_2(91321, 59150, 0.18, true), // + 2% p atk - GREATER_RUBY_LV3_2(91322, 59150, 0.19, true), // + 3% p atk - GREATER_RUBY_LV4_2(91323, 59150, 0.20, true), // + 5% p atk - GREATER_RUBY_LV5_2(91324, 59150, 0.20, true), // + 7% p atk + crit. p. rate +10% + RUBY_LV1_2(90328, 59150, 1, 0.02, true, false), + RUBY_LV2_2(90329, 59150, 1, 0.03, true, false), + RUBY_LV3_2(90330, 59150, 1, 0.05, true, false), + RUBY_LV4_2(90331, 59150, 1, 0.08, true, false), + RUBY_LV5_2(90332, 59150, 1, 0.16, true, false), + GREATER_RUBY_LV1_2(91320, 59150, 1, 0.17, true, false), // + 1% p atk + GREATER_RUBY_LV2_2(91321, 59150, 1, 0.18, true, false), // + 2% p atk + GREATER_RUBY_LV3_2(91322, 59150, 1, 0.19, true, false), // + 3% p atk + GREATER_RUBY_LV4_2(91323, 59150, 1, 0.20, true, false), // + 5% p atk + GREATER_RUBY_LV5_2(91324, 59150, 1, 0.20, true, false), // + 7% p atk + crit. p. rate +10% // Working effect - SHAPPHIRE_LV1(70456, 17821, 0.02, false), - SHAPPHIRE_LV2(70457, 17821, 0.03, false), - SHAPPHIRE_LV3(70458, 17821, 0.05, false), - SHAPPHIRE_LV4(70459, 17821, 0.08, false), - SHAPPHIRE_LV5(70460, 17821, 0.16, false), - GREATER_SHAPPHIRE_LV1(71373, 17821, 00.17, false), // + 2 % m attack - GREATER_SHAPPHIRE_LV2(71374, 17821, 00.18, false), // + 4 % m attack - GREATER_SHAPPHIRE_LV3(71375, 17821, 00.19, false), // + 6 % m attack - GREATER_SHAPPHIRE_LV4(71376, 17821, 00.20, false), // + 10 % m attack - GREATER_SHAPPHIRE_LV5(71377, 17821, 00.20, false), // + 14 % m attack + crit. m. rate +10% + SAPPHIRE_LV1(70456, 17821, 1, 0.02, false, true), + SAPPHIRE_LV2(70457, 17821, 1, 0.03, false, true), + SAPPHIRE_LV3(70458, 17821, 1, 0.05, false, true), + SAPPHIRE_LV4(70459, 17821, 1, 0.08, false, true), + SAPPHIRE_LV5(70460, 17821, 1, 0.16, false, true), + GREATER_SAPPHIRE_LV1(71373, 17821, 1, 00.17, false, true), // + 2 % m attack + GREATER_SAPPHIRE_LV2(71374, 17821, 1, 00.18, false, true), // + 4 % m attack + GREATER_SAPPHIRE_LV3(71375, 17821, 1, 00.19, false, true), // + 6 % m attack + GREATER_SAPPHIRE_LV4(71376, 17821, 1, 00.20, false, true), // + 10 % m attack + GREATER_SAPPHIRE_LV5(71377, 17821, 1, 00.20, false, true), // + 14 % m attack + crit. m. rate +10% // Not show recharge effect - not used in classics maybe - SHAPPHIRE_LV1_2(90333, 59151, 0.02, false), - SHAPPHIRE_LV2_2(90334, 59151, 0.03, false), - SHAPPHIRE_LV3_2(90335, 59151, 0.05, false), - SHAPPHIRE_LV4_2(90336, 59151, 0.08, false), - SHAPPHIRE_LV5_2(90337, 59151, 0.16, false), - GREATER_SHAPPHIRE_LV1_2(91325, 59151, 0.17, false), // + 2 % m attack - GREATER_SHAPPHIRE_LV2_2(91326, 59151, 0.18, false), // + 4 % m attack - GREATER_SHAPPHIRE_LV3_2(91327, 59151, 0.19, false), // + 6 % m attack - GREATER_SHAPPHIRE_LV4_2(91328, 59151, 0.20, false), // + 10 % m attack - GREATER_SHAPPHIRE_LV5_2(91329, 59151, 0.20, false);// + 14 % m attack + crit. m. ata +10% + SAPPHIRE_LV1_2(90333, 59151, 1, 0.02, false, true), + SAPPHIRE_LV2_2(90334, 59151, 1, 0.03, false, true), + SAPPHIRE_LV3_2(90335, 59151, 1, 0.05, false, true), + SAPPHIRE_LV4_2(90336, 59151, 1, 0.08, false, true), + SAPPHIRE_LV5_2(90337, 59151, 1, 0.16, false, true), + GREATER_SAPPHIRE_LV1_2(91325, 59151, 1, 0.17, false, true), // + 2 % m attack + GREATER_SAPPHIRE_LV2_2(91326, 59151, 1, 0.18, false, true), // + 4 % m attack + GREATER_SAPPHIRE_LV3_2(91327, 59151, 1, 0.19, false, true), // + 6 % m attack + GREATER_SAPPHIRE_LV4_2(91328, 59151, 1, 0.20, false, true), // + 10 % m attack + GREATER_SAPPHIRE_LV5_2(91329, 59151, 1, 0.20, false, true); // + 14 % m attack + crit. m. ata +10% private int _itemId; - private int _effectId; + private int _skillId; + private int _skillLevel; private double _bonus; - private boolean _isRuby; // If not, it is sapphire. + private boolean _isRuby; + private boolean _isSapphire; - private BroochJewel(int itemId, int effectId, double bonus, boolean isRuby) + private BroochJewel(int itemId, int skillId, int skillLevel, double bonus, boolean isRuby, boolean isSapphire) { _itemId = itemId; - _effectId = effectId; + _skillId = skillId; + _skillLevel = skillLevel; _bonus = bonus; _isRuby = isRuby; + _isSapphire = isSapphire; } public int getItemId() @@ -87,9 +91,14 @@ public enum BroochJewel return _itemId; } - public int getEffectId() + public int getSkillId() { - return _effectId; + return _skillId; + } + + public int getSkillLevel() + { + return _skillLevel; } public double getBonus() @@ -101,4 +110,9 @@ public enum BroochJewel { return _isRuby; } + + public boolean isSapphire() + { + return _isSapphire; + } } diff --git a/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/model/actor/Player.java b/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/model/actor/Player.java index 3bf1362b25..ba4ea2e1fc 100644 --- a/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/model/actor/Player.java +++ b/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/model/actor/Player.java @@ -8796,7 +8796,7 @@ public class Player extends Playable for (int i = broochJewels.length - 1; i > 0; i--) { final BroochJewel jewel = broochJewels[i]; - if (!jewel.isRuby() && _inventory.isItemEquipped(jewel.getItemId())) + if (jewel.isSapphire() && _inventory.isItemEquipped(jewel.getItemId())) { setActiveShappireJewel(jewel); break; diff --git a/L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/scripts/handlers/itemhandlers/BeastSoulShot.java b/L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/scripts/handlers/itemhandlers/BeastSoulShot.java index 30e5fd51af..abd1015ac8 100644 --- a/L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/scripts/handlers/itemhandlers/BeastSoulShot.java +++ b/L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/scripts/handlers/itemhandlers/BeastSoulShot.java @@ -126,7 +126,7 @@ public class BeastSoulShot implements IItemHandler // Visual effect change if player has equipped Ruby level 3 or higher if (activeOwner.getActiveRubyJewel() != null) { - Broadcast.toSelfAndKnownPlayersInRadius(activeOwner, new MagicSkillUse(pet, pet, activeOwner.getActiveRubyJewel().getEffectId(), 1, 0, 0), 600); + Broadcast.toSelfAndKnownPlayersInRadius(activeOwner, new MagicSkillUse(pet, pet, activeOwner.getActiveRubyJewel().getSkillId(), activeOwner.getActiveRubyJewel().getSkillLevel(), 0, 0), 600); } else { @@ -143,7 +143,7 @@ public class BeastSoulShot implements IItemHandler // Visual effect change if player has equipped Ruby level 3 or higher if (activeOwner.getActiveRubyJewel() != null) { - Broadcast.toSelfAndKnownPlayersInRadius(activeOwner, new MagicSkillUse(s, s, activeOwner.getActiveRubyJewel().getEffectId(), 1, 0, 0), 600); + Broadcast.toSelfAndKnownPlayersInRadius(activeOwner, new MagicSkillUse(s, s, activeOwner.getActiveRubyJewel().getSkillId(), activeOwner.getActiveRubyJewel().getSkillLevel(), 0, 0), 600); } else { diff --git a/L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/scripts/handlers/itemhandlers/BeastSpiritShot.java b/L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/scripts/handlers/itemhandlers/BeastSpiritShot.java index 44599b2555..19ba21525f 100644 --- a/L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/scripts/handlers/itemhandlers/BeastSpiritShot.java +++ b/L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/scripts/handlers/itemhandlers/BeastSpiritShot.java @@ -127,7 +127,7 @@ public class BeastSpiritShot implements IItemHandler // Visual effect change if player has equipped Sapphire level 3 or higher if (activeOwner.getActiveShappireJewel() != null) { - Broadcast.toSelfAndKnownPlayersInRadius(activeOwner, new MagicSkillUse(pet, pet, activeOwner.getActiveShappireJewel().getEffectId(), 2, 0, 0), 600); + Broadcast.toSelfAndKnownPlayersInRadius(activeOwner, new MagicSkillUse(pet, pet, activeOwner.getActiveShappireJewel().getSkillId(), activeOwner.getActiveShappireJewel().getSkillLevel(), 0, 0), 600); } else { @@ -144,7 +144,7 @@ public class BeastSpiritShot implements IItemHandler // Visual effect change if player has equipped Sapphire level 3 or higher if (activeOwner.getActiveShappireJewel() != null) { - Broadcast.toSelfAndKnownPlayersInRadius(activeOwner, new MagicSkillUse(s, s, activeOwner.getActiveShappireJewel().getEffectId(), 2, 0, 0), 600); + Broadcast.toSelfAndKnownPlayersInRadius(activeOwner, new MagicSkillUse(s, s, activeOwner.getActiveShappireJewel().getSkillId(), activeOwner.getActiveShappireJewel().getSkillLevel(), 0, 0), 600); } else { diff --git a/L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/scripts/handlers/itemhandlers/BlessedSoulShots.java b/L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/scripts/handlers/itemhandlers/BlessedSoulShots.java index f553a0c846..9da3b6cfd7 100644 --- a/L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/scripts/handlers/itemhandlers/BlessedSoulShots.java +++ b/L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/scripts/handlers/itemhandlers/BlessedSoulShots.java @@ -101,7 +101,7 @@ public class BlessedSoulShots implements IItemHandler // Visual effect change if player has equipped Ruby level 3 or higher if (player.getActiveRubyJewel() != null) { - Broadcast.toSelfAndKnownPlayersInRadius(player, new MagicSkillUse(player, player, player.getActiveRubyJewel().getEffectId(), 1, 0, 0), 600); + Broadcast.toSelfAndKnownPlayersInRadius(player, new MagicSkillUse(player, player, player.getActiveRubyJewel().getSkillId(), player.getActiveRubyJewel().getSkillLevel(), 0, 0), 600); } else { diff --git a/L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/scripts/handlers/itemhandlers/BlessedSpiritShot.java b/L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/scripts/handlers/itemhandlers/BlessedSpiritShot.java index 119fe1f81e..f8e9fb8786 100644 --- a/L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/scripts/handlers/itemhandlers/BlessedSpiritShot.java +++ b/L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/scripts/handlers/itemhandlers/BlessedSpiritShot.java @@ -91,7 +91,7 @@ public class BlessedSpiritShot implements IItemHandler // Visual effect change if player has equipped Sapphire level 3 or higher if (player.getActiveShappireJewel() != null) { - Broadcast.toSelfAndKnownPlayersInRadius(player, new MagicSkillUse(player, player, player.getActiveShappireJewel().getEffectId(), 1, 0, 0), 600); + Broadcast.toSelfAndKnownPlayersInRadius(player, new MagicSkillUse(player, player, player.getActiveShappireJewel().getSkillId(), player.getActiveShappireJewel().getSkillLevel(), 0, 0), 600); } else { diff --git a/L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/scripts/handlers/itemhandlers/SoulShots.java b/L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/scripts/handlers/itemhandlers/SoulShots.java index 1f44066740..3c8cbb15c4 100644 --- a/L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/scripts/handlers/itemhandlers/SoulShots.java +++ b/L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/scripts/handlers/itemhandlers/SoulShots.java @@ -98,7 +98,7 @@ public class SoulShots implements IItemHandler // Visual effect change if player has equipped Ruby level 3 or higher if (player.getActiveRubyJewel() != null) { - Broadcast.toSelfAndKnownPlayersInRadius(player, new MagicSkillUse(player, player, player.getActiveRubyJewel().getEffectId(), 1, 0, 0), 600); + Broadcast.toSelfAndKnownPlayersInRadius(player, new MagicSkillUse(player, player, player.getActiveRubyJewel().getSkillId(), player.getActiveRubyJewel().getSkillLevel(), 0, 0), 600); } else { diff --git a/L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/scripts/handlers/itemhandlers/SpiritShot.java b/L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/scripts/handlers/itemhandlers/SpiritShot.java index 353347df87..e1f09a5a72 100644 --- a/L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/scripts/handlers/itemhandlers/SpiritShot.java +++ b/L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/scripts/handlers/itemhandlers/SpiritShot.java @@ -91,7 +91,7 @@ public class SpiritShot implements IItemHandler // Visual effect change if player has equipped Sapphire level 3 or higher if (player.getActiveShappireJewel() != null) { - Broadcast.toSelfAndKnownPlayersInRadius(player, new MagicSkillUse(player, player, player.getActiveShappireJewel().getEffectId(), 1, 0, 0), 600); + Broadcast.toSelfAndKnownPlayersInRadius(player, new MagicSkillUse(player, player, player.getActiveShappireJewel().getSkillId(), player.getActiveShappireJewel().getSkillLevel(), 0, 0), 600); } else { diff --git a/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/enums/BroochJewel.java b/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/enums/BroochJewel.java index 38044cad40..df79c0974b 100644 --- a/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/enums/BroochJewel.java +++ b/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/enums/BroochJewel.java @@ -22,74 +22,78 @@ package org.l2jmobius.gameserver.enums; public enum BroochJewel { // Working effect - RUBY_LV1(70451, 17817, 0.02, true), - RUBY_LV2(70452, 17817, 0.03, true), - RUBY_LV3(70453, 17817, 0.05, true), - RUBY_LV4(70454, 17817, 0.08, true), - RUBY_LV5(70455, 17817, 0.16, true), - GREATER_RUBY_LV1(71368, 17817, 0.17, true), // + 1% p atk - GREATER_RUBY_LV2(71369, 17817, 0.18, true), // + 2% p atk - GREATER_RUBY_LV3(71370, 17817, 0.19, true), // + 3% p atk - GREATER_RUBY_LV4(71371, 17817, 0.20, true), // + 5% p atk - GREATER_RUBY_LV5(71372, 17817, 0.20, true), // + 7% p atk + crit. p. rate +10% + RUBY_LV1(70451, 17817, 1, 0.02, true, false), + RUBY_LV2(70452, 17817, 1, 0.03, true, false), + RUBY_LV3(70453, 17817, 1, 0.05, true, false), + RUBY_LV4(70454, 17817, 1, 0.08, true, false), + RUBY_LV5(70455, 17817, 1, 0.16, true, false), + GREATER_RUBY_LV1(71368, 17817, 1, 0.17, true, false), // + 1% p atk + GREATER_RUBY_LV2(71369, 17817, 1, 0.18, true, false), // + 2% p atk + GREATER_RUBY_LV3(71370, 17817, 1, 0.19, true, false), // + 3% p atk + GREATER_RUBY_LV4(71371, 17817, 1, 0.20, true, false), // + 5% p atk + GREATER_RUBY_LV5(71372, 17817, 1, 0.20, true, false), // + 7% p atk + crit. p. rate +10% // Not show recharge effect - not used in classics maybe - RUBY_LV1_2(90328, 59150, 0.02, true), - RUBY_LV2_2(90329, 59150, 0.03, true), - RUBY_LV3_2(90330, 59150, 0.05, true), - RUBY_LV4_2(90331, 59150, 0.08, true), - RUBY_LV5_2(90332, 59150, 0.16, true), - GREATER_RUBY_LV1_2(91320, 59150, 0.17, true), // + 1% p atk - GREATER_RUBY_LV2_2(91321, 59150, 0.18, true), // + 2% p atk - GREATER_RUBY_LV3_2(91322, 59150, 0.19, true), // + 3% p atk - GREATER_RUBY_LV4_2(91323, 59150, 0.20, true), // + 5% p atk - GREATER_RUBY_LV5_2(91324, 59150, 0.20, true), // + 7% p atk + crit. p. rate +10% + RUBY_LV1_2(90328, 59150, 1, 0.02, true, false), + RUBY_LV2_2(90329, 59150, 1, 0.03, true, false), + RUBY_LV3_2(90330, 59150, 1, 0.05, true, false), + RUBY_LV4_2(90331, 59150, 1, 0.08, true, false), + RUBY_LV5_2(90332, 59150, 1, 0.16, true, false), + GREATER_RUBY_LV1_2(91320, 59150, 1, 0.17, true, false), // + 1% p atk + GREATER_RUBY_LV2_2(91321, 59150, 1, 0.18, true, false), // + 2% p atk + GREATER_RUBY_LV3_2(91322, 59150, 1, 0.19, true, false), // + 3% p atk + GREATER_RUBY_LV4_2(91323, 59150, 1, 0.20, true, false), // + 5% p atk + GREATER_RUBY_LV5_2(91324, 59150, 1, 0.20, true, false), // + 7% p atk + crit. p. rate +10% // Onyx effect - ONYX_LV1(92066, 50204, 0.02, true), // Soulshot / Spiritshot damage +2% - ONYX_LV2(92067, 50204, 0.03, true), // Soulshot / Spiritshot damage +3% - ONYX_LV3(92068, 50204, 0.05, true), // Soulshot / Spiritshot damage +5% - ONYX_LV4(92069, 50204, 0.08, true), // Soulshot / Spiritshot damage +8% - ONYX_LV5(94521, 50204, 0.12, true), // Soulshot / Spiritshot damage +12% - ONYX_LV6(92070, 50204, 0.16, true), // Soulshot / Spiritshot damage +16%, P. Atk. +50, M. Atk. +50 - ONYX_LV7(92071, 50204, 0.20, true), // Soulshot / Spiritshot damage +20%, P. Atk. +150, M. Atk. +150 - ONYX_LV8(92072, 50204, 0.25, true), // Soulshot / Spiritshot damage +25%, P. Atk. +300, M. Atk. +300 + ONYX_LV1(92066, 50198, 1, 0.02, true, true), // Soulshot / Spiritshot damage +2% + ONYX_LV2(92067, 50198, 2, 0.03, true, true), // Soulshot / Spiritshot damage +3% + ONYX_LV3(92068, 50198, 3, 0.05, true, true), // Soulshot / Spiritshot damage +5% + ONYX_LV4(92069, 50198, 4, 0.08, true, true), // Soulshot / Spiritshot damage +8% + ONYX_LV5(94521, 50198, 5, 0.12, true, true), // Soulshot / Spiritshot damage +12% + ONYX_LV6(92070, 50198, 6, 0.16, true, true), // Soulshot / Spiritshot damage +16%, P. Atk. +50, M. Atk. +50 + ONYX_LV7(92071, 50198, 7, 0.20, true, true), // Soulshot / Spiritshot damage +20%, P. Atk. +150, M. Atk. +150 + ONYX_LV8(92072, 50198, 8, 0.25, true, true), // Soulshot / Spiritshot damage +25%, P. Atk. +300, M. Atk. +300 // Working effect - SHAPPHIRE_LV1(70456, 17821, 0.02, false), - SHAPPHIRE_LV2(70457, 17821, 0.03, false), - SHAPPHIRE_LV3(70458, 17821, 0.05, false), - SHAPPHIRE_LV4(70459, 17821, 0.08, false), - SHAPPHIRE_LV5(70460, 17821, 0.16, false), - GREATER_SHAPPHIRE_LV1(71373, 17821, 00.17, false), // + 2 % m attack - GREATER_SHAPPHIRE_LV2(71374, 17821, 00.18, false), // + 4 % m attack - GREATER_SHAPPHIRE_LV3(71375, 17821, 00.19, false), // + 6 % m attack - GREATER_SHAPPHIRE_LV4(71376, 17821, 00.20, false), // + 10 % m attack - GREATER_SHAPPHIRE_LV5(71377, 17821, 00.20, false), // + 14 % m attack + crit. m. rate +10% + SAPPHIRE_LV1(70456, 17821, 1, 0.02, false, true), + SAPPHIRE_LV2(70457, 17821, 1, 0.03, false, true), + SAPPHIRE_LV3(70458, 17821, 1, 0.05, false, true), + SAPPHIRE_LV4(70459, 17821, 1, 0.08, false, true), + SAPPHIRE_LV5(70460, 17821, 1, 0.16, false, true), + GREATER_SAPPHIRE_LV1(71373, 17821, 1, 00.17, false, true), // + 2 % m attack + GREATER_SAPPHIRE_LV2(71374, 17821, 1, 00.18, false, true), // + 4 % m attack + GREATER_SAPPHIRE_LV3(71375, 17821, 1, 00.19, false, true), // + 6 % m attack + GREATER_SAPPHIRE_LV4(71376, 17821, 1, 00.20, false, true), // + 10 % m attack + GREATER_SAPPHIRE_LV5(71377, 17821, 1, 00.20, false, true), // + 14 % m attack + crit. m. rate +10% // Not show recharge effect - not used in classics maybe - SHAPPHIRE_LV1_2(90333, 59151, 0.02, false), - SHAPPHIRE_LV2_2(90334, 59151, 0.03, false), - SHAPPHIRE_LV3_2(90335, 59151, 0.05, false), - SHAPPHIRE_LV4_2(90336, 59151, 0.08, false), - SHAPPHIRE_LV5_2(90337, 59151, 0.16, false), - GREATER_SHAPPHIRE_LV1_2(91325, 59151, 0.17, false), // + 2 % m attack - GREATER_SHAPPHIRE_LV2_2(91326, 59151, 0.18, false), // + 4 % m attack - GREATER_SHAPPHIRE_LV3_2(91327, 59151, 0.19, false), // + 6 % m attack - GREATER_SHAPPHIRE_LV4_2(91328, 59151, 0.20, false), // + 10 % m attack - GREATER_SHAPPHIRE_LV5_2(91329, 59151, 0.20, false);// + 14 % m attack + crit. m. ata +10% + SAPPHIRE_LV1_2(90333, 59151, 1, 0.02, false, true), + SAPPHIRE_LV2_2(90334, 59151, 1, 0.03, false, true), + SAPPHIRE_LV3_2(90335, 59151, 1, 0.05, false, true), + SAPPHIRE_LV4_2(90336, 59151, 1, 0.08, false, true), + SAPPHIRE_LV5_2(90337, 59151, 1, 0.16, false, true), + GREATER_SAPPHIRE_LV1_2(91325, 59151, 1, 0.17, false, true), // + 2 % m attack + GREATER_SAPPHIRE_LV2_2(91326, 59151, 1, 0.18, false, true), // + 4 % m attack + GREATER_SAPPHIRE_LV3_2(91327, 59151, 1, 0.19, false, true), // + 6 % m attack + GREATER_SAPPHIRE_LV4_2(91328, 59151, 1, 0.20, false, true), // + 10 % m attack + GREATER_SAPPHIRE_LV5_2(91329, 59151, 1, 0.20, false, true); // + 14 % m attack + crit. m. ata +10% private int _itemId; - private int _effectId; + private int _skillId; + private int _skillLevel; private double _bonus; - private boolean _isRuby; // If not, it is sapphire. + private boolean _isRuby; + private boolean _isSapphire; - private BroochJewel(int itemId, int effectId, double bonus, boolean isRuby) + private BroochJewel(int itemId, int skillId, int skillLevel, double bonus, boolean isRuby, boolean isSapphire) { _itemId = itemId; - _effectId = effectId; + _skillId = skillId; + _skillLevel = skillLevel; _bonus = bonus; _isRuby = isRuby; + _isSapphire = isSapphire; } public int getItemId() @@ -97,9 +101,14 @@ public enum BroochJewel return _itemId; } - public int getEffectId() + public int getSkillId() { - return _effectId; + return _skillId; + } + + public int getSkillLevel() + { + return _skillLevel; } public double getBonus() @@ -111,4 +120,9 @@ public enum BroochJewel { return _isRuby; } + + public boolean isSapphire() + { + return _isSapphire; + } } diff --git a/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/model/actor/Player.java b/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/model/actor/Player.java index 4a34213557..1d4a0f8e4b 100644 --- a/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/model/actor/Player.java +++ b/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/model/actor/Player.java @@ -8750,7 +8750,7 @@ public class Player extends Playable for (int i = broochJewels.length - 1; i > 0; i--) { final BroochJewel jewel = broochJewels[i]; - if (!jewel.isRuby() && _inventory.isItemEquipped(jewel.getItemId())) + if (jewel.isSapphire() && _inventory.isItemEquipped(jewel.getItemId())) { setActiveShappireJewel(jewel); break; diff --git a/L2J_Mobius_Classic_Interlude/dist/game/data/scripts/handlers/itemhandlers/BeastSoulShot.java b/L2J_Mobius_Classic_Interlude/dist/game/data/scripts/handlers/itemhandlers/BeastSoulShot.java index 30e5fd51af..abd1015ac8 100644 --- a/L2J_Mobius_Classic_Interlude/dist/game/data/scripts/handlers/itemhandlers/BeastSoulShot.java +++ b/L2J_Mobius_Classic_Interlude/dist/game/data/scripts/handlers/itemhandlers/BeastSoulShot.java @@ -126,7 +126,7 @@ public class BeastSoulShot implements IItemHandler // Visual effect change if player has equipped Ruby level 3 or higher if (activeOwner.getActiveRubyJewel() != null) { - Broadcast.toSelfAndKnownPlayersInRadius(activeOwner, new MagicSkillUse(pet, pet, activeOwner.getActiveRubyJewel().getEffectId(), 1, 0, 0), 600); + Broadcast.toSelfAndKnownPlayersInRadius(activeOwner, new MagicSkillUse(pet, pet, activeOwner.getActiveRubyJewel().getSkillId(), activeOwner.getActiveRubyJewel().getSkillLevel(), 0, 0), 600); } else { @@ -143,7 +143,7 @@ public class BeastSoulShot implements IItemHandler // Visual effect change if player has equipped Ruby level 3 or higher if (activeOwner.getActiveRubyJewel() != null) { - Broadcast.toSelfAndKnownPlayersInRadius(activeOwner, new MagicSkillUse(s, s, activeOwner.getActiveRubyJewel().getEffectId(), 1, 0, 0), 600); + Broadcast.toSelfAndKnownPlayersInRadius(activeOwner, new MagicSkillUse(s, s, activeOwner.getActiveRubyJewel().getSkillId(), activeOwner.getActiveRubyJewel().getSkillLevel(), 0, 0), 600); } else { diff --git a/L2J_Mobius_Classic_Interlude/dist/game/data/scripts/handlers/itemhandlers/BeastSpiritShot.java b/L2J_Mobius_Classic_Interlude/dist/game/data/scripts/handlers/itemhandlers/BeastSpiritShot.java index 44599b2555..19ba21525f 100644 --- a/L2J_Mobius_Classic_Interlude/dist/game/data/scripts/handlers/itemhandlers/BeastSpiritShot.java +++ b/L2J_Mobius_Classic_Interlude/dist/game/data/scripts/handlers/itemhandlers/BeastSpiritShot.java @@ -127,7 +127,7 @@ public class BeastSpiritShot implements IItemHandler // Visual effect change if player has equipped Sapphire level 3 or higher if (activeOwner.getActiveShappireJewel() != null) { - Broadcast.toSelfAndKnownPlayersInRadius(activeOwner, new MagicSkillUse(pet, pet, activeOwner.getActiveShappireJewel().getEffectId(), 2, 0, 0), 600); + Broadcast.toSelfAndKnownPlayersInRadius(activeOwner, new MagicSkillUse(pet, pet, activeOwner.getActiveShappireJewel().getSkillId(), activeOwner.getActiveShappireJewel().getSkillLevel(), 0, 0), 600); } else { @@ -144,7 +144,7 @@ public class BeastSpiritShot implements IItemHandler // Visual effect change if player has equipped Sapphire level 3 or higher if (activeOwner.getActiveShappireJewel() != null) { - Broadcast.toSelfAndKnownPlayersInRadius(activeOwner, new MagicSkillUse(s, s, activeOwner.getActiveShappireJewel().getEffectId(), 2, 0, 0), 600); + Broadcast.toSelfAndKnownPlayersInRadius(activeOwner, new MagicSkillUse(s, s, activeOwner.getActiveShappireJewel().getSkillId(), activeOwner.getActiveShappireJewel().getSkillLevel(), 0, 0), 600); } else { diff --git a/L2J_Mobius_Classic_Interlude/dist/game/data/scripts/handlers/itemhandlers/BlessedSoulShots.java b/L2J_Mobius_Classic_Interlude/dist/game/data/scripts/handlers/itemhandlers/BlessedSoulShots.java index 85d614b478..6dcbb48f32 100644 --- a/L2J_Mobius_Classic_Interlude/dist/game/data/scripts/handlers/itemhandlers/BlessedSoulShots.java +++ b/L2J_Mobius_Classic_Interlude/dist/game/data/scripts/handlers/itemhandlers/BlessedSoulShots.java @@ -112,7 +112,7 @@ public class BlessedSoulShots implements IItemHandler // Visual effect change if player has equipped Ruby level 3 or higher if (player.getActiveRubyJewel() != null) { - Broadcast.toSelfAndKnownPlayersInRadius(player, new MagicSkillUse(player, player, player.getActiveRubyJewel().getEffectId(), 1, 0, 0), 600); + Broadcast.toSelfAndKnownPlayersInRadius(player, new MagicSkillUse(player, player, player.getActiveRubyJewel().getSkillId(), player.getActiveRubyJewel().getSkillLevel(), 0, 0), 600); } else { diff --git a/L2J_Mobius_Classic_Interlude/dist/game/data/scripts/handlers/itemhandlers/BlessedSpiritShot.java b/L2J_Mobius_Classic_Interlude/dist/game/data/scripts/handlers/itemhandlers/BlessedSpiritShot.java index c2610ec4e3..0107d8e303 100644 --- a/L2J_Mobius_Classic_Interlude/dist/game/data/scripts/handlers/itemhandlers/BlessedSpiritShot.java +++ b/L2J_Mobius_Classic_Interlude/dist/game/data/scripts/handlers/itemhandlers/BlessedSpiritShot.java @@ -104,7 +104,7 @@ public class BlessedSpiritShot implements IItemHandler // Visual effect change if player has equipped Sapphire level 3 or higher if (player.getActiveShappireJewel() != null) { - Broadcast.toSelfAndKnownPlayersInRadius(player, new MagicSkillUse(player, player, player.getActiveShappireJewel().getEffectId(), 1, 0, 0), 600); + Broadcast.toSelfAndKnownPlayersInRadius(player, new MagicSkillUse(player, player, player.getActiveShappireJewel().getSkillId(), player.getActiveShappireJewel().getSkillLevel(), 0, 0), 600); } else { diff --git a/L2J_Mobius_Classic_Interlude/dist/game/data/scripts/handlers/itemhandlers/SoulShots.java b/L2J_Mobius_Classic_Interlude/dist/game/data/scripts/handlers/itemhandlers/SoulShots.java index a61cc1bd71..e965687e9b 100644 --- a/L2J_Mobius_Classic_Interlude/dist/game/data/scripts/handlers/itemhandlers/SoulShots.java +++ b/L2J_Mobius_Classic_Interlude/dist/game/data/scripts/handlers/itemhandlers/SoulShots.java @@ -109,7 +109,7 @@ public class SoulShots implements IItemHandler // Visual effect change if player has equipped Ruby level 3 or higher if (player.getActiveRubyJewel() != null) { - Broadcast.toSelfAndKnownPlayersInRadius(player, new MagicSkillUse(player, player, player.getActiveRubyJewel().getEffectId(), 1, 0, 0), 600); + Broadcast.toSelfAndKnownPlayersInRadius(player, new MagicSkillUse(player, player, player.getActiveRubyJewel().getSkillId(), player.getActiveRubyJewel().getSkillLevel(), 0, 0), 600); } else { diff --git a/L2J_Mobius_Classic_Interlude/dist/game/data/scripts/handlers/itemhandlers/SpiritShot.java b/L2J_Mobius_Classic_Interlude/dist/game/data/scripts/handlers/itemhandlers/SpiritShot.java index 12f575b243..d1de206b63 100644 --- a/L2J_Mobius_Classic_Interlude/dist/game/data/scripts/handlers/itemhandlers/SpiritShot.java +++ b/L2J_Mobius_Classic_Interlude/dist/game/data/scripts/handlers/itemhandlers/SpiritShot.java @@ -104,7 +104,7 @@ public class SpiritShot implements IItemHandler // Visual effect change if player has equipped Sapphire level 3 or higher if (player.getActiveShappireJewel() != null) { - Broadcast.toSelfAndKnownPlayersInRadius(player, new MagicSkillUse(player, player, player.getActiveShappireJewel().getEffectId(), 1, 0, 0), 600); + Broadcast.toSelfAndKnownPlayersInRadius(player, new MagicSkillUse(player, player, player.getActiveShappireJewel().getSkillId(), player.getActiveShappireJewel().getSkillLevel(), 0, 0), 600); } else { diff --git a/L2J_Mobius_Classic_Interlude/java/org/l2jmobius/gameserver/enums/BroochJewel.java b/L2J_Mobius_Classic_Interlude/java/org/l2jmobius/gameserver/enums/BroochJewel.java index 591ee713ae..7906df9779 100644 --- a/L2J_Mobius_Classic_Interlude/java/org/l2jmobius/gameserver/enums/BroochJewel.java +++ b/L2J_Mobius_Classic_Interlude/java/org/l2jmobius/gameserver/enums/BroochJewel.java @@ -21,28 +21,37 @@ package org.l2jmobius.gameserver.enums; */ public enum BroochJewel { - RUBY_LV1(38855, 17814, 0.01, true), - RUBY_LV2(38856, 17814, 0.035, true), - RUBY_LV3(38857, 17815, 0.075, true), - RUBY_LV4(38858, 17816, 0.125, true), - RUBY_LV5(38859, 17817, 0.2, true), - SHAPPHIRE_LV1(38927, 17818, 0.01, false), - SHAPPHIRE_LV2(38928, 17818, 0.035, false), - SHAPPHIRE_LV3(38929, 17819, 0.075, false), - SHAPPHIRE_LV4(38930, 17820, 0.125, false), - SHAPPHIRE_LV5(38931, 17821, 0.2, false); + RUBY_LV1(38855, 17814, 1, 0.01, true, false), + RUBY_LV2(38856, 17814, 1, 0.035, true, false), + RUBY_LV3(38857, 17815, 1, 0.075, true, false), + RUBY_LV4(38858, 17816, 1, 0.125, true, false), + RUBY_LV5(38859, 17817, 1, 0.2, true, false), + + GREATER_RUBY(47688, 18715, 1, 0.2, true, false), + + SAPPHIRE_LV1(38927, 17818, 1, 0.01, false, true), + SAPPHIRE_LV2(38928, 17818, 1, 0.035, false, true), + SAPPHIRE_LV3(38929, 17819, 1, 0.075, false, true), + SAPPHIRE_LV4(38930, 17820, 1, 0.125, false, true), + SAPPHIRE_LV5(38931, 17821, 1, 0.2, false, true), + + GREATER_SAPPHIRE(47689, 18718, 1, 0.2, false, true); private int _itemId; - private int _effectId; + private int _skillId; + private int _skillLevel; private double _bonus; - private boolean _isRuby; // If not, it is sapphire. + private boolean _isRuby; + private boolean _isSapphire; - private BroochJewel(int itemId, int effectId, double bonus, boolean isRuby) + private BroochJewel(int itemId, int skillId, int skillLevel, double bonus, boolean isRuby, boolean isSapphire) { _itemId = itemId; - _effectId = effectId; + _skillId = skillId; + _skillLevel = skillLevel; _bonus = bonus; _isRuby = isRuby; + _isSapphire = isSapphire; } public int getItemId() @@ -50,9 +59,14 @@ public enum BroochJewel return _itemId; } - public int getEffectId() + public int getSkillId() { - return _effectId; + return _skillId; + } + + public int getSkillLevel() + { + return _skillLevel; } public double getBonus() @@ -64,4 +78,9 @@ public enum BroochJewel { return _isRuby; } + + public boolean isSapphire() + { + return _isSapphire; + } } diff --git a/L2J_Mobius_Classic_Interlude/java/org/l2jmobius/gameserver/model/actor/Player.java b/L2J_Mobius_Classic_Interlude/java/org/l2jmobius/gameserver/model/actor/Player.java index 2053b9835b..8af80a7e5d 100644 --- a/L2J_Mobius_Classic_Interlude/java/org/l2jmobius/gameserver/model/actor/Player.java +++ b/L2J_Mobius_Classic_Interlude/java/org/l2jmobius/gameserver/model/actor/Player.java @@ -8761,7 +8761,7 @@ public class Player extends Playable for (int i = broochJewels.length - 1; i > 0; i--) { final BroochJewel jewel = broochJewels[i]; - if (!jewel.isRuby() && _inventory.isItemEquipped(jewel.getItemId())) + if (jewel.isSapphire() && _inventory.isItemEquipped(jewel.getItemId())) { setActiveShappireJewel(jewel); break; diff --git a/L2J_Mobius_Essence_4.2_DwellingOfSpirits/dist/game/data/scripts/handlers/itemhandlers/BeastSoulShot.java b/L2J_Mobius_Essence_4.2_DwellingOfSpirits/dist/game/data/scripts/handlers/itemhandlers/BeastSoulShot.java index 30e5fd51af..abd1015ac8 100644 --- a/L2J_Mobius_Essence_4.2_DwellingOfSpirits/dist/game/data/scripts/handlers/itemhandlers/BeastSoulShot.java +++ b/L2J_Mobius_Essence_4.2_DwellingOfSpirits/dist/game/data/scripts/handlers/itemhandlers/BeastSoulShot.java @@ -126,7 +126,7 @@ public class BeastSoulShot implements IItemHandler // Visual effect change if player has equipped Ruby level 3 or higher if (activeOwner.getActiveRubyJewel() != null) { - Broadcast.toSelfAndKnownPlayersInRadius(activeOwner, new MagicSkillUse(pet, pet, activeOwner.getActiveRubyJewel().getEffectId(), 1, 0, 0), 600); + Broadcast.toSelfAndKnownPlayersInRadius(activeOwner, new MagicSkillUse(pet, pet, activeOwner.getActiveRubyJewel().getSkillId(), activeOwner.getActiveRubyJewel().getSkillLevel(), 0, 0), 600); } else { @@ -143,7 +143,7 @@ public class BeastSoulShot implements IItemHandler // Visual effect change if player has equipped Ruby level 3 or higher if (activeOwner.getActiveRubyJewel() != null) { - Broadcast.toSelfAndKnownPlayersInRadius(activeOwner, new MagicSkillUse(s, s, activeOwner.getActiveRubyJewel().getEffectId(), 1, 0, 0), 600); + Broadcast.toSelfAndKnownPlayersInRadius(activeOwner, new MagicSkillUse(s, s, activeOwner.getActiveRubyJewel().getSkillId(), activeOwner.getActiveRubyJewel().getSkillLevel(), 0, 0), 600); } else { diff --git a/L2J_Mobius_Essence_4.2_DwellingOfSpirits/dist/game/data/scripts/handlers/itemhandlers/BeastSpiritShot.java b/L2J_Mobius_Essence_4.2_DwellingOfSpirits/dist/game/data/scripts/handlers/itemhandlers/BeastSpiritShot.java index ab876ab449..d9855c16f7 100644 --- a/L2J_Mobius_Essence_4.2_DwellingOfSpirits/dist/game/data/scripts/handlers/itemhandlers/BeastSpiritShot.java +++ b/L2J_Mobius_Essence_4.2_DwellingOfSpirits/dist/game/data/scripts/handlers/itemhandlers/BeastSpiritShot.java @@ -127,7 +127,7 @@ public class BeastSpiritShot implements IItemHandler // Visual effect change if player has equipped Sapphire level 3 or higher if (activeOwner.getActiveShappireJewel() != null) { - Broadcast.toSelfAndKnownPlayersInRadius(activeOwner, new MagicSkillUse(pet, pet, activeOwner.getActiveShappireJewel().getEffectId(), 2, 0, 0), 600); + Broadcast.toSelfAndKnownPlayersInRadius(activeOwner, new MagicSkillUse(pet, pet, activeOwner.getActiveShappireJewel().getSkillId(), activeOwner.getActiveShappireJewel().getSkillLevel(), 0, 0), 600); } else { @@ -144,7 +144,7 @@ public class BeastSpiritShot implements IItemHandler // Visual effect change if player has equipped Sapphire level 3 or higher if (activeOwner.getActiveShappireJewel() != null) { - Broadcast.toSelfAndKnownPlayersInRadius(activeOwner, new MagicSkillUse(s, s, activeOwner.getActiveShappireJewel().getEffectId(), 2, 0, 0), 600); + Broadcast.toSelfAndKnownPlayersInRadius(activeOwner, new MagicSkillUse(s, s, activeOwner.getActiveShappireJewel().getSkillId(), activeOwner.getActiveShappireJewel().getSkillLevel(), 0, 0), 600); } else { diff --git a/L2J_Mobius_Essence_4.2_DwellingOfSpirits/dist/game/data/scripts/handlers/itemhandlers/BlessedSoulShots.java b/L2J_Mobius_Essence_4.2_DwellingOfSpirits/dist/game/data/scripts/handlers/itemhandlers/BlessedSoulShots.java index f553a0c846..9da3b6cfd7 100644 --- a/L2J_Mobius_Essence_4.2_DwellingOfSpirits/dist/game/data/scripts/handlers/itemhandlers/BlessedSoulShots.java +++ b/L2J_Mobius_Essence_4.2_DwellingOfSpirits/dist/game/data/scripts/handlers/itemhandlers/BlessedSoulShots.java @@ -101,7 +101,7 @@ public class BlessedSoulShots implements IItemHandler // Visual effect change if player has equipped Ruby level 3 or higher if (player.getActiveRubyJewel() != null) { - Broadcast.toSelfAndKnownPlayersInRadius(player, new MagicSkillUse(player, player, player.getActiveRubyJewel().getEffectId(), 1, 0, 0), 600); + Broadcast.toSelfAndKnownPlayersInRadius(player, new MagicSkillUse(player, player, player.getActiveRubyJewel().getSkillId(), player.getActiveRubyJewel().getSkillLevel(), 0, 0), 600); } else { diff --git a/L2J_Mobius_Essence_4.2_DwellingOfSpirits/dist/game/data/scripts/handlers/itemhandlers/BlessedSpiritShot.java b/L2J_Mobius_Essence_4.2_DwellingOfSpirits/dist/game/data/scripts/handlers/itemhandlers/BlessedSpiritShot.java index 119fe1f81e..f8e9fb8786 100644 --- a/L2J_Mobius_Essence_4.2_DwellingOfSpirits/dist/game/data/scripts/handlers/itemhandlers/BlessedSpiritShot.java +++ b/L2J_Mobius_Essence_4.2_DwellingOfSpirits/dist/game/data/scripts/handlers/itemhandlers/BlessedSpiritShot.java @@ -91,7 +91,7 @@ public class BlessedSpiritShot implements IItemHandler // Visual effect change if player has equipped Sapphire level 3 or higher if (player.getActiveShappireJewel() != null) { - Broadcast.toSelfAndKnownPlayersInRadius(player, new MagicSkillUse(player, player, player.getActiveShappireJewel().getEffectId(), 1, 0, 0), 600); + Broadcast.toSelfAndKnownPlayersInRadius(player, new MagicSkillUse(player, player, player.getActiveShappireJewel().getSkillId(), player.getActiveShappireJewel().getSkillLevel(), 0, 0), 600); } else { diff --git a/L2J_Mobius_Essence_4.2_DwellingOfSpirits/dist/game/data/scripts/handlers/itemhandlers/SoulShots.java b/L2J_Mobius_Essence_4.2_DwellingOfSpirits/dist/game/data/scripts/handlers/itemhandlers/SoulShots.java index 1f44066740..3c8cbb15c4 100644 --- a/L2J_Mobius_Essence_4.2_DwellingOfSpirits/dist/game/data/scripts/handlers/itemhandlers/SoulShots.java +++ b/L2J_Mobius_Essence_4.2_DwellingOfSpirits/dist/game/data/scripts/handlers/itemhandlers/SoulShots.java @@ -98,7 +98,7 @@ public class SoulShots implements IItemHandler // Visual effect change if player has equipped Ruby level 3 or higher if (player.getActiveRubyJewel() != null) { - Broadcast.toSelfAndKnownPlayersInRadius(player, new MagicSkillUse(player, player, player.getActiveRubyJewel().getEffectId(), 1, 0, 0), 600); + Broadcast.toSelfAndKnownPlayersInRadius(player, new MagicSkillUse(player, player, player.getActiveRubyJewel().getSkillId(), player.getActiveRubyJewel().getSkillLevel(), 0, 0), 600); } else { diff --git a/L2J_Mobius_Essence_4.2_DwellingOfSpirits/dist/game/data/scripts/handlers/itemhandlers/SpiritShot.java b/L2J_Mobius_Essence_4.2_DwellingOfSpirits/dist/game/data/scripts/handlers/itemhandlers/SpiritShot.java index 353347df87..e1f09a5a72 100644 --- a/L2J_Mobius_Essence_4.2_DwellingOfSpirits/dist/game/data/scripts/handlers/itemhandlers/SpiritShot.java +++ b/L2J_Mobius_Essence_4.2_DwellingOfSpirits/dist/game/data/scripts/handlers/itemhandlers/SpiritShot.java @@ -91,7 +91,7 @@ public class SpiritShot implements IItemHandler // Visual effect change if player has equipped Sapphire level 3 or higher if (player.getActiveShappireJewel() != null) { - Broadcast.toSelfAndKnownPlayersInRadius(player, new MagicSkillUse(player, player, player.getActiveShappireJewel().getEffectId(), 1, 0, 0), 600); + Broadcast.toSelfAndKnownPlayersInRadius(player, new MagicSkillUse(player, player, player.getActiveShappireJewel().getSkillId(), player.getActiveShappireJewel().getSkillLevel(), 0, 0), 600); } else { diff --git a/L2J_Mobius_Essence_4.2_DwellingOfSpirits/java/org/l2jmobius/gameserver/enums/BroochJewel.java b/L2J_Mobius_Essence_4.2_DwellingOfSpirits/java/org/l2jmobius/gameserver/enums/BroochJewel.java index 38044cad40..df79c0974b 100644 --- a/L2J_Mobius_Essence_4.2_DwellingOfSpirits/java/org/l2jmobius/gameserver/enums/BroochJewel.java +++ b/L2J_Mobius_Essence_4.2_DwellingOfSpirits/java/org/l2jmobius/gameserver/enums/BroochJewel.java @@ -22,74 +22,78 @@ package org.l2jmobius.gameserver.enums; public enum BroochJewel { // Working effect - RUBY_LV1(70451, 17817, 0.02, true), - RUBY_LV2(70452, 17817, 0.03, true), - RUBY_LV3(70453, 17817, 0.05, true), - RUBY_LV4(70454, 17817, 0.08, true), - RUBY_LV5(70455, 17817, 0.16, true), - GREATER_RUBY_LV1(71368, 17817, 0.17, true), // + 1% p atk - GREATER_RUBY_LV2(71369, 17817, 0.18, true), // + 2% p atk - GREATER_RUBY_LV3(71370, 17817, 0.19, true), // + 3% p atk - GREATER_RUBY_LV4(71371, 17817, 0.20, true), // + 5% p atk - GREATER_RUBY_LV5(71372, 17817, 0.20, true), // + 7% p atk + crit. p. rate +10% + RUBY_LV1(70451, 17817, 1, 0.02, true, false), + RUBY_LV2(70452, 17817, 1, 0.03, true, false), + RUBY_LV3(70453, 17817, 1, 0.05, true, false), + RUBY_LV4(70454, 17817, 1, 0.08, true, false), + RUBY_LV5(70455, 17817, 1, 0.16, true, false), + GREATER_RUBY_LV1(71368, 17817, 1, 0.17, true, false), // + 1% p atk + GREATER_RUBY_LV2(71369, 17817, 1, 0.18, true, false), // + 2% p atk + GREATER_RUBY_LV3(71370, 17817, 1, 0.19, true, false), // + 3% p atk + GREATER_RUBY_LV4(71371, 17817, 1, 0.20, true, false), // + 5% p atk + GREATER_RUBY_LV5(71372, 17817, 1, 0.20, true, false), // + 7% p atk + crit. p. rate +10% // Not show recharge effect - not used in classics maybe - RUBY_LV1_2(90328, 59150, 0.02, true), - RUBY_LV2_2(90329, 59150, 0.03, true), - RUBY_LV3_2(90330, 59150, 0.05, true), - RUBY_LV4_2(90331, 59150, 0.08, true), - RUBY_LV5_2(90332, 59150, 0.16, true), - GREATER_RUBY_LV1_2(91320, 59150, 0.17, true), // + 1% p atk - GREATER_RUBY_LV2_2(91321, 59150, 0.18, true), // + 2% p atk - GREATER_RUBY_LV3_2(91322, 59150, 0.19, true), // + 3% p atk - GREATER_RUBY_LV4_2(91323, 59150, 0.20, true), // + 5% p atk - GREATER_RUBY_LV5_2(91324, 59150, 0.20, true), // + 7% p atk + crit. p. rate +10% + RUBY_LV1_2(90328, 59150, 1, 0.02, true, false), + RUBY_LV2_2(90329, 59150, 1, 0.03, true, false), + RUBY_LV3_2(90330, 59150, 1, 0.05, true, false), + RUBY_LV4_2(90331, 59150, 1, 0.08, true, false), + RUBY_LV5_2(90332, 59150, 1, 0.16, true, false), + GREATER_RUBY_LV1_2(91320, 59150, 1, 0.17, true, false), // + 1% p atk + GREATER_RUBY_LV2_2(91321, 59150, 1, 0.18, true, false), // + 2% p atk + GREATER_RUBY_LV3_2(91322, 59150, 1, 0.19, true, false), // + 3% p atk + GREATER_RUBY_LV4_2(91323, 59150, 1, 0.20, true, false), // + 5% p atk + GREATER_RUBY_LV5_2(91324, 59150, 1, 0.20, true, false), // + 7% p atk + crit. p. rate +10% // Onyx effect - ONYX_LV1(92066, 50204, 0.02, true), // Soulshot / Spiritshot damage +2% - ONYX_LV2(92067, 50204, 0.03, true), // Soulshot / Spiritshot damage +3% - ONYX_LV3(92068, 50204, 0.05, true), // Soulshot / Spiritshot damage +5% - ONYX_LV4(92069, 50204, 0.08, true), // Soulshot / Spiritshot damage +8% - ONYX_LV5(94521, 50204, 0.12, true), // Soulshot / Spiritshot damage +12% - ONYX_LV6(92070, 50204, 0.16, true), // Soulshot / Spiritshot damage +16%, P. Atk. +50, M. Atk. +50 - ONYX_LV7(92071, 50204, 0.20, true), // Soulshot / Spiritshot damage +20%, P. Atk. +150, M. Atk. +150 - ONYX_LV8(92072, 50204, 0.25, true), // Soulshot / Spiritshot damage +25%, P. Atk. +300, M. Atk. +300 + ONYX_LV1(92066, 50198, 1, 0.02, true, true), // Soulshot / Spiritshot damage +2% + ONYX_LV2(92067, 50198, 2, 0.03, true, true), // Soulshot / Spiritshot damage +3% + ONYX_LV3(92068, 50198, 3, 0.05, true, true), // Soulshot / Spiritshot damage +5% + ONYX_LV4(92069, 50198, 4, 0.08, true, true), // Soulshot / Spiritshot damage +8% + ONYX_LV5(94521, 50198, 5, 0.12, true, true), // Soulshot / Spiritshot damage +12% + ONYX_LV6(92070, 50198, 6, 0.16, true, true), // Soulshot / Spiritshot damage +16%, P. Atk. +50, M. Atk. +50 + ONYX_LV7(92071, 50198, 7, 0.20, true, true), // Soulshot / Spiritshot damage +20%, P. Atk. +150, M. Atk. +150 + ONYX_LV8(92072, 50198, 8, 0.25, true, true), // Soulshot / Spiritshot damage +25%, P. Atk. +300, M. Atk. +300 // Working effect - SHAPPHIRE_LV1(70456, 17821, 0.02, false), - SHAPPHIRE_LV2(70457, 17821, 0.03, false), - SHAPPHIRE_LV3(70458, 17821, 0.05, false), - SHAPPHIRE_LV4(70459, 17821, 0.08, false), - SHAPPHIRE_LV5(70460, 17821, 0.16, false), - GREATER_SHAPPHIRE_LV1(71373, 17821, 00.17, false), // + 2 % m attack - GREATER_SHAPPHIRE_LV2(71374, 17821, 00.18, false), // + 4 % m attack - GREATER_SHAPPHIRE_LV3(71375, 17821, 00.19, false), // + 6 % m attack - GREATER_SHAPPHIRE_LV4(71376, 17821, 00.20, false), // + 10 % m attack - GREATER_SHAPPHIRE_LV5(71377, 17821, 00.20, false), // + 14 % m attack + crit. m. rate +10% + SAPPHIRE_LV1(70456, 17821, 1, 0.02, false, true), + SAPPHIRE_LV2(70457, 17821, 1, 0.03, false, true), + SAPPHIRE_LV3(70458, 17821, 1, 0.05, false, true), + SAPPHIRE_LV4(70459, 17821, 1, 0.08, false, true), + SAPPHIRE_LV5(70460, 17821, 1, 0.16, false, true), + GREATER_SAPPHIRE_LV1(71373, 17821, 1, 00.17, false, true), // + 2 % m attack + GREATER_SAPPHIRE_LV2(71374, 17821, 1, 00.18, false, true), // + 4 % m attack + GREATER_SAPPHIRE_LV3(71375, 17821, 1, 00.19, false, true), // + 6 % m attack + GREATER_SAPPHIRE_LV4(71376, 17821, 1, 00.20, false, true), // + 10 % m attack + GREATER_SAPPHIRE_LV5(71377, 17821, 1, 00.20, false, true), // + 14 % m attack + crit. m. rate +10% // Not show recharge effect - not used in classics maybe - SHAPPHIRE_LV1_2(90333, 59151, 0.02, false), - SHAPPHIRE_LV2_2(90334, 59151, 0.03, false), - SHAPPHIRE_LV3_2(90335, 59151, 0.05, false), - SHAPPHIRE_LV4_2(90336, 59151, 0.08, false), - SHAPPHIRE_LV5_2(90337, 59151, 0.16, false), - GREATER_SHAPPHIRE_LV1_2(91325, 59151, 0.17, false), // + 2 % m attack - GREATER_SHAPPHIRE_LV2_2(91326, 59151, 0.18, false), // + 4 % m attack - GREATER_SHAPPHIRE_LV3_2(91327, 59151, 0.19, false), // + 6 % m attack - GREATER_SHAPPHIRE_LV4_2(91328, 59151, 0.20, false), // + 10 % m attack - GREATER_SHAPPHIRE_LV5_2(91329, 59151, 0.20, false);// + 14 % m attack + crit. m. ata +10% + SAPPHIRE_LV1_2(90333, 59151, 1, 0.02, false, true), + SAPPHIRE_LV2_2(90334, 59151, 1, 0.03, false, true), + SAPPHIRE_LV3_2(90335, 59151, 1, 0.05, false, true), + SAPPHIRE_LV4_2(90336, 59151, 1, 0.08, false, true), + SAPPHIRE_LV5_2(90337, 59151, 1, 0.16, false, true), + GREATER_SAPPHIRE_LV1_2(91325, 59151, 1, 0.17, false, true), // + 2 % m attack + GREATER_SAPPHIRE_LV2_2(91326, 59151, 1, 0.18, false, true), // + 4 % m attack + GREATER_SAPPHIRE_LV3_2(91327, 59151, 1, 0.19, false, true), // + 6 % m attack + GREATER_SAPPHIRE_LV4_2(91328, 59151, 1, 0.20, false, true), // + 10 % m attack + GREATER_SAPPHIRE_LV5_2(91329, 59151, 1, 0.20, false, true); // + 14 % m attack + crit. m. ata +10% private int _itemId; - private int _effectId; + private int _skillId; + private int _skillLevel; private double _bonus; - private boolean _isRuby; // If not, it is sapphire. + private boolean _isRuby; + private boolean _isSapphire; - private BroochJewel(int itemId, int effectId, double bonus, boolean isRuby) + private BroochJewel(int itemId, int skillId, int skillLevel, double bonus, boolean isRuby, boolean isSapphire) { _itemId = itemId; - _effectId = effectId; + _skillId = skillId; + _skillLevel = skillLevel; _bonus = bonus; _isRuby = isRuby; + _isSapphire = isSapphire; } public int getItemId() @@ -97,9 +101,14 @@ public enum BroochJewel return _itemId; } - public int getEffectId() + public int getSkillId() { - return _effectId; + return _skillId; + } + + public int getSkillLevel() + { + return _skillLevel; } public double getBonus() @@ -111,4 +120,9 @@ public enum BroochJewel { return _isRuby; } + + public boolean isSapphire() + { + return _isSapphire; + } } diff --git a/L2J_Mobius_Essence_4.2_DwellingOfSpirits/java/org/l2jmobius/gameserver/model/actor/Player.java b/L2J_Mobius_Essence_4.2_DwellingOfSpirits/java/org/l2jmobius/gameserver/model/actor/Player.java index 0ea7972dfb..3c1680b732 100644 --- a/L2J_Mobius_Essence_4.2_DwellingOfSpirits/java/org/l2jmobius/gameserver/model/actor/Player.java +++ b/L2J_Mobius_Essence_4.2_DwellingOfSpirits/java/org/l2jmobius/gameserver/model/actor/Player.java @@ -8915,7 +8915,7 @@ public class Player extends Playable for (int i = broochJewels.length - 1; i > 0; i--) { final BroochJewel jewel = broochJewels[i]; - if (!jewel.isRuby() && _inventory.isItemEquipped(jewel.getItemId())) + if (jewel.isSapphire() && _inventory.isItemEquipped(jewel.getItemId())) { setActiveShappireJewel(jewel); break; diff --git a/L2J_Mobius_Essence_5.2_FrostLord/dist/game/data/scripts/handlers/itemhandlers/BeastSoulShot.java b/L2J_Mobius_Essence_5.2_FrostLord/dist/game/data/scripts/handlers/itemhandlers/BeastSoulShot.java index 30e5fd51af..abd1015ac8 100644 --- a/L2J_Mobius_Essence_5.2_FrostLord/dist/game/data/scripts/handlers/itemhandlers/BeastSoulShot.java +++ b/L2J_Mobius_Essence_5.2_FrostLord/dist/game/data/scripts/handlers/itemhandlers/BeastSoulShot.java @@ -126,7 +126,7 @@ public class BeastSoulShot implements IItemHandler // Visual effect change if player has equipped Ruby level 3 or higher if (activeOwner.getActiveRubyJewel() != null) { - Broadcast.toSelfAndKnownPlayersInRadius(activeOwner, new MagicSkillUse(pet, pet, activeOwner.getActiveRubyJewel().getEffectId(), 1, 0, 0), 600); + Broadcast.toSelfAndKnownPlayersInRadius(activeOwner, new MagicSkillUse(pet, pet, activeOwner.getActiveRubyJewel().getSkillId(), activeOwner.getActiveRubyJewel().getSkillLevel(), 0, 0), 600); } else { @@ -143,7 +143,7 @@ public class BeastSoulShot implements IItemHandler // Visual effect change if player has equipped Ruby level 3 or higher if (activeOwner.getActiveRubyJewel() != null) { - Broadcast.toSelfAndKnownPlayersInRadius(activeOwner, new MagicSkillUse(s, s, activeOwner.getActiveRubyJewel().getEffectId(), 1, 0, 0), 600); + Broadcast.toSelfAndKnownPlayersInRadius(activeOwner, new MagicSkillUse(s, s, activeOwner.getActiveRubyJewel().getSkillId(), activeOwner.getActiveRubyJewel().getSkillLevel(), 0, 0), 600); } else { diff --git a/L2J_Mobius_Essence_5.2_FrostLord/dist/game/data/scripts/handlers/itemhandlers/BeastSpiritShot.java b/L2J_Mobius_Essence_5.2_FrostLord/dist/game/data/scripts/handlers/itemhandlers/BeastSpiritShot.java index ab876ab449..d9855c16f7 100644 --- a/L2J_Mobius_Essence_5.2_FrostLord/dist/game/data/scripts/handlers/itemhandlers/BeastSpiritShot.java +++ b/L2J_Mobius_Essence_5.2_FrostLord/dist/game/data/scripts/handlers/itemhandlers/BeastSpiritShot.java @@ -127,7 +127,7 @@ public class BeastSpiritShot implements IItemHandler // Visual effect change if player has equipped Sapphire level 3 or higher if (activeOwner.getActiveShappireJewel() != null) { - Broadcast.toSelfAndKnownPlayersInRadius(activeOwner, new MagicSkillUse(pet, pet, activeOwner.getActiveShappireJewel().getEffectId(), 2, 0, 0), 600); + Broadcast.toSelfAndKnownPlayersInRadius(activeOwner, new MagicSkillUse(pet, pet, activeOwner.getActiveShappireJewel().getSkillId(), activeOwner.getActiveShappireJewel().getSkillLevel(), 0, 0), 600); } else { @@ -144,7 +144,7 @@ public class BeastSpiritShot implements IItemHandler // Visual effect change if player has equipped Sapphire level 3 or higher if (activeOwner.getActiveShappireJewel() != null) { - Broadcast.toSelfAndKnownPlayersInRadius(activeOwner, new MagicSkillUse(s, s, activeOwner.getActiveShappireJewel().getEffectId(), 2, 0, 0), 600); + Broadcast.toSelfAndKnownPlayersInRadius(activeOwner, new MagicSkillUse(s, s, activeOwner.getActiveShappireJewel().getSkillId(), activeOwner.getActiveShappireJewel().getSkillLevel(), 0, 0), 600); } else { diff --git a/L2J_Mobius_Essence_5.2_FrostLord/dist/game/data/scripts/handlers/itemhandlers/BlessedSoulShots.java b/L2J_Mobius_Essence_5.2_FrostLord/dist/game/data/scripts/handlers/itemhandlers/BlessedSoulShots.java index f553a0c846..9da3b6cfd7 100644 --- a/L2J_Mobius_Essence_5.2_FrostLord/dist/game/data/scripts/handlers/itemhandlers/BlessedSoulShots.java +++ b/L2J_Mobius_Essence_5.2_FrostLord/dist/game/data/scripts/handlers/itemhandlers/BlessedSoulShots.java @@ -101,7 +101,7 @@ public class BlessedSoulShots implements IItemHandler // Visual effect change if player has equipped Ruby level 3 or higher if (player.getActiveRubyJewel() != null) { - Broadcast.toSelfAndKnownPlayersInRadius(player, new MagicSkillUse(player, player, player.getActiveRubyJewel().getEffectId(), 1, 0, 0), 600); + Broadcast.toSelfAndKnownPlayersInRadius(player, new MagicSkillUse(player, player, player.getActiveRubyJewel().getSkillId(), player.getActiveRubyJewel().getSkillLevel(), 0, 0), 600); } else { diff --git a/L2J_Mobius_Essence_5.2_FrostLord/dist/game/data/scripts/handlers/itemhandlers/BlessedSpiritShot.java b/L2J_Mobius_Essence_5.2_FrostLord/dist/game/data/scripts/handlers/itemhandlers/BlessedSpiritShot.java index 119fe1f81e..f8e9fb8786 100644 --- a/L2J_Mobius_Essence_5.2_FrostLord/dist/game/data/scripts/handlers/itemhandlers/BlessedSpiritShot.java +++ b/L2J_Mobius_Essence_5.2_FrostLord/dist/game/data/scripts/handlers/itemhandlers/BlessedSpiritShot.java @@ -91,7 +91,7 @@ public class BlessedSpiritShot implements IItemHandler // Visual effect change if player has equipped Sapphire level 3 or higher if (player.getActiveShappireJewel() != null) { - Broadcast.toSelfAndKnownPlayersInRadius(player, new MagicSkillUse(player, player, player.getActiveShappireJewel().getEffectId(), 1, 0, 0), 600); + Broadcast.toSelfAndKnownPlayersInRadius(player, new MagicSkillUse(player, player, player.getActiveShappireJewel().getSkillId(), player.getActiveShappireJewel().getSkillLevel(), 0, 0), 600); } else { diff --git a/L2J_Mobius_Essence_5.2_FrostLord/dist/game/data/scripts/handlers/itemhandlers/SoulShots.java b/L2J_Mobius_Essence_5.2_FrostLord/dist/game/data/scripts/handlers/itemhandlers/SoulShots.java index 1f44066740..3c8cbb15c4 100644 --- a/L2J_Mobius_Essence_5.2_FrostLord/dist/game/data/scripts/handlers/itemhandlers/SoulShots.java +++ b/L2J_Mobius_Essence_5.2_FrostLord/dist/game/data/scripts/handlers/itemhandlers/SoulShots.java @@ -98,7 +98,7 @@ public class SoulShots implements IItemHandler // Visual effect change if player has equipped Ruby level 3 or higher if (player.getActiveRubyJewel() != null) { - Broadcast.toSelfAndKnownPlayersInRadius(player, new MagicSkillUse(player, player, player.getActiveRubyJewel().getEffectId(), 1, 0, 0), 600); + Broadcast.toSelfAndKnownPlayersInRadius(player, new MagicSkillUse(player, player, player.getActiveRubyJewel().getSkillId(), player.getActiveRubyJewel().getSkillLevel(), 0, 0), 600); } else { diff --git a/L2J_Mobius_Essence_5.2_FrostLord/dist/game/data/scripts/handlers/itemhandlers/SpiritShot.java b/L2J_Mobius_Essence_5.2_FrostLord/dist/game/data/scripts/handlers/itemhandlers/SpiritShot.java index 353347df87..e1f09a5a72 100644 --- a/L2J_Mobius_Essence_5.2_FrostLord/dist/game/data/scripts/handlers/itemhandlers/SpiritShot.java +++ b/L2J_Mobius_Essence_5.2_FrostLord/dist/game/data/scripts/handlers/itemhandlers/SpiritShot.java @@ -91,7 +91,7 @@ public class SpiritShot implements IItemHandler // Visual effect change if player has equipped Sapphire level 3 or higher if (player.getActiveShappireJewel() != null) { - Broadcast.toSelfAndKnownPlayersInRadius(player, new MagicSkillUse(player, player, player.getActiveShappireJewel().getEffectId(), 1, 0, 0), 600); + Broadcast.toSelfAndKnownPlayersInRadius(player, new MagicSkillUse(player, player, player.getActiveShappireJewel().getSkillId(), player.getActiveShappireJewel().getSkillLevel(), 0, 0), 600); } else { diff --git a/L2J_Mobius_Essence_5.2_FrostLord/java/org/l2jmobius/gameserver/enums/BroochJewel.java b/L2J_Mobius_Essence_5.2_FrostLord/java/org/l2jmobius/gameserver/enums/BroochJewel.java index 38044cad40..df79c0974b 100644 --- a/L2J_Mobius_Essence_5.2_FrostLord/java/org/l2jmobius/gameserver/enums/BroochJewel.java +++ b/L2J_Mobius_Essence_5.2_FrostLord/java/org/l2jmobius/gameserver/enums/BroochJewel.java @@ -22,74 +22,78 @@ package org.l2jmobius.gameserver.enums; public enum BroochJewel { // Working effect - RUBY_LV1(70451, 17817, 0.02, true), - RUBY_LV2(70452, 17817, 0.03, true), - RUBY_LV3(70453, 17817, 0.05, true), - RUBY_LV4(70454, 17817, 0.08, true), - RUBY_LV5(70455, 17817, 0.16, true), - GREATER_RUBY_LV1(71368, 17817, 0.17, true), // + 1% p atk - GREATER_RUBY_LV2(71369, 17817, 0.18, true), // + 2% p atk - GREATER_RUBY_LV3(71370, 17817, 0.19, true), // + 3% p atk - GREATER_RUBY_LV4(71371, 17817, 0.20, true), // + 5% p atk - GREATER_RUBY_LV5(71372, 17817, 0.20, true), // + 7% p atk + crit. p. rate +10% + RUBY_LV1(70451, 17817, 1, 0.02, true, false), + RUBY_LV2(70452, 17817, 1, 0.03, true, false), + RUBY_LV3(70453, 17817, 1, 0.05, true, false), + RUBY_LV4(70454, 17817, 1, 0.08, true, false), + RUBY_LV5(70455, 17817, 1, 0.16, true, false), + GREATER_RUBY_LV1(71368, 17817, 1, 0.17, true, false), // + 1% p atk + GREATER_RUBY_LV2(71369, 17817, 1, 0.18, true, false), // + 2% p atk + GREATER_RUBY_LV3(71370, 17817, 1, 0.19, true, false), // + 3% p atk + GREATER_RUBY_LV4(71371, 17817, 1, 0.20, true, false), // + 5% p atk + GREATER_RUBY_LV5(71372, 17817, 1, 0.20, true, false), // + 7% p atk + crit. p. rate +10% // Not show recharge effect - not used in classics maybe - RUBY_LV1_2(90328, 59150, 0.02, true), - RUBY_LV2_2(90329, 59150, 0.03, true), - RUBY_LV3_2(90330, 59150, 0.05, true), - RUBY_LV4_2(90331, 59150, 0.08, true), - RUBY_LV5_2(90332, 59150, 0.16, true), - GREATER_RUBY_LV1_2(91320, 59150, 0.17, true), // + 1% p atk - GREATER_RUBY_LV2_2(91321, 59150, 0.18, true), // + 2% p atk - GREATER_RUBY_LV3_2(91322, 59150, 0.19, true), // + 3% p atk - GREATER_RUBY_LV4_2(91323, 59150, 0.20, true), // + 5% p atk - GREATER_RUBY_LV5_2(91324, 59150, 0.20, true), // + 7% p atk + crit. p. rate +10% + RUBY_LV1_2(90328, 59150, 1, 0.02, true, false), + RUBY_LV2_2(90329, 59150, 1, 0.03, true, false), + RUBY_LV3_2(90330, 59150, 1, 0.05, true, false), + RUBY_LV4_2(90331, 59150, 1, 0.08, true, false), + RUBY_LV5_2(90332, 59150, 1, 0.16, true, false), + GREATER_RUBY_LV1_2(91320, 59150, 1, 0.17, true, false), // + 1% p atk + GREATER_RUBY_LV2_2(91321, 59150, 1, 0.18, true, false), // + 2% p atk + GREATER_RUBY_LV3_2(91322, 59150, 1, 0.19, true, false), // + 3% p atk + GREATER_RUBY_LV4_2(91323, 59150, 1, 0.20, true, false), // + 5% p atk + GREATER_RUBY_LV5_2(91324, 59150, 1, 0.20, true, false), // + 7% p atk + crit. p. rate +10% // Onyx effect - ONYX_LV1(92066, 50204, 0.02, true), // Soulshot / Spiritshot damage +2% - ONYX_LV2(92067, 50204, 0.03, true), // Soulshot / Spiritshot damage +3% - ONYX_LV3(92068, 50204, 0.05, true), // Soulshot / Spiritshot damage +5% - ONYX_LV4(92069, 50204, 0.08, true), // Soulshot / Spiritshot damage +8% - ONYX_LV5(94521, 50204, 0.12, true), // Soulshot / Spiritshot damage +12% - ONYX_LV6(92070, 50204, 0.16, true), // Soulshot / Spiritshot damage +16%, P. Atk. +50, M. Atk. +50 - ONYX_LV7(92071, 50204, 0.20, true), // Soulshot / Spiritshot damage +20%, P. Atk. +150, M. Atk. +150 - ONYX_LV8(92072, 50204, 0.25, true), // Soulshot / Spiritshot damage +25%, P. Atk. +300, M. Atk. +300 + ONYX_LV1(92066, 50198, 1, 0.02, true, true), // Soulshot / Spiritshot damage +2% + ONYX_LV2(92067, 50198, 2, 0.03, true, true), // Soulshot / Spiritshot damage +3% + ONYX_LV3(92068, 50198, 3, 0.05, true, true), // Soulshot / Spiritshot damage +5% + ONYX_LV4(92069, 50198, 4, 0.08, true, true), // Soulshot / Spiritshot damage +8% + ONYX_LV5(94521, 50198, 5, 0.12, true, true), // Soulshot / Spiritshot damage +12% + ONYX_LV6(92070, 50198, 6, 0.16, true, true), // Soulshot / Spiritshot damage +16%, P. Atk. +50, M. Atk. +50 + ONYX_LV7(92071, 50198, 7, 0.20, true, true), // Soulshot / Spiritshot damage +20%, P. Atk. +150, M. Atk. +150 + ONYX_LV8(92072, 50198, 8, 0.25, true, true), // Soulshot / Spiritshot damage +25%, P. Atk. +300, M. Atk. +300 // Working effect - SHAPPHIRE_LV1(70456, 17821, 0.02, false), - SHAPPHIRE_LV2(70457, 17821, 0.03, false), - SHAPPHIRE_LV3(70458, 17821, 0.05, false), - SHAPPHIRE_LV4(70459, 17821, 0.08, false), - SHAPPHIRE_LV5(70460, 17821, 0.16, false), - GREATER_SHAPPHIRE_LV1(71373, 17821, 00.17, false), // + 2 % m attack - GREATER_SHAPPHIRE_LV2(71374, 17821, 00.18, false), // + 4 % m attack - GREATER_SHAPPHIRE_LV3(71375, 17821, 00.19, false), // + 6 % m attack - GREATER_SHAPPHIRE_LV4(71376, 17821, 00.20, false), // + 10 % m attack - GREATER_SHAPPHIRE_LV5(71377, 17821, 00.20, false), // + 14 % m attack + crit. m. rate +10% + SAPPHIRE_LV1(70456, 17821, 1, 0.02, false, true), + SAPPHIRE_LV2(70457, 17821, 1, 0.03, false, true), + SAPPHIRE_LV3(70458, 17821, 1, 0.05, false, true), + SAPPHIRE_LV4(70459, 17821, 1, 0.08, false, true), + SAPPHIRE_LV5(70460, 17821, 1, 0.16, false, true), + GREATER_SAPPHIRE_LV1(71373, 17821, 1, 00.17, false, true), // + 2 % m attack + GREATER_SAPPHIRE_LV2(71374, 17821, 1, 00.18, false, true), // + 4 % m attack + GREATER_SAPPHIRE_LV3(71375, 17821, 1, 00.19, false, true), // + 6 % m attack + GREATER_SAPPHIRE_LV4(71376, 17821, 1, 00.20, false, true), // + 10 % m attack + GREATER_SAPPHIRE_LV5(71377, 17821, 1, 00.20, false, true), // + 14 % m attack + crit. m. rate +10% // Not show recharge effect - not used in classics maybe - SHAPPHIRE_LV1_2(90333, 59151, 0.02, false), - SHAPPHIRE_LV2_2(90334, 59151, 0.03, false), - SHAPPHIRE_LV3_2(90335, 59151, 0.05, false), - SHAPPHIRE_LV4_2(90336, 59151, 0.08, false), - SHAPPHIRE_LV5_2(90337, 59151, 0.16, false), - GREATER_SHAPPHIRE_LV1_2(91325, 59151, 0.17, false), // + 2 % m attack - GREATER_SHAPPHIRE_LV2_2(91326, 59151, 0.18, false), // + 4 % m attack - GREATER_SHAPPHIRE_LV3_2(91327, 59151, 0.19, false), // + 6 % m attack - GREATER_SHAPPHIRE_LV4_2(91328, 59151, 0.20, false), // + 10 % m attack - GREATER_SHAPPHIRE_LV5_2(91329, 59151, 0.20, false);// + 14 % m attack + crit. m. ata +10% + SAPPHIRE_LV1_2(90333, 59151, 1, 0.02, false, true), + SAPPHIRE_LV2_2(90334, 59151, 1, 0.03, false, true), + SAPPHIRE_LV3_2(90335, 59151, 1, 0.05, false, true), + SAPPHIRE_LV4_2(90336, 59151, 1, 0.08, false, true), + SAPPHIRE_LV5_2(90337, 59151, 1, 0.16, false, true), + GREATER_SAPPHIRE_LV1_2(91325, 59151, 1, 0.17, false, true), // + 2 % m attack + GREATER_SAPPHIRE_LV2_2(91326, 59151, 1, 0.18, false, true), // + 4 % m attack + GREATER_SAPPHIRE_LV3_2(91327, 59151, 1, 0.19, false, true), // + 6 % m attack + GREATER_SAPPHIRE_LV4_2(91328, 59151, 1, 0.20, false, true), // + 10 % m attack + GREATER_SAPPHIRE_LV5_2(91329, 59151, 1, 0.20, false, true); // + 14 % m attack + crit. m. ata +10% private int _itemId; - private int _effectId; + private int _skillId; + private int _skillLevel; private double _bonus; - private boolean _isRuby; // If not, it is sapphire. + private boolean _isRuby; + private boolean _isSapphire; - private BroochJewel(int itemId, int effectId, double bonus, boolean isRuby) + private BroochJewel(int itemId, int skillId, int skillLevel, double bonus, boolean isRuby, boolean isSapphire) { _itemId = itemId; - _effectId = effectId; + _skillId = skillId; + _skillLevel = skillLevel; _bonus = bonus; _isRuby = isRuby; + _isSapphire = isSapphire; } public int getItemId() @@ -97,9 +101,14 @@ public enum BroochJewel return _itemId; } - public int getEffectId() + public int getSkillId() { - return _effectId; + return _skillId; + } + + public int getSkillLevel() + { + return _skillLevel; } public double getBonus() @@ -111,4 +120,9 @@ public enum BroochJewel { return _isRuby; } + + public boolean isSapphire() + { + return _isSapphire; + } } diff --git a/L2J_Mobius_Essence_5.2_FrostLord/java/org/l2jmobius/gameserver/model/actor/Player.java b/L2J_Mobius_Essence_5.2_FrostLord/java/org/l2jmobius/gameserver/model/actor/Player.java index ab4e629867..55d7b17fd6 100644 --- a/L2J_Mobius_Essence_5.2_FrostLord/java/org/l2jmobius/gameserver/model/actor/Player.java +++ b/L2J_Mobius_Essence_5.2_FrostLord/java/org/l2jmobius/gameserver/model/actor/Player.java @@ -8981,7 +8981,7 @@ public class Player extends Playable for (int i = broochJewels.length - 1; i > 0; i--) { final BroochJewel jewel = broochJewels[i]; - if (!jewel.isRuby() && _inventory.isItemEquipped(jewel.getItemId())) + if (jewel.isSapphire() && _inventory.isItemEquipped(jewel.getItemId())) { setActiveShappireJewel(jewel); break; diff --git a/L2J_Mobius_Essence_6.0_BattleChronicle/dist/game/data/scripts/handlers/itemhandlers/BeastSoulShot.java b/L2J_Mobius_Essence_6.0_BattleChronicle/dist/game/data/scripts/handlers/itemhandlers/BeastSoulShot.java index 30e5fd51af..abd1015ac8 100644 --- a/L2J_Mobius_Essence_6.0_BattleChronicle/dist/game/data/scripts/handlers/itemhandlers/BeastSoulShot.java +++ b/L2J_Mobius_Essence_6.0_BattleChronicle/dist/game/data/scripts/handlers/itemhandlers/BeastSoulShot.java @@ -126,7 +126,7 @@ public class BeastSoulShot implements IItemHandler // Visual effect change if player has equipped Ruby level 3 or higher if (activeOwner.getActiveRubyJewel() != null) { - Broadcast.toSelfAndKnownPlayersInRadius(activeOwner, new MagicSkillUse(pet, pet, activeOwner.getActiveRubyJewel().getEffectId(), 1, 0, 0), 600); + Broadcast.toSelfAndKnownPlayersInRadius(activeOwner, new MagicSkillUse(pet, pet, activeOwner.getActiveRubyJewel().getSkillId(), activeOwner.getActiveRubyJewel().getSkillLevel(), 0, 0), 600); } else { @@ -143,7 +143,7 @@ public class BeastSoulShot implements IItemHandler // Visual effect change if player has equipped Ruby level 3 or higher if (activeOwner.getActiveRubyJewel() != null) { - Broadcast.toSelfAndKnownPlayersInRadius(activeOwner, new MagicSkillUse(s, s, activeOwner.getActiveRubyJewel().getEffectId(), 1, 0, 0), 600); + Broadcast.toSelfAndKnownPlayersInRadius(activeOwner, new MagicSkillUse(s, s, activeOwner.getActiveRubyJewel().getSkillId(), activeOwner.getActiveRubyJewel().getSkillLevel(), 0, 0), 600); } else { diff --git a/L2J_Mobius_Essence_6.0_BattleChronicle/dist/game/data/scripts/handlers/itemhandlers/BeastSpiritShot.java b/L2J_Mobius_Essence_6.0_BattleChronicle/dist/game/data/scripts/handlers/itemhandlers/BeastSpiritShot.java index ab876ab449..d9855c16f7 100644 --- a/L2J_Mobius_Essence_6.0_BattleChronicle/dist/game/data/scripts/handlers/itemhandlers/BeastSpiritShot.java +++ b/L2J_Mobius_Essence_6.0_BattleChronicle/dist/game/data/scripts/handlers/itemhandlers/BeastSpiritShot.java @@ -127,7 +127,7 @@ public class BeastSpiritShot implements IItemHandler // Visual effect change if player has equipped Sapphire level 3 or higher if (activeOwner.getActiveShappireJewel() != null) { - Broadcast.toSelfAndKnownPlayersInRadius(activeOwner, new MagicSkillUse(pet, pet, activeOwner.getActiveShappireJewel().getEffectId(), 2, 0, 0), 600); + Broadcast.toSelfAndKnownPlayersInRadius(activeOwner, new MagicSkillUse(pet, pet, activeOwner.getActiveShappireJewel().getSkillId(), activeOwner.getActiveShappireJewel().getSkillLevel(), 0, 0), 600); } else { @@ -144,7 +144,7 @@ public class BeastSpiritShot implements IItemHandler // Visual effect change if player has equipped Sapphire level 3 or higher if (activeOwner.getActiveShappireJewel() != null) { - Broadcast.toSelfAndKnownPlayersInRadius(activeOwner, new MagicSkillUse(s, s, activeOwner.getActiveShappireJewel().getEffectId(), 2, 0, 0), 600); + Broadcast.toSelfAndKnownPlayersInRadius(activeOwner, new MagicSkillUse(s, s, activeOwner.getActiveShappireJewel().getSkillId(), activeOwner.getActiveShappireJewel().getSkillLevel(), 0, 0), 600); } else { diff --git a/L2J_Mobius_Essence_6.0_BattleChronicle/dist/game/data/scripts/handlers/itemhandlers/BlessedSoulShots.java b/L2J_Mobius_Essence_6.0_BattleChronicle/dist/game/data/scripts/handlers/itemhandlers/BlessedSoulShots.java index f553a0c846..9da3b6cfd7 100644 --- a/L2J_Mobius_Essence_6.0_BattleChronicle/dist/game/data/scripts/handlers/itemhandlers/BlessedSoulShots.java +++ b/L2J_Mobius_Essence_6.0_BattleChronicle/dist/game/data/scripts/handlers/itemhandlers/BlessedSoulShots.java @@ -101,7 +101,7 @@ public class BlessedSoulShots implements IItemHandler // Visual effect change if player has equipped Ruby level 3 or higher if (player.getActiveRubyJewel() != null) { - Broadcast.toSelfAndKnownPlayersInRadius(player, new MagicSkillUse(player, player, player.getActiveRubyJewel().getEffectId(), 1, 0, 0), 600); + Broadcast.toSelfAndKnownPlayersInRadius(player, new MagicSkillUse(player, player, player.getActiveRubyJewel().getSkillId(), player.getActiveRubyJewel().getSkillLevel(), 0, 0), 600); } else { diff --git a/L2J_Mobius_Essence_6.0_BattleChronicle/dist/game/data/scripts/handlers/itemhandlers/BlessedSpiritShot.java b/L2J_Mobius_Essence_6.0_BattleChronicle/dist/game/data/scripts/handlers/itemhandlers/BlessedSpiritShot.java index 119fe1f81e..f8e9fb8786 100644 --- a/L2J_Mobius_Essence_6.0_BattleChronicle/dist/game/data/scripts/handlers/itemhandlers/BlessedSpiritShot.java +++ b/L2J_Mobius_Essence_6.0_BattleChronicle/dist/game/data/scripts/handlers/itemhandlers/BlessedSpiritShot.java @@ -91,7 +91,7 @@ public class BlessedSpiritShot implements IItemHandler // Visual effect change if player has equipped Sapphire level 3 or higher if (player.getActiveShappireJewel() != null) { - Broadcast.toSelfAndKnownPlayersInRadius(player, new MagicSkillUse(player, player, player.getActiveShappireJewel().getEffectId(), 1, 0, 0), 600); + Broadcast.toSelfAndKnownPlayersInRadius(player, new MagicSkillUse(player, player, player.getActiveShappireJewel().getSkillId(), player.getActiveShappireJewel().getSkillLevel(), 0, 0), 600); } else { diff --git a/L2J_Mobius_Essence_6.0_BattleChronicle/dist/game/data/scripts/handlers/itemhandlers/SoulShots.java b/L2J_Mobius_Essence_6.0_BattleChronicle/dist/game/data/scripts/handlers/itemhandlers/SoulShots.java index 1f44066740..3c8cbb15c4 100644 --- a/L2J_Mobius_Essence_6.0_BattleChronicle/dist/game/data/scripts/handlers/itemhandlers/SoulShots.java +++ b/L2J_Mobius_Essence_6.0_BattleChronicle/dist/game/data/scripts/handlers/itemhandlers/SoulShots.java @@ -98,7 +98,7 @@ public class SoulShots implements IItemHandler // Visual effect change if player has equipped Ruby level 3 or higher if (player.getActiveRubyJewel() != null) { - Broadcast.toSelfAndKnownPlayersInRadius(player, new MagicSkillUse(player, player, player.getActiveRubyJewel().getEffectId(), 1, 0, 0), 600); + Broadcast.toSelfAndKnownPlayersInRadius(player, new MagicSkillUse(player, player, player.getActiveRubyJewel().getSkillId(), player.getActiveRubyJewel().getSkillLevel(), 0, 0), 600); } else { diff --git a/L2J_Mobius_Essence_6.0_BattleChronicle/dist/game/data/scripts/handlers/itemhandlers/SpiritShot.java b/L2J_Mobius_Essence_6.0_BattleChronicle/dist/game/data/scripts/handlers/itemhandlers/SpiritShot.java index 353347df87..e1f09a5a72 100644 --- a/L2J_Mobius_Essence_6.0_BattleChronicle/dist/game/data/scripts/handlers/itemhandlers/SpiritShot.java +++ b/L2J_Mobius_Essence_6.0_BattleChronicle/dist/game/data/scripts/handlers/itemhandlers/SpiritShot.java @@ -91,7 +91,7 @@ public class SpiritShot implements IItemHandler // Visual effect change if player has equipped Sapphire level 3 or higher if (player.getActiveShappireJewel() != null) { - Broadcast.toSelfAndKnownPlayersInRadius(player, new MagicSkillUse(player, player, player.getActiveShappireJewel().getEffectId(), 1, 0, 0), 600); + Broadcast.toSelfAndKnownPlayersInRadius(player, new MagicSkillUse(player, player, player.getActiveShappireJewel().getSkillId(), player.getActiveShappireJewel().getSkillLevel(), 0, 0), 600); } else { diff --git a/L2J_Mobius_Essence_6.0_BattleChronicle/java/org/l2jmobius/gameserver/enums/BroochJewel.java b/L2J_Mobius_Essence_6.0_BattleChronicle/java/org/l2jmobius/gameserver/enums/BroochJewel.java index 38044cad40..df79c0974b 100644 --- a/L2J_Mobius_Essence_6.0_BattleChronicle/java/org/l2jmobius/gameserver/enums/BroochJewel.java +++ b/L2J_Mobius_Essence_6.0_BattleChronicle/java/org/l2jmobius/gameserver/enums/BroochJewel.java @@ -22,74 +22,78 @@ package org.l2jmobius.gameserver.enums; public enum BroochJewel { // Working effect - RUBY_LV1(70451, 17817, 0.02, true), - RUBY_LV2(70452, 17817, 0.03, true), - RUBY_LV3(70453, 17817, 0.05, true), - RUBY_LV4(70454, 17817, 0.08, true), - RUBY_LV5(70455, 17817, 0.16, true), - GREATER_RUBY_LV1(71368, 17817, 0.17, true), // + 1% p atk - GREATER_RUBY_LV2(71369, 17817, 0.18, true), // + 2% p atk - GREATER_RUBY_LV3(71370, 17817, 0.19, true), // + 3% p atk - GREATER_RUBY_LV4(71371, 17817, 0.20, true), // + 5% p atk - GREATER_RUBY_LV5(71372, 17817, 0.20, true), // + 7% p atk + crit. p. rate +10% + RUBY_LV1(70451, 17817, 1, 0.02, true, false), + RUBY_LV2(70452, 17817, 1, 0.03, true, false), + RUBY_LV3(70453, 17817, 1, 0.05, true, false), + RUBY_LV4(70454, 17817, 1, 0.08, true, false), + RUBY_LV5(70455, 17817, 1, 0.16, true, false), + GREATER_RUBY_LV1(71368, 17817, 1, 0.17, true, false), // + 1% p atk + GREATER_RUBY_LV2(71369, 17817, 1, 0.18, true, false), // + 2% p atk + GREATER_RUBY_LV3(71370, 17817, 1, 0.19, true, false), // + 3% p atk + GREATER_RUBY_LV4(71371, 17817, 1, 0.20, true, false), // + 5% p atk + GREATER_RUBY_LV5(71372, 17817, 1, 0.20, true, false), // + 7% p atk + crit. p. rate +10% // Not show recharge effect - not used in classics maybe - RUBY_LV1_2(90328, 59150, 0.02, true), - RUBY_LV2_2(90329, 59150, 0.03, true), - RUBY_LV3_2(90330, 59150, 0.05, true), - RUBY_LV4_2(90331, 59150, 0.08, true), - RUBY_LV5_2(90332, 59150, 0.16, true), - GREATER_RUBY_LV1_2(91320, 59150, 0.17, true), // + 1% p atk - GREATER_RUBY_LV2_2(91321, 59150, 0.18, true), // + 2% p atk - GREATER_RUBY_LV3_2(91322, 59150, 0.19, true), // + 3% p atk - GREATER_RUBY_LV4_2(91323, 59150, 0.20, true), // + 5% p atk - GREATER_RUBY_LV5_2(91324, 59150, 0.20, true), // + 7% p atk + crit. p. rate +10% + RUBY_LV1_2(90328, 59150, 1, 0.02, true, false), + RUBY_LV2_2(90329, 59150, 1, 0.03, true, false), + RUBY_LV3_2(90330, 59150, 1, 0.05, true, false), + RUBY_LV4_2(90331, 59150, 1, 0.08, true, false), + RUBY_LV5_2(90332, 59150, 1, 0.16, true, false), + GREATER_RUBY_LV1_2(91320, 59150, 1, 0.17, true, false), // + 1% p atk + GREATER_RUBY_LV2_2(91321, 59150, 1, 0.18, true, false), // + 2% p atk + GREATER_RUBY_LV3_2(91322, 59150, 1, 0.19, true, false), // + 3% p atk + GREATER_RUBY_LV4_2(91323, 59150, 1, 0.20, true, false), // + 5% p atk + GREATER_RUBY_LV5_2(91324, 59150, 1, 0.20, true, false), // + 7% p atk + crit. p. rate +10% // Onyx effect - ONYX_LV1(92066, 50204, 0.02, true), // Soulshot / Spiritshot damage +2% - ONYX_LV2(92067, 50204, 0.03, true), // Soulshot / Spiritshot damage +3% - ONYX_LV3(92068, 50204, 0.05, true), // Soulshot / Spiritshot damage +5% - ONYX_LV4(92069, 50204, 0.08, true), // Soulshot / Spiritshot damage +8% - ONYX_LV5(94521, 50204, 0.12, true), // Soulshot / Spiritshot damage +12% - ONYX_LV6(92070, 50204, 0.16, true), // Soulshot / Spiritshot damage +16%, P. Atk. +50, M. Atk. +50 - ONYX_LV7(92071, 50204, 0.20, true), // Soulshot / Spiritshot damage +20%, P. Atk. +150, M. Atk. +150 - ONYX_LV8(92072, 50204, 0.25, true), // Soulshot / Spiritshot damage +25%, P. Atk. +300, M. Atk. +300 + ONYX_LV1(92066, 50198, 1, 0.02, true, true), // Soulshot / Spiritshot damage +2% + ONYX_LV2(92067, 50198, 2, 0.03, true, true), // Soulshot / Spiritshot damage +3% + ONYX_LV3(92068, 50198, 3, 0.05, true, true), // Soulshot / Spiritshot damage +5% + ONYX_LV4(92069, 50198, 4, 0.08, true, true), // Soulshot / Spiritshot damage +8% + ONYX_LV5(94521, 50198, 5, 0.12, true, true), // Soulshot / Spiritshot damage +12% + ONYX_LV6(92070, 50198, 6, 0.16, true, true), // Soulshot / Spiritshot damage +16%, P. Atk. +50, M. Atk. +50 + ONYX_LV7(92071, 50198, 7, 0.20, true, true), // Soulshot / Spiritshot damage +20%, P. Atk. +150, M. Atk. +150 + ONYX_LV8(92072, 50198, 8, 0.25, true, true), // Soulshot / Spiritshot damage +25%, P. Atk. +300, M. Atk. +300 // Working effect - SHAPPHIRE_LV1(70456, 17821, 0.02, false), - SHAPPHIRE_LV2(70457, 17821, 0.03, false), - SHAPPHIRE_LV3(70458, 17821, 0.05, false), - SHAPPHIRE_LV4(70459, 17821, 0.08, false), - SHAPPHIRE_LV5(70460, 17821, 0.16, false), - GREATER_SHAPPHIRE_LV1(71373, 17821, 00.17, false), // + 2 % m attack - GREATER_SHAPPHIRE_LV2(71374, 17821, 00.18, false), // + 4 % m attack - GREATER_SHAPPHIRE_LV3(71375, 17821, 00.19, false), // + 6 % m attack - GREATER_SHAPPHIRE_LV4(71376, 17821, 00.20, false), // + 10 % m attack - GREATER_SHAPPHIRE_LV5(71377, 17821, 00.20, false), // + 14 % m attack + crit. m. rate +10% + SAPPHIRE_LV1(70456, 17821, 1, 0.02, false, true), + SAPPHIRE_LV2(70457, 17821, 1, 0.03, false, true), + SAPPHIRE_LV3(70458, 17821, 1, 0.05, false, true), + SAPPHIRE_LV4(70459, 17821, 1, 0.08, false, true), + SAPPHIRE_LV5(70460, 17821, 1, 0.16, false, true), + GREATER_SAPPHIRE_LV1(71373, 17821, 1, 00.17, false, true), // + 2 % m attack + GREATER_SAPPHIRE_LV2(71374, 17821, 1, 00.18, false, true), // + 4 % m attack + GREATER_SAPPHIRE_LV3(71375, 17821, 1, 00.19, false, true), // + 6 % m attack + GREATER_SAPPHIRE_LV4(71376, 17821, 1, 00.20, false, true), // + 10 % m attack + GREATER_SAPPHIRE_LV5(71377, 17821, 1, 00.20, false, true), // + 14 % m attack + crit. m. rate +10% // Not show recharge effect - not used in classics maybe - SHAPPHIRE_LV1_2(90333, 59151, 0.02, false), - SHAPPHIRE_LV2_2(90334, 59151, 0.03, false), - SHAPPHIRE_LV3_2(90335, 59151, 0.05, false), - SHAPPHIRE_LV4_2(90336, 59151, 0.08, false), - SHAPPHIRE_LV5_2(90337, 59151, 0.16, false), - GREATER_SHAPPHIRE_LV1_2(91325, 59151, 0.17, false), // + 2 % m attack - GREATER_SHAPPHIRE_LV2_2(91326, 59151, 0.18, false), // + 4 % m attack - GREATER_SHAPPHIRE_LV3_2(91327, 59151, 0.19, false), // + 6 % m attack - GREATER_SHAPPHIRE_LV4_2(91328, 59151, 0.20, false), // + 10 % m attack - GREATER_SHAPPHIRE_LV5_2(91329, 59151, 0.20, false);// + 14 % m attack + crit. m. ata +10% + SAPPHIRE_LV1_2(90333, 59151, 1, 0.02, false, true), + SAPPHIRE_LV2_2(90334, 59151, 1, 0.03, false, true), + SAPPHIRE_LV3_2(90335, 59151, 1, 0.05, false, true), + SAPPHIRE_LV4_2(90336, 59151, 1, 0.08, false, true), + SAPPHIRE_LV5_2(90337, 59151, 1, 0.16, false, true), + GREATER_SAPPHIRE_LV1_2(91325, 59151, 1, 0.17, false, true), // + 2 % m attack + GREATER_SAPPHIRE_LV2_2(91326, 59151, 1, 0.18, false, true), // + 4 % m attack + GREATER_SAPPHIRE_LV3_2(91327, 59151, 1, 0.19, false, true), // + 6 % m attack + GREATER_SAPPHIRE_LV4_2(91328, 59151, 1, 0.20, false, true), // + 10 % m attack + GREATER_SAPPHIRE_LV5_2(91329, 59151, 1, 0.20, false, true); // + 14 % m attack + crit. m. ata +10% private int _itemId; - private int _effectId; + private int _skillId; + private int _skillLevel; private double _bonus; - private boolean _isRuby; // If not, it is sapphire. + private boolean _isRuby; + private boolean _isSapphire; - private BroochJewel(int itemId, int effectId, double bonus, boolean isRuby) + private BroochJewel(int itemId, int skillId, int skillLevel, double bonus, boolean isRuby, boolean isSapphire) { _itemId = itemId; - _effectId = effectId; + _skillId = skillId; + _skillLevel = skillLevel; _bonus = bonus; _isRuby = isRuby; + _isSapphire = isSapphire; } public int getItemId() @@ -97,9 +101,14 @@ public enum BroochJewel return _itemId; } - public int getEffectId() + public int getSkillId() { - return _effectId; + return _skillId; + } + + public int getSkillLevel() + { + return _skillLevel; } public double getBonus() @@ -111,4 +120,9 @@ public enum BroochJewel { return _isRuby; } + + public boolean isSapphire() + { + return _isSapphire; + } } diff --git a/L2J_Mobius_Essence_6.0_BattleChronicle/java/org/l2jmobius/gameserver/model/actor/Player.java b/L2J_Mobius_Essence_6.0_BattleChronicle/java/org/l2jmobius/gameserver/model/actor/Player.java index ab4e629867..55d7b17fd6 100644 --- a/L2J_Mobius_Essence_6.0_BattleChronicle/java/org/l2jmobius/gameserver/model/actor/Player.java +++ b/L2J_Mobius_Essence_6.0_BattleChronicle/java/org/l2jmobius/gameserver/model/actor/Player.java @@ -8981,7 +8981,7 @@ public class Player extends Playable for (int i = broochJewels.length - 1; i > 0; i--) { final BroochJewel jewel = broochJewels[i]; - if (!jewel.isRuby() && _inventory.isItemEquipped(jewel.getItemId())) + if (jewel.isSapphire() && _inventory.isItemEquipped(jewel.getItemId())) { setActiveShappireJewel(jewel); break;