forked from 2009Scape/Server
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:
parent
1b996b9b82
commit
c6cd12703f
3 changed files with 17 additions and 14 deletions
|
|
@ -1,11 +1,14 @@
|
|||
package content.region.misthalin.lumbridge.quest.therestlessghost;
|
||||
|
||||
import core.api.Container;
|
||||
import core.game.interaction.NodeUsageEvent;
|
||||
import core.game.interaction.UseWithHandler;
|
||||
import core.game.node.item.Item;
|
||||
import core.game.node.scenery.Scenery;
|
||||
import core.plugin.Initializable;
|
||||
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.
|
||||
|
|
@ -37,7 +40,7 @@ public final class RestlessGhostSkull extends UseWithHandler {
|
|||
event.getPlayer().getDialogueInterpreter().sendDialogue("Maybe I should open it first.");
|
||||
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().getQuestRepository().getQuest(RestlessGhost.NAME).finish(event.getPlayer());
|
||||
}
|
||||
|
|
|
|||
|
|
@ -17,18 +17,20 @@ class WildernessGateHandler : InteractionListener {
|
|||
}
|
||||
|
||||
private fun handleGate (player: Player, node: Node) : Boolean {
|
||||
val isEntering = !player.skullManager.isDeepWilderness()
|
||||
|
||||
if (isEntering)
|
||||
openDialogue (player, GateDialogue(node.asScenery()))
|
||||
else {
|
||||
if (player.properties.combatPulse.isInCombat)
|
||||
sendMessage (player, "You cannot leave while you are under attack.")
|
||||
if (player.location.y > 3890) {
|
||||
val isEntering = !player.skullManager.isDeepWilderness()
|
||||
|
||||
if (isEntering)
|
||||
openDialogue(player, GateDialogue(node.asScenery()))
|
||||
else {
|
||||
DoorActionHandler.handleAutowalkDoor (player, node.asScenery())
|
||||
player.skullManager.isDeepWilderness = false
|
||||
if (player.properties.combatPulse.isInCombat)
|
||||
sendMessage(player, "You cannot leave while you are under attack.")
|
||||
else {
|
||||
DoorActionHandler.handleAutowalkDoor(player, node.asScenery())
|
||||
player.skullManager.isDeepWilderness = false
|
||||
}
|
||||
}
|
||||
}
|
||||
} else DoorActionHandler.handleAutowalkDoor (player, node.asScenery())
|
||||
|
||||
return true
|
||||
}
|
||||
|
|
|
|||
|
|
@ -64,7 +64,6 @@ public final class ActionLocks {
|
|||
*/
|
||||
public void lock(int ticks) {
|
||||
lockMovement(ticks);
|
||||
lockTeleport(ticks);
|
||||
lockInteractions(ticks);
|
||||
}
|
||||
|
||||
|
|
@ -73,7 +72,6 @@ public final class ActionLocks {
|
|||
*/
|
||||
public void unlock() {
|
||||
unlockMovement();
|
||||
unlockTeleport();
|
||||
unlockInteraction();
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue