Addition of quest Can't Go Against the Time (585).

Contributed by Dmitri.
This commit is contained in:
MobiusDevelopment 2020-03-13 03:13:00 +00:00
parent ab147d5858
commit cf23ebb5bf
48 changed files with 764 additions and 156 deletions

View File

@ -1,6 +1,5 @@
504 Competition for the Bandit Stronghold
575 Special Mission: Fortuna
585 Can't Go Against the Time
586 Mutated Creatures
655 A Grand Plan for Taming Wild Beasts
667 How to Cover Shilen's Eyes

View File

@ -0,0 +1,4 @@
<html><body>Fairy Citizen:<br>
The bad news. We have mutating creatures. Well, maybe if you can prove your skills ...<br>
<Button ALIGN=LEFT ICON="Normal" action="bypass -h Quest Q10830_TheLostGardenOfSpirits 32921-02.htm">"Yes?"</Button>
</body></html>

View File

@ -0,0 +1,4 @@
<html><body>Fairy Citizen:<br>
Well, if you can prove your skills... It should be okay...<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10830_TheLostGardenOfSpirits 32921-03.htm">"How can I prove my skills to you?"</Button>
</body></html>

View File

@ -0,0 +1,4 @@
<html><body>Fairy Citizen:<br>
This is how you can prove your skills. Go to the <font color="LEVEL">Fairy Settlement</font>, kill the Traces of Mutation, and bring back some items. Will you do this mission?<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10830_TheLostGardenOfSpirits 32921-04.htm">"Alright."</Button>
</body></html>

View File

@ -0,0 +1,3 @@
<html><body>Fairy Citizen:<br>
Alright. Go to the <font color="LEVEL">Fairy Settlement</font>. Once there, defeat the <font color="LEVEL">Fairy Warrior (Imperfect), Fairy Rogue (Imperfect), Fairy Knight (Imperfect), Satyr Wizard (Imperfect), Satyr Summoner (Imperfect), Satyr Witch (Imperfect), Fairy Warrior (Mature), Fairy Rogue (Mature), Fairy Knight (Mature), Satyr Wizard (Mature), Satyr Summoner (Mature), Satyr Witch (Mature), Fairy Warrior (Wicked), Fairy Rogue (Wicked), Fairy Knight (Wicked), Satyr Wizard (Wicked), Satyr Summoner (Wicked), Satyr Witch (Wicked), Cocoon Destroyer</font>, and bring back <font color="LEVEL">100 Traces of Mutation</font>. We'll be using those items for research.
</body></html>

View File

@ -0,0 +1,3 @@
<html><body>Fairy Citizen:<br>
You are here to ask about the mission again, huh? Go to the <font color="LEVEL">Fairy Settlement</font>. Once there, defeat the <font color="LEVEL">Fairy Warrior (Imperfect), Fairy Rogue (Imperfect), Fairy Knight (Imperfect), Satyr Wizard (Imperfect), Satyr Summoner (Imperfect), Satyr Witch (Imperfect), Fairy Warrior (Mature), Fairy Rogue (Mature), Fairy Knight (Mature), Satyr Wizard (Mature), Satyr Summoner (Mature), Satyr Witch (Mature), Fairy Warrior (Wicked), Fairy Rogue (Wicked), Fairy Knight (Wicked), Satyr Wizard (Wicked), Satyr Summoner (Wicked), Satyr Witch (Wicked), Cocoon Destroyer</font>, and bring back <font color="LEVEL">100 Traces of Mutation</font>. We'll be using those items for research.
</body></html>

View File

@ -0,0 +1,4 @@
<html><body>Fairy Citizen:<br>
Good to see you back safely. It looks like you've finished the mission. You must be a better warrior than I thought you were.<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10830_TheLostGardenOfSpirits 32921-07.html">"Of course!"</Button>
</body></html>

View File

@ -0,0 +1,3 @@
<html><body>Fairy Citizen:<br>
Alright. Here's your reward. I'll have to give this to Magister. As a warrior, there's only so much research I can do.
</body></html>

View File

@ -0,0 +1,160 @@
/*
* 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.Q00585_CantGoAgainstTheTime;
import org.l2jmobius.gameserver.enums.QuestType;
import org.l2jmobius.gameserver.model.actor.Npc;
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.quest.State;
/**
* Can't Go Against the Time (585)
* @URL https://l2wiki.com/Can%27t_Go_Against_the_Time
* @author Dmitri
*/
public class Q00585_CantGoAgainstTheTime extends Quest
{
// NPC
private static final int FAIRY_CITIZEN = 32921;
// Monsters
private static final int[] MONSTERS =
{
22866, // Fairy Warrior (Imperfect)
22874, // Fairy Rogue (Imperfect)
22882, // Fairy Knight (Imperfect)
22890, // Satyr Wizard (Imperfect)
22898, // Satyr Summoner (Imperfect)
22906, // Satyr Witch (Imperfect)
22865, // Fairy Warrior (Mature)
22873, // Fairy Rogue (Mature)
22881, // Fairy Knight (Mature)
22889, // Satyr Wizard (Mature)
22897, // Satyr Summoner (Mature)
22905, // Satyr Witch (Mature)
22864, // Fairy Warrior (Wicked)
22872, // Fairy Rogue (Wicked)
22880, // Fairy Knight (Wicked)
22888, // Satyr Wizard (Wicked)
22896, // Satyr Summoner (Wicked)
22904, // Satyr Witch (Wicked)
19400 // Cocoon Destroyer
};
// Items
private static final int TRACES_OF_MUTATION = 48381;
// Misc
private static final int MIN_LEVEL = 88;
private static final int MAX_LEVEL = 98;
public Q00585_CantGoAgainstTheTime()
{
super(585);
addStartNpc(FAIRY_CITIZEN);
addTalkId(FAIRY_CITIZEN);
addKillId(MONSTERS);
registerQuestItems(TRACES_OF_MUTATION);
addCondLevel(MIN_LEVEL, MAX_LEVEL, "nolevel.html");
}
@Override
public String onAdvEvent(String event, Npc npc, PlayerInstance player)
{
String htmltext = null;
final QuestState qs = getQuestState(player, false);
if (qs == null)
{
return htmltext;
}
switch (event)
{
case "32921-02.htm":
case "32921-03.htm":
{
htmltext = event;
break;
}
case "32921-04.htm":
{
qs.startQuest();
htmltext = event;
break;
}
case "32921-07.html":
{
giveAdena(player, 536520, true);
addExpAndSp(player, 429526470, 429510);
qs.exitQuest(QuestType.DAILY, true);
htmltext = event;
break;
}
}
return htmltext;
}
@Override
public String onTalk(Npc npc, PlayerInstance player)
{
final QuestState qs = getQuestState(player, true);
String htmltext = getNoQuestMsg(player);
switch (qs.getState())
{
case State.CREATED:
{
htmltext = "32921-01.htm";
break;
}
case State.STARTED:
{
if (qs.isCond(1))
{
htmltext = "32921-05.html";
}
else
{
htmltext = "32921-06.html";
}
break;
}
case State.COMPLETED:
{
if (qs.isNowAvailable())
{
qs.setState(State.CREATED);
htmltext = "32921-01.htm";
}
else
{
htmltext = getAlreadyCompletedMsg(player, QuestType.DAILY);
}
break;
}
}
return htmltext;
}
@Override
public String onKill(Npc npc, PlayerInstance killer, boolean isSummon)
{
final QuestState qs = getQuestState(killer, false);
if ((qs != null) && qs.isCond(1) && giveItemRandomly(killer, npc, TRACES_OF_MUTATION, 1, 100, 1, true))
{
qs.setCond(2, true);
}
return super.onKill(npc, killer, isSummon);
}
}

View File

@ -0,0 +1,4 @@
<html><body>Fairy Citizen:<br>
I don't understand why someone like you is interested in this mission?<br>
(Only characters above Lv.88-98.)
</body></html>

View File

@ -157,6 +157,7 @@ import quests.Q00581_ThePurificationRitual.Q00581_ThePurificationRitual;
import quests.Q00582_WashBloodWithBlood.Q00582_WashBloodWithBlood;
import quests.Q00583_MeaningOfSurvival.Q00583_MeaningOfSurvival;
import quests.Q00584_NeverSayGoodBye.Q00584_NeverSayGoodBye;
import quests.Q00585_CantGoAgainstTheTime.Q00585_CantGoAgainstTheTime;
import quests.Q00587_MoreAggressiveOperation.Q00587_MoreAggressiveOperation;
import quests.Q00588_HeadOnCrash.Q00588_HeadOnCrash;
import quests.Q00617_GatherTheFlames.Q00617_GatherTheFlames;
@ -521,7 +522,6 @@ import quests.Q10856_SuperionAppears.Q10856_SuperionAppears;
import quests.Q10857_SecretTeleport.Q10857_SecretTeleport;
import quests.not_done.Q00504_CompetitionForTheBanditStronghold;
import quests.not_done.Q00575_SpecialMissionFortuna;
import quests.not_done.Q00585_CantGoAgainstTheTime;
import quests.not_done.Q00586_MutatedCreatures;
import quests.not_done.Q00655_AGrandPlanForTamingWildBeasts;
import quests.not_done.Q00667_CoveringShilensEyes;
@ -750,7 +750,7 @@ public class QuestMasterHandler
Q00582_WashBloodWithBlood.class, // TODO: Not done.
Q00583_MeaningOfSurvival.class, // TODO: Not done.
Q00584_NeverSayGoodBye.class, // TODO: Not done.
Q00585_CantGoAgainstTheTime.class, // TODO: Not done.
Q00585_CantGoAgainstTheTime.class,
Q00586_MutatedCreatures.class, // TODO: Not done.
Q00587_MoreAggressiveOperation.class,
Q00588_HeadOnCrash.class,

View File

@ -1,36 +0,0 @@
/*
* 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.not_done;
import org.l2jmobius.Config;
import org.l2jmobius.gameserver.model.quest.Quest;
/**
* @author Mobius
*/
public class Q00585_CantGoAgainstTheTime extends Quest
{
private static final int START_NPC = 32921;
public Q00585_CantGoAgainstTheTime()
{
super(585);
addStartNpc(START_NPC);
addTalkId(START_NPC);
addCondMinLevel(Config.PLAYER_MAXIMUM_LEVEL, getNoQuestMsg(null));
}
}

