rendered paste bodyIndex: /trunk/L2_Gameserver/java/net/sf/l2j/gameserver/skills/Formulas.java===================================================================--- /trunk/L2_Gameserver/java/net/sf/l2j/gameserver/skills/Formulas.java (revision 2201)+++ /trunk/L2_Gameserver/java/net/sf/l2j/gameserver/skills/Formulas.java (working copy)@@ -1139,13 +1139,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: case MUTE:@@ -1178,18 +1179,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");