Fixed HealEffect bonuses.

This commit is contained in:
MobiusDevelopment 2019-06-07 10:34:22 +00:00
parent 479b69ddb2
commit 25d199e044
48 changed files with 84 additions and 48 deletions

View File

@ -107,7 +107,8 @@ public final class Heal extends AbstractEffect
if (!skill.isStatic()) if (!skill.isStatic())
{ {
amount += staticShotBonus + Math.sqrt(mAtkMul * effector.getMAtk()); amount += staticShotBonus + Math.sqrt(mAtkMul * effector.getMAtk());
amount = effected.getStat().getValue(Stats.HEAL_EFFECT, amount); amount *= effected.getStat().getValue(Stats.HEAL_EFFECT, 1);
amount += effected.getStat().getValue(Stats.HEAL_EFFECT_ADD, 0);
// Heal critic, since CT2.3 Gracia Final // Heal critic, since CT2.3 Gracia Final
if (skill.isMagic() && Formulas.calcCrit(skill.getMagicCriticalRate(), effector, effected, skill)) if (skill.isMagic() && Formulas.calcCrit(skill.getMagicCriticalRate(), effector, effected, skill))
{ {

View File

@ -20,12 +20,12 @@ import org.l2jmobius.gameserver.model.StatsSet;
import org.l2jmobius.gameserver.model.stats.Stats; import org.l2jmobius.gameserver.model.stats.Stats;
/** /**
* @author Sdw * @author Sdw, Mobius
*/ */
public class HealEffect extends AbstractStatEffect public class HealEffect extends AbstractStatEffect
{ {
public HealEffect(StatsSet params) public HealEffect(StatsSet params)
{ {
super(params, Stats.HEAL_EFFECT); super(params, Stats.HEAL_EFFECT, Stats.HEAL_EFFECT_ADD);
} }
} }

View File

@ -103,7 +103,8 @@ public final class HpCpHeal extends AbstractEffect
if (!skill.isStatic()) if (!skill.isStatic())
{ {
amount += staticShotBonus + Math.sqrt(mAtkMul * effector.getMAtk()); amount += staticShotBonus + Math.sqrt(mAtkMul * effector.getMAtk());
amount = effected.getStat().getValue(Stats.HEAL_EFFECT, amount); amount *= effected.getStat().getValue(Stats.HEAL_EFFECT, 1);
amount += effected.getStat().getValue(Stats.HEAL_EFFECT_ADD, 0);
// Heal critic, since CT2.3 Gracia Final // Heal critic, since CT2.3 Gracia Final
if (skill.isMagic() && (Formulas.calcCrit(skill.getMagicCriticalRate(), effector, effected, skill) || effector.isAffected(EffectFlag.HPCPHEAL_CRITICAL))) if (skill.isMagic() && (Formulas.calcCrit(skill.getMagicCriticalRate(), effector, effected, skill) || effector.isAffected(EffectFlag.HPCPHEAL_CRITICAL)))
{ {

View File

@ -73,6 +73,7 @@ public enum Stats
ADDITIONAL_POTION_CP("addPotionCp"), ADDITIONAL_POTION_CP("addPotionCp"),
MANA_CHARGE("manaCharge"), MANA_CHARGE("manaCharge"),
HEAL_EFFECT("healEffect"), HEAL_EFFECT("healEffect"),
HEAL_EFFECT_ADD("healEffectAdd"),
// ATTACK & DEFENCE // ATTACK & DEFENCE
PHYSICAL_DEFENCE("pDef", new PDefenseFinalizer()), PHYSICAL_DEFENCE("pDef", new PDefenseFinalizer()),

View File

@ -107,7 +107,8 @@ public final class Heal extends AbstractEffect
if (!skill.isStatic()) if (!skill.isStatic())
{ {
amount += staticShotBonus + Math.sqrt(mAtkMul * effector.getMAtk()); amount += staticShotBonus + Math.sqrt(mAtkMul * effector.getMAtk());
amount = effected.getStat().getValue(Stats.HEAL_EFFECT, amount); amount *= effected.getStat().getValue(Stats.HEAL_EFFECT, 1);
amount += effected.getStat().getValue(Stats.HEAL_EFFECT_ADD, 0);
// Heal critic, since CT2.3 Gracia Final // Heal critic, since CT2.3 Gracia Final
if (skill.isMagic() && Formulas.calcCrit(skill.getMagicCriticalRate(), effector, effected, skill)) if (skill.isMagic() && Formulas.calcCrit(skill.getMagicCriticalRate(), effector, effected, skill))
{ {

View File

@ -20,12 +20,12 @@ import org.l2jmobius.gameserver.model.StatsSet;
import org.l2jmobius.gameserver.model.stats.Stats; import org.l2jmobius.gameserver.model.stats.Stats;
/** /**
* @author Sdw * @author Sdw, Mobius
*/ */
public class HealEffect extends AbstractStatEffect public class HealEffect extends AbstractStatEffect
{ {
public HealEffect(StatsSet params) public HealEffect(StatsSet params)
{ {
super(params, Stats.HEAL_EFFECT); super(params, Stats.HEAL_EFFECT, Stats.HEAL_EFFECT_ADD);
} }
} }

View File

@ -103,7 +103,8 @@ public final class HpCpHeal extends AbstractEffect
if (!skill.isStatic()) if (!skill.isStatic())
{ {
amount += staticShotBonus + Math.sqrt(mAtkMul * effector.getMAtk()); amount += staticShotBonus + Math.sqrt(mAtkMul * effector.getMAtk());
amount = effected.getStat().getValue(Stats.HEAL_EFFECT, amount); amount *= effected.getStat().getValue(Stats.HEAL_EFFECT, 1);
amount += effected.getStat().getValue(Stats.HEAL_EFFECT_ADD, 0);
// Heal critic, since CT2.3 Gracia Final // Heal critic, since CT2.3 Gracia Final
if (skill.isMagic() && (Formulas.calcCrit(skill.getMagicCriticalRate(), effector, effected, skill) || effector.isAffected(EffectFlag.HPCPHEAL_CRITICAL))) if (skill.isMagic() && (Formulas.calcCrit(skill.getMagicCriticalRate(), effector, effected, skill) || effector.isAffected(EffectFlag.HPCPHEAL_CRITICAL)))
{ {

View File

@ -73,6 +73,7 @@ public enum Stats
ADDITIONAL_POTION_CP("addPotionCp"), ADDITIONAL_POTION_CP("addPotionCp"),
MANA_CHARGE("manaCharge"), MANA_CHARGE("manaCharge"),
HEAL_EFFECT("healEffect"), HEAL_EFFECT("healEffect"),
HEAL_EFFECT_ADD("healEffectAdd"),
// ATTACK & DEFENCE // ATTACK & DEFENCE
PHYSICAL_DEFENCE("pDef", new PDefenseFinalizer()), PHYSICAL_DEFENCE("pDef", new PDefenseFinalizer()),

View File

@ -107,7 +107,8 @@ public final class Heal extends AbstractEffect
if (!skill.isStatic()) if (!skill.isStatic())
{ {
amount += staticShotBonus + Math.sqrt(mAtkMul * effector.getMAtk()); amount += staticShotBonus + Math.sqrt(mAtkMul * effector.getMAtk());
amount = effected.getStat().getValue(Stats.HEAL_EFFECT, amount); amount *= effected.getStat().getValue(Stats.HEAL_EFFECT, 1);
amount += effected.getStat().getValue(Stats.HEAL_EFFECT_ADD, 0);
// Heal critic, since CT2.3 Gracia Final // Heal critic, since CT2.3 Gracia Final
if (skill.isMagic() && Formulas.calcCrit(skill.getMagicCriticalRate(), effector, effected, skill)) if (skill.isMagic() && Formulas.calcCrit(skill.getMagicCriticalRate(), effector, effected, skill))
{ {

View File

@ -20,12 +20,12 @@ import org.l2jmobius.gameserver.model.StatsSet;
import org.l2jmobius.gameserver.model.stats.Stats; import org.l2jmobius.gameserver.model.stats.Stats;
/** /**
* @author Sdw * @author Sdw, Mobius
*/ */
public class HealEffect extends AbstractStatEffect public class HealEffect extends AbstractStatEffect
{ {
public HealEffect(StatsSet params) public HealEffect(StatsSet params)
{ {
super(params, Stats.HEAL_EFFECT); super(params, Stats.HEAL_EFFECT, Stats.HEAL_EFFECT_ADD);
} }
} }

View File

@ -103,7 +103,8 @@ public final class HpCpHeal extends AbstractEffect
if (!skill.isStatic()) if (!skill.isStatic())
{ {
amount += staticShotBonus + Math.sqrt(mAtkMul * effector.getMAtk()); amount += staticShotBonus + Math.sqrt(mAtkMul * effector.getMAtk());
amount = effected.getStat().getValue(Stats.HEAL_EFFECT, amount); amount *= effected.getStat().getValue(Stats.HEAL_EFFECT, 1);
amount += effected.getStat().getValue(Stats.HEAL_EFFECT_ADD, 0);
// Heal critic, since CT2.3 Gracia Final // Heal critic, since CT2.3 Gracia Final
if (skill.isMagic() && (Formulas.calcCrit(skill.getMagicCriticalRate(), effector, effected, skill) || effector.isAffected(EffectFlag.HPCPHEAL_CRITICAL))) if (skill.isMagic() && (Formulas.calcCrit(skill.getMagicCriticalRate(), effector, effected, skill) || effector.isAffected(EffectFlag.HPCPHEAL_CRITICAL)))
{ {

View File

@ -73,6 +73,7 @@ public enum Stats
ADDITIONAL_POTION_CP("addPotionCp"), ADDITIONAL_POTION_CP("addPotionCp"),
MANA_CHARGE("manaCharge"), MANA_CHARGE("manaCharge"),
HEAL_EFFECT("healEffect"), HEAL_EFFECT("healEffect"),
HEAL_EFFECT_ADD("healEffectAdd"),
// ATTACK & DEFENCE // ATTACK & DEFENCE
PHYSICAL_DEFENCE("pDef", new PDefenseFinalizer()), PHYSICAL_DEFENCE("pDef", new PDefenseFinalizer()),

View File

@ -107,7 +107,8 @@ public final class Heal extends AbstractEffect
if (!skill.isStatic()) if (!skill.isStatic())
{ {
amount += staticShotBonus + Math.sqrt(mAtkMul * effector.getMAtk()); amount += staticShotBonus + Math.sqrt(mAtkMul * effector.getMAtk());
amount = effected.getStat().getValue(Stats.HEAL_EFFECT, amount); amount *= effected.getStat().getValue(Stats.HEAL_EFFECT, 1);
amount += effected.getStat().getValue(Stats.HEAL_EFFECT_ADD, 0);
// Heal critic, since CT2.3 Gracia Final // Heal critic, since CT2.3 Gracia Final
if (skill.isMagic() && Formulas.calcCrit(skill.getMagicCriticalRate(), effector, effected, skill)) if (skill.isMagic() && Formulas.calcCrit(skill.getMagicCriticalRate(), effector, effected, skill))
{ {

View File

@ -20,12 +20,12 @@ import org.l2jmobius.gameserver.model.StatsSet;
import org.l2jmobius.gameserver.model.stats.Stats; import org.l2jmobius.gameserver.model.stats.Stats;
/** /**
* @author Sdw * @author Sdw, Mobius
*/ */
public class HealEffect extends AbstractStatEffect public class HealEffect extends AbstractStatEffect
{ {
public HealEffect(StatsSet params) public HealEffect(StatsSet params)
{ {
super(params, Stats.HEAL_EFFECT); super(params, Stats.HEAL_EFFECT, Stats.HEAL_EFFECT_ADD);
} }
} }

View File

@ -103,7 +103,8 @@ public final class HpCpHeal extends AbstractEffect
if (!skill.isStatic()) if (!skill.isStatic())
{ {
amount += staticShotBonus + Math.sqrt(mAtkMul * effector.getMAtk()); amount += staticShotBonus + Math.sqrt(mAtkMul * effector.getMAtk());
amount = effected.getStat().getValue(Stats.HEAL_EFFECT, amount); amount *= effected.getStat().getValue(Stats.HEAL_EFFECT, 1);
amount += effected.getStat().getValue(Stats.HEAL_EFFECT_ADD, 0);
// Heal critic, since CT2.3 Gracia Final // Heal critic, since CT2.3 Gracia Final
if (skill.isMagic() && (Formulas.calcCrit(skill.getMagicCriticalRate(), effector, effected, skill) || effector.isAffected(EffectFlag.HPCPHEAL_CRITICAL))) if (skill.isMagic() && (Formulas.calcCrit(skill.getMagicCriticalRate(), effector, effected, skill) || effector.isAffected(EffectFlag.HPCPHEAL_CRITICAL)))
{ {

View File

@ -73,6 +73,7 @@ public enum Stats
ADDITIONAL_POTION_CP("addPotionCp"), ADDITIONAL_POTION_CP("addPotionCp"),
MANA_CHARGE("manaCharge"), MANA_CHARGE("manaCharge"),
HEAL_EFFECT("healEffect"), HEAL_EFFECT("healEffect"),
HEAL_EFFECT_ADD("healEffectAdd"),
// ATTACK & DEFENCE // ATTACK & DEFENCE
PHYSICAL_DEFENCE("pDef", new PDefenseFinalizer()), PHYSICAL_DEFENCE("pDef", new PDefenseFinalizer()),

View File

@ -107,7 +107,8 @@ public final class Heal extends AbstractEffect
if (!skill.isStatic()) if (!skill.isStatic())
{ {
amount += staticShotBonus + Math.sqrt(mAtkMul * effector.getMAtk()); amount += staticShotBonus + Math.sqrt(mAtkMul * effector.getMAtk());
amount = effected.getStat().getValue(Stats.HEAL_EFFECT, amount); amount *= effected.getStat().getValue(Stats.HEAL_EFFECT, 1);
amount += effected.getStat().getValue(Stats.HEAL_EFFECT_ADD, 0);
// Heal critic, since CT2.3 Gracia Final // Heal critic, since CT2.3 Gracia Final
if (skill.isMagic() && Formulas.calcCrit(skill.getMagicCriticalRate(), effector, effected, skill)) if (skill.isMagic() && Formulas.calcCrit(skill.getMagicCriticalRate(), effector, effected, skill))
{ {

View File

@ -20,12 +20,12 @@ import org.l2jmobius.gameserver.model.StatsSet;
import org.l2jmobius.gameserver.model.stats.Stats; import org.l2jmobius.gameserver.model.stats.Stats;
/** /**
* @author Sdw * @author Sdw, Mobius
*/ */
public class HealEffect extends AbstractStatEffect public class HealEffect extends AbstractStatEffect
{ {
public HealEffect(StatsSet params) public HealEffect(StatsSet params)
{ {
super(params, Stats.HEAL_EFFECT); super(params, Stats.HEAL_EFFECT, Stats.HEAL_EFFECT_ADD);
} }
} }

View File

@ -103,7 +103,8 @@ public final class HpCpHeal extends AbstractEffect
if (!skill.isStatic()) if (!skill.isStatic())
{ {
amount += staticShotBonus + Math.sqrt(mAtkMul * effector.getMAtk()); amount += staticShotBonus + Math.sqrt(mAtkMul * effector.getMAtk());
amount = effected.getStat().getValue(Stats.HEAL_EFFECT, amount); amount *= effected.getStat().getValue(Stats.HEAL_EFFECT, 1);
amount += effected.getStat().getValue(Stats.HEAL_EFFECT_ADD, 0);
// Heal critic, since CT2.3 Gracia Final // Heal critic, since CT2.3 Gracia Final
if (skill.isMagic() && (Formulas.calcCrit(skill.getMagicCriticalRate(), effector, effected, skill) || effector.isAffected(EffectFlag.HPCPHEAL_CRITICAL))) if (skill.isMagic() && (Formulas.calcCrit(skill.getMagicCriticalRate(), effector, effected, skill) || effector.isAffected(EffectFlag.HPCPHEAL_CRITICAL)))
{ {

View File

@ -73,6 +73,7 @@ public enum Stats
ADDITIONAL_POTION_CP("addPotionCp"), ADDITIONAL_POTION_CP("addPotionCp"),
MANA_CHARGE("manaCharge"), MANA_CHARGE("manaCharge"),
HEAL_EFFECT("healEffect"), HEAL_EFFECT("healEffect"),
HEAL_EFFECT_ADD("healEffectAdd"),
// ATTACK & DEFENCE // ATTACK & DEFENCE
PHYSICAL_DEFENCE("pDef", new PDefenseFinalizer()), PHYSICAL_DEFENCE("pDef", new PDefenseFinalizer()),

View File

@ -107,7 +107,8 @@ public final class Heal extends AbstractEffect
if (!skill.isStatic()) if (!skill.isStatic())
{ {
amount += staticShotBonus + Math.sqrt(mAtkMul * effector.getMAtk()); amount += staticShotBonus + Math.sqrt(mAtkMul * effector.getMAtk());
amount = effected.getStat().getValue(Stats.HEAL_EFFECT, amount); amount *= effected.getStat().getValue(Stats.HEAL_EFFECT, 1);
amount += effected.getStat().getValue(Stats.HEAL_EFFECT_ADD, 0);
// Heal critic, since CT2.3 Gracia Final // Heal critic, since CT2.3 Gracia Final
if (skill.isMagic() && Formulas.calcCrit(skill.getMagicCriticalRate(), effector, effected, skill)) if (skill.isMagic() && Formulas.calcCrit(skill.getMagicCriticalRate(), effector, effected, skill))
{ {

View File

@ -20,12 +20,12 @@ import org.l2jmobius.gameserver.model.StatsSet;
import org.l2jmobius.gameserver.model.stats.Stats; import org.l2jmobius.gameserver.model.stats.Stats;
/** /**
* @author Sdw * @author Sdw, Mobius
*/ */
public class HealEffect extends AbstractStatEffect public class HealEffect extends AbstractStatEffect
{ {
public HealEffect(StatsSet params) public HealEffect(StatsSet params)
{ {
super(params, Stats.HEAL_EFFECT); super(params, Stats.HEAL_EFFECT, Stats.HEAL_EFFECT_ADD);
} }
} }

View File

@ -103,7 +103,8 @@ public final class HpCpHeal extends AbstractEffect
if (!skill.isStatic()) if (!skill.isStatic())
{ {
amount += staticShotBonus + Math.sqrt(mAtkMul * effector.getMAtk()); amount += staticShotBonus + Math.sqrt(mAtkMul * effector.getMAtk());
amount = effected.getStat().getValue(Stats.HEAL_EFFECT, amount); amount *= effected.getStat().getValue(Stats.HEAL_EFFECT, 1);
amount += effected.getStat().getValue(Stats.HEAL_EFFECT_ADD, 0);
// Heal critic, since CT2.3 Gracia Final // Heal critic, since CT2.3 Gracia Final
if (skill.isMagic() && (Formulas.calcCrit(skill.getMagicCriticalRate(), effector, effected, skill) || effector.isAffected(EffectFlag.HPCPHEAL_CRITICAL))) if (skill.isMagic() && (Formulas.calcCrit(skill.getMagicCriticalRate(), effector, effected, skill) || effector.isAffected(EffectFlag.HPCPHEAL_CRITICAL)))
{ {

View File

@ -73,6 +73,7 @@ public enum Stats
ADDITIONAL_POTION_CP("addPotionCp"), ADDITIONAL_POTION_CP("addPotionCp"),
MANA_CHARGE("manaCharge"), MANA_CHARGE("manaCharge"),
HEAL_EFFECT("healEffect"), HEAL_EFFECT("healEffect"),
HEAL_EFFECT_ADD("healEffectAdd"),
// ATTACK & DEFENCE // ATTACK & DEFENCE
PHYSICAL_DEFENCE("pDef", new PDefenseFinalizer()), PHYSICAL_DEFENCE("pDef", new PDefenseFinalizer()),

View File

@ -107,7 +107,8 @@ public final class Heal extends AbstractEffect
if (!skill.isStatic()) if (!skill.isStatic())
{ {
amount += staticShotBonus + Math.sqrt(mAtkMul * effector.getMAtk()); amount += staticShotBonus + Math.sqrt(mAtkMul * effector.getMAtk());
amount = effected.getStat().getValue(Stats.HEAL_EFFECT, amount); amount *= effected.getStat().getValue(Stats.HEAL_EFFECT, 1);
amount += effected.getStat().getValue(Stats.HEAL_EFFECT_ADD, 0);
// Heal critic, since CT2.3 Gracia Final // Heal critic, since CT2.3 Gracia Final
if (skill.isMagic() && Formulas.calcCrit(skill.getMagicCriticalRate(), effector, effected, skill)) if (skill.isMagic() && Formulas.calcCrit(skill.getMagicCriticalRate(), effector, effected, skill))
{ {

View File

@ -20,12 +20,12 @@ import org.l2jmobius.gameserver.model.StatsSet;
import org.l2jmobius.gameserver.model.stats.Stats; import org.l2jmobius.gameserver.model.stats.Stats;
/** /**
* @author Sdw * @author Sdw, Mobius
*/ */
public class HealEffect extends AbstractStatEffect public class HealEffect extends AbstractStatEffect
{ {
public HealEffect(StatsSet params) public HealEffect(StatsSet params)
{ {
super(params, Stats.HEAL_EFFECT); super(params, Stats.HEAL_EFFECT, Stats.HEAL_EFFECT_ADD);
} }
} }

View File

@ -103,7 +103,8 @@ public final class HpCpHeal extends AbstractEffect
if (!skill.isStatic()) if (!skill.isStatic())
{ {
amount += staticShotBonus + Math.sqrt(mAtkMul * effector.getMAtk()); amount += staticShotBonus + Math.sqrt(mAtkMul * effector.getMAtk());
amount = effected.getStat().getValue(Stats.HEAL_EFFECT, amount); amount *= effected.getStat().getValue(Stats.HEAL_EFFECT, 1);
amount += effected.getStat().getValue(Stats.HEAL_EFFECT_ADD, 0);
// Heal critic, since CT2.3 Gracia Final // Heal critic, since CT2.3 Gracia Final
if (skill.isMagic() && (Formulas.calcCrit(skill.getMagicCriticalRate(), effector, effected, skill) || effector.isAffected(EffectFlag.HPCPHEAL_CRITICAL))) if (skill.isMagic() && (Formulas.calcCrit(skill.getMagicCriticalRate(), effector, effected, skill) || effector.isAffected(EffectFlag.HPCPHEAL_CRITICAL)))
{ {

View File

@ -73,6 +73,7 @@ public enum Stats
ADDITIONAL_POTION_CP("addPotionCp"), ADDITIONAL_POTION_CP("addPotionCp"),
MANA_CHARGE("manaCharge"), MANA_CHARGE("manaCharge"),
HEAL_EFFECT("healEffect"), HEAL_EFFECT("healEffect"),
HEAL_EFFECT_ADD("healEffectAdd"),
// ATTACK & DEFENCE // ATTACK & DEFENCE
PHYSICAL_DEFENCE("pDef", new PDefenseFinalizer()), PHYSICAL_DEFENCE("pDef", new PDefenseFinalizer()),

View File

@ -107,7 +107,8 @@ public final class Heal extends AbstractEffect
if (!skill.isStatic()) if (!skill.isStatic())
{ {
amount += staticShotBonus + Math.sqrt(mAtkMul * effector.getMAtk()); amount += staticShotBonus + Math.sqrt(mAtkMul * effector.getMAtk());
amount = effected.getStat().getValue(Stats.HEAL_EFFECT, amount); amount *= effected.getStat().getValue(Stats.HEAL_EFFECT, 1);
amount += effected.getStat().getValue(Stats.HEAL_EFFECT_ADD, 0);
// Heal critic, since CT2.3 Gracia Final // Heal critic, since CT2.3 Gracia Final
if (skill.isMagic() && Formulas.calcCrit(skill.getMagicCriticalRate(), effector, effected, skill)) if (skill.isMagic() && Formulas.calcCrit(skill.getMagicCriticalRate(), effector, effected, skill))
{ {

View File

@ -20,12 +20,12 @@ import org.l2jmobius.gameserver.model.StatsSet;
import org.l2jmobius.gameserver.model.stats.Stats; import org.l2jmobius.gameserver.model.stats.Stats;
/** /**
* @author Sdw * @author Sdw, Mobius
*/ */
public class HealEffect extends AbstractStatEffect public class HealEffect extends AbstractStatEffect
{ {
public HealEffect(StatsSet params) public HealEffect(StatsSet params)
{ {
super(params, Stats.HEAL_EFFECT); super(params, Stats.HEAL_EFFECT, Stats.HEAL_EFFECT_ADD);
} }
} }

View File

@ -103,7 +103,8 @@ public final class HpCpHeal extends AbstractEffect
if (!skill.isStatic()) if (!skill.isStatic())
{ {
amount += staticShotBonus + Math.sqrt(mAtkMul * effector.getMAtk()); amount += staticShotBonus + Math.sqrt(mAtkMul * effector.getMAtk());
amount = effected.getStat().getValue(Stats.HEAL_EFFECT, amount); amount *= effected.getStat().getValue(Stats.HEAL_EFFECT, 1);
amount += effected.getStat().getValue(Stats.HEAL_EFFECT_ADD, 0);
// Heal critic, since CT2.3 Gracia Final // Heal critic, since CT2.3 Gracia Final
if (skill.isMagic() && (Formulas.calcCrit(skill.getMagicCriticalRate(), effector, effected, skill) || effector.isAffected(EffectFlag.HPCPHEAL_CRITICAL))) if (skill.isMagic() && (Formulas.calcCrit(skill.getMagicCriticalRate(), effector, effected, skill) || effector.isAffected(EffectFlag.HPCPHEAL_CRITICAL)))
{ {

View File

@ -73,6 +73,7 @@ public enum Stats
ADDITIONAL_POTION_CP("addPotionCp"), ADDITIONAL_POTION_CP("addPotionCp"),
MANA_CHARGE("manaCharge"), MANA_CHARGE("manaCharge"),
HEAL_EFFECT("healEffect"), HEAL_EFFECT("healEffect"),
HEAL_EFFECT_ADD("healEffectAdd"),
// ATTACK & DEFENCE // ATTACK & DEFENCE
PHYSICAL_DEFENCE("pDef", new PDefenseFinalizer()), PHYSICAL_DEFENCE("pDef", new PDefenseFinalizer()),

View File

@ -107,7 +107,8 @@ public final class Heal extends AbstractEffect
if (!skill.isStatic()) if (!skill.isStatic())
{ {
amount += staticShotBonus + Math.sqrt(mAtkMul * effector.getMAtk()); amount += staticShotBonus + Math.sqrt(mAtkMul * effector.getMAtk());
amount = effected.getStat().getValue(Stats.HEAL_EFFECT, amount); amount *= effected.getStat().getValue(Stats.HEAL_EFFECT, 1);
amount += effected.getStat().getValue(Stats.HEAL_EFFECT_ADD, 0);
// Heal critic, since CT2.3 Gracia Final // Heal critic, since CT2.3 Gracia Final
if (skill.isMagic() && Formulas.calcCrit(skill.getMagicCriticalRate(), effector, effected, skill)) if (skill.isMagic() && Formulas.calcCrit(skill.getMagicCriticalRate(), effector, effected, skill))
{ {

View File

@ -20,12 +20,12 @@ import org.l2jmobius.gameserver.model.StatsSet;
import org.l2jmobius.gameserver.model.stats.Stats; import org.l2jmobius.gameserver.model.stats.Stats;
/** /**
* @author Sdw * @author Sdw, Mobius
*/ */
public class HealEffect extends AbstractStatEffect public class HealEffect extends AbstractStatEffect
{ {
public HealEffect(StatsSet params) public HealEffect(StatsSet params)
{ {
super(params, Stats.HEAL_EFFECT); super(params, Stats.HEAL_EFFECT, Stats.HEAL_EFFECT_ADD);
} }
} }

View File

@ -103,7 +103,8 @@ public final class HpCpHeal extends AbstractEffect
if (!skill.isStatic()) if (!skill.isStatic())
{ {
amount += staticShotBonus + Math.sqrt(mAtkMul * effector.getMAtk()); amount += staticShotBonus + Math.sqrt(mAtkMul * effector.getMAtk());
amount = effected.getStat().getValue(Stats.HEAL_EFFECT, amount); amount *= effected.getStat().getValue(Stats.HEAL_EFFECT, 1);
amount += effected.getStat().getValue(Stats.HEAL_EFFECT_ADD, 0);
// Heal critic, since CT2.3 Gracia Final // Heal critic, since CT2.3 Gracia Final
if (skill.isMagic() && (Formulas.calcCrit(skill.getMagicCriticalRate(), effector, effected, skill) || effector.isAffected(EffectFlag.HPCPHEAL_CRITICAL))) if (skill.isMagic() && (Formulas.calcCrit(skill.getMagicCriticalRate(), effector, effected, skill) || effector.isAffected(EffectFlag.HPCPHEAL_CRITICAL)))
{ {

View File

@ -73,6 +73,7 @@ public enum Stats
ADDITIONAL_POTION_CP("addPotionCp"), ADDITIONAL_POTION_CP("addPotionCp"),
MANA_CHARGE("manaCharge"), MANA_CHARGE("manaCharge"),
HEAL_EFFECT("healEffect"), HEAL_EFFECT("healEffect"),
HEAL_EFFECT_ADD("healEffectAdd"),
// ATTACK & DEFENCE // ATTACK & DEFENCE
PHYSICAL_DEFENCE("pDef", new PDefenseFinalizer()), PHYSICAL_DEFENCE("pDef", new PDefenseFinalizer()),

View File

@ -107,7 +107,8 @@ public final class Heal extends AbstractEffect
if (!skill.isStatic()) if (!skill.isStatic())
{ {
amount += staticShotBonus + Math.sqrt(mAtkMul * effector.getMAtk()); amount += staticShotBonus + Math.sqrt(mAtkMul * effector.getMAtk());
amount = effected.getStat().getValue(Stats.HEAL_EFFECT, amount); amount *= effected.getStat().getValue(Stats.HEAL_EFFECT, 1);
amount += effected.getStat().getValue(Stats.HEAL_EFFECT_ADD, 0);
// Heal critic, since CT2.3 Gracia Final // Heal critic, since CT2.3 Gracia Final
if (skill.isMagic() && Formulas.calcCrit(skill.getMagicCriticalRate(), effector, effected, skill)) if (skill.isMagic() && Formulas.calcCrit(skill.getMagicCriticalRate(), effector, effected, skill))
{ {

View File

@ -20,12 +20,12 @@ import org.l2jmobius.gameserver.model.StatsSet;
import org.l2jmobius.gameserver.model.stats.Stats; import org.l2jmobius.gameserver.model.stats.Stats;
/** /**
* @author Sdw * @author Sdw, Mobius
*/ */
public class HealEffect extends AbstractStatEffect public class HealEffect extends AbstractStatEffect
{ {
public HealEffect(StatsSet params) public HealEffect(StatsSet params)
{ {
super(params, Stats.HEAL_EFFECT); super(params, Stats.HEAL_EFFECT, Stats.HEAL_EFFECT_ADD);
} }
} }

View File

@ -103,7 +103,8 @@ public final class HpCpHeal extends AbstractEffect
if (!skill.isStatic()) if (!skill.isStatic())
{ {
amount += staticShotBonus + Math.sqrt(mAtkMul * effector.getMAtk()); amount += staticShotBonus + Math.sqrt(mAtkMul * effector.getMAtk());
amount = effected.getStat().getValue(Stats.HEAL_EFFECT, amount); amount *= effected.getStat().getValue(Stats.HEAL_EFFECT, 1);
amount += effected.getStat().getValue(Stats.HEAL_EFFECT_ADD, 0);
// Heal critic, since CT2.3 Gracia Final // Heal critic, since CT2.3 Gracia Final
if (skill.isMagic() && (Formulas.calcCrit(skill.getMagicCriticalRate(), effector, effected, skill) || effector.isAffected(EffectFlag.HPCPHEAL_CRITICAL))) if (skill.isMagic() && (Formulas.calcCrit(skill.getMagicCriticalRate(), effector, effected, skill) || effector.isAffected(EffectFlag.HPCPHEAL_CRITICAL)))
{ {

View File

@ -73,6 +73,7 @@ public enum Stats
ADDITIONAL_POTION_CP("addPotionCp"), ADDITIONAL_POTION_CP("addPotionCp"),
MANA_CHARGE("manaCharge"), MANA_CHARGE("manaCharge"),
HEAL_EFFECT("healEffect"), HEAL_EFFECT("healEffect"),
HEAL_EFFECT_ADD("healEffectAdd"),
// ATTACK & DEFENCE // ATTACK & DEFENCE
PHYSICAL_DEFENCE("pDef", new PDefenseFinalizer()), PHYSICAL_DEFENCE("pDef", new PDefenseFinalizer()),

View File

@ -107,7 +107,8 @@ public final class Heal extends AbstractEffect
if (!skill.isStatic()) if (!skill.isStatic())
{ {
amount += staticShotBonus + Math.sqrt(mAtkMul * effector.getMAtk()); amount += staticShotBonus + Math.sqrt(mAtkMul * effector.getMAtk());
amount = effected.getStat().getValue(Stats.HEAL_EFFECT, amount); amount *= effected.getStat().getValue(Stats.HEAL_EFFECT, 1);
amount += effected.getStat().getValue(Stats.HEAL_EFFECT_ADD, 0);
// Heal critic, since CT2.3 Gracia Final // Heal critic, since CT2.3 Gracia Final
if (skill.isMagic() && Formulas.calcCrit(skill.getMagicCriticalRate(), effector, effected, skill)) if (skill.isMagic() && Formulas.calcCrit(skill.getMagicCriticalRate(), effector, effected, skill))
{ {

View File

@ -20,12 +20,12 @@ import org.l2jmobius.gameserver.model.StatsSet;
import org.l2jmobius.gameserver.model.stats.Stats; import org.l2jmobius.gameserver.model.stats.Stats;
/** /**
* @author Sdw * @author Sdw, Mobius
*/ */
public class HealEffect extends AbstractStatEffect public class HealEffect extends AbstractStatEffect
{ {
public HealEffect(StatsSet params) public HealEffect(StatsSet params)
{ {
super(params, Stats.HEAL_EFFECT); super(params, Stats.HEAL_EFFECT, Stats.HEAL_EFFECT_ADD);
} }
} }

View File

@ -103,7 +103,8 @@ public final class HpCpHeal extends AbstractEffect
if (!skill.isStatic()) if (!skill.isStatic())
{ {
amount += staticShotBonus + Math.sqrt(mAtkMul * effector.getMAtk()); amount += staticShotBonus + Math.sqrt(mAtkMul * effector.getMAtk());
amount = effected.getStat().getValue(Stats.HEAL_EFFECT, amount); amount *= effected.getStat().getValue(Stats.HEAL_EFFECT, 1);
amount += effected.getStat().getValue(Stats.HEAL_EFFECT_ADD, 0);
// Heal critic, since CT2.3 Gracia Final // Heal critic, since CT2.3 Gracia Final
if (skill.isMagic() && (Formulas.calcCrit(skill.getMagicCriticalRate(), effector, effected, skill) || effector.isAffected(EffectFlag.HPCPHEAL_CRITICAL))) if (skill.isMagic() && (Formulas.calcCrit(skill.getMagicCriticalRate(), effector, effected, skill) || effector.isAffected(EffectFlag.HPCPHEAL_CRITICAL)))
{ {

View File

@ -73,6 +73,7 @@ public enum Stats
ADDITIONAL_POTION_CP("addPotionCp"), ADDITIONAL_POTION_CP("addPotionCp"),
MANA_CHARGE("manaCharge"), MANA_CHARGE("manaCharge"),
HEAL_EFFECT("healEffect"), HEAL_EFFECT("healEffect"),
HEAL_EFFECT_ADD("healEffectAdd"),
// ATTACK & DEFENCE // ATTACK & DEFENCE
PHYSICAL_DEFENCE("pDef", new PDefenseFinalizer()), PHYSICAL_DEFENCE("pDef", new PDefenseFinalizer()),

View File

@ -107,7 +107,8 @@ public final class Heal extends AbstractEffect
if (!skill.isStatic()) if (!skill.isStatic())
{ {
amount += staticShotBonus + Math.sqrt(mAtkMul * effector.getMAtk()); amount += staticShotBonus + Math.sqrt(mAtkMul * effector.getMAtk());
amount = effected.getStat().getValue(Stats.HEAL_EFFECT, amount); amount *= effected.getStat().getValue(Stats.HEAL_EFFECT, 1);
amount += effected.getStat().getValue(Stats.HEAL_EFFECT_ADD, 0);
// Heal critic, since CT2.3 Gracia Final // Heal critic, since CT2.3 Gracia Final
if (skill.isMagic() && Formulas.calcCrit(skill.getMagicCriticalRate(), effector, effected, skill)) if (skill.isMagic() && Formulas.calcCrit(skill.getMagicCriticalRate(), effector, effected, skill))
{ {

View File

@ -20,12 +20,12 @@ import org.l2jmobius.gameserver.model.StatsSet;
import org.l2jmobius.gameserver.model.stats.Stats; import org.l2jmobius.gameserver.model.stats.Stats;
/** /**
* @author Sdw * @author Sdw, Mobius
*/ */
public class HealEffect extends AbstractStatEffect public class HealEffect extends AbstractStatEffect
{ {
public HealEffect(StatsSet params) public HealEffect(StatsSet params)
{ {
super(params, Stats.HEAL_EFFECT); super(params, Stats.HEAL_EFFECT, Stats.HEAL_EFFECT_ADD);
} }
} }

View File

@ -103,7 +103,8 @@ public final class HpCpHeal extends AbstractEffect
if (!skill.isStatic()) if (!skill.isStatic())
{ {
amount += staticShotBonus + Math.sqrt(mAtkMul * effector.getMAtk()); amount += staticShotBonus + Math.sqrt(mAtkMul * effector.getMAtk());
amount = effected.getStat().getValue(Stats.HEAL_EFFECT, amount); amount *= effected.getStat().getValue(Stats.HEAL_EFFECT, 1);
amount += effected.getStat().getValue(Stats.HEAL_EFFECT_ADD, 0);
// Heal critic, since CT2.3 Gracia Final // Heal critic, since CT2.3 Gracia Final
if (skill.isMagic() && (Formulas.calcCrit(skill.getMagicCriticalRate(), effector, effected, skill) || effector.isAffected(EffectFlag.HPCPHEAL_CRITICAL))) if (skill.isMagic() && (Formulas.calcCrit(skill.getMagicCriticalRate(), effector, effected, skill) || effector.isAffected(EffectFlag.HPCPHEAL_CRITICAL)))
{ {

View File

@ -73,6 +73,7 @@ public enum Stats
ADDITIONAL_POTION_CP("addPotionCp"), ADDITIONAL_POTION_CP("addPotionCp"),
MANA_CHARGE("manaCharge"), MANA_CHARGE("manaCharge"),
HEAL_EFFECT("healEffect"), HEAL_EFFECT("healEffect"),
HEAL_EFFECT_ADD("healEffectAdd"),
// ATTACK & DEFENCE // ATTACK & DEFENCE
PHYSICAL_DEFENCE("pDef", new PDefenseFinalizer()), PHYSICAL_DEFENCE("pDef", new PDefenseFinalizer()),