From ef43d828e5d62e3deb1e875eca7286975c128055 Mon Sep 17 00:00:00 2001 From: Ceikry Date: Thu, 1 Jul 2021 03:07:04 +0000 Subject: [PATCH] Pyramid plunder fix --- .../activity/pyramidplunder/PyramidOptionHandler.java | 6 +++--- .../activity/pyramidplunder/PyramidPlunderActivity.java | 5 ++++- .../kotlin/rs09/game/interaction/InteractionListeners.kt | 4 ++-- 3 files changed, 9 insertions(+), 6 deletions(-) diff --git a/Server/src/main/java/core/game/content/activity/pyramidplunder/PyramidOptionHandler.java b/Server/src/main/java/core/game/content/activity/pyramidplunder/PyramidOptionHandler.java index e3c9e8d13..ed646888d 100644 --- a/Server/src/main/java/core/game/content/activity/pyramidplunder/PyramidOptionHandler.java +++ b/Server/src/main/java/core/game/content/activity/pyramidplunder/PyramidOptionHandler.java @@ -1,5 +1,6 @@ package core.game.content.activity.pyramidplunder; +import api.ContentAPI; import core.cache.def.impl.NPCDefinition; import core.cache.def.impl.SceneryDefinition; import core.game.content.global.action.ClimbActionHandler; @@ -9,6 +10,7 @@ import core.game.node.entity.npc.NPC; import core.game.node.entity.player.Player; import core.game.node.object.Scenery; import core.game.system.task.Pulse; +import kotlin.Unit; import rs09.game.world.GameWorld; import core.game.world.map.Location; import core.game.world.update.flag.context.Animation; @@ -84,12 +86,10 @@ public final class PyramidOptionHandler extends OptionHandler { if(entrance == currentEntrance && willBePushed){ player.lock(); player.animate(new Animation(7299)); - player.getImpactHandler().setDisabledTicks(4); - GameWorld.getPulser().submit(new Pulse(4, player) { + ContentAPI.submitWorldPulse(new Pulse(4, player){ @Override public boolean pulse() { player.unlock(); - player.getAnimator().reset(); return true; } }); diff --git a/Server/src/main/java/core/game/content/activity/pyramidplunder/PyramidPlunderActivity.java b/Server/src/main/java/core/game/content/activity/pyramidplunder/PyramidPlunderActivity.java index dbd7eabe7..c190933f5 100644 --- a/Server/src/main/java/core/game/content/activity/pyramidplunder/PyramidPlunderActivity.java +++ b/Server/src/main/java/core/game/content/activity/pyramidplunder/PyramidPlunderActivity.java @@ -48,7 +48,10 @@ public final class PyramidPlunderActivity extends ActivityPlugin { public boolean leave(Entity e, boolean logout) { if (e instanceof Player) { ((Player) e).getInterfaceManager().closeOverlay(); - ((PlunderSession) ((Player) e).getAttribute("plunder-session",null)).setActive(false); + PlunderSession session = (PlunderSession) e.asPlayer().getAttribute("plunder-session",null); + if(session != null){ + session.setActive(false); + } ((Player) e).removeAttribute("plunder-session"); } return super.leave(e, logout); diff --git a/Server/src/main/kotlin/rs09/game/interaction/InteractionListeners.kt b/Server/src/main/kotlin/rs09/game/interaction/InteractionListeners.kt index 25ce5f44c..413ae4eea 100644 --- a/Server/src/main/kotlin/rs09/game/interaction/InteractionListeners.kt +++ b/Server/src/main/kotlin/rs09/game/interaction/InteractionListeners.kt @@ -126,9 +126,9 @@ object InteractionListeners { @JvmStatic fun run(id: Int, player: Player, node: Node, isEquip: Boolean): Boolean{ if(isEquip){ - return equipListeners["equip:$id"]?.invoke(player,node)!! + return equipListeners["equip:$id"]?.invoke(player,node) ?: true } else { - return equipListeners["unequip:$id"]?.invoke(player,node)!! + return equipListeners["unequip:$id"]?.invoke(player,node) ?: true } }