From dff8bf5c1488464ae8fb9dd3cf035cd5f0939656 Mon Sep 17 00:00:00 2001 From: Ceikry Date: Sat, 27 Aug 2022 15:52:27 +0000 Subject: [PATCH] Corrected high alch delay from 3 ticks to 5 ticks Made high alch correctly interrupt any actions other than movement --- .../rs09/game/node/entity/skill/magic/ModernListeners.kt | 7 +++++-- .../rs09/game/node/entity/skill/magic/SpellListener.kt | 7 ++++++- 2 files changed, 11 insertions(+), 3 deletions(-) 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() }