diff --git a/Server/src/main/java/core/game/interaction/item/withobject/HairdresserCheesePlugin.java b/Server/src/main/java/core/game/interaction/item/withobject/HairdresserCheesePlugin.java deleted file mode 100644 index 66ebbd00b..000000000 --- a/Server/src/main/java/core/game/interaction/item/withobject/HairdresserCheesePlugin.java +++ /dev/null @@ -1,52 +0,0 @@ -package core.game.interaction.item.withobject; - -import core.plugin.Initializable; -import org.rs09.consts.Items; -import core.game.interaction.NodeUsageEvent; -import core.game.interaction.UseWithHandler; -import core.game.node.entity.player.Player; -import core.game.node.entity.player.link.diary.DiaryType; -import core.game.node.item.Item; -import core.game.system.task.Pulse; -import rs09.game.world.GameWorld; -import core.plugin.Plugin; - -/** - * Fills an ectophial. - * @author afaroutdude - */ -@Initializable -public class HairdresserCheesePlugin extends UseWithHandler { - - /** - * Constructs a new {@code EctophialFillPlugin} {@code Object} - */ - public HairdresserCheesePlugin() { - super(Items.CHEESE_1985); - } - - @Override - public Plugin newInstance(Object arg) throws Throwable { - addHandler(11677, OBJECT_TYPE, this); - return this; - } - - @Override - public boolean handle(NodeUsageEvent event) { - final Player player = event.getPlayer(); - player.lock(3); - //player.animate(Animation.create(1652)); - GameWorld.getPulser().submit(new Pulse(3, player) { - @Override - public boolean pulse() { - if (player.getInventory().remove(new Item(Items.CHEESE_1985))) { - player.sendMessage("You throw the cheese to Ridgeley, for which he appears grateful."); - player.getAchievementDiaryManager().finishTask(player,DiaryType.FALADOR,0, 6); - } - return true; - } - }); - return true; - } - -} diff --git a/Server/src/main/kotlin/rs09/game/interaction/item/withobject/HairdresserCheeseListener.kt b/Server/src/main/kotlin/rs09/game/interaction/item/withobject/HairdresserCheeseListener.kt new file mode 100644 index 000000000..7ea97923c --- /dev/null +++ b/Server/src/main/kotlin/rs09/game/interaction/item/withobject/HairdresserCheeseListener.kt @@ -0,0 +1,37 @@ +package rs09.game.interaction.item.withobject + +import api.* +import core.game.node.entity.player.link.diary.DiaryType +import org.rs09.consts.Items +import org.rs09.consts.Scenery +import rs09.game.interaction.IntType +import rs09.game.interaction.InteractionListener + +/** + * Listener for using cheese on Ridgeley on the treadmill + * @author Byte + */ +@Suppress("unused") +class HairdresserCheeseListener : InteractionListener { + + override fun defineListeners() { + onUseWith(IntType.SCENERY, Items.CHEESE_1985, Scenery.TREADMILL_11677) { player, used, _ -> + lock(player, 5) + + var isTaskSuccessful = false + runTask(player,3,1) { + if (!removeItem(player, used)) { + return@runTask + } + + sendMessage(player,"You throw the cheese to Ridgeley, for which he appears grateful.") + player.achievementDiaryManager.finishTask(player, DiaryType.FALADOR, 0, 6) + unlock(player) + + isTaskSuccessful = true + } + + return@onUseWith isTaskSuccessful + } + } +}