Browse Source

BETA: DP-Part for [L5858].

Adry_85 12 years ago
parent
commit
c2dca6fe7a
40 changed files with 142 additions and 427 deletions
  1. 2 2
      L2J_DataPack_BETA/dist/game/data/scripts/ai/individual/Beleth.java
  2. 2 2
      L2J_DataPack_BETA/dist/game/data/scripts/handlers/MasterHandler.java
  3. 0 1
      L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/CpDamPercent.java
  4. 1 5
      L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/CpHeal.java
  5. 1 4
      L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/CpHealOverTime.java
  6. 1 5
      L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/CpHealPercent.java
  7. 1 2
      L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/Fear.java
  8. 5 14
      L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/Heal.java
  9. 1 4
      L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/HealOverTime.java
  10. 3 22
      L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/HealPercent.java
  11. 3 15
      L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/ManaHeal.java
  12. 2 13
      L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/ManaHealByLevel.java
  13. 1 4
      L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/ManaHealOverTime.java
  14. 3 22
      L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/ManaHealPercent.java
  15. 1 4
      L2J_DataPack_BETA/dist/game/data/scripts/handlers/skillhandlers/CombatPointHeal.java
  16. 0 16
      L2J_DataPack_BETA/dist/game/data/scripts/handlers/skillhandlers/Continuous.java
  17. 0 132
      L2J_DataPack_BETA/dist/game/data/scripts/handlers/skillhandlers/Disablers.java
  18. 47 56
      L2J_DataPack_BETA/dist/game/data/scripts/handlers/skillhandlers/Heal.java
  19. 48 58
      L2J_DataPack_BETA/dist/game/data/scripts/handlers/skillhandlers/ManaHealByLevel.java
  20. 1 4
      L2J_DataPack_BETA/dist/game/data/scripts/handlers/targethandlers/TargetOne.java
  21. 8 18
      L2J_DataPack_BETA/dist/game/data/scripts/instances/SeedOfInfinity/HallOfSuffering.java
  22. 1 1
      L2J_DataPack_BETA/dist/game/data/stats/skills/01000-01099.xml
  23. 1 1
      L2J_DataPack_BETA/dist/game/data/stats/skills/01100-01199.xml
  24. 0 1
      L2J_DataPack_BETA/dist/game/data/stats/skills/02000-02099.xml
  25. 0 1
      L2J_DataPack_BETA/dist/game/data/stats/skills/02200-02299.xml
  26. 0 1
      L2J_DataPack_BETA/dist/game/data/stats/skills/02300-02399.xml
  27. 0 1
      L2J_DataPack_BETA/dist/game/data/stats/skills/02700-02799.xml
  28. 0 1
      L2J_DataPack_BETA/dist/game/data/stats/skills/02800-02899.xml
  29. 1 1
      L2J_DataPack_BETA/dist/game/data/stats/skills/03100-03199.xml
  30. 0 1
      L2J_DataPack_BETA/dist/game/data/stats/skills/03200-03299.xml
  31. 2 2
      L2J_DataPack_BETA/dist/game/data/stats/skills/04000-04099.xml
  32. 2 2
      L2J_DataPack_BETA/dist/game/data/stats/skills/04100-04199.xml
  33. 1 1
      L2J_DataPack_BETA/dist/game/data/stats/skills/04300-04399.xml
  34. 1 1
      L2J_DataPack_BETA/dist/game/data/stats/skills/05200-05299.xml
  35. 0 2
      L2J_DataPack_BETA/dist/game/data/stats/skills/05500-05599.xml
  36. 0 1
      L2J_DataPack_BETA/dist/game/data/stats/skills/05600-05699.xml
  37. 2 2
      L2J_DataPack_BETA/dist/game/data/stats/skills/06700-06799.xml
  38. 0 1
      L2J_DataPack_BETA/dist/game/data/stats/skills/06800-06899.xml
  39. 0 1
      L2J_DataPack_BETA/dist/game/data/stats/skills/23200-23299.xml
  40. 0 2
      L2J_DataPack_BETA/dist/game/data/stats/skills/26000-26099.xml

+ 2 - 2
L2J_DataPack_BETA/dist/game/data/scripts/ai/individual/Beleth.java

@@ -41,9 +41,9 @@ import com.l2jserver.gameserver.model.actor.L2Npc;
 import com.l2jserver.gameserver.model.actor.instance.L2DoorInstance;
 import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
 import com.l2jserver.gameserver.model.actor.templates.L2NpcTemplate;
+import com.l2jserver.gameserver.model.effects.L2EffectType;
 import com.l2jserver.gameserver.model.holders.SkillHolder;
 import com.l2jserver.gameserver.model.skills.L2Skill;
-import com.l2jserver.gameserver.model.skills.L2SkillType;
 import com.l2jserver.gameserver.model.zone.L2ZoneType;
 import com.l2jserver.gameserver.network.serverpackets.CreatureSay;
 import com.l2jserver.gameserver.network.serverpackets.DoorStatusUpdate;
