Recalculate stats and send infos when pet equips items.

This commit is contained in:
MobiusDevelopment
2022-07-26 08:41:04 +00:00
parent 1854537ebf
commit fdc3975bf7
12 changed files with 48 additions and 8 deletions

View File

@@ -1680,7 +1680,7 @@ public class Pet extends Summon
final PetInventoryUpdate petIU = new PetInventoryUpdate(); final PetInventoryUpdate petIU = new PetInventoryUpdate();
petIU.addItems(items); petIU.addItems(items);
sendInventoryUpdate(petIU); sendInventoryUpdate(petIU);
getStat().recalculateStats(true);
if (abortAttack) if (abortAttack)
{ {
abortAttack(); abortAttack();

View File

@@ -18,6 +18,8 @@ import org.l2jmobius.gameserver.network.SystemMessageId;
import org.l2jmobius.gameserver.network.clientpackets.IClientIncomingPacket; import org.l2jmobius.gameserver.network.clientpackets.IClientIncomingPacket;
import org.l2jmobius.gameserver.network.serverpackets.ActionFailed; import org.l2jmobius.gameserver.network.serverpackets.ActionFailed;
import org.l2jmobius.gameserver.network.serverpackets.SystemMessage; 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 * Written by Berezkin Nikolay, on 25.04.2021
@@ -161,6 +163,7 @@ public class ExPetEquipItem implements IClientIncomingPacket
return; return;
} }
} }
final Item oldItem = pet.getInventory().getPaperdollItemByItemId((int) item.getTemplate().getBodyPart()); final Item oldItem = pet.getInventory().getPaperdollItemByItemId((int) item.getTemplate().getBodyPart());
if (oldItem != null) if (oldItem != null)
{ {
@@ -189,6 +192,10 @@ public class ExPetEquipItem implements IClientIncomingPacket
Item transferedItem = player.transferItem("UnequipFromPet", item.getObjectId(), 1, pet.getInventory(), null); Item transferedItem = player.transferItem("UnequipFromPet", item.getObjectId(), 1, pet.getInventory(), null);
pet.useEquippableItem(transferedItem, false); pet.useEquippableItem(transferedItem, false);
} }
pet.getStat().recalculateStats(true);
player.sendPacket(new PetInfo(pet, 1));
player.sendPacket(new ExPetSkillList(false, pet));
} }
} }
} }

View File

@@ -15,6 +15,7 @@ import org.l2jmobius.gameserver.network.SystemMessageId;
import org.l2jmobius.gameserver.network.clientpackets.IClientIncomingPacket; import org.l2jmobius.gameserver.network.clientpackets.IClientIncomingPacket;
import org.l2jmobius.gameserver.network.serverpackets.ActionFailed; import org.l2jmobius.gameserver.network.serverpackets.ActionFailed;
import org.l2jmobius.gameserver.network.serverpackets.SystemMessage; import org.l2jmobius.gameserver.network.serverpackets.SystemMessage;
import org.l2jmobius.gameserver.network.serverpackets.pet.ExPetSkillList;
import org.l2jmobius.gameserver.network.serverpackets.pet.PetInfo; 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.transferItem("UnequipFromPet", item.getObjectId(), 1, player.getInventory(), player, null);
} }
pet.getStat().recalculateStats(true); pet.getStat().recalculateStats(true);
pet.getOwner().sendPacket(new PetInfo(pet, 1)); player.sendPacket(new PetInfo(pet, 1));
player.sendPacket(new ExPetSkillList(false, pet));
} }
} }
} }

View File

