diff --git a/eco-core/core-plugin/src/main/java/com/willfp/ecoskills/EcoSkillsPlugin.java b/eco-core/core-plugin/src/main/java/com/willfp/ecoskills/EcoSkillsPlugin.java index e35c36e..a86010f 100644 --- a/eco-core/core-plugin/src/main/java/com/willfp/ecoskills/EcoSkillsPlugin.java +++ b/eco-core/core-plugin/src/main/java/com/willfp/ecoskills/EcoSkillsPlugin.java @@ -14,6 +14,7 @@ import com.willfp.ecoskills.skills.Skills; import com.willfp.ecoskills.stats.DamageIndicatorListener; import com.willfp.ecoskills.stats.Stat; import com.willfp.ecoskills.stats.Stats; +import com.willfp.ecoskills.stats.modifier.StatModifierListener; import org.bukkit.event.Listener; import java.util.Arrays; @@ -63,6 +64,7 @@ public class EcoSkillsPlugin extends EcoPlugin { return Arrays.asList( new SkillLevellingListener(this), new SkillDisplayListener(this), + new StatModifierListener(this), EcoSkillsEventModifierHandler.INSTANCE ); } diff --git a/eco-core/core-plugin/src/main/kotlin/com/willfp/ecoskills/effects/effects/EffectShamanism.kt b/eco-core/core-plugin/src/main/kotlin/com/willfp/ecoskills/effects/effects/EffectShamanism.kt index f2394be..5e1795e 100644 --- a/eco-core/core-plugin/src/main/kotlin/com/willfp/ecoskills/effects/effects/EffectShamanism.kt +++ b/eco-core/core-plugin/src/main/kotlin/com/willfp/ecoskills/effects/effects/EffectShamanism.kt @@ -1,8 +1,30 @@ package com.willfp.ecoskills.effects.effects import com.willfp.ecoskills.effects.Effect +import com.willfp.ecoskills.getEffectLevel +import org.bukkit.entity.Player +import org.bukkit.event.EventHandler +import org.bukkit.event.EventPriority +import org.bukkit.event.entity.EntityRegainHealthEvent class EffectShamanism: Effect( "shamanism" ) { + @EventHandler(priority = EventPriority.HIGH, ignoreCancelled = true) + fun handle(event: EntityRegainHealthEvent) { + val player = event.entity + + if (player !is Player) { + return + } + + val level = player.getEffectLevel(this) + + var multiplier = config.getDouble("percent-faster-per-level") * level + + multiplier /= 100 + multiplier += 1 + + event.amount = event.amount * multiplier + } } \ No newline at end of file