@@ -465,7 +465,7 @@ public class Beleth extends AbstractNpcAI
 	@Override
 	public String onSkillSee(L2Npc npc, L2PcInstance player, L2Skill skill, L2Object[] targets, boolean isSummon)
 	{
-		if ((npc != null) && !npc.isDead() && ((npc.getNpcId() == 29118) || (npc.getNpcId() == 29119)) && !npc.isCastingNow() && (skill.getSkillType() == L2SkillType.HEAL) && (getRandom(100) < 80))
+		if ((npc != null) && !npc.isDead() && ((npc.getNpcId() == 29118) || (npc.getNpcId() == 29119)) && !npc.isCastingNow() && skill.hasEffectType(L2EffectType.HEAL) && (getRandom(100) < 80))
 		{
 			npc.setTarget(player);
 			npc.doCast(HORN_OF_RISING.getSkill());

+ 2 - 2
L2J_DataPack_BETA/dist/game/data/scripts/handlers/MasterHandler.java

@@ -231,7 +231,7 @@ import handlers.skillhandlers.GiveVitality;
 import handlers.skillhandlers.Heal;
 import handlers.skillhandlers.HealPercent;
 import handlers.skillhandlers.InstantJump;
-import handlers.skillhandlers.ManaHeal;
+import handlers.skillhandlers.ManaHealByLevel;
 import handlers.skillhandlers.Manadam;
 import handlers.skillhandlers.Mdam;
 import handlers.skillhandlers.NornilsPower;
@@ -542,7 +542,6 @@ public class MasterHandler
 			Heal.class,
 			HealPercent.class,
 			CombatPointHeal.class,
-			ManaHeal.class,
 			Charge.class,
 			Continuous.class,
 			Detection.class,
@@ -576,6 +575,7 @@ public class MasterHandler
 			Dummy.class,
 			RefuelAirShip.class,
 			NornilsPower.class,
+			ManaHealByLevel.class,
 		},
 		{
 			// User Command Handlers

+ 0 - 1
L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/CpDamPercent.java

@@ -50,7 +50,6 @@ public class CpDamPercent extends L2Effect
 		
 		double cp = (getEffected().getCurrentCp() * (100 - getEffectPower())) / 100;
 		getEffected().setCurrentCp(cp);
-		
 		StatusUpdate sucp = new StatusUpdate(getEffected());
 		sucp.addAttribute(StatusUpdate.CUR_CP, (int) cp);
 		getEffected().sendPacket(sucp);

+ 1 - 5
L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/CpHeal.java

@@ -58,10 +58,7 @@ public class CpHeal extends L2Effect
 		amount = Math.min(amount, target.getMaxRecoverableCp() - target.getCurrentCp());
 		
 		// Prevent negative amounts
-		if (amount < 0)
-		{
-			amount = 0;
-		}
+		amount = Math.max(amount, 0);
 		
 		// To prevent -value heals, set the value only if current Cp is less than max recoverable.
 		if (target.getCurrentCp() < target.getMaxRecoverableCp())
@@ -74,7 +71,6 @@ public class CpHeal extends L2Effect
 		target.sendPacket(sm);
 		su.addAttribute(StatusUpdate.CUR_CP, (int) target.getCurrentCp());
 		target.sendPacket(su);
-		
 		return true;
 	}
 	

+ 1 - 4
L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/CpHealOverTime.java

@@ -67,10 +67,7 @@ public class CpHealOverTime extends L2Effect
 		}
 		
 		cp += calc();
-		if (cp > maxcp)
-		{
-			cp = maxcp;
-		}
+		cp = Math.min(cp, maxcp);
 		
 		getEffected().setCurrentCp(cp);
 		StatusUpdate sump = new StatusUpdate(getEffected());

+ 1 - 5
L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/CpHealPercent.java

@@ -68,10 +68,7 @@ public class CpHealPercent extends L2Effect
 		amount = Math.min(amount, target.getMaxRecoverableCp() - target.getCurrentCp());
 		
 		// Prevent negative amounts
-		if (amount < 0)
-		{
-			amount = 0;
-		}
+		amount = Math.max(amount, 0);
 		
 		// To prevent -value heals, set the value only if current Cp is less than max recoverable.
 		if (target.getCurrentCp() < target.getMaxRecoverableCp())
@@ -84,7 +81,6 @@ public class CpHealPercent extends L2Effect
 		target.sendPacket(sm);
 		su.addAttribute(StatusUpdate.CUR_CP, (int) target.getCurrentCp());
 		target.sendPacket(su);
-		
 		return true;
 	}
 	

+ 1 - 2
L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/Fear.java

@@ -26,7 +26,6 @@ import com.l2jserver.gameserver.model.Location;
 import com.l2jserver.gameserver.model.actor.instance.L2DefenderInstance;
 import com.l2jserver.gameserver.model.actor.instance.L2FortCommanderInstance;
 import com.l2jserver.gameserver.model.actor.instance.L2NpcInstance;
-import com.l2jserver.gameserver.model.actor.instance.L2PetInstance;
 import com.l2jserver.gameserver.model.actor.instance.L2SiegeFlagInstance;
 import com.l2jserver.gameserver.model.actor.instance.L2SiegeSummonInstance;
 import com.l2jserver.gameserver.model.effects.EffectFlag;
@@ -120,7 +119,7 @@ public class Fear extends L2Effect
 			posY = destiny.getY();
 		}
 		
-		if (!(getEffected() instanceof L2PetInstance))
+		if (!getEffected().isPet())
 		{
 			getEffected().setRunning();
 		}

+ 5 - 14
L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/Heal.java

@@ -111,32 +111,23 @@ public class Heal extends L2Effect
 			}
 		}
 		
-		if (!getSkill().isStaticHeal())
+		if (!getSkill().isStatic())
 		{
 			amount += staticShotBonus + Math.sqrt(mAtkMul * activeChar.getMAtk(activeChar, null));
 			amount *= target.calcStat(Stats.HEAL_EFFECTIVNESS, 100, null, null) / 100;
 			// Healer proficiency (since CT1)
 			amount *= activeChar.calcStat(Stats.HEAL_PROFICIENCY, 100, null, null) / 100;
 			// Extra bonus (since CT1.5)
-			if (!getSkill().isStatic())
-			{
-				amount += target.calcStat(Stats.HEAL_STATIC_BONUS, 0, null, null);
-			}
-			
+			amount += target.calcStat(Stats.HEAL_STATIC_BONUS, 0, null, null);
 			// Heal critic, since CT2.3 Gracia Final
-			if (!getSkill().isStatic() && Formulas.calcMCrit(activeChar.getMCriticalHit(target, getSkill())))
+			if (getSkill().isMagic() && Formulas.calcMCrit(activeChar.getMCriticalHit(target, getSkill())))
 			{
 				amount *= 3;
 			}
 		}
 		
-		amount = Math.min(amount, target.getMaxRecoverableHp() - target.getCurrentHp());
-		
-		// Prevent negative amounts
-		if (amount < 0)
-		{
-			amount = 0;
-		}
+		// Prevents overheal and negative amount
+		amount = Math.max(Math.min(amount, target.getMaxRecoverableHp() - target.getCurrentHp()), 0);
 		
 		target.setCurrentHp(amount + target.getCurrentHp());
 		StatusUpdate su = new StatusUpdate(target);

+ 1 - 4
L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/HealOverTime.java

@@ -82,10 +82,7 @@ public class HealOverTime extends L2Effect
 		}
 		
 		hp += calc();