View File

@ -5,7 +5,6 @@
556 Red Libra Request - Fallen Emperor's Throne
557 Red Libra Request - Fall of Etina
575 Special Mission: Fortuna
585 Can't Go Against the Time
586 Mutated Creatures
591 Great Ambitions
599 Demons and Dimensional Energy

View File

@ -0,0 +1,4 @@
<html><body>Fairy Citizen:<br>
The bad news. We have mutating creatures. Well, maybe if you can prove your skills ...<br>
<Button ALIGN=LEFT ICON="Normal" action="bypass -h Quest Q10830_TheLostGardenOfSpirits 32921-02.htm">"Yes?"</Button>
</body></html>

View File

@ -0,0 +1,4 @@
<html><body>Fairy Citizen:<br>
Well, if you can prove your skills... It should be okay...<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10830_TheLostGardenOfSpirits 32921-03.htm">"How can I prove my skills to you?"</Button>
</body></html>

View File

@ -0,0 +1,4 @@
<html><body>Fairy Citizen:<br>
This is how you can prove your skills. Go to the <font color="LEVEL">Fairy Settlement</font>, kill the Traces of Mutation, and bring back some items. Will you do this mission?<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10830_TheLostGardenOfSpirits 32921-04.htm">"Alright."</Button>
</body></html>

View File

@ -0,0 +1,3 @@
<html><body>Fairy Citizen:<br>
Alright. Go to the <font color="LEVEL">Fairy Settlement</font>. Once there, defeat the <font color="LEVEL">Fairy Warrior (Imperfect), Fairy Rogue (Imperfect), Fairy Knight (Imperfect), Satyr Wizard (Imperfect), Satyr Summoner (Imperfect), Satyr Witch (Imperfect), Fairy Warrior (Mature), Fairy Rogue (Mature), Fairy Knight (Mature), Satyr Wizard (Mature), Satyr Summoner (Mature), Satyr Witch (Mature), Fairy Warrior (Wicked), Fairy Rogue (Wicked), Fairy Knight (Wicked), Satyr Wizard (Wicked), Satyr Summoner (Wicked), Satyr Witch (Wicked), Cocoon Destroyer</font>, and bring back <font color="LEVEL">100 Traces of Mutation</font>. We'll be using those items for research.
</body></html>

View File

@ -0,0 +1,3 @@
<html><body>Fairy Citizen:<br>
You are here to ask about the mission again, huh? Go to the <font color="LEVEL">Fairy Settlement</font>. Once there, defeat the <font color="LEVEL">Fairy Warrior (Imperfect), Fairy Rogue (Imperfect), Fairy Knight (Imperfect), Satyr Wizard (Imperfect), Satyr Summoner (Imperfect), Satyr Witch (Imperfect), Fairy Warrior (Mature), Fairy Rogue (Mature), Fairy Knight (Mature), Satyr Wizard (Mature), Satyr Summoner (Mature), Satyr Witch (Mature), Fairy Warrior (Wicked), Fairy Rogue (Wicked), Fairy Knight (Wicked), Satyr Wizard (Wicked), Satyr Summoner (Wicked), Satyr Witch (Wicked), Cocoon Destroyer</font>, and bring back <font color="LEVEL">100 Traces of Mutation</font>. We'll be using those items for research.
</body></html>

View File

@ -0,0 +1,4 @@
<html><body>Fairy Citizen:<br>
Good to see you back safely. It looks like you've finished the mission. You must be a better warrior than I thought you were.<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10830_TheLostGardenOfSpirits 32921-07.html">"Of course!"</Button>
</body></html>

View File

@ -0,0 +1,3 @@
<html><body>Fairy Citizen:<br>
Alright. Here's your reward. I'll have to give this to Magister. As a warrior, there's only so much research I can do.
</body></html>

View File

