diff --git a/L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/scripts/handlers/effecthandlers/Heal.java b/L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/scripts/handlers/effecthandlers/Heal.java index 48ea4590a6..23373c1239 100644 --- a/L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/scripts/handlers/effecthandlers/Heal.java +++ b/L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/scripts/handlers/effecthandlers/Heal.java @@ -25,6 +25,7 @@ import org.l2jmobius.gameserver.model.effects.EffectFlag; import org.l2jmobius.gameserver.model.effects.EffectType; import org.l2jmobius.gameserver.model.items.instance.ItemInstance; import org.l2jmobius.gameserver.model.items.type.CrystalType; +import org.l2jmobius.gameserver.model.skills.CommonSkill; import org.l2jmobius.gameserver.model.skills.Skill; import org.l2jmobius.gameserver.model.stats.Formulas; import org.l2jmobius.gameserver.model.stats.Stats; @@ -74,6 +75,10 @@ public class Heal extends AbstractEffect if ((item != null) && (item.isPotion() || item.isElixir())) { amount += effected.getStat().getValue(Stats.ADDITIONAL_POTION_HP, 0); + + // Classic Potion Mastery + // TODO: Create an effect if more mastery skills are added. + amount *= 1 + (effected.getAffectedSkillLevel(CommonSkill.POTION_MASTERY.getId()) / 100); } double staticShotBonus = 0; diff --git a/L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/scripts/handlers/effecthandlers/HealOverTime.java b/L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/scripts/handlers/effecthandlers/HealOverTime.java index 4e6f5f6250..43f9aa061d 100644 --- a/L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/scripts/handlers/effecthandlers/HealOverTime.java +++ b/L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/scripts/handlers/effecthandlers/HealOverTime.java @@ -21,6 +21,7 @@ import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.effects.AbstractEffect; import org.l2jmobius.gameserver.model.items.instance.ItemInstance; import org.l2jmobius.gameserver.model.skills.AbnormalType; +import org.l2jmobius.gameserver.model.skills.CommonSkill; import org.l2jmobius.gameserver.model.skills.Skill; import org.l2jmobius.gameserver.model.stats.Stats; import org.l2jmobius.gameserver.network.serverpackets.ExRegenMax; @@ -59,6 +60,10 @@ public class HealOverTime extends AbstractEffect if ((item != null) && (item.isPotion() || item.isElixir())) { power += effected.getStat().getValue(Stats.ADDITIONAL_POTION_HP, 0) / getTicks(); + + // Classic Potion Mastery + // TODO: Create an effect if more mastery skills are added. + power *= 1 + (effected.getAffectedSkillLevel(CommonSkill.POTION_MASTERY.getId()) / 100); } hp += power * getTicksMultiplier(); diff --git a/L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/scripts/handlers/effecthandlers/HealPercent.java b/L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/scripts/handlers/effecthandlers/HealPercent.java index 94e72449f8..7fb0a83665 100644 --- a/L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/scripts/handlers/effecthandlers/HealPercent.java +++ b/L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/scripts/handlers/effecthandlers/HealPercent.java @@ -21,6 +21,7 @@ import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.effects.AbstractEffect; import org.l2jmobius.gameserver.model.effects.EffectType; import org.l2jmobius.gameserver.model.items.instance.ItemInstance; +import org.l2jmobius.gameserver.model.skills.CommonSkill; import org.l2jmobius.gameserver.model.skills.Skill; import org.l2jmobius.gameserver.model.stats.Stats; import org.l2jmobius.gameserver.network.SystemMessageId; @@ -67,6 +68,10 @@ public class HealPercent extends AbstractEffect if ((item != null) && (item.isPotion() || item.isElixir())) { amount += effected.getStat().getValue(Stats.ADDITIONAL_POTION_HP, 0); + + // Classic Potion Mastery + // TODO: Create an effect if more mastery skills are added. + amount *= 1 + (effected.getAffectedSkillLevel(CommonSkill.POTION_MASTERY.getId()) / 100); } // Prevents overheal diff --git a/L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/scripts/handlers/effecthandlers/Hp.java b/L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/scripts/handlers/effecthandlers/Hp.java index 83e70cf58f..fa09f91d8f 100644 --- a/L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/scripts/handlers/effecthandlers/Hp.java +++ b/L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/scripts/handlers/effecthandlers/Hp.java @@ -21,6 +21,7 @@ import org.l2jmobius.gameserver.model.StatsSet; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.effects.AbstractEffect; import org.l2jmobius.gameserver.model.items.instance.ItemInstance; +import org.l2jmobius.gameserver.model.skills.CommonSkill; import org.l2jmobius.gameserver.model.skills.Skill; import org.l2jmobius.gameserver.model.stats.Stats; import org.l2jmobius.gameserver.network.SystemMessageId; @@ -59,6 +60,10 @@ public class Hp extends AbstractEffect if ((item != null) && (item.isPotion() || item.isElixir())) { basicAmount += effected.getStat().getValue(Stats.ADDITIONAL_POTION_HP, 0); + + // Classic Potion Mastery + // TODO: Create an effect if more mastery skills are added. + basicAmount *= 1 + (effected.getAffectedSkillLevel(CommonSkill.POTION_MASTERY.getId()) / 100); } double amount = 0; diff --git a/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/model/skills/CommonSkill.java b/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/model/skills/CommonSkill.java index 6e8c8ab3ab..22ebe3e96c 100644 --- a/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/model/skills/CommonSkill.java +++ b/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/model/skills/CommonSkill.java @@ -57,7 +57,8 @@ public enum CommonSkill ALCHEMY_CUBE(17943, 1), ALCHEMY_CUBE_RANDOM_SUCCESS(17966, 1), PET_SWITCH_STANCE(6054, 1), - WEIGHT_PENALTY(4270, 1); + WEIGHT_PENALTY(4270, 1), + POTION_MASTERY(45184, 1); private final SkillHolder _holder;