From e056455ee191cf2b26ee01e795877f7c2669242b Mon Sep 17 00:00:00 2001 From: MobiusDevelopment <8391001+MobiusDevelopment@users.noreply.github.com> Date: Fri, 31 Dec 2021 22:24:31 +0000 Subject: [PATCH] Prevent equip shields for Death Knight players. --- .../gameserver/network/clientpackets/UseItem.java | 11 +++++++++++ .../gameserver/network/clientpackets/UseItem.java | 11 +++++++++++ .../gameserver/network/clientpackets/UseItem.java | 10 ++++++++++ .../gameserver/network/clientpackets/UseItem.java | 10 ++++++++++ 4 files changed, 42 insertions(+) diff --git a/L2J_Mobius_10.0_MasterClass/java/org/l2jmobius/gameserver/network/clientpackets/UseItem.java b/L2J_Mobius_10.0_MasterClass/java/org/l2jmobius/gameserver/network/clientpackets/UseItem.java index 500f3545b4..1a76eb6e6d 100644 --- a/L2J_Mobius_10.0_MasterClass/java/org/l2jmobius/gameserver/network/clientpackets/UseItem.java +++ b/L2J_Mobius_10.0_MasterClass/java/org/l2jmobius/gameserver/network/clientpackets/UseItem.java @@ -26,7 +26,9 @@ import org.l2jmobius.commons.util.Chronos; import org.l2jmobius.gameserver.ai.CtrlEvent; import org.l2jmobius.gameserver.ai.CtrlIntention; import org.l2jmobius.gameserver.ai.NextAction; +import org.l2jmobius.gameserver.data.xml.CategoryData; import org.l2jmobius.gameserver.data.xml.VariationData; +import org.l2jmobius.gameserver.enums.CategoryType; import org.l2jmobius.gameserver.enums.ItemSkillType; import org.l2jmobius.gameserver.enums.PrivateStoreType; import org.l2jmobius.gameserver.handler.AdminCommandHandler; @@ -42,6 +44,7 @@ import org.l2jmobius.gameserver.model.item.EtcItem; import org.l2jmobius.gameserver.model.item.ItemTemplate; import org.l2jmobius.gameserver.model.item.instance.Item; import org.l2jmobius.gameserver.model.item.type.ActionType; +import org.l2jmobius.gameserver.model.item.type.ArmorType; import org.l2jmobius.gameserver.model.zone.ZoneId; import org.l2jmobius.gameserver.network.GameClient; import org.l2jmobius.gameserver.network.PacketLogger; @@ -205,6 +208,14 @@ public class UseItem implements IClientIncomingPacket player.sendPacket(SystemMessageId.YOU_DO_NOT_MEET_THE_REQUIRED_CONDITION_TO_EQUIP_THAT_ITEM); return; } + + // Prevent equip shields for Death Knight players. + if (item.isArmor() && (item.getArmorItem().getItemType() == ArmorType.SHIELD) && CategoryData.getInstance().isInCategory(CategoryType.DEATH_KNIGHT_ALL_CLASS, player.getClassId().getId())) + { + player.sendPacket(SystemMessageId.YOU_DO_NOT_MEET_THE_REQUIRED_CONDITION_TO_EQUIP_THAT_ITEM); + return; + } + // Prevent players to equip weapon while wearing combat flag // Don't allow weapon/shield equipment if a cursed weapon is equipped. if ((item.getItem().getBodyPart() == ItemTemplate.SLOT_LR_HAND) || (item.getItem().getBodyPart() == ItemTemplate.SLOT_L_HAND) || (item.getItem().getBodyPart() == ItemTemplate.SLOT_R_HAND)) diff --git a/L2J_Mobius_Essence_4.2_DwellingOfSpirits/java/org/l2jmobius/gameserver/network/clientpackets/UseItem.java b/L2J_Mobius_Essence_4.2_DwellingOfSpirits/java/org/l2jmobius/gameserver/network/clientpackets/UseItem.java index 96f0d966ac..a4c6f92f3e 100644 --- a/L2J_Mobius_Essence_4.2_DwellingOfSpirits/java/org/l2jmobius/gameserver/network/clientpackets/UseItem.java +++ b/L2J_Mobius_Essence_4.2_DwellingOfSpirits/java/org/l2jmobius/gameserver/network/clientpackets/UseItem.java @@ -26,7 +26,9 @@ import org.l2jmobius.commons.util.Chronos; import org.l2jmobius.gameserver.ai.CtrlEvent; import org.l2jmobius.gameserver.ai.CtrlIntention; import org.l2jmobius.gameserver.ai.NextAction; +import org.l2jmobius.gameserver.data.xml.CategoryData; import org.l2jmobius.gameserver.data.xml.VariationData; +import org.l2jmobius.gameserver.enums.CategoryType; import org.l2jmobius.gameserver.enums.ItemSkillType; import org.l2jmobius.gameserver.enums.PrivateStoreType; import org.l2jmobius.gameserver.handler.AdminCommandHandler; @@ -42,6 +44,7 @@ import org.l2jmobius.gameserver.model.item.EtcItem; import org.l2jmobius.gameserver.model.item.ItemTemplate; import org.l2jmobius.gameserver.model.item.instance.Item; import org.l2jmobius.gameserver.model.item.type.ActionType; +import org.l2jmobius.gameserver.model.item.type.ArmorType; import org.l2jmobius.gameserver.model.zone.ZoneId; import org.l2jmobius.gameserver.network.GameClient; import org.l2jmobius.gameserver.network.PacketLogger; @@ -205,6 +208,14 @@ public class UseItem implements IClientIncomingPacket player.sendPacket(SystemMessageId.YOU_DO_NOT_MEET_THE_REQUIRED_CONDITION_TO_EQUIP_THAT_ITEM); return; } + + // Prevent equip shields for Death Knight players. + if (item.isArmor() && (item.getArmorItem().getItemType() == ArmorType.SHIELD) && CategoryData.getInstance().isInCategory(CategoryType.DEATH_KNIGHT_ALL_CLASS, player.getClassId().getId())) + { + player.sendPacket(SystemMessageId.YOU_DO_NOT_MEET_THE_REQUIRED_CONDITION_TO_EQUIP_THAT_ITEM); + return; + } + // Prevent players to equip weapon while wearing combat flag // Don't allow weapon/shield equipment if a cursed weapon is equipped. if ((item.getItem().getBodyPart() == ItemTemplate.SLOT_LR_HAND) || (item.getItem().getBodyPart() == ItemTemplate.SLOT_L_HAND) || (item.getItem().getBodyPart() == ItemTemplate.SLOT_R_HAND)) diff --git a/L2J_Mobius_Essence_5.2_FrostLord/java/org/l2jmobius/gameserver/network/clientpackets/UseItem.java b/L2J_Mobius_Essence_5.2_FrostLord/java/org/l2jmobius/gameserver/network/clientpackets/UseItem.java index 4b9b76d898..99dc9a7d88 100644 --- a/L2J_Mobius_Essence_5.2_FrostLord/java/org/l2jmobius/gameserver/network/clientpackets/UseItem.java +++ b/L2J_Mobius_Essence_5.2_FrostLord/java/org/l2jmobius/gameserver/network/clientpackets/UseItem.java @@ -26,7 +26,9 @@ import org.l2jmobius.commons.util.Chronos; import org.l2jmobius.gameserver.ai.CtrlEvent; import org.l2jmobius.gameserver.ai.CtrlIntention; import org.l2jmobius.gameserver.ai.NextAction; +import org.l2jmobius.gameserver.data.xml.CategoryData; import org.l2jmobius.gameserver.data.xml.VariationData; +import org.l2jmobius.gameserver.enums.CategoryType; import org.l2jmobius.gameserver.enums.ItemSkillType; import org.l2jmobius.gameserver.enums.PrivateStoreType; import org.l2jmobius.gameserver.enums.Race; @@ -43,6 +45,7 @@ import org.l2jmobius.gameserver.model.item.EtcItem; import org.l2jmobius.gameserver.model.item.ItemTemplate; import org.l2jmobius.gameserver.model.item.instance.Item; import org.l2jmobius.gameserver.model.item.type.ActionType; +import org.l2jmobius.gameserver.model.item.type.ArmorType; import org.l2jmobius.gameserver.model.item.type.WeaponType; import org.l2jmobius.gameserver.model.zone.ZoneId; import org.l2jmobius.gameserver.network.GameClient; @@ -208,6 +211,13 @@ public class UseItem implements IClientIncomingPacket return; } + // Prevent equip shields for Death Knight players. + if (item.isArmor() && (item.getArmorItem().getItemType() == ArmorType.SHIELD) && CategoryData.getInstance().isInCategory(CategoryType.DEATH_KNIGHT_ALL_CLASS, player.getClassId().getId())) + { + player.sendPacket(SystemMessageId.YOU_DO_NOT_MEET_THE_REQUIRED_CONDITION_TO_EQUIP_THAT_ITEM); + return; + } + // Prevent equip pistols for non Sylph players. if (item.isWeapon() && (item.getWeaponItem().getItemType() == WeaponType.PISTOLS) && (player.getRace() != Race.SYLPH)) { diff --git a/L2J_Mobius_Essence_6.0_BattleChronicle/java/org/l2jmobius/gameserver/network/clientpackets/UseItem.java b/L2J_Mobius_Essence_6.0_BattleChronicle/java/org/l2jmobius/gameserver/network/clientpackets/UseItem.java index 4b9b76d898..99dc9a7d88 100644 --- a/L2J_Mobius_Essence_6.0_BattleChronicle/java/org/l2jmobius/gameserver/network/clientpackets/UseItem.java +++ b/L2J_Mobius_Essence_6.0_BattleChronicle/java/org/l2jmobius/gameserver/network/clientpackets/UseItem.java @@ -26,7 +26,9 @@ import org.l2jmobius.commons.util.Chronos; import org.l2jmobius.gameserver.ai.CtrlEvent; import org.l2jmobius.gameserver.ai.CtrlIntention; import org.l2jmobius.gameserver.ai.NextAction; +import org.l2jmobius.gameserver.data.xml.CategoryData; import org.l2jmobius.gameserver.data.xml.VariationData; +import org.l2jmobius.gameserver.enums.CategoryType; import org.l2jmobius.gameserver.enums.ItemSkillType; import org.l2jmobius.gameserver.enums.PrivateStoreType; import org.l2jmobius.gameserver.enums.Race; @@ -43,6 +45,7 @@ import org.l2jmobius.gameserver.model.item.EtcItem; import org.l2jmobius.gameserver.model.item.ItemTemplate; import org.l2jmobius.gameserver.model.item.instance.Item; import org.l2jmobius.gameserver.model.item.type.ActionType; +import org.l2jmobius.gameserver.model.item.type.ArmorType; import org.l2jmobius.gameserver.model.item.type.WeaponType; import org.l2jmobius.gameserver.model.zone.ZoneId; import org.l2jmobius.gameserver.network.GameClient; @@ -208,6 +211,13 @@ public class UseItem implements IClientIncomingPacket return; } + // Prevent equip shields for Death Knight players. + if (item.isArmor() && (item.getArmorItem().getItemType() == ArmorType.SHIELD) && CategoryData.getInstance().isInCategory(CategoryType.DEATH_KNIGHT_ALL_CLASS, player.getClassId().getId())) + { + player.sendPacket(SystemMessageId.YOU_DO_NOT_MEET_THE_REQUIRED_CONDITION_TO_EQUIP_THAT_ITEM); + return; + } + // Prevent equip pistols for non Sylph players. if (item.isWeapon() && (item.getWeaponItem().getItemType() == WeaponType.PISTOLS) && (player.getRace() != Race.SYLPH)) {