@ -0,0 +1,160 @@
/*
* 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.Q00585_CantGoAgainstTheTime;
import org.l2jmobius.gameserver.enums.QuestType;
import org.l2jmobius.gameserver.model.actor.Npc;
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.quest.State;
/**
* Can't Go Against the Time (585)
* @URL https://l2wiki.com/Can%27t_Go_Against_the_Time
* @author Dmitri
*/
public class Q00585_CantGoAgainstTheTime extends Quest
{
// NPC
private static final int FAIRY_CITIZEN = 32921;
// Monsters
private static final int[] MONSTERS =
{
22866, // Fairy Warrior (Imperfect)
22874, // Fairy Rogue (Imperfect)
22882, // Fairy Knight (Imperfect)
22890, // Satyr Wizard (Imperfect)
22898, // Satyr Summoner (Imperfect)
22906, // Satyr Witch (Imperfect)
22865, // Fairy Warrior (Mature)
22873, // Fairy Rogue (Mature)
22881, // Fairy Knight (Mature)
22889, // Satyr Wizard (Mature)
22897, // Satyr Summoner (Mature)
22905, // Satyr Witch (Mature)
22864, // Fairy Warrior (Wicked)
22872, // Fairy Rogue (Wicked)
22880, // Fairy Knight (Wicked)
22888, // Satyr Wizard (Wicked)
22896, // Satyr Summoner (Wicked)
22904, // Satyr Witch (Wicked)
19400 // Cocoon Destroyer
};
// Items
private static final int TRACES_OF_MUTATION = 48381;
// Misc
private static final int MIN_LEVEL = 88;
private static final int MAX_LEVEL = 98;
public Q00585_CantGoAgainstTheTime()
{
super(585);
addStartNpc(FAIRY_CITIZEN);
addTalkId(FAIRY_CITIZEN);
addKillId(MONSTERS);
registerQuestItems(TRACES_OF_MUTATION);
addCondLevel(MIN_LEVEL, MAX_LEVEL, "nolevel.html");
}
@Override
public String onAdvEvent(String event, Npc npc, PlayerInstance player)
{
String htmltext = null;
final QuestState qs = getQuestState(player, false);
if (qs == null)
{
return htmltext;
}
switch (event)
{
case "32921-02.htm":
case "32921-03.htm":
{
htmltext = event;
break;
}
case "32921-04.htm":
{
qs.startQuest();
htmltext = event;
break;
}
case "32921-07.html":
{
giveAdena(player, 536520, true);
addExpAndSp(player, 429526470, 429510);
qs.exitQuest(QuestType.DAILY, true);
htmltext = event;
break;
}
}
return htmltext;
}
@Override
public String onTalk(Npc npc, PlayerInstance player)
{
final QuestState qs = getQuestState(player, true);
String htmltext = getNoQuestMsg(player);
switch (qs.getState())
{
case State.CREATED:
{
htmltext = "32921-01.htm";
break;
}
case State.STARTED:
{
if (qs.isCond(1))
{
htmltext = "32921-05.html";
}
else
{
htmltext = "32921-06.html";
}
break;
}
case State.COMPLETED:
{
if (qs.isNowAvailable())
{
qs.setState(State.CREATED);
htmltext = "32921-01.htm";
}
else
{
htmltext = getAlreadyCompletedMsg(player, QuestType.DAILY);
}
break;
}
}
return htmltext;
}
@Override
public String onKill(Npc npc, PlayerInstance killer, boolean isSummon)
{
final QuestState qs = getQuestState(killer, false);
if ((qs != null) && qs.isCond(1) && giveItemRandomly(killer, npc, TRACES_OF_MUTATION, 1, 100, 1, true))
{
qs.setCond(2, true);
}
return super.onKill(npc, killer, isSummon);
}
}

View File

@ -0,0 +1,4 @@
<html><body>Fairy Citizen:<br>
I don't understand why someone like you is interested in this mission?<br>
(Only characters above Lv.88-98.)
</body></html>

View File

@ -136,6 +136,7 @@ import quests.Q00581_ThePurificationRitual.Q00581_ThePurificationRitual;
import quests.Q00582_WashBloodWithBlood.Q00582_WashBloodWithBlood;
import quests.Q00583_MeaningOfSurvival.Q00583_MeaningOfSurvival;
import quests.Q00584_NeverSayGoodBye.Q00584_NeverSayGoodBye;
import quests.Q00585_CantGoAgainstTheTime.Q00585_CantGoAgainstTheTime;
import quests.Q00587_MoreAggressiveOperation.Q00587_MoreAggressiveOperation;
import quests.Q00588_HeadOnCrash.Q00588_HeadOnCrash;
import quests.Q00589_ASecretChange.Q00589_ASecretChange;
@ -478,7 +479,6 @@ import quests.Q10892_RevengeOneStepAtATime.Q10892_RevengeOneStepAtATime;
import quests.not_done.Q00504_CompetitionForTheBanditStronghold;
import quests.not_done.Q00529_RegularBarrierMaintenance;
import quests.not_done.Q00575_SpecialMissionFortuna;
import quests.not_done.Q00585_CantGoAgainstTheTime;
import quests.not_done.Q00586_MutatedCreatures;
import quests.not_done.Q00591_GreatAmbitions;
import quests.not_done.Q00599_DemonsAndDimensionalEnergy;
@ -695,7 +695,7 @@ public class QuestMasterHandler
Q00582_WashBloodWithBlood.class,
Q00583_MeaningOfSurvival.class,
Q00584_NeverSayGoodBye.class,
Q00585_CantGoAgainstTheTime.class, // TODO: Not done.
Q00585_CantGoAgainstTheTime.class,
Q00586_MutatedCreatures.class, // TODO: Not done.
Q00587_MoreAggressiveOperation.class,
Q00588_HeadOnCrash.class,

View File

@ -1,36 +0,0 @@
/*
* 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.not_done;
import org.l2jmobius.Config;
import org.l2jmobius.gameserver.model.quest.Quest;
/**
* @author Mobius
*/
public class Q00585_CantGoAgainstTheTime extends Quest
{
private static final int START_NPC = 32921;
public Q00585_CantGoAgainstTheTime()
{
super(585);
addStartNpc(START_NPC);
addTalkId(START_NPC);
addCondMinLevel(Config.PLAYER_MAXIMUM_LEVEL, getNoQuestMsg(null));
}
}

