Merged with released L2J-Unity files.
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
<html><body>Pantheon:<br>
|
||||
Welcome to the newly reconstructed Talking Island Village. It only took a few months for us to get to where we are now.<br>
|
||||
It must be odd getting started in a town that isn't your old home. Fear not, you are not alone. Adventurers of all races start their journey here in
|
||||
Talking Island Village. If you want I can help you get familiar with your new surroundings.<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10320_LetsGoToTheCentralSquare 32972-02.htm">"What happened here?"</Button>
|
||||
<html><body>Pantheon:<br>
|
||||
Welcome to the newly reconstructed Talking Island Village. It only took a few months for us to get to where we are now.<br>
|
||||
It must be odd getting started in a town that isn't your old home. Fear not, you are not alone. Adventurers of all races start their journey here in
|
||||
Talking Island Village. If you want I can help you get familiar with your new surroundings.<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10320_LetsGoToTheCentralSquare 32972-02.htm">"What happened here?"</Button>
|
||||
</body></html>
|
@@ -1,4 +1,4 @@
|
||||
<html><body>Pantheon:<br>
|
||||
With your skills better to go somewhere more dangerous place.<br>
|
||||
(This quest is available for characters below level 20.)
|
||||
<html><body>Pantheon:<br>
|
||||
With your skills better to go somewhere more dangerous place.<br>
|
||||
(This quest is available for characters below level 20.)
|
||||
</body></html>
|
@@ -1,4 +1,4 @@
|
||||
<html><body>Pantheon:<br>
|
||||
You are Ertheia. You should continue your learning somewhere else.<br>
|
||||
(This quest is only available for characters of a non-Ertheia class.)
|
||||
<html><body>Pantheon:<br>
|
||||
You are Ertheia. You should continue your learning somewhere else.<br>
|
||||
(This quest is only available for characters of a non-Ertheia class.)
|
||||
</body></html>
|
@@ -1,6 +1,6 @@
|
||||
<html><body>Pantheon:<br>
|
||||
It is a devastating tale that you will soon learn. Once one of the seals that bound the Goddess of Destruction was released, many catastrophic events followed. Such was the case with the fall of Ye Sagira.<br>
|
||||
Scholars including myself were dispatched to study the ruins. Soon all other races came as well.<br>
|
||||
I cannot recall the event fully, but Theodore knows more about when the migration of all the races came to Talking Island Village. You should speak with him.<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10320_LetsGoToTheCentralSquare 32972-03.htm">"Umm... Where can I find him?"</Button>
|
||||
<html><body>Pantheon:<br>
|
||||
It is a devastating tale that you will soon learn. Once one of the seals that bound the Goddess of Destruction was released, many catastrophic events followed. Such was the case with the fall of Ye Sagira.<br>
|
||||
Scholars including myself were dispatched to study the ruins. Soon all other races came as well.<br>
|
||||
I cannot recall the event fully, but Theodore knows more about when the migration of all the races came to Talking Island Village. You should speak with him.<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10320_LetsGoToTheCentralSquare 32972-03.htm">"Umm... Where can I find him?"</Button>
|
||||
</body></html>
|
@@ -1,3 +1,3 @@
|
||||
<html><body>Pantheon:<br>
|
||||
Theodore can be found in the <font color="LEVEL">Central Square</font> of this village. He is responsible for the Ruins of Ye Sagira Rangers. However they are terribly shorthanded these days. Who knows, maybe if you can prove yourself he might be interested in having you join them.
|
||||
<html><body>Pantheon:<br>
|
||||
Theodore can be found in the <font color="LEVEL">Central Square</font> of this village. He is responsible for the Ruins of Ye Sagira Rangers. However they are terribly shorthanded these days. Who knows, maybe if you can prove yourself he might be interested in having you join them.
|
||||
</body></html>
|
@@ -1,3 +1,3 @@
|
||||
<html><body>Pantheon:<br>
|
||||
Have you met Theodore? He's in the <font color="LEVEL">Town Square Center</font>.
|
||||
<html><body>Pantheon:<br>
|
||||
Have you met Theodore? He's in the <font color="LEVEL">Town Square Center</font>.
|
||||
</body></html>
|
@@ -1,3 +1,3 @@
|
||||
<html><body>Pantheon:<br>
|
||||
I will ask again if there's something to ask.
|
||||
<html><body>Pantheon:<br>
|
||||
I will ask again if there's something to ask.
|
||||
</body></html>
|
@@ -1,4 +1,4 @@
|
||||
<html><body>Theodore:<br>
|
||||
Ah, I see the Pantheon has sent another to ask me about the migration of the races here in Talking Island Village. Is this what you've come to discuss?<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10320_LetsGoToTheCentralSquare 32975-02.html">Ask about migration of races.</Button>
|
||||
<html><body>Theodore:<br>
|
||||
Ah, I see the Pantheon has sent another to ask me about the migration of the races here in Talking Island Village. Is this what you've come to discuss?<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10320_LetsGoToTheCentralSquare 32975-02.htm">Ask about migration of races.</Button>
|
||||
</body></html>
|
@@ -1,4 +1,4 @@
|
||||
<html><body>Theodore:<br>
|
||||
It's no secret that all the races traveled to Talking Island Village after their villages were struck by the plague. Even races that used to hate each other have dealt with their problems and learned to work together. So far, so good. There haven't been any altercations... that I'm aware of<br>
|
||||
I don't see why Pantheon doesn't tell people himself rather than send them to me.
|
||||
<html><body>Theodore:<br>
|
||||
It's no secret that all the races traveled to Talking Island Village after their villages were struck by the plague. Even races that used to hate each other have dealt with their problems and learned to work together. So far, so good. There haven't been any altercations... that I'm aware of<br>
|
||||
I don't see why Pantheon doesn't tell people himself rather than send them to me.
|
||||
</body></html>
|
@@ -1,4 +1,4 @@
|
||||
<html><body>Theodore:<br>
|
||||
You're back again? What is it? I'm busy...<br>
|
||||
(The quest has already been completed.)
|
||||
<html><body>Theodore:<br>
|
||||
You're back again? What is it? I'm busy...<br>
|
||||
(The quest has already been completed.)
|
||||
</body></html>
|
@@ -1,4 +1,4 @@
|
||||
<html><body>Theodore:<br>
|
||||
Go away! I'm busy! Come back when you have something to say.<br>
|
||||
(The quest is not in progress or the conditions are not satisfied.)
|
||||
<html><body>Theodore:<br>
|
||||
Go away! I'm busy! Come back when you have something to say.<br>
|
||||
(The quest is not in progress or the conditions are not satisfied.)
|
||||
</body></html>
|
@@ -1,163 +1,159 @@
|
||||
/*
|
||||
* 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 quests.Q10320_LetsGoToTheCentralSquare;
|
||||
|
||||
import com.l2jmobius.gameserver.enums.ChatType;
|
||||
import com.l2jmobius.gameserver.enums.Race;
|
||||
import com.l2jmobius.gameserver.model.actor.L2Character;
|
||||
import com.l2jmobius.gameserver.model.actor.L2Npc;
|
||||
import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
|
||||
import com.l2jmobius.gameserver.model.events.EventType;
|
||||
import com.l2jmobius.gameserver.model.events.ListenerRegisterType;
|
||||
import com.l2jmobius.gameserver.model.events.annotations.RegisterEvent;
|
||||
import com.l2jmobius.gameserver.model.events.annotations.RegisterType;
|
||||
import com.l2jmobius.gameserver.model.events.impl.character.player.OnPlayerCreate;
|
||||
import com.l2jmobius.gameserver.model.quest.Quest;
|
||||
import com.l2jmobius.gameserver.model.quest.QuestState;
|
||||
import com.l2jmobius.gameserver.model.quest.State;
|
||||
import com.l2jmobius.gameserver.model.zone.L2ZoneType;
|
||||
import com.l2jmobius.gameserver.network.NpcStringId;
|
||||
import com.l2jmobius.gameserver.network.serverpackets.NpcSay;
|
||||
import com.l2jmobius.gameserver.network.serverpackets.TutorialShowHtml;
|
||||
import com.l2jmobius.gameserver.util.Broadcast;
|
||||
|
||||
/**
|
||||
* Let's Go To The Central Square (10320)
|
||||
* @author ivantotov, Gladicek
|
||||
*/
|
||||
public final class Q10320_LetsGoToTheCentralSquare extends Quest
|
||||
{
|
||||
// NPCs
|
||||
private static final int PANTHEON = 32972;
|
||||
private static final int THEODORE = 32975;
|
||||
// Misc
|
||||
private static final int MAX_LEVEL = 20;
|
||||
// Zone
|
||||
private static final int TALKING_ISLAND_PRESENTATION_MOVIE_ZONE = 200034;
|
||||
// Variables names
|
||||
private static final String MOVIE_VAR = "TI_presentation_movie";
|
||||
// Movies
|
||||
private static final int SCENE_SI_ILLUSION_01_QUE = 101;
|
||||
private static final int SCENE_SI_ILLUSION_02_QUE = 102;
|
||||
|
||||
public Q10320_LetsGoToTheCentralSquare()
|
||||
{
|
||||
super(10320, Q10320_LetsGoToTheCentralSquare.class.getSimpleName(), "Let's Go To The Central Square");
|
||||
addStartNpc(PANTHEON);
|
||||
addTalkId(PANTHEON, THEODORE);
|
||||
addEnterZoneId(TALKING_ISLAND_PRESENTATION_MOVIE_ZONE);
|
||||
addCondMaxLevel(MAX_LEVEL, "32972-06.html");
|
||||
addCondNotRace(Race.ERTHEIA, "32972-07.html");
|
||||
}
|
||||
|
||||
@Override
|
||||
public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
|
||||
{
|
||||
final QuestState qs = getQuestState(player, false);
|
||||
if (qs == null)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
String htmltext = null;
|
||||
switch (event)
|
||||
{
|
||||
case "32972-03.htm":
|
||||
{
|
||||
qs.startQuest();
|
||||
qs.setCond(2); // Show arrow hack
|
||||
qs.setCond(1);
|
||||
player.sendPacket(new TutorialShowHtml(npc.getObjectId(), "..\\L2Text\\QT_001_Radar_01.htm", TutorialShowHtml.LARGE_WINDOW));
|
||||
htmltext = event;
|
||||
break;
|
||||
}
|
||||
case "32972-02.htm":
|
||||
{
|
||||
htmltext = event;
|
||||
break;
|
||||
}
|
||||
case "32975-02.html":
|
||||
{
|
||||
giveAdena(player, 30, true);
|
||||
addExpAndSp(player, 30, 5);
|
||||
qs.exitQuest(false, true);
|
||||
htmltext = event;
|
||||
Broadcast.toKnownPlayers(npc, new NpcSay(npc.getObjectId(), ChatType.NPC_GENERAL, npc.getTemplate().getDisplayId(), NpcStringId.WAIT_WAIT_A_MINUTE_I_STILL_HAVE_TIME));
|
||||
break;
|
||||
}
|
||||
}
|
||||
return htmltext;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String onTalk(L2Npc npc, L2PcInstance player)
|
||||
{
|
||||
final QuestState qs = getQuestState(player, true);
|
||||
String htmltext = null;
|
||||
|
||||
switch (qs.getState())
|
||||
{
|
||||
case State.CREATED:
|
||||
{
|
||||
htmltext = npc.getId() == PANTHEON ? "32972-01.htm" : "32975-04.html";
|
||||
break;
|
||||
}
|
||||
case State.STARTED:
|
||||
{
|
||||
htmltext = npc.getId() == PANTHEON ? "32972-04.html" : "32975-01.html";
|
||||
break;
|
||||
}
|
||||
case State.COMPLETED:
|
||||
{
|
||||
htmltext = npc.getId() == PANTHEON ? "32972-05.html" : "32975-03.html";
|
||||
break;
|
||||
}
|
||||
}
|
||||
return htmltext;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String onEnterZone(L2Character character, L2ZoneType zone)
|
||||
{
|
||||
if (character.isPlayer())
|
||||
{
|
||||
final L2PcInstance player = character.getActingPlayer();
|
||||
|
||||
if (player.getVariables().getBoolean(MOVIE_VAR, false))
|
||||
{
|
||||
if (player.getLevel() <= MAX_LEVEL)
|
||||
{
|
||||
final QuestState qs = getQuestState(player, false);
|
||||
player.showQuestMovie(((qs != null) && qs.isStarted()) ? SCENE_SI_ILLUSION_02_QUE : SCENE_SI_ILLUSION_01_QUE);
|
||||
}
|
||||
player.getVariables().remove(MOVIE_VAR);
|
||||
}
|
||||
}
|
||||
return super.onEnterZone(character, zone);
|
||||
}
|
||||
|
||||
@RegisterEvent(EventType.ON_PLAYER_CREATE)
|
||||
@RegisterType(ListenerRegisterType.GLOBAL_PLAYERS)
|
||||
public void OnPlayerCreate(OnPlayerCreate event)
|
||||
{
|
||||
final L2PcInstance player = event.getActiveChar();
|
||||
if (player.getRace() != Race.ERTHEIA)
|
||||
{
|
||||
player.getVariables().set(MOVIE_VAR, true);
|
||||
}
|
||||
}
|
||||
/*
|
||||
* 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 quests.Q10320_LetsGoToTheCentralSquare;
|
||||
|
||||
import com.l2jmobius.gameserver.enums.ChatType;
|
||||
import com.l2jmobius.gameserver.enums.Movie;
|
||||
import com.l2jmobius.gameserver.enums.Race;
|
||||
import com.l2jmobius.gameserver.model.actor.L2Character;
|
||||
import com.l2jmobius.gameserver.model.actor.L2Npc;
|
||||
import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
|
||||
import com.l2jmobius.gameserver.model.events.EventType;
|
||||
import com.l2jmobius.gameserver.model.events.ListenerRegisterType;
|
||||
import com.l2jmobius.gameserver.model.events.annotations.RegisterEvent;
|
||||
import com.l2jmobius.gameserver.model.events.annotations.RegisterType;
|
||||
import com.l2jmobius.gameserver.model.events.impl.character.player.OnPlayerCreate;
|
||||
import com.l2jmobius.gameserver.model.quest.Quest;
|
||||
import com.l2jmobius.gameserver.model.quest.QuestState;
|
||||
import com.l2jmobius.gameserver.model.quest.State;
|
||||
import com.l2jmobius.gameserver.model.zone.L2ZoneType;
|
||||
import com.l2jmobius.gameserver.network.NpcStringId;
|
||||
import com.l2jmobius.gameserver.network.serverpackets.TutorialShowHtml;
|
||||
|
||||
/**
|
||||
* Let's Go To The Central Square (10320)
|
||||
* @author ivantotov, Gladicek
|
||||
*/
|
||||
public final class Q10320_LetsGoToTheCentralSquare extends Quest
|
||||
{
|
||||
// NPCs
|
||||
private static final int PANTHEON = 32972;
|
||||
private static final int THEODORE = 32975;
|
||||
// Zone
|
||||
private static final int TALKING_ISLAND_PRESENTATION_MOVIE_ZONE = 200034;
|
||||
// Misc
|
||||
private static final int MAX_LEVEL = 20;
|
||||
private static final String MOVIE_VAR = "TI_presentation_movie";
|
||||
|
||||
public Q10320_LetsGoToTheCentralSquare()
|
||||
{
|
||||
super(10320);
|
||||
addStartNpc(PANTHEON);
|
||||
addTalkId(PANTHEON, THEODORE);
|
||||
addEnterZoneId(TALKING_ISLAND_PRESENTATION_MOVIE_ZONE);
|
||||
addCondMaxLevel(MAX_LEVEL, "32972-01a.htm");
|
||||
addCondNotRace(Race.ERTHEIA, "32972-01b.htm");
|
||||
}
|
||||
|
||||
@Override
|
||||
public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
|
||||
{
|
||||
final QuestState qs = getQuestState(player, false);
|
||||
if (qs == null)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
String htmltext = null;
|
||||
switch (event)
|
||||
{
|
||||
case "32972-03.htm":
|
||||
{
|
||||
qs.startQuest();
|
||||
player.sendPacket(new TutorialShowHtml(npc.getObjectId(), "..\\L2Text\\QT_001_Radar_01.htm", TutorialShowHtml.LARGE_WINDOW));
|
||||
htmltext = event;
|
||||
break;
|
||||
}
|
||||
case "32972-02.htm":
|
||||
{
|
||||
htmltext = event;
|
||||
break;
|
||||
}
|
||||
case "32975-02.htm":
|
||||
{
|
||||
if (qs.isStarted())
|
||||
{
|
||||
giveAdena(player, 30, true);
|
||||
addExpAndSp(player, 30, 5);
|
||||
qs.exitQuest(false, true);
|
||||
htmltext = event;
|
||||
npc.broadcastSay(ChatType.NPC_GENERAL, NpcStringId.WAIT_WAIT_A_MINUTE_I_STILL_HAVE_TIME);
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
return htmltext;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String onTalk(L2Npc npc, L2PcInstance player)
|
||||
{
|
||||
final QuestState qs = getQuestState(player, true);
|
||||
String htmltext = null;
|
||||
|
||||
switch (qs.getState())
|
||||
{
|
||||
case State.CREATED:
|
||||
{
|
||||
htmltext = npc.getId() == PANTHEON ? "32972-01.htm" : "32975-04.htm";
|
||||
break;
|
||||
}
|
||||
case State.STARTED:
|
||||
{
|
||||
htmltext = npc.getId() == PANTHEON ? "32972-04.htm" : "32975-01.htm";
|
||||
break;
|
||||
}
|
||||
case State.COMPLETED:
|
||||
{
|
||||
htmltext = npc.getId() == PANTHEON ? "32972-05.htm" : "32975-03.htm";
|
||||
break;
|
||||
}
|
||||
}
|
||||
return htmltext;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String onEnterZone(L2Character character, L2ZoneType zone)
|
||||
{
|
||||
if (character.isPlayer())
|
||||
{
|
||||
final L2PcInstance player = character.getActingPlayer();
|
||||
|
||||
if (player.getVariables().getBoolean(MOVIE_VAR, false))
|
||||
{
|
||||
if (player.getLevel() <= MAX_LEVEL)
|
||||
{
|
||||
final QuestState qs = getQuestState(player, false);
|
||||
playMovie(player, ((qs != null) && qs.isStarted()) ? Movie.SI_ILLUSION_02_QUE : Movie.SI_ILLUSION_01_QUE);
|
||||
}
|
||||
player.getVariables().remove(MOVIE_VAR);
|
||||
}
|
||||
}
|
||||
return super.onEnterZone(character, zone);
|
||||
}
|
||||
|
||||
@RegisterEvent(EventType.ON_PLAYER_CREATE)
|
||||
@RegisterType(ListenerRegisterType.GLOBAL_PLAYERS)
|
||||
public void OnPlayerCreate(OnPlayerCreate event)
|
||||
{
|
||||
final L2PcInstance player = event.getActiveChar();
|
||||
if (player.getRace() != Race.ERTHEIA)
|
||||
{
|
||||
player.getVariables().set(MOVIE_VAR, true);
|
||||
}
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user