Index: java/config/altsettings.properties =================================================================== --- java/config/altsettings.properties (revision 1214) +++ java/config/altsettings.properties (working copy) @@ -111,6 +111,8 @@ # Default = False AllowClassMasters = False +# Life crystal needed to learn clan skills +LifeCrystalNeeded = True # Spell Book needed to learn skills SpBookNeeded = True Index: java/net/sf/l2j/Config.java =================================================================== --- java/net/sf/l2j/Config.java (revision 1214) +++ java/net/sf/l2j/Config.java (working copy) @@ -239,7 +239,8 @@ /** Maximum number of clans in ally */ public static int ALT_MAX_NUM_OF_CLANS_IN_ALLY; - + /** Life Crystal needed to learn clan skill */ + public static boolean LIFE_CRYSTAL_NEEDED; /** Spell Book needed to learn skill */ public static boolean SP_BOOK_NEEDED; /** Spell Book needet to enchant skill */ @@ -1630,6 +1631,7 @@ ALT_GAME_FREIGHT_PRICE = Integer.parseInt(altSettings.getProperty("AltGameFreightPrice", "1000")); ALT_GAME_SKILL_HIT_RATE = Float.parseFloat(altSettings.getProperty("AltGameSkillHitRate", "1.")); IS_CRAFTING_ENABLED = Boolean.parseBoolean(altSettings.getProperty("CraftingEnabled", "true")); + LIFE_CRYSTAL_NEEDED = Boolean.parseBoolean(altSettings.getProperty("LifeCrystalNeeded", "true")); SP_BOOK_NEEDED = Boolean.parseBoolean(altSettings.getProperty("SpBookNeeded", "true")); ES_SP_BOOK_NEEDED = Boolean.parseBoolean(altSettings.getProperty("EnchantSkillSpBookNeeded","true")); AUTO_LOOT = altSettings.getProperty("AutoLoot").equalsIgnoreCase("True"); @@ -2308,6 +2310,7 @@ else if (pName.equalsIgnoreCase("AltGameSkillHitRate")) ALT_GAME_SKILL_HIT_RATE = Float.parseFloat(pValue); else if (pName.equalsIgnoreCase("CraftingEnabled")) IS_CRAFTING_ENABLED = Boolean.valueOf(pValue); + else if (pName.equalsIgnoreCase("LifeCrystalNeeded")) LIFE_CRYSTAL_NEEDED = Boolean.valueOf(pValue); else if (pName.equalsIgnoreCase("SpBookNeeded")) SP_BOOK_NEEDED = Boolean.valueOf(pValue); else if (pName.equalsIgnoreCase("AutoLoot")) AUTO_LOOT = Boolean.valueOf(pValue); else if (pName.equalsIgnoreCase("AutoLootHerbs")) AUTO_LOOT_HERBS = Boolean.valueOf(pValue); Index: java/net/sf/l2j/gameserver/clientpackets/RequestAquireSkill.java =================================================================== --- java/net/sf/l2j/gameserver/clientpackets/RequestAquireSkill.java (revision 1214) +++ java/net/sf/l2j/gameserver/clientpackets/RequestAquireSkill.java (working copy) @@ -257,7 +257,7 @@ if (player.getClan().getReputationScore() >= repCost) { - if (Config.SP_BOOK_NEEDED) + if (Config.LIFE_CRYSTAL_NEEDED) { if (!player.destroyItemByItemId("Consume", itemId, 1, trainer, false)) { Index: java/net/sf/l2j/gameserver/clientpackets/RequestAquireSkillInfo.java =================================================================== --- java/net/sf/l2j/gameserver/clientpackets/RequestAquireSkillInfo.java (revision 1214) +++ java/net/sf/l2j/gameserver/clientpackets/RequestAquireSkillInfo.java (working copy) @@ -134,7 +134,7 @@ AquireSkillInfo asi = new AquireSkillInfo(skill.getId(), skill.getLevel(), requiredRep,2); - if (Config.SP_BOOK_NEEDED) + if (Config.LIFE_CRYSTAL_NEEDED) { asi.addRequirement(1, itemId, 1, 0); }