View File

@ -8,7 +8,6 @@
558 Request from the Red Libra Guild - Sea of Spores
559 Request from the Red Libra Guild - Krofin's Nest
579 Basic Mission: Blazing Swamp
585 Can't Go Against the Time
586 Mutated Creatures
591 Great Ambitions
599 Demons and Dimensional Energy

View File

@ -0,0 +1,4 @@
<html><body>Fairy Citizen:<br>
The bad news. We have mutating creatures. Well, maybe if you can prove your skills ...<br>
<Button ALIGN=LEFT ICON="Normal" action="bypass -h Quest Q10830_TheLostGardenOfSpirits 32921-02.htm">"Yes?"</Button>
</body></html>

View File

@ -0,0 +1,4 @@
<html><body>Fairy Citizen:<br>
Well, if you can prove your skills... It should be okay...<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10830_TheLostGardenOfSpirits 32921-03.htm">"How can I prove my skills to you?"</Button>
</body></html>

View File

@ -0,0 +1,4 @@
<html><body>Fairy Citizen:<br>
This is how you can prove your skills. Go to the <font color="LEVEL">Fairy Settlement</font>, kill the Traces of Mutation, and bring back some items. Will you do this mission?<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10830_TheLostGardenOfSpirits 32921-04.htm">"Alright."</Button>
</body></html>

View File

@ -0,0 +1,3 @@
<html><body>Fairy Citizen:<br>
Alright. Go to the <font color="LEVEL">Fairy Settlement</font>. Once there, defeat the <font color="LEVEL">Fairy Warrior (Imperfect), Fairy Rogue (Imperfect), Fairy Knight (Imperfect), Satyr Wizard (Imperfect), Satyr Summoner (Imperfect), Satyr Witch (Imperfect), Fairy Warrior (Mature), Fairy Rogue (Mature), Fairy Knight (Mature), Satyr Wizard (Mature), Satyr Summoner (Mature), Satyr Witch (Mature), Fairy Warrior (Wicked), Fairy Rogue (Wicked), Fairy Knight (Wicked), Satyr Wizard (Wicked), Satyr Summoner (Wicked), Satyr Witch (Wicked), Cocoon Destroyer</font>, and bring back <font color="LEVEL">100 Traces of Mutation</font>. We'll be using those items for research.
</body></html>

View File

@ -0,0 +1,3 @@
<html><body>Fairy Citizen:<br>
You are here to ask about the mission again, huh? Go to the <font color="LEVEL">Fairy Settlement</font>. Once there, defeat the <font color="LEVEL">Fairy Warrior (Imperfect), Fairy Rogue (Imperfect), Fairy Knight (Imperfect), Satyr Wizard (Imperfect), Satyr Summoner (Imperfect), Satyr Witch (Imperfect), Fairy Warrior (Mature), Fairy Rogue (Mature), Fairy Knight (Mature), Satyr Wizard (Mature), Satyr Summoner (Mature), Satyr Witch (Mature), Fairy Warrior (Wicked), Fairy Rogue (Wicked), Fairy Knight (Wicked), Satyr Wizard (Wicked), Satyr Summoner (Wicked), Satyr Witch (Wicked), Cocoon Destroyer</font>, and bring back <font color="LEVEL">100 Traces of Mutation</font>. We'll be using those items for research.
</body></html>

View File

@ -0,0 +1,4 @@
<html><body>Fairy Citizen:<br>
Good to see you back safely. It looks like you've finished the mission. You must be a better warrior than I thought you were.<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10830_TheLostGardenOfSpirits 32921-07.html">"Of course!"</Button>
</body></html>

View File

@ -0,0 +1,3 @@
<html><body>Fairy Citizen:<br>
Alright. Here's your reward. I'll have to give this to Magister. As a warrior, there's only so much research I can do.
</body></html>

View File