-		if (hp > maxhp)
-		{
-			hp = maxhp;
-		}
+		hp = Math.min(hp, maxhp);
 		
 		getEffected().setCurrentHp(hp);
 		StatusUpdate suhp = new StatusUpdate(getEffected());

+ 3 - 22
L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/HealPercent.java

@@ -57,28 +57,10 @@ public class HealPercent extends L2Effect
 		double power = calc();
 		boolean full = (power == 100.0);
 		
-		if (full)
-		{
-			amount = target.getMaxHp();
-		}
-		else
-		{
-			amount = (target.getMaxHp() * power) / 100.0;
-		}
-		
-		amount = Math.min(amount, target.getMaxRecoverableHp() - target.getCurrentHp());
+		amount = full ? target.getMaxHp() : (target.getMaxHp() * power) / 100.0;
 		
-		// Prevent negative amounts
-		if (amount < 0)
-		{
-			amount = 0;
-		}
-		
-		// To prevent -value heals, set the value only if current hp is less than max recoverable.
-		if (target.getCurrentHp() < target.getMaxRecoverableHp())
-		{
-			target.setCurrentHp(amount + target.getCurrentHp());
-		}
+		// Prevents overheal and negative amount
+		amount = Math.max(Math.min(amount, target.getMaxRecoverableHp() - target.getCurrentHp()), 0);
 		
 		SystemMessage sm;
 		if (getEffector().getObjectId() != target.getObjectId())
@@ -95,7 +77,6 @@ public class HealPercent extends L2Effect
 		target.sendPacket(sm);
 		su.addAttribute(StatusUpdate.CUR_HP, (int) target.getCurrentHp());
 		target.sendPacket(su);
-		
 		return true;
 	}
 	

+ 3 - 15
L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/ManaHeal.java

@@ -57,24 +57,13 @@ public class ManaHeal extends L2Effect
 		
 		double amount = calc();
 		
-		if (!getSkill().isStaticHeal())
+		if (!getSkill().isStatic())
 		{
 			amount = target.calcStat(Stats.RECHARGE_MP_RATE, amount, null, null);
 		}
 		
-		amount = Math.min(amount, target.getMaxRecoverableMp() - target.getCurrentMp());
-		
-		// Prevent negative amounts
-		if (amount < 0)
-		{
-			amount = 0;
-		}
-		
-		// To prevent -value heals, set the value only if current mp is less than max recoverable.
-		if (target.getCurrentMp() < target.getMaxRecoverableMp())
-		{
-			target.setCurrentMp(amount + target.getCurrentMp());
-		}
+		// Prevents overheal and negative amount
+		amount = Math.max(Math.min(amount, target.getMaxRecoverableMp() - target.getCurrentMp()), 0);
 		
 		SystemMessage sm;
 		if (getEffector().getObjectId() != target.getObjectId())
@@ -90,7 +79,6 @@ public class ManaHeal extends L2Effect
 		target.sendPacket(sm);
 		su.addAttribute(StatusUpdate.CUR_MP, (int) target.getCurrentMp());
 		target.sendPacket(su);
-		
 		return true;
 	}
 	

+ 2 - 13
L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/ManaHealByLevel.java

@@ -106,19 +106,8 @@ public class ManaHealByLevel extends L2Effect
 			}
 		}
 		
-		amount = Math.min(amount, target.getMaxRecoverableMp() - target.getCurrentMp());
-		
-		// Prevent negative amounts
-		if (amount < 0)
-		{
-			amount = 0;
-		}
-		
-		// To prevent -value heals, set the value only if current mp is less than max recoverable.
-		if (target.getCurrentMp() < target.getMaxRecoverableMp())
-		{
-			target.setCurrentMp(amount + target.getCurrentMp());
-		}
+		// Prevents overheal and negative amount
+		amount = Math.max(Math.min(amount, target.getMaxRecoverableMp() - target.getCurrentMp()), 0);
 		
 		SystemMessage sm;
 		if (getEffector().getObjectId() != target.getObjectId())

+ 1 - 4
L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/ManaHealOverTime.java

@@ -67,10 +67,7 @@ public class ManaHealOverTime extends L2Effect
 		}
 		
 		mp += calc();
-		if (mp > maxmp)
-		{
-			mp = maxmp;
-		}
+		mp = Math.min(mp, maxmp);
 		
 		getEffected().setCurrentMp(mp);
 		StatusUpdate sump = new StatusUpdate(getEffected());

+ 3 - 22
L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/ManaHealPercent.java

@@ -56,28 +56,10 @@ public class ManaHealPercent extends L2Effect
 		double power = calc();
 		boolean full = (power == 100.0);
 		
-		if (full)
-		{
-			amount = target.getMaxMp();
-		}
-		else
-		{
-			amount = (target.getMaxMp() * power) / 100.0;
-		}
-		
-		amount = Math.min(amount, target.getMaxRecoverableMp() - target.getCurrentMp());
+		amount = full ? target.getMaxMp() : (target.getMaxMp() * power) / 100.0;
 		
-		// Prevent negative amounts
-		if (amount < 0)
-		{
-			amount = 0;
-		}
-		
-		// To prevent -value heals, set the value only if current mp is less than max recoverable.
-		if (target.getCurrentMp() < target.getMaxRecoverableMp())
-		{
-			target.setCurrentMp(amount + target.getCurrentMp());
-		}
+		// Prevents overheal and negative amount
+		amount = Math.max(Math.min(amount, target.getMaxRecoverableMp() - target.getCurrentMp()), 0);
 		
 		SystemMessage sm;
 		if (getEffector().getObjectId() != target.getObjectId())
@@ -93,7 +75,6 @@ public class ManaHealPercent extends L2Effect
 		target.sendPacket(sm);
 		su.addAttribute(StatusUpdate.CUR_MP, (int) target.getCurrentMp());
 		target.sendPacket(su);
-		
 		return true;
 	}
 	

+ 1 - 4
L2J_DataPack_BETA/dist/game/data/scripts/handlers/skillhandlers/CombatPointHeal.java

@@ -61,10 +61,7 @@ public class CombatPointHeal implements ISkillHandler
 			cp = Math.min(cp, target.getMaxRecoverableCp() - target.getCurrentCp());
 			
 			// Prevent negative amounts
