Brooch enum support for Sapphire and skill level.

Thanks to nasseka.
This commit is contained in:
MobiusDevelopment 2021-12-11 01:59:47 +00:00
parent a8be08b4e3
commit f47a1a6264
168 changed files with 1259 additions and 927 deletions

View File

@ -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
{

View File

@ -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
{

View File

@ -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
{

View File

@ -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
{

View File

@ -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
{

View File

@ -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
{

View File

@ -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;
}
}

View File

@ -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;

View File

@ -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
{

View File

@ -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
{

View File

@ -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
{

View File

@ -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
{

View File

@ -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
{

View File

@ -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
{

View File

@ -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;
}
}

View File

@ -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;

View File

@ -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
{

View File

@ -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
{

View File

@ -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
{

View File

@ -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
{

View File

@ -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
{

View File

@ -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
{

View File

@ -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;
}
}

View File

@ -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;

View File

@ -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
{

View File

@ -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
{

View File

@ -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
{

View File

@ -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
{

View File

@ -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
{

View File

@ -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
{

View File

@ -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;
}
}

View File

@ -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;

View File

@ -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
{

View File

@ -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
{

View File

@ -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
{

View File

@ -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
{

View File

@ -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
{

View File

@ -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
{

View File

@ -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;
}
}

View File

@ -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;

View File

@ -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
{

View File

@ -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
{

View File

@ -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
{

View File

@ -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
{

View File

@ -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
{

View File

@ -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
{

View File

@ -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;
}
}

View File

@ -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;

View File

@ -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
{

View File

@ -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
{

View File

@ -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
{

View File

@ -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
{

View File

@ -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
{

View File

@ -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
{

View File

@ -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;
}
}

View File

@ -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;

View File

@ -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
{

View File

@ -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
{

View File

@ -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
{

View File

@ -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
{

View File

@ -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
{

View File

@ -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
{

View File

@ -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;
}
}

View File

@ -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;

View File

@ -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
{

View File

@ -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
{

View File

@ -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
{

View File

@ -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
{

View File

@ -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
{

View File

@ -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
{

View File

@ -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;
}
}

View File

@ -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;

View File

@ -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
{

View File

@ -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
{

View File

@ -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
{

View File

@ -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
{

View File

@ -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
{

View File

@ -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
{

View File

@ -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;
}
}

View File

@ -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;

View File

@ -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
{

View File

@ -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
{

View File

@ -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
{

View File

@ -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
{

View File

@ -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
{

View File

@ -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
{

View File

@ -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;
}
}

View File

@ -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;

View File

@ -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
{

View File

@ -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
{

View File

@ -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
{

View File

@ -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
{

View File

@ -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
{

View File

@ -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
{

View File

@ -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;
}
}

View File

@ -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;

View File

@ -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
{

View File

@ -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
{

View File

@ -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
{

View File

@ -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
{

Some files were not shown because too many files have changed in this diff Show More