diff --git a/L2J_Mobius_1.0_Ertheia/java/org/l2jmobius/gameserver/ai/CreatureAI.java b/L2J_Mobius_1.0_Ertheia/java/org/l2jmobius/gameserver/ai/CreatureAI.java index e7a92ff3b3..fa38b02488 100644 --- a/L2J_Mobius_1.0_Ertheia/java/org/l2jmobius/gameserver/ai/CreatureAI.java +++ b/L2J_Mobius_1.0_Ertheia/java/org/l2jmobius/gameserver/ai/CreatureAI.java @@ -158,7 +158,6 @@ public class CreatureAI extends AbstractAI // Stop the actor auto-attack client side by sending Server->Client packet AutoAttackStop (broadcast) clientStopAutoAttack(); - } /** diff --git a/L2J_Mobius_1.0_Ertheia/java/org/l2jmobius/gameserver/instancemanager/InstanceManager.java b/L2J_Mobius_1.0_Ertheia/java/org/l2jmobius/gameserver/instancemanager/InstanceManager.java index d1f8cd35e2..1a489ef122 100644 --- a/L2J_Mobius_1.0_Ertheia/java/org/l2jmobius/gameserver/instancemanager/InstanceManager.java +++ b/L2J_Mobius_1.0_Ertheia/java/org/l2jmobius/gameserver/instancemanager/InstanceManager.java @@ -365,7 +365,6 @@ public class InstanceManager implements IXmlReader // Save template _instanceTemplates.put(id, template); - } // -------------------------------------------------------------------- diff --git a/L2J_Mobius_1.0_Ertheia/java/org/l2jmobius/gameserver/model/actor/instance/PlayerInstance.java b/L2J_Mobius_1.0_Ertheia/java/org/l2jmobius/gameserver/model/actor/instance/PlayerInstance.java index 08b90b6ce2..a7753bafa9 100644 --- a/L2J_Mobius_1.0_Ertheia/java/org/l2jmobius/gameserver/model/actor/instance/PlayerInstance.java +++ b/L2J_Mobius_1.0_Ertheia/java/org/l2jmobius/gameserver/model/actor/instance/PlayerInstance.java @@ -2462,6 +2462,11 @@ public class PlayerInstance extends Playable } } + public boolean isChangingClass() + { + return _subclassLock; + } + /** * @return the Experience of the PlayerInstance. */ diff --git a/L2J_Mobius_1.0_Ertheia/java/org/l2jmobius/gameserver/model/holders/PlayerEventHolder.java b/L2J_Mobius_1.0_Ertheia/java/org/l2jmobius/gameserver/model/holders/PlayerEventHolder.java index 48e259909e..a5f6f9f161 100644 --- a/L2J_Mobius_1.0_Ertheia/java/org/l2jmobius/gameserver/model/holders/PlayerEventHolder.java +++ b/L2J_Mobius_1.0_Ertheia/java/org/l2jmobius/gameserver/model/holders/PlayerEventHolder.java @@ -85,7 +85,6 @@ public class PlayerEventHolder _player.setPvpKills(_pvpKills); _player.setPkKills(_pkKills); _player.setReputation(_reputation); - } public void setSitForced(boolean sitForced) diff --git a/L2J_Mobius_1.0_Ertheia/java/org/l2jmobius/gameserver/model/itemcontainer/Inventory.java b/L2J_Mobius_1.0_Ertheia/java/org/l2jmobius/gameserver/model/itemcontainer/Inventory.java index 21067ed153..d57adaf272 100644 --- a/L2J_Mobius_1.0_Ertheia/java/org/l2jmobius/gameserver/model/itemcontainer/Inventory.java +++ b/L2J_Mobius_1.0_Ertheia/java/org/l2jmobius/gameserver/model/itemcontainer/Inventory.java @@ -886,6 +886,11 @@ public abstract class Inventory extends ItemContainer @Override public void notifyUnequiped(int slot, ItemInstance item, Inventory inventory) { + if (item.getActingPlayer().isChangingClass()) + { + return; + } + if (item.getItem().getBodyPart() == Item.SLOT_R_BRACELET) { inventory.unEquipItemInSlot(PAPERDOLL_DECO1); @@ -916,6 +921,11 @@ public abstract class Inventory extends ItemContainer @Override public void notifyUnequiped(int slot, ItemInstance item, Inventory inventory) { + if (item.getActingPlayer().isChangingClass()) + { + return; + } + if (item.getItem().getBodyPart() == Item.SLOT_BROOCH) { inventory.unEquipItemInSlot(PAPERDOLL_BROOCH_JEWEL1); @@ -952,7 +962,6 @@ public abstract class Inventory extends ItemContainer // common addPaperdollListener(StatsListener.getInstance()); - } protected abstract ItemLocation getEquipLocation(); @@ -2207,7 +2216,8 @@ public abstract class Inventory extends ItemContainer } /** - * Re-notify to paperdoll listeners every equipped item + * Re-notify to paperdoll listeners every equipped item.
+ * Only used by player ClassId set methods. */ public void reloadEquippedItems() { @@ -2231,6 +2241,7 @@ public abstract class Inventory extends ItemContainer listener.notifyEquiped(slot, item, this); } } + if (getOwner().isPlayer()) { getOwner().sendPacket(new ExUserInfoEquipSlot(getOwner().getActingPlayer())); diff --git a/L2J_Mobius_1.0_Ertheia/java/org/l2jmobius/gameserver/model/quest/LongTimeEvent.java b/L2J_Mobius_1.0_Ertheia/java/org/l2jmobius/gameserver/model/quest/LongTimeEvent.java index 1bc53fb2f5..1b06839f10 100644 --- a/L2J_Mobius_1.0_Ertheia/java/org/l2jmobius/gameserver/model/quest/LongTimeEvent.java +++ b/L2J_Mobius_1.0_Ertheia/java/org/l2jmobius/gameserver/model/quest/LongTimeEvent.java @@ -305,7 +305,6 @@ public class LongTimeEvent extends Quest } } }.load(); - } protected class ScheduleStart implements Runnable diff --git a/L2J_Mobius_2.5_Underground/java/org/l2jmobius/gameserver/ai/CreatureAI.java b/L2J_Mobius_2.5_Underground/java/org/l2jmobius/gameserver/ai/CreatureAI.java index e7a92ff3b3..fa38b02488 100644 --- a/L2J_Mobius_2.5_Underground/java/org/l2jmobius/gameserver/ai/CreatureAI.java +++ b/L2J_Mobius_2.5_Underground/java/org/l2jmobius/gameserver/ai/CreatureAI.java @@ -158,7 +158,6 @@ public class CreatureAI extends AbstractAI // Stop the actor auto-attack client side by sending Server->Client packet AutoAttackStop (broadcast) clientStopAutoAttack(); - } /** diff --git a/L2J_Mobius_2.5_Underground/java/org/l2jmobius/gameserver/instancemanager/InstanceManager.java b/L2J_Mobius_2.5_Underground/java/org/l2jmobius/gameserver/instancemanager/InstanceManager.java index d1f8cd35e2..1a489ef122 100644 --- a/L2J_Mobius_2.5_Underground/java/org/l2jmobius/gameserver/instancemanager/InstanceManager.java +++ b/L2J_Mobius_2.5_Underground/java/org/l2jmobius/gameserver/instancemanager/InstanceManager.java @@ -365,7 +365,6 @@ public class InstanceManager implements IXmlReader // Save template _instanceTemplates.put(id, template); - } // -------------------------------------------------------------------- diff --git a/L2J_Mobius_2.5_Underground/java/org/l2jmobius/gameserver/model/actor/instance/PlayerInstance.java b/L2J_Mobius_2.5_Underground/java/org/l2jmobius/gameserver/model/actor/instance/PlayerInstance.java index 846bd822d0..44720e129d 100644 --- a/L2J_Mobius_2.5_Underground/java/org/l2jmobius/gameserver/model/actor/instance/PlayerInstance.java +++ b/L2J_Mobius_2.5_Underground/java/org/l2jmobius/gameserver/model/actor/instance/PlayerInstance.java @@ -2468,6 +2468,11 @@ public class PlayerInstance extends Playable } } + public boolean isChangingClass() + { + return _subclassLock; + } + /** * @return the Experience of the PlayerInstance. */ diff --git a/L2J_Mobius_2.5_Underground/java/org/l2jmobius/gameserver/model/holders/PlayerEventHolder.java b/L2J_Mobius_2.5_Underground/java/org/l2jmobius/gameserver/model/holders/PlayerEventHolder.java index 48e259909e..a5f6f9f161 100644 --- a/L2J_Mobius_2.5_Underground/java/org/l2jmobius/gameserver/model/holders/PlayerEventHolder.java +++ b/L2J_Mobius_2.5_Underground/java/org/l2jmobius/gameserver/model/holders/PlayerEventHolder.java @@ -85,7 +85,6 @@ public class PlayerEventHolder _player.setPvpKills(_pvpKills); _player.setPkKills(_pkKills); _player.setReputation(_reputation); - } public void setSitForced(boolean sitForced) diff --git a/L2J_Mobius_2.5_Underground/java/org/l2jmobius/gameserver/model/itemcontainer/Inventory.java b/L2J_Mobius_2.5_Underground/java/org/l2jmobius/gameserver/model/itemcontainer/Inventory.java index 117f3679d6..298564582e 100644 --- a/L2J_Mobius_2.5_Underground/java/org/l2jmobius/gameserver/model/itemcontainer/Inventory.java +++ b/L2J_Mobius_2.5_Underground/java/org/l2jmobius/gameserver/model/itemcontainer/Inventory.java @@ -892,6 +892,11 @@ public abstract class Inventory extends ItemContainer @Override public void notifyUnequiped(int slot, ItemInstance item, Inventory inventory) { + if (item.getActingPlayer().isChangingClass()) + { + return; + } + if (item.getItem().getBodyPart() == Item.SLOT_R_BRACELET) { inventory.unEquipItemInSlot(PAPERDOLL_DECO1); @@ -922,6 +927,11 @@ public abstract class Inventory extends ItemContainer @Override public void notifyUnequiped(int slot, ItemInstance item, Inventory inventory) { + if (item.getActingPlayer().isChangingClass()) + { + return; + } + if (item.getItem().getBodyPart() == Item.SLOT_BROOCH) { inventory.unEquipItemInSlot(PAPERDOLL_BROOCH_JEWEL1); @@ -958,7 +968,6 @@ public abstract class Inventory extends ItemContainer // common addPaperdollListener(StatsListener.getInstance()); - } protected abstract ItemLocation getEquipLocation(); @@ -2213,7 +2222,8 @@ public abstract class Inventory extends ItemContainer } /** - * Re-notify to paperdoll listeners every equipped item + * Re-notify to paperdoll listeners every equipped item.
+ * Only used by player ClassId set methods. */ public void reloadEquippedItems() { @@ -2237,6 +2247,7 @@ public abstract class Inventory extends ItemContainer listener.notifyEquiped(slot, item, this); } } + if (getOwner().isPlayer()) { getOwner().sendPacket(new ExUserInfoEquipSlot(getOwner().getActingPlayer())); diff --git a/L2J_Mobius_2.5_Underground/java/org/l2jmobius/gameserver/model/quest/LongTimeEvent.java b/L2J_Mobius_2.5_Underground/java/org/l2jmobius/gameserver/model/quest/LongTimeEvent.java index 1bc53fb2f5..1b06839f10 100644 --- a/L2J_Mobius_2.5_Underground/java/org/l2jmobius/gameserver/model/quest/LongTimeEvent.java +++ b/L2J_Mobius_2.5_Underground/java/org/l2jmobius/gameserver/model/quest/LongTimeEvent.java @@ -305,7 +305,6 @@ public class LongTimeEvent extends Quest } } }.load(); - } protected class ScheduleStart implements Runnable diff --git a/L2J_Mobius_2.5_Underground/java/org/l2jmobius/gameserver/network/clientpackets/SnoopQuit.java b/L2J_Mobius_2.5_Underground/java/org/l2jmobius/gameserver/network/clientpackets/SnoopQuit.java index 3dbc0f9c0b..1873c4333c 100644 --- a/L2J_Mobius_2.5_Underground/java/org/l2jmobius/gameserver/network/clientpackets/SnoopQuit.java +++ b/L2J_Mobius_2.5_Underground/java/org/l2jmobius/gameserver/network/clientpackets/SnoopQuit.java @@ -52,6 +52,5 @@ public class SnoopQuit implements IClientIncomingPacket target.removeSnooper(player); player.removeSnooped(target); - } } diff --git a/L2J_Mobius_3.0_Helios/java/org/l2jmobius/gameserver/ai/CreatureAI.java b/L2J_Mobius_3.0_Helios/java/org/l2jmobius/gameserver/ai/CreatureAI.java index e7a92ff3b3..fa38b02488 100644 --- a/L2J_Mobius_3.0_Helios/java/org/l2jmobius/gameserver/ai/CreatureAI.java +++ b/L2J_Mobius_3.0_Helios/java/org/l2jmobius/gameserver/ai/CreatureAI.java @@ -158,7 +158,6 @@ public class CreatureAI extends AbstractAI // Stop the actor auto-attack client side by sending Server->Client packet AutoAttackStop (broadcast) clientStopAutoAttack(); - } /** diff --git a/L2J_Mobius_3.0_Helios/java/org/l2jmobius/gameserver/instancemanager/InstanceManager.java b/L2J_Mobius_3.0_Helios/java/org/l2jmobius/gameserver/instancemanager/InstanceManager.java index d1f8cd35e2..1a489ef122 100644 --- a/L2J_Mobius_3.0_Helios/java/org/l2jmobius/gameserver/instancemanager/InstanceManager.java +++ b/L2J_Mobius_3.0_Helios/java/org/l2jmobius/gameserver/instancemanager/InstanceManager.java @@ -365,7 +365,6 @@ public class InstanceManager implements IXmlReader // Save template _instanceTemplates.put(id, template); - } // -------------------------------------------------------------------- diff --git a/L2J_Mobius_3.0_Helios/java/org/l2jmobius/gameserver/model/actor/instance/PlayerInstance.java b/L2J_Mobius_3.0_Helios/java/org/l2jmobius/gameserver/model/actor/instance/PlayerInstance.java index 6fde2df0a7..1fe117e407 100644 --- a/L2J_Mobius_3.0_Helios/java/org/l2jmobius/gameserver/model/actor/instance/PlayerInstance.java +++ b/L2J_Mobius_3.0_Helios/java/org/l2jmobius/gameserver/model/actor/instance/PlayerInstance.java @@ -2470,6 +2470,11 @@ public class PlayerInstance extends Playable } } + public boolean isChangingClass() + { + return _subclassLock; + } + /** * @return the Experience of the PlayerInstance. */ diff --git a/L2J_Mobius_3.0_Helios/java/org/l2jmobius/gameserver/model/holders/PlayerEventHolder.java b/L2J_Mobius_3.0_Helios/java/org/l2jmobius/gameserver/model/holders/PlayerEventHolder.java index 48e259909e..a5f6f9f161 100644 --- a/L2J_Mobius_3.0_Helios/java/org/l2jmobius/gameserver/model/holders/PlayerEventHolder.java +++ b/L2J_Mobius_3.0_Helios/java/org/l2jmobius/gameserver/model/holders/PlayerEventHolder.java @@ -85,7 +85,6 @@ public class PlayerEventHolder _player.setPvpKills(_pvpKills); _player.setPkKills(_pkKills); _player.setReputation(_reputation); - } public void setSitForced(boolean sitForced) diff --git a/L2J_Mobius_3.0_Helios/java/org/l2jmobius/gameserver/model/itemcontainer/Inventory.java b/L2J_Mobius_3.0_Helios/java/org/l2jmobius/gameserver/model/itemcontainer/Inventory.java index 117f3679d6..298564582e 100644 --- a/L2J_Mobius_3.0_Helios/java/org/l2jmobius/gameserver/model/itemcontainer/Inventory.java +++ b/L2J_Mobius_3.0_Helios/java/org/l2jmobius/gameserver/model/itemcontainer/Inventory.java @@ -892,6 +892,11 @@ public abstract class Inventory extends ItemContainer @Override public void notifyUnequiped(int slot, ItemInstance item, Inventory inventory) { + if (item.getActingPlayer().isChangingClass()) + { + return; + } + if (item.getItem().getBodyPart() == Item.SLOT_R_BRACELET) { inventory.unEquipItemInSlot(PAPERDOLL_DECO1); @@ -922,6 +927,11 @@ public abstract class Inventory extends ItemContainer @Override public void notifyUnequiped(int slot, ItemInstance item, Inventory inventory) { + if (item.getActingPlayer().isChangingClass()) + { + return; + } + if (item.getItem().getBodyPart() == Item.SLOT_BROOCH) { inventory.unEquipItemInSlot(PAPERDOLL_BROOCH_JEWEL1); @@ -958,7 +968,6 @@ public abstract class Inventory extends ItemContainer // common addPaperdollListener(StatsListener.getInstance()); - } protected abstract ItemLocation getEquipLocation(); @@ -2213,7 +2222,8 @@ public abstract class Inventory extends ItemContainer } /** - * Re-notify to paperdoll listeners every equipped item + * Re-notify to paperdoll listeners every equipped item.
+ * Only used by player ClassId set methods. */ public void reloadEquippedItems() { @@ -2237,6 +2247,7 @@ public abstract class Inventory extends ItemContainer listener.notifyEquiped(slot, item, this); } } + if (getOwner().isPlayer()) { getOwner().sendPacket(new ExUserInfoEquipSlot(getOwner().getActingPlayer())); diff --git a/L2J_Mobius_3.0_Helios/java/org/l2jmobius/gameserver/model/quest/LongTimeEvent.java b/L2J_Mobius_3.0_Helios/java/org/l2jmobius/gameserver/model/quest/LongTimeEvent.java index 1bc53fb2f5..1b06839f10 100644 --- a/L2J_Mobius_3.0_Helios/java/org/l2jmobius/gameserver/model/quest/LongTimeEvent.java +++ b/L2J_Mobius_3.0_Helios/java/org/l2jmobius/gameserver/model/quest/LongTimeEvent.java @@ -305,7 +305,6 @@ public class LongTimeEvent extends Quest } } }.load(); - } protected class ScheduleStart implements Runnable diff --git a/L2J_Mobius_3.0_Helios/java/org/l2jmobius/gameserver/network/clientpackets/SnoopQuit.java b/L2J_Mobius_3.0_Helios/java/org/l2jmobius/gameserver/network/clientpackets/SnoopQuit.java index 3dbc0f9c0b..1873c4333c 100644 --- a/L2J_Mobius_3.0_Helios/java/org/l2jmobius/gameserver/network/clientpackets/SnoopQuit.java +++ b/L2J_Mobius_3.0_Helios/java/org/l2jmobius/gameserver/network/clientpackets/SnoopQuit.java @@ -52,6 +52,5 @@ public class SnoopQuit implements IClientIncomingPacket target.removeSnooper(player); player.removeSnooped(target); - } } diff --git a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10874_AgainstTheNewEnemy/Q10874_AgainstTheNewEnemy.java b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10874_AgainstTheNewEnemy/Q10874_AgainstTheNewEnemy.java index 7c12cd1c69..f523a32a6e 100644 --- a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10874_AgainstTheNewEnemy/Q10874_AgainstTheNewEnemy.java +++ b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10874_AgainstTheNewEnemy/Q10874_AgainstTheNewEnemy.java @@ -243,7 +243,6 @@ public class Q10874_AgainstTheNewEnemy extends Quest } } return htmltext; - } @Override diff --git a/L2J_Mobius_4.0_GrandCrusade/java/org/l2jmobius/gameserver/ai/CreatureAI.java b/L2J_Mobius_4.0_GrandCrusade/java/org/l2jmobius/gameserver/ai/CreatureAI.java index e7a92ff3b3..fa38b02488 100644 --- a/L2J_Mobius_4.0_GrandCrusade/java/org/l2jmobius/gameserver/ai/CreatureAI.java +++ b/L2J_Mobius_4.0_GrandCrusade/java/org/l2jmobius/gameserver/ai/CreatureAI.java @@ -158,7 +158,6 @@ public class CreatureAI extends AbstractAI // Stop the actor auto-attack client side by sending Server->Client packet AutoAttackStop (broadcast) clientStopAutoAttack(); - } /** diff --git a/L2J_Mobius_4.0_GrandCrusade/java/org/l2jmobius/gameserver/instancemanager/InstanceManager.java b/L2J_Mobius_4.0_GrandCrusade/java/org/l2jmobius/gameserver/instancemanager/InstanceManager.java index d1f8cd35e2..1a489ef122 100644 --- a/L2J_Mobius_4.0_GrandCrusade/java/org/l2jmobius/gameserver/instancemanager/InstanceManager.java +++ b/L2J_Mobius_4.0_GrandCrusade/java/org/l2jmobius/gameserver/instancemanager/InstanceManager.java @@ -365,7 +365,6 @@ public class InstanceManager implements IXmlReader // Save template _instanceTemplates.put(id, template); - } // -------------------------------------------------------------------- diff --git a/L2J_Mobius_4.0_GrandCrusade/java/org/l2jmobius/gameserver/model/actor/instance/PlayerInstance.java b/L2J_Mobius_4.0_GrandCrusade/java/org/l2jmobius/gameserver/model/actor/instance/PlayerInstance.java index bf292a3691..5c035eac6c 100644 --- a/L2J_Mobius_4.0_GrandCrusade/java/org/l2jmobius/gameserver/model/actor/instance/PlayerInstance.java +++ b/L2J_Mobius_4.0_GrandCrusade/java/org/l2jmobius/gameserver/model/actor/instance/PlayerInstance.java @@ -2478,6 +2478,11 @@ public class PlayerInstance extends Playable } } + public boolean isChangingClass() + { + return _subclassLock; + } + /** * @return the Experience of the PlayerInstance. */ diff --git a/L2J_Mobius_4.0_GrandCrusade/java/org/l2jmobius/gameserver/model/holders/PlayerEventHolder.java b/L2J_Mobius_4.0_GrandCrusade/java/org/l2jmobius/gameserver/model/holders/PlayerEventHolder.java index 48e259909e..a5f6f9f161 100644 --- a/L2J_Mobius_4.0_GrandCrusade/java/org/l2jmobius/gameserver/model/holders/PlayerEventHolder.java +++ b/L2J_Mobius_4.0_GrandCrusade/java/org/l2jmobius/gameserver/model/holders/PlayerEventHolder.java @@ -85,7 +85,6 @@ public class PlayerEventHolder _player.setPvpKills(_pvpKills); _player.setPkKills(_pkKills); _player.setReputation(_reputation); - } public void setSitForced(boolean sitForced) diff --git a/L2J_Mobius_4.0_GrandCrusade/java/org/l2jmobius/gameserver/model/itemcontainer/Inventory.java b/L2J_Mobius_4.0_GrandCrusade/java/org/l2jmobius/gameserver/model/itemcontainer/Inventory.java index 69ffa90bc6..0289c7ebcf 100644 --- a/L2J_Mobius_4.0_GrandCrusade/java/org/l2jmobius/gameserver/model/itemcontainer/Inventory.java +++ b/L2J_Mobius_4.0_GrandCrusade/java/org/l2jmobius/gameserver/model/itemcontainer/Inventory.java @@ -892,6 +892,11 @@ public abstract class Inventory extends ItemContainer @Override public void notifyUnequiped(int slot, ItemInstance item, Inventory inventory) { + if (item.getActingPlayer().isChangingClass()) + { + return; + } + if (item.getItem().getBodyPart() == Item.SLOT_R_BRACELET) { inventory.unEquipItemInSlot(PAPERDOLL_DECO1); @@ -922,6 +927,11 @@ public abstract class Inventory extends ItemContainer @Override public void notifyUnequiped(int slot, ItemInstance item, Inventory inventory) { + if (item.getActingPlayer().isChangingClass()) + { + return; + } + if (item.getItem().getBodyPart() == Item.SLOT_BROOCH) { inventory.unEquipItemInSlot(PAPERDOLL_BROOCH_JEWEL1); @@ -958,7 +968,6 @@ public abstract class Inventory extends ItemContainer // common addPaperdollListener(StatsListener.getInstance()); - } protected abstract ItemLocation getEquipLocation(); @@ -2213,7 +2222,8 @@ public abstract class Inventory extends ItemContainer } /** - * Re-notify to paperdoll listeners every equipped item + * Re-notify to paperdoll listeners every equipped item.
+ * Only used by player ClassId set methods. */ public void reloadEquippedItems() { @@ -2237,6 +2247,7 @@ public abstract class Inventory extends ItemContainer listener.notifyEquiped(slot, item, this); } } + if (getOwner().isPlayer()) { getOwner().sendPacket(new ExUserInfoEquipSlot(getOwner().getActingPlayer())); diff --git a/L2J_Mobius_4.0_GrandCrusade/java/org/l2jmobius/gameserver/model/quest/LongTimeEvent.java b/L2J_Mobius_4.0_GrandCrusade/java/org/l2jmobius/gameserver/model/quest/LongTimeEvent.java index 1bc53fb2f5..1b06839f10 100644 --- a/L2J_Mobius_4.0_GrandCrusade/java/org/l2jmobius/gameserver/model/quest/LongTimeEvent.java +++ b/L2J_Mobius_4.0_GrandCrusade/java/org/l2jmobius/gameserver/model/quest/LongTimeEvent.java @@ -305,7 +305,6 @@ public class LongTimeEvent extends Quest } } }.load(); - } protected class ScheduleStart implements Runnable diff --git a/L2J_Mobius_4.0_GrandCrusade/java/org/l2jmobius/gameserver/network/clientpackets/SnoopQuit.java b/L2J_Mobius_4.0_GrandCrusade/java/org/l2jmobius/gameserver/network/clientpackets/SnoopQuit.java index 3dbc0f9c0b..1873c4333c 100644 --- a/L2J_Mobius_4.0_GrandCrusade/java/org/l2jmobius/gameserver/network/clientpackets/SnoopQuit.java +++ b/L2J_Mobius_4.0_GrandCrusade/java/org/l2jmobius/gameserver/network/clientpackets/SnoopQuit.java @@ -52,6 +52,5 @@ public class SnoopQuit implements IClientIncomingPacket target.removeSnooper(player); player.removeSnooped(target); - } } diff --git a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10560_WayOfWanderingKnight/Q10560_WayOfWanderingKnight.java b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10560_WayOfWanderingKnight/Q10560_WayOfWanderingKnight.java index 7d38af3a2e..a140dd494e 100644 --- a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10560_WayOfWanderingKnight/Q10560_WayOfWanderingKnight.java +++ b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10560_WayOfWanderingKnight/Q10560_WayOfWanderingKnight.java @@ -219,7 +219,6 @@ public class Q10560_WayOfWanderingKnight extends Quest } } return htmltext; - } @Override diff --git a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10874_AgainstTheNewEnemy/Q10874_AgainstTheNewEnemy.java b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10874_AgainstTheNewEnemy/Q10874_AgainstTheNewEnemy.java index 7c12cd1c69..f523a32a6e 100644 --- a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10874_AgainstTheNewEnemy/Q10874_AgainstTheNewEnemy.java +++ b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10874_AgainstTheNewEnemy/Q10874_AgainstTheNewEnemy.java @@ -243,7 +243,6 @@ public class Q10874_AgainstTheNewEnemy extends Quest } } return htmltext; - } @Override diff --git a/L2J_Mobius_5.0_Salvation/java/org/l2jmobius/gameserver/ai/CreatureAI.java b/L2J_Mobius_5.0_Salvation/java/org/l2jmobius/gameserver/ai/CreatureAI.java index e7a92ff3b3..fa38b02488 100644 --- a/L2J_Mobius_5.0_Salvation/java/org/l2jmobius/gameserver/ai/CreatureAI.java +++ b/L2J_Mobius_5.0_Salvation/java/org/l2jmobius/gameserver/ai/CreatureAI.java @@ -158,7 +158,6 @@ public class CreatureAI extends AbstractAI // Stop the actor auto-attack client side by sending Server->Client packet AutoAttackStop (broadcast) clientStopAutoAttack(); - } /** diff --git a/L2J_Mobius_5.0_Salvation/java/org/l2jmobius/gameserver/instancemanager/InstanceManager.java b/L2J_Mobius_5.0_Salvation/java/org/l2jmobius/gameserver/instancemanager/InstanceManager.java index d1f8cd35e2..1a489ef122 100644 --- a/L2J_Mobius_5.0_Salvation/java/org/l2jmobius/gameserver/instancemanager/InstanceManager.java +++ b/L2J_Mobius_5.0_Salvation/java/org/l2jmobius/gameserver/instancemanager/InstanceManager.java @@ -365,7 +365,6 @@ public class InstanceManager implements IXmlReader // Save template _instanceTemplates.put(id, template); - } // -------------------------------------------------------------------- diff --git a/L2J_Mobius_5.0_Salvation/java/org/l2jmobius/gameserver/model/actor/instance/PlayerInstance.java b/L2J_Mobius_5.0_Salvation/java/org/l2jmobius/gameserver/model/actor/instance/PlayerInstance.java index 07e2352012..86aff16b33 100644 --- a/L2J_Mobius_5.0_Salvation/java/org/l2jmobius/gameserver/model/actor/instance/PlayerInstance.java +++ b/L2J_Mobius_5.0_Salvation/java/org/l2jmobius/gameserver/model/actor/instance/PlayerInstance.java @@ -2474,6 +2474,11 @@ public class PlayerInstance extends Playable } } + public boolean isChangingClass() + { + return _subclassLock; + } + /** * @return the Experience of the PlayerInstance. */ diff --git a/L2J_Mobius_5.0_Salvation/java/org/l2jmobius/gameserver/model/holders/PlayerEventHolder.java b/L2J_Mobius_5.0_Salvation/java/org/l2jmobius/gameserver/model/holders/PlayerEventHolder.java index 48e259909e..a5f6f9f161 100644 --- a/L2J_Mobius_5.0_Salvation/java/org/l2jmobius/gameserver/model/holders/PlayerEventHolder.java +++ b/L2J_Mobius_5.0_Salvation/java/org/l2jmobius/gameserver/model/holders/PlayerEventHolder.java @@ -85,7 +85,6 @@ public class PlayerEventHolder _player.setPvpKills(_pvpKills); _player.setPkKills(_pkKills); _player.setReputation(_reputation); - } public void setSitForced(boolean sitForced) diff --git a/L2J_Mobius_5.0_Salvation/java/org/l2jmobius/gameserver/model/itemcontainer/Inventory.java b/L2J_Mobius_5.0_Salvation/java/org/l2jmobius/gameserver/model/itemcontainer/Inventory.java index 01196cb1c9..87498133c1 100644 --- a/L2J_Mobius_5.0_Salvation/java/org/l2jmobius/gameserver/model/itemcontainer/Inventory.java +++ b/L2J_Mobius_5.0_Salvation/java/org/l2jmobius/gameserver/model/itemcontainer/Inventory.java @@ -906,6 +906,11 @@ public abstract class Inventory extends ItemContainer @Override public void notifyUnequiped(int slot, ItemInstance item, Inventory inventory) { + if (item.getActingPlayer().isChangingClass()) + { + return; + } + if (item.getItem().getBodyPart() == Item.SLOT_R_BRACELET) { inventory.unEquipItemInSlot(PAPERDOLL_DECO1); @@ -936,6 +941,11 @@ public abstract class Inventory extends ItemContainer @Override public void notifyUnequiped(int slot, ItemInstance item, Inventory inventory) { + if (item.getActingPlayer().isChangingClass()) + { + return; + } + if (item.getItem().getBodyPart() == Item.SLOT_BROOCH) { inventory.unEquipItemInSlot(PAPERDOLL_BROOCH_JEWEL1); @@ -966,6 +976,11 @@ public abstract class Inventory extends ItemContainer @Override public void notifyUnequiped(int slot, ItemInstance item, Inventory inventory) { + if (item.getActingPlayer().isChangingClass()) + { + return; + } + if (item.getItem().getBodyPart() == Item.SLOT_L_BRACELET) { inventory.unEquipItemInSlot(PAPERDOLL_AGATHION1); @@ -1001,7 +1016,6 @@ public abstract class Inventory extends ItemContainer // common addPaperdollListener(StatsListener.getInstance()); - } protected abstract ItemLocation getEquipLocation(); @@ -2286,7 +2300,8 @@ public abstract class Inventory extends ItemContainer } /** - * Re-notify to paperdoll listeners every equipped item + * Re-notify to paperdoll listeners every equipped item.
+ * Only used by player ClassId set methods. */ public void reloadEquippedItems() { @@ -2310,6 +2325,7 @@ public abstract class Inventory extends ItemContainer listener.notifyEquiped(slot, item, this); } } + if (getOwner().isPlayer()) { getOwner().sendPacket(new ExUserInfoEquipSlot(getOwner().getActingPlayer())); diff --git a/L2J_Mobius_5.0_Salvation/java/org/l2jmobius/gameserver/model/quest/LongTimeEvent.java b/L2J_Mobius_5.0_Salvation/java/org/l2jmobius/gameserver/model/quest/LongTimeEvent.java index 1bc53fb2f5..1b06839f10 100644 --- a/L2J_Mobius_5.0_Salvation/java/org/l2jmobius/gameserver/model/quest/LongTimeEvent.java +++ b/L2J_Mobius_5.0_Salvation/java/org/l2jmobius/gameserver/model/quest/LongTimeEvent.java @@ -305,7 +305,6 @@ public class LongTimeEvent extends Quest } } }.load(); - } protected class ScheduleStart implements Runnable diff --git a/L2J_Mobius_5.0_Salvation/java/org/l2jmobius/gameserver/network/clientpackets/SnoopQuit.java b/L2J_Mobius_5.0_Salvation/java/org/l2jmobius/gameserver/network/clientpackets/SnoopQuit.java index 3dbc0f9c0b..1873c4333c 100644 --- a/L2J_Mobius_5.0_Salvation/java/org/l2jmobius/gameserver/network/clientpackets/SnoopQuit.java +++ b/L2J_Mobius_5.0_Salvation/java/org/l2jmobius/gameserver/network/clientpackets/SnoopQuit.java @@ -52,6 +52,5 @@ public class SnoopQuit implements IClientIncomingPacket target.removeSnooper(player); player.removeSnooped(target); - } } diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10560_WayOfWanderingKnight/Q10560_WayOfWanderingKnight.java b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10560_WayOfWanderingKnight/Q10560_WayOfWanderingKnight.java index 7d38af3a2e..a140dd494e 100644 --- a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10560_WayOfWanderingKnight/Q10560_WayOfWanderingKnight.java +++ b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10560_WayOfWanderingKnight/Q10560_WayOfWanderingKnight.java @@ -219,7 +219,6 @@ public class Q10560_WayOfWanderingKnight extends Quest } } return htmltext; - } @Override diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10874_AgainstTheNewEnemy/Q10874_AgainstTheNewEnemy.java b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10874_AgainstTheNewEnemy/Q10874_AgainstTheNewEnemy.java index 7c12cd1c69..f523a32a6e 100644 --- a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10874_AgainstTheNewEnemy/Q10874_AgainstTheNewEnemy.java +++ b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10874_AgainstTheNewEnemy/Q10874_AgainstTheNewEnemy.java @@ -243,7 +243,6 @@ public class Q10874_AgainstTheNewEnemy extends Quest } } return htmltext; - } @Override diff --git a/L2J_Mobius_5.5_EtinasFate/java/org/l2jmobius/gameserver/ai/CreatureAI.java b/L2J_Mobius_5.5_EtinasFate/java/org/l2jmobius/gameserver/ai/CreatureAI.java index e7a92ff3b3..fa38b02488 100644 --- a/L2J_Mobius_5.5_EtinasFate/java/org/l2jmobius/gameserver/ai/CreatureAI.java +++ b/L2J_Mobius_5.5_EtinasFate/java/org/l2jmobius/gameserver/ai/CreatureAI.java @@ -158,7 +158,6 @@ public class CreatureAI extends AbstractAI // Stop the actor auto-attack client side by sending Server->Client packet AutoAttackStop (broadcast) clientStopAutoAttack(); - } /** diff --git a/L2J_Mobius_5.5_EtinasFate/java/org/l2jmobius/gameserver/instancemanager/InstanceManager.java b/L2J_Mobius_5.5_EtinasFate/java/org/l2jmobius/gameserver/instancemanager/InstanceManager.java index d1f8cd35e2..1a489ef122 100644 --- a/L2J_Mobius_5.5_EtinasFate/java/org/l2jmobius/gameserver/instancemanager/InstanceManager.java +++ b/L2J_Mobius_5.5_EtinasFate/java/org/l2jmobius/gameserver/instancemanager/InstanceManager.java @@ -365,7 +365,6 @@ public class InstanceManager implements IXmlReader // Save template _instanceTemplates.put(id, template); - } // -------------------------------------------------------------------- diff --git a/L2J_Mobius_5.5_EtinasFate/java/org/l2jmobius/gameserver/model/actor/instance/PlayerInstance.java b/L2J_Mobius_5.5_EtinasFate/java/org/l2jmobius/gameserver/model/actor/instance/PlayerInstance.java index eae6d09241..f5d7a94dcf 100644 --- a/L2J_Mobius_5.5_EtinasFate/java/org/l2jmobius/gameserver/model/actor/instance/PlayerInstance.java +++ b/L2J_Mobius_5.5_EtinasFate/java/org/l2jmobius/gameserver/model/actor/instance/PlayerInstance.java @@ -2474,6 +2474,11 @@ public class PlayerInstance extends Playable } } + public boolean isChangingClass() + { + return _subclassLock; + } + /** * @return the Experience of the PlayerInstance. */ diff --git a/L2J_Mobius_5.5_EtinasFate/java/org/l2jmobius/gameserver/model/holders/PlayerEventHolder.java b/L2J_Mobius_5.5_EtinasFate/java/org/l2jmobius/gameserver/model/holders/PlayerEventHolder.java index 48e259909e..a5f6f9f161 100644 --- a/L2J_Mobius_5.5_EtinasFate/java/org/l2jmobius/gameserver/model/holders/PlayerEventHolder.java +++ b/L2J_Mobius_5.5_EtinasFate/java/org/l2jmobius/gameserver/model/holders/PlayerEventHolder.java @@ -85,7 +85,6 @@ public class PlayerEventHolder _player.setPvpKills(_pvpKills); _player.setPkKills(_pkKills); _player.setReputation(_reputation); - } public void setSitForced(boolean sitForced) diff --git a/L2J_Mobius_5.5_EtinasFate/java/org/l2jmobius/gameserver/model/itemcontainer/Inventory.java b/L2J_Mobius_5.5_EtinasFate/java/org/l2jmobius/gameserver/model/itemcontainer/Inventory.java index 8f9b6ae8bf..4382564fc3 100644 --- a/L2J_Mobius_5.5_EtinasFate/java/org/l2jmobius/gameserver/model/itemcontainer/Inventory.java +++ b/L2J_Mobius_5.5_EtinasFate/java/org/l2jmobius/gameserver/model/itemcontainer/Inventory.java @@ -929,6 +929,11 @@ public abstract class Inventory extends ItemContainer @Override public void notifyUnequiped(int slot, ItemInstance item, Inventory inventory) { + if (item.getActingPlayer().isChangingClass()) + { + return; + } + if (item.getItem().getBodyPart() == Item.SLOT_R_BRACELET) { inventory.unEquipItemInSlot(PAPERDOLL_DECO1); @@ -959,6 +964,11 @@ public abstract class Inventory extends ItemContainer @Override public void notifyUnequiped(int slot, ItemInstance item, Inventory inventory) { + if (item.getActingPlayer().isChangingClass()) + { + return; + } + if (item.getItem().getBodyPart() == Item.SLOT_BROOCH) { inventory.unEquipItemInSlot(PAPERDOLL_BROOCH_JEWEL1); @@ -989,6 +999,11 @@ public abstract class Inventory extends ItemContainer @Override public void notifyUnequiped(int slot, ItemInstance item, Inventory inventory) { + if (item.getActingPlayer().isChangingClass()) + { + return; + } + if (item.getItem().getBodyPart() == Item.SLOT_L_BRACELET) { inventory.unEquipItemInSlot(PAPERDOLL_AGATHION1); @@ -1017,6 +1032,11 @@ public abstract class Inventory extends ItemContainer @Override public void notifyUnequiped(int slot, ItemInstance item, Inventory inventory) { + if (item.getActingPlayer().isChangingClass()) + { + return; + } + if (item.getItem().getBodyPart() == Item.SLOT_ARTIFACT_BOOK) { inventory.unEquipItemInSlot(PAPERDOLL_ARTIFACT1); @@ -1069,7 +1089,6 @@ public abstract class Inventory extends ItemContainer // common addPaperdollListener(StatsListener.getInstance()); - } protected abstract ItemLocation getEquipLocation(); @@ -2473,7 +2492,8 @@ public abstract class Inventory extends ItemContainer } /** - * Re-notify to paperdoll listeners every equipped item + * Re-notify to paperdoll listeners every equipped item.
+ * Only used by player ClassId set methods. */ public void reloadEquippedItems() { @@ -2486,13 +2506,6 @@ public abstract class Inventory extends ItemContainer } slot = item.getLocationSlot(); - - // Do not unequip bracelets, talismans or artifacts. - if ((slot >= PAPERDOLL_LBRACELET) && (slot <= PAPERDOLL_ARTIFACT21)) - { - continue; - } - for (PaperdollListener listener : _paperdollListeners) { if (listener == null) @@ -2504,6 +2517,7 @@ public abstract class Inventory extends ItemContainer listener.notifyEquiped(slot, item, this); } } + if (getOwner().isPlayer()) { getOwner().sendPacket(new ExUserInfoEquipSlot(getOwner().getActingPlayer())); diff --git a/L2J_Mobius_5.5_EtinasFate/java/org/l2jmobius/gameserver/model/quest/LongTimeEvent.java b/L2J_Mobius_5.5_EtinasFate/java/org/l2jmobius/gameserver/model/quest/LongTimeEvent.java index 1bc53fb2f5..1b06839f10 100644 --- a/L2J_Mobius_5.5_EtinasFate/java/org/l2jmobius/gameserver/model/quest/LongTimeEvent.java +++ b/L2J_Mobius_5.5_EtinasFate/java/org/l2jmobius/gameserver/model/quest/LongTimeEvent.java @@ -305,7 +305,6 @@ public class LongTimeEvent extends Quest } } }.load(); - } protected class ScheduleStart implements Runnable diff --git a/L2J_Mobius_5.5_EtinasFate/java/org/l2jmobius/gameserver/network/clientpackets/SnoopQuit.java b/L2J_Mobius_5.5_EtinasFate/java/org/l2jmobius/gameserver/network/clientpackets/SnoopQuit.java index 3dbc0f9c0b..1873c4333c 100644 --- a/L2J_Mobius_5.5_EtinasFate/java/org/l2jmobius/gameserver/network/clientpackets/SnoopQuit.java +++ b/L2J_Mobius_5.5_EtinasFate/java/org/l2jmobius/gameserver/network/clientpackets/SnoopQuit.java @@ -52,6 +52,5 @@ public class SnoopQuit implements IClientIncomingPacket target.removeSnooper(player); player.removeSnooped(target); - } } diff --git a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q10560_WayOfWanderingKnight/Q10560_WayOfWanderingKnight.java b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q10560_WayOfWanderingKnight/Q10560_WayOfWanderingKnight.java index fe24589d86..cf2012c849 100644 --- a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q10560_WayOfWanderingKnight/Q10560_WayOfWanderingKnight.java +++ b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q10560_WayOfWanderingKnight/Q10560_WayOfWanderingKnight.java @@ -219,7 +219,6 @@ public class Q10560_WayOfWanderingKnight extends Quest } } return htmltext; - } @Override diff --git a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q10874_AgainstTheNewEnemy/Q10874_AgainstTheNewEnemy.java b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q10874_AgainstTheNewEnemy/Q10874_AgainstTheNewEnemy.java index 7c12cd1c69..f523a32a6e 100644 --- a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q10874_AgainstTheNewEnemy/Q10874_AgainstTheNewEnemy.java +++ b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q10874_AgainstTheNewEnemy/Q10874_AgainstTheNewEnemy.java @@ -243,7 +243,6 @@ public class Q10874_AgainstTheNewEnemy extends Quest } } return htmltext; - } @Override diff --git a/L2J_Mobius_6.0_Fafurion/java/org/l2jmobius/gameserver/ai/CreatureAI.java b/L2J_Mobius_6.0_Fafurion/java/org/l2jmobius/gameserver/ai/CreatureAI.java index e7a92ff3b3..fa38b02488 100644 --- a/L2J_Mobius_6.0_Fafurion/java/org/l2jmobius/gameserver/ai/CreatureAI.java +++ b/L2J_Mobius_6.0_Fafurion/java/org/l2jmobius/gameserver/ai/CreatureAI.java @@ -158,7 +158,6 @@ public class CreatureAI extends AbstractAI // Stop the actor auto-attack client side by sending Server->Client packet AutoAttackStop (broadcast) clientStopAutoAttack(); - } /** diff --git a/L2J_Mobius_6.0_Fafurion/java/org/l2jmobius/gameserver/instancemanager/InstanceManager.java b/L2J_Mobius_6.0_Fafurion/java/org/l2jmobius/gameserver/instancemanager/InstanceManager.java index d1f8cd35e2..1a489ef122 100644 --- a/L2J_Mobius_6.0_Fafurion/java/org/l2jmobius/gameserver/instancemanager/InstanceManager.java +++ b/L2J_Mobius_6.0_Fafurion/java/org/l2jmobius/gameserver/instancemanager/InstanceManager.java @@ -365,7 +365,6 @@ public class InstanceManager implements IXmlReader // Save template _instanceTemplates.put(id, template); - } // -------------------------------------------------------------------- diff --git a/L2J_Mobius_6.0_Fafurion/java/org/l2jmobius/gameserver/model/actor/instance/PlayerInstance.java b/L2J_Mobius_6.0_Fafurion/java/org/l2jmobius/gameserver/model/actor/instance/PlayerInstance.java index 57c4f9fe63..acc9dc465a 100644 --- a/L2J_Mobius_6.0_Fafurion/java/org/l2jmobius/gameserver/model/actor/instance/PlayerInstance.java +++ b/L2J_Mobius_6.0_Fafurion/java/org/l2jmobius/gameserver/model/actor/instance/PlayerInstance.java @@ -2474,6 +2474,11 @@ public class PlayerInstance extends Playable } } + public boolean isChangingClass() + { + return _subclassLock; + } + /** * @return the Experience of the PlayerInstance. */ diff --git a/L2J_Mobius_6.0_Fafurion/java/org/l2jmobius/gameserver/model/holders/PlayerEventHolder.java b/L2J_Mobius_6.0_Fafurion/java/org/l2jmobius/gameserver/model/holders/PlayerEventHolder.java index 48e259909e..a5f6f9f161 100644 --- a/L2J_Mobius_6.0_Fafurion/java/org/l2jmobius/gameserver/model/holders/PlayerEventHolder.java +++ b/L2J_Mobius_6.0_Fafurion/java/org/l2jmobius/gameserver/model/holders/PlayerEventHolder.java @@ -85,7 +85,6 @@ public class PlayerEventHolder _player.setPvpKills(_pvpKills); _player.setPkKills(_pkKills); _player.setReputation(_reputation); - } public void setSitForced(boolean sitForced) diff --git a/L2J_Mobius_6.0_Fafurion/java/org/l2jmobius/gameserver/model/itemcontainer/Inventory.java b/L2J_Mobius_6.0_Fafurion/java/org/l2jmobius/gameserver/model/itemcontainer/Inventory.java index 8f9b6ae8bf..4382564fc3 100644 --- a/L2J_Mobius_6.0_Fafurion/java/org/l2jmobius/gameserver/model/itemcontainer/Inventory.java +++ b/L2J_Mobius_6.0_Fafurion/java/org/l2jmobius/gameserver/model/itemcontainer/Inventory.java @@ -929,6 +929,11 @@ public abstract class Inventory extends ItemContainer @Override public void notifyUnequiped(int slot, ItemInstance item, Inventory inventory) { + if (item.getActingPlayer().isChangingClass()) + { + return; + } + if (item.getItem().getBodyPart() == Item.SLOT_R_BRACELET) { inventory.unEquipItemInSlot(PAPERDOLL_DECO1); @@ -959,6 +964,11 @@ public abstract class Inventory extends ItemContainer @Override public void notifyUnequiped(int slot, ItemInstance item, Inventory inventory) { + if (item.getActingPlayer().isChangingClass()) + { + return; + } + if (item.getItem().getBodyPart() == Item.SLOT_BROOCH) { inventory.unEquipItemInSlot(PAPERDOLL_BROOCH_JEWEL1); @@ -989,6 +999,11 @@ public abstract class Inventory extends ItemContainer @Override public void notifyUnequiped(int slot, ItemInstance item, Inventory inventory) { + if (item.getActingPlayer().isChangingClass()) + { + return; + } + if (item.getItem().getBodyPart() == Item.SLOT_L_BRACELET) { inventory.unEquipItemInSlot(PAPERDOLL_AGATHION1); @@ -1017,6 +1032,11 @@ public abstract class Inventory extends ItemContainer @Override public void notifyUnequiped(int slot, ItemInstance item, Inventory inventory) { + if (item.getActingPlayer().isChangingClass()) + { + return; + } + if (item.getItem().getBodyPart() == Item.SLOT_ARTIFACT_BOOK) { inventory.unEquipItemInSlot(PAPERDOLL_ARTIFACT1); @@ -1069,7 +1089,6 @@ public abstract class Inventory extends ItemContainer // common addPaperdollListener(StatsListener.getInstance()); - } protected abstract ItemLocation getEquipLocation(); @@ -2473,7 +2492,8 @@ public abstract class Inventory extends ItemContainer } /** - * Re-notify to paperdoll listeners every equipped item + * Re-notify to paperdoll listeners every equipped item.
+ * Only used by player ClassId set methods. */ public void reloadEquippedItems() { @@ -2486,13 +2506,6 @@ public abstract class Inventory extends ItemContainer } slot = item.getLocationSlot(); - - // Do not unequip bracelets, talismans or artifacts. - if ((slot >= PAPERDOLL_LBRACELET) && (slot <= PAPERDOLL_ARTIFACT21)) - { - continue; - } - for (PaperdollListener listener : _paperdollListeners) { if (listener == null) @@ -2504,6 +2517,7 @@ public abstract class Inventory extends ItemContainer listener.notifyEquiped(slot, item, this); } } + if (getOwner().isPlayer()) { getOwner().sendPacket(new ExUserInfoEquipSlot(getOwner().getActingPlayer())); diff --git a/L2J_Mobius_6.0_Fafurion/java/org/l2jmobius/gameserver/model/quest/LongTimeEvent.java b/L2J_Mobius_6.0_Fafurion/java/org/l2jmobius/gameserver/model/quest/LongTimeEvent.java index 1bc53fb2f5..1b06839f10 100644 --- a/L2J_Mobius_6.0_Fafurion/java/org/l2jmobius/gameserver/model/quest/LongTimeEvent.java +++ b/L2J_Mobius_6.0_Fafurion/java/org/l2jmobius/gameserver/model/quest/LongTimeEvent.java @@ -305,7 +305,6 @@ public class LongTimeEvent extends Quest } } }.load(); - } protected class ScheduleStart implements Runnable diff --git a/L2J_Mobius_6.0_Fafurion/java/org/l2jmobius/gameserver/network/clientpackets/SnoopQuit.java b/L2J_Mobius_6.0_Fafurion/java/org/l2jmobius/gameserver/network/clientpackets/SnoopQuit.java index 3dbc0f9c0b..1873c4333c 100644 --- a/L2J_Mobius_6.0_Fafurion/java/org/l2jmobius/gameserver/network/clientpackets/SnoopQuit.java +++ b/L2J_Mobius_6.0_Fafurion/java/org/l2jmobius/gameserver/network/clientpackets/SnoopQuit.java @@ -52,6 +52,5 @@ public class SnoopQuit implements IClientIncomingPacket target.removeSnooper(player); player.removeSnooped(target); - } } diff --git a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q10514_NewPathToGlory/Q10514_NewPathToGlory.java b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q10514_NewPathToGlory/Q10514_NewPathToGlory.java index 5ebe02fa4e..642868cb99 100644 --- a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q10514_NewPathToGlory/Q10514_NewPathToGlory.java +++ b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q10514_NewPathToGlory/Q10514_NewPathToGlory.java @@ -197,7 +197,6 @@ public class Q10514_NewPathToGlory extends Quest } } return htmltext; - } @Override diff --git a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q10874_AgainstTheNewEnemy/Q10874_AgainstTheNewEnemy.java b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q10874_AgainstTheNewEnemy/Q10874_AgainstTheNewEnemy.java index 5f5c900ca6..46822f006d 100644 --- a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q10874_AgainstTheNewEnemy/Q10874_AgainstTheNewEnemy.java +++ b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q10874_AgainstTheNewEnemy/Q10874_AgainstTheNewEnemy.java @@ -243,7 +243,6 @@ public class Q10874_AgainstTheNewEnemy extends Quest } } return htmltext; - } @Override diff --git a/L2J_Mobius_7.0_PreludeOfWar/java/org/l2jmobius/gameserver/ai/CreatureAI.java b/L2J_Mobius_7.0_PreludeOfWar/java/org/l2jmobius/gameserver/ai/CreatureAI.java index e7a92ff3b3..fa38b02488 100644 --- a/L2J_Mobius_7.0_PreludeOfWar/java/org/l2jmobius/gameserver/ai/CreatureAI.java +++ b/L2J_Mobius_7.0_PreludeOfWar/java/org/l2jmobius/gameserver/ai/CreatureAI.java @@ -158,7 +158,6 @@ public class CreatureAI extends AbstractAI // Stop the actor auto-attack client side by sending Server->Client packet AutoAttackStop (broadcast) clientStopAutoAttack(); - } /** diff --git a/L2J_Mobius_7.0_PreludeOfWar/java/org/l2jmobius/gameserver/data/xml/SymbolSealData.java b/L2J_Mobius_7.0_PreludeOfWar/java/org/l2jmobius/gameserver/data/xml/SymbolSealData.java index 3ea9210362..cfe2204166 100644 --- a/L2J_Mobius_7.0_PreludeOfWar/java/org/l2jmobius/gameserver/data/xml/SymbolSealData.java +++ b/L2J_Mobius_7.0_PreludeOfWar/java/org/l2jmobius/gameserver/data/xml/SymbolSealData.java @@ -45,7 +45,6 @@ public class SymbolSealData implements IXmlReader public void load() { parseDatapackFile("data/SymbolSealData.xml"); - } @Override diff --git a/L2J_Mobius_7.0_PreludeOfWar/java/org/l2jmobius/gameserver/instancemanager/InstanceManager.java b/L2J_Mobius_7.0_PreludeOfWar/java/org/l2jmobius/gameserver/instancemanager/InstanceManager.java index d1f8cd35e2..1a489ef122 100644 --- a/L2J_Mobius_7.0_PreludeOfWar/java/org/l2jmobius/gameserver/instancemanager/InstanceManager.java +++ b/L2J_Mobius_7.0_PreludeOfWar/java/org/l2jmobius/gameserver/instancemanager/InstanceManager.java @@ -365,7 +365,6 @@ public class InstanceManager implements IXmlReader // Save template _instanceTemplates.put(id, template); - } // -------------------------------------------------------------------- diff --git a/L2J_Mobius_7.0_PreludeOfWar/java/org/l2jmobius/gameserver/model/actor/instance/PlayerInstance.java b/L2J_Mobius_7.0_PreludeOfWar/java/org/l2jmobius/gameserver/model/actor/instance/PlayerInstance.java index e486167ebc..1cb7771322 100644 --- a/L2J_Mobius_7.0_PreludeOfWar/java/org/l2jmobius/gameserver/model/actor/instance/PlayerInstance.java +++ b/L2J_Mobius_7.0_PreludeOfWar/java/org/l2jmobius/gameserver/model/actor/instance/PlayerInstance.java @@ -2408,6 +2408,11 @@ public class PlayerInstance extends Playable } } + public boolean isChangingClass() + { + return _subclassLock; + } + /** * @return the Experience of the PlayerInstance. */ diff --git a/L2J_Mobius_7.0_PreludeOfWar/java/org/l2jmobius/gameserver/model/holders/PlayerEventHolder.java b/L2J_Mobius_7.0_PreludeOfWar/java/org/l2jmobius/gameserver/model/holders/PlayerEventHolder.java index 48e259909e..a5f6f9f161 100644 --- a/L2J_Mobius_7.0_PreludeOfWar/java/org/l2jmobius/gameserver/model/holders/PlayerEventHolder.java +++ b/L2J_Mobius_7.0_PreludeOfWar/java/org/l2jmobius/gameserver/model/holders/PlayerEventHolder.java @@ -85,7 +85,6 @@ public class PlayerEventHolder _player.setPvpKills(_pvpKills); _player.setPkKills(_pkKills); _player.setReputation(_reputation); - } public void setSitForced(boolean sitForced) diff --git a/L2J_Mobius_7.0_PreludeOfWar/java/org/l2jmobius/gameserver/model/itemcontainer/Inventory.java b/L2J_Mobius_7.0_PreludeOfWar/java/org/l2jmobius/gameserver/model/itemcontainer/Inventory.java index 4a3a17670e..0af15d02d0 100644 --- a/L2J_Mobius_7.0_PreludeOfWar/java/org/l2jmobius/gameserver/model/itemcontainer/Inventory.java +++ b/L2J_Mobius_7.0_PreludeOfWar/java/org/l2jmobius/gameserver/model/itemcontainer/Inventory.java @@ -923,6 +923,11 @@ public abstract class Inventory extends ItemContainer @Override public void notifyUnequiped(int slot, ItemInstance item, Inventory inventory) { + if (item.getActingPlayer().isChangingClass()) + { + return; + } + if (item.getItem().getBodyPart() == Item.SLOT_R_BRACELET) { inventory.unEquipItemInSlot(PAPERDOLL_DECO1); @@ -953,6 +958,11 @@ public abstract class Inventory extends ItemContainer @Override public void notifyUnequiped(int slot, ItemInstance item, Inventory inventory) { + if (item.getActingPlayer().isChangingClass()) + { + return; + } + if (item.getItem().getBodyPart() == Item.SLOT_BROOCH) { inventory.unEquipItemInSlot(PAPERDOLL_BROOCH_JEWEL1); @@ -983,6 +993,11 @@ public abstract class Inventory extends ItemContainer @Override public void notifyUnequiped(int slot, ItemInstance item, Inventory inventory) { + if (item.getActingPlayer().isChangingClass()) + { + return; + } + if (item.getItem().getBodyPart() == Item.SLOT_L_BRACELET) { inventory.unEquipItemInSlot(PAPERDOLL_AGATHION1); @@ -1011,6 +1026,11 @@ public abstract class Inventory extends ItemContainer @Override public void notifyUnequiped(int slot, ItemInstance item, Inventory inventory) { + if (item.getActingPlayer().isChangingClass()) + { + return; + } + if (item.getItem().getBodyPart() == Item.SLOT_ARTIFACT_BOOK) { inventory.unEquipItemInSlot(PAPERDOLL_ARTIFACT1); @@ -1063,7 +1083,6 @@ public abstract class Inventory extends ItemContainer // common addPaperdollListener(StatsListener.getInstance()); - } protected abstract ItemLocation getEquipLocation(); @@ -2458,7 +2477,8 @@ public abstract class Inventory extends ItemContainer } /** - * Re-notify to paperdoll listeners every equipped item + * Re-notify to paperdoll listeners every equipped item.
+ * Only used by player ClassId set methods. */ public void reloadEquippedItems() { @@ -2471,13 +2491,6 @@ public abstract class Inventory extends ItemContainer } slot = item.getLocationSlot(); - - // Do not unequip bracelets, talismans or artifacts. - if ((slot >= PAPERDOLL_LBRACELET) && (slot <= PAPERDOLL_ARTIFACT21)) - { - continue; - } - for (PaperdollListener listener : _paperdollListeners) { if (listener == null) @@ -2489,6 +2502,7 @@ public abstract class Inventory extends ItemContainer listener.notifyEquiped(slot, item, this); } } + if (getOwner().isPlayer()) { getOwner().sendPacket(new ExUserInfoEquipSlot(getOwner().getActingPlayer())); diff --git a/L2J_Mobius_7.0_PreludeOfWar/java/org/l2jmobius/gameserver/model/quest/LongTimeEvent.java b/L2J_Mobius_7.0_PreludeOfWar/java/org/l2jmobius/gameserver/model/quest/LongTimeEvent.java index 1bc53fb2f5..1b06839f10 100644 --- a/L2J_Mobius_7.0_PreludeOfWar/java/org/l2jmobius/gameserver/model/quest/LongTimeEvent.java +++ b/L2J_Mobius_7.0_PreludeOfWar/java/org/l2jmobius/gameserver/model/quest/LongTimeEvent.java @@ -305,7 +305,6 @@ public class LongTimeEvent extends Quest } } }.load(); - } protected class ScheduleStart implements Runnable diff --git a/L2J_Mobius_7.0_PreludeOfWar/java/org/l2jmobius/gameserver/network/clientpackets/SnoopQuit.java b/L2J_Mobius_7.0_PreludeOfWar/java/org/l2jmobius/gameserver/network/clientpackets/SnoopQuit.java index 3dbc0f9c0b..1873c4333c 100644 --- a/L2J_Mobius_7.0_PreludeOfWar/java/org/l2jmobius/gameserver/network/clientpackets/SnoopQuit.java +++ b/L2J_Mobius_7.0_PreludeOfWar/java/org/l2jmobius/gameserver/network/clientpackets/SnoopQuit.java @@ -52,6 +52,5 @@ public class SnoopQuit implements IClientIncomingPacket target.removeSnooper(player); player.removeSnooped(target); - } } diff --git a/L2J_Mobius_8.0_Homunculus/java/org/l2jmobius/gameserver/ai/CreatureAI.java b/L2J_Mobius_8.0_Homunculus/java/org/l2jmobius/gameserver/ai/CreatureAI.java index e7a92ff3b3..fa38b02488 100644 --- a/L2J_Mobius_8.0_Homunculus/java/org/l2jmobius/gameserver/ai/CreatureAI.java +++ b/L2J_Mobius_8.0_Homunculus/java/org/l2jmobius/gameserver/ai/CreatureAI.java @@ -158,7 +158,6 @@ public class CreatureAI extends AbstractAI // Stop the actor auto-attack client side by sending Server->Client packet AutoAttackStop (broadcast) clientStopAutoAttack(); - } /** diff --git a/L2J_Mobius_8.0_Homunculus/java/org/l2jmobius/gameserver/data/xml/SymbolSealData.java b/L2J_Mobius_8.0_Homunculus/java/org/l2jmobius/gameserver/data/xml/SymbolSealData.java index 3ea9210362..cfe2204166 100644 --- a/L2J_Mobius_8.0_Homunculus/java/org/l2jmobius/gameserver/data/xml/SymbolSealData.java +++ b/L2J_Mobius_8.0_Homunculus/java/org/l2jmobius/gameserver/data/xml/SymbolSealData.java @@ -45,7 +45,6 @@ public class SymbolSealData implements IXmlReader public void load() { parseDatapackFile("data/SymbolSealData.xml"); - } @Override diff --git a/L2J_Mobius_8.0_Homunculus/java/org/l2jmobius/gameserver/instancemanager/InstanceManager.java b/L2J_Mobius_8.0_Homunculus/java/org/l2jmobius/gameserver/instancemanager/InstanceManager.java index e36183899e..c8e1d8ed98 100644 --- a/L2J_Mobius_8.0_Homunculus/java/org/l2jmobius/gameserver/instancemanager/InstanceManager.java +++ b/L2J_Mobius_8.0_Homunculus/java/org/l2jmobius/gameserver/instancemanager/InstanceManager.java @@ -369,7 +369,6 @@ public class InstanceManager implements IXmlReader // Save template _instanceTemplates.put(id, template); - } // -------------------------------------------------------------------- diff --git a/L2J_Mobius_8.0_Homunculus/java/org/l2jmobius/gameserver/model/actor/instance/PlayerInstance.java b/L2J_Mobius_8.0_Homunculus/java/org/l2jmobius/gameserver/model/actor/instance/PlayerInstance.java index 634b7ca9e3..cc7d743b55 100644 --- a/L2J_Mobius_8.0_Homunculus/java/org/l2jmobius/gameserver/model/actor/instance/PlayerInstance.java +++ b/L2J_Mobius_8.0_Homunculus/java/org/l2jmobius/gameserver/model/actor/instance/PlayerInstance.java @@ -2439,6 +2439,11 @@ public class PlayerInstance extends Playable } } + public boolean isChangingClass() + { + return _subclassLock; + } + /** * @return the Experience of the PlayerInstance. */ diff --git a/L2J_Mobius_8.0_Homunculus/java/org/l2jmobius/gameserver/model/holders/PlayerEventHolder.java b/L2J_Mobius_8.0_Homunculus/java/org/l2jmobius/gameserver/model/holders/PlayerEventHolder.java index 48e259909e..a5f6f9f161 100644 --- a/L2J_Mobius_8.0_Homunculus/java/org/l2jmobius/gameserver/model/holders/PlayerEventHolder.java +++ b/L2J_Mobius_8.0_Homunculus/java/org/l2jmobius/gameserver/model/holders/PlayerEventHolder.java @@ -85,7 +85,6 @@ public class PlayerEventHolder _player.setPvpKills(_pvpKills); _player.setPkKills(_pkKills); _player.setReputation(_reputation); - } public void setSitForced(boolean sitForced) diff --git a/L2J_Mobius_8.0_Homunculus/java/org/l2jmobius/gameserver/model/itemcontainer/Inventory.java b/L2J_Mobius_8.0_Homunculus/java/org/l2jmobius/gameserver/model/itemcontainer/Inventory.java index fb920b4375..e0fe0caf66 100644 --- a/L2J_Mobius_8.0_Homunculus/java/org/l2jmobius/gameserver/model/itemcontainer/Inventory.java +++ b/L2J_Mobius_8.0_Homunculus/java/org/l2jmobius/gameserver/model/itemcontainer/Inventory.java @@ -905,6 +905,11 @@ public abstract class Inventory extends ItemContainer @Override public void notifyUnequiped(int slot, ItemInstance item, Inventory inventory) { + if (item.getActingPlayer().isChangingClass()) + { + return; + } + if (item.getItem().getBodyPart() == Item.SLOT_R_BRACELET) { inventory.unEquipItemInSlot(PAPERDOLL_DECO1); @@ -935,6 +940,11 @@ public abstract class Inventory extends ItemContainer @Override public void notifyUnequiped(int slot, ItemInstance item, Inventory inventory) { + if (item.getActingPlayer().isChangingClass()) + { + return; + } + if (item.getItem().getBodyPart() == Item.SLOT_BROOCH) { inventory.unEquipItemInSlot(PAPERDOLL_BROOCH_JEWEL1); @@ -965,6 +975,11 @@ public abstract class Inventory extends ItemContainer @Override public void notifyUnequiped(int slot, ItemInstance item, Inventory inventory) { + if (item.getActingPlayer().isChangingClass()) + { + return; + } + if (item.getItem().getBodyPart() == Item.SLOT_L_BRACELET) { inventory.unEquipItemInSlot(PAPERDOLL_AGATHION1); @@ -993,6 +1008,11 @@ public abstract class Inventory extends ItemContainer @Override public void notifyUnequiped(int slot, ItemInstance item, Inventory inventory) { + if (item.getActingPlayer().isChangingClass()) + { + return; + } + if (item.getItem().getBodyPart() == Item.SLOT_ARTIFACT_BOOK) { inventory.unEquipItemInSlot(PAPERDOLL_ARTIFACT1); @@ -1045,7 +1065,6 @@ public abstract class Inventory extends ItemContainer // common addPaperdollListener(StatsListener.getInstance()); - } protected abstract ItemLocation getEquipLocation(); @@ -2440,7 +2459,8 @@ public abstract class Inventory extends ItemContainer } /** - * Re-notify to paperdoll listeners every equipped item + * Re-notify to paperdoll listeners every equipped item.
+ * Only used by player ClassId set methods. */ public void reloadEquippedItems() { @@ -2453,13 +2473,6 @@ public abstract class Inventory extends ItemContainer } slot = item.getLocationSlot(); - - // Do not unequip bracelets, talismans or artifacts. - if ((slot >= PAPERDOLL_LBRACELET) && (slot <= PAPERDOLL_ARTIFACT21)) - { - continue; - } - for (PaperdollListener listener : _paperdollListeners) { if (listener == null) @@ -2471,6 +2484,7 @@ public abstract class Inventory extends ItemContainer listener.notifyEquiped(slot, item, this); } } + if (getOwner().isPlayer()) { getOwner().sendPacket(new ExUserInfoEquipSlot(getOwner().getActingPlayer())); diff --git a/L2J_Mobius_8.0_Homunculus/java/org/l2jmobius/gameserver/model/quest/LongTimeEvent.java b/L2J_Mobius_8.0_Homunculus/java/org/l2jmobius/gameserver/model/quest/LongTimeEvent.java index 1bc53fb2f5..1b06839f10 100644 --- a/L2J_Mobius_8.0_Homunculus/java/org/l2jmobius/gameserver/model/quest/LongTimeEvent.java +++ b/L2J_Mobius_8.0_Homunculus/java/org/l2jmobius/gameserver/model/quest/LongTimeEvent.java @@ -305,7 +305,6 @@ public class LongTimeEvent extends Quest } } }.load(); - } protected class ScheduleStart implements Runnable diff --git a/L2J_Mobius_8.0_Homunculus/java/org/l2jmobius/gameserver/network/clientpackets/SnoopQuit.java b/L2J_Mobius_8.0_Homunculus/java/org/l2jmobius/gameserver/network/clientpackets/SnoopQuit.java index 3dbc0f9c0b..1873c4333c 100644 --- a/L2J_Mobius_8.0_Homunculus/java/org/l2jmobius/gameserver/network/clientpackets/SnoopQuit.java +++ b/L2J_Mobius_8.0_Homunculus/java/org/l2jmobius/gameserver/network/clientpackets/SnoopQuit.java @@ -52,6 +52,5 @@ public class SnoopQuit implements IClientIncomingPacket target.removeSnooper(player); player.removeSnooped(target); - } } diff --git a/L2J_Mobius_9.0_ReturnOfTheQueenAnt/java/org/l2jmobius/gameserver/ai/CreatureAI.java b/L2J_Mobius_9.0_ReturnOfTheQueenAnt/java/org/l2jmobius/gameserver/ai/CreatureAI.java index e7a92ff3b3..fa38b02488 100644 --- a/L2J_Mobius_9.0_ReturnOfTheQueenAnt/java/org/l2jmobius/gameserver/ai/CreatureAI.java +++ b/L2J_Mobius_9.0_ReturnOfTheQueenAnt/java/org/l2jmobius/gameserver/ai/CreatureAI.java @@ -158,7 +158,6 @@ public class CreatureAI extends AbstractAI // Stop the actor auto-attack client side by sending Server->Client packet AutoAttackStop (broadcast) clientStopAutoAttack(); - } /** diff --git a/L2J_Mobius_9.0_ReturnOfTheQueenAnt/java/org/l2jmobius/gameserver/data/xml/SymbolSealData.java b/L2J_Mobius_9.0_ReturnOfTheQueenAnt/java/org/l2jmobius/gameserver/data/xml/SymbolSealData.java index 3ea9210362..cfe2204166 100644 --- a/L2J_Mobius_9.0_ReturnOfTheQueenAnt/java/org/l2jmobius/gameserver/data/xml/SymbolSealData.java +++ b/L2J_Mobius_9.0_ReturnOfTheQueenAnt/java/org/l2jmobius/gameserver/data/xml/SymbolSealData.java @@ -45,7 +45,6 @@ public class SymbolSealData implements IXmlReader public void load() { parseDatapackFile("data/SymbolSealData.xml"); - } @Override diff --git a/L2J_Mobius_9.0_ReturnOfTheQueenAnt/java/org/l2jmobius/gameserver/instancemanager/InstanceManager.java b/L2J_Mobius_9.0_ReturnOfTheQueenAnt/java/org/l2jmobius/gameserver/instancemanager/InstanceManager.java index e36183899e..c8e1d8ed98 100644 --- a/L2J_Mobius_9.0_ReturnOfTheQueenAnt/java/org/l2jmobius/gameserver/instancemanager/InstanceManager.java +++ b/L2J_Mobius_9.0_ReturnOfTheQueenAnt/java/org/l2jmobius/gameserver/instancemanager/InstanceManager.java @@ -369,7 +369,6 @@ public class InstanceManager implements IXmlReader // Save template _instanceTemplates.put(id, template); - } // -------------------------------------------------------------------- diff --git a/L2J_Mobius_9.0_ReturnOfTheQueenAnt/java/org/l2jmobius/gameserver/model/actor/instance/PlayerInstance.java b/L2J_Mobius_9.0_ReturnOfTheQueenAnt/java/org/l2jmobius/gameserver/model/actor/instance/PlayerInstance.java index cc3608cd31..74ca3eb1ff 100644 --- a/L2J_Mobius_9.0_ReturnOfTheQueenAnt/java/org/l2jmobius/gameserver/model/actor/instance/PlayerInstance.java +++ b/L2J_Mobius_9.0_ReturnOfTheQueenAnt/java/org/l2jmobius/gameserver/model/actor/instance/PlayerInstance.java @@ -2456,6 +2456,11 @@ public class PlayerInstance extends Playable } } + public boolean isChangingClass() + { + return _subclassLock; + } + /** * @return the Experience of the PlayerInstance. */ diff --git a/L2J_Mobius_9.0_ReturnOfTheQueenAnt/java/org/l2jmobius/gameserver/model/holders/PlayerEventHolder.java b/L2J_Mobius_9.0_ReturnOfTheQueenAnt/java/org/l2jmobius/gameserver/model/holders/PlayerEventHolder.java index 48e259909e..a5f6f9f161 100644 --- a/L2J_Mobius_9.0_ReturnOfTheQueenAnt/java/org/l2jmobius/gameserver/model/holders/PlayerEventHolder.java +++ b/L2J_Mobius_9.0_ReturnOfTheQueenAnt/java/org/l2jmobius/gameserver/model/holders/PlayerEventHolder.java @@ -85,7 +85,6 @@ public class PlayerEventHolder _player.setPvpKills(_pvpKills); _player.setPkKills(_pkKills); _player.setReputation(_reputation); - } public void setSitForced(boolean sitForced) diff --git a/L2J_Mobius_9.0_ReturnOfTheQueenAnt/java/org/l2jmobius/gameserver/model/itemcontainer/Inventory.java b/L2J_Mobius_9.0_ReturnOfTheQueenAnt/java/org/l2jmobius/gameserver/model/itemcontainer/Inventory.java index fb920b4375..e0fe0caf66 100644 --- a/L2J_Mobius_9.0_ReturnOfTheQueenAnt/java/org/l2jmobius/gameserver/model/itemcontainer/Inventory.java +++ b/L2J_Mobius_9.0_ReturnOfTheQueenAnt/java/org/l2jmobius/gameserver/model/itemcontainer/Inventory.java @@ -905,6 +905,11 @@ public abstract class Inventory extends ItemContainer @Override public void notifyUnequiped(int slot, ItemInstance item, Inventory inventory) { + if (item.getActingPlayer().isChangingClass()) + { + return; + } + if (item.getItem().getBodyPart() == Item.SLOT_R_BRACELET) { inventory.unEquipItemInSlot(PAPERDOLL_DECO1); @@ -935,6 +940,11 @@ public abstract class Inventory extends ItemContainer @Override public void notifyUnequiped(int slot, ItemInstance item, Inventory inventory) { + if (item.getActingPlayer().isChangingClass()) + { + return; + } + if (item.getItem().getBodyPart() == Item.SLOT_BROOCH) { inventory.unEquipItemInSlot(PAPERDOLL_BROOCH_JEWEL1); @@ -965,6 +975,11 @@ public abstract class Inventory extends ItemContainer @Override public void notifyUnequiped(int slot, ItemInstance item, Inventory inventory) { + if (item.getActingPlayer().isChangingClass()) + { + return; + } + if (item.getItem().getBodyPart() == Item.SLOT_L_BRACELET) { inventory.unEquipItemInSlot(PAPERDOLL_AGATHION1); @@ -993,6 +1008,11 @@ public abstract class Inventory extends ItemContainer @Override public void notifyUnequiped(int slot, ItemInstance item, Inventory inventory) { + if (item.getActingPlayer().isChangingClass()) + { + return; + } + if (item.getItem().getBodyPart() == Item.SLOT_ARTIFACT_BOOK) { inventory.unEquipItemInSlot(PAPERDOLL_ARTIFACT1); @@ -1045,7 +1065,6 @@ public abstract class Inventory extends ItemContainer // common addPaperdollListener(StatsListener.getInstance()); - } protected abstract ItemLocation getEquipLocation(); @@ -2440,7 +2459,8 @@ public abstract class Inventory extends ItemContainer } /** - * Re-notify to paperdoll listeners every equipped item + * Re-notify to paperdoll listeners every equipped item.
+ * Only used by player ClassId set methods. */ public void reloadEquippedItems() { @@ -2453,13 +2473,6 @@ public abstract class Inventory extends ItemContainer } slot = item.getLocationSlot(); - - // Do not unequip bracelets, talismans or artifacts. - if ((slot >= PAPERDOLL_LBRACELET) && (slot <= PAPERDOLL_ARTIFACT21)) - { - continue; - } - for (PaperdollListener listener : _paperdollListeners) { if (listener == null) @@ -2471,6 +2484,7 @@ public abstract class Inventory extends ItemContainer listener.notifyEquiped(slot, item, this); } } + if (getOwner().isPlayer()) { getOwner().sendPacket(new ExUserInfoEquipSlot(getOwner().getActingPlayer())); diff --git a/L2J_Mobius_9.0_ReturnOfTheQueenAnt/java/org/l2jmobius/gameserver/model/quest/LongTimeEvent.java b/L2J_Mobius_9.0_ReturnOfTheQueenAnt/java/org/l2jmobius/gameserver/model/quest/LongTimeEvent.java index 1bc53fb2f5..1b06839f10 100644 --- a/L2J_Mobius_9.0_ReturnOfTheQueenAnt/java/org/l2jmobius/gameserver/model/quest/LongTimeEvent.java +++ b/L2J_Mobius_9.0_ReturnOfTheQueenAnt/java/org/l2jmobius/gameserver/model/quest/LongTimeEvent.java @@ -305,7 +305,6 @@ public class LongTimeEvent extends Quest } } }.load(); - } protected class ScheduleStart implements Runnable diff --git a/L2J_Mobius_9.0_ReturnOfTheQueenAnt/java/org/l2jmobius/gameserver/network/clientpackets/SnoopQuit.java b/L2J_Mobius_9.0_ReturnOfTheQueenAnt/java/org/l2jmobius/gameserver/network/clientpackets/SnoopQuit.java index 3dbc0f9c0b..1873c4333c 100644 --- a/L2J_Mobius_9.0_ReturnOfTheQueenAnt/java/org/l2jmobius/gameserver/network/clientpackets/SnoopQuit.java +++ b/L2J_Mobius_9.0_ReturnOfTheQueenAnt/java/org/l2jmobius/gameserver/network/clientpackets/SnoopQuit.java @@ -52,6 +52,5 @@ public class SnoopQuit implements IClientIncomingPacket target.removeSnooper(player); player.removeSnooped(target); - } } diff --git a/L2J_Mobius_9.2_ReturnOfTheQueenAnt_Ch2/java/org/l2jmobius/gameserver/ai/CreatureAI.java b/L2J_Mobius_9.2_ReturnOfTheQueenAnt_Ch2/java/org/l2jmobius/gameserver/ai/CreatureAI.java index e7a92ff3b3..fa38b02488 100644 --- a/L2J_Mobius_9.2_ReturnOfTheQueenAnt_Ch2/java/org/l2jmobius/gameserver/ai/CreatureAI.java +++ b/L2J_Mobius_9.2_ReturnOfTheQueenAnt_Ch2/java/org/l2jmobius/gameserver/ai/CreatureAI.java @@ -158,7 +158,6 @@ public class CreatureAI extends AbstractAI // Stop the actor auto-attack client side by sending Server->Client packet AutoAttackStop (broadcast) clientStopAutoAttack(); - } /** diff --git a/L2J_Mobius_9.2_ReturnOfTheQueenAnt_Ch2/java/org/l2jmobius/gameserver/data/xml/SymbolSealData.java b/L2J_Mobius_9.2_ReturnOfTheQueenAnt_Ch2/java/org/l2jmobius/gameserver/data/xml/SymbolSealData.java index 3ea9210362..cfe2204166 100644 --- a/L2J_Mobius_9.2_ReturnOfTheQueenAnt_Ch2/java/org/l2jmobius/gameserver/data/xml/SymbolSealData.java +++ b/L2J_Mobius_9.2_ReturnOfTheQueenAnt_Ch2/java/org/l2jmobius/gameserver/data/xml/SymbolSealData.java @@ -45,7 +45,6 @@ public class SymbolSealData implements IXmlReader public void load() { parseDatapackFile("data/SymbolSealData.xml"); - } @Override diff --git a/L2J_Mobius_9.2_ReturnOfTheQueenAnt_Ch2/java/org/l2jmobius/gameserver/instancemanager/InstanceManager.java b/L2J_Mobius_9.2_ReturnOfTheQueenAnt_Ch2/java/org/l2jmobius/gameserver/instancemanager/InstanceManager.java index e36183899e..c8e1d8ed98 100644 --- a/L2J_Mobius_9.2_ReturnOfTheQueenAnt_Ch2/java/org/l2jmobius/gameserver/instancemanager/InstanceManager.java +++ b/L2J_Mobius_9.2_ReturnOfTheQueenAnt_Ch2/java/org/l2jmobius/gameserver/instancemanager/InstanceManager.java @@ -369,7 +369,6 @@ public class InstanceManager implements IXmlReader // Save template _instanceTemplates.put(id, template); - } // -------------------------------------------------------------------- diff --git a/L2J_Mobius_9.2_ReturnOfTheQueenAnt_Ch2/java/org/l2jmobius/gameserver/model/actor/instance/PlayerInstance.java b/L2J_Mobius_9.2_ReturnOfTheQueenAnt_Ch2/java/org/l2jmobius/gameserver/model/actor/instance/PlayerInstance.java index cc3608cd31..74ca3eb1ff 100644 --- a/L2J_Mobius_9.2_ReturnOfTheQueenAnt_Ch2/java/org/l2jmobius/gameserver/model/actor/instance/PlayerInstance.java +++ b/L2J_Mobius_9.2_ReturnOfTheQueenAnt_Ch2/java/org/l2jmobius/gameserver/model/actor/instance/PlayerInstance.java @@ -2456,6 +2456,11 @@ public class PlayerInstance extends Playable } } + public boolean isChangingClass() + { + return _subclassLock; + } + /** * @return the Experience of the PlayerInstance. */ diff --git a/L2J_Mobius_9.2_ReturnOfTheQueenAnt_Ch2/java/org/l2jmobius/gameserver/model/holders/PlayerEventHolder.java b/L2J_Mobius_9.2_ReturnOfTheQueenAnt_Ch2/java/org/l2jmobius/gameserver/model/holders/PlayerEventHolder.java index 48e259909e..a5f6f9f161 100644 --- a/L2J_Mobius_9.2_ReturnOfTheQueenAnt_Ch2/java/org/l2jmobius/gameserver/model/holders/PlayerEventHolder.java +++ b/L2J_Mobius_9.2_ReturnOfTheQueenAnt_Ch2/java/org/l2jmobius/gameserver/model/holders/PlayerEventHolder.java @@ -85,7 +85,6 @@ public class PlayerEventHolder _player.setPvpKills(_pvpKills); _player.setPkKills(_pkKills); _player.setReputation(_reputation); - } public void setSitForced(boolean sitForced) diff --git a/L2J_Mobius_9.2_ReturnOfTheQueenAnt_Ch2/java/org/l2jmobius/gameserver/model/itemcontainer/Inventory.java b/L2J_Mobius_9.2_ReturnOfTheQueenAnt_Ch2/java/org/l2jmobius/gameserver/model/itemcontainer/Inventory.java index fb920b4375..e0fe0caf66 100644 --- a/L2J_Mobius_9.2_ReturnOfTheQueenAnt_Ch2/java/org/l2jmobius/gameserver/model/itemcontainer/Inventory.java +++ b/L2J_Mobius_9.2_ReturnOfTheQueenAnt_Ch2/java/org/l2jmobius/gameserver/model/itemcontainer/Inventory.java @@ -905,6 +905,11 @@ public abstract class Inventory extends ItemContainer @Override public void notifyUnequiped(int slot, ItemInstance item, Inventory inventory) { + if (item.getActingPlayer().isChangingClass()) + { + return; + } + if (item.getItem().getBodyPart() == Item.SLOT_R_BRACELET) { inventory.unEquipItemInSlot(PAPERDOLL_DECO1); @@ -935,6 +940,11 @@ public abstract class Inventory extends ItemContainer @Override public void notifyUnequiped(int slot, ItemInstance item, Inventory inventory) { + if (item.getActingPlayer().isChangingClass()) + { + return; + } + if (item.getItem().getBodyPart() == Item.SLOT_BROOCH) { inventory.unEquipItemInSlot(PAPERDOLL_BROOCH_JEWEL1); @@ -965,6 +975,11 @@ public abstract class Inventory extends ItemContainer @Override public void notifyUnequiped(int slot, ItemInstance item, Inventory inventory) { + if (item.getActingPlayer().isChangingClass()) + { + return; + } + if (item.getItem().getBodyPart() == Item.SLOT_L_BRACELET) { inventory.unEquipItemInSlot(PAPERDOLL_AGATHION1); @@ -993,6 +1008,11 @@ public abstract class Inventory extends ItemContainer @Override public void notifyUnequiped(int slot, ItemInstance item, Inventory inventory) { + if (item.getActingPlayer().isChangingClass()) + { + return; + } + if (item.getItem().getBodyPart() == Item.SLOT_ARTIFACT_BOOK) { inventory.unEquipItemInSlot(PAPERDOLL_ARTIFACT1); @@ -1045,7 +1065,6 @@ public abstract class Inventory extends ItemContainer // common addPaperdollListener(StatsListener.getInstance()); - } protected abstract ItemLocation getEquipLocation(); @@ -2440,7 +2459,8 @@ public abstract class Inventory extends ItemContainer } /** - * Re-notify to paperdoll listeners every equipped item + * Re-notify to paperdoll listeners every equipped item.
+ * Only used by player ClassId set methods. */ public void reloadEquippedItems() { @@ -2453,13 +2473,6 @@ public abstract class Inventory extends ItemContainer } slot = item.getLocationSlot(); - - // Do not unequip bracelets, talismans or artifacts. - if ((slot >= PAPERDOLL_LBRACELET) && (slot <= PAPERDOLL_ARTIFACT21)) - { - continue; - } - for (PaperdollListener listener : _paperdollListeners) { if (listener == null) @@ -2471,6 +2484,7 @@ public abstract class Inventory extends ItemContainer listener.notifyEquiped(slot, item, this); } } + if (getOwner().isPlayer()) { getOwner().sendPacket(new ExUserInfoEquipSlot(getOwner().getActingPlayer())); diff --git a/L2J_Mobius_9.2_ReturnOfTheQueenAnt_Ch2/java/org/l2jmobius/gameserver/model/quest/LongTimeEvent.java b/L2J_Mobius_9.2_ReturnOfTheQueenAnt_Ch2/java/org/l2jmobius/gameserver/model/quest/LongTimeEvent.java index 1bc53fb2f5..1b06839f10 100644 --- a/L2J_Mobius_9.2_ReturnOfTheQueenAnt_Ch2/java/org/l2jmobius/gameserver/model/quest/LongTimeEvent.java +++ b/L2J_Mobius_9.2_ReturnOfTheQueenAnt_Ch2/java/org/l2jmobius/gameserver/model/quest/LongTimeEvent.java @@ -305,7 +305,6 @@ public class LongTimeEvent extends Quest } } }.load(); - } protected class ScheduleStart implements Runnable diff --git a/L2J_Mobius_9.2_ReturnOfTheQueenAnt_Ch2/java/org/l2jmobius/gameserver/network/clientpackets/SnoopQuit.java b/L2J_Mobius_9.2_ReturnOfTheQueenAnt_Ch2/java/org/l2jmobius/gameserver/network/clientpackets/SnoopQuit.java index 3dbc0f9c0b..1873c4333c 100644 --- a/L2J_Mobius_9.2_ReturnOfTheQueenAnt_Ch2/java/org/l2jmobius/gameserver/network/clientpackets/SnoopQuit.java +++ b/L2J_Mobius_9.2_ReturnOfTheQueenAnt_Ch2/java/org/l2jmobius/gameserver/network/clientpackets/SnoopQuit.java @@ -52,6 +52,5 @@ public class SnoopQuit implements IClientIncomingPacket target.removeSnooper(player); player.removeSnooped(target); - } } diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/model/itemcontainer/Inventory.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/model/itemcontainer/Inventory.java index 1cd863ff7d..6bad3ad153 100644 --- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/model/itemcontainer/Inventory.java +++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/model/itemcontainer/Inventory.java @@ -1580,15 +1580,13 @@ public abstract class Inventory extends ItemContainer } /** - * Re-notify to paperdoll listeners every equipped item + * Re-notify to paperdoll listeners every equipped item. */ public void reloadEquippedItems() { - ItemInstance item; int slot; - for (ItemInstance element : _paperdoll) + for (ItemInstance item : _paperdoll) { - item = element; if (item == null) { continue; diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/model/zone/type/DynamicZone.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/model/zone/type/DynamicZone.java index 39871fe003..f10449c125 100644 --- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/model/zone/type/DynamicZone.java +++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/model/zone/type/DynamicZone.java @@ -107,7 +107,6 @@ public class DynamicZone extends ZoneType } } _owner.stopSkillEffects(_skill.getId()); - } @Override diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/clientpackets/RequestSendFriendMsg.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/clientpackets/RequestSendFriendMsg.java index 3190ba9e60..434df61110 100644 --- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/clientpackets/RequestSendFriendMsg.java +++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/clientpackets/RequestSendFriendMsg.java @@ -43,7 +43,6 @@ public class RequestSendFriendMsg implements IClientIncomingPacket _message = packet.readS(); _reciever = packet.readS(); return true; - } @Override diff --git a/L2J_Mobius_C6_Interlude/java/org/l2jmobius/gameserver/model/itemcontainer/Inventory.java b/L2J_Mobius_C6_Interlude/java/org/l2jmobius/gameserver/model/itemcontainer/Inventory.java index bfe215fe0b..e574c50eee 100644 --- a/L2J_Mobius_C6_Interlude/java/org/l2jmobius/gameserver/model/itemcontainer/Inventory.java +++ b/L2J_Mobius_C6_Interlude/java/org/l2jmobius/gameserver/model/itemcontainer/Inventory.java @@ -1599,15 +1599,13 @@ public abstract class Inventory extends ItemContainer } /** - * Re-notify to paperdoll listeners every equipped item + * Re-notify to paperdoll listeners every equipped item. */ public void reloadEquippedItems() { - ItemInstance item; int slot; - for (ItemInstance element : _paperdoll) + for (ItemInstance item : _paperdoll) { - item = element; if (item == null) { continue; diff --git a/L2J_Mobius_C6_Interlude/java/org/l2jmobius/gameserver/model/zone/type/DynamicZone.java b/L2J_Mobius_C6_Interlude/java/org/l2jmobius/gameserver/model/zone/type/DynamicZone.java index 39871fe003..f10449c125 100644 --- a/L2J_Mobius_C6_Interlude/java/org/l2jmobius/gameserver/model/zone/type/DynamicZone.java +++ b/L2J_Mobius_C6_Interlude/java/org/l2jmobius/gameserver/model/zone/type/DynamicZone.java @@ -107,7 +107,6 @@ public class DynamicZone extends ZoneType } } _owner.stopSkillEffects(_skill.getId()); - } @Override diff --git a/L2J_Mobius_C6_Interlude/java/org/l2jmobius/gameserver/network/clientpackets/RequestSendFriendMsg.java b/L2J_Mobius_C6_Interlude/java/org/l2jmobius/gameserver/network/clientpackets/RequestSendFriendMsg.java index 3190ba9e60..434df61110 100644 --- a/L2J_Mobius_C6_Interlude/java/org/l2jmobius/gameserver/network/clientpackets/RequestSendFriendMsg.java +++ b/L2J_Mobius_C6_Interlude/java/org/l2jmobius/gameserver/network/clientpackets/RequestSendFriendMsg.java @@ -43,7 +43,6 @@ public class RequestSendFriendMsg implements IClientIncomingPacket _message = packet.readS(); _reciever = packet.readS(); return true; - } @Override diff --git a/L2J_Mobius_CT_2.4_Epilogue/java/org/l2jmobius/gameserver/model/actor/instance/PlayerInstance.java b/L2J_Mobius_CT_2.4_Epilogue/java/org/l2jmobius/gameserver/model/actor/instance/PlayerInstance.java index 8d02e70b8f..ffaa42a38d 100644 --- a/L2J_Mobius_CT_2.4_Epilogue/java/org/l2jmobius/gameserver/model/actor/instance/PlayerInstance.java +++ b/L2J_Mobius_CT_2.4_Epilogue/java/org/l2jmobius/gameserver/model/actor/instance/PlayerInstance.java @@ -2444,6 +2444,11 @@ public class PlayerInstance extends Playable } } + public boolean isChangingClass() + { + return _subclassLock; + } + /** * Used for AltGameSkillLearn to set a custom skill learning class Id. */ diff --git a/L2J_Mobius_CT_2.4_Epilogue/java/org/l2jmobius/gameserver/model/holders/PlayerEventHolder.java b/L2J_Mobius_CT_2.4_Epilogue/java/org/l2jmobius/gameserver/model/holders/PlayerEventHolder.java index 4356d8c65d..08b5881876 100644 --- a/L2J_Mobius_CT_2.4_Epilogue/java/org/l2jmobius/gameserver/model/holders/PlayerEventHolder.java +++ b/L2J_Mobius_CT_2.4_Epilogue/java/org/l2jmobius/gameserver/model/holders/PlayerEventHolder.java @@ -78,7 +78,6 @@ public class PlayerEventHolder _player.setPvpKills(_pvpKills); _player.setPkKills(_pkKills); _player.setKarma(_karma); - } public void setSitForced(boolean sitForced) diff --git a/L2J_Mobius_CT_2.4_Epilogue/java/org/l2jmobius/gameserver/model/itemcontainer/Inventory.java b/L2J_Mobius_CT_2.4_Epilogue/java/org/l2jmobius/gameserver/model/itemcontainer/Inventory.java index 10a934b7e6..faffe9ba48 100644 --- a/L2J_Mobius_CT_2.4_Epilogue/java/org/l2jmobius/gameserver/model/itemcontainer/Inventory.java +++ b/L2J_Mobius_CT_2.4_Epilogue/java/org/l2jmobius/gameserver/model/itemcontainer/Inventory.java @@ -711,6 +711,11 @@ public abstract class Inventory extends ItemContainer @Override public void notifyUnequiped(int slot, ItemInstance item, Inventory inventory) { + if (item.getActingPlayer().isChangingClass()) + { + return; + } + if (item.getItem().getBodyPart() == Item.SLOT_R_BRACELET) { inventory.unEquipItemInSlot(PAPERDOLL_DECO1); @@ -746,7 +751,6 @@ public abstract class Inventory extends ItemContainer // common addPaperdollListener(StatsListener.getInstance()); - } protected abstract ItemLocation getEquipLocation(); @@ -1862,7 +1866,8 @@ public abstract class Inventory extends ItemContainer } /** - * Re-notify to paperdoll listeners every equipped item + * Re-notify to paperdoll listeners every equipped item.
+ * Only used by player ClassId set methods. */ public void reloadEquippedItems() { diff --git a/L2J_Mobius_CT_2.6_HighFive/java/org/l2jmobius/gameserver/model/actor/instance/PlayerInstance.java b/L2J_Mobius_CT_2.6_HighFive/java/org/l2jmobius/gameserver/model/actor/instance/PlayerInstance.java index 8a779653fc..11019d34bf 100644 --- a/L2J_Mobius_CT_2.6_HighFive/java/org/l2jmobius/gameserver/model/actor/instance/PlayerInstance.java +++ b/L2J_Mobius_CT_2.6_HighFive/java/org/l2jmobius/gameserver/model/actor/instance/PlayerInstance.java @@ -2355,6 +2355,11 @@ public class PlayerInstance extends Playable } } + public boolean isChangingClass() + { + return _subclassLock; + } + /** * Used for AltGameSkillLearn to set a custom skill learning class Id. */ diff --git a/L2J_Mobius_CT_2.6_HighFive/java/org/l2jmobius/gameserver/model/holders/PlayerEventHolder.java b/L2J_Mobius_CT_2.6_HighFive/java/org/l2jmobius/gameserver/model/holders/PlayerEventHolder.java index 4356d8c65d..08b5881876 100644 --- a/L2J_Mobius_CT_2.6_HighFive/java/org/l2jmobius/gameserver/model/holders/PlayerEventHolder.java +++ b/L2J_Mobius_CT_2.6_HighFive/java/org/l2jmobius/gameserver/model/holders/PlayerEventHolder.java @@ -78,7 +78,6 @@ public class PlayerEventHolder _player.setPvpKills(_pvpKills); _player.setPkKills(_pkKills); _player.setKarma(_karma); - } public void setSitForced(boolean sitForced) diff --git a/L2J_Mobius_CT_2.6_HighFive/java/org/l2jmobius/gameserver/model/itemcontainer/Inventory.java b/L2J_Mobius_CT_2.6_HighFive/java/org/l2jmobius/gameserver/model/itemcontainer/Inventory.java index 10a934b7e6..faffe9ba48 100644 --- a/L2J_Mobius_CT_2.6_HighFive/java/org/l2jmobius/gameserver/model/itemcontainer/Inventory.java +++ b/L2J_Mobius_CT_2.6_HighFive/java/org/l2jmobius/gameserver/model/itemcontainer/Inventory.java @@ -711,6 +711,11 @@ public abstract class Inventory extends ItemContainer @Override public void notifyUnequiped(int slot, ItemInstance item, Inventory inventory) { + if (item.getActingPlayer().isChangingClass()) + { + return; + } + if (item.getItem().getBodyPart() == Item.SLOT_R_BRACELET) { inventory.unEquipItemInSlot(PAPERDOLL_DECO1); @@ -746,7 +751,6 @@ public abstract class Inventory extends ItemContainer // common addPaperdollListener(StatsListener.getInstance()); - } protected abstract ItemLocation getEquipLocation(); @@ -1862,7 +1866,8 @@ public abstract class Inventory extends ItemContainer } /** - * Re-notify to paperdoll listeners every equipped item + * Re-notify to paperdoll listeners every equipped item.
+ * Only used by player ClassId set methods. */ public void reloadEquippedItems() { diff --git a/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/ai/CreatureAI.java b/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/ai/CreatureAI.java index af9b56c678..8855a51323 100644 --- a/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/ai/CreatureAI.java +++ b/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/ai/CreatureAI.java @@ -158,7 +158,6 @@ public class CreatureAI extends AbstractAI // Stop the actor auto-attack client side by sending Server->Client packet AutoAttackStop (broadcast) clientStopAutoAttack(); - } /** diff --git a/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/instancemanager/InstanceManager.java b/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/instancemanager/InstanceManager.java index d1f8cd35e2..1a489ef122 100644 --- a/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/instancemanager/InstanceManager.java +++ b/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/instancemanager/InstanceManager.java @@ -365,7 +365,6 @@ public class InstanceManager implements IXmlReader // Save template _instanceTemplates.put(id, template); - } // -------------------------------------------------------------------- diff --git a/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/model/actor/instance/PlayerInstance.java b/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/model/actor/instance/PlayerInstance.java index c64a961519..f39248203c 100644 --- a/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/model/actor/instance/PlayerInstance.java +++ b/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/model/actor/instance/PlayerInstance.java @@ -2434,6 +2434,11 @@ public class PlayerInstance extends Playable } } + public boolean isChangingClass() + { + return _subclassLock; + } + /** * @return the Experience of the PlayerInstance. */ diff --git a/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/model/holders/PlayerEventHolder.java b/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/model/holders/PlayerEventHolder.java index 48e259909e..a5f6f9f161 100644 --- a/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/model/holders/PlayerEventHolder.java +++ b/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/model/holders/PlayerEventHolder.java @@ -85,7 +85,6 @@ public class PlayerEventHolder _player.setPvpKills(_pvpKills); _player.setPkKills(_pkKills); _player.setReputation(_reputation); - } public void setSitForced(boolean sitForced) diff --git a/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/model/itemcontainer/Inventory.java b/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/model/itemcontainer/Inventory.java index 5132b646f8..80bed7a24e 100644 --- a/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/model/itemcontainer/Inventory.java +++ b/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/model/itemcontainer/Inventory.java @@ -894,6 +894,11 @@ public abstract class Inventory extends ItemContainer @Override public void notifyUnequiped(int slot, ItemInstance item, Inventory inventory) { + if (item.getActingPlayer().isChangingClass()) + { + return; + } + if (item.getItem().getBodyPart() == Item.SLOT_R_BRACELET) { inventory.unEquipItemInSlot(PAPERDOLL_DECO1); @@ -924,6 +929,11 @@ public abstract class Inventory extends ItemContainer @Override public void notifyUnequiped(int slot, ItemInstance item, Inventory inventory) { + if (item.getActingPlayer().isChangingClass()) + { + return; + } + if (item.getItem().getBodyPart() == Item.SLOT_BROOCH) { inventory.unEquipItemInSlot(PAPERDOLL_BROOCH_JEWEL1); @@ -960,7 +970,6 @@ public abstract class Inventory extends ItemContainer // common addPaperdollListener(StatsListener.getInstance()); - } protected abstract ItemLocation getEquipLocation(); @@ -2215,7 +2224,8 @@ public abstract class Inventory extends ItemContainer } /** - * Re-notify to paperdoll listeners every equipped item + * Re-notify to paperdoll listeners every equipped item.
+ * Only used by player ClassId set methods. */ public void reloadEquippedItems() { @@ -2239,6 +2249,7 @@ public abstract class Inventory extends ItemContainer listener.notifyEquiped(slot, item, this); } } + if (getOwner().isPlayer()) { getOwner().sendPacket(new ExUserInfoEquipSlot(getOwner().getActingPlayer())); diff --git a/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/model/quest/LongTimeEvent.java b/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/model/quest/LongTimeEvent.java index 1bc53fb2f5..1b06839f10 100644 --- a/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/model/quest/LongTimeEvent.java +++ b/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/model/quest/LongTimeEvent.java @@ -305,7 +305,6 @@ public class LongTimeEvent extends Quest } } }.load(); - } protected class ScheduleStart implements Runnable diff --git a/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/network/clientpackets/SnoopQuit.java b/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/network/clientpackets/SnoopQuit.java index 3dbc0f9c0b..1873c4333c 100644 --- a/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/network/clientpackets/SnoopQuit.java +++ b/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/network/clientpackets/SnoopQuit.java @@ -52,6 +52,5 @@ public class SnoopQuit implements IClientIncomingPacket target.removeSnooper(player); player.removeSnooped(target); - } } diff --git a/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/ai/CreatureAI.java b/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/ai/CreatureAI.java index af9b56c678..8855a51323 100644 --- a/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/ai/CreatureAI.java +++ b/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/ai/CreatureAI.java @@ -158,7 +158,6 @@ public class CreatureAI extends AbstractAI // Stop the actor auto-attack client side by sending Server->Client packet AutoAttackStop (broadcast) clientStopAutoAttack(); - } /** diff --git a/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/instancemanager/InstanceManager.java b/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/instancemanager/InstanceManager.java index d1f8cd35e2..1a489ef122 100644 --- a/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/instancemanager/InstanceManager.java +++ b/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/instancemanager/InstanceManager.java @@ -365,7 +365,6 @@ public class InstanceManager implements IXmlReader // Save template _instanceTemplates.put(id, template); - } // -------------------------------------------------------------------- diff --git a/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/model/actor/instance/PlayerInstance.java b/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/model/actor/instance/PlayerInstance.java index 00dcc6de07..d5a953c7ef 100644 --- a/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/model/actor/instance/PlayerInstance.java +++ b/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/model/actor/instance/PlayerInstance.java @@ -2434,6 +2434,11 @@ public class PlayerInstance extends Playable } } + public boolean isChangingClass() + { + return _subclassLock; + } + /** * @return the Experience of the PlayerInstance. */ diff --git a/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/model/holders/PlayerEventHolder.java b/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/model/holders/PlayerEventHolder.java index 48e259909e..a5f6f9f161 100644 --- a/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/model/holders/PlayerEventHolder.java +++ b/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/model/holders/PlayerEventHolder.java @@ -85,7 +85,6 @@ public class PlayerEventHolder _player.setPvpKills(_pvpKills); _player.setPkKills(_pkKills); _player.setReputation(_reputation); - } public void setSitForced(boolean sitForced) diff --git a/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/model/itemcontainer/Inventory.java b/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/model/itemcontainer/Inventory.java index 5132b646f8..80bed7a24e 100644 --- a/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/model/itemcontainer/Inventory.java +++ b/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/model/itemcontainer/Inventory.java @@ -894,6 +894,11 @@ public abstract class Inventory extends ItemContainer @Override public void notifyUnequiped(int slot, ItemInstance item, Inventory inventory) { + if (item.getActingPlayer().isChangingClass()) + { + return; + } + if (item.getItem().getBodyPart() == Item.SLOT_R_BRACELET) { inventory.unEquipItemInSlot(PAPERDOLL_DECO1); @@ -924,6 +929,11 @@ public abstract class Inventory extends ItemContainer @Override public void notifyUnequiped(int slot, ItemInstance item, Inventory inventory) { + if (item.getActingPlayer().isChangingClass()) + { + return; + } + if (item.getItem().getBodyPart() == Item.SLOT_BROOCH) { inventory.unEquipItemInSlot(PAPERDOLL_BROOCH_JEWEL1); @@ -960,7 +970,6 @@ public abstract class Inventory extends ItemContainer // common addPaperdollListener(StatsListener.getInstance()); - } protected abstract ItemLocation getEquipLocation(); @@ -2215,7 +2224,8 @@ public abstract class Inventory extends ItemContainer } /** - * Re-notify to paperdoll listeners every equipped item + * Re-notify to paperdoll listeners every equipped item.
+ * Only used by player ClassId set methods. */ public void reloadEquippedItems() { @@ -2239,6 +2249,7 @@ public abstract class Inventory extends ItemContainer listener.notifyEquiped(slot, item, this); } } + if (getOwner().isPlayer()) { getOwner().sendPacket(new ExUserInfoEquipSlot(getOwner().getActingPlayer())); diff --git a/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/model/quest/LongTimeEvent.java b/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/model/quest/LongTimeEvent.java index 1bc53fb2f5..1b06839f10 100644 --- a/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/model/quest/LongTimeEvent.java +++ b/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/model/quest/LongTimeEvent.java @@ -305,7 +305,6 @@ public class LongTimeEvent extends Quest } } }.load(); - } protected class ScheduleStart implements Runnable diff --git a/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/network/clientpackets/SnoopQuit.java b/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/network/clientpackets/SnoopQuit.java index 3dbc0f9c0b..1873c4333c 100644 --- a/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/network/clientpackets/SnoopQuit.java +++ b/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/network/clientpackets/SnoopQuit.java @@ -52,6 +52,5 @@ public class SnoopQuit implements IClientIncomingPacket target.removeSnooper(player); player.removeSnooped(target); - } } diff --git a/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/ai/CreatureAI.java b/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/ai/CreatureAI.java index af9b56c678..8855a51323 100644 --- a/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/ai/CreatureAI.java +++ b/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/ai/CreatureAI.java @@ -158,7 +158,6 @@ public class CreatureAI extends AbstractAI // Stop the actor auto-attack client side by sending Server->Client packet AutoAttackStop (broadcast) clientStopAutoAttack(); - } /** diff --git a/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/instancemanager/InstanceManager.java b/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/instancemanager/InstanceManager.java index d1f8cd35e2..1a489ef122 100644 --- a/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/instancemanager/InstanceManager.java +++ b/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/instancemanager/InstanceManager.java @@ -365,7 +365,6 @@ public class InstanceManager implements IXmlReader // Save template _instanceTemplates.put(id, template); - } // -------------------------------------------------------------------- diff --git a/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/model/actor/instance/PlayerInstance.java b/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/model/actor/instance/PlayerInstance.java index 71e2a290b8..4631a50c62 100644 --- a/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/model/actor/instance/PlayerInstance.java +++ b/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/model/actor/instance/PlayerInstance.java @@ -2432,6 +2432,11 @@ public class PlayerInstance extends Playable } } + public boolean isChangingClass() + { + return _subclassLock; + } + /** * @return the Experience of the PlayerInstance. */ diff --git a/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/model/holders/PlayerEventHolder.java b/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/model/holders/PlayerEventHolder.java index 48e259909e..a5f6f9f161 100644 --- a/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/model/holders/PlayerEventHolder.java +++ b/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/model/holders/PlayerEventHolder.java @@ -85,7 +85,6 @@ public class PlayerEventHolder _player.setPvpKills(_pvpKills); _player.setPkKills(_pkKills); _player.setReputation(_reputation); - } public void setSitForced(boolean sitForced) diff --git a/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/model/itemcontainer/Inventory.java b/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/model/itemcontainer/Inventory.java index f10f163a46..af0ce2e4e5 100644 --- a/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/model/itemcontainer/Inventory.java +++ b/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/model/itemcontainer/Inventory.java @@ -908,6 +908,11 @@ public abstract class Inventory extends ItemContainer @Override public void notifyUnequiped(int slot, ItemInstance item, Inventory inventory) { + if (item.getActingPlayer().isChangingClass()) + { + return; + } + if (item.getItem().getBodyPart() == Item.SLOT_R_BRACELET) { inventory.unEquipItemInSlot(PAPERDOLL_DECO1); @@ -938,6 +943,11 @@ public abstract class Inventory extends ItemContainer @Override public void notifyUnequiped(int slot, ItemInstance item, Inventory inventory) { + if (item.getActingPlayer().isChangingClass()) + { + return; + } + if (item.getItem().getBodyPart() == Item.SLOT_BROOCH) { inventory.unEquipItemInSlot(PAPERDOLL_BROOCH_JEWEL1); @@ -968,6 +978,11 @@ public abstract class Inventory extends ItemContainer @Override public void notifyUnequiped(int slot, ItemInstance item, Inventory inventory) { + if (item.getActingPlayer().isChangingClass()) + { + return; + } + if (item.getItem().getBodyPart() == Item.SLOT_L_BRACELET) { inventory.unEquipItemInSlot(PAPERDOLL_AGATHION1); @@ -1003,7 +1018,6 @@ public abstract class Inventory extends ItemContainer // common addPaperdollListener(StatsListener.getInstance()); - } protected abstract ItemLocation getEquipLocation(); @@ -2294,7 +2308,8 @@ public abstract class Inventory extends ItemContainer } /** - * Re-notify to paperdoll listeners every equipped item + * Re-notify to paperdoll listeners every equipped item.
+ * Only used by player ClassId set methods. */ public void reloadEquippedItems() { @@ -2318,6 +2333,7 @@ public abstract class Inventory extends ItemContainer listener.notifyEquiped(slot, item, this); } } + if (getOwner().isPlayer()) { getOwner().sendPacket(new ExUserInfoEquipSlot(getOwner().getActingPlayer())); diff --git a/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/model/quest/LongTimeEvent.java b/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/model/quest/LongTimeEvent.java index 1bc53fb2f5..1b06839f10 100644 --- a/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/model/quest/LongTimeEvent.java +++ b/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/model/quest/LongTimeEvent.java @@ -305,7 +305,6 @@ public class LongTimeEvent extends Quest } } }.load(); - } protected class ScheduleStart implements Runnable diff --git a/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/network/clientpackets/SnoopQuit.java b/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/network/clientpackets/SnoopQuit.java index 3dbc0f9c0b..1873c4333c 100644 --- a/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/network/clientpackets/SnoopQuit.java +++ b/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/network/clientpackets/SnoopQuit.java @@ -52,6 +52,5 @@ public class SnoopQuit implements IClientIncomingPacket target.removeSnooper(player); player.removeSnooped(target); - } } diff --git a/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/ai/CreatureAI.java b/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/ai/CreatureAI.java index af9b56c678..8855a51323 100644 --- a/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/ai/CreatureAI.java +++ b/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/ai/CreatureAI.java @@ -158,7 +158,6 @@ public class CreatureAI extends AbstractAI // Stop the actor auto-attack client side by sending Server->Client packet AutoAttackStop (broadcast) clientStopAutoAttack(); - } /** diff --git a/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/instancemanager/InstanceManager.java b/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/instancemanager/InstanceManager.java index d1f8cd35e2..1a489ef122 100644 --- a/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/instancemanager/InstanceManager.java +++ b/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/instancemanager/InstanceManager.java @@ -365,7 +365,6 @@ public class InstanceManager implements IXmlReader // Save template _instanceTemplates.put(id, template); - } // -------------------------------------------------------------------- diff --git a/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/model/actor/instance/PlayerInstance.java b/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/model/actor/instance/PlayerInstance.java index 3381a1cfa5..070e81daec 100644 --- a/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/model/actor/instance/PlayerInstance.java +++ b/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/model/actor/instance/PlayerInstance.java @@ -2444,6 +2444,11 @@ public class PlayerInstance extends Playable } } + public boolean isChangingClass() + { + return _subclassLock; + } + /** * @return the Experience of the PlayerInstance. */ diff --git a/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/model/holders/PlayerEventHolder.java b/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/model/holders/PlayerEventHolder.java index 48e259909e..a5f6f9f161 100644 --- a/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/model/holders/PlayerEventHolder.java +++ b/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/model/holders/PlayerEventHolder.java @@ -85,7 +85,6 @@ public class PlayerEventHolder _player.setPvpKills(_pvpKills); _player.setPkKills(_pkKills); _player.setReputation(_reputation); - } public void setSitForced(boolean sitForced) diff --git a/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/model/itemcontainer/Inventory.java b/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/model/itemcontainer/Inventory.java index 095a4c93aa..2a49c1afa9 100644 --- a/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/model/itemcontainer/Inventory.java +++ b/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/model/itemcontainer/Inventory.java @@ -931,6 +931,11 @@ public abstract class Inventory extends ItemContainer @Override public void notifyUnequiped(int slot, ItemInstance item, Inventory inventory) { + if (item.getActingPlayer().isChangingClass()) + { + return; + } + if (item.getItem().getBodyPart() == Item.SLOT_R_BRACELET) { inventory.unEquipItemInSlot(PAPERDOLL_DECO1); @@ -961,6 +966,11 @@ public abstract class Inventory extends ItemContainer @Override public void notifyUnequiped(int slot, ItemInstance item, Inventory inventory) { + if (item.getActingPlayer().isChangingClass()) + { + return; + } + if (item.getItem().getBodyPart() == Item.SLOT_BROOCH) { inventory.unEquipItemInSlot(PAPERDOLL_BROOCH_JEWEL1); @@ -991,6 +1001,11 @@ public abstract class Inventory extends ItemContainer @Override public void notifyUnequiped(int slot, ItemInstance item, Inventory inventory) { + if (item.getActingPlayer().isChangingClass()) + { + return; + } + if (item.getItem().getBodyPart() == Item.SLOT_L_BRACELET) { inventory.unEquipItemInSlot(PAPERDOLL_AGATHION1); @@ -1019,6 +1034,11 @@ public abstract class Inventory extends ItemContainer @Override public void notifyUnequiped(int slot, ItemInstance item, Inventory inventory) { + if (item.getActingPlayer().isChangingClass()) + { + return; + } + if (item.getItem().getBodyPart() == Item.SLOT_ARTIFACT_BOOK) { inventory.unEquipItemInSlot(PAPERDOLL_ARTIFACT1); @@ -1071,7 +1091,6 @@ public abstract class Inventory extends ItemContainer // common addPaperdollListener(StatsListener.getInstance()); - } protected abstract ItemLocation getEquipLocation(); @@ -2475,7 +2494,8 @@ public abstract class Inventory extends ItemContainer } /** - * Re-notify to paperdoll listeners every equipped item + * Re-notify to paperdoll listeners every equipped item.
+ * Only used by player ClassId set methods. */ public void reloadEquippedItems() { @@ -2488,13 +2508,6 @@ public abstract class Inventory extends ItemContainer } slot = item.getLocationSlot(); - - // Do not unequip bracelets, talismans or artifacts. - if ((slot >= PAPERDOLL_LBRACELET) && (slot <= PAPERDOLL_ARTIFACT21)) - { - continue; - } - for (PaperdollListener listener : _paperdollListeners) { if (listener == null) @@ -2506,6 +2519,7 @@ public abstract class Inventory extends ItemContainer listener.notifyEquiped(slot, item, this); } } + if (getOwner().isPlayer()) { getOwner().sendPacket(new ExUserInfoEquipSlot(getOwner().getActingPlayer())); diff --git a/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/model/quest/LongTimeEvent.java b/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/model/quest/LongTimeEvent.java index 1bc53fb2f5..1b06839f10 100644 --- a/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/model/quest/LongTimeEvent.java +++ b/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/model/quest/LongTimeEvent.java @@ -305,7 +305,6 @@ public class LongTimeEvent extends Quest } } }.load(); - } protected class ScheduleStart implements Runnable diff --git a/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/network/clientpackets/SnoopQuit.java b/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/network/clientpackets/SnoopQuit.java index 3dbc0f9c0b..1873c4333c 100644 --- a/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/network/clientpackets/SnoopQuit.java +++ b/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/network/clientpackets/SnoopQuit.java @@ -52,6 +52,5 @@ public class SnoopQuit implements IClientIncomingPacket target.removeSnooper(player); player.removeSnooped(target); - } } diff --git a/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/ai/CreatureAI.java b/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/ai/CreatureAI.java index af9b56c678..8855a51323 100644 --- a/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/ai/CreatureAI.java +++ b/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/ai/CreatureAI.java @@ -158,7 +158,6 @@ public class CreatureAI extends AbstractAI // Stop the actor auto-attack client side by sending Server->Client packet AutoAttackStop (broadcast) clientStopAutoAttack(); - } /** diff --git a/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/instancemanager/InstanceManager.java b/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/instancemanager/InstanceManager.java index d1f8cd35e2..1a489ef122 100644 --- a/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/instancemanager/InstanceManager.java +++ b/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/instancemanager/InstanceManager.java @@ -365,7 +365,6 @@ public class InstanceManager implements IXmlReader // Save template _instanceTemplates.put(id, template); - } // -------------------------------------------------------------------- diff --git a/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/model/actor/instance/PlayerInstance.java b/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/model/actor/instance/PlayerInstance.java index 3150f349a9..9525f8f150 100644 --- a/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/model/actor/instance/PlayerInstance.java +++ b/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/model/actor/instance/PlayerInstance.java @@ -2444,6 +2444,11 @@ public class PlayerInstance extends Playable } } + public boolean isChangingClass() + { + return _subclassLock; + } + /** * @return the Experience of the PlayerInstance. */ diff --git a/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/model/holders/PlayerEventHolder.java b/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/model/holders/PlayerEventHolder.java index 48e259909e..a5f6f9f161 100644 --- a/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/model/holders/PlayerEventHolder.java +++ b/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/model/holders/PlayerEventHolder.java @@ -85,7 +85,6 @@ public class PlayerEventHolder _player.setPvpKills(_pvpKills); _player.setPkKills(_pkKills); _player.setReputation(_reputation); - } public void setSitForced(boolean sitForced) diff --git a/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/model/itemcontainer/Inventory.java b/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/model/itemcontainer/Inventory.java index 095a4c93aa..2a49c1afa9 100644 --- a/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/model/itemcontainer/Inventory.java +++ b/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/model/itemcontainer/Inventory.java @@ -931,6 +931,11 @@ public abstract class Inventory extends ItemContainer @Override public void notifyUnequiped(int slot, ItemInstance item, Inventory inventory) { + if (item.getActingPlayer().isChangingClass()) + { + return; + } + if (item.getItem().getBodyPart() == Item.SLOT_R_BRACELET) { inventory.unEquipItemInSlot(PAPERDOLL_DECO1); @@ -961,6 +966,11 @@ public abstract class Inventory extends ItemContainer @Override public void notifyUnequiped(int slot, ItemInstance item, Inventory inventory) { + if (item.getActingPlayer().isChangingClass()) + { + return; + } + if (item.getItem().getBodyPart() == Item.SLOT_BROOCH) { inventory.unEquipItemInSlot(PAPERDOLL_BROOCH_JEWEL1); @@ -991,6 +1001,11 @@ public abstract class Inventory extends ItemContainer @Override public void notifyUnequiped(int slot, ItemInstance item, Inventory inventory) { + if (item.getActingPlayer().isChangingClass()) + { + return; + } + if (item.getItem().getBodyPart() == Item.SLOT_L_BRACELET) { inventory.unEquipItemInSlot(PAPERDOLL_AGATHION1); @@ -1019,6 +1034,11 @@ public abstract class Inventory extends ItemContainer @Override public void notifyUnequiped(int slot, ItemInstance item, Inventory inventory) { + if (item.getActingPlayer().isChangingClass()) + { + return; + } + if (item.getItem().getBodyPart() == Item.SLOT_ARTIFACT_BOOK) { inventory.unEquipItemInSlot(PAPERDOLL_ARTIFACT1); @@ -1071,7 +1091,6 @@ public abstract class Inventory extends ItemContainer // common addPaperdollListener(StatsListener.getInstance()); - } protected abstract ItemLocation getEquipLocation(); @@ -2475,7 +2494,8 @@ public abstract class Inventory extends ItemContainer } /** - * Re-notify to paperdoll listeners every equipped item + * Re-notify to paperdoll listeners every equipped item.
+ * Only used by player ClassId set methods. */ public void reloadEquippedItems() { @@ -2488,13 +2508,6 @@ public abstract class Inventory extends ItemContainer } slot = item.getLocationSlot(); - - // Do not unequip bracelets, talismans or artifacts. - if ((slot >= PAPERDOLL_LBRACELET) && (slot <= PAPERDOLL_ARTIFACT21)) - { - continue; - } - for (PaperdollListener listener : _paperdollListeners) { if (listener == null) @@ -2506,6 +2519,7 @@ public abstract class Inventory extends ItemContainer listener.notifyEquiped(slot, item, this); } } + if (getOwner().isPlayer()) { getOwner().sendPacket(new ExUserInfoEquipSlot(getOwner().getActingPlayer())); diff --git a/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/model/quest/LongTimeEvent.java b/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/model/quest/LongTimeEvent.java index 1bc53fb2f5..1b06839f10 100644 --- a/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/model/quest/LongTimeEvent.java +++ b/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/model/quest/LongTimeEvent.java @@ -305,7 +305,6 @@ public class LongTimeEvent extends Quest } } }.load(); - } protected class ScheduleStart implements Runnable diff --git a/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/network/clientpackets/SnoopQuit.java b/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/network/clientpackets/SnoopQuit.java index 3dbc0f9c0b..1873c4333c 100644 --- a/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/network/clientpackets/SnoopQuit.java +++ b/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/network/clientpackets/SnoopQuit.java @@ -52,6 +52,5 @@ public class SnoopQuit implements IClientIncomingPacket target.removeSnooper(player); player.removeSnooped(target); - } } diff --git a/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/ai/CreatureAI.java b/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/ai/CreatureAI.java index af9b56c678..8855a51323 100644 --- a/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/ai/CreatureAI.java +++ b/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/ai/CreatureAI.java @@ -158,7 +158,6 @@ public class CreatureAI extends AbstractAI // Stop the actor auto-attack client side by sending Server->Client packet AutoAttackStop (broadcast) clientStopAutoAttack(); - } /** diff --git a/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/instancemanager/InstanceManager.java b/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/instancemanager/InstanceManager.java index d1f8cd35e2..1a489ef122 100644 --- a/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/instancemanager/InstanceManager.java +++ b/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/instancemanager/InstanceManager.java @@ -365,7 +365,6 @@ public class InstanceManager implements IXmlReader // Save template _instanceTemplates.put(id, template); - } // -------------------------------------------------------------------- diff --git a/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/model/actor/instance/PlayerInstance.java b/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/model/actor/instance/PlayerInstance.java index c89ee05259..6b9a6796bf 100644 --- a/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/model/actor/instance/PlayerInstance.java +++ b/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/model/actor/instance/PlayerInstance.java @@ -2368,6 +2368,11 @@ public class PlayerInstance extends Playable } } + public boolean isChangingClass() + { + return _subclassLock; + } + /** * @return the Experience of the PlayerInstance. */ diff --git a/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/model/holders/PlayerEventHolder.java b/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/model/holders/PlayerEventHolder.java index 48e259909e..a5f6f9f161 100644 --- a/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/model/holders/PlayerEventHolder.java +++ b/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/model/holders/PlayerEventHolder.java @@ -85,7 +85,6 @@ public class PlayerEventHolder _player.setPvpKills(_pvpKills); _player.setPkKills(_pkKills); _player.setReputation(_reputation); - } public void setSitForced(boolean sitForced) diff --git a/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/model/itemcontainer/Inventory.java b/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/model/itemcontainer/Inventory.java index 71f4203c9c..1b523208b4 100644 --- a/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/model/itemcontainer/Inventory.java +++ b/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/model/itemcontainer/Inventory.java @@ -925,6 +925,11 @@ public abstract class Inventory extends ItemContainer @Override public void notifyUnequiped(int slot, ItemInstance item, Inventory inventory) { + if (item.getActingPlayer().isChangingClass()) + { + return; + } + if (item.getItem().getBodyPart() == Item.SLOT_R_BRACELET) { inventory.unEquipItemInSlot(PAPERDOLL_DECO1); @@ -955,6 +960,11 @@ public abstract class Inventory extends ItemContainer @Override public void notifyUnequiped(int slot, ItemInstance item, Inventory inventory) { + if (item.getActingPlayer().isChangingClass()) + { + return; + } + if (item.getItem().getBodyPart() == Item.SLOT_BROOCH) { inventory.unEquipItemInSlot(PAPERDOLL_BROOCH_JEWEL1); @@ -985,6 +995,11 @@ public abstract class Inventory extends ItemContainer @Override public void notifyUnequiped(int slot, ItemInstance item, Inventory inventory) { + if (item.getActingPlayer().isChangingClass()) + { + return; + } + if (item.getItem().getBodyPart() == Item.SLOT_L_BRACELET) { inventory.unEquipItemInSlot(PAPERDOLL_AGATHION1); @@ -1013,6 +1028,11 @@ public abstract class Inventory extends ItemContainer @Override public void notifyUnequiped(int slot, ItemInstance item, Inventory inventory) { + if (item.getActingPlayer().isChangingClass()) + { + return; + } + if (item.getItem().getBodyPart() == Item.SLOT_ARTIFACT_BOOK) { inventory.unEquipItemInSlot(PAPERDOLL_ARTIFACT1); @@ -1065,7 +1085,6 @@ public abstract class Inventory extends ItemContainer // common addPaperdollListener(StatsListener.getInstance()); - } protected abstract ItemLocation getEquipLocation(); @@ -2460,7 +2479,8 @@ public abstract class Inventory extends ItemContainer } /** - * Re-notify to paperdoll listeners every equipped item + * Re-notify to paperdoll listeners every equipped item.
+ * Only used by player ClassId set methods. */ public void reloadEquippedItems() { @@ -2473,13 +2493,6 @@ public abstract class Inventory extends ItemContainer } slot = item.getLocationSlot(); - - // Do not unequip bracelets, talismans or artifacts. - if ((slot >= PAPERDOLL_LBRACELET) && (slot <= PAPERDOLL_ARTIFACT21)) - { - continue; - } - for (PaperdollListener listener : _paperdollListeners) { if (listener == null) @@ -2491,6 +2504,7 @@ public abstract class Inventory extends ItemContainer listener.notifyEquiped(slot, item, this); } } + if (getOwner().isPlayer()) { getOwner().sendPacket(new ExUserInfoEquipSlot(getOwner().getActingPlayer())); diff --git a/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/model/quest/LongTimeEvent.java b/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/model/quest/LongTimeEvent.java index 1bc53fb2f5..1b06839f10 100644 --- a/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/model/quest/LongTimeEvent.java +++ b/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/model/quest/LongTimeEvent.java @@ -305,7 +305,6 @@ public class LongTimeEvent extends Quest } } }.load(); - } protected class ScheduleStart implements Runnable diff --git a/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/network/clientpackets/SnoopQuit.java b/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/network/clientpackets/SnoopQuit.java index 3dbc0f9c0b..1873c4333c 100644 --- a/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/network/clientpackets/SnoopQuit.java +++ b/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/network/clientpackets/SnoopQuit.java @@ -52,6 +52,5 @@ public class SnoopQuit implements IClientIncomingPacket target.removeSnooper(player); player.removeSnooped(target); - } } diff --git a/L2J_Mobius_Classic_Interlude/java/org/l2jmobius/gameserver/ai/CreatureAI.java b/L2J_Mobius_Classic_Interlude/java/org/l2jmobius/gameserver/ai/CreatureAI.java index af9b56c678..8855a51323 100644 --- a/L2J_Mobius_Classic_Interlude/java/org/l2jmobius/gameserver/ai/CreatureAI.java +++ b/L2J_Mobius_Classic_Interlude/java/org/l2jmobius/gameserver/ai/CreatureAI.java @@ -158,7 +158,6 @@ public class CreatureAI extends AbstractAI // Stop the actor auto-attack client side by sending Server->Client packet AutoAttackStop (broadcast) clientStopAutoAttack(); - } /** diff --git a/L2J_Mobius_Classic_Interlude/java/org/l2jmobius/gameserver/instancemanager/InstanceManager.java b/L2J_Mobius_Classic_Interlude/java/org/l2jmobius/gameserver/instancemanager/InstanceManager.java index d1f8cd35e2..1a489ef122 100644 --- a/L2J_Mobius_Classic_Interlude/java/org/l2jmobius/gameserver/instancemanager/InstanceManager.java +++ b/L2J_Mobius_Classic_Interlude/java/org/l2jmobius/gameserver/instancemanager/InstanceManager.java @@ -365,7 +365,6 @@ public class InstanceManager implements IXmlReader // Save template _instanceTemplates.put(id, template); - } // -------------------------------------------------------------------- diff --git a/L2J_Mobius_Classic_Interlude/java/org/l2jmobius/gameserver/model/actor/instance/PlayerInstance.java b/L2J_Mobius_Classic_Interlude/java/org/l2jmobius/gameserver/model/actor/instance/PlayerInstance.java index 23459b9c7f..1846102546 100644 --- a/L2J_Mobius_Classic_Interlude/java/org/l2jmobius/gameserver/model/actor/instance/PlayerInstance.java +++ b/L2J_Mobius_Classic_Interlude/java/org/l2jmobius/gameserver/model/actor/instance/PlayerInstance.java @@ -2431,6 +2431,11 @@ public class PlayerInstance extends Playable } } + public boolean isChangingClass() + { + return _subclassLock; + } + /** * @return the Experience of the PlayerInstance. */ diff --git a/L2J_Mobius_Classic_Interlude/java/org/l2jmobius/gameserver/model/holders/PlayerEventHolder.java b/L2J_Mobius_Classic_Interlude/java/org/l2jmobius/gameserver/model/holders/PlayerEventHolder.java index 48e259909e..a5f6f9f161 100644 --- a/L2J_Mobius_Classic_Interlude/java/org/l2jmobius/gameserver/model/holders/PlayerEventHolder.java +++ b/L2J_Mobius_Classic_Interlude/java/org/l2jmobius/gameserver/model/holders/PlayerEventHolder.java @@ -85,7 +85,6 @@ public class PlayerEventHolder _player.setPvpKills(_pvpKills); _player.setPkKills(_pkKills); _player.setReputation(_reputation); - } public void setSitForced(boolean sitForced) diff --git a/L2J_Mobius_Classic_Interlude/java/org/l2jmobius/gameserver/model/itemcontainer/Inventory.java b/L2J_Mobius_Classic_Interlude/java/org/l2jmobius/gameserver/model/itemcontainer/Inventory.java index f93a7b0e67..9850d970e9 100644 --- a/L2J_Mobius_Classic_Interlude/java/org/l2jmobius/gameserver/model/itemcontainer/Inventory.java +++ b/L2J_Mobius_Classic_Interlude/java/org/l2jmobius/gameserver/model/itemcontainer/Inventory.java @@ -886,6 +886,11 @@ public abstract class Inventory extends ItemContainer @Override public void notifyUnequiped(int slot, ItemInstance item, Inventory inventory) { + if (item.getActingPlayer().isChangingClass()) + { + return; + } + if (item.getItem().getBodyPart() == Item.SLOT_R_BRACELET) { inventory.unEquipItemInSlot(PAPERDOLL_DECO1); @@ -916,6 +921,11 @@ public abstract class Inventory extends ItemContainer @Override public void notifyUnequiped(int slot, ItemInstance item, Inventory inventory) { + if (item.getActingPlayer().isChangingClass()) + { + return; + } + if (item.getItem().getBodyPart() == Item.SLOT_BROOCH) { inventory.unEquipItemInSlot(PAPERDOLL_BROOCH_JEWEL1); @@ -952,7 +962,6 @@ public abstract class Inventory extends ItemContainer // common addPaperdollListener(StatsListener.getInstance()); - } protected abstract ItemLocation getEquipLocation(); @@ -2207,7 +2216,8 @@ public abstract class Inventory extends ItemContainer } /** - * Re-notify to paperdoll listeners every equipped item + * Re-notify to paperdoll listeners every equipped item.
+ * Only used by player ClassId set methods. */ public void reloadEquippedItems() { @@ -2231,6 +2241,7 @@ public abstract class Inventory extends ItemContainer listener.notifyEquiped(slot, item, this); } } + if (getOwner().isPlayer()) { getOwner().sendPacket(new ExUserInfoEquipSlot(getOwner().getActingPlayer())); diff --git a/L2J_Mobius_Classic_Interlude/java/org/l2jmobius/gameserver/model/quest/LongTimeEvent.java b/L2J_Mobius_Classic_Interlude/java/org/l2jmobius/gameserver/model/quest/LongTimeEvent.java index 1bc53fb2f5..1b06839f10 100644 --- a/L2J_Mobius_Classic_Interlude/java/org/l2jmobius/gameserver/model/quest/LongTimeEvent.java +++ b/L2J_Mobius_Classic_Interlude/java/org/l2jmobius/gameserver/model/quest/LongTimeEvent.java @@ -305,7 +305,6 @@ public class LongTimeEvent extends Quest } } }.load(); - } protected class ScheduleStart implements Runnable diff --git a/L2J_Mobius_Classic_Interlude/java/org/l2jmobius/gameserver/network/clientpackets/SnoopQuit.java b/L2J_Mobius_Classic_Interlude/java/org/l2jmobius/gameserver/network/clientpackets/SnoopQuit.java index 3dbc0f9c0b..1873c4333c 100644 --- a/L2J_Mobius_Classic_Interlude/java/org/l2jmobius/gameserver/network/clientpackets/SnoopQuit.java +++ b/L2J_Mobius_Classic_Interlude/java/org/l2jmobius/gameserver/network/clientpackets/SnoopQuit.java @@ -52,6 +52,5 @@ public class SnoopQuit implements IClientIncomingPacket target.removeSnooper(player); player.removeSnooped(target); - } } diff --git a/L2J_Mobius_Essence_4.0_DwellingOfSpirits/java/org/l2jmobius/gameserver/ai/CreatureAI.java b/L2J_Mobius_Essence_4.0_DwellingOfSpirits/java/org/l2jmobius/gameserver/ai/CreatureAI.java index af9b56c678..8855a51323 100644 --- a/L2J_Mobius_Essence_4.0_DwellingOfSpirits/java/org/l2jmobius/gameserver/ai/CreatureAI.java +++ b/L2J_Mobius_Essence_4.0_DwellingOfSpirits/java/org/l2jmobius/gameserver/ai/CreatureAI.java @@ -158,7 +158,6 @@ public class CreatureAI extends AbstractAI // Stop the actor auto-attack client side by sending Server->Client packet AutoAttackStop (broadcast) clientStopAutoAttack(); - } /** diff --git a/L2J_Mobius_Essence_4.0_DwellingOfSpirits/java/org/l2jmobius/gameserver/instancemanager/InstanceManager.java b/L2J_Mobius_Essence_4.0_DwellingOfSpirits/java/org/l2jmobius/gameserver/instancemanager/InstanceManager.java index e36183899e..c8e1d8ed98 100644 --- a/L2J_Mobius_Essence_4.0_DwellingOfSpirits/java/org/l2jmobius/gameserver/instancemanager/InstanceManager.java +++ b/L2J_Mobius_Essence_4.0_DwellingOfSpirits/java/org/l2jmobius/gameserver/instancemanager/InstanceManager.java @@ -369,7 +369,6 @@ public class InstanceManager implements IXmlReader // Save template _instanceTemplates.put(id, template); - } // -------------------------------------------------------------------- diff --git a/L2J_Mobius_Essence_4.0_DwellingOfSpirits/java/org/l2jmobius/gameserver/model/actor/instance/PlayerInstance.java b/L2J_Mobius_Essence_4.0_DwellingOfSpirits/java/org/l2jmobius/gameserver/model/actor/instance/PlayerInstance.java index 8a1820354e..108f8129ce 100644 --- a/L2J_Mobius_Essence_4.0_DwellingOfSpirits/java/org/l2jmobius/gameserver/model/actor/instance/PlayerInstance.java +++ b/L2J_Mobius_Essence_4.0_DwellingOfSpirits/java/org/l2jmobius/gameserver/model/actor/instance/PlayerInstance.java @@ -2438,6 +2438,11 @@ public class PlayerInstance extends Playable } } + public boolean isChangingClass() + { + return _subclassLock; + } + /** * @return the Experience of the PlayerInstance. */ diff --git a/L2J_Mobius_Essence_4.0_DwellingOfSpirits/java/org/l2jmobius/gameserver/model/holders/PlayerEventHolder.java b/L2J_Mobius_Essence_4.0_DwellingOfSpirits/java/org/l2jmobius/gameserver/model/holders/PlayerEventHolder.java index 48e259909e..a5f6f9f161 100644 --- a/L2J_Mobius_Essence_4.0_DwellingOfSpirits/java/org/l2jmobius/gameserver/model/holders/PlayerEventHolder.java +++ b/L2J_Mobius_Essence_4.0_DwellingOfSpirits/java/org/l2jmobius/gameserver/model/holders/PlayerEventHolder.java @@ -85,7 +85,6 @@ public class PlayerEventHolder _player.setPvpKills(_pvpKills); _player.setPkKills(_pkKills); _player.setReputation(_reputation); - } public void setSitForced(boolean sitForced) diff --git a/L2J_Mobius_Essence_4.0_DwellingOfSpirits/java/org/l2jmobius/gameserver/model/itemcontainer/Inventory.java b/L2J_Mobius_Essence_4.0_DwellingOfSpirits/java/org/l2jmobius/gameserver/model/itemcontainer/Inventory.java index 873787aa35..d384db6356 100644 --- a/L2J_Mobius_Essence_4.0_DwellingOfSpirits/java/org/l2jmobius/gameserver/model/itemcontainer/Inventory.java +++ b/L2J_Mobius_Essence_4.0_DwellingOfSpirits/java/org/l2jmobius/gameserver/model/itemcontainer/Inventory.java @@ -1033,6 +1033,11 @@ public abstract class Inventory extends ItemContainer @Override public void notifyUnequiped(int slot, ItemInstance item, Inventory inventory) { + if (item.getActingPlayer().isChangingClass()) + { + return; + } + if (item.getItem().getBodyPart() == Item.SLOT_R_BRACELET) { inventory.unEquipItemInSlot(PAPERDOLL_DECO1); @@ -1063,6 +1068,11 @@ public abstract class Inventory extends ItemContainer @Override public void notifyUnequiped(int slot, ItemInstance item, Inventory inventory) { + if (item.getActingPlayer().isChangingClass()) + { + return; + } + if (item.getItem().getBodyPart() == Item.SLOT_BROOCH) { inventory.unEquipItemInSlot(PAPERDOLL_BROOCH_JEWEL1); @@ -1093,6 +1103,11 @@ public abstract class Inventory extends ItemContainer @Override public void notifyUnequiped(int slot, ItemInstance item, Inventory inventory) { + if (item.getActingPlayer().isChangingClass()) + { + return; + } + if (item.getItem().getBodyPart() == Item.SLOT_L_BRACELET) { inventory.unEquipItemInSlot(PAPERDOLL_AGATHION1); @@ -1121,6 +1136,11 @@ public abstract class Inventory extends ItemContainer @Override public void notifyUnequiped(int slot, ItemInstance item, Inventory inventory) { + if (item.getActingPlayer().isChangingClass()) + { + return; + } + if (item.getItem().getBodyPart() == Item.SLOT_ARTIFACT_BOOK) { inventory.unEquipItemInSlot(PAPERDOLL_ARTIFACT1); @@ -1173,7 +1193,6 @@ public abstract class Inventory extends ItemContainer // common addPaperdollListener(StatsListener.getInstance()); - } protected abstract ItemLocation getEquipLocation(); @@ -2568,7 +2587,8 @@ public abstract class Inventory extends ItemContainer } /** - * Re-notify to paperdoll listeners every equipped item + * Re-notify to paperdoll listeners every equipped item.
+ * Only used by player ClassId set methods. */ public void reloadEquippedItems() { @@ -2581,13 +2601,6 @@ public abstract class Inventory extends ItemContainer } slot = item.getLocationSlot(); - - // Do not unequip bracelets, talismans or artifacts. - if ((slot >= PAPERDOLL_LBRACELET) && (slot <= PAPERDOLL_ARTIFACT21)) - { - continue; - } - for (PaperdollListener listener : _paperdollListeners) { if (listener == null) @@ -2599,6 +2612,7 @@ public abstract class Inventory extends ItemContainer listener.notifyEquiped(slot, item, this); } } + if (getOwner().isPlayer()) { getOwner().sendPacket(new ExUserInfoEquipSlot(getOwner().getActingPlayer())); diff --git a/L2J_Mobius_Essence_4.0_DwellingOfSpirits/java/org/l2jmobius/gameserver/model/quest/LongTimeEvent.java b/L2J_Mobius_Essence_4.0_DwellingOfSpirits/java/org/l2jmobius/gameserver/model/quest/LongTimeEvent.java index 1bc53fb2f5..1b06839f10 100644 --- a/L2J_Mobius_Essence_4.0_DwellingOfSpirits/java/org/l2jmobius/gameserver/model/quest/LongTimeEvent.java +++ b/L2J_Mobius_Essence_4.0_DwellingOfSpirits/java/org/l2jmobius/gameserver/model/quest/LongTimeEvent.java @@ -305,7 +305,6 @@ public class LongTimeEvent extends Quest } } }.load(); - } protected class ScheduleStart implements Runnable diff --git a/L2J_Mobius_Essence_4.0_DwellingOfSpirits/java/org/l2jmobius/gameserver/network/clientpackets/SnoopQuit.java b/L2J_Mobius_Essence_4.0_DwellingOfSpirits/java/org/l2jmobius/gameserver/network/clientpackets/SnoopQuit.java index 3dbc0f9c0b..1873c4333c 100644 --- a/L2J_Mobius_Essence_4.0_DwellingOfSpirits/java/org/l2jmobius/gameserver/network/clientpackets/SnoopQuit.java +++ b/L2J_Mobius_Essence_4.0_DwellingOfSpirits/java/org/l2jmobius/gameserver/network/clientpackets/SnoopQuit.java @@ -52,6 +52,5 @@ public class SnoopQuit implements IClientIncomingPacket target.removeSnooper(player); player.removeSnooped(target); - } } diff --git a/L2J_Mobius_Essence_5.0_Sylph/java/org/l2jmobius/gameserver/ai/CreatureAI.java b/L2J_Mobius_Essence_5.0_Sylph/java/org/l2jmobius/gameserver/ai/CreatureAI.java index af9b56c678..8855a51323 100644 --- a/L2J_Mobius_Essence_5.0_Sylph/java/org/l2jmobius/gameserver/ai/CreatureAI.java +++ b/L2J_Mobius_Essence_5.0_Sylph/java/org/l2jmobius/gameserver/ai/CreatureAI.java @@ -158,7 +158,6 @@ public class CreatureAI extends AbstractAI // Stop the actor auto-attack client side by sending Server->Client packet AutoAttackStop (broadcast) clientStopAutoAttack(); - } /** diff --git a/L2J_Mobius_Essence_5.0_Sylph/java/org/l2jmobius/gameserver/instancemanager/InstanceManager.java b/L2J_Mobius_Essence_5.0_Sylph/java/org/l2jmobius/gameserver/instancemanager/InstanceManager.java index e36183899e..c8e1d8ed98 100644 --- a/L2J_Mobius_Essence_5.0_Sylph/java/org/l2jmobius/gameserver/instancemanager/InstanceManager.java +++ b/L2J_Mobius_Essence_5.0_Sylph/java/org/l2jmobius/gameserver/instancemanager/InstanceManager.java @@ -369,7 +369,6 @@ public class InstanceManager implements IXmlReader // Save template _instanceTemplates.put(id, template); - } // -------------------------------------------------------------------- diff --git a/L2J_Mobius_Essence_5.0_Sylph/java/org/l2jmobius/gameserver/model/actor/instance/PlayerInstance.java b/L2J_Mobius_Essence_5.0_Sylph/java/org/l2jmobius/gameserver/model/actor/instance/PlayerInstance.java index aaf03a114b..279c6334a0 100644 --- a/L2J_Mobius_Essence_5.0_Sylph/java/org/l2jmobius/gameserver/model/actor/instance/PlayerInstance.java +++ b/L2J_Mobius_Essence_5.0_Sylph/java/org/l2jmobius/gameserver/model/actor/instance/PlayerInstance.java @@ -2469,6 +2469,11 @@ public class PlayerInstance extends Playable } } + public boolean isChangingClass() + { + return _subclassLock; + } + /** * @return the Experience of the PlayerInstance. */ diff --git a/L2J_Mobius_Essence_5.0_Sylph/java/org/l2jmobius/gameserver/model/holders/PlayerEventHolder.java b/L2J_Mobius_Essence_5.0_Sylph/java/org/l2jmobius/gameserver/model/holders/PlayerEventHolder.java index 48e259909e..a5f6f9f161 100644 --- a/L2J_Mobius_Essence_5.0_Sylph/java/org/l2jmobius/gameserver/model/holders/PlayerEventHolder.java +++ b/L2J_Mobius_Essence_5.0_Sylph/java/org/l2jmobius/gameserver/model/holders/PlayerEventHolder.java @@ -85,7 +85,6 @@ public class PlayerEventHolder _player.setPvpKills(_pvpKills); _player.setPkKills(_pkKills); _player.setReputation(_reputation); - } public void setSitForced(boolean sitForced) diff --git a/L2J_Mobius_Essence_5.0_Sylph/java/org/l2jmobius/gameserver/model/itemcontainer/Inventory.java b/L2J_Mobius_Essence_5.0_Sylph/java/org/l2jmobius/gameserver/model/itemcontainer/Inventory.java index b8f4291948..6ccbc6ca78 100644 --- a/L2J_Mobius_Essence_5.0_Sylph/java/org/l2jmobius/gameserver/model/itemcontainer/Inventory.java +++ b/L2J_Mobius_Essence_5.0_Sylph/java/org/l2jmobius/gameserver/model/itemcontainer/Inventory.java @@ -1042,6 +1042,11 @@ public abstract class Inventory extends ItemContainer @Override public void notifyUnequiped(int slot, ItemInstance item, Inventory inventory) { + if (item.getActingPlayer().isChangingClass()) + { + return; + } + if (item.getItem().getBodyPart() == Item.SLOT_R_BRACELET) { inventory.unEquipItemInSlot(PAPERDOLL_DECO1); @@ -1072,6 +1077,11 @@ public abstract class Inventory extends ItemContainer @Override public void notifyUnequiped(int slot, ItemInstance item, Inventory inventory) { + if (item.getActingPlayer().isChangingClass()) + { + return; + } + if (item.getItem().getBodyPart() == Item.SLOT_BROOCH) { inventory.unEquipItemInSlot(PAPERDOLL_BROOCH_JEWEL1); @@ -1102,6 +1112,11 @@ public abstract class Inventory extends ItemContainer @Override public void notifyUnequiped(int slot, ItemInstance item, Inventory inventory) { + if (item.getActingPlayer().isChangingClass()) + { + return; + } + if (item.getItem().getBodyPart() == Item.SLOT_L_BRACELET) { inventory.unEquipItemInSlot(PAPERDOLL_AGATHION1); @@ -1130,6 +1145,11 @@ public abstract class Inventory extends ItemContainer @Override public void notifyUnequiped(int slot, ItemInstance item, Inventory inventory) { + if (item.getActingPlayer().isChangingClass()) + { + return; + } + if (item.getItem().getBodyPart() == Item.SLOT_ARTIFACT_BOOK) { inventory.unEquipItemInSlot(PAPERDOLL_ARTIFACT1); @@ -1182,7 +1202,6 @@ public abstract class Inventory extends ItemContainer // common addPaperdollListener(StatsListener.getInstance()); - } protected abstract ItemLocation getEquipLocation(); @@ -2598,7 +2617,8 @@ public abstract class Inventory extends ItemContainer } /** - * Re-notify to paperdoll listeners every equipped item + * Re-notify to paperdoll listeners every equipped item.
+ * Only used by player ClassId set methods. */ public void reloadEquippedItems() { @@ -2611,13 +2631,6 @@ public abstract class Inventory extends ItemContainer } slot = item.getLocationSlot(); - - // Do not unequip bracelets, talismans or artifacts. - if ((slot >= PAPERDOLL_LBRACELET) && (slot <= PAPERDOLL_ARTIFACT21)) - { - continue; - } - for (PaperdollListener listener : _paperdollListeners) { if (listener == null) @@ -2629,6 +2642,7 @@ public abstract class Inventory extends ItemContainer listener.notifyEquiped(slot, item, this); } } + if (getOwner().isPlayer()) { getOwner().sendPacket(new ExUserInfoEquipSlot(getOwner().getActingPlayer())); diff --git a/L2J_Mobius_Essence_5.0_Sylph/java/org/l2jmobius/gameserver/model/quest/LongTimeEvent.java b/L2J_Mobius_Essence_5.0_Sylph/java/org/l2jmobius/gameserver/model/quest/LongTimeEvent.java index 1bc53fb2f5..1b06839f10 100644 --- a/L2J_Mobius_Essence_5.0_Sylph/java/org/l2jmobius/gameserver/model/quest/LongTimeEvent.java +++ b/L2J_Mobius_Essence_5.0_Sylph/java/org/l2jmobius/gameserver/model/quest/LongTimeEvent.java @@ -305,7 +305,6 @@ public class LongTimeEvent extends Quest } } }.load(); - } protected class ScheduleStart implements Runnable diff --git a/L2J_Mobius_Essence_5.0_Sylph/java/org/l2jmobius/gameserver/network/clientpackets/SnoopQuit.java b/L2J_Mobius_Essence_5.0_Sylph/java/org/l2jmobius/gameserver/network/clientpackets/SnoopQuit.java index 3dbc0f9c0b..1873c4333c 100644 --- a/L2J_Mobius_Essence_5.0_Sylph/java/org/l2jmobius/gameserver/network/clientpackets/SnoopQuit.java +++ b/L2J_Mobius_Essence_5.0_Sylph/java/org/l2jmobius/gameserver/network/clientpackets/SnoopQuit.java @@ -52,6 +52,5 @@ public class SnoopQuit implements IClientIncomingPacket target.removeSnooper(player); player.removeSnooped(target); - } } diff --git a/L2J_Mobius_Essence_5.2_FrostLord/java/org/l2jmobius/gameserver/ai/CreatureAI.java b/L2J_Mobius_Essence_5.2_FrostLord/java/org/l2jmobius/gameserver/ai/CreatureAI.java index af9b56c678..8855a51323 100644 --- a/L2J_Mobius_Essence_5.2_FrostLord/java/org/l2jmobius/gameserver/ai/CreatureAI.java +++ b/L2J_Mobius_Essence_5.2_FrostLord/java/org/l2jmobius/gameserver/ai/CreatureAI.java @@ -158,7 +158,6 @@ public class CreatureAI extends AbstractAI // Stop the actor auto-attack client side by sending Server->Client packet AutoAttackStop (broadcast) clientStopAutoAttack(); - } /** diff --git a/L2J_Mobius_Essence_5.2_FrostLord/java/org/l2jmobius/gameserver/instancemanager/InstanceManager.java b/L2J_Mobius_Essence_5.2_FrostLord/java/org/l2jmobius/gameserver/instancemanager/InstanceManager.java index e36183899e..c8e1d8ed98 100644 --- a/L2J_Mobius_Essence_5.2_FrostLord/java/org/l2jmobius/gameserver/instancemanager/InstanceManager.java +++ b/L2J_Mobius_Essence_5.2_FrostLord/java/org/l2jmobius/gameserver/instancemanager/InstanceManager.java @@ -369,7 +369,6 @@ public class InstanceManager implements IXmlReader // Save template _instanceTemplates.put(id, template); - } // -------------------------------------------------------------------- diff --git a/L2J_Mobius_Essence_5.2_FrostLord/java/org/l2jmobius/gameserver/model/actor/instance/PlayerInstance.java b/L2J_Mobius_Essence_5.2_FrostLord/java/org/l2jmobius/gameserver/model/actor/instance/PlayerInstance.java index aaf03a114b..279c6334a0 100644 --- a/L2J_Mobius_Essence_5.2_FrostLord/java/org/l2jmobius/gameserver/model/actor/instance/PlayerInstance.java +++ b/L2J_Mobius_Essence_5.2_FrostLord/java/org/l2jmobius/gameserver/model/actor/instance/PlayerInstance.java @@ -2469,6 +2469,11 @@ public class PlayerInstance extends Playable } } + public boolean isChangingClass() + { + return _subclassLock; + } + /** * @return the Experience of the PlayerInstance. */ diff --git a/L2J_Mobius_Essence_5.2_FrostLord/java/org/l2jmobius/gameserver/model/holders/PlayerEventHolder.java b/L2J_Mobius_Essence_5.2_FrostLord/java/org/l2jmobius/gameserver/model/holders/PlayerEventHolder.java index 48e259909e..a5f6f9f161 100644 --- a/L2J_Mobius_Essence_5.2_FrostLord/java/org/l2jmobius/gameserver/model/holders/PlayerEventHolder.java +++ b/L2J_Mobius_Essence_5.2_FrostLord/java/org/l2jmobius/gameserver/model/holders/PlayerEventHolder.java @@ -85,7 +85,6 @@ public class PlayerEventHolder _player.setPvpKills(_pvpKills); _player.setPkKills(_pkKills); _player.setReputation(_reputation); - } public void setSitForced(boolean sitForced) diff --git a/L2J_Mobius_Essence_5.2_FrostLord/java/org/l2jmobius/gameserver/model/itemcontainer/Inventory.java b/L2J_Mobius_Essence_5.2_FrostLord/java/org/l2jmobius/gameserver/model/itemcontainer/Inventory.java index b8f4291948..6ccbc6ca78 100644 --- a/L2J_Mobius_Essence_5.2_FrostLord/java/org/l2jmobius/gameserver/model/itemcontainer/Inventory.java +++ b/L2J_Mobius_Essence_5.2_FrostLord/java/org/l2jmobius/gameserver/model/itemcontainer/Inventory.java @@ -1042,6 +1042,11 @@ public abstract class Inventory extends ItemContainer @Override public void notifyUnequiped(int slot, ItemInstance item, Inventory inventory) { + if (item.getActingPlayer().isChangingClass()) + { + return; + } + if (item.getItem().getBodyPart() == Item.SLOT_R_BRACELET) { inventory.unEquipItemInSlot(PAPERDOLL_DECO1); @@ -1072,6 +1077,11 @@ public abstract class Inventory extends ItemContainer @Override public void notifyUnequiped(int slot, ItemInstance item, Inventory inventory) { + if (item.getActingPlayer().isChangingClass()) + { + return; + } + if (item.getItem().getBodyPart() == Item.SLOT_BROOCH) { inventory.unEquipItemInSlot(PAPERDOLL_BROOCH_JEWEL1); @@ -1102,6 +1112,11 @@ public abstract class Inventory extends ItemContainer @Override public void notifyUnequiped(int slot, ItemInstance item, Inventory inventory) { + if (item.getActingPlayer().isChangingClass()) + { + return; + } + if (item.getItem().getBodyPart() == Item.SLOT_L_BRACELET) { inventory.unEquipItemInSlot(PAPERDOLL_AGATHION1); @@ -1130,6 +1145,11 @@ public abstract class Inventory extends ItemContainer @Override public void notifyUnequiped(int slot, ItemInstance item, Inventory inventory) { + if (item.getActingPlayer().isChangingClass()) + { + return; + } + if (item.getItem().getBodyPart() == Item.SLOT_ARTIFACT_BOOK) { inventory.unEquipItemInSlot(PAPERDOLL_ARTIFACT1); @@ -1182,7 +1202,6 @@ public abstract class Inventory extends ItemContainer // common addPaperdollListener(StatsListener.getInstance()); - } protected abstract ItemLocation getEquipLocation(); @@ -2598,7 +2617,8 @@ public abstract class Inventory extends ItemContainer } /** - * Re-notify to paperdoll listeners every equipped item + * Re-notify to paperdoll listeners every equipped item.
+ * Only used by player ClassId set methods. */ public void reloadEquippedItems() { @@ -2611,13 +2631,6 @@ public abstract class Inventory extends ItemContainer } slot = item.getLocationSlot(); - - // Do not unequip bracelets, talismans or artifacts. - if ((slot >= PAPERDOLL_LBRACELET) && (slot <= PAPERDOLL_ARTIFACT21)) - { - continue; - } - for (PaperdollListener listener : _paperdollListeners) { if (listener == null) @@ -2629,6 +2642,7 @@ public abstract class Inventory extends ItemContainer listener.notifyEquiped(slot, item, this); } } + if (getOwner().isPlayer()) { getOwner().sendPacket(new ExUserInfoEquipSlot(getOwner().getActingPlayer())); diff --git a/L2J_Mobius_Essence_5.2_FrostLord/java/org/l2jmobius/gameserver/model/quest/LongTimeEvent.java b/L2J_Mobius_Essence_5.2_FrostLord/java/org/l2jmobius/gameserver/model/quest/LongTimeEvent.java index 1bc53fb2f5..1b06839f10 100644 --- a/L2J_Mobius_Essence_5.2_FrostLord/java/org/l2jmobius/gameserver/model/quest/LongTimeEvent.java +++ b/L2J_Mobius_Essence_5.2_FrostLord/java/org/l2jmobius/gameserver/model/quest/LongTimeEvent.java @@ -305,7 +305,6 @@ public class LongTimeEvent extends Quest } } }.load(); - } protected class ScheduleStart implements Runnable diff --git a/L2J_Mobius_Essence_5.2_FrostLord/java/org/l2jmobius/gameserver/network/clientpackets/SnoopQuit.java b/L2J_Mobius_Essence_5.2_FrostLord/java/org/l2jmobius/gameserver/network/clientpackets/SnoopQuit.java index 3dbc0f9c0b..1873c4333c 100644 --- a/L2J_Mobius_Essence_5.2_FrostLord/java/org/l2jmobius/gameserver/network/clientpackets/SnoopQuit.java +++ b/L2J_Mobius_Essence_5.2_FrostLord/java/org/l2jmobius/gameserver/network/clientpackets/SnoopQuit.java @@ -52,6 +52,5 @@ public class SnoopQuit implements IClientIncomingPacket target.removeSnooper(player); player.removeSnooped(target); - } }