@@ -1680,7 +1680,7 @@ public class Pet extends Summon
final PetInventoryUpdate petIU = new PetInventoryUpdate(); final PetInventoryUpdate petIU = new PetInventoryUpdate();
petIU.addItems(items); petIU.addItems(items);
sendInventoryUpdate(petIU); sendInventoryUpdate(petIU);
getStat().recalculateStats(true);
if (abortAttack) if (abortAttack)
{ {
abortAttack(); abortAttack();

View File

@@ -18,6 +18,8 @@ import org.l2jmobius.gameserver.network.SystemMessageId;
import org.l2jmobius.gameserver.network.clientpackets.IClientIncomingPacket; import org.l2jmobius.gameserver.network.clientpackets.IClientIncomingPacket;
import org.l2jmobius.gameserver.network.serverpackets.ActionFailed; import org.l2jmobius.gameserver.network.serverpackets.ActionFailed;
import org.l2jmobius.gameserver.network.serverpackets.SystemMessage; 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 * Written by Berezkin Nikolay, on 25.04.2021
@@ -161,6 +163,7 @@ public class ExPetEquipItem implements IClientIncomingPacket
return; return;
} }
} }
final Item oldItem = pet.getInventory().getPaperdollItemByItemId((int) item.getTemplate().getBodyPart()); final Item oldItem = pet.getInventory().getPaperdollItemByItemId((int) item.getTemplate().getBodyPart());
if (oldItem != null) if (oldItem != null)
{ {
@@ -189,6 +192,10 @@ public class ExPetEquipItem implements IClientIncomingPacket
Item transferedItem = player.transferItem("UnequipFromPet", item.getObjectId(), 1, pet.getInventory(), null); Item transferedItem = player.transferItem("UnequipFromPet", item.getObjectId(), 1, pet.getInventory(), null);
pet.useEquippableItem(transferedItem, false); pet.useEquippableItem(transferedItem, false);
} }
pet.getStat().recalculateStats(true);
player.sendPacket(new PetInfo(pet, 1));
player.sendPacket(new ExPetSkillList(false, pet));
} }
} }
} }

View File

@@ -15,6 +15,7 @@ import org.l2jmobius.gameserver.network.SystemMessageId;
import org.l2jmobius.gameserver.network.clientpackets.IClientIncomingPacket; import org.l2jmobius.gameserver.network.clientpackets.IClientIncomingPacket;
import org.l2jmobius.gameserver.network.serverpackets.ActionFailed; import org.l2jmobius.gameserver.network.serverpackets.ActionFailed;
import org.l2jmobius.gameserver.network.serverpackets.SystemMessage; import org.l2jmobius.gameserver.network.serverpackets.SystemMessage;
import org.l2jmobius.gameserver.network.serverpackets.pet.ExPetSkillList;
import org.l2jmobius.gameserver.network.serverpackets.pet.PetInfo; 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.transferItem("UnequipFromPet", item.getObjectId(), 1, player.getInventory(), player, null);
} }
pet.getStat().recalculateStats(true); pet.getStat().recalculateStats(true);
pet.getOwner().sendPacket(new PetInfo(pet, 1)); player.sendPacket(new PetInfo(pet, 1));
player.sendPacket(new ExPetSkillList(false, pet));
} }
} }
} }

View File

@@ -1680,7 +1680,7 @@ public class Pet extends Summon
final PetInventoryUpdate petIU = new PetInventoryUpdate(); final PetInventoryUpdate petIU = new PetInventoryUpdate();
petIU.addItems(items); petIU.addItems(items);
sendInventoryUpdate(petIU); sendInventoryUpdate(petIU);
getStat().recalculateStats(true);
if (abortAttack) if (abortAttack)
{ {
abortAttack(); abortAttack();

View File

@@ -18,6 +18,8 @@ import org.l2jmobius.gameserver.network.SystemMessageId;
import org.l2jmobius.gameserver.network.clientpackets.IClientIncomingPacket; import org.l2jmobius.gameserver.network.clientpackets.IClientIncomingPacket;
import org.l2jmobius.gameserver.network.serverpackets.ActionFailed; import org.l2jmobius.gameserver.network.serverpackets.ActionFailed;
import org.l2jmobius.gameserver.network.serverpackets.SystemMessage; 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 * Written by Berezkin Nikolay, on 25.04.2021
@@ -161,6 +163,7 @@ public class ExPetEquipItem implements IClientIncomingPacket
return; return;
} }
} }
final Item oldItem = pet.getInventory().getPaperdollItemByItemId((int) item.getTemplate().getBodyPart()); final Item oldItem = pet.getInventory().getPaperdollItemByItemId((int) item.getTemplate().getBodyPart());
if (oldItem != null) if (oldItem != null)
{ {
@@ -189,6 +192,10 @@ public class ExPetEquipItem implements IClientIncomingPacket
Item transferedItem = player.transferItem("UnequipFromPet", item.getObjectId(), 1, pet.getInventory(), null); Item transferedItem = player.transferItem("UnequipFromPet", item.getObjectId(), 1, pet.getInventory(), null);
pet.useEquippableItem(transferedItem, false); pet.useEquippableItem(transferedItem, false);
} }
pet.getStat().recalculateStats(true);
player.sendPacket(new PetInfo(pet, 1));
player.sendPacket(new ExPetSkillList(false, pet));
} }
} }
} }

