diff --git a/Server/src/main/content/global/skill/magic/HomeTeleportHelper.kt b/Server/src/main/content/global/skill/magic/HomeTeleportHelper.kt index 1b67a38e9..b7085b62c 100644 --- a/Server/src/main/content/global/skill/magic/HomeTeleportHelper.kt +++ b/Server/src/main/content/global/skill/magic/HomeTeleportHelper.kt @@ -24,6 +24,8 @@ fun getAudio(count: Int): Int { } fun homeTeleport(player: Player, dest: Location) { + player.walkingQueue.reset() + player.pulseManager.clear() if (player.timers.getTimer("teleblock") != null) { sendMessage(player, "A magical force prevents you from teleporting.") return @@ -43,4 +45,4 @@ fun homeTeleport(player: Player, dest: Location) { player.packetDispatch.sendAnimation(HOME_ANIMATIONS[stage]) return@queueScript delayScript(player, 1) } -} \ No newline at end of file +} diff --git a/Server/src/main/core/game/node/entity/combat/CombatPulse.kt b/Server/src/main/core/game/node/entity/combat/CombatPulse.kt index 7e0475e3d..f90ed5e7c 100644 --- a/Server/src/main/core/game/node/entity/combat/CombatPulse.kt +++ b/Server/src/main/core/game/node/entity/combat/CombatPulse.kt @@ -296,10 +296,13 @@ class CombatPulse( } setVictim(victim) entity.onAttack(victim as Entity?) - victim.scripts.removeWeakScripts() + if (isAttacking) { + victim.scripts.removeWeakScripts() + } - if (!isAttacking) + if (!isAttacking) { entity.pulseManager.run(this) + } } /** diff --git a/Server/src/main/core/game/system/timer/impl/Poison.kt b/Server/src/main/core/game/system/timer/impl/Poison.kt index a2f4aa78f..ececf51f6 100644 --- a/Server/src/main/core/game/system/timer/impl/Poison.kt +++ b/Server/src/main/core/game/system/timer/impl/Poison.kt @@ -57,6 +57,7 @@ class Poison : PersistTimer (30, "poison", flags = arrayOf(TimerFlag.ClearOnDeat } override fun run (entity: Entity) : Boolean { + entity.scripts.removeWeakScripts() entity.impactHandler.manualHit ( damageSource, getDamageFromSeverity (severity--),