rendered paste bodyIndex: D:/Source/trunk/L2_Gameserver/java/net/sf/l2j/gameserver/skills/Formulas.java
===================================================================
--- D:/Source/trunk/L2_Gameserver/java/net/sf/l2j/gameserver/skills/Formulas.java (revision 2211)
+++ D:/Source/trunk/L2_Gameserver/java/net/sf/l2j/gameserver/skills/Formulas.java (working copy)
@@ -1146,13 +1146,14 @@
{
case STUN:
// For normal Stun Attack, with skillType = STUN
- pAtk = player.getPAtk(target);
- pDef = target.getPDef(player);
- pDef = target.calcStat(Stats.STUN_RES,pDef,target,null);
- value = 30 * 100 + (int)(70 * 100 * ((float)skill.getLevel()/maxLevel));
- if (pDef > 0 && pAtk > 0)
- value *= 0.6 * pAtk/pDef;
- modifier = 100 * target.getCON()/30;
+ int basechance = 80;
+ int perLevelBonus = 2;
+ pDef = target.calcStat(Stats.STUN_RES,0,target,null);
+ value = 750 * (basechance + perLevelBonus * skill.getLevel());
+ modifier = target.getLevel()*(target.getCON() + pDef);
+ // CHANCE to stun gets no modifier from shots, whatsoever.
+ //stun+damage skills get a modifier in the damage part ONLY.
+ ssmodifier = 1;
break;
case CONFUSION:
mAtk = player.getMAtk(target, skill);
@@ -1203,18 +1204,17 @@
modifier = 100 * target.getDEX()/30;
break;
default:
- // For normal Stun attack with skillType = PDAM
- pAtk = (int)skill.getPower();
- pDef = target.getPDef(player);
- pDef = target.calcStat(Stats.STUN_RES,pDef,target,null);
-// value = 30 * 100 + (int)(70 * 100 * ((float)skill.getLevel()/maxLevel));
- value = 100 * 100;
- if (pDef > 0 && pAtk > 0)
- value *= 0.6 * pAtk/pDef;
- modifier = 100 * target.getCON()/30;
- break;
+ basechance = 50;
+ perLevelBonus = 1;
+ pDef = target.calcStat(Stats.STUN_RES,0,target,null);
+ value = 750 * (basechance + perLevelBonus * skill.getLevel());
+ modifier = target.getLevel()*(target.getCON() + pDef);
+ //CHANCE to stun gets no modifier from shots, whatsoever.
+ //stun+damage skills get a modifier in the damage part ONLY.
+ ssmodifier = 1;
+ break;
}
-
+
if (modifier == 0)
{
_log.warning("Name: "+target.getName()+" has bad base stat value. Fix datapack or notify dp ppl");