All pastes #421101 Raw Edit

Anonymous

public text v1 · immutable
·published 2007-04-02 16:39 UTC
rendered paste body
Index: /L2J_GameServer/src/main/java/net/sf/l2j/gameserver/skills/l2skills/L2SkillChargeDmg.java
===================================================================
--- /L2J_GameServer/src/main/java/net/sf/l2j/gameserver/skills/l2skills/L2SkillChargeDmg.java	(revision ****)
+++ /L2J_GameServer/src/main/java/net/sf/l2j/gameserver/skills/l2skills/L2SkillChargeDmg.java	(working copy)
@@ -17,6 +17,7 @@
  */
 package net.sf.l2j.gameserver.skills.l2skills;
 
+import net.sf.l2j.gameserver.lib.Rnd;
 import net.sf.l2j.gameserver.model.L2Character;
 import net.sf.l2j.gameserver.model.L2Effect;
 import net.sf.l2j.gameserver.model.L2ItemInstance;
@@ -98,20 +99,26 @@
 			
 			//boolean dual  = caster.isUsingDualWeapon();
 			boolean shld = Formulas.getInstance().calcShldUse(caster, target);
-			boolean crit = Formulas.getInstance().calcCrit(caster.getCriticalHit(target, this));
+			//boolean crit = Formulas.getInstance().calcCrit(caster.getCriticalHit(target, this));
 			boolean soul = (weapon!= null && weapon.getChargedSoulshot() == L2ItemInstance.CHARGED_SOULSHOT && weapon.getItemType() != L2WeaponType.DAGGER );
 			
 			int damage = (int)Formulas.getInstance().calcPhysDam(
-					caster, target, this, shld, crit, false, soul);
+					caster, target, this, shld, false, false, soul);
 			
 			if (damage > 0)
             {
                 double finalDamage = damage;
                 finalDamage = finalDamage+(modifier*finalDamage);
-				target.reduceCurrentHp(finalDamage, caster);
+                if (this.isCritical() && Rnd.get(100) < 15)   
+                {  
+                    caster.sendPacket(new SystemMessage(SystemMessage.CRITICAL_HIT));  
+                    finalDamage = finalDamage * 2;  
+                }  
+                if (target.isPetrified())  
+                    {finalDamage= 0;}  
+                target.reduceCurrentHp(finalDamage, caster); 
+
 				
-				if (crit) caster.sendPacket(new SystemMessage(SystemMessage.CRITICAL_HIT));
-				
 				SystemMessage sm = new SystemMessage(SystemMessage.YOU_DID_S1_DMG);
 				sm.addNumber((int)finalDamage);
 				caster.sendPacket(sm);