View File

@@ -15,6 +15,7 @@ import org.l2jmobius.gameserver.network.SystemMessageId;
import org.l2jmobius.gameserver.network.clientpackets.IClientIncomingPacket; import org.l2jmobius.gameserver.network.clientpackets.IClientIncomingPacket;
import org.l2jmobius.gameserver.network.serverpackets.ActionFailed; import org.l2jmobius.gameserver.network.serverpackets.ActionFailed;
import org.l2jmobius.gameserver.network.serverpackets.SystemMessage; import org.l2jmobius.gameserver.network.serverpackets.SystemMessage;
import org.l2jmobius.gameserver.network.serverpackets.pet.ExPetSkillList;
import org.l2jmobius.gameserver.network.serverpackets.pet.PetInfo; 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.transferItem("UnequipFromPet", item.getObjectId(), 1, player.getInventory(), player, null);
} }
pet.getStat().recalculateStats(true); pet.getStat().recalculateStats(true);
pet.getOwner().sendPacket(new PetInfo(pet, 1)); player.sendPacket(new PetInfo(pet, 1));
player.sendPacket(new ExPetSkillList(false, pet));
} }
} }
} }

View File

@@ -1680,7 +1680,7 @@ public class Pet extends Summon
final PetInventoryUpdate petIU = new PetInventoryUpdate(); final PetInventoryUpdate petIU = new PetInventoryUpdate();
petIU.addItems(items); petIU.addItems(items);
sendInventoryUpdate(petIU); sendInventoryUpdate(petIU);
getStat().recalculateStats(true);
if (abortAttack) if (abortAttack)
{ {
abortAttack(); abortAttack();

View File

@@ -18,6 +18,8 @@ import org.l2jmobius.gameserver.network.SystemMessageId;
import org.l2jmobius.gameserver.network.clientpackets.IClientIncomingPacket; import org.l2jmobius.gameserver.network.clientpackets.IClientIncomingPacket;
import org.l2jmobius.gameserver.network.serverpackets.ActionFailed; import org.l2jmobius.gameserver.network.serverpackets.ActionFailed;
import org.l2jmobius.gameserver.network.serverpackets.SystemMessage; 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 * Written by Berezkin Nikolay, on 25.04.2021
@@ -161,6 +163,7 @@ public class ExPetEquipItem implements IClientIncomingPacket
return; return;
} }
} }
final Item oldItem = pet.getInventory().getPaperdollItemByItemId((int) item.getTemplate().getBodyPart()); final Item oldItem = pet.getInventory().getPaperdollItemByItemId((int) item.getTemplate().getBodyPart());
if (oldItem != null) if (oldItem != null)
{ {
@@ -189,6 +192,10 @@ public class ExPetEquipItem implements IClientIncomingPacket
Item transferedItem = player.transferItem("UnequipFromPet", item.getObjectId(), 1, pet.getInventory(), null); Item transferedItem = player.transferItem("UnequipFromPet", item.getObjectId(), 1, pet.getInventory(), null);
pet.useEquippableItem(transferedItem, false); pet.useEquippableItem(transferedItem, false);
} }
pet.getStat().recalculateStats(true);
player.sendPacket(new PetInfo(pet, 1));
player.sendPacket(new ExPetSkillList(false, pet));
} }
} }
} }

View File

@@ -15,6 +15,7 @@ import org.l2jmobius.gameserver.network.SystemMessageId;
import org.l2jmobius.gameserver.network.clientpackets.IClientIncomingPacket; import org.l2jmobius.gameserver.network.clientpackets.IClientIncomingPacket;
import org.l2jmobius.gameserver.network.serverpackets.ActionFailed; import org.l2jmobius.gameserver.network.serverpackets.ActionFailed;
import org.l2jmobius.gameserver.network.serverpackets.SystemMessage; import org.l2jmobius.gameserver.network.serverpackets.SystemMessage;
import org.l2jmobius.gameserver.network.serverpackets.pet.ExPetSkillList;
import org.l2jmobius.gameserver.network.serverpackets.pet.PetInfo; 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.transferItem("UnequipFromPet", item.getObjectId(), 1, player.getInventory(), player, null);
} }
pet.getStat().recalculateStats(true); pet.getStat().recalculateStats(true);
pet.getOwner().sendPacket(new PetInfo(pet, 1)); player.sendPacket(new PetInfo(pet, 1));
player.sendPacket(new ExPetSkillList(false, pet));
} }
} }
} }