-			if (cp < 0)
-			{
-				cp = 0;
-			}
+			cp = Math.max(cp, 0);
 			
 			SystemMessage sm = SystemMessage.getSystemMessage(SystemMessageId.S1_CP_WILL_BE_RESTORED);
 			sm.addNumber((int) cp);

+ 0 - 16
L2J_DataPack_BETA/dist/game/data/scripts/handlers/skillhandlers/Continuous.java

@@ -49,12 +49,8 @@ public class Continuous implements ISkillHandler
 		L2SkillType.MDOT,
 		L2SkillType.POISON,
 		L2SkillType.BLEED,
-		L2SkillType.HOT,
-		L2SkillType.CPHOT,
-		L2SkillType.MPHOT,
 		L2SkillType.FEAR,
 		L2SkillType.CONT,
-		L2SkillType.UNDEAD_DEFENSE,
 		L2SkillType.AGGDEBUFF,
 		L2SkillType.FUSION
 	};
@@ -117,18 +113,6 @@ public class Continuous implements ISkillHandler
 				}
 			}
 			
-			switch (skill.getSkillType())
-			{
-				case HOT:
-				case CPHOT:
-				case MPHOT:
-					if (activeChar.isInvul())
-					{
-						continue;
-					}
-					break;
-			}
-			
 			if (skill.isOffensive() || skill.isDebuff())
 			{
 				shld = Formulas.calcShldUse(activeChar, target, skill);

+ 0 - 132
L2J_DataPack_BETA/dist/game/data/scripts/handlers/skillhandlers/Disablers.java

@@ -410,113 +410,6 @@ public class Disablers implements ISkillHandler
 					
 					break;
 				}
-				case CANCEL_STATS: // same than CANCEL but
-				{
-					if (Formulas.calcSkillReflect(target, skill) == Formulas.SKILL_REFLECT_SUCCEED)
-					{
-						target = activeChar;
-					}
-					
-					if (Formulas.calcSkillSuccess(activeChar, target, skill, shld, ss, sps, bss))
-					{
-						L2Effect[] effects = target.getAllEffects();
-						
-						int max = skill.getMaxNegatedEffects();
-						if (max == 0)
-						{
-							max = Integer.MAX_VALUE; // this is for RBcancells and stuff...
-						}
-						
-						if (effects.length >= max)
-						{
-							effects = SortEffects(effects);
-						}
-						
-						// for(int i = 0; i < effects.length;i++)
-						// activeChar.sendMessage(Integer.toString(effects[i].getSkill().getMagicLevel()));
-						
-						int count = 1;
-						
-						for (L2Effect e : effects)
-						{
-							// do not delete signet effects!
-							switch (e.getEffectType())
-							{
-								case SIGNET_GROUND:
-								case SIGNET_EFFECT:
-									continue;
-							}
-							
-							switch (e.getSkill().getId())
-							{
-								case 4082:
-								case 4215:
-								case 4515:
-								case 5182:
-								case 110:
-								case 111:
-								case 1323:
-								case 1325:
-									continue;
-							}
-							
-							switch (e.getSkill().getSkillType())
-							{
-								case BUFF:
-								case HEAL_PERCENT:
-								case COMBATPOINTHEAL:
-									break;
-								default:
-									continue;
-							}
-							
-							double rate = 1 - (count / max);
-							if (rate < 0.33)
-							{
-								rate = 0.33;
-							}
-							else if (rate > 0.95)
-							{
-								rate = 0.95;
-							}
-							if (Rnd.get(1000) < (rate * 1000))
-							{
-								boolean exit = false;
-								for (L2SkillType skillType : skill.getNegateStats())
-								{
-									if (skillType == e.getSkillType())
-									{
-										exit = true;
-										break;
-									}
-								}
-								
-								if (exit)
-								{
-									e.exit();
-									if (count == max)
-									{
-										break;
-									}
-									
-									count++;
-								}
-							}
-						}
-					}
-					else
-					{
-						if (activeChar.isPlayer())
-						{
-							SystemMessage sm = SystemMessage.getSystemMessage(SystemMessageId.C1_RESISTED_YOUR_S2);
-							sm.addCharName(target);
-							sm.addSkillName(skill);
-							activeChar.sendPacket(sm);
-						}
-					}
-					
-					break;
-				}
 				case NEGATE:
 				{
 					if (Formulas.calcSkillReflect(target, skill) == Formulas.SKILL_REFLECT_SUCCEED)
@@ -726,31 +619,6 @@ public class Disablers implements ISkillHandler
 		return (maxRemoved <= 0) ? count + 2 : count;
 	}
 	
