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
Linkback: https://l2topzone.com/forum/index.php?topic=2687.0