@ -0,0 +1,160 @@
/*
* 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.Q00585_CantGoAgainstTheTime;
import org.l2jmobius.gameserver.enums.QuestType;
import org.l2jmobius.gameserver.model.actor.Npc;
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.quest.State;
/**
* Can't Go Against the Time (585)
* @URL https://l2wiki.com/Can%27t_Go_Against_the_Time
* @author Dmitri
*/
public class Q00585_CantGoAgainstTheTime extends Quest
{
// NPC
private static final int FAIRY_CITIZEN = 32921;
// Monsters
private static final int[] MONSTERS =
{
22866, // Fairy Warrior (Imperfect)
22874, // Fairy Rogue (Imperfect)
22882, // Fairy Knight (Imperfect)
22890, // Satyr Wizard (Imperfect)
22898, // Satyr Summoner (Imperfect)
22906, // Satyr Witch (Imperfect)
22865, // Fairy Warrior (Mature)
22873, // Fairy Rogue (Mature)
22881, // Fairy Knight (Mature)
22889, // Satyr Wizard (Mature)
22897, // Satyr Summoner (Mature)
22905, // Satyr Witch (Mature)
22864, // Fairy Warrior (Wicked)
22872, // Fairy Rogue (Wicked)
22880, // Fairy Knight (Wicked)
22888, // Satyr Wizard (Wicked)
22896, // Satyr Summoner (Wicked)
22904, // Satyr Witch (Wicked)
19400 // Cocoon Destroyer
};
// Items
private static final int TRACES_OF_MUTATION = 48381;
// Misc
private static final int MIN_LEVEL = 88;
private static final int MAX_LEVEL = 98;
public Q00585_CantGoAgainstTheTime()
{
super(585);
addStartNpc(FAIRY_CITIZEN);
addTalkId(FAIRY_CITIZEN);
addKillId(MONSTERS);
registerQuestItems(TRACES_OF_MUTATION);
addCondLevel(MIN_LEVEL, MAX_LEVEL, "nolevel.html");
}
@Override
public String onAdvEvent(String event, Npc npc, PlayerInstance player)
{
String htmltext = null;
final QuestState qs = getQuestState(player, false);
if (qs == null)
{
return htmltext;
}
switch (event)
{
case "32921-02.htm":
case "32921-03.htm":
{
htmltext = event;
break;
}
case "32921-04.htm":
{
qs.startQuest();
htmltext = event;
break;
}
case "32921-07.html":
{
giveAdena(player, 536520, true);
addExpAndSp(player, 429526470, 429510);
qs.exitQuest(QuestType.DAILY, true);
htmltext = event;
break;
}
}
return htmltext;
}
@Override
public String onTalk(Npc npc, PlayerInstance player)
{
final QuestState qs = getQuestState(player, true);
String htmltext = getNoQuestMsg(player);
switch (qs.getState())
{
case State.CREATED:
{
htmltext = "32921-01.htm";
break;
}
case State.STARTED:
{
if (qs.isCond(1))
{
htmltext = "32921-05.html";
}
else
{
htmltext = "32921-06.html";
}
break;
}
case State.COMPLETED:
{
if (qs.isNowAvailable())
{
qs.setState(State.CREATED);
htmltext = "32921-01.htm";
}
else
{
htmltext = getAlreadyCompletedMsg(player, QuestType.DAILY);
}
break;
}
}
return htmltext;
}
@Override
public String onKill(Npc npc, PlayerInstance killer, boolean isSummon)
{
final QuestState qs = getQuestState(killer, false);
if ((qs != null) && qs.isCond(1) && giveItemRandomly(killer, npc, TRACES_OF_MUTATION, 1, 100, 1, true))
{
qs.setCond(2, true);
}
return super.onKill(npc, killer, isSummon);
}
}

View File

@ -0,0 +1,4 @@
<html><body>Fairy Citizen:<br>
I don't understand why someone like you is interested in this mission?<br>
(Only characters above Lv.88-98.)
</body></html>

View File

@ -137,6 +137,7 @@ import quests.Q00581_ThePurificationRitual.Q00581_ThePurificationRitual;
import quests.Q00582_WashBloodWithBlood.Q00582_WashBloodWithBlood;
import quests.Q00583_MeaningOfSurvival.Q00583_MeaningOfSurvival;
import quests.Q00584_NeverSayGoodBye.Q00584_NeverSayGoodBye;
import quests.Q00585_CantGoAgainstTheTime.Q00585_CantGoAgainstTheTime;
import quests.Q00587_MoreAggressiveOperation.Q00587_MoreAggressiveOperation;
import quests.Q00588_HeadOnCrash.Q00588_HeadOnCrash;
import quests.Q00589_ASecretChange.Q00589_ASecretChange;
@ -499,7 +500,6 @@ import quests.custom.Q10529_IvoryTowersResearchFloatingSeaJournal.Q10529_IvoryTo
import quests.custom.Q10533_OrfensAmbition.Q10533_OrfensAmbition;
import quests.not_done.Q00504_CompetitionForTheBanditStronghold;
import quests.not_done.Q00579_BasicMissionBlazingSwamp;
import quests.not_done.Q00585_CantGoAgainstTheTime;
import quests.not_done.Q00586_MutatedCreatures;
import quests.not_done.Q00591_GreatAmbitions;
import quests.not_done.Q00599_DemonsAndDimensionalEnergy;
@ -716,7 +716,7 @@ public class QuestMasterHandler
Q00582_WashBloodWithBlood.class,
Q00583_MeaningOfSurvival.class,
Q00584_NeverSayGoodBye.class,
Q00585_CantGoAgainstTheTime.class, // TODO: Not done.
Q00585_CantGoAgainstTheTime.class,
Q00586_MutatedCreatures.class, // TODO: Not done.
Q00587_MoreAggressiveOperation.class,
Q00588_HeadOnCrash.class,

View File

@ -1,36 +0,0 @@
/*
* 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.not_done;
import org.l2jmobius.Config;
import org.l2jmobius.gameserver.model.quest.Quest;
/**
* @author Mobius
*/
public class Q00585_CantGoAgainstTheTime extends Quest
{
private static final int START_NPC = 32921;
public Q00585_CantGoAgainstTheTime()
{
super(585);
addStartNpc(START_NPC);
addTalkId(START_NPC);
addCondMinLevel(Config.PLAYER_MAXIMUM_LEVEL, getNoQuestMsg(null));
}
}

View File

@ -39,7 +39,6 @@
557 Red Libra Request - Fall of Etina
558 Red Libra Request - Sea of Spores
559 Request from the Red Libra Guild - Krofin's Nest
585 Can't Go Against the Time
586 Mutated Creatures
591 Great Ambitions
592 Snow's Plea - Monsters from Three Areas

View File

@ -0,0 +1,4 @@
<html><body>Fairy Citizen:<br>
The bad news. We have mutating creatures. Well, maybe if you can prove your skills ...<br>
<Button ALIGN=LEFT ICON="Normal" action="bypass -h Quest Q10830_TheLostGardenOfSpirits 32921-02.htm">"Yes?"</Button>
</body></html>

View File

@ -0,0 +1,4 @@
<html><body>Fairy Citizen:<br>
Well, if you can prove your skills... It should be okay...<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10830_TheLostGardenOfSpirits 32921-03.htm">"How can I prove my skills to you?"</Button>
</body></html>

View File

@ -0,0 +1,4 @@
<html><body>Fairy Citizen:<br>
This is how you can prove your skills. Go to the <font color="LEVEL">Fairy Settlement</font>, kill the Traces of Mutation, and bring back some items. Will you do this mission?<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10830_TheLostGardenOfSpirits 32921-04.htm">"Alright."</Button>
</body></html>

View File

@ -0,0 +1,3 @@
<html><body>Fairy Citizen:<br>
Alright. Go to the <font color="LEVEL">Fairy Settlement</font>. Once there, defeat the <font color="LEVEL">Fairy Warrior (Imperfect), Fairy Rogue (Imperfect), Fairy Knight (Imperfect), Satyr Wizard (Imperfect), Satyr Summoner (Imperfect), Satyr Witch (Imperfect), Fairy Warrior (Mature), Fairy Rogue (Mature), Fairy Knight (Mature), Satyr Wizard (Mature), Satyr Summoner (Mature), Satyr Witch (Mature), Fairy Warrior (Wicked), Fairy Rogue (Wicked), Fairy Knight (Wicked), Satyr Wizard (Wicked), Satyr Summoner (Wicked), Satyr Witch (Wicked), Cocoon Destroyer</font>, and bring back <font color="LEVEL">100 Traces of Mutation</font>. We'll be using those items for research.
</body></html>

View File

@ -0,0 +1,3 @@
<html><body>Fairy Citizen:<br>
You are here to ask about the mission again, huh? Go to the <font color="LEVEL">Fairy Settlement</font>. Once there, defeat the <font color="LEVEL">Fairy Warrior (Imperfect), Fairy Rogue (Imperfect), Fairy Knight (Imperfect), Satyr Wizard (Imperfect), Satyr Summoner (Imperfect), Satyr Witch (Imperfect), Fairy Warrior (Mature), Fairy Rogue (Mature), Fairy Knight (Mature), Satyr Wizard (Mature), Satyr Summoner (Mature), Satyr Witch (Mature), Fairy Warrior (Wicked), Fairy Rogue (Wicked), Fairy Knight (Wicked), Satyr Wizard (Wicked), Satyr Summoner (Wicked), Satyr Witch (Wicked), Cocoon Destroyer</font>, and bring back <font color="LEVEL">100 Traces of Mutation</font>. We'll be using those items for research.
</body></html>

View File

@ -0,0 +1,4 @@
<html><body>Fairy Citizen:<br>
Good to see you back safely. It looks like you've finished the mission. You must be a better warrior than I thought you were.<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10830_TheLostGardenOfSpirits 32921-07.html">"Of course!"</Button>
</body></html>

View File

@ -0,0 +1,3 @@
<html><body>Fairy Citizen:<br>
Alright. Here's your reward. I'll have to give this to Magister. As a warrior, there's only so much research I can do.
</body></html>

View File

