All pastes #506292 Raw Edit

Unnamed

public text v1 · immutable
·published 2007-05-23 22:15 UTC
rendered paste body
Index: java/net/sf/l2j/gameserver/skills/Formulas.java
===================================================================
--- java/net/sf/l2j/gameserver/skills/Formulas.java	(revision 835)
+++ java/net/sf/l2j/gameserver/skills/Formulas.java	(working copy)
@@ -1413,22 +1413,31 @@
 				}
 				rate = value;
 				break;
+			case POISON:
+			case BLEED:
+				value = 3000 + (int) (7000 * ((float) skill.getLevel() / maxLevel));
+				modifier = 10 * target.getCON() / 3;
+				if (modifier > 0) value /= modifier;
+				value *= ssmodifier;
+				value /= 100;
+				break;
 			case MDOT:
             case MANADAM:    
 			case CONFUSION:
-				mAtk = player.getMAtk(target, skill);
-				mDef = target.getMDef(player, skill);
-				value = 3000 + (int) (7000 * ((float) skill.getLevel() / maxLevel));
-				if (mDef > 0 && mAtk > 0) value *= 0.6 * mAtk / mDef;
-				modifier = 20 * target.getMEN() / 3;
-				//_log.fine(player.getName()+" matk:"+mAtk+",mdef="+mDef+",value="+value+",modifier="+modifier+",maxlevel="+maxLevel+",level="+skill.getLevel());
-				break;
 			case MUTE:
+			case DEBUFF:
+			case WEAKNESS:
+			case BETRAY:
+			case AGGREDUCE_CHAR:
+			case FEAR:
 				mAtk = player.getMAtk(target, skill);
 				mDef = target.getMDef(player, skill);
 				value = 3000 + (int) (7000 * ((float) skill.getLevel() / maxLevel));
 				if (mDef > 0 && mAtk > 0) value *= 0.6 * mAtk / mDef;
 				modifier = 20 * target.getMEN() / 3;
+				if (modifier > 0) value /= modifier;
+				value *= ssmodifier;
+				value /= 100;
 				//_log.fine(player.getName()+" matk:"+mAtk+",mdef="+mDef+",value="+value+",modifier="+modifier+",maxlevel="+maxLevel+",level="+skill.getLevel());
 				break;
 			case MDAM:
@@ -1477,7 +1486,7 @@
 				value = 5000 + (int) (5000 * ((float) skill.getLevel() / maxLevel));
 				mDef = target.calcStat(Stats.ROOT_RES, mDef, target, null);
 				if (mDef > 0 && mAtk > 0) value *= 0.6 * mAtk / mDef;
-				modifier = 10 * target.getDEX() / 3;
+				modifier = 10 * target.getMEN() / 3;
 				if (modifier > 0) value /= modifier;
 				value *= ssmodifier;
 				value /= 100;
@@ -1570,12 +1579,15 @@
 			case SLEEP:
 				return (int) target.calcStat(Stats.SLEEP_RES, 0, target, null);
 			case MUTE:
-				return (int) target.calcStat(Stats.MUTE_RES, 0, target, null);
 			case FEAR:
+			case BETRAY:
+			case AGGREDUCE_CHAR:
+				return (int) target.calcStat(Stats.DERANGEMENT_RES, 0, target, null);
 			case CONFUSION:
 				return (int) target.calcStat(Stats.CONFUSION_RES, 0, target, null);
-			case CANCEL:
-				return (int) target.calcStat(Stats.CONFUSION_RES, 0, target, null);
+			case DEBUFF:
+			case WEAKNESS:
+				return (int) target.calcStat(Stats.DEBUFF_RES, 0, target, null);
 			default:
 				return 0;
 		}
@@ -1587,13 +1599,20 @@
 		switch (type)
 		{
 			case STUN:
+			case BLEED:
+			case POISON:
 				return (int) (Math.sqrt(CONbonus[target.getCON()]) * 100 - 100);
-			case ROOT:
-				return (int) (Math.sqrt(DEXbonus[target.getDEX()]) * 100 - 100);
 			case SLEEP:
 				return (int) (Math.sqrt(WITbonus[target.getWIT()]) * 100 - 100);
+			case DEBUFF:
+			case WEAKNESS:
+			case ERASE:
+			case ROOT:
 			case MUTE:
+			case FEAR:
+			case BETRAY:
 			case CONFUSION:
+			case AGGREDUCE_CHAR:
 			case PARALYZE:
 				return (int) (Math.sqrt(MENbonus[target.getMEN()]) * 100 - 100);
 			default:
Index: java/net/sf/l2j/gameserver/skills/Stats.java
===================================================================
--- java/net/sf/l2j/gameserver/skills/Stats.java	(revision 835)
+++ java/net/sf/l2j/gameserver/skills/Stats.java	(working copy)
@@ -113,8 +113,7 @@
 	PARALYZE_RES 	("paralyzeRes"), 
 	ROOT_RES 		("rootRes"),
 	SLEEP_RES 		("sleepRes"),
-	CONFUSION_RES 	("confusionRes"),
-	MUTE_RES 		("muteRes"), 
+	CONFUSION_RES 	("confusionRes"), 
 	MOVEMENT_RES 	("movementRes"),
 	FIRE_RES 		("fireRes"),
 	WIND_RES 		("windRes"),
@@ -123,6 +122,8 @@
 	HOLY_RES 		("holyRes"),
 	DARK_RES 		("darkRes"),
 	CANCEL_RES      ("cancelRes"), // Resistance for cancel type skills
+	DERANGEMENT_RES ("derangementRes"),
+	DEBUFF_RES		("debuffRes"),
 	
 	NONE_WPN_RES 	("noneWpnRes"), // Shields!!!
 	SWORD_WPN_RES 	("swordWpnRes"),