Removed last teleporter python scripts.
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
<html><body>A voice whispers in your ear:<br>
|
||||
<font color="LEVEL">Will you confront Antharas, the worshipper of the dark holy place and the creation of Shilen?</font><br>
|
||||
<a action="bypass -h npc_%objectId%_Quest 6000_GrandBossTeleporters">Go to the Lair of Antharas.</a>
|
||||
<a action="bypass -h npc_%objectId%_Quest GrandBossTeleporters">Go to the Lair of Antharas.</a>
|
||||
</body></html>
|
@@ -1,5 +1,5 @@
|
||||
<html><body>Gatekeeper of the Fire Dragon:<br>
|
||||
Good job finding this road! It may be rough, but you'll reach your destination much sooner. Do you wish to enter this door behind me?<br>
|
||||
<a action="bypass -h npc_%objectId%_Quest 6000_GrandBossTeleporters">"Yes."</a><br>
|
||||
<a action="bypass -h npc_%objectId%_Quest GrandBossTeleporters">"Yes."</a><br>
|
||||
<a action="bypass -h npc_%objectId%_Quest">Quest</a>
|
||||
</body></html>
|
@@ -1,4 +1,4 @@
|
||||
<html><body>[Whispering]<br>
|
||||
<font color="LEVEL">Will you confront Valakas?</font><br>
|
||||
<a action="bypass -h npc_%objectId%_Quest 6000_GrandBossTeleporters">Enter the nest</a>
|
||||
<a action="bypass -h npc_%objectId%_Quest GrandBossTeleporters">Enter the nest</a>
|
||||
</body></html>
|
@@ -2,6 +2,6 @@
|
||||
Why are you here? Are you by any chance looking for the Hall of Flames behind me?<br>
|
||||
<a action="bypass -h npc_%objectId%_Chat 1">"Tell me more about the Hall of Flames."</a><br>
|
||||
<a action="bypass -h npc_%objectId%_Chat 2">"Tell me about the Amulet of Blessing and Amulet of Rescue."</a><br>
|
||||
<a action="bypass -h npc_%objectId%_Quest 6000_GrandBossTeleporters">"I want to enter the Hall of Flames."</a><br>
|
||||
<a action="bypass -h npc_%objectId%_Quest GrandBossTeleporters">"I want to enter the Hall of Flames."</a><br>
|
||||
<a action="bypass -h npc_%objectId%_Quest">Quest</a>
|
||||
</body></html>
|
@@ -1,6 +1,6 @@
|
||||
<html><body>Gatekeeper of the Fire Dragon:<br>
|
||||
Congratulations on making it this far! I'm sorry, but this door can only be opened by the gatekeeper of the fire dragon on the other side of the crossroads you just passed. The door I control is behind him.<br>
|
||||
If you made it this far, you should be alright. Remember, if you have a companion, you can open both doors simultaneously.<br>
|
||||
<a action="bypass -h npc_%objectId%_Quest 6000_GrandBossTeleporters">"Please open the door."</a><br>
|
||||
<a action="bypass -h npc_%objectId%_Quest GrandBossTeleporters">"Please open the door."</a><br>
|
||||
<a action="bypass -h npc_%objectId%_Quest">Quest</a>
|
||||
</body></html>
|
@@ -1,6 +1,6 @@
|
||||
<html><body>Gatekeeper of the Fire Dragon:<br>
|
||||
Congratulations on making it this far! I'm sorry, but this door can only be opened by the gatekeeper of the fire dragon on the other side of the crossroads you just passed. The door I control is behind him.<br>
|
||||
If you made it this far, you should be alright. Remember, if you have a companion, you can open both doors simultaneously.<br>
|
||||
<a action="bypass -h npc_%objectId%_Quest 6000_GrandBossTeleporters">"Please open the door."</a><br>
|
||||
<a action="bypass -h npc_%objectId%_Quest GrandBossTeleporters">"Please open the door."</a><br>
|
||||
<a action="bypass -h npc_%objectId%_Quest">Quest</a>
|
||||
</body></html>
|
@@ -1,3 +1,3 @@
|
||||
<html><body>Teleport Cube:<br><br>
|
||||
<a action="bypass -h npc_%objectId%_Quest 6000_GrandBossTeleporters">Leave Valakas's Nest.</a>
|
||||
<a action="bypass -h npc_%objectId%_Quest GrandBossTeleporters">Leave Valakas's Nest.</a>
|
||||
</body></html>
|
@@ -1,3 +1,3 @@
|
||||
<html><body>Teleport Cube:<br><br>
|
||||
<a action="bypass -h npc_%objectId%_Quest 6000_GrandBossTeleporters">Go to Giran Castle Town</a>
|
||||
<a action="bypass -h npc_%objectId%_Quest GrandBossTeleporters">Go to Giran Castle Town</a>
|
||||
</body></html>
|
@@ -1,4 +1,4 @@
|
||||
<html><body>
|
||||
Teleport Cube:<br>
|
||||
<a action="bypass -h npc_%objectId%_Quest 2400_toivortex_exit">Go above Ground</a>
|
||||
<a action="bypass -h npc_%objectId%_Quest ToIVortexExit">Return to the surface.</a>
|
||||
</body></html>
|
@@ -31,8 +31,6 @@ import org.l2jmobius.gameserver.model.quest.Quest;
|
||||
*/
|
||||
public final class HotSprings extends Quest
|
||||
{
|
||||
private static final String qn = "HotSprings";
|
||||
|
||||
// NPCs
|
||||
private static final int BANDERSNATCHLING = 21314;
|
||||
private static final int FLAVA = 21316;
|
||||
@@ -50,7 +48,7 @@ public final class HotSprings extends Quest
|
||||
|
||||
private HotSprings()
|
||||
{
|
||||
super(-1, qn, "areas");
|
||||
super(-1, "HotSprings", "ai/areas");
|
||||
|
||||
addAttackId(BANDERSNATCHLING, FLAVA, ATROXSPAWN, NEPENTHES, ATROX, BANDERSNATCH);
|
||||
}
|
||||
|
@@ -149,6 +149,16 @@ public class Antharas extends Quest
|
||||
init();
|
||||
}
|
||||
|
||||
@Override
|
||||
public String onAdvEvent(String event, NpcInstance npc, PlayerInstance player)
|
||||
{
|
||||
if (event.equals("setAntharasSpawnTask"))
|
||||
{
|
||||
setAntharasSpawnTask();
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
// Initialize
|
||||
private void init()
|
||||
{
|
||||
|
@@ -1,39 +0,0 @@
|
||||
# Created by Ham Wong on 2007.02.28
|
||||
import sys
|
||||
|
||||
from org.l2jmobius.gameserver.model.quest import State
|
||||
from org.l2jmobius.gameserver.model.quest import QuestState
|
||||
from org.l2jmobius.gameserver.model.quest.jython import QuestJython as JQuest
|
||||
|
||||
qn = "2400_toivortex_exit"
|
||||
#print "2400. Toivortex exit"
|
||||
NPC=[29055]
|
||||
|
||||
class Quest (JQuest) :
|
||||
|
||||
def __init__(self,id,name,descr): JQuest.__init__(self,id,name,descr)
|
||||
|
||||
def onTalk (Self,npc,player):
|
||||
st = player.getQuestState(qn)
|
||||
chance = st.getRandom(3)
|
||||
if chance == 0:
|
||||
x=108784+st.getRandom(100)
|
||||
y=16000+st.getRandom(100)
|
||||
z=-4928
|
||||
elif chance == 1:
|
||||
x=113824+st.getRandom(100)
|
||||
y=10448+st.getRandom(100)
|
||||
z=-5164
|
||||
else:
|
||||
x=115488+st.getRandom(100)
|
||||
y=22096+st.getRandom(100)
|
||||
z=-5168
|
||||
player.teleToLocation(x,y,z)
|
||||
st.exitQuest(1)
|
||||
return
|
||||
|
||||
QUEST = Quest(2400,qn,"Teleports")
|
||||
|
||||
for item in NPC:
|
||||
QUEST.addStartNpc(item)
|
||||
QUEST.addTalkId(item)
|
@@ -1,144 +0,0 @@
|
||||
#Made by Emperorc
|
||||
import sys
|
||||
from org.l2jmobius import Config
|
||||
from org.l2jmobius.gameserver.datatables.csv import DoorTable
|
||||
from org.l2jmobius.gameserver.model.quest import State
|
||||
from org.l2jmobius.gameserver.model.quest import QuestState
|
||||
from org.l2jmobius.gameserver.model.quest.jython import QuestJython as JQuest
|
||||
from org.l2jmobius.gameserver.datatables.sql import SpawnTable
|
||||
from org.l2jmobius.commons.util import Rnd
|
||||
from org.l2jmobius.gameserver.instancemanager import QuestManager
|
||||
from org.l2jmobius.gameserver.instancemanager import GrandBossManager
|
||||
|
||||
qn = "6000_GrandBossTeleporters"
|
||||
|
||||
NPCs = [
|
||||
13001, #Heart of Warding : Teleport into Lair of Antharas
|
||||
31859, #Teleportation Cubic : Teleport out of Lair of Antharas
|
||||
31384, #Gatekeeper of Fire Dragon : Opening some doors
|
||||
31385, #Heart of Volcano : Teleport into Lair of Valakas
|
||||
31540, #Watcher of Valakas Klein : Teleport into Hall of Flames
|
||||
31686, #Gatekeeper of Fire Dragon : Opens doors to Heart of Volcano
|
||||
31687, #Gatekeeper of Fire Dragon : Opens doors to Heart of Volcano
|
||||
31759, #Teleportation Cubic : Teleport out of Lair of Valakas
|
||||
]
|
||||
|
||||
class Quest (JQuest) :
|
||||
|
||||
def __init__(self,id,name,descr):
|
||||
self.antharasAI = QuestManager.getInstance().getQuest("antharas")
|
||||
self.valakasAI = QuestManager.getInstance().getQuest("valakas")
|
||||
self.count = 0
|
||||
self.count2 = 0
|
||||
JQuest.__init__(self,id,name,descr)
|
||||
|
||||
def onAdvEvent (self,event,npc,player):
|
||||
st = player.getQuestState(qn)
|
||||
if not st:
|
||||
st = self.newQuestState(player)
|
||||
if event == "31540":
|
||||
if st.getQuestItemsCount(7267) > 0 :
|
||||
st.takeItems(7267,1)
|
||||
player.teleToLocation(183813,-115157,-3303)
|
||||
st.set("allowEnter","1")
|
||||
return
|
||||
else :
|
||||
htmltext = "31540-06.htm"
|
||||
return htmltext
|
||||
|
||||
def onTalk (self,npc,player):
|
||||
npcId = npc.getNpcId()
|
||||
htmltext = ""
|
||||
if npcId == 13001 : #heart of warding
|
||||
if self.antharasAI :
|
||||
status = GrandBossManager.getInstance().getBossStatus(29019)
|
||||
statusW = GrandBossManager.getInstance().getBossStatus(29066)
|
||||
statusN = GrandBossManager.getInstance().getBossStatus(29067)
|
||||
statusS = GrandBossManager.getInstance().getBossStatus(29068)
|
||||
if status == 2 or statusW == 2 or statusN == 2 or statusS == 2:
|
||||
htmltext = "13001-02.htm"
|
||||
elif status == 3 or statusW == 3 or statusN == 3 or statusS == 3:
|
||||
htmltext = "13001-01.htm"
|
||||
elif status == 0 or status == 1 : #If entrance to see Antharas is unlocked (he is Dormant or Waiting)
|
||||
st = player.getQuestState(qn)
|
||||
if st.getQuestItemsCount(3865) > 0 :
|
||||
st.takeItems(3865,1)
|
||||
zone = GrandBossManager.getInstance().getZone(179700,113800,-7709)
|
||||
if zone :
|
||||
zone.allowPlayerEntry(player,30)
|
||||
x = 179700 + Rnd.get(700)
|
||||
y = 113800 + Rnd.get(2100)
|
||||
player.teleToLocation(x,y,-7709)
|
||||
if status == 0 :
|
||||
self.antharasAI.setAntharasSpawnTask()
|
||||
return
|
||||
else :
|
||||
htmltext = "13001-03.htm"
|
||||
elif npcId == 31859 : #antharas teleport cube
|
||||
x = 79800 + Rnd.get(600)
|
||||
y = 151200 + Rnd.get(1100)
|
||||
player.teleToLocation(x,y,-3534)
|
||||
return
|
||||
elif npcId == 31385 : #heart of volcano
|
||||
htmltext = "31385-01.htm"
|
||||
if self.valakasAI :
|
||||
status = GrandBossManager.getInstance().getBossStatus(29028)
|
||||
if status == 0 or status == 1 : #If entrance to see Valakas is unlocked (he is Dormant or Waiting)
|
||||
st = player.getQuestState(qn)
|
||||
if self.count >= 200 :
|
||||
htmltext = "31385-03.htm"
|
||||
elif st.getInt("allowEnter") == 1:
|
||||
st.unset("allowEnter")
|
||||
zone = GrandBossManager.getInstance().getZone(212852,-114842,-1632)
|
||||
if zone :
|
||||
zone.allowPlayerEntry(player,30)
|
||||
x = 204328 + Rnd.get(600)
|
||||
y = -111874 + Rnd.get(600)
|
||||
player.teleToLocation(x,y,70)
|
||||
self.count = self.count+1
|
||||
if status == 0 :
|
||||
valakas = GrandBossManager.getInstance().getBoss(29028)
|
||||
self.valakasAI.startQuestTimer("lock_entry_and_spawn_valakas",60000*Config.VALAKAS_WAIT_TIME, valakas, None)
|
||||
GrandBossManager.getInstance().setBossStatus(29028,1)
|
||||
return
|
||||
else: #player cheated, wasn't ported via npc Klein
|
||||
htmltext = "31385-04.htm"
|
||||
elif status == 2 :
|
||||
htmltext = "31385-02.htm"
|
||||
else :
|
||||
htmltext = "31385-01.htm"
|
||||
else :
|
||||
htmltext = "31385-01.htm"
|
||||
elif npcId == 31384 : #Gatekeeper of Fire Dragon
|
||||
DoorTable.getInstance().getDoor(24210004).openMe()
|
||||
return
|
||||
elif npcId == 31686 : #Gatekeeper of Fire Dragon
|
||||
DoorTable.getInstance().getDoor(24210005).openMe()
|
||||
return
|
||||
elif npcId == 31687 : #Gatekeeper of Fire Dragon
|
||||
DoorTable.getInstance().getDoor(24210006).openMe()
|
||||
return
|
||||
elif npcId == 31540 : #Watcher of Valakas Klein
|
||||
st = player.getQuestState(qn)
|
||||
if self.count < 50 :
|
||||
htmltext = "31540-01.htm"
|
||||
elif self.count < 100 :
|
||||
htmltext = "31540-02.htm"
|
||||
elif self.count < 150 :
|
||||
htmltext = "31540-03.htm"
|
||||
elif self.count < 200 :
|
||||
htmltext = "31540-04.htm"
|
||||
else:
|
||||
htmltext = "31540-05.htm"
|
||||
elif npcId == 31759 : #valakas teleport cube
|
||||
x = 150037 + Rnd.get(500)
|
||||
y = -57720 + Rnd.get(500)
|
||||
player.teleToLocation(x,y,-2976)
|
||||
return
|
||||
return htmltext
|
||||
|
||||
QUEST = Quest(-1, qn, "Teleports")
|
||||
|
||||
for npcid in NPCs :
|
||||
QUEST.addStartNpc(npcid)
|
||||
QUEST.addTalkId(npcid)
|
@@ -1,4 +1,4 @@
|
||||
<HTML><BODY>Watcher of Valakas Klein:<BR>
|
||||
Until now, less than 50 people have attempted the Hall of Flames. Are you sure you want to enter it?<BR>
|
||||
<a action="bypass -h Quest 6000_GrandBossTeleporters 31540">Enter</A>
|
||||
<a action="bypass -h Quest GrandBossTeleporters 31540">Enter</A>
|
||||
</BODY></HTML>
|
@@ -1,4 +1,4 @@
|
||||
<HTML><BODY>Watcher of Valakas Klein:<BR>
|
||||
So far, between 50 and 100 people have entered the Hall of Flames. Do you wish to enter?<BR>
|
||||
<a action="bypass -h Quest 6000_GrandBossTeleporters 31540">Enter</A>
|
||||
<a action="bypass -h Quest GrandBossTeleporters 31540">Enter</A>
|
||||
</BODY></HTML>
|
@@ -1,4 +1,4 @@
|
||||
<HTML><BODY>Watcher of Valakas Klein:<BR>
|
||||
So far, between 100 and 150 people have entered the Hall of Flames. Do you wish to enter?<BR>
|
||||
<a action="bypass -h Quest 6000_GrandBossTeleporters 31540">Enter</A>
|
||||
<a action="bypass -h Quest GrandBossTeleporters 31540">Enter</A>
|
||||
</BODY></HTML>
|
@@ -1,4 +1,4 @@
|
||||
<HTML><BODY>Watcher of Valakas Klein:<BR>
|
||||
So far, between 150 and 200 people have entered the Hall of Flames. Do you wish to enter?<BR>
|
||||
<a action="bypass -h Quest 6000_GrandBossTeleporters 31540">Enter</A>
|
||||
<a action="bypass -h Quest GrandBossTeleporters 31540">Enter</A>
|
||||
</BODY></HTML>
|
@@ -1,4 +1,4 @@
|
||||
<HTML><BODY>Watcher of Valakas Klein:<BR>
|
||||
So far, over 200 people have entered the Hall of Flames. Do you wish to enter?<BR>
|
||||
<a action="bypass -h Quest 6000_GrandBossTeleporters 31540">Enter</A>
|
||||
<a action="bypass -h Quest GrandBossTeleporters 31540">Enter</A>
|
||||
</BODY></HTML>
|
@@ -0,0 +1,254 @@
|
||||
/*
|
||||
* This file is part of the L2J Mobius project.
|
||||
*
|
||||
* 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 teleports.GrandBossTeleporters;
|
||||
|
||||
import org.l2jmobius.Config;
|
||||
import org.l2jmobius.commons.util.Rnd;
|
||||
import org.l2jmobius.gameserver.datatables.csv.DoorTable;
|
||||
import org.l2jmobius.gameserver.instancemanager.GrandBossManager;
|
||||
import org.l2jmobius.gameserver.instancemanager.QuestManager;
|
||||
import org.l2jmobius.gameserver.model.actor.instance.GrandBossInstance;
|
||||
import org.l2jmobius.gameserver.model.actor.instance.NpcInstance;
|
||||
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
|
||||
import org.l2jmobius.gameserver.model.quest.Quest;
|
||||
import org.l2jmobius.gameserver.model.quest.QuestState;
|
||||
import org.l2jmobius.gameserver.model.zone.type.BossZone;
|
||||
|
||||
/**
|
||||
* @author Mobius
|
||||
* @note Based on python script
|
||||
*/
|
||||
public final class GrandBossTeleporters extends Quest
|
||||
{
|
||||
private static final String qn = "GrandBossTeleporters";
|
||||
|
||||
// NPCs
|
||||
private static final int[] NPCs =
|
||||
{
|
||||
13001, // Heart of Warding : Teleport into Lair of Antharas
|
||||
31859, // Teleportation Cubic : Teleport out of Lair of Antharas
|
||||
31384, // Gatekeeper of Fire Dragon : Opening some doors
|
||||
31385, // Heart of Volcano : Teleport into Lair of Valakas
|
||||
31540, // Watcher of Valakas Klein : Teleport into Hall of Flames
|
||||
31686, // Gatekeeper of Fire Dragon : Opens doors to Heart of Volcano
|
||||
31687, // Gatekeeper of Fire Dragon : Opens doors to Heart of Volcano
|
||||
31759, // Teleportation Cubic : Teleport out of Lair of Valakas
|
||||
};
|
||||
// Misc.
|
||||
private static int playerCount = 0;
|
||||
|
||||
private GrandBossTeleporters()
|
||||
{
|
||||
super(-1, qn, "teleports");
|
||||
|
||||
addStartNpc(NPCs);
|
||||
addTalkId(NPCs);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String onAdvEvent(String event, NpcInstance npc, PlayerInstance player)
|
||||
{
|
||||
String htmltext = getNoQuestMsg();
|
||||
QuestState st = player.getQuestState(qn);
|
||||
if (st == null)
|
||||
{
|
||||
st = newQuestState(player);
|
||||
}
|
||||
|
||||
if (event == "31540")
|
||||
{
|
||||
if (st.getQuestItemsCount(7267) > 0)
|
||||
{
|
||||
st.takeItems(7267, 1);
|
||||
player.teleToLocation(183813, -115157, -3303);
|
||||
st.set("allowEnter", "1");
|
||||
htmltext = null;
|
||||
}
|
||||
else
|
||||
{
|
||||
htmltext = "31540-06.htm";
|
||||
}
|
||||
}
|
||||
|
||||
return htmltext;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String onTalk(NpcInstance npc, PlayerInstance player)
|
||||
{
|
||||
final int npcId = npc.getNpcId();
|
||||
String htmltext = null;
|
||||
|
||||
if (npcId == 13001) // heart of warding
|
||||
{
|
||||
if (antharasAI() != null)
|
||||
{
|
||||
final int status = GrandBossManager.getInstance().getBossStatus(29019);
|
||||
final int statusW = GrandBossManager.getInstance().getBossStatus(29066);
|
||||
final int statusN = GrandBossManager.getInstance().getBossStatus(29067);
|
||||
final int statusS = GrandBossManager.getInstance().getBossStatus(29068);
|
||||
if ((status == 2) || (statusW == 2) || (statusN == 2) || (statusS == 2))
|
||||
{
|
||||
htmltext = "13001-02.htm";
|
||||
}
|
||||
else if ((status == 3) || (statusW == 3) || (statusN == 3) || (statusS == 3))
|
||||
{
|
||||
htmltext = "13001-01.htm";
|
||||
}
|
||||
else if ((status == 0) || (status == 1)) // If entrance to see Antharas is unlocked (he is Dormant or Waiting)
|
||||
{
|
||||
final QuestState st = player.getQuestState(qn);
|
||||
if (st.getQuestItemsCount(3865) > 0)
|
||||
{
|
||||
st.takeItems(3865, 1);
|
||||
final BossZone zone = GrandBossManager.getInstance().getZone(179700, 113800, -7709);
|
||||
if (zone != null)
|
||||
{
|
||||
zone.allowPlayerEntry(player, 30);
|
||||
}
|
||||
final int x = 179700 + Rnd.get(700);
|
||||
final int y = 113800 + Rnd.get(2100);
|
||||
player.teleToLocation(x, y, -7709);
|
||||
if (status == 0)
|
||||
{
|
||||
antharasAI().startQuestTimer("setAntharasSpawnTask", 1000, npc, player);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
htmltext = "13001-03.htm";
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
else if (npcId == 31859) // antharas teleport cube
|
||||
{
|
||||
final int x = 79800 + Rnd.get(600);
|
||||
final int y = 151200 + Rnd.get(1100);
|
||||
player.teleToLocation(x, y, -3534);
|
||||
}
|
||||
else if (npcId == 31385) // heart of volcano
|
||||
{
|
||||
htmltext = "31385-01.htm";
|
||||
if (valakasAI() != null)
|
||||
{
|
||||
final int status = GrandBossManager.getInstance().getBossStatus(29028);
|
||||
if ((status == 0) || (status == 1)) // If entrance to see Valakas is unlocked (he is Dormant or Waiting)
|
||||
{
|
||||
final QuestState st = player.getQuestState(qn);
|
||||
if (playerCount >= 200)
|
||||
{
|
||||
htmltext = "31385-03.htm";
|
||||
}
|
||||
else if (st.getInt("allowEnter") == 1)
|
||||
{
|
||||
st.unset("allowEnter");
|
||||
final BossZone zone = GrandBossManager.getInstance().getZone(212852, -114842, -1632);
|
||||
if (zone != null)
|
||||
{
|
||||
zone.allowPlayerEntry(player, 30);
|
||||
}
|
||||
final int x = 204328 + Rnd.get(600);
|
||||
final int y = -111874 + Rnd.get(600);
|
||||
player.teleToLocation(x, y, 70);
|
||||
playerCount++;
|
||||
if (status == 0)
|
||||
{
|
||||
final GrandBossInstance valakas = GrandBossManager.getInstance().getBoss(29028);
|
||||
valakasAI().startQuestTimer("lock_entry_and_spawn_valakas", 60000 * Config.VALAKAS_WAIT_TIME, valakas, null);
|
||||
GrandBossManager.getInstance().setBossStatus(29028, 1);
|
||||
}
|
||||
}
|
||||
else // player cheated, wasn't ported via npc Klein
|
||||
{
|
||||
htmltext = "31385-04.htm";
|
||||
}
|
||||
}
|
||||
else if (status == 2)
|
||||
{
|
||||
htmltext = "31385-02.htm";
|
||||
}
|
||||
else
|
||||
{
|
||||
htmltext = "31385-01.htm";
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
htmltext = "31385-01.htm";
|
||||
}
|
||||
}
|
||||
else if (npcId == 31384) // Gatekeeper of Fire Dragon
|
||||
{
|
||||
DoorTable.getInstance().getDoor(24210004).openMe();
|
||||
}
|
||||
else if (npcId == 31686) // Gatekeeper of Fire Dragon
|
||||
{
|
||||
DoorTable.getInstance().getDoor(24210005).openMe();
|
||||
}
|
||||
else if (npcId == 31687) // Gatekeeper of Fire Dragon
|
||||
{
|
||||
DoorTable.getInstance().getDoor(24210006).openMe();
|
||||
}
|
||||
else if (npcId == 31540) // Watcher of Valakas Klein
|
||||
{
|
||||
if (playerCount < 50)
|
||||
{
|
||||
htmltext = "31540-01.htm";
|
||||
}
|
||||
else if (playerCount < 100)
|
||||
{
|
||||
htmltext = "31540-02.htm";
|
||||
}
|
||||
else if (playerCount < 150)
|
||||
{
|
||||
htmltext = "31540-03.htm";
|
||||
}
|
||||
else if (playerCount < 200)
|
||||
{
|
||||
htmltext = "31540-04.htm";
|
||||
}
|
||||
else
|
||||
{
|
||||
htmltext = "31540-05.htm";
|
||||
}
|
||||
}
|
||||
else if (npcId == 31759) // valakas teleport cube
|
||||
{
|
||||
final int x = 150037 + Rnd.get(500);
|
||||
final int y = -57720 + Rnd.get(500);
|
||||
player.teleToLocation(x, y, -2976);
|
||||
}
|
||||
|
||||
return htmltext;
|
||||
}
|
||||
|
||||
private Quest antharasAI()
|
||||
{
|
||||
return QuestManager.getInstance().getQuest("antharas");
|
||||
}
|
||||
|
||||
private Quest valakasAI()
|
||||
{
|
||||
return QuestManager.getInstance().getQuest("valakas");
|
||||
}
|
||||
|
||||
public static void main(String[] args)
|
||||
{
|
||||
new GrandBossTeleporters();
|
||||
}
|
||||
}
|
@@ -0,0 +1,76 @@
|
||||
/*
|
||||
* This file is part of the L2J Mobius project.
|
||||
*
|
||||
* 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 teleports.ToIVortexExit;
|
||||
|
||||
import org.l2jmobius.commons.util.Rnd;
|
||||
import org.l2jmobius.gameserver.model.actor.instance.NpcInstance;
|
||||
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
|
||||
import org.l2jmobius.gameserver.model.quest.Quest;
|
||||
|
||||
/**
|
||||
* @author Mobius
|
||||
* @note Based on python script
|
||||
*/
|
||||
public final class ToIVortexExit extends Quest
|
||||
{
|
||||
private static final String qn = "ToIVortexExit";
|
||||
|
||||
// NPC
|
||||
private static final int TELE_CUBE = 29055;
|
||||
|
||||
private ToIVortexExit()
|
||||
{
|
||||
super(-1, qn, "teleports");
|
||||
|
||||
addStartNpc(TELE_CUBE);
|
||||
addTalkId(TELE_CUBE);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String onTalk(NpcInstance npc, PlayerInstance player)
|
||||
{
|
||||
int x;
|
||||
int y;
|
||||
int z;
|
||||
final int chance = Rnd.get(3);
|
||||
if (chance == 0)
|
||||
{
|
||||
x = 108784 + Rnd.get(100);
|
||||
y = 16000 + Rnd.get(100);
|
||||
z = -4928;
|
||||
}
|
||||
else if (chance == 1)
|
||||
{
|
||||
x = 113824 + Rnd.get(100);
|
||||
y = 10448 + Rnd.get(100);
|
||||
z = -5164;
|
||||
}
|
||||
else
|
||||
{
|
||||
x = 115488 + Rnd.get(100);
|
||||
y = 22096 + Rnd.get(100);
|
||||
z = -5168;
|
||||
}
|
||||
player.teleToLocation(x, y, z);
|
||||
return null;
|
||||
}
|
||||
|
||||
public static void main(String[] args)
|
||||
{
|
||||
new ToIVortexExit();
|
||||
}
|
||||
}
|
@@ -1,7 +0,0 @@
|
||||
jscript/teleports is used for definitions of teleports that are too advanced to be done under normal means.
|
||||
For example, teleporting to the race track allows a player a free teleport and a free return to the SAME
|
||||
city from which the player went to the race track. Normal teleports do not store any information about
|
||||
the origin. In order to achieve this special teleportation, a teleport script is needed.
|
||||
|
||||
Teleport scripts are essentially dummy quests, hidden from the client. All implementation details are
|
||||
fully covered by quests. For more info, please see the documentation in "jscript/quests/documentation.txt"
|
Reference in New Issue
Block a user