Problem with classes in your server?
No more..
Compiled: Yes
Effect in game: Working
Index: other.properties
================================================
# These controls the chance to get a glow effect in the augmentation process
# Note:
# No/Mid Grade Life Stone can not have glow effect
# if you do not get a skill or Base Stat Modifier
# On Retail you can not get glow effect with NoGrade LS
# Retail: 0, 40, 70, 100
AugmentationNGGlowChance = 0
AugmentationMidGlowChance = 40
AugmentationHighGlowChance = 70
AugmentationTopGlowChance = 100
+
+# Classes balance
+# Note:
+# Weapons type: DAGGER; BOW; BLUNT; DUALFIST; DUAL; SWORD; POLE
+# Class: Too long...
+# Damage: Current damage emperor to 2
+# ClassID 90 = Phoenix Knight
+ClassID = 90
+WeaponType = DAGGER
+Damage = 2
Index: net.sf.l2j.Config.java
================================================
public static int AUGMENTATION_TOP_SKILL_CHANCE;
public static int AUGMENTATION_TOP_GLOW_CHANCE;
public static int AUGMENTATION_BASESTAT_CHANCE;
+ public static int ALT_CLASSID;
+ public static float ALT_DAMAGE;
+
+ public static boolean ALT_DAGGER;
+ public static boolean ALT_BOW;
+ public static boolean ALT_BLUNT;
+ public static boolean ALT_DUALFIST;
+ public static boolean ALT_DUAL;
+ public static boolean ALT_SWORD;
+ public static boolean ALT_POLE;
@@
AUGMENTATION_TOP_SKILL_CHANCE = Integer.parseInt(otherSettings.getProperty("AugmentationTopSkillChance", "60"));
AUGMENTATION_TOP_GLOW_CHANCE = Integer.parseInt(otherSettings.getProperty("AugmentationTopGlowChance", "100"));
AUGMENTATION_BASESTAT_CHANCE = Integer.parseInt(otherSettings.getProperty("AugmentationBaseStatChance", "1"));
+
+ ALT_CLASSID = Integer.parseInt(otherSettings.getProperty("ClassID", "90"));
+ ALT_DAMAGE = Float.parseFloat(otherSettings.getProperty("Damage", "1.5"));
+ ALT_DAGGER = otherSettings.getProperty("WeaponType", "DAGGER").equalsIgnoreCase("DAGGER");
+ ALT_BOW = otherSettings.getProperty("WeaponType", "DAGGER").equalsIgnoreCase("BOW");
+ ALT_BLUNT = otherSettings.getProperty("WeaponType", "DAGGER").equalsIgnoreCase("BLUNT");
+ ALT_DUALFIST = otherSettings.getProperty("WeaponType", "DAGGER").equalsIgnoreCase("DUALFIST");
+ ALT_DUAL = otherSettings.getProperty("WeaponType", "DAGGER").equalsIgnoreCase("DUAL");
+ ALT_SWORD = otherSettings.getProperty("WeaponType", "DAGGER").equalsIgnoreCase("SWORD");
+ ALT_POLE = otherSettings.getProperty("WeaponType", "DAGGER").equalsIgnoreCase("POLE");
@@
else if (pName.equalsIgnoreCase("GlobalChat")) DEFAULT_GLOBAL_CHAT = pValue;
else if (pName.equalsIgnoreCase("TradeChat")) DEFAULT_TRADE_CHAT = pValue;
else if (pName.equalsIgnoreCase("AutoannouncementsDelay")) AUTOANNOUNCEMENT_DELAY = Integer.parseInt(pValue);
else if (pName.equalsIgnoreCase("MenuStyle")) GM_ADMIN_MENU_STYLE = pValue;
+ else if (pName.equalsIgnoreCase("WeaponType"))
+ {
+ ALT_DAGGER = pValue.equalsIgnoreCase("DAGGER");
+ ALT_BOW = pValue.equalsIgnoreCase("BOW");
+ ALT_BLUNT = pValue.equalsIgnoreCase("BLUNT");
+ ALT_DUALFIST = pValue.equalsIgnoreCase("DUALFIST");
+ ALT_DUAL = pValue.equalsIgnoreCase("DUAL");
+ ALT_SWORD = pValue.equalsIgnoreCase("SWORD");
+ ALT_POLE = pValue.equalsIgnoreCase("POLE");
+ }
Index: net.sf.l2j.gameserver.skills.Formulas.java
================================================
// Dmg bonusses in PvP fight
if((attacker instanceof L2PcInstance || attacker instanceof L2Summon)
&& (target instanceof L2PcInstance || target instanceof L2Summon))
{
if(skill == null)
damage *= attacker.calcStat(Stats.PVP_PHYSICAL_DMG, 1, null, null);
else
damage *= attacker.calcStat(Stats.PVP_PHYS_SKILL_DMG, 1, null, null);
}
+ if (attacker instanceof L2PcInstance)
+ {
+ L2PcInstance pcInst = (L2PcInstance)attacker;
+ if (pcInst.getClassId().getId() == Config.ALT_CLASSID)
+ {
+ if (Config.ALT_DAGGER)
+ {
+ L2Weapon wpn = pcInst.getActiveWeaponItem();
+ if (wpn != null && wpn.getItemType() == L2WeaponType.DAGGER)
+ damage /= (int) (damage / Config.ALT_DAMAGE);
+ }else if (Config.ALT_BOW)
+ {
+ L2Weapon wpn = pcInst.getActiveWeaponItem();
+ if (wpn != null && wpn.getItemType() == L2WeaponType.BOW)
+ damage /= (int) (damage / Config.ALT_DAMAGE);
+ }else if (Config.ALT_BLUNT)
+ {
+ L2Weapon wpn = pcInst.getActiveWeaponItem();
+ if (wpn != null && wpn.getItemType() == L2WeaponType.BLUNT)
+ damage /= (int) (damage / Config.ALT_DAMAGE);
+ }else if (Config.ALT_DUALFIST)
+ {
+ L2Weapon wpn = pcInst.getActiveWeaponItem();
+ if (wpn != null && wpn.getItemType() == L2WeaponType.DUALFIST)
+ damage /= (int) (damage / Config.ALT_DAMAGE);
+ }else if (Config.ALT_DUAL)
+ {
+ L2Weapon wpn = pcInst.getActiveWeaponItem();
+ if (wpn != null && wpn.getItemType() == L2WeaponType.DUAL)
+ damage /= (int) (damage / Config.ALT_DAMAGE);
+ }else if (Config.ALT_SWORD)
+ {
+ L2Weapon wpn = pcInst.getActiveWeaponItem();
+ if (wpn != null && wpn.getItemType() == L2WeaponType.SWORD)
+ damage /= (int) (damage / Config.ALT_DAMAGE);
+ }else if (Config.ALT_POLE)
+ {
+ L2Weapon wpn = pcInst.getActiveWeaponItem();
+ if (wpn != null && wpn.getItemType() == L2WeaponType.POLE)
+ damage /= (int) (damage / Config.ALT_DAMAGE);
+ }
+ }
+ }
Index: Classes
================================================
-- HUMANS
-- 0=Human Fighter | 1=Human Warrior | 2=Gladiator | 3=Warlord | 4=Human Knight
-- 5=Paladin | 6=Dark Avenger | 7=Rogue | 8=Treasure Hunter | 9=Hawkeye
-- 10=Human Mage | 11=Human Wizard | 12=Sorcerer/ss | 13=Necromancer | 14=Warlock
-- 15=Cleric | 16=Bishop | 17=Prophet
-- ELVES
-- 18=Elven Fighter | 19=Elven Knight | 20=Temple Knight | 21=Swordsinger | 22=Elven Scout
-- 23=Plainswalker | 24=Silver Ranger | 25=Elven Mage | 26=Elven Wizard | 27=Spellsinger
-- 28=Elemental Summoner | 29=Elven Oracle | 30=Elven Elder
-- DARK ELVES
-- 31=Dark Elven Fighter | 32=Palus Knight | 33=Shillien Knight | 34=Bladedancer | 35=Assassin
-- 36=Abyss Walker | 37=Phantom Ranger | 38=Dark Elven Mage | 39=Dark Wizard | 40=Spellhowler
-- 41=Phantom Summoner | 42=Shillien Oracle | 43=Shillien Elder
-- ORCS
-- 44=Orc Fighter | 45=Orc Raider | 46=Destroyer | 47=Monk | 48=Tyrant
-- 49=Orc Mage | 50=Orc Shaman | 51=Overlord | 52=Warcryer
-- DWARVES
-- 53=Dwarven Fighter | 54=Scavenger | 55=Bounty Hunter | 56=Artisan | 57=Warsmith
-- HUMANS 3rd Professions
-- 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
-- ELVES 3rd Professions
-- 99=Evas Templar | 100=Sword Muse | 101=Wind Rider | 102=Moonlight Sentinel
-- 103=Mystic Muse | 104=Elemental Master | 105=Evas Saint
-- DARK ELVES 3rd Professions
-- 106=Shillien Templar | 107=Spectral Dancer | 108=Ghost Hunter | 109=Ghost Sentinel
-- 110=Storm Screamer | 111=Spectral Master | 112=Shillien Saint
-- ORCS 3rd Professions
-- 113=Titan | 114=Grand Khavatari
-- 115=Dominator | 116=Doomcryer
-- DWARVES 3rd Professions
-- 117=Fortune Seeker | 118=Maestro
Creadits: xAddytzu