-	private L2Effect[] SortEffects(L2Effect[] initial)
-	{
-		// this is just classic insert sort
-		// If u can find better sort for max 20-30 units, rewrite this... :)
-		int min, index = 0;
-		L2Effect pom;
-		for (int i = 0; i < initial.length; i++)
-		{
-			min = initial[i].getSkill().getMagicLevel();
-			for (int j = i; j < initial.length; j++)
-			{
-				if (initial[j].getSkill().getMagicLevel() <= min)
-				{
-					min = initial[j].getSkill().getMagicLevel();
-					index = j;
-				}
-			}
-			pom = initial[i];
-			initial[i] = initial[index];
-			initial[index] = pom;
-		}
-		
-		return initial;
-	}
-	
 	@Override
 	public L2SkillType[] getSkillIds()
 	{

+ 47 - 56
L2J_DataPack_BETA/dist/game/data/scripts/handlers/skillhandlers/Heal.java

@@ -39,7 +39,6 @@ public class Heal implements ISkillHandler
 	private static final L2SkillType[] SKILL_IDS =
 	{
 		L2SkillType.HEAL,
-		L2SkillType.HEAL_STATIC
 	};
 	
 	@Override
@@ -57,64 +56,58 @@ public class Heal implements ISkillHandler
 		boolean sps = skill.isMagic() && activeChar.isChargedShot(ShotType.SPIRITSHOTS);
 		boolean bss = skill.isMagic() && activeChar.isChargedShot(ShotType.BLESSED_SPIRITSHOTS);
 		
-		switch (skill.getSkillType())
+		double staticShotBonus = 0;
+		int mAtkMul = 1; // mAtk multiplier
+		if (((sps || bss) && (activeChar.isPlayer() && activeChar.getActingPlayer().isMageClass())) || activeChar.isSummon())
 		{
-			case HEAL_STATIC:
-				break;
-			default:
-				double staticShotBonus = 0;
-				int mAtkMul = 1; // mAtk multiplier
-				if (((sps || bss) && (activeChar.isPlayer() && activeChar.getActingPlayer().isMageClass())) || activeChar.isSummon())
+			staticShotBonus = skill.getMpConsume(); // static bonus for spiritshots
+			
+			if (bss)
+			{
+				mAtkMul = 4;
+				staticShotBonus *= 2.4; // static bonus for blessed spiritshots
+			}
+			else
+			{
+				mAtkMul = 2;
+			}
+		}
+		else if ((sps || bss) && activeChar.isNpc())
+		{
+			staticShotBonus = 2.4 * skill.getMpConsume(); // always blessed spiritshots
+			mAtkMul = 4;
+		}
+		else
+		{
+			// no static bonus
+			// grade dynamic bonus
+			final L2ItemInstance weaponInst = activeChar.getActiveWeaponInstance();
+			if (weaponInst != null)
+			{
+				switch (weaponInst.getItem().getItemGrade())
 				{
-					staticShotBonus = skill.getMpConsume(); // static bonus for spiritshots
-					
-					if (bss)
-					{
+					case L2Item.CRYSTAL_S84:
 						mAtkMul = 4;
-						staticShotBonus *= 2.4; // static bonus for blessed spiritshots
-					}
-					else
-					{
+						break;
+					case L2Item.CRYSTAL_S80:
 						mAtkMul = 2;
-					}
-				}
-				else if ((sps || bss) && activeChar.isNpc())
-				{
-					staticShotBonus = 2.4 * skill.getMpConsume(); // always blessed spiritshots
-					mAtkMul = 4;
+						break;
 				}
-				else
-				{
-					// no static bonus
-					// grade dynamic bonus
-					final L2ItemInstance weaponInst = activeChar.getActiveWeaponInstance();
-					if (weaponInst != null)
-					{
-						switch (weaponInst.getItem().getItemGrade())
-						{
-							case L2Item.CRYSTAL_S84:
-								mAtkMul = 4;
-								break;
-							case L2Item.CRYSTAL_S80:
-								mAtkMul = 2;
-								break;
-						}
-					}
-					// shot dynamic bonus
-					if (bss)
-					{
-						mAtkMul *= 4; // 16x/8x/4x s84/s80/other
-					}
-					else
-					{
-						mAtkMul += 1; // 5x/3x/1x s84/s80/other
-					}
-				}
-				
-				power += staticShotBonus + Math.sqrt(mAtkMul * activeChar.getMAtk(activeChar, null));
-				activeChar.setChargedShot(bss ? ShotType.BLESSED_SPIRITSHOTS : ShotType.SPIRITSHOTS, false);
+			}
+			// shot dynamic bonus
+			if (bss)
+			{
+				mAtkMul *= 4; // 16x/8x/4x s84/s80/other
+			}
+			else
+			{
+				mAtkMul += 1; // 5x/3x/1x s84/s80/other
+			}
 		}
 		
+		power += staticShotBonus + Math.sqrt(mAtkMul * activeChar.getMAtk(activeChar, null));
+		activeChar.setChargedShot(bss ? ShotType.BLESSED_SPIRITSHOTS : ShotType.SPIRITSHOTS, false);
+		
 		double hp;
 		for (L2Character target : (L2Character[]) targets)
 		{
@@ -175,10 +168,8 @@ public class Heal implements ISkillHandler
 			// from CT2 u will receive exact HP, u can't go over it, if u have full HP and u get HP buff, u will receive 0HP restored message
 			hp = Math.min(hp, target.getMaxRecoverableHp() - target.getCurrentHp());
 			
-			if (hp < 0)
-			{
-				hp = 0;
-			}
+			// Prevent negative amounts
+			hp = Math.max(hp, 0);
 			
 			target.setCurrentHp(hp + target.getCurrentHp());
 			StatusUpdate su = new StatusUpdate(target);

+ 48 - 58
L2J_DataPack_BETA/dist/game/data/scripts/handlers/skillhandlers/ManaHeal.java → L2J_DataPack_BETA/dist/game/data/scripts/handlers/skillhandlers/ManaHealByLevel.java

@@ -33,13 +33,11 @@ import com.l2jserver.gameserver.network.serverpackets.SystemMessage;
 /**
  * @version $Revision: 1.1.2.2.2.1 $ $Date: 2005/03/02 15:38:36 $
  */
-public class ManaHeal implements ISkillHandler
+public class ManaHealByLevel implements ISkillHandler
 {
 	private static final L2SkillType[] SKILL_IDS =
 	{
-		L2SkillType.MANAHEAL,
-		L2SkillType.MANARECHARGE,
-		L2SkillType.MANA_BY_LEVEL
+		L2SkillType.MANAHEAL_BY_LEVEL
 	};
 	
 	@Override
@@ -54,61 +52,53 @@ public class ManaHeal implements ISkillHandler
 			
 			double mp = skill.getPower();
 			
-			switch (skill.getSkillType())
+			// recharged mp influenced by difference between target level and skill level
+			// if target is within 5 levels or lower then skill level there's no penalty.
+			mp = target.calcStat(Stats.RECHARGE_MP_RATE, mp, null, null);
+			if (target.getLevel() > skill.getMagicLevel())
 			{
-				case MANARECHARGE:
-					mp = target.calcStat(Stats.RECHARGE_MP_RATE, mp, null, null);
-					break;
-				case MANA_BY_LEVEL:
-					// recharged mp influenced by difference between target level and skill level
-					// if target is within 5 levels or lower then skill level there's no penalty.
-					mp = target.calcStat(Stats.RECHARGE_MP_RATE, mp, null, null);
-					if (target.getLevel() > skill.getMagicLevel())
-					{
-						int lvlDiff = target.getLevel() - skill.getMagicLevel();
-						// if target is too high compared to skill level, the amount of recharged mp gradually decreases.
-						if (lvlDiff == 6)
-						{
-							mp *= 0.9; // only 90% effective
-						}
-						else if (lvlDiff == 7)
-						{
-							mp *= 0.8; // 80%
-						}
-						else if (lvlDiff == 8)
-						{
-							mp *= 0.7; // 70%
-						}
-						else if (lvlDiff == 9)
-						{
-							mp *= 0.6; // 60%
-						}
-						else if (lvlDiff == 10)
-						{
-							mp *= 0.5; // 50%
-						}
-						else if (lvlDiff == 11)
-						{
-							mp *= 0.4; // 40%
-						}
-						else if (lvlDiff == 12)
-						{
-							mp *= 0.3; // 30%
-						}
-						else if (lvlDiff == 13)
-						{
-							mp *= 0.2; // 20%
-						}
-						else if (lvlDiff == 14)
-						{
-							mp *= 0.1; // 10%
-						}
-						else if (lvlDiff >= 15)
-						{
-							mp = 0; // 0mp recharged
-						}
-					}
-					
+				int lvlDiff = target.getLevel() - skill.getMagicLevel();
+				// if target is too high compared to skill level, the amount of recharged mp gradually decreases.
+				if (lvlDiff == 6)
+				{
+					mp *= 0.9; // only 90% effective
+				}
+				else if (lvlDiff == 7)
+				{
+					mp *= 0.8; // 80%
+				}
+				else if (lvlDiff == 8)
+				{
+					mp *= 0.7; // 70%
+				}
+				else if (lvlDiff == 9)
+				{
+					mp *= 0.6; // 60%
+				}
+				else if (lvlDiff == 10)
+				{
+					mp *= 0.5; // 50%
+				}
+				else if (lvlDiff == 11)
+				{
+					mp *= 0.4; // 40%
+				}
+				else if (lvlDiff == 12)
+				{
+					mp *= 0.3; // 30%
+				}
+				else if (lvlDiff == 13)
+				{
+					mp *= 0.2; // 20%
+				}
+				else if (lvlDiff == 14)
+				{
+					mp *= 0.1; // 10%
+				}
+				else if (lvlDiff >= 15)
+				{
+					mp = 0; // 0mp recharged
+				}
 			}
 			
 			// from CT2 u will receive exact MP, u can't go over it, if u have full MP and u get MP buff, u will receive 0MP restored message

+ 1 - 4
L2J_DataPack_BETA/dist/game/data/scripts/handlers/targethandlers/TargetOne.java

@@ -39,11 +39,8 @@ public class TargetOne implements ITargetTypeHandler
 		{
 			case BUFF:
 			case HEAL:
-			case HOT:
 			case HEAL_PERCENT:
-			case MANARECHARGE:
-			case MANA_BY_LEVEL:
-			case MANAHEAL:
+			case MANAHEAL_BY_LEVEL:
 			case NEGATE:
 			case CANCEL_DEBUFF:
 			case COMBATPOINTHEAL:

+ 8 - 18
L2J_DataPack_BETA/dist/game/data/scripts/instances/SeedOfInfinity/HallOfSuffering.java

@@ -35,11 +35,11 @@ import com.l2jserver.gameserver.model.actor.L2Character;
 import com.l2jserver.gameserver.model.actor.L2Npc;
 import com.l2jserver.gameserver.model.actor.instance.L2MonsterInstance;
 import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
+import com.l2jserver.gameserver.model.effects.L2EffectType;
 import com.l2jserver.gameserver.model.instancezone.InstanceWorld;
 import com.l2jserver.gameserver.model.quest.Quest;
 import com.l2jserver.gameserver.model.quest.QuestState;
 import com.l2jserver.gameserver.model.skills.L2Skill;
-import com.l2jserver.gameserver.model.skills.L2SkillType;
 import com.l2jserver.gameserver.network.SystemMessageId;
 import com.l2jserver.gameserver.network.serverpackets.SystemMessage;
 import com.l2jserver.gameserver.util.Util;
@@ -671,7 +671,7 @@ public class HallOfSuffering extends Quest
 	@Override
 	public String onSkillSee(L2Npc npc, L2PcInstance caster, L2Skill skill, L2Object[] targets, boolean isSummon)
 	{
-		if ((skill.getId() == 1335) || (skill.getSkillType() == L2SkillType.HEAL) || (skill.getSkillType() == L2SkillType.HEAL_PERCENT) || (skill.getSkillType() == L2SkillType.HEAL_STATIC))
+		if (skill.hasEffectType(L2EffectType.REBALANCE_HP, L2EffectType.HEAL, L2EffectType.HEAL_PERCENT))
 		{
 			int hate = 2 * skill.getAggroPoints();
 			if (hate < 2)
@@ -918,27 +918,17 @@ public class HallOfSuffering extends Quest
 	public HallOfSuffering(int questId, String name, String descr)
 	{
 		super(questId, name, descr);
-		
-		addStartNpc(MOUTHOFEKIMUS);
-		addTalkId(MOUTHOFEKIMUS);
-		addStartNpc(TEPIOS);
+		addStartNpc(MOUTHOFEKIMUS, TEPIOS);
+		addTalkId(MOUTHOFEKIMUS, TEPIOS);
 		addFirstTalkId(TEPIOS);
-		addTalkId(TEPIOS);
-		addKillId(TUMOR_ALIVE);
-		addKillId(KLODEKUS);
-		addKillId(KLANIKUS);
-		addAttackId(KLODEKUS);
-		addAttackId(KLANIKUS);
-		for (int mobId : TUMOR_MOBIDS)
-		{
-			addSkillSeeId(mobId);
-			addKillId(mobId);
-		}
+		addKillId(TUMOR_ALIVE, KLODEKUS, KLANIKUS);
+		addAttackId(KLODEKUS, KLANIKUS);
+		addSkillSeeId(TUMOR_MOBIDS);
+		addKillId(TUMOR_MOBIDS);
 	}
 	
 	public static void main(String[] args)
 	{
-		// now call the constructor (starts up the)
 		new HallOfSuffering(-1, qn, "instances");
 	}
 }

+ 1 - 1
L2J_DataPack_BETA/dist/game/data/stats/skills/01000-01099.xml

@@ -412,7 +412,7 @@
 		<set name="target" val="TARGET_ONE" />
 		<set name="reuseDelay" val="3000" />
 		<set name="hitTime" val="6000" />
-		<set name="skillType" val="MANA_BY_LEVEL" />
+		<set name="skillType" val="MANAHEAL_BY_LEVEL" />
 		<set name="isMagic" val="1" /> <!-- Magic Skill -->
 		<set name="operateType" val="A1" />
 		<set name="castRange" val="400" />

+ 1 - 1
L2J_DataPack_BETA/dist/game/data/stats/skills/01100-01199.xml

@@ -257,7 +257,7 @@
 		<set name="target" val="TARGET_PET" />
 		<set name="reuseDelay" val="3000" />
 		<set name="hitTime" val="4000" />
-		<set name="skillType" val="MANA_BY_LEVEL" />
+		<set name="skillType" val="MANAHEAL_BY_LEVEL" />
 		<set name="isMagic" val="1" /> <!-- Magic Skill -->
 		<set name="operateType" val="A1" />
 		<set name="castRange" val="400" />

+ 0 - 1
L2J_DataPack_BETA/dist/game/data/stats/skills/02000-02099.xml

@@ -350,7 +350,6 @@
 	</skill>
 	<skill id="2038" levels="1" name="Quick Healing Potion">
 		<set name="isMagic" val="2" /> <!-- Static Skill -->
-		<set name="isStaticHeal" val="true" />
 		<set name="itemConsumeCount" val="1" />
 		<set name="target" val="TARGET_SELF" />
 		<set name="operateType" val="A1" />

+ 0 - 1
L2J_DataPack_BETA/dist/game/data/stats/skills/02200-02299.xml

@@ -1652,7 +1652,6 @@
 		<table name="#levelRange"> 1;19 20;39 40;51 52;60 61;75 76;85 </table>
 		<table name="#amount"> 250 650 1100 1500 1900 2300 </table>
 		<set name="isMagic" val="2" /> <!-- Static Skill -->
-		<set name="isStaticHeal" val="true" />
 		<set name="itemConsumeCount" val="1" />
 		<set name="magicLvl" val="1" />
 		<set name="operateType" val="A1" />

+ 0 - 1
L2J_DataPack_BETA/dist/game/data/stats/skills/02300-02399.xml

@@ -1457,7 +1457,6 @@
 	<skill id="2395" levels="1" name="Lesser Battlefield Healing Potion">
 		<!-- Confirmed CT2.5 -->
 		<set name="isMagic" val="2" /> <!-- Static Skill -->
-		<set name="isStaticHeal" val="true" />
 		<set name="itemConsumeCount" val="1" />
 		<set name="magicLvl" val="1" />
 		<set name="operateType" val="A1" />

+ 0 - 1
L2J_DataPack_BETA/dist/game/data/stats/skills/02700-02799.xml

@@ -1978,7 +1978,6 @@
 		<table name="#amount"> 700 20000 </table> <!-- FIXME: wrong values! -->
 		<set name="isMagic" val="2" /> <!-- Static Skill -->
 		<set name="itemConsumeCount" val="1" />
-		<set name="isStaticHeal" val="true" />
 		<set name="magicLvl" val="1" />
 		<set name="reuseDelay" val="2000" />
 		<set name="operateType" val="A1" />

+ 0 - 1
L2J_DataPack_BETA/dist/game/data/stats/skills/02800-02899.xml

@@ -1095,7 +1095,6 @@
 		<table name="#levelRange"> 1;19 20;39 40;51 52;60 61;75 76;85 </table>
 		<table name="#amount"> 500 1300 2200 3000 3800 4600 </table>
 		<set name="isMagic" val="2" /> <!-- Static Skill -->
-		<set name="isStaticHeal" val="true" />
 		<set name="itemConsumeCount" val="1" />
 		<set name="magicLvl" val="1" />
 		<set name="operateType" val="A1" />

+ 1 - 1
L2J_DataPack_BETA/dist/game/data/stats/skills/03100-03199.xml

@@ -506,7 +506,7 @@
 		<set name="target" val="TARGET_ONE" />
 		<set name="reuseDelay" val="30000" />
 		<set name="hitTime" val="6000" />
-		<set name="skillType" val="MANA_BY_LEVEL" />
+		<set name="skillType" val="MANAHEAL_BY_LEVEL" />
 		<set name="operateType" val="A1" />
 		<set name="castRange" val="400" />
 		<set name="effectRange" val="900" />

+ 0 - 1
L2J_DataPack_BETA/dist/game/data/stats/skills/03200-03299.xml

@@ -924,7 +924,6 @@
 		<set name="aggroPoints" val="532" />
 		<set name="hitTime" val="1200" />
 		<set name="isMagic" val="2" /> <!-- Static Skill -->
-		<set name="isStaticHeal" val="true" />
 		<set name="magicLvl" val="55" />
 		<set name="mpConsume" val="40" />
 		<set name="mpInitialConsume" val="10" />

+ 2 - 2
L2J_DataPack_BETA/dist/game/data/stats/skills/04000-04099.xml

@@ -272,7 +272,7 @@
 		<set name="target" val="TARGET_ONE" />
 		<set name="reuseDelay" val="8000" />
 		<set name="hitTime" val="2500" />
-		<set name="skillType" val="MANA_BY_LEVEL" />
+		<set name="skillType" val="MANAHEAL_BY_LEVEL" />
 		<set name="isMagic" val="1" /> <!-- Magic Skill -->
 		<set name="magicLvl" val="#magicLvl" />
 		<set name="operateType" val="A1" />
@@ -1535,7 +1535,7 @@
 		<set name="operateType" val="A1" />
 		<set name="target" val="TARGET_ONE" />
 		<for>
-			<effect name="CancelAll" noicon="1" val="0" effectType="CANCEL_ALL" />
+			<effect name="CancelAll" noicon="1" val="0" />
 		</for>
 	</skill>
 	<skill id="4095" levels="1" name="Damage Shield">

+ 2 - 2
L2J_DataPack_BETA/dist/game/data/stats/skills/04100-04199.xml

@@ -871,7 +871,7 @@
 		<set name="operateType" val="A1" />
 		<set name="target" val="TARGET_ONE" />
 		<for>
-			<effect name="CancelAll" noicon="1" val="0" effectType="CANCEL_ALL" />
+			<effect name="CancelAll" noicon="1" val="0" />
 		</for>
 	</skill>
 	<skill id="4148" levels="12" name="Poison">
@@ -1459,7 +1459,7 @@
 		<set name="affectRange" val="200" />
 		<set name="target" val="TARGET_AURA" />
 		<for>
-			<effect name="CancelAll" noicon="1" val="0" effectType="CANCEL_ALL" />
+			<effect name="CancelAll" noicon="1" val="0" />
 		</for>
 	</skill>
 	<skill id="4178" levels="12" name="BOSS Flame Strike">

+ 1 - 1
L2J_DataPack_BETA/dist/game/data/stats/skills/04300-04399.xml

@@ -445,7 +445,7 @@
 		<set name="affectRange" val="2000" />
 		<set name="target" val="TARGET_AREA" />
 		<for>
-			<effect name="CancelAll" noicon="1" val="0" effectType="CANCEL_ALL" />
+			<effect name="CancelAll" noicon="1" val="0" />
 		</for>
 	</skill>
 	<skill id="4335" levels="1" name="Sacred Attack">

+ 1 - 1
L2J_DataPack_BETA/dist/game/data/stats/skills/05200-05299.xml

@@ -18,7 +18,7 @@
 		<set name="operateType" val="A1" />
 		<set name="power" val="#amount" />
 		<set name="reuseDelay" val="12000" />
-		<set name="skillType" val="MANA_BY_LEVEL" />
+		<set name="skillType" val="MANAHEAL_BY_LEVEL" />
 		<set name="target" val="TARGET_OWNER_PET" />
 	</skill>
 	<skill id="5201" levels="6" name="Pet Concentration">

+ 0 - 2
L2J_DataPack_BETA/dist/game/data/stats/skills/05500-05599.xml

@@ -1171,7 +1171,6 @@
 	</skill>
 	<skill id="5577" levels="1" name="Healer Ability - Heal">
 		<!-- CT2.5 retail confirmed -->
-		<set name="isStaticHeal" val="true" />
 		<set name="isTriggeredSkill" val="true" />
 		<set name="magicLvl" val="80" />
 		<set name="operateType" val="A1" />
@@ -1435,7 +1434,6 @@
 		<table name="#magicLvl"> 60 62 64 66 68 70 72 74 </table>
 		<table name="#amount"> 189 196 203 210 217 223 229 234 </table>
 		<set name="isMagic" val="2" /> <!-- Static Skill -->
-		<set name="isStaticHeal" val="true" />
 		<set name="isTriggeredSkill" val="true" />
 		<set name="magicLvl" val="#magicLvl" />
 		<set name="operateType" val="A1" />

+ 0 - 1
L2J_DataPack_BETA/dist/game/data/stats/skills/05600-05699.xml

@@ -1596,7 +1596,6 @@
 		<table name="#magicLvl"> 40 48 56 60 64 68 72 76 76 76 77 77 77 78 78 78 79 79 79 80 80 80 81 81 81 82 82 82 83 83 83 84 84 84 85 85 85 </table>
 		<table name="#amount"> 217 281 346 377 406 434 458 470 477 485 492 500 507 515 522 530 537 545 552 560 567 575 582 590 597 605 612 620 627 635 642 650 657 665 672 680 687 </table>
 		<set name="isMagic" val="2" /> <!-- Static Skill -->
-		<set name="isStaticHeal" val="true" />
 		<set name="isTriggeredSkill" val="true" />
 		<set name="magicLvl" val="#magicLvl" />
 		<set name="operateType" val="A1" />

+ 2 - 2
L2J_DataPack_BETA/dist/game/data/stats/skills/06700-06799.xml

@@ -272,7 +272,7 @@
 	</skill>
 	<skill id="6726" levels="1" name="Bless the Blood">
 		<!-- High Five Skill -->
-		<set name="isStaticHeal" val="true" />
+		<set name="isMagic" val="2" /> <!-- Static Skill -->
 		<set name="isTriggeredSkill" val="true" />
 		<set name="operateType" val="A1" />
 		<set name="reuseDelay" val="4000" />
@@ -304,7 +304,7 @@
 		<set name="hitTime" val="6000" />
 		<set name="isMagic" val="1" /> <!-- Magic Skill -->
 		<set name="operateType" val="A1" />
-		<set name="skillType" val="MANA_BY_LEVEL" />
+		<set name="skillType" val="MANAHEAL_BY_LEVEL" />
 		<set name="target" val="TARGET_ONE" />
 		<for>
 			<effect name="ManaHealByLevel" noicon="1" val="136" />

+ 0 - 1
L2J_DataPack_BETA/dist/game/data/stats/skills/06800-06899.xml

@@ -219,7 +219,6 @@
 		<!-- Arena Skill -->
 		<set name="castRange" val="400" />
 		<set name="effectRange" val="900" />
-		<set name="isStaticHeal" val="true" />
 		<set name="magicLvl" val="1" />
 		<set name="operateType" val="A1" /> <!-- FIXME: value unconfirmed -->
 		<set name="skillType" val="HEAL" />

+ 0 - 1
L2J_DataPack_BETA/dist/game/data/stats/skills/23200-23299.xml

@@ -137,7 +137,6 @@
 		<!-- Confirmed CT2.5 -->
 		<!-- Triggered from 22175 -->
 		<set name="isMagic" val="2" /> <!-- Static Skill -->
-		<set name="isStaticHeal" val="true" />
 		<set name="isTriggeredSkill" val="true" />
 		<set name="itemConsumeCount" val="1" />
 		<set name="magicLvl" val="85" />

+ 0 - 2
L2J_DataPack_BETA/dist/game/data/stats/skills/26000-26099.xml

@@ -246,7 +246,6 @@
 	</skill>
 	<skill id="26024" levels="1" name="Temporary Healing Potion">
 		<set name="isMagic" val="2" /> <!-- Static Skill -->
-		<set name="isStaticHeal" val="true" />
 		<set name="itemConsumeCount" val="1" />
 		<set name="target" val="TARGET_SELF" />
 		<set name="operateType" val="A1" />
@@ -301,7 +300,6 @@
 		<table name="#levelRange"> 0;0 20;39 40;51 52;60 61;75 76;85 </table>
 		<table name="#amount"> 0 650 1100 1500 1900 2300 </table>
 		<set name="isMagic" val="2" /> <!-- Static Skill -->
-		<set name="isStaticHeal" val="true" />
 		<set name="itemConsumeCount" val="1" />
 		<set name="magicLvl" val="1" />
 		<set name="operateType" val="A1" />