Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- * 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 3 of the License, 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, see <http://www.gnu.org/licenses/>.
- */
- package events.LoveYourGatekeeper;
- import com.l2jserver.gameserver.datatables.SkillTable;
- import com.l2jserver.gameserver.model.actor.L2Npc;
- import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
- import com.l2jserver.gameserver.model.quest.Quest;
- import com.l2jserver.gameserver.model.quest.QuestState;
- import com.l2jserver.gameserver.model.quest.State;
- import com.l2jserver.gameserver.instancemanager.QuestManager;
- import com.l2jserver.gameserver.network.SystemMessageId;
- import com.l2jserver.gameserver.network.serverpackets.SystemMessage;
- /******************************************
- * @author Gladicek *
- * Retail Event 'Love Your Gatekeeper' *
- *****************************************/
- public class LoveYourGatekeeper extends Quest
- {
- // Volunteer
- private static final int NpcId = 32477;
- // Item
- private static final int ItemId = 12814; // Shadow Item - Gatekeeper Transformation Stick
- // Time
- private static final int _hours = 24;
- // Spawns for Npc
- private static final int[][] _spawns =
- {
- { 82766, 149438, -3464, 33865 },
- { 82286, 53291, -1488, 15250 },
- { 147060, 25943, -2008, 18774 },
- { 148096, -55466, -2728, 40541 },
- { 87116, -141332, -1336, 52193 },
- { 43521, -47542, -792, 31655 },
- { 17203, 144949, -3024, 18166 },
- { 111164, 221062, -3544, 2714 },
- { -13869, 122063, -2984, 18270 },
- { -83161, 150915, -3120, 17311 },
- { 45402, 48355, -3056, 49153 },
- { 115616, -177941, -896, 30708 },
- { -44928, -113608, -192, 30212 },
- { -84037, 243194, -3728, 8992 },
- {-119690, 44583, 360, 29289 },
- { 12084, 16576, -4584, 57345 }
- };
- public LoveYourGatekeeper(int questId, String name, String descr)
- {
- super(questId, name, descr);
- addStartNpc(NpcId);
- addFirstTalkId(NpcId);
- addTalkId(NpcId);
- for(int[] _spawn : _spawns)
- addSpawn(NpcId, _spawn[0], _spawn[1], _spawn[2], _spawn[3], false, 0);
- }
- @Override
- public String onFirstTalk(L2Npc npc, L2PcInstance player)
- {
- QuestState st = player.getQuestState(getName());
- if (st == null)
- {
- Quest q = QuestManager.getInstance().getQuest(getName());
- st = q.newQuestState(player);
- }
- return "32477.htm";
- }
- @Override
- public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
- {
- String htmltext = "";
- Quest q = QuestManager.getInstance().getQuest(getName());
- QuestState st = player.getQuestState(getName());
- htmltext = event;
- if (event.equalsIgnoreCase("transform_stick"))
- {
- if (st.getQuestItemsCount(57) > 10000)
- {
- long _curr_time = System.currentTimeMillis();
- String value = q.loadGlobalQuestVar(player.getAccountName());
- long _reuse_time = value == "" ? 0 : Long.parseLong(value);
- if (_curr_time > _reuse_time)
- {
- st.setState(State.STARTED);
- st.takeItems(57, 10000);
- st.giveItems(ItemId, 1);
- q.saveGlobalQuestVar(player.getAccountName(), Long.toString(System.currentTimeMillis() + (_hours * 3600000)));
- return null;
- }
- else
- {
- long remainingTime = (_reuse_time - System.currentTimeMillis()) / 1000;
- int hours = (int) (remainingTime / 3600);
- int minutes = (int) ((remainingTime % 3600) / 60);
- SystemMessage sm = SystemMessage.getSystemMessage(SystemMessageId.AVAILABLE_AFTER_S1_S2_HOURS_S3_MINUTES);
- sm.addItemName(ItemId);
- sm.addNumber(hours);
- sm.addNumber(minutes);
- player.sendPacket(sm);
- return null;
- }
- }
- else
- {
- htmltext = "32477-3.htm";
- }
- }
- else if (event.equalsIgnoreCase("transform"))
- {
- if (player.getFirstEffect(107) != null)
- return null;
- else
- {
- npc.setTarget(player);
- npc.doCast(SkillTable.getInstance().getInfo(26074, 1));
- }
- return null;
- }
- return htmltext;
- }
- public static void main(String[] args)
- {
- new LoveYourGatekeeper(-1, "LoveYourGatekeeper", "events");
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment