Advertisement
Sarada-L2

Bloquear Class pra não usar Bow Acis 394+

Feb 28th, 2021
385
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.67 KB | None | 0 0
  1. diff --git a/config/CustomMods/ProtectionMods.ini b/config/CustomMods/ProtectionMods.ini
  2. index e0a8097..24f5fbd 100644
  3. --- a/config/CustomMods/ProtectionMods.ini
  4. +++ b/config/CustomMods/ProtectionMods.ini
  5. @@ -75,3 +75,44 @@
  6. RemoveChest = True
  7. RemoveLeg = True
  8.  
  9. +#=============================================================
  10. +# Disable Bow For Class
  11. +#=============================================================
  12. +# Enable or Disable Bow For Class
  13. +# classId className
  14. +# 88 Duelist
  15. +# 89 DreadNought
  16. +# 90 Phoenix Knight
  17. +# 91 Hell Knight
  18. +# 92 Sagittarius
  19. +# 93 Adventurer
  20. +# 94 Archmage
  21. +# 95 Soultaker
  22. +# 96 Arcana Lord
  23. +# 97 Cardinal
  24. +# 98 Hierophant
  25. +# 99 Eva Templar
  26. +# 100 Sword Muse
  27. +# 101 Wind Rider
  28. +# 102 Moonlight Sentinel
  29. +# 103 Mystic Muse
  30. +# 104 Elemental Master
  31. +# 105 Eva Saint
  32. +# 106 Shillien Templar
  33. +# 107 Spectral Dancer
  34. +# 108 Ghost Hunter
  35. +# 109 Ghost Sentinel
  36. +# 110 Storm Screamer
  37. +# 111 Spectral Master
  38. +# 112 Shillen Saint
  39. +# 113 Titan
  40. +# 114 Grand Khauatari
  41. +# 115 Dominator
  42. +# 116 Doomcryer
  43. +# 117 Fortune Seeker
  44. +# 118 Maestro
  45. +
  46. +# e.g. DisableBowForClasses = 89, 90, 91, 92, 102, 109
  47. +AltDisableBow = False
  48. +DisableBowForClasses = 89
  49. +
  50. diff --git a/java/net/sf/l2j/Config.java b/java/net/sf/l2j/Config.java
  51. index 99cc0ee..a47fa13 100644
  52. --- a/java/net/sf/l2j/Config.java
  53. +++ b/java/net/sf/l2j/Config.java
  54. @@ -150,6 +150,9 @@
  55. public static boolean PHX_ENCHANT_WAREHOUSE;
  56. public static String WELCOME_MESSAGE_ENCHANT;
  57. public static int WELCOME_MESSAGE_TIME_ENCHANT;
  58. + public static boolean ALT_DISABLE_BOW_CLASSES;
  59. + public static String DISABLE_BOW_CLASSES_STRING;
  60. + public static ArrayList<Integer> DISABLE_BOW_CLASSES = new ArrayList<>();
  61. // --------------------------------------------------
  62. // Events settings
  63. // --------------------------------------------------
  64. @@ -1135,6 +1138,14 @@
  65. REMOVE_WEAPON = Boolean.parseBoolean(Protection.getProperty("RemoveWeapon", "False"));
  66. REMOVE_CHEST = Boolean.parseBoolean(Protection.getProperty("RemoveChest", "False"));
  67. REMOVE_LEG = Boolean.parseBoolean(Protection.getProperty("RemoveLeg", "False"));
  68. + ALT_DISABLE_BOW_CLASSES = Boolean.parseBoolean(Protection.getProperty("AltDisableBow", "False"));
  69. + DISABLE_BOW_CLASSES_STRING = Protection.getProperty("DisableBowForClasses", "");
  70. + DISABLE_BOW_CLASSES = new ArrayList<>();
  71. + for (String class_id : DISABLE_BOW_CLASSES_STRING.split(","))
  72. + {
  73. + if(!class_id.equals(""))
  74. + DISABLE_BOW_CLASSES.add(Integer.parseInt(class_id));
  75. + }
  76. }
  77.  
  78. private static final void loadOff()
  79. diff --git a/java/net/sf/l2j/gameserver/network/clientpackets/UseItem.java b/java/net/sf/l2j/gameserver/network/clientpackets/UseItem.java
  80. index df7dd43..4f68f25 100644
  81. --- a/java/net/sf/l2j/gameserver/network/clientpackets/UseItem.java
  82. +++ b/java/net/sf/l2j/gameserver/network/clientpackets/UseItem.java
  83. @@ -14,7 +14,9 @@
  84. import net.sf.l2j.gameserver.model.holder.IntIntHolder;
  85. import net.sf.l2j.gameserver.model.item.instance.ItemInstance;
  86. import net.sf.l2j.gameserver.model.item.kind.Item;
  87. +import net.sf.l2j.gameserver.model.item.kind.Weapon;
  88. import net.sf.l2j.gameserver.network.SystemMessageId;
  89. +import net.sf.l2j.gameserver.network.serverpackets.ActionFailed;
  90. import net.sf.l2j.gameserver.network.serverpackets.ExShowScreenMessage;
  91. import net.sf.l2j.gameserver.network.serverpackets.ItemList;
  92. import net.sf.l2j.gameserver.network.serverpackets.PetItemList;
  93. @@ -69,6 +71,17 @@
  94.  
  95. if (player.isAlikeDead() || player.isStunned() || player.isSleeping() || player.isParalyzed() || player.isAfraid())
  96. return;
  97. + if (Config.ALT_DISABLE_BOW_CLASSES)
  98. + {
  99. + if(item.getItem() instanceof Weapon && ((Weapon)item.getItem()).getItemType() == WeaponType.BOW)
  100. + {
  101. + if(Config.DISABLE_BOW_CLASSES.contains(player.getClassId().getId())){
  102. + player.sendMessage("This item can not be equipped by your class");
  103. + player.sendPacket(ActionFailed.STATIC_PACKET);
  104. + return;
  105. + }
  106. + }
  107. + }
  108. if (Config.ENABLE_ANTI_HEAVY && item.getItemType() == ArmorType.HEAVY) {
  109. if (player.getClassId().getId() == 48 || player.getClassId().getId() == 114 || player.getClassId().getId() == 109
  110. || player.getClassId().getId() == 37 || player.getClassId().getId() == 108 || player.getClassId().getId() == 36
  111.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement