Converted EnchantedGemPlugin to Listener
Converted EnchantedGemDialogue to DialogueFile
This commit is contained in:
@@ -1,119 +0,0 @@
|
||||
package core.game.interaction.item;
|
||||
|
||||
import core.cache.def.impl.ItemDefinition;
|
||||
import core.cache.def.impl.NPCDefinition;
|
||||
import core.game.content.dialogue.DialoguePlugin;
|
||||
import rs09.game.content.global.EnchantedJewellery;
|
||||
import core.game.interaction.OptionHandler;
|
||||
import core.game.node.Node;
|
||||
import core.game.node.entity.player.Player;
|
||||
import core.game.node.item.Item;
|
||||
import core.plugin.Initializable;
|
||||
import core.plugin.Plugin;
|
||||
import rs09.game.node.entity.skill.slayer.SlayerManager;
|
||||
|
||||
/**
|
||||
* Represents the plugin used to handle enchanted jewellery transportation.
|
||||
* @author 'Vexia
|
||||
* @version 1.0
|
||||
*/
|
||||
@Initializable
|
||||
public final class EnchantedGemPlugin extends OptionHandler {
|
||||
|
||||
@Override
|
||||
public Plugin<Object> newInstance(Object arg) throws Throwable {
|
||||
ItemDefinition.forId(4155).getHandlers().put("option:check", this);
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean handle(Player player, Node node, String option) {
|
||||
player.sendMessage("You're assigned to kill " + NPCDefinition.forId((SlayerManager.getInstance(player).getTask().getNpcs()[0])).getName().toLowerCase() + "s; only " + SlayerManager.getInstance(player).getAmount() + " more to go.");
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isWalk() {
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Represents the jewellery dialogue plugin.
|
||||
* @author 'Vexia
|
||||
* @version 1.0
|
||||
*/
|
||||
public final class JewelleryDialogue extends DialoguePlugin {
|
||||
|
||||
/**
|
||||
* Represents the id to use.
|
||||
*/
|
||||
public static final int ID = 329128389;
|
||||
|
||||
/**
|
||||
* Represents the enchanted jewellery.
|
||||
*/
|
||||
private EnchantedJewellery jewellery;
|
||||
|
||||
/**
|
||||
* If the operate option is used.
|
||||
*/
|
||||
private boolean operate;
|
||||
|
||||
/**
|
||||
* Represents the item instance.
|
||||
*/
|
||||
private Item item;
|
||||
|
||||
/**
|
||||
* Constructs a new {@code EnchantedJewelleryPlugin} {@code Object}.
|
||||
*/
|
||||
public JewelleryDialogue() {
|
||||
/**
|
||||
* empty.
|
||||
*/
|
||||
}
|
||||
|
||||
/**
|
||||
* Constructs a new {@code EnchantedJewelleryPlugin} {@code Object}.
|
||||
* @param player the player.
|
||||
*/
|
||||
public JewelleryDialogue(final Player player) {
|
||||
super(player);
|
||||
}
|
||||
|
||||
@Override
|
||||
public DialoguePlugin newInstance(Player player) {
|
||||
return new JewelleryDialogue(player);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean open(Object... args) {
|
||||
item = (Item) args[0];
|
||||
jewellery = (EnchantedJewellery) args[1];
|
||||
operate = args.length > 2 && (Boolean) args[2];
|
||||
if (jewellery == EnchantedJewellery.DIGSITE_PENDANT) {
|
||||
jewellery.use(player, item, 0, operate);
|
||||
return true;
|
||||
}
|
||||
interpreter.sendOptions("Where would you like to go?", jewellery.getOptions());
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean handle(int interfaceId, int buttonId) {
|
||||
if (player.getInterfaceManager().isOpened()) {
|
||||
end();
|
||||
return true;
|
||||
}
|
||||
end();
|
||||
jewellery.use(player, item, (buttonId - 1), operate);
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int[] getIds() {
|
||||
return new int[] { ID };
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
@@ -1,267 +0,0 @@
|
||||
package core.game.node.entity.skill.slayer;
|
||||
|
||||
import core.cache.def.impl.NPCDefinition;
|
||||
import core.game.content.dialogue.DialoguePlugin;
|
||||
import core.game.content.dialogue.FacialExpression;
|
||||
import core.game.node.entity.player.Player;
|
||||
import core.game.world.map.Direction;
|
||||
import core.plugin.Initializable;
|
||||
import rs09.game.node.entity.skill.slayer.SlayerManager;
|
||||
|
||||
/**
|
||||
* Rerpresents the enchanted gem dialogue.
|
||||
* @author 'Vexia
|
||||
* @version 1.0
|
||||
*/
|
||||
@Initializable
|
||||
public final class EnchantedGemDialogue extends DialoguePlugin {
|
||||
|
||||
/**
|
||||
* Represents the id associated with this plugin.
|
||||
*/
|
||||
public static final int ID = 77777;
|
||||
|
||||
/**
|
||||
* Constructs a new {@code EnchantedGemDialogue} {@code Object}.
|
||||
*/
|
||||
public EnchantedGemDialogue() {
|
||||
/**
|
||||
* empty.
|
||||
*/
|
||||
}
|
||||
|
||||
/**
|
||||
* Constructs a new {@code EnchantedGemDialogue} {@code Object}.
|
||||
* @param player the player.
|
||||
*/
|
||||
public EnchantedGemDialogue(Player player) {
|
||||
super(player);
|
||||
}
|
||||
|
||||
@Override
|
||||
public DialoguePlugin newInstance(Player player) {
|
||||
return new EnchantedGemDialogue(player);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean open(Object... args) {
|
||||
player.faceLocation(player.getLocation().transform(1, 0, 0));
|
||||
player.setDirection(Direction.EAST);
|
||||
interpreter.sendDialogues(SlayerManager.getInstance(player).getMaster().getNpc(), FacialExpression.HALF_GUILTY, "Hello there " + player.getUsername() + ", what can I help you with?");
|
||||
stage = 0;
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean handle(int interfaceId, int buttonId) {
|
||||
switch (stage) {
|
||||
case 0:
|
||||
interpreter.sendOptions("Select an Option", "How am I doing so far?", "Who are you?", "Where are you?", "Got any tips for me?", "Nothing really.");
|
||||
stage = 2;
|
||||
break;
|
||||
case 2:
|
||||
switch (buttonId) {
|
||||
case 1:
|
||||
interpreter.sendDialogues(player, FacialExpression.HALF_GUILTY, "How am I doing so far?");
|
||||
stage = 10;
|
||||
break;
|
||||
case 2:
|
||||
interpreter.sendDialogues(player, FacialExpression.HALF_GUILTY, "Who are you?");
|
||||
stage = 20;
|
||||
break;
|
||||
case 3:
|
||||
interpreter.sendDialogues(player, FacialExpression.HALF_GUILTY, "Where are you?");
|
||||
stage = 30;
|
||||
break;
|
||||
case 4:
|
||||
interpreter.sendDialogues(player, FacialExpression.HALF_GUILTY, "Got any tips for me?");
|
||||
stage = 400;
|
||||
break;
|
||||
case 5:
|
||||
interpreter.sendDialogues(player, FacialExpression.HALF_GUILTY, "Nothing really.");
|
||||
stage = 99;
|
||||
break;
|
||||
|
||||
}
|
||||
break;
|
||||
case 99:
|
||||
end();
|
||||
break;
|
||||
case 10:
|
||||
if (!SlayerManager.getInstance(player).hasTask()) {
|
||||
interpreter.sendDialogues(SlayerManager.getInstance(player).getMaster().getNpc(), FacialExpression.HALF_GUILTY, "You need something new to hunt. Come and see me", "When you can and I'll give you a new task.");
|
||||
stage = 11;
|
||||
break;
|
||||
}
|
||||
interpreter.sendDialogues(SlayerManager.getInstance(player).getMaster().getNpc(), FacialExpression.HALF_GUILTY, "You're currently assigned to kill " + (SlayerManager.getInstance(player).getTask() == Tasks.JAD ? " TzTok-Jad!" : NPCDefinition.forId((SlayerManager.getInstance(player).getTask().getNpcs()[0])).getName().toLowerCase() + "'s;"), "only " + SlayerManager.getInstance(player).getAmount() + " more to go.");
|
||||
player.varpManager.get(2502).setVarbit(0,SlayerManager.getInstance(player).flags.getTaskFlags() >> 4).send(player);
|
||||
stage = 11;
|
||||
break;
|
||||
case 11:
|
||||
interpreter.sendOptions("Select an Option", "Who are you?", "Where are you?", "Got any tips for me?", "That's all thanks.");
|
||||
stage = 12;
|
||||
break;
|
||||
case 12:
|
||||
switch (buttonId) {
|
||||
case 1:
|
||||
interpreter.sendDialogues(SlayerManager.getInstance(player).getMaster().getNpc(), FacialExpression.HALF_GUILTY, "My name's " + NPCDefinition.forId(SlayerManager.getInstance(player).getMaster().getNpc()).getName() + ", I'm the Slayer Master best able", "to train you.");
|
||||
stage = 21;
|
||||
break;
|
||||
case 2:
|
||||
interpreter.sendDialogues(SlayerManager.getInstance(player).getMaster().getNpc(), FacialExpression.HALF_GUILTY, "You'll find me in " + masterLocation() + ", I'll be here when you need a", "new task.");
|
||||
stage = 31;
|
||||
break;
|
||||
case 3:
|
||||
if (!SlayerManager.getInstance(player).hasTask()) {
|
||||
interpreter.sendDialogues(SlayerManager.getInstance(player).getMaster().getNpc(), FacialExpression.HALF_GUILTY, "You need something new to hunt.");
|
||||
stage = 99;
|
||||
break;
|
||||
}
|
||||
interpreter.sendDialogues(SlayerManager.getInstance(player).getMaster().getNpc(), FacialExpression.HALF_GUILTY, SlayerManager.getInstance(player).getTask().getTip());
|
||||
stage = 401;
|
||||
break;
|
||||
case 4:
|
||||
interpreter.sendDialogues(player, FacialExpression.HALF_GUILTY, "That's all thanks.");
|
||||
stage = 99;
|
||||
break;
|
||||
case 99:
|
||||
end();
|
||||
break;
|
||||
}
|
||||
break;
|
||||
case 20:
|
||||
interpreter.sendDialogues(SlayerManager.getInstance(player).getMaster().getNpc(), FacialExpression.HALF_GUILTY, "My name's " + NPCDefinition.forId(SlayerManager.getInstance(player).getMaster().getNpc()).getName() + ", I'm the Slayer Master best able", "to train you.");
|
||||
stage = 21;
|
||||
break;
|
||||
case 21:
|
||||
interpreter.sendOptions("Select an Option", "How am I doing so far?", "Where are you?", "Got any tips for me?", "That's all thanks.");
|
||||
stage = 25;
|
||||
break;
|
||||
case 25:
|
||||
switch (buttonId) {
|
||||
case 1:
|
||||
interpreter.sendDialogues(player, FacialExpression.HALF_GUILTY, "How am I doing so far?");
|
||||
stage = 10;
|
||||
break;
|
||||
case 2:
|
||||
interpreter.sendDialogues(SlayerManager.getInstance(player).getMaster().getNpc(), FacialExpression.HALF_GUILTY, "You'll find me in " + masterLocation() + ", I'll be here when you need a", "new task.");
|
||||
stage = 31;
|
||||
break;
|
||||
case 3:
|
||||
if (!SlayerManager.getInstance(player).hasTask()) {
|
||||
interpreter.sendDialogues(SlayerManager.getInstance(player).getMaster().getNpc(), FacialExpression.HALF_GUILTY, "You need something new to hunt.");
|
||||
stage = 99;
|
||||
break;
|
||||
}
|
||||
interpreter.sendDialogues(SlayerManager.getInstance(player).getMaster().getNpc(), FacialExpression.HALF_GUILTY, SlayerManager.getInstance(player).getTask().getTip());
|
||||
stage = 401;
|
||||
break;
|
||||
case 4:
|
||||
interpreter.sendDialogues(player, FacialExpression.HALF_GUILTY, "That's all thanks.");
|
||||
stage = 99;
|
||||
break;
|
||||
|
||||
}
|
||||
break;
|
||||
case 30:
|
||||
interpreter.sendDialogues(SlayerManager.getInstance(player).getMaster().getNpc(), FacialExpression.HALF_GUILTY, "You'll find me in " + masterLocation() + ", I'll be here when you need a", "new task.");
|
||||
stage = 31;
|
||||
break;
|
||||
case 31:
|
||||
interpreter.sendOptions("Select an Option", "How am I doing so far?", "Who are you?", "Got any tips for me?", "That's all thanks.");
|
||||
stage = 32;
|
||||
break;
|
||||
case 32:
|
||||
switch (buttonId) {
|
||||
case 1:
|
||||
interpreter.sendDialogues(player, FacialExpression.HALF_GUILTY, "How am I doing so far?");
|
||||
stage = 10;
|
||||
break;
|
||||
case 2:
|
||||
interpreter.sendDialogues(SlayerManager.getInstance(player).getMaster().getNpc(), FacialExpression.HALF_GUILTY, "My name's " + NPCDefinition.forId(SlayerManager.getInstance(player).getMaster().getNpc()).getName() + ", I'm the Slayer Master best able", "to train you.");
|
||||
stage = 21;
|
||||
break;
|
||||
case 3:
|
||||
if (!SlayerManager.getInstance(player).hasTask()) {
|
||||
interpreter.sendDialogues(SlayerManager.getInstance(player).getMaster().getNpc(), FacialExpression.HALF_GUILTY, "You need something new to hunt.");
|
||||
stage = 0;
|
||||
break;
|
||||
}
|
||||
interpreter.sendDialogues(SlayerManager.getInstance(player).getMaster().getNpc(), FacialExpression.HALF_GUILTY, SlayerManager.getInstance(player).getTask().getTip());
|
||||
stage = 401;
|
||||
break;
|
||||
case 4:
|
||||
interpreter.sendDialogues(player, FacialExpression.HALF_GUILTY, "That's all thanks.");
|
||||
stage = 99;
|
||||
break;
|
||||
|
||||
}
|
||||
break;
|
||||
case 400:
|
||||
if (!SlayerManager.getInstance(player).hasTask()) {
|
||||
interpreter.sendDialogues(SlayerManager.getInstance(player).getMaster().getNpc(), FacialExpression.HALF_GUILTY, "You need something new to hunt.");
|
||||
stage = 0;
|
||||
break;
|
||||
}
|
||||
interpreter.sendDialogues(SlayerManager.getInstance(player).getMaster().getNpc(), FacialExpression.HALF_GUILTY, SlayerManager.getInstance(player).getTask().getTip());
|
||||
stage = 401;
|
||||
break;
|
||||
case 401:
|
||||
interpreter.sendDialogues(player, FacialExpression.HALF_GUILTY, "Great, thanks!");
|
||||
stage = 403;
|
||||
break;
|
||||
case 403:
|
||||
interpreter.sendOptions("Select an Option", "How am I doing so far?", "Who are you?", "Where are you?", "That's all thanks.");
|
||||
stage = 404;
|
||||
break;
|
||||
case 404:
|
||||
switch (buttonId) {
|
||||
case 1:
|
||||
interpreter.sendDialogues(player, FacialExpression.HALF_GUILTY, "How am I doing so far?");
|
||||
stage = 10;
|
||||
break;
|
||||
case 2:
|
||||
interpreter.sendDialogues(SlayerManager.getInstance(player).getMaster().getNpc(), FacialExpression.HALF_GUILTY, "My name's " + NPCDefinition.forId(SlayerManager.getInstance(player).getMaster().getNpc()).getName() + ", I'm the Slayer Master best able", "to train you.");
|
||||
stage = 21;
|
||||
break;
|
||||
case 3:
|
||||
interpreter.sendDialogues(SlayerManager.getInstance(player).getMaster().getNpc(), FacialExpression.HALF_GUILTY, "You'll find me in " + masterLocation() + ", I'll be here when you need a", "new task.");
|
||||
stage = 31;
|
||||
break;
|
||||
case 4:
|
||||
interpreter.sendDialogues(player, FacialExpression.HALF_GUILTY, "That's all thanks.");
|
||||
stage = 99;
|
||||
break;
|
||||
|
||||
}
|
||||
break;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Method used to get the masters location.
|
||||
* @return the location.
|
||||
*/
|
||||
public String masterLocation() {
|
||||
if (SlayerManager.getInstance(player).getMaster().getNpc() == Master.MAZCHNA.getNpc())
|
||||
return "Canifis";
|
||||
else if (SlayerManager.getInstance(player).getMaster().getNpc() == Master.TURAEL.getNpc())
|
||||
return "Taverley";
|
||||
else if (SlayerManager.getInstance(player).getMaster().getNpc() == Master.CHAELDAR.getNpc())
|
||||
return "Zanaris";
|
||||
else if (SlayerManager.getInstance(player).getMaster().getNpc() == Master.VANNAKA.getNpc())
|
||||
return "Edgeville dungeon";
|
||||
else if (SlayerManager.getInstance(player).getMaster().getNpc() == Master.DURADEL.getNpc())
|
||||
return "Shilo village";
|
||||
else if(SlayerManager.getInstance(player).getMaster() == null) {
|
||||
return "the Gnome Stronghold";
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int[] getIds() {
|
||||
return new int[] { ID };
|
||||
}
|
||||
}
|
||||
@@ -22,6 +22,7 @@ import core.game.node.entity.player.link.emote.Emotes
|
||||
import core.game.node.entity.player.link.quest.QuestRepository
|
||||
import core.game.node.entity.skill.Skills
|
||||
import core.game.node.entity.skill.gather.SkillingTool
|
||||
import core.game.node.entity.skill.slayer.Tasks
|
||||
import core.game.node.entity.skill.summoning.familiar.BurdenBeast
|
||||
import core.game.node.item.GroundItem
|
||||
import core.game.node.item.GroundItemManager
|
||||
@@ -41,6 +42,7 @@ import core.game.world.update.flag.chunk.AnimateObjectUpdateFlag
|
||||
import core.game.world.update.flag.context.Animation
|
||||
import core.game.world.update.flag.context.Graphics
|
||||
import org.rs09.consts.Items
|
||||
import org.rs09.consts.NPCs
|
||||
import rs09.game.content.dialogue.DialogueFile
|
||||
import rs09.game.content.dialogue.SkillDialogueHandler
|
||||
import rs09.game.content.global.GlobalKillCounter
|
||||
@@ -1589,6 +1591,15 @@ fun getPathableRandomLocalCoordinate(target: Entity, radius: Int, center: Locati
|
||||
return target.location
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the player's active slayer task.
|
||||
* @author bushtail
|
||||
* @param player the player whose task we are checking.
|
||||
* @return the slayer task.
|
||||
*/
|
||||
fun getSlayerTask(player : Player) : Tasks? {
|
||||
return SlayerManager.getInstance(player).task
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the name of the player's active slayer task.
|
||||
@@ -1608,4 +1619,65 @@ fun getSlayerTaskName(player : Player) : String {
|
||||
*/
|
||||
fun getSlayerTaskKillsRemaining(player : Player) : Int {
|
||||
return SlayerManager.getInstance(player).amount
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the player's slayer master as npc.
|
||||
* @author bushtail
|
||||
* @param player the player whose master we are checking.
|
||||
* @return the slayer master as NPC.
|
||||
*/
|
||||
fun getSlayerMaster(player : Player) : NPC {
|
||||
return findNPC(SlayerManager.getInstance(player).master?.npc as Int) as NPC
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the player's slayer master location as string.
|
||||
* @author bushtail
|
||||
* @param player the player whose master we are checking.
|
||||
* @return the slayer master location as String.
|
||||
*/
|
||||
fun getSlayerMasterLocation(player : Player) : String {
|
||||
return when(getSlayerMaster(player).id) {
|
||||
NPCs.CHAELDAR_1598 -> "Zanaris"
|
||||
NPCs.DURADEL_8275 -> "Shilo Village"
|
||||
NPCs.MAZCHNA_8274 -> "Canifis"
|
||||
NPCs.TURAEL_8273 -> "Taverly"
|
||||
NPCs.VANNAKA_1597 -> "Edgeville Dungeon"
|
||||
else -> "The Backrooms"
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the player's slayer task tip as String.
|
||||
* @author bushtail
|
||||
* @param player the player whose task tip we are checking.
|
||||
* @return the task tip as String.
|
||||
*/
|
||||
fun getSlayerTip(player : Player) : Array<out String> {
|
||||
return if(hasSlayerTask(player)) {
|
||||
SlayerManager.getInstance(player).task?.tip!!
|
||||
} else {
|
||||
arrayOf("You need something new to hunt.")
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the player's slayer task flags as Int.
|
||||
* @author bushtail
|
||||
* @param player the player whose task flags we are checking.
|
||||
* @return the task flags as Int.
|
||||
*/
|
||||
fun getSlayerTaskFlags(player : Player) : Int {
|
||||
return SlayerManager.getInstance(player).flags.taskFlags
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns whether or not the player has a task.
|
||||
* @author bushtail
|
||||
* @param player the player whose task we are checking.
|
||||
* @return has task as Boolean.
|
||||
*/
|
||||
fun hasSlayerTask(player : Player) : Boolean {
|
||||
return SlayerManager.getInstance(player).hasTask()
|
||||
}
|
||||
@@ -0,0 +1,66 @@
|
||||
package rs09.game.interaction.item
|
||||
|
||||
import api.*
|
||||
import core.game.content.dialogue.FacialExpression
|
||||
import core.game.node.entity.skill.slayer.Tasks
|
||||
import org.rs09.consts.Items
|
||||
import rs09.game.content.dialogue.DialogueFile
|
||||
import rs09.game.content.dialogue.IfTopic
|
||||
import rs09.game.content.dialogue.Topic
|
||||
import rs09.game.interaction.InteractionListener
|
||||
import rs09.tools.END_DIALOGUE
|
||||
|
||||
class EnchantedGemListener : InteractionListener {
|
||||
override fun defineListeners() {
|
||||
on(Items.ENCHANTED_GEM_4155, ITEM, "activate") { player, _ ->
|
||||
openDialogue(player, EnchantedGemDialogue())
|
||||
return@on true
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
class EnchantedGemDialogue() : DialogueFile() {
|
||||
var firstRun = true
|
||||
override fun handle(interfaceId: Int, buttonId: Int) {
|
||||
npc = getSlayerMaster(player!!)
|
||||
when(stage) {
|
||||
0 -> npcl(FacialExpression.FRIENDLY, "Hello there ${player!!.username}, what can I help you with?").also { stage++ }
|
||||
1 -> showTopics(
|
||||
Topic(FacialExpression.ASKING, "How am I doing so far?", 100),
|
||||
Topic(FacialExpression.HALF_ASKING, "Who are you?", 200),
|
||||
Topic(FacialExpression.HALF_ASKING, "Where are you?", 300),
|
||||
Topic(FacialExpression.FRIENDLY, "Got any tips for me?", 400),
|
||||
IfTopic(FacialExpression.FRIENDLY, "Nothing really.", END_DIALOGUE, firstRun),
|
||||
IfTopic(FacialExpression.HAPPY, "That's all thanks.", END_DIALOGUE, !firstRun)
|
||||
)
|
||||
100 -> {
|
||||
firstRun = false
|
||||
if(!hasSlayerTask(player!!)) {
|
||||
npcl(FacialExpression.HALF_THINKING, "You need something new to hunt. Come and see me when you can and I'll give you a new task.").also { stage = 1 }
|
||||
} else {
|
||||
if(getSlayerTask(player!!) == Tasks.JAD) {
|
||||
npcl(FacialExpression.FRIENDLY, "You're currently assigned to kill TzTok-Jad!")
|
||||
} else {
|
||||
npcl(FacialExpression.FRIENDLY, "You're currently assigned to kill ${getSlayerTaskName(player!!)}s; only ${getSlayerTaskKillsRemaining(player!!)} more to go.")
|
||||
}
|
||||
setVarbit(player!!, 2502, 0, getSlayerTaskFlags(player!!))
|
||||
stage = 1
|
||||
}
|
||||
}
|
||||
200 -> {
|
||||
firstRun = false
|
||||
npcl(FacialExpression.HAPPY, "My name's ${getSlayerMaster(player!!).name}, I'm the Slayer Master best able to train you.").also { stage = 1 }
|
||||
}
|
||||
300 -> {
|
||||
firstRun = false
|
||||
npcl(FacialExpression.HAPPY, "You'll find me in ${getSlayerMasterLocation(player!!)}, I'll be here when you need a new task.").also { stage = 1 }
|
||||
}
|
||||
400 -> {
|
||||
firstRun = false
|
||||
npc(FacialExpression.FRIENDLY, *getSlayerTip(player!!))
|
||||
stage++
|
||||
}
|
||||
401 -> player(FacialExpression.HAPPY, "Great, thanks!").also { stage = 1 }
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user