Pyramid plunder fix

This commit is contained in:
Ceikry
2021-07-01 03:07:04 +00:00
parent b8c6f7ef34
commit ef43d828e5
3 changed files with 9 additions and 6 deletions
@@ -1,5 +1,6 @@
package core.game.content.activity.pyramidplunder; package core.game.content.activity.pyramidplunder;
import api.ContentAPI;
import core.cache.def.impl.NPCDefinition; import core.cache.def.impl.NPCDefinition;
import core.cache.def.impl.SceneryDefinition; import core.cache.def.impl.SceneryDefinition;
import core.game.content.global.action.ClimbActionHandler; 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.entity.player.Player;
import core.game.node.object.Scenery; import core.game.node.object.Scenery;
import core.game.system.task.Pulse; import core.game.system.task.Pulse;
import kotlin.Unit;
import rs09.game.world.GameWorld; import rs09.game.world.GameWorld;
import core.game.world.map.Location; import core.game.world.map.Location;
import core.game.world.update.flag.context.Animation; import core.game.world.update.flag.context.Animation;
@@ -84,12 +86,10 @@ public final class PyramidOptionHandler extends OptionHandler {
if(entrance == currentEntrance && willBePushed){ if(entrance == currentEntrance && willBePushed){
player.lock(); player.lock();
player.animate(new Animation(7299)); player.animate(new Animation(7299));
player.getImpactHandler().setDisabledTicks(4); ContentAPI.submitWorldPulse(new Pulse(4, player){
GameWorld.getPulser().submit(new Pulse(4, player) {
@Override @Override
public boolean pulse() { public boolean pulse() {
player.unlock(); player.unlock();
player.getAnimator().reset();
return true; return true;
} }
}); });
@@ -48,7 +48,10 @@ public final class PyramidPlunderActivity extends ActivityPlugin {
public boolean leave(Entity e, boolean logout) { public boolean leave(Entity e, boolean logout) {
if (e instanceof Player) { if (e instanceof Player) {
((Player) e).getInterfaceManager().closeOverlay(); ((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"); ((Player) e).removeAttribute("plunder-session");
} }
return super.leave(e, logout); return super.leave(e, logout);
@@ -126,9 +126,9 @@ object InteractionListeners {
@JvmStatic @JvmStatic
fun run(id: Int, player: Player, node: Node, isEquip: Boolean): Boolean{ fun run(id: Int, player: Player, node: Node, isEquip: Boolean): Boolean{
if(isEquip){ if(isEquip){
return equipListeners["equip:$id"]?.invoke(player,node)!! return equipListeners["equip:$id"]?.invoke(player,node) ?: true
} else { } else {
return equipListeners["unequip:$id"]?.invoke(player,node)!! return equipListeners["unequip:$id"]?.invoke(player,node) ?: true
} }
} }