diff --git a/Server/src/main/kotlin/rs09/game/node/entity/skill/magic/ModernListeners.kt b/Server/src/main/kotlin/rs09/game/node/entity/skill/magic/ModernListeners.kt index f11c0a803..bc9c48877 100644 --- a/Server/src/main/kotlin/rs09/game/node/entity/skill/magic/ModernListeners.kt +++ b/Server/src/main/kotlin/rs09/game/node/entity/skill/magic/ModernListeners.kt @@ -5,6 +5,7 @@ import api.events.TeleportEvent import api.getAttribute import core.game.content.activity.mta.impl.GraveyardZone import core.game.content.global.Bones +import core.game.interaction.MovementPulse import core.game.node.entity.Entity import core.game.node.entity.impl.Animator.Priority import core.game.node.entity.impl.Projectile @@ -226,7 +227,9 @@ class ModernListeners : SpellListener("modern"){ return } - player.lock(3) + if (player.pulseManager.current !is MovementPulse) { + player.pulseManager.clear() + } if(player.inventory.remove(Item(item.id,1))) { removeRunes(player) @@ -243,7 +246,7 @@ class ModernListeners : SpellListener("modern"){ addXP(player,if(high) 65.0 else 31.0) showMagicTab(player) - setDelay(player,false) + setDelay(player,5) } } diff --git a/Server/src/main/kotlin/rs09/game/node/entity/skill/magic/SpellListener.kt b/Server/src/main/kotlin/rs09/game/node/entity/skill/magic/SpellListener.kt index 060c5c814..0415788d0 100644 --- a/Server/src/main/kotlin/rs09/game/node/entity/skill/magic/SpellListener.kt +++ b/Server/src/main/kotlin/rs09/game/node/entity/skill/magic/SpellListener.kt @@ -1,5 +1,6 @@ package rs09.game.node.entity.skill.magic +import api.setAttribute import core.cache.def.impl.ItemDefinition import core.game.node.Node import core.game.node.entity.player.Player @@ -79,10 +80,14 @@ abstract class SpellListener(val bookName: String) : Listener { } } - fun setDelay(player: Player,isTeleport: Boolean = false){ + fun setDelay(player: Player, isTeleport: Boolean = false){ if(!isTeleport) player.setAttribute("magic-delay",GameWorld.ticks + 3) else player.setAttribute("magic-delay",GameWorld.ticks + 5) } + fun setDelay(player: Player, delay: Int) { + setAttribute(player, "magic-delay", GameWorld.ticks + delay) + } + fun interrupt(player: Player){ player.pulseManager.clear() }