@ -0,0 +1,160 @@
/*
* 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.Q00585_CantGoAgainstTheTime;
import org.l2jmobius.gameserver.enums.QuestType;
import org.l2jmobius.gameserver.model.actor.Npc;
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.quest.State;
/**
* Can't Go Against the Time (585)
* @URL https://l2wiki.com/Can%27t_Go_Against_the_Time
* @author Dmitri
*/
public class Q00585_CantGoAgainstTheTime extends Quest
{
// NPC
private static final int FAIRY_CITIZEN = 32921;
// Monsters
private static final int[] MONSTERS =
{
22866, // Fairy Warrior (Imperfect)
22874, // Fairy Rogue (Imperfect)
22882, // Fairy Knight (Imperfect)
22890, // Satyr Wizard (Imperfect)
22898, // Satyr Summoner (Imperfect)
22906, // Satyr Witch (Imperfect)
22865, // Fairy Warrior (Mature)
22873, // Fairy Rogue (Mature)
22881, // Fairy Knight (Mature)
22889, // Satyr Wizard (Mature)
22897, // Satyr Summoner (Mature)
22905, // Satyr Witch (Mature)
22864, // Fairy Warrior (Wicked)
22872, // Fairy Rogue (Wicked)
22880, // Fairy Knight (Wicked)
22888, // Satyr Wizard (Wicked)
22896, // Satyr Summoner (Wicked)
22904, // Satyr Witch (Wicked)
19400 // Cocoon Destroyer
};
// Items
private static final int TRACES_OF_MUTATION = 48381;
// Misc
private static final int MIN_LEVEL = 88;
private static final int MAX_LEVEL = 98;
public Q00585_CantGoAgainstTheTime()
{
super(585);
addStartNpc(FAIRY_CITIZEN);
addTalkId(FAIRY_CITIZEN);
addKillId(MONSTERS);
registerQuestItems(TRACES_OF_MUTATION);
addCondLevel(MIN_LEVEL, MAX_LEVEL, "nolevel.html");
}
@Override
public String onAdvEvent(String event, Npc npc, PlayerInstance player)
{
String htmltext = null;
final QuestState qs = getQuestState(player, false);
if (qs == null)
{
return htmltext;
}
switch (event)
{
case "32921-02.htm":
case "32921-03.htm":
{
htmltext = event;
break;
}
case "32921-04.htm":
{
qs.startQuest();
htmltext = event;
break;
}
case "32921-07.html":
{
giveAdena(player, 536520, true);
addExpAndSp(player, 429526470, 429510);
qs.exitQuest(QuestType.DAILY, true);
htmltext = event;
break;
}
}
return htmltext;
}
@Override
public String onTalk(Npc npc, PlayerInstance player)
{
final QuestState qs = getQuestState(player, true);
String htmltext = getNoQuestMsg(player);
switch (qs.getState())
{
case State.CREATED:
{
htmltext = "32921-01.htm";
break;
}
case State.STARTED:
{
if (qs.isCond(1))
{
htmltext = "32921-05.html";
}
else
{
htmltext = "32921-06.html";
}
break;
}
case State.COMPLETED:
{
if (qs.isNowAvailable())
{
qs.setState(State.CREATED);
htmltext = "32921-01.htm";
}
else
{
htmltext = getAlreadyCompletedMsg(player, QuestType.DAILY);
}
break;
}
}
return htmltext;
}
@Override
public String onKill(Npc npc, PlayerInstance killer, boolean isSummon)
{
final QuestState qs = getQuestState(killer, false);
if ((qs != null) && qs.isCond(1) && giveItemRandomly(killer, npc, TRACES_OF_MUTATION, 1, 100, 1, true))
{
qs.setCond(2, true);
}
return super.onKill(npc, killer, isSummon);
}
}

View File

@ -0,0 +1,4 @@
<html><body>Fairy Citizen:<br>
I don't understand why someone like you is interested in this mission?<br>
(Only characters above Lv.88-98.)
</body></html>

View File

@ -67,6 +67,7 @@ import quests.Q00576_SpecialMissionDefeatSpezion.Q00576_SpecialMissionDefeatSpez
import quests.Q00577_BasicMissionSilentValley.Q00577_BasicMissionSilentValley;
import quests.Q00578_BasicMissionCemetery.Q00578_BasicMissionCemetery;
import quests.Q00580_BeyondTheMemories.Q00580_BeyondTheMemories;
import quests.Q00585_CantGoAgainstTheTime.Q00585_CantGoAgainstTheTime;
import quests.Q00587_MoreAggressiveOperation.Q00587_MoreAggressiveOperation;
import quests.Q00588_HeadOnCrash.Q00588_HeadOnCrash;
import quests.Q00589_ASecretChange.Q00589_ASecretChange;
@ -262,7 +263,6 @@ import quests.custom.Q10529_IvoryTowersResearchFloatingSeaJournal.Q10529_IvoryTo
import quests.custom.Q10533_OrfensAmbition.Q10533_OrfensAmbition;
import quests.not_done.Q00282_ADayOfKindnessAndCaring;
import quests.not_done.Q00504_CompetitionForTheBanditStronghold;
import quests.not_done.Q00585_CantGoAgainstTheTime;
import quests.not_done.Q00586_MutatedCreatures;
import quests.not_done.Q00591_GreatAmbitions;
import quests.not_done.Q00599_DemonsAndDimensionalEnergy;
@ -390,7 +390,7 @@ public class QuestMasterHandler
Q00577_BasicMissionSilentValley.class,
Q00578_BasicMissionCemetery.class,
Q00580_BeyondTheMemories.class,
Q00585_CantGoAgainstTheTime.class, // TODO: Not done.
Q00585_CantGoAgainstTheTime.class,
Q00586_MutatedCreatures.class, // TODO: Not done.
Q00587_MoreAggressiveOperation.class,
Q00588_HeadOnCrash.class,

View File

@ -1,36 +0,0 @@
/*
* 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.not_done;
import org.l2jmobius.Config;
import org.l2jmobius.gameserver.model.quest.Quest;
/**
* @author Mobius
*/
public class Q00585_CantGoAgainstTheTime extends Quest
{
private static final int START_NPC = 32921;
public Q00585_CantGoAgainstTheTime()
{
super(585);
addStartNpc(START_NPC);
addTalkId(START_NPC);
addCondMinLevel(Config.PLAYER_MAXIMUM_LEVEL, getNoQuestMsg(null));
}
}