/* * $Author: AresXP * $Date: -- * $Revision: 4 * * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2, or (at your option) * any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA * 02111-1307, USA. * * http://www.gnu.org/copyleft/gpl.html */ package net.sf.l2j.gameserver.model.actor.instance; import java.util.StringTokenizer; import javolution.text.TextBuilder; //import net.sf.l2j.gameserver.model.L2ItemInstance; import net.sf.l2j.gameserver.serverpackets.ActionFailed; import net.sf.l2j.gameserver.serverpackets.MyTargetSelected; import net.sf.l2j.gameserver.serverpackets.NpcHtmlMessage; //import net.sf.l2j.gameserver.serverpackets.PlaySound; import net.sf.l2j.gameserver.serverpackets.SystemMessage; import net.sf.l2j.gameserver.model.quest.QuestState; import net.sf.l2j.gameserver.model.actor.instance.L2FolkInstance; import net.sf.l2j.gameserver.templates.L2NpcTemplate; import net.sf.l2j.gameserver.model.quest.State; import net.sf.l2j.gameserver.lib.Rnd; /** * This class ... * * @version $Revision: $ $Date: $ * @author AresXP */ public class L2HelperInstance extends L2FolkInstance { public L2HelperInstance(int objectId, L2NpcTemplate template) { super(objectId, template); } private static String _mimirs_elixir = "235_MimirsElixir"; private static String _fates_whisper = "234_FatesWhisper"; private static boolean _mimir_completed = false; private static boolean _fates_completed = false; private static int _adena_needed = 125000000; public void onAction(L2PcInstance player) { player.sendPacket(new ActionFailed()); player.setTarget(this); player.sendPacket(new MyTargetSelected(getObjectId(), -15)); setMimir(player); setFates(player); if (isInsideRadius(player, INTERACTION_DISTANCE, false, false)) showMessageWindow(player); } public void onBypassFeedback(L2PcInstance player, String command) { if (!isInsideRadius(player, INTERACTION_DISTANCE, false, false)) return; player.sendPacket(new ActionFailed()); StringTokenizer st = new StringTokenizer(command, " "); String actualCommand = st.nextToken(); // Get actual command String val = ""; if (st.countTokens() >= 1) { val = st.nextToken(); } if(actualCommand.equals("complete_mimir0")) completeMimir(player, 0); if(actualCommand.equals("complete_mimir1")) completeMimir(player, 1); if(actualCommand.equals("complete_fates0")) completeFates(player, 0); if(actualCommand.equals("complete_fates1")) completeFates(player, 1); } public void setMimir(L2PcInstance player) { QuestState qs = player.getQuestState(_mimirs_elixir); if(qs == null || !qs.isCompleted()) _mimir_completed = false; else _mimir_completed = true; } public boolean isMimirCompleted() { return _mimir_completed; } public void setFates(L2PcInstance player) { QuestState qs = player.getQuestState(_fates_whisper); if(qs == null || !qs.isCompleted()) _fates_completed = false; else _fates_completed = true; } public boolean isFatesCompleted() { return _fates_completed; } public void showMessageWindow(L2PcInstance player) { TextBuilder msg = new TextBuilder("
"); if(isFatesCompleted() && isMimirCompleted()) { msg.append("%npcname%: