Proper solution for class change unequip issue.

This commit is contained in:
MobiusDevelopment 2021-08-23 21:12:01 +00:00
parent bda02389c6
commit 8975ca9f7e
171 changed files with 536 additions and 261 deletions

View File

@ -158,7 +158,6 @@ public class CreatureAI extends AbstractAI
// Stop the actor auto-attack client side by sending Server->Client packet AutoAttackStop (broadcast)
clientStopAutoAttack();
}
/**

View File

@ -365,7 +365,6 @@ public class InstanceManager implements IXmlReader
// Save template
_instanceTemplates.put(id, template);
}
// --------------------------------------------------------------------

View File

@ -2462,6 +2462,11 @@ public class PlayerInstance extends Playable
}
}
public boolean isChangingClass()
{
return _subclassLock;
}
/**
* @return the Experience of the PlayerInstance.
*/

View File

@ -85,7 +85,6 @@ public class PlayerEventHolder
_player.setPvpKills(_pvpKills);
_player.setPkKills(_pkKills);
_player.setReputation(_reputation);
}
public void setSitForced(boolean sitForced)

View File

@ -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.<br>
* 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()));

View File

@ -305,7 +305,6 @@ public class LongTimeEvent extends Quest
}
}
}.load();
}
protected class ScheduleStart implements Runnable

View File

@ -158,7 +158,6 @@ public class CreatureAI extends AbstractAI
// Stop the actor auto-attack client side by sending Server->Client packet AutoAttackStop (broadcast)
clientStopAutoAttack();
}
/**

View File

@ -365,7 +365,6 @@ public class InstanceManager implements IXmlReader
// Save template
_instanceTemplates.put(id, template);
}
// --------------------------------------------------------------------

View File

@ -2468,6 +2468,11 @@ public class PlayerInstance extends Playable
}
}
public boolean isChangingClass()
{
return _subclassLock;
}
/**
* @return the Experience of the PlayerInstance.
*/

View File

@ -85,7 +85,6 @@ public class PlayerEventHolder
_player.setPvpKills(_pvpKills);
_player.setPkKills(_pkKills);
_player.setReputation(_reputation);
}
public void setSitForced(boolean sitForced)

View File

@ -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.<br>
* 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()));

View File

@ -305,7 +305,6 @@ public class LongTimeEvent extends Quest
}
}
}.load();
}
protected class ScheduleStart implements Runnable

View File

@ -52,6 +52,5 @@ public class SnoopQuit implements IClientIncomingPacket
target.removeSnooper(player);
player.removeSnooped(target);
}
}

View File

@ -158,7 +158,6 @@ public class CreatureAI extends AbstractAI
// Stop the actor auto-attack client side by sending Server->Client packet AutoAttackStop (broadcast)
clientStopAutoAttack();
}
/**

View File

@ -365,7 +365,6 @@ public class InstanceManager implements IXmlReader
// Save template
_instanceTemplates.put(id, template);
}
// --------------------------------------------------------------------

View File

@ -2470,6 +2470,11 @@ public class PlayerInstance extends Playable
}
}
public boolean isChangingClass()
{
return _subclassLock;
}
/**
* @return the Experience of the PlayerInstance.
*/

View File

@ -85,7 +85,6 @@ public class PlayerEventHolder
_player.setPvpKills(_pvpKills);
_player.setPkKills(_pkKills);
_player.setReputation(_reputation);
}
public void setSitForced(boolean sitForced)

View File

@ -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.<br>
* 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()));

View File

@ -305,7 +305,6 @@ public class LongTimeEvent extends Quest
}
}
}.load();
}
protected class ScheduleStart implements Runnable

View File

@ -52,6 +52,5 @@ public class SnoopQuit implements IClientIncomingPacket
target.removeSnooper(player);
player.removeSnooped(target);
}
}

View File

@ -243,7 +243,6 @@ public class Q10874_AgainstTheNewEnemy extends Quest
}
}
return htmltext;
}
@Override

View File

@ -158,7 +158,6 @@ public class CreatureAI extends AbstractAI
// Stop the actor auto-attack client side by sending Server->Client packet AutoAttackStop (broadcast)
clientStopAutoAttack();
}
/**

View File

@ -365,7 +365,6 @@ public class InstanceManager implements IXmlReader
// Save template
_instanceTemplates.put(id, template);
}
// --------------------------------------------------------------------

View File

@ -2478,6 +2478,11 @@ public class PlayerInstance extends Playable
}
}
public boolean isChangingClass()
{
return _subclassLock;
}
/**
* @return the Experience of the PlayerInstance.
*/

