l2j_mobius/trunk/dist/game/data/scripts/custom/NpcLocationInfo/NpcLocationInfo.java
2015-01-02 15:09:44 +00:00

326 lines
8.7 KiB
Java

/*
* Copyright (C) 2004-2015 L2J DataPack
*
* This file is part of L2J DataPack.
*
* L2J DataPack 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.
*
* L2J DataPack 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 custom.NpcLocationInfo;
import com.l2jserver.gameserver.datatables.SpawnTable;
import com.l2jserver.gameserver.model.L2Spawn;
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.util.Util;
/**
* Npc Location Info AI.
* @author Nyaran
*/
public final class NpcLocationInfo extends Quest
{
private static final int[] NPC =
{
30598,
30599,
30600,
30601,
30602,
32135
};
private static final int[] NPCRADAR =
{
// Talking Island
30006, // Gatekeeper Roxxy
30039, // Captain Gilbert
30040, // Guard Leon
30041, // Guard Arnold
30042, // Guard Abellos
30043, // Guard Johnstone
30044, // Guard Chiperan
30045, // Guard Kenyos
30046, // Guard Hanks
30283, // Blacksmith Altran
30003, // Trader Silvia
30004, // Trader Katerina
30001, // Trader Lector
30002, // Trader Jackson
30031, // High Priest Biotin
30033, // Magister Baulro
30035, // Magister Harrys
30032, // Priest Yohanes
30036, // Priest Petron
30026, // Grand Master Bitz
30027, // Master Gwinter
30029, // Master Minia
30028, // Master Pintage
30054, // Warehouse Keeper Rant
30055, // Warehouse Keeper Rolfe
30005, // Warehouse Keeper Wilford
30048, // Darin
30312, // Lighthouse Keeper Rockswell
30368, // Lilith
30049, // Bonnie
30047, // Wharf Manager Firon
30497, // Edmond
30050, // Elias
30311, // Sir Collin Windawood
30051, // Cristel
// Dark Elf Vill
30134, // Gatekeeper Jasmine
30224, // Sentry Knight Rayla
30348, // Sentry Nelsya
30355, // Sentry Roselyn
30347, // Sentry Marion
30432, // Sentry Irene
30356, // Sentry Altima
30349, // Sentry Jenna
30346, // Sentry Kayleen
30433, // Sentry Kathaway
30357, // Sentry Kristin
30431, // Sentry Eriel
30430, // Sentry Trionell
30307, // Blacksmith Karrod
30138, // Trader Minaless
30137, // Trader Vollodos
30135, // Trader Iria
30136, // Trader Payne
30143, // Master Trudy
30360, // Master Harant
30145, // Master Vlasty
30135, // Magister Harne
30144, // Tetrarch Vellior
30358, // Tetrarch Thifiell
30359, // Tetrarch Kaitar
30141, // Tetrarch Talloth
30139, // Warehouse Keeper Dorankus
30140, // Warehouse Keeper Erviante
30350, // Warehouse Freightman Carlon
30421, // Varika
30419, // Arkenia
30130, // Abyssal Celebrant Undrias
30351, // Astaron
30353, // Jughead
30354, // Jewel
// Elven Village
30146, // Gatekeeper Mirabel
30285, // Sentinel Gartrandell
30284, // Sentinel Knight Alberius
30221, // Sentinel Rayen
30217, // Sentinel Berros
30219, // Sentinel Veltress
30220, // Sentinel Starden
30218, // Sentinel Kendell
30216, // Sentinel Wheeler
30363, // Blacksmith Aios
30149, // Trader Creamees
30150, // Trader Herbiel
30148, // Trader Ariel
30147, // Trader Unoren
30155, // Master Ellenia
30156, // Master Cobendell
30157, // Magister Greenis
30158, // Magister Esrandell
30154, // Hierarch Asterios
30153, // Warehouse Keeper Markius
30152, // Warehouse Keeper Julia
30151, // Warehouse Freightman Chad
30423, // Northwind
30414, // Rosella
31853, // Treant Bremec
30223, // Arujien
30362, // Andellia
30222, // Alshupes
30371, // Thalia
31852, // Pixy Murika
// Dwarven Villa
30540, // Gatekeeper Wirphy
30541, // Protector Paion
30542, // Defender Runant
30543, // Defender Ethan
30544, // Defender Cromwell
30545, // Defender Proton
30546, // Defender Dinkey
30547, // Defender Tardyon
30548, // Defender Nathan
30531, // Iron Gate's Lockirin
30532, // Golden Wheel's Spiron
30533, // Silver Scale's Balanki
30534, // Bronze Key's Keef
30535, // Filaur of the Gray Pillar
30536, // Black Anvil's Arin
30525, // Head Blacksmith Bronk
30526, // Blacksmith Brunon
30527, // Blacksmith Silvera
30518, // Trader Garita
30519, // Trader Mion
30516, // Trader Reep
30517, // Trader Shari
30520, // Warehouse Chief Reed
30521, // Warehouse Freightman Murdoc
30522, // Warehouse Keeper Airy
30523, // Collector Gouph
30524, // Collector Pippi
30537, // Daichir, Priest of the Eart
30650, // Priest of the Earth Gerald
30538, // Priest of the Earth Zimenf
30539, // Priestess of the Earth Chichirin
30671, // Captain Croto
30651, // Wanderer Dorf
30550, // Gauri Twinklerock
30554, // Miner Bolter
30553, // Maryse Redbonnet
// Orc Village
30576, // Gatekeeper Tamil
30577, // Praetorian Rukain
30578, // Centurion Nakusin
30579, // Centurion Tamai
30580, // Centurion Parugon
30581, // Centurion Orinak
30582, // Centurion Tiku
30583, // Centurion Petukai
30584, // Centurion Vapook
30569, // Prefect Brukurse
30570, // Prefect Karukia
30571, // Seer Tanapi
30572, // Seer Livina
30564, // Blacksmith Sumari
30560, // Trader Uska
30561, // Trader Papuma
30558, // Trader Jakal
30559, // Trader Kunai
30562, // Warehouse Keeper Grookin
30563, // Warehouse Keeper Imantu
30565, // Flame Lord Kakai
30566, // Atuba Chief Varkees
30567, // Neruga Chief Tantus
30568, // Urutu Chief Hatos
30585, // Tataru Zu Hestui
30587, // Gantaki Zu Urutu
// Kamael Villag
32163, // Gatekeeper Ragara
32173, // Zerstorer Marcela
32174, // Marksman Maddy
32175, // Marksman Bixon
32176, // Marksman Ambra
32177, // Marksman Syzar
32178, // Guard Karba
32179, // Marksman Putin
32180, // Marksman Kato
32164, // Weapons Trader Erinu
32165, // Armor Trader Zacon
32168, // Magic Trader Janis
32166, // Accessory Trader Treavi
32167, // Consumption Goods Trader Neazel
32141, // Master Nerga
32142, // Master Tenor
32143, // Master Belkis
32144, // Master Sonya
32145, // Grand Master Maynard
32146, // Grand Master Valpor
32139, // Hierarch Casca
32140, // Hierarch Zenya
32138, // Hierarch Kekropus
32171, // Warehouse Chief Hoffa
32170, // Warehouse Keeper Benis
32172, // Warehouse Freightman Saylem
32153, // High Priest Prana
32154, // Grand Master Aldenia
32155, // Priest Nabot
32156, // Master Talbot
32150, // Hight Prefect Took
32151, // Prefect Harz
32152, // Seer Henri
32147, // Grand Master Libian
32148, // Master Sydnet
32149, // Magister Enea
32160, // Grand Magister Devon
32162, // Magister Martika
32161, // Master Black
32158, // Warehouse Chief Fisler
32157, // Head Blacksmith Moka
32159, // Blacksmith Kincaid
32169, // Spellbook Trader Mifren
};
private NpcLocationInfo()
{
super(-1, NpcLocationInfo.class.getSimpleName(), "custom");
addStartNpc(NPC);
addTalkId(NPC);
}
@Override
public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
{
String htmltext = event;
QuestState st = getQuestState(player, false);
if (st == null)
{
return htmltext;
}
if (Util.isDigit(event))
{
htmltext = null;
int npcId = Integer.parseInt(event);
if (Util.contains(NPCRADAR, npcId))
{
int x = 0, y = 0, z = 0;
final L2Spawn spawn = SpawnTable.getInstance().getFirstSpawn(npcId);
if (spawn != null)
{
x = spawn.getX();
y = spawn.getY();
z = spawn.getZ();
}
st.addRadar(x, y, z);
htmltext = "MoveToLoc.htm";
}
st.exitQuest(true);
}
return htmltext;
}
@Override
public String onTalk(L2Npc npc, L2PcInstance player)
{
String htmltext = getNoQuestMsg(player);
int npcId = npc.getId();
getQuestState(player, true);
if (Util.contains(NPC, npcId))
{
htmltext = String.valueOf(npcId) + ".htm";
}
return htmltext;
}
public static void main(String args[])
{
new NpcLocationInfo();
}
}