From 89b5228eba605684e74722f69ca793b174790d21 Mon Sep 17 00:00:00 2001 From: Ceikry Date: Sun, 22 Mar 2020 12:34:34 -0500 Subject: [PATCH] added a command for setting quest stages --- .../command/DeveloperCommandPlugin.java | 24 ++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) diff --git a/Server/src/plugin/command/DeveloperCommandPlugin.java b/Server/src/plugin/command/DeveloperCommandPlugin.java index d0fefa591..34d7a0e62 100644 --- a/Server/src/plugin/command/DeveloperCommandPlugin.java +++ b/Server/src/plugin/command/DeveloperCommandPlugin.java @@ -26,6 +26,7 @@ import org.crandor.game.node.entity.player.ai.resource.ResourceAIPManager; import org.crandor.game.node.entity.player.info.login.PlayerParser; import org.crandor.game.node.entity.player.link.IronmanMode; import org.crandor.game.node.entity.player.link.appearance.Gender; +import org.crandor.game.node.entity.player.link.quest.Quest; import org.crandor.game.node.entity.player.link.skillertasks.Difficulty; import org.crandor.game.node.entity.state.EntityState; import org.crandor.game.node.item.Item; @@ -50,6 +51,7 @@ import org.crandor.plugin.InitializablePlugin; import org.crandor.plugin.Plugin; import org.crandor.plugin.PluginManager; import org.crandor.tools.RandomFunction; +import org.crandor.tools.StringUtils; import plugin.skill.herblore.PotionDecantingPlugin; import java.awt.*; @@ -524,7 +526,27 @@ public final class DeveloperCommandPlugin extends CommandPlugin { case "roar": player.getPacketDispatch().sendInterfaceConfig(762, 20, false); break; - } + case "setstage": + if(args.length < 2) { + player.getPacketDispatch().sendMessage("Syntax: setstage stage# quest name"); + } else { + int stageId = 0; + stageId = toInteger(args[1]); + String questName = ""; + for (int i = 2; i < args.length; i++) { + questName += (i == 2 ? "" : " ") + args[i]; + } + questName = StringUtils.formatDisplayName(questName); + Quest quest = player.getQuestRepository().getQuest(questName); + if (quest == null) { + player.debug("err or: invalid quest - " + questName); + return true; + } + player.debug("Setting quest " + questName + " to stage " + stageId); + player.getQuestRepository().setStage(quest,stageId); + player.getQuestRepository().syncronizeTab(player); + } + } return false; }