All pastes #38684 Raw Edit

Anonymous

public text v1 · immutable
#38684 ·published 2006-01-26 17:18 UTC
rendered paste body
Index: /trunk/L2_Gameserver/java/net/sf/l2j/gameserver/skills/Formulas.java
===================================================================
--- /trunk/L2_Gameserver/java/net/sf/l2j/gameserver/skills/Formulas.java	(revision 2173)
+++ /trunk/L2_Gameserver/java/net/sf/l2j/gameserver/skills/Formulas.java	(working copy)
@@ -1139,14 +1139,19 @@
 		{
     	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;
-    		break;
+    		int basechance = 50;
+    		int perLevelBonus = 1;
+    		if (skill.getId() == 92)  //Shield stun is stronger (only pure stun skill)
+    		{
+    			basechance = 80;
+    			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;
     	case CONFUSION:
     	case MUTE:
     	case PARALYZE:
@@ -1178,18 +1183,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");