View File

@ -85,7 +85,6 @@ public class PlayerEventHolder
_player.setPvpKills(_pvpKills);
_player.setPkKills(_pkKills);
_player.setReputation(_reputation);
}
public void setSitForced(boolean sitForced)

View File

@ -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.<br>
* 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()));

View File

@ -305,7 +305,6 @@ public class LongTimeEvent extends Quest
}
}
}.load();
}
protected class ScheduleStart implements Runnable

View File

@ -52,6 +52,5 @@ public class SnoopQuit implements IClientIncomingPacket
target.removeSnooper(player);
player.removeSnooped(target);
}
}

View File

@ -219,7 +219,6 @@ public class Q10560_WayOfWanderingKnight extends Quest
}
}
return htmltext;
}
@Override

View File

@ -243,7 +243,6 @@ public class Q10874_AgainstTheNewEnemy extends Quest
}
}
return htmltext;
}
@Override

View File

@ -158,7 +158,6 @@ public class CreatureAI extends AbstractAI
// Stop the actor auto-attack client side by sending Server->Client packet AutoAttackStop (broadcast)
clientStopAutoAttack();
}
/**

View File

@ -365,7 +365,6 @@ public class InstanceManager implements IXmlReader
// Save template
_instanceTemplates.put(id, template);
}
// --------------------------------------------------------------------

View File

@ -2474,6 +2474,11 @@ public class PlayerInstance extends Playable
}
}
public boolean isChangingClass()
{
return _subclassLock;
}
/**
* @return the Experience of the PlayerInstance.
*/

View File

@ -85,7 +85,6 @@ public class PlayerEventHolder
_player.setPvpKills(_pvpKills);
_player.setPkKills(_pkKills);
_player.setReputation(_reputation);
}
public void setSitForced(boolean sitForced)

View File

@ -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.<br>
* 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()));

View File

@ -305,7 +305,6 @@ public class LongTimeEvent extends Quest
}
}
}.load();
}
protected class ScheduleStart implements Runnable

View File

@ -52,6 +52,5 @@ public class SnoopQuit implements IClientIncomingPacket
target.removeSnooper(player);
player.removeSnooped(target);
}
}

View File

@ -219,7 +219,6 @@ public class Q10560_WayOfWanderingKnight extends Quest
}
}
return htmltext;
}
@Override

View File

@ -243,7 +243,6 @@ public class Q10874_AgainstTheNewEnemy extends Quest
}
}
return htmltext;
}
@Override

View File

@ -158,7 +158,6 @@ public class CreatureAI extends AbstractAI
// Stop the actor auto-attack client side by sending Server->Client packet AutoAttackStop (broadcast)
clientStopAutoAttack();
}
/**

View File

@ -365,7 +365,6 @@ public class InstanceManager implements IXmlReader
// Save template
_instanceTemplates.put(id, template);
}
// --------------------------------------------------------------------

View File

@ -2474,6 +2474,11 @@ public class PlayerInstance extends Playable
}
}
public boolean isChangingClass()
{
return _subclassLock;
}
/**
* @return the Experience of the PlayerInstance.
*/

View File

@ -85,7 +85,6 @@ public class PlayerEventHolder
_player.setPvpKills(_pvpKills);
_player.setPkKills(_pkKills);
_player.setReputation(_reputation);
}
public void setSitForced(boolean sitForced)

View File

@ -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.<br>
* 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()));

View File

@ -305,7 +305,6 @@ public class LongTimeEvent extends Quest
}
}
}.load();
}
protected class ScheduleStart implements Runnable

View File

@ -52,6 +52,5 @@ public class SnoopQuit implements IClientIncomingPacket
target.removeSnooper(player);
player.removeSnooped(target);
}
}

View File

@ -219,7 +219,6 @@ public class Q10560_WayOfWanderingKnight extends Quest
}
}
return htmltext;
}
@Override

View File

@ -243,7 +243,6 @@ public class Q10874_AgainstTheNewEnemy extends Quest
}
}
return htmltext;
}
@Override

View File

