(http://i.imgur.com/f88jq.jpg)
CitarArmor:
### Eclipse Workspace Patch 1.0
#P l2jcustom
Index: trunk/L2J_CORE/java/net/sf/l2j/Config.java
===================================================================
--- trunk/L2J_CORE/java/net/sf/l2j/Config.java (revision 8)
+++ trunk/L2J_CORE/java/net/sf/l2j/Config.java (working copy)
@@ -837,6 +837,12 @@
public static boolean OLLY_GRADE_A;
/** define L2Class */
+ public static boolean ALLOW_LIGHT_USE_HEAVY;
+ public static String NOTALLOWCLASS;
+ public static List<Integer> NOTALLOWEDUSEHEAVY;
+ public static boolean ALLOW_HEAVY_USE_LIGHT;
+ public static String NOTALLOWCLASSE;
+ public static List<Integer> NOTALLOWEDUSELIGHT;
public static boolean ALT_DISABLE_BOW_CLASSES;
public static String DISABLE_BOW_CLASSES_STRING;
public static FastList<Integer> DISABLE_BOW_CLASSES = new FastList<Integer>();
@@ -1926,6 +1932,21 @@
ClassSettings.load(is);
is.close();
+
+ ALLOW_HEAVY_USE_LIGHT = Boolean.parseBoolean(ClassSettings.getProperty("AllowHeavyUseLight", "False"));
+ NOTALLOWCLASSE = ClassSettings.getProperty("NotAllowedUseLight", "");
+ NOTALLOWEDUSELIGHT = new FastList<Integer>();
+ for(String classId : NOTALLOWCLASSE.split(","))
+ {
+ NOTALLOWEDUSELIGHT.add(Integer.parseInt(classId));
+ }
+ ALLOW_LIGHT_USE_HEAVY = Boolean.parseBoolean(ClassSettings.getProperty("AllowLightUseHeavy", "False"));
+ NOTALLOWCLASS = ClassSettings.getProperty("NotAllowedUseHeavy", "");
+ NOTALLOWEDUSEHEAVY = new FastList<Integer>();
+ for(String classId : NOTALLOWCLASS.split(","))
+ {
+ NOTALLOWEDUSEHEAVY.add(Integer.parseInt(classId));
+ }
ALT_DISABLE_BOW_CLASSES = Boolean.parseBoolean(ClassSettings.getProperty("AltDisableBow", "False"));
DISABLE_BOW_CLASSES_STRING = ClassSettings.getProperty("DisableBowForClasses", "");
DISABLE_BOW_CLASSES = new FastList<Integer>();
Index: trunk/L2J_CORE/java/config/class.ini
===================================================================
--- trunk/L2J_CORE/java/config/class.ini (revision 7)
+++ trunk/L2J_CORE/java/config/class.ini (working copy)
@@ -62,3 +62,24 @@
# e.g. DisableBigSwordForClasses = 89, 90, 91, 92, 102, 109
AltDisableBigSword = False
DisableBigSwordForClasses = 100,101
+
+# --------------------------------
+# Equipment Restriction -
+# --------------------------------
+# Light Equipment Restriction
+# Retail = True
+AllowLightUseHeavy = True
+
+# Light Equipment Restriction Class id
+# Restriction All Class Light
+# Retail = 8,9,23,24,36,37,92,93,101,102,108,109
+NotAllowedUseHeavy = 8,9,23,24,36,37,92,93,101,102,108,109
+
+# Heavy Equipment Restriction
+# Retail = True
+AllowHeavyUseLight = True
+
+# Heavy Equipment Restriction Class id
+# Restriction All Class Heavy
+# Retail = 3,4,5,6,19,20,21,32,33,34,90,91,99,100,106,107,112
+NotAllowedUseLight = 3,4,5,6,19,20,21,32,33,34,90,91,99,100,106,107,112
Index: trunk/L2J_CORE/java/net/sf/l2j/gameserver/GameServer.java
Index: trunk/L2J_CORE/java/net/sf/l2j/gameserver/clientpackets/UseItem.java
===================================================================
--- trunk/L2J_CORE/java/net/sf/l2j/gameserver/clientpackets/UseItem.java (revision 7)
+++ trunk/L2J_CORE/java/net/sf/l2j/gameserver/clientpackets/UseItem.java (working copy)
@@ -35,6 +35,7 @@
import net.sf.l2j.gameserver.serverpackets.ItemList;
import net.sf.l2j.gameserver.serverpackets.ShowCalculator;
import net.sf.l2j.gameserver.serverpackets.SystemMessage;
+import net.sf.l2j.gameserver.templates.L2ArmorType;
import net.sf.l2j.gameserver.templates.L2Item;
import net.sf.l2j.gameserver.templates.L2Weapon;
import net.sf.l2j.gameserver.templates.L2WeaponType;
@@ -221,7 +222,28 @@
{
return;
}
+ if (!Config.ALLOW_HEAVY_USE_LIGHT)
+ if (Config.NOTALLOWEDUSELIGHT.contains( activeChar.getClassId().getId()))
+ {
+ if (item.getItemType() == L2ArmorType.LIGHT)
+ {
+ CreatureSay cs = new CreatureSay(0, Say2.PARTYROOM_COMMANDER, "Armor Protection System", " " +activeChar.getName()+ " esta classe nao usa equipes light!");
+ activeChar.sendPacket(cs);
+ return;
+ }
+ }
+ if (!Config.ALLOW_LIGHT_USE_HEAVY)
+ if (Config.NOTALLOWEDUSEHEAVY.contains( activeChar.getClassId().getId()))
+ {
+ if (item.getItemType() == L2ArmorType.HEAVY)
+ {
+ CreatureSay cs = new CreatureSay(0, Say2.PARTYROOM_COMMANDER, "Armor Protection System", " " +activeChar.getName()+ " esta classe nao usa equipes heavy!");
+ activeChar.sendPacket(cs);
+ return;
+ }
+ }
+
// Don't allow weapon/shield hero equipment during Olympiads
if (activeChar.isInOlympiadMode()
&& (
CitarWeapon:
Index: UseItem.java
===================================================================
--- UseItem.java (revision 0)
+++ UseItem.java (working copy)
+import net.sf.l2j.gameserver.serverpackets.ActionFailed;
+import net.sf.l2j.gameserver.serverpackets.CreatureSay;
import net.sf.l2j.gameserver.serverpackets.InventoryUpdate;
import net.sf.l2j.gameserver.serverpackets.ItemList;
import net.sf.l2j.gameserver.serverpackets.ShowCalculator;
import net.sf.l2j.gameserver.serverpackets.SystemMessage;
import net.sf.l2j.gameserver.templates.L2ArmorType;
import net.sf.l2j.gameserver.templates.L2Item;
import net.sf.l2j.gameserver.templates.L2Weapon;
+import net.sf.l2j.gameserver.templates.L2WeaponType;
@@
int tempBodyPart = item.getItem().getBodyPart();
L2ItemInstance tempItem = activeChar.getInventory().getPaperdollItemByL2ItemId(tempBodyPart);
+
+ if (Config.ALT_DISABLE_BOW_CLASSES)
+ {
+ if(item.getItem() instanceof L2Weapon && ((L2Weapon)item.getItem()).getItemType() == L2WeaponType.BOW)
+ {
+ if(Config.DISABLE_BOW_CLASSES.contains(activeChar.getClassId().getId())){
+ CreatureSay cs = new CreatureSay(0, Say2.PARTYROOM_COMMANDER, "Weapon Protection System", " " +activeChar.getName()+ " this item can not be equipped by your class");
+ activeChar.sendPacket(cs);
+ activeChar.sendPacket(ActionFailed.STATIC_PACKET);
+ return;
+ }
+ }
+ }
+
+ if (Config.ALT_DISABLE_DAGGER_CLASSES)
+ {
+ if(item.getItem() instanceof L2Weapon && ((L2Weapon)item.getItem()).getItemType() == L2WeaponType.DAGGER)
+ {
+ if(Config.DISABLE_DAGGER_CLASSES.contains(activeChar.getClassId().getId())){
+ CreatureSay cs = new CreatureSay(0, Say2.PARTYROOM_COMMANDER, "Weapon Protection System", " " +activeChar.getName()+ " this item can not be equipped by your class");
+ activeChar.sendPacket(cs);
+ activeChar.sendPacket(ActionFailed.STATIC_PACKET);
+ return;
+ }
+ }
+ }
+
+ if (Config.ALT_DISABLE_SWORD_CLASSES)
+ {
+ if(item.getItem() instanceof L2Weapon && ((L2Weapon)item.getItem()).getItemType() == L2WeaponType.SWORD)
+ {
+ if(Config.DISABLE_SWORD_CLASSES.contains(activeChar.getClassId().getId())){
+ CreatureSay cs = new CreatureSay(0, Say2.PARTYROOM_COMMANDER, "Weapon Protection System", " " +activeChar.getName()+ " this item can not be equipped by your class");
+ activeChar.sendPacket(cs);
+ activeChar.sendPacket(ActionFailed.STATIC_PACKET);
+ return;
+ }
+ }
+ }
+
+ if (Config.ALT_DISABLE_BLUNT_CLASSES)
+ {
+ if(item.getItem() instanceof L2Weapon && ((L2Weapon)item.getItem()).getItemType() == L2WeaponType.BLUNT)
+ {
+ if(Config.DISABLE_BLUNT_CLASSES.contains(activeChar.getClassId().getId())){
+ CreatureSay cs = new CreatureSay(0, Say2.PARTYROOM_COMMANDER, "Weapon Protection System", " " +activeChar.getName()+ " this item can not be equipped by your class");
+ activeChar.sendPacket(cs);
+ activeChar.sendPacket(ActionFailed.STATIC_PACKET);
+ return;
+ }
+ }
+ }
+
+ if (Config.ALT_DISABLE_DUAL_CLASSES)
+ {
+ if(item.getItem() instanceof L2Weapon && ((L2Weapon)item.getItem()).getItemType() == L2WeaponType.DUAL)
+ {
+ if(Config.DISABLE_DUAL_CLASSES.contains(activeChar.getClassId().getId())){
+ CreatureSay cs = new CreatureSay(0, Say2.PARTYROOM_COMMANDER, "Weapon Protection System", " " +activeChar.getName()+ " this item can not be equipped by your class");
+ activeChar.sendPacket(cs);
+ activeChar.sendPacket(ActionFailed.STATIC_PACKET);
+ return;
+ }
+ }
+ }
+
+ if (Config.ALT_DISABLE_POLE_CLASSES)
+ {
+ if(item.getItem() instanceof L2Weapon && ((L2Weapon)item.getItem()).getItemType() == L2WeaponType.POLE)
+ {
+ if(Config.DISABLE_POLE_CLASSES.contains(activeChar.getClassId().getId())){
+ CreatureSay cs = new CreatureSay(0, Say2.PARTYROOM_COMMANDER, "Weapon Protection System", " " +activeChar.getName()+ " this item can not be equipped by your class");
+ activeChar.sendPacket(cs);
+ activeChar.sendPacket(ActionFailed.STATIC_PACKET);
+ return;
+ }
+ }
+ }
+
+ if (Config.ALT_DISABLE_BIGSWORD_CLASSES)
+ {
+ if(item.getItem() instanceof L2Weapon && ((L2Weapon)item.getItem()).getItemType() == L2WeaponType.BIGSWORD)
+ {
+ if(Config.DISABLE_BIGSWORD_CLASSES.contains(activeChar.getClassId().getId())){
+ CreatureSay cs = new CreatureSay(0, Say2.PARTYROOM_COMMANDER, "Weapon Protection System", " " +activeChar.getName()+ " this item can not be equipped by your class");
+ activeChar.sendPacket(cs);
+ activeChar.sendPacket(ActionFailed.STATIC_PACKET);
+ return;
+ }
+ }
+ }
// remove augmentation stats for replaced items
// currently weapons only..
if (tempItem != null && tempItem.isAugmented())
Index: Config.java
===================================================================
--- Config.java (revision 0)
+++ Config.java (working copy)
+ public static boolean ALT_DISABLE_BOW_CLASSES;
+ public static String DISABLE_BOW_CLASSES_STRING;
+ public static FastList<Integer> DISABLE_BOW_CLASSES = new FastList<Integer>();
+ public static boolean ALT_DISABLE_DAGGER_CLASSES;
+ public static String DISABLE_DAGGER_CLASSES_STRING;
+ public static FastList<Integer> DISABLE_DAGGER_CLASSES = new FastList<Integer>();
+ public static boolean ALT_DISABLE_SWORD_CLASSES;
+ public static String DISABLE_SWORD_CLASSES_STRING;
+ public static FastList<Integer> DISABLE_SWORD_CLASSES = new FastList<Integer>();
+ public static boolean ALT_DISABLE_BLUNT_CLASSES;
+ public static String DISABLE_BLUNT_CLASSES_STRING;
+ public static FastList<Integer> DISABLE_BLUNT_CLASSES = new FastList<Integer>();
+ public static boolean ALT_DISABLE_DUAL_CLASSES;
+ public static String DISABLE_DUAL_CLASSES_STRING;
+ public static FastList<Integer> DISABLE_DUAL_CLASSES = new FastList<Integer>();
+ public static boolean ALT_DISABLE_POLE_CLASSES;
+ public static String DISABLE_POLE_CLASSES_STRING;
+ public static FastList<Integer> DISABLE_POLE_CLASSES = new FastList<Integer>();
+ public static boolean ALT_DISABLE_BIGSWORD_CLASSES;
+ public static String DISABLE_BIGSWORD_CLASSES_STRING;
+ public static FastList<Integer> DISABLE_BIGSWORD_CLASSES = new FastList<Integer>();
@@
+ ALT_DISABLE_BOW_CLASSES = Boolean.parseBoolean(ClassSettings.getProperty("AltDisableBow", "False"));
+ DISABLE_BOW_CLASSES_STRING = ClassSettings.getProperty("DisableBowForClasses", "");
+ DISABLE_BOW_CLASSES = new FastList<Integer>();
+ for (String class_id : DISABLE_BOW_CLASSES_STRING.split(","))
+ {
+ if(!class_id.equals(""))
+ DISABLE_BOW_CLASSES.add(Integer.parseInt(class_id));
+ }
+ ALT_DISABLE_DAGGER_CLASSES = Boolean.parseBoolean(ClassSettings.getProperty("AltDisableDagger", "False"));
+ DISABLE_DAGGER_CLASSES_STRING = ClassSettings.getProperty("DisableDaggerForClasses", "");
+ DISABLE_DAGGER_CLASSES = new FastList<Integer>();
+ for (String class_id : DISABLE_DAGGER_CLASSES_STRING.split(","))
+ {
+ if(!class_id.equals(""))
+ DISABLE_DAGGER_CLASSES.add(Integer.parseInt(class_id));
+ }
+ ALT_DISABLE_SWORD_CLASSES = Boolean.parseBoolean(ClassSettings.getProperty("AltDisableSword", "False"));
+ DISABLE_SWORD_CLASSES_STRING = ClassSettings.getProperty("DisableSwordForClasses", "");
+ DISABLE_SWORD_CLASSES = new FastList<Integer>();
+ for (String class_id : DISABLE_SWORD_CLASSES_STRING.split(","))
+ {
+ if(!class_id.equals(""))
+ DISABLE_SWORD_CLASSES.add(Integer.parseInt(class_id));
+ }
+ ALT_DISABLE_BLUNT_CLASSES = Boolean.parseBoolean(ClassSettings.getProperty("AltDisableBlunt", "False"));
+ DISABLE_BLUNT_CLASSES_STRING = ClassSettings.getProperty("DisableBluntForClasses", "");
+ DISABLE_BLUNT_CLASSES = new FastList<Integer>();
+ for (String class_id : DISABLE_BLUNT_CLASSES_STRING.split(","))
+ {
+ if(!class_id.equals(""))
+ DISABLE_BLUNT_CLASSES.add(Integer.parseInt(class_id));
+ }
+ ALT_DISABLE_DUAL_CLASSES = Boolean.parseBoolean(ClassSettings.getProperty("AltDisableDual", "False"));
+ DISABLE_DUAL_CLASSES_STRING = ClassSettings.getProperty("DisableDualForClasses", "");
+ DISABLE_DUAL_CLASSES = new FastList<Integer>();
+ for (String class_id : DISABLE_DUAL_CLASSES_STRING.split(","))
+ {
+ if(!class_id.equals(""))
+ DISABLE_DUAL_CLASSES.add(Integer.parseInt(class_id));
+ }
+ ALT_DISABLE_POLE_CLASSES = Boolean.parseBoolean(ClassSettings.getProperty("AltDisablePolle", "False"));
+ DISABLE_POLE_CLASSES_STRING = ClassSettings.getProperty("DisablePolleForClasses", "");
+ DISABLE_POLE_CLASSES = new FastList<Integer>();
+ for (String class_id : DISABLE_POLE_CLASSES_STRING.split(","))
+ {
+ if(!class_id.equals(""))
+ DISABLE_POLE_CLASSES.add(Integer.parseInt(class_id));
+ }
+ ALT_DISABLE_BIGSWORD_CLASSES = Boolean.parseBoolean(ClassSettings.getProperty("AltDisableBigSword", "False"));
+ DISABLE_BIGSWORD_CLASSES_STRING = ClassSettings.getProperty("DisableBigSwordForClasses", "");
+ DISABLE_BIGSWORD_CLASSES = new FastList<Integer>();
+ for (String class_id : DISABLE_BIGSWORD_CLASSES_STRING.split(","))
+ {
+ if(!class_id.equals(""))
+ DISABLE_BIGSWORD_CLASSES.add(Integer.parseInt(class_id));
+ }
Index: Class.ini
===================================================================
--- Class.ini (revision 0)
+++ Class.ini (working copy)
#Disable Bow for classes: write here classes id
#that you dnt want allow to use BOW. Class id examples,
#you can find others into char_templates database table
#
# classId className
# 88 Duelist
# 89 DreadNought
# 90 Phoenix Knight
# 91 Hell Knight
# 92 Sagittarius
# 93 Adventurer
# 94 Archmage
# 95 Soultaker
# 96 Arcana Lord
# 97 Cardinal
# 98 Hierophant
# 99 Eva Templar
# 100 Sword Muse
# 101 Wind Rider
# 102 Moonlight Sentinel
# 103 Mystic Muse
# 104 Elemental Master
# 105 Eva Saint
# 106 Shillien Templar
# 107 Spectral Dancer
# 108 Ghost Hunter
# 109 Ghost Sentinel
# 110 Storm Screamer
# 111 Spectral Master
# 112 Shillen Saint
# 113 Titan
# 114 Grand Khauatari
# 115 Dominator
# 116 Doomcryer
# 117 Fortune Seeker
# 118 Maestro
# e.g. DisableBowForClasses = 89, 90, 91, 92, 102, 109
AltDisableBow = False
DisableBowForClasses = 88,89
# e.g. DisableDaggerForClasses = 89, 90, 91, 92, 102, 109
AltDisableDagger = False
DisableDaggerForClasses = 90,91
# e.g. DisableSwordForClasses = 89, 90, 91, 92, 102, 109
AltDisableSword = False
DisableSwordForClasses = 92,93
# e.g. DisableBluntForClasses = 89, 90, 91, 92, 102, 109
AltDisableBlunt = False
DisableBluntForClasses = 94,95
# e.g. DisableDualForClasses = 89, 90, 91, 92, 102, 109
AltDisableDual = False
DisableDualForClasses = 96,97
# e.g. DisablePolleForClasses = 89, 90, 91, 92, 102, 109
AltDisablePolle = False
DisablePolleForClasses = 98,99
# e.g. DisableBigSwordForClasses = 89, 90, 91, 92, 102, 109
AltDisableBigSword = False
DisableBigSwordForClasses = 100,101
Créditos: Leonardo Alves, Pauline Souza y Wallister.