From fdc3975bf7ad1836e9849c16cf9aedd3dddac8f9 Mon Sep 17 00:00:00 2001 From: MobiusDevelopment <8391001+MobiusDevelopment@users.noreply.github.com> Date: Tue, 26 Jul 2022 08:41:04 +0000 Subject: [PATCH] Recalculate stats and send infos when pet equips items. --- .../org/l2jmobius/gameserver/model/actor/instance/Pet.java | 2 +- .../network/clientpackets/pet/ExPetEquipItem.java | 7 +++++++ .../network/clientpackets/pet/ExPetUnequipItem.java | 5 ++++- .../org/l2jmobius/gameserver/model/actor/instance/Pet.java | 2 +- .../network/clientpackets/pet/ExPetEquipItem.java | 7 +++++++ .../network/clientpackets/pet/ExPetUnequipItem.java | 5 ++++- .../org/l2jmobius/gameserver/model/actor/instance/Pet.java | 2 +- .../network/clientpackets/pet/ExPetEquipItem.java | 7 +++++++ .../network/clientpackets/pet/ExPetUnequipItem.java | 5 ++++- .../org/l2jmobius/gameserver/model/actor/instance/Pet.java | 2 +- .../network/clientpackets/pet/ExPetEquipItem.java | 7 +++++++ .../network/clientpackets/pet/ExPetUnequipItem.java | 5 ++++- 12 files changed, 48 insertions(+), 8 deletions(-) diff --git a/L2J_Mobius_Essence_4.2_DwellingOfSpirits/java/org/l2jmobius/gameserver/model/actor/instance/Pet.java b/L2J_Mobius_Essence_4.2_DwellingOfSpirits/java/org/l2jmobius/gameserver/model/actor/instance/Pet.java index 9c10d8f166..89327b3579 100644 --- a/L2J_Mobius_Essence_4.2_DwellingOfSpirits/java/org/l2jmobius/gameserver/model/actor/instance/Pet.java +++ b/L2J_Mobius_Essence_4.2_DwellingOfSpirits/java/org/l2jmobius/gameserver/model/actor/instance/Pet.java @@ -1680,7 +1680,7 @@ public class Pet extends Summon final PetInventoryUpdate petIU = new PetInventoryUpdate(); petIU.addItems(items); sendInventoryUpdate(petIU); - getStat().recalculateStats(true); + if (abortAttack) { abortAttack(); diff --git a/L2J_Mobius_Essence_4.2_DwellingOfSpirits/java/org/l2jmobius/gameserver/network/clientpackets/pet/ExPetEquipItem.java b/L2J_Mobius_Essence_4.2_DwellingOfSpirits/java/org/l2jmobius/gameserver/network/clientpackets/pet/ExPetEquipItem.java index 72f1f9a649..3570857ed1 100644 --- a/L2J_Mobius_Essence_4.2_DwellingOfSpirits/java/org/l2jmobius/gameserver/network/clientpackets/pet/ExPetEquipItem.java +++ b/L2J_Mobius_Essence_4.2_DwellingOfSpirits/java/org/l2jmobius/gameserver/network/clientpackets/pet/ExPetEquipItem.java @@ -18,6 +18,8 @@ import org.l2jmobius.gameserver.network.SystemMessageId; import org.l2jmobius.gameserver.network.clientpackets.IClientIncomingPacket; import org.l2jmobius.gameserver.network.serverpackets.ActionFailed; import org.l2jmobius.gameserver.network.serverpackets.SystemMessage; +import org.l2jmobius.gameserver.network.serverpackets.pet.ExPetSkillList; +import org.l2jmobius.gameserver.network.serverpackets.pet.PetInfo; /** * Written by Berezkin Nikolay, on 25.04.2021 @@ -161,6 +163,7 @@ public class ExPetEquipItem implements IClientIncomingPacket return; } } + final Item oldItem = pet.getInventory().getPaperdollItemByItemId((int) item.getTemplate().getBodyPart()); if (oldItem != null) { @@ -189,6 +192,10 @@ public class ExPetEquipItem implements IClientIncomingPacket Item transferedItem = player.transferItem("UnequipFromPet", item.getObjectId(), 1, pet.getInventory(), null); pet.useEquippableItem(transferedItem, false); } + + pet.getStat().recalculateStats(true); + player.sendPacket(new PetInfo(pet, 1)); + player.sendPacket(new ExPetSkillList(false, pet)); } } } diff --git a/L2J_Mobius_Essence_4.2_DwellingOfSpirits/java/org/l2jmobius/gameserver/network/clientpackets/pet/ExPetUnequipItem.java b/L2J_Mobius_Essence_4.2_DwellingOfSpirits/java/org/l2jmobius/gameserver/network/clientpackets/pet/ExPetUnequipItem.java index 5b4e20afdf..d3e0a44193 100644 --- a/L2J_Mobius_Essence_4.2_DwellingOfSpirits/java/org/l2jmobius/gameserver/network/clientpackets/pet/ExPetUnequipItem.java +++ b/L2J_Mobius_Essence_4.2_DwellingOfSpirits/java/org/l2jmobius/gameserver/network/clientpackets/pet/ExPetUnequipItem.java @@ -15,6 +15,7 @@ import org.l2jmobius.gameserver.network.SystemMessageId; import org.l2jmobius.gameserver.network.clientpackets.IClientIncomingPacket; import org.l2jmobius.gameserver.network.serverpackets.ActionFailed; import org.l2jmobius.gameserver.network.serverpackets.SystemMessage; +import org.l2jmobius.gameserver.network.serverpackets.pet.ExPetSkillList; import org.l2jmobius.gameserver.network.serverpackets.pet.PetInfo; /** @@ -172,8 +173,10 @@ public class ExPetUnequipItem implements IClientIncomingPacket { pet.transferItem("UnequipFromPet", item.getObjectId(), 1, player.getInventory(), player, null); } + pet.getStat().recalculateStats(true); - pet.getOwner().sendPacket(new PetInfo(pet, 1)); + player.sendPacket(new PetInfo(pet, 1)); + player.sendPacket(new ExPetSkillList(false, pet)); } } } diff --git a/L2J_Mobius_Essence_5.2_FrostLord/java/org/l2jmobius/gameserver/model/actor/instance/Pet.java b/L2J_Mobius_Essence_5.2_FrostLord/java/org/l2jmobius/gameserver/model/actor/instance/Pet.java index 2cdf05fcd1..15b835dbfc 100644 --- a/L2J_Mobius_Essence_5.2_FrostLord/java/org/l2jmobius/gameserver/model/actor/instance/Pet.java +++ b/L2J_Mobius_Essence_5.2_FrostLord/java/org/l2jmobius/gameserver/model/actor/instance/Pet.java @@ -1680,7 +1680,7 @@ public class Pet extends Summon final PetInventoryUpdate petIU = new PetInventoryUpdate(); petIU.addItems(items); sendInventoryUpdate(petIU); - getStat().recalculateStats(true); + if (abortAttack) { abortAttack(); diff --git a/L2J_Mobius_Essence_5.2_FrostLord/java/org/l2jmobius/gameserver/network/clientpackets/pet/ExPetEquipItem.java b/L2J_Mobius_Essence_5.2_FrostLord/java/org/l2jmobius/gameserver/network/clientpackets/pet/ExPetEquipItem.java index 72f1f9a649..3570857ed1 100644 --- a/L2J_Mobius_Essence_5.2_FrostLord/java/org/l2jmobius/gameserver/network/clientpackets/pet/ExPetEquipItem.java +++ b/L2J_Mobius_Essence_5.2_FrostLord/java/org/l2jmobius/gameserver/network/clientpackets/pet/ExPetEquipItem.java @@ -18,6 +18,8 @@ import org.l2jmobius.gameserver.network.SystemMessageId; import org.l2jmobius.gameserver.network.clientpackets.IClientIncomingPacket; import org.l2jmobius.gameserver.network.serverpackets.ActionFailed; import org.l2jmobius.gameserver.network.serverpackets.SystemMessage; +import org.l2jmobius.gameserver.network.serverpackets.pet.ExPetSkillList; +import org.l2jmobius.gameserver.network.serverpackets.pet.PetInfo; /** * Written by Berezkin Nikolay, on 25.04.2021 @@ -161,6 +163,7 @@ public class ExPetEquipItem implements IClientIncomingPacket return; } } + final Item oldItem = pet.getInventory().getPaperdollItemByItemId((int) item.getTemplate().getBodyPart()); if (oldItem != null) { @@ -189,6 +192,10 @@ public class ExPetEquipItem implements IClientIncomingPacket Item transferedItem = player.transferItem("UnequipFromPet", item.getObjectId(), 1, pet.getInventory(), null); pet.useEquippableItem(transferedItem, false); } + + pet.getStat().recalculateStats(true); + player.sendPacket(new PetInfo(pet, 1)); + player.sendPacket(new ExPetSkillList(false, pet)); } } } diff --git a/L2J_Mobius_Essence_5.2_FrostLord/java/org/l2jmobius/gameserver/network/clientpackets/pet/ExPetUnequipItem.java b/L2J_Mobius_Essence_5.2_FrostLord/java/org/l2jmobius/gameserver/network/clientpackets/pet/ExPetUnequipItem.java index 5b4e20afdf..d3e0a44193 100644 --- a/L2J_Mobius_Essence_5.2_FrostLord/java/org/l2jmobius/gameserver/network/clientpackets/pet/ExPetUnequipItem.java +++ b/L2J_Mobius_Essence_5.2_FrostLord/java/org/l2jmobius/gameserver/network/clientpackets/pet/ExPetUnequipItem.java @@ -15,6 +15,7 @@ import org.l2jmobius.gameserver.network.SystemMessageId; import org.l2jmobius.gameserver.network.clientpackets.IClientIncomingPacket; import org.l2jmobius.gameserver.network.serverpackets.ActionFailed; import org.l2jmobius.gameserver.network.serverpackets.SystemMessage; +import org.l2jmobius.gameserver.network.serverpackets.pet.ExPetSkillList; import org.l2jmobius.gameserver.network.serverpackets.pet.PetInfo; /** @@ -172,8 +173,10 @@ public class ExPetUnequipItem implements IClientIncomingPacket { pet.transferItem("UnequipFromPet", item.getObjectId(), 1, player.getInventory(), player, null); } + pet.getStat().recalculateStats(true); - pet.getOwner().sendPacket(new PetInfo(pet, 1)); + player.sendPacket(new PetInfo(pet, 1)); + player.sendPacket(new ExPetSkillList(false, pet)); } } } diff --git a/L2J_Mobius_Essence_6.1_BattleChronicle/java/org/l2jmobius/gameserver/model/actor/instance/Pet.java b/L2J_Mobius_Essence_6.1_BattleChronicle/java/org/l2jmobius/gameserver/model/actor/instance/Pet.java index 94cc2b3fa6..a8b65242de 100644 --- a/L2J_Mobius_Essence_6.1_BattleChronicle/java/org/l2jmobius/gameserver/model/actor/instance/Pet.java +++ b/L2J_Mobius_Essence_6.1_BattleChronicle/java/org/l2jmobius/gameserver/model/actor/instance/Pet.java @@ -1680,7 +1680,7 @@ public class Pet extends Summon final PetInventoryUpdate petIU = new PetInventoryUpdate(); petIU.addItems(items); sendInventoryUpdate(petIU); - getStat().recalculateStats(true); + if (abortAttack) { abortAttack(); diff --git a/L2J_Mobius_Essence_6.1_BattleChronicle/java/org/l2jmobius/gameserver/network/clientpackets/pet/ExPetEquipItem.java b/L2J_Mobius_Essence_6.1_BattleChronicle/java/org/l2jmobius/gameserver/network/clientpackets/pet/ExPetEquipItem.java index 72f1f9a649..3570857ed1 100644 --- a/L2J_Mobius_Essence_6.1_BattleChronicle/java/org/l2jmobius/gameserver/network/clientpackets/pet/ExPetEquipItem.java +++ b/L2J_Mobius_Essence_6.1_BattleChronicle/java/org/l2jmobius/gameserver/network/clientpackets/pet/ExPetEquipItem.java @@ -18,6 +18,8 @@ import org.l2jmobius.gameserver.network.SystemMessageId; import org.l2jmobius.gameserver.network.clientpackets.IClientIncomingPacket; import org.l2jmobius.gameserver.network.serverpackets.ActionFailed; import org.l2jmobius.gameserver.network.serverpackets.SystemMessage; +import org.l2jmobius.gameserver.network.serverpackets.pet.ExPetSkillList; +import org.l2jmobius.gameserver.network.serverpackets.pet.PetInfo; /** * Written by Berezkin Nikolay, on 25.04.2021 @@ -161,6 +163,7 @@ public class ExPetEquipItem implements IClientIncomingPacket return; } } + final Item oldItem = pet.getInventory().getPaperdollItemByItemId((int) item.getTemplate().getBodyPart()); if (oldItem != null) { @@ -189,6 +192,10 @@ public class ExPetEquipItem implements IClientIncomingPacket Item transferedItem = player.transferItem("UnequipFromPet", item.getObjectId(), 1, pet.getInventory(), null); pet.useEquippableItem(transferedItem, false); } + + pet.getStat().recalculateStats(true); + player.sendPacket(new PetInfo(pet, 1)); + player.sendPacket(new ExPetSkillList(false, pet)); } } } diff --git a/L2J_Mobius_Essence_6.1_BattleChronicle/java/org/l2jmobius/gameserver/network/clientpackets/pet/ExPetUnequipItem.java b/L2J_Mobius_Essence_6.1_BattleChronicle/java/org/l2jmobius/gameserver/network/clientpackets/pet/ExPetUnequipItem.java index 5b4e20afdf..d3e0a44193 100644 --- a/L2J_Mobius_Essence_6.1_BattleChronicle/java/org/l2jmobius/gameserver/network/clientpackets/pet/ExPetUnequipItem.java +++ b/L2J_Mobius_Essence_6.1_BattleChronicle/java/org/l2jmobius/gameserver/network/clientpackets/pet/ExPetUnequipItem.java @@ -15,6 +15,7 @@ import org.l2jmobius.gameserver.network.SystemMessageId; import org.l2jmobius.gameserver.network.clientpackets.IClientIncomingPacket; import org.l2jmobius.gameserver.network.serverpackets.ActionFailed; import org.l2jmobius.gameserver.network.serverpackets.SystemMessage; +import org.l2jmobius.gameserver.network.serverpackets.pet.ExPetSkillList; import org.l2jmobius.gameserver.network.serverpackets.pet.PetInfo; /** @@ -172,8 +173,10 @@ public class ExPetUnequipItem implements IClientIncomingPacket { pet.transferItem("UnequipFromPet", item.getObjectId(), 1, player.getInventory(), player, null); } + pet.getStat().recalculateStats(true); - pet.getOwner().sendPacket(new PetInfo(pet, 1)); + player.sendPacket(new PetInfo(pet, 1)); + player.sendPacket(new ExPetSkillList(false, pet)); } } } diff --git a/L2J_Mobius_Essence_6.2_Vanguard/java/org/l2jmobius/gameserver/model/actor/instance/Pet.java b/L2J_Mobius_Essence_6.2_Vanguard/java/org/l2jmobius/gameserver/model/actor/instance/Pet.java index 94cc2b3fa6..a8b65242de 100644 --- a/L2J_Mobius_Essence_6.2_Vanguard/java/org/l2jmobius/gameserver/model/actor/instance/Pet.java +++ b/L2J_Mobius_Essence_6.2_Vanguard/java/org/l2jmobius/gameserver/model/actor/instance/Pet.java @@ -1680,7 +1680,7 @@ public class Pet extends Summon final PetInventoryUpdate petIU = new PetInventoryUpdate(); petIU.addItems(items); sendInventoryUpdate(petIU); - getStat().recalculateStats(true); + if (abortAttack) { abortAttack(); diff --git a/L2J_Mobius_Essence_6.2_Vanguard/java/org/l2jmobius/gameserver/network/clientpackets/pet/ExPetEquipItem.java b/L2J_Mobius_Essence_6.2_Vanguard/java/org/l2jmobius/gameserver/network/clientpackets/pet/ExPetEquipItem.java index 72f1f9a649..3570857ed1 100644 --- a/L2J_Mobius_Essence_6.2_Vanguard/java/org/l2jmobius/gameserver/network/clientpackets/pet/ExPetEquipItem.java +++ b/L2J_Mobius_Essence_6.2_Vanguard/java/org/l2jmobius/gameserver/network/clientpackets/pet/ExPetEquipItem.java @@ -18,6 +18,8 @@ import org.l2jmobius.gameserver.network.SystemMessageId; import org.l2jmobius.gameserver.network.clientpackets.IClientIncomingPacket; import org.l2jmobius.gameserver.network.serverpackets.ActionFailed; import org.l2jmobius.gameserver.network.serverpackets.SystemMessage; +import org.l2jmobius.gameserver.network.serverpackets.pet.ExPetSkillList; +import org.l2jmobius.gameserver.network.serverpackets.pet.PetInfo; /** * Written by Berezkin Nikolay, on 25.04.2021 @@ -161,6 +163,7 @@ public class ExPetEquipItem implements IClientIncomingPacket return; } } + final Item oldItem = pet.getInventory().getPaperdollItemByItemId((int) item.getTemplate().getBodyPart()); if (oldItem != null) { @@ -189,6 +192,10 @@ public class ExPetEquipItem implements IClientIncomingPacket Item transferedItem = player.transferItem("UnequipFromPet", item.getObjectId(), 1, pet.getInventory(), null); pet.useEquippableItem(transferedItem, false); } + + pet.getStat().recalculateStats(true); + player.sendPacket(new PetInfo(pet, 1)); + player.sendPacket(new ExPetSkillList(false, pet)); } } } diff --git a/L2J_Mobius_Essence_6.2_Vanguard/java/org/l2jmobius/gameserver/network/clientpackets/pet/ExPetUnequipItem.java b/L2J_Mobius_Essence_6.2_Vanguard/java/org/l2jmobius/gameserver/network/clientpackets/pet/ExPetUnequipItem.java index 5b4e20afdf..d3e0a44193 100644 --- a/L2J_Mobius_Essence_6.2_Vanguard/java/org/l2jmobius/gameserver/network/clientpackets/pet/ExPetUnequipItem.java +++ b/L2J_Mobius_Essence_6.2_Vanguard/java/org/l2jmobius/gameserver/network/clientpackets/pet/ExPetUnequipItem.java @@ -15,6 +15,7 @@ import org.l2jmobius.gameserver.network.SystemMessageId; import org.l2jmobius.gameserver.network.clientpackets.IClientIncomingPacket; import org.l2jmobius.gameserver.network.serverpackets.ActionFailed; import org.l2jmobius.gameserver.network.serverpackets.SystemMessage; +import org.l2jmobius.gameserver.network.serverpackets.pet.ExPetSkillList; import org.l2jmobius.gameserver.network.serverpackets.pet.PetInfo; /** @@ -172,8 +173,10 @@ public class ExPetUnequipItem implements IClientIncomingPacket { pet.transferItem("UnequipFromPet", item.getObjectId(), 1, player.getInventory(), player, null); } + pet.getStat().recalculateStats(true); - pet.getOwner().sendPacket(new PetInfo(pet, 1)); + player.sendPacket(new PetInfo(pet, 1)); + player.sendPacket(new ExPetSkillList(false, pet)); } } }