@ -158,7 +158,6 @@ public class CreatureAI extends AbstractAI
// Stop the actor auto-attack client side by sending Server->Client packet AutoAttackStop (broadcast)
clientStopAutoAttack();
}
/**

View File

@ -365,7 +365,6 @@ public class InstanceManager implements IXmlReader
// Save template
_instanceTemplates.put(id, template);
}
// --------------------------------------------------------------------

View File

@ -2474,6 +2474,11 @@ public class PlayerInstance extends Playable
}
}
public boolean isChangingClass()
{
return _subclassLock;
}
/**
* @return the Experience of the PlayerInstance.
*/

View File

@ -85,7 +85,6 @@ public class PlayerEventHolder
_player.setPvpKills(_pvpKills);
_player.setPkKills(_pkKills);
_player.setReputation(_reputation);
}
public void setSitForced(boolean sitForced)

View File

@ -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.<br>
* 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()));

View File

@ -305,7 +305,6 @@ public class LongTimeEvent extends Quest
}
}
}.load();
}
protected class ScheduleStart implements Runnable

View File

@ -52,6 +52,5 @@ public class SnoopQuit implements IClientIncomingPacket
target.removeSnooper(player);
player.removeSnooped(target);
}
}

View File

@ -197,7 +197,6 @@ public class Q10514_NewPathToGlory extends Quest
}
}
return htmltext;
}
@Override

View File

@ -243,7 +243,6 @@ public class Q10874_AgainstTheNewEnemy extends Quest
}
}
return htmltext;
}
@Override

View File

@ -158,7 +158,6 @@ public class CreatureAI extends AbstractAI
// Stop the actor auto-attack client side by sending Server->Client packet AutoAttackStop (broadcast)
clientStopAutoAttack();
}
/**

View File

@ -45,7 +45,6 @@ public class SymbolSealData implements IXmlReader
public void load()
{
parseDatapackFile("data/SymbolSealData.xml");
}
@Override

View File

@ -365,7 +365,6 @@ public class InstanceManager implements IXmlReader
// Save template
_instanceTemplates.put(id, template);
}
// --------------------------------------------------------------------

View File

@ -2408,6 +2408,11 @@ public class PlayerInstance extends Playable
}
}
public boolean isChangingClass()
{
return _subclassLock;
}
/**
* @return the Experience of the PlayerInstance.
*/

View File

@ -85,7 +85,6 @@ public class PlayerEventHolder
_player.setPvpKills(_pvpKills);
_player.setPkKills(_pkKills);
_player.setReputation(_reputation);
}
public void setSitForced(boolean sitForced)

View File

@ -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.<br>
* 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()));

View File

@ -305,7 +305,6 @@ public class LongTimeEvent extends Quest
}
}
}.load();
}
protected class ScheduleStart implements Runnable

View File

@ -52,6 +52,5 @@ public class SnoopQuit implements IClientIncomingPacket
target.removeSnooper(player);
player.removeSnooped(target);
}
}

View File

@ -158,7 +158,6 @@ public class CreatureAI extends AbstractAI
// Stop the actor auto-attack client side by sending Server->Client packet AutoAttackStop (broadcast)
clientStopAutoAttack();
}
/**

View File

@ -45,7 +45,6 @@ public class SymbolSealData implements IXmlReader
public void load()
{
parseDatapackFile("data/SymbolSealData.xml");
}
@Override

View File

@ -369,7 +369,6 @@ public class InstanceManager implements IXmlReader
// Save template
_instanceTemplates.put(id, template);
}
// --------------------------------------------------------------------

View File

@ -2439,6 +2439,11 @@ public class PlayerInstance extends Playable
}
}
public boolean isChangingClass()
{
return _subclassLock;
}
/**
* @return the Experience of the PlayerInstance.
*/

View File

@ -85,7 +85,6 @@ public class PlayerEventHolder
_player.setPvpKills(_pvpKills);
_player.setPkKills(_pkKills);
_player.setReputation(_reputation);
}
public void setSitForced(boolean sitForced)

View File

@ -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.<br>
* 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()));

View File

@ -305,7 +305,6 @@ public class LongTimeEvent extends Quest
}
}
}.load();
}
protected class ScheduleStart implements Runnable

View File

@ -52,6 +52,5 @@ public class SnoopQuit implements IClientIncomingPacket
target.removeSnooper(player);
player.removeSnooped(target);
}
}

