package consolecommands; import com.aionemu.gameserver.model.gameobjects.VisibleObject; import com.aionemu.gameserver.model.gameobjects.player.Player; import com.aionemu.gameserver.network.aion.serverpackets.SM_QUEST_ACTION; import com.aionemu.gameserver.network.aion.serverpackets.SM_QUEST_ACTION.ActionType; import com.aionemu.gameserver.questEngine.QuestEngine; import com.aionemu.gameserver.questEngine.model.QuestState; import com.aionemu.gameserver.questEngine.model.QuestStatus; import com.aionemu.gameserver.utils.PacketSendUtility; import com.aionemu.gameserver.utils.chathandlers.ConsoleCommand; /** * @author ginho1, Neon */ public class Deletecquest extends ConsoleCommand { public Deletecquest() { super("deletecquest", "Deletes a quest from the players quest list."); setSyntaxInfo("<3> - Deletes the quest from the targets quest list."); } @Override public void execute(Player admin, String... params) { if (params.length == 0) { sendInfo(admin); return; } VisibleObject target = admin.getTarget(); if (!(target instanceof Player)) { PacketSendUtility.sendMessage(admin, "Please select a player."); return; } Player player = (Player) target; int questId; try { questId = Integer.valueOf(params[0]); } catch (NumberFormatException e) { sendInfo(admin); return; } QuestState qs = player.getQuestStateList().deleteQuest(questId); if (qs == null) { sendInfo(admin, "Player " + player.getName() + " does not have that quest."); return; } if (qs.getStatus() == QuestStatus.COMPLETE) QuestEngine.getInstance().sendCompletedQuests(player); // rewrite completed quest list else PacketSendUtility.sendPacket(player, new SM_QUEST_ACTION(ActionType.ABANDON, qs)); player.getController().updateNearbyQuests(); } }