Fixed regression - the restless ghost is now able to be completed by adding the skull to the coffin

Fixed regression - house teleport and teletabs not working due to being teleblocked by the cast
Fixed regression - WildernessGateHandler now only prompts the player and applies the skull when interacting with the gates in the wilderness and not other gates
This commit is contained in:
Zerken
2023-08-07 02:43:58 +00:00
committed by Ryan
parent 1b996b9b82
commit c6cd12703f
3 changed files with 17 additions and 14 deletions
@@ -1,11 +1,14 @@
package content.region.misthalin.lumbridge.quest.therestlessghost; package content.region.misthalin.lumbridge.quest.therestlessghost;
import core.api.Container;
import core.game.interaction.NodeUsageEvent; import core.game.interaction.NodeUsageEvent;
import core.game.interaction.UseWithHandler; import core.game.interaction.UseWithHandler;
import core.game.node.item.Item;
import core.game.node.scenery.Scenery; import core.game.node.scenery.Scenery;
import core.plugin.Initializable; import core.plugin.Initializable;
import core.plugin.Plugin; import core.plugin.Plugin;
import org.rs09.consts.Items;
import static core.api.ContentAPIKt.removeItem;
/** /**
* Represents the plugin used to add the skull to the cofin. * Represents the plugin used to add the skull to the cofin.
@@ -37,7 +40,7 @@ public final class RestlessGhostSkull extends UseWithHandler {
event.getPlayer().getDialogueInterpreter().sendDialogue("Maybe I should open it first."); event.getPlayer().getDialogueInterpreter().sendDialogue("Maybe I should open it first.");
return true; return true;
} }
if (event.getPlayer().getInventory().remove(new Item(964, 24))) { if (removeItem(event.getPlayer(), Items.SKULL_964, Container.INVENTORY)) {
event.getPlayer().getPacketDispatch().sendMessage("You put the skull in the coffin."); event.getPlayer().getPacketDispatch().sendMessage("You put the skull in the coffin.");
event.getPlayer().getQuestRepository().getQuest(RestlessGhost.NAME).finish(event.getPlayer()); event.getPlayer().getQuestRepository().getQuest(RestlessGhost.NAME).finish(event.getPlayer());
} }
@@ -17,18 +17,20 @@ class WildernessGateHandler : InteractionListener {
} }
private fun handleGate (player: Player, node: Node) : Boolean { private fun handleGate (player: Player, node: Node) : Boolean {
if (player.location.y > 3890) {
val isEntering = !player.skullManager.isDeepWilderness() val isEntering = !player.skullManager.isDeepWilderness()
if (isEntering) if (isEntering)
openDialogue (player, GateDialogue(node.asScenery())) openDialogue(player, GateDialogue(node.asScenery()))
else { else {
if (player.properties.combatPulse.isInCombat) if (player.properties.combatPulse.isInCombat)
sendMessage (player, "You cannot leave while you are under attack.") sendMessage(player, "You cannot leave while you are under attack.")
else { else {
DoorActionHandler.handleAutowalkDoor (player, node.asScenery()) DoorActionHandler.handleAutowalkDoor(player, node.asScenery())
player.skullManager.isDeepWilderness = false player.skullManager.isDeepWilderness = false
} }
} }
} else DoorActionHandler.handleAutowalkDoor (player, node.asScenery())
return true return true
} }
@@ -64,7 +64,6 @@ public final class ActionLocks {
*/ */
public void lock(int ticks) { public void lock(int ticks) {
lockMovement(ticks); lockMovement(ticks);
lockTeleport(ticks);
lockInteractions(ticks); lockInteractions(ticks);
} }
@@ -73,7 +72,6 @@ public final class ActionLocks {
*/ */
public void unlock() { public void unlock() {
unlockMovement(); unlockMovement();
unlockTeleport();
unlockInteraction(); unlockInteraction();
} }