View File

@ -158,7 +158,6 @@ public class CreatureAI extends AbstractAI
// Stop the actor auto-attack client side by sending Server->Client packet AutoAttackStop (broadcast)
clientStopAutoAttack();
}
/**

View File

@ -45,7 +45,6 @@ public class SymbolSealData implements IXmlReader
public void load()
{
parseDatapackFile("data/SymbolSealData.xml");
}
@Override

View File

@ -369,7 +369,6 @@ public class InstanceManager implements IXmlReader
// Save template
_instanceTemplates.put(id, template);
}
// --------------------------------------------------------------------

View File

@ -2456,6 +2456,11 @@ public class PlayerInstance extends Playable
}
}
public boolean isChangingClass()
{
return _subclassLock;
}
/**
* @return the Experience of the PlayerInstance.
*/

View File

@ -85,7 +85,6 @@ public class PlayerEventHolder
_player.setPvpKills(_pvpKills);
_player.setPkKills(_pkKills);
_player.setReputation(_reputation);
}
public void setSitForced(boolean sitForced)

View File

@ -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.<br>
* 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()));

View File

@ -305,7 +305,6 @@ public class LongTimeEvent extends Quest
}
}
}.load();
}
protected class ScheduleStart implements Runnable

View File

@ -52,6 +52,5 @@ public class SnoopQuit implements IClientIncomingPacket
target.removeSnooper(player);
player.removeSnooped(target);
}
}

View File

@ -158,7 +158,6 @@ public class CreatureAI extends AbstractAI
// Stop the actor auto-attack client side by sending Server->Client packet AutoAttackStop (broadcast)
clientStopAutoAttack();
}
/**

View File

@ -45,7 +45,6 @@ public class SymbolSealData implements IXmlReader
public void load()
{
parseDatapackFile("data/SymbolSealData.xml");
}
@Override

View File

@ -369,7 +369,6 @@ public class InstanceManager implements IXmlReader
// Save template
_instanceTemplates.put(id, template);
}
// --------------------------------------------------------------------

View File

@ -2456,6 +2456,11 @@ public class PlayerInstance extends Playable
}
}
public boolean isChangingClass()
{
return _subclassLock;
}
/**
* @return the Experience of the PlayerInstance.
*/

View File

@ -85,7 +85,6 @@ public class PlayerEventHolder
_player.setPvpKills(_pvpKills);
_player.setPkKills(_pkKills);
_player.setReputation(_reputation);
}
public void setSitForced(boolean sitForced)

View File

@ -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.<br>
* 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()));

View File

@ -305,7 +305,6 @@ public class LongTimeEvent extends Quest
}
}
}.load();
}
protected class ScheduleStart implements Runnable

View File

@ -52,6 +52,5 @@ public class SnoopQuit implements IClientIncomingPacket
target.removeSnooper(player);
player.removeSnooped(target);
}
}

View File

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

View File

@ -107,7 +107,6 @@ public class DynamicZone extends ZoneType
}
}
_owner.stopSkillEffects(_skill.getId());
}
@Override

View File

@ -43,7 +43,6 @@ public class RequestSendFriendMsg implements IClientIncomingPacket
_message = packet.readS();
_reciever = packet.readS();
return true;
}
@Override

View File

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

View File

@ -107,7 +107,6 @@ public class DynamicZone extends ZoneType
}
}
_owner.stopSkillEffects(_skill.getId());
}
@Override

View File

@ -43,7 +43,6 @@ public class RequestSendFriendMsg implements IClientIncomingPacket
_message = packet.readS();
_reciever = packet.readS();
return true;
}
@Override

View File

@ -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.
*/

View File

@ -78,7 +78,6 @@ public class PlayerEventHolder
_player.setPvpKills(_pvpKills);
_player.setPkKills(_pkKills);
_player.setKarma(_karma);
}
public void setSitForced(boolean sitForced)

View File

@ -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.<br>
* Only used by player ClassId set methods.
*/
public void reloadEquippedItems()
{

View File

@ -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.
*/

View File

@ -78,7 +78,6 @@ public class PlayerEventHolder
_player.setPvpKills(_pvpKills);
_player.setPkKills(_pkKills);
_player.setKarma(_karma);
}
public void setSitForced(boolean sitForced)

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