Updated SwampHoleRope plugin to listener (applies to Lumbridge swamp hole)
This commit is contained in:
@@ -1,48 +0,0 @@
|
|||||||
package core.game.interaction.item.withobject;
|
|
||||||
|
|
||||||
import core.game.interaction.NodeUsageEvent;
|
|
||||||
import core.game.interaction.UseWithHandler;
|
|
||||||
import core.game.node.item.Item;
|
|
||||||
import core.plugin.Initializable;
|
|
||||||
import core.plugin.Plugin;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Represents the swamp hole rope plugin.
|
|
||||||
* @author 'Vexia
|
|
||||||
* @date 01/12/2013
|
|
||||||
*/
|
|
||||||
@Initializable
|
|
||||||
public class SwampHoleRopePlugin extends UseWithHandler {
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Represents the rope item.
|
|
||||||
*/
|
|
||||||
private static final Item ROPE = new Item(954);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Constructs a new {@code SwampHoleRopePlugin.java} {@code Object}.
|
|
||||||
*/
|
|
||||||
public SwampHoleRopePlugin() {
|
|
||||||
super(954);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public Plugin<Object> newInstance(Object arg) throws Throwable {
|
|
||||||
addHandler(5947, OBJECT_TYPE, this);
|
|
||||||
return this;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean handle(NodeUsageEvent event) {
|
|
||||||
if (!event.getPlayer().getSavedData().getGlobalData().hasTiedLumbridgeRope()) {
|
|
||||||
if (event.getPlayer().getInventory().remove(ROPE)) {
|
|
||||||
event.getPlayer().getDialogueInterpreter().sendItemMessage(954, "You tie the rope to the top of the entrance and throw it down.");
|
|
||||||
event.getPlayer().getSavedData().getGlobalData().setLumbridgeRope(true);
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
event.getPlayer().getDialogueInterpreter().sendDialogue("There is already a rope tied to the entrance.");
|
|
||||||
}
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
@@ -0,0 +1,33 @@
|
|||||||
|
package rs09.game.interaction.item.withobject
|
||||||
|
|
||||||
|
import api.*
|
||||||
|
import org.rs09.consts.Items
|
||||||
|
import org.rs09.consts.Scenery
|
||||||
|
import rs09.game.interaction.IntType
|
||||||
|
import rs09.game.interaction.InteractionListener
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Listener for using rope on Lumbridge swamp hole
|
||||||
|
* @author Byte
|
||||||
|
*/
|
||||||
|
@Suppress("unused")
|
||||||
|
class SwampHoleRopeListener : InteractionListener {
|
||||||
|
|
||||||
|
override fun defineListeners() {
|
||||||
|
onUseWith(IntType.SCENERY, Items.ROPE_954, Scenery.DARK_HOLE_5947) { player, used, _ ->
|
||||||
|
if (player.savedData.globalData.hasTiedLumbridgeRope()) {
|
||||||
|
sendDialogue(player, "There is already a rope tied to the entrance.")
|
||||||
|
return@onUseWith true
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!removeItem(player, used)) {
|
||||||
|
return@onUseWith false
|
||||||
|
}
|
||||||
|
|
||||||
|
sendItemDialogue(player, used, "You tie the rope to the top of the entrance and throw it down.")
|
||||||
|
player.savedData.globalData.setLumbridgeRope(true)
|
||||||
|
|
||||||
|
return@onUseWith true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user