Addition of quests 665, 666, 668, 10454 and 10846.

Contributed by Dmitri.
This commit is contained in:
MobiusDevelopment
2020-02-05 14:46:33 +00:00
parent 1437711898
commit 02b8b1403f
540 changed files with 9475 additions and 1269 deletions

View File

@@ -49,5 +49,4 @@
10748 Mysterious Suggestion - 1
10749 Mysterious Suggestion - 2
10809 The Hero's Journey: Blazing Swamp
10845 Bloody Battle - Rescue the Smiths
10846 Bloody Battle - Meeting the Commander
10845 Bloody Battle - Rescue the Smiths

View File

@@ -0,0 +1,4 @@
<html><body>Hurak:<br>
I do not believe our paths are meant to cross here. Perhaps later down the road.<br>
(This quest can only be undertaken by characters with Lv. 101 or higher whose faction level with the Kingdom's Royal Guard is 4 or higher and Complete quest: Bloody Battle - Rescue the Smiths.)
</body></html>

View File

@@ -0,0 +1,5 @@
<html><body>Hurak:<br>
It's been a while since we've found the Atelia Fortress.<br>
In that time though, the fortress has become more structured, which worries me.<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10846_BloodyBattleMeetingTheCommander 34064-02.htm">"What's the problem?"</Button>
</body></html>

View File

@@ -0,0 +1,4 @@
<html><body>Hurak:<br>
We have to make sure no issues arise here until Leona comes back from Hellbound. We aren't doing so well, though.<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10846_BloodyBattleMeetingTheCommander 34064-03.htm">"What happened?"</Button>
</body></html>

View File

@@ -0,0 +1,5 @@
<html><body>Hurak:<br>
The Atelia Fortress is more structured now.<br>
Until recently, they didn't have the means to get supplies or train soldiers when they isolated themselves, but now they can do all that within.<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10846_BloodyBattleMeetingTheCommander 34064-04.htm">"How is that possible?"</Button>
</body></html>

View File

@@ -0,0 +1,5 @@
<html><body>Hurak:<br>
According to the information we got from the clan members inside the fortress, they are building different facilities on each floor.<br>
I've asked Leona for reinforcements, but they are not doing so great either. We need people who can help us. Do you think you can do it?<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10846_BloodyBattleMeetingTheCommander 34064-05.htm">"Sure, I'll help."</Button>
</body></html>

View File

@@ -0,0 +1,4 @@
<html><body>Hurak:<br>
Glad to hear you'll be helping us. Devianne has already infiltrated the fortress and is in contact with our clan members.<br>
First, go find <font color="LEVEL">Glenkinchie</font> in the first stronghold. Anyone inside the fortress should be able to help you more than me.
</body></html>

View File

@@ -0,0 +1,4 @@
<html><body>Hurak:<br>
Devianne has already infiltrated the fortress, but you'll need to find out where she is from the people who are inside.<br>
First, go find <font color="LEVEL">Glenkinchie</font> in the first stronghold. Anyone inside the fortress should be able to help you more than me.
</body></html>

View File

@@ -0,0 +1,5 @@
<html><body>Devianne:<br>
Elikia said someone would come find me. I guess that was you? The fortress is becoming more systemized by the way, which worries me.<br>
We are not ready yet, and the Embryo are already expanding their forces.<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10846_BloodyBattleMeetingTheCommander 34323-02.html">"Did you find out anything?"</Button>
</body></html>

View File

@@ -0,0 +1,7 @@
<html><body>Devianne:<br>
I found just a while ago that the fortress is becoming more systemized.<br>
They've built a supply base, and I saw that they are distributing supplies to the soldiers within the fortress. I would love to go and destroy their supply base...<br>
Recently, I met Devianne, and she told me about the commander of the fortress.<br>
She said to create uproars around the fortress to stop the flow of their work inside... Do you think you can help me?<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10846_BloodyBattleMeetingTheCommander 34323-03.html">"How can I help?"</Button>
</body></html>

View File

@@ -0,0 +1,5 @@
<html><body>Devianne:<br>
It's not that difficult. You must have seen the <font color="LEVEL">supply boxes</font> laying around. They started getting supplies regularly, but they are still not organized.<br>
Please open those <font color="LEVEL">supply boxes</font> and get me the <font color="LEVEL">supplies</font>. Don't just open any box though. There are some <font color="LEVEL">traps</font> that could make it very dangerous.<br>
Oh, and one more thing! If you <font color="LEVEL">defeat</font> the <font color="LEVEL">Quartermasters</font>, the <font color="LEVEL">soldiers will be affected</font>, making it easier to steal their supplies.
</body></html>

View File

@@ -0,0 +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.Q10846_BloodyBattleMeetingTheCommander;
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;
/**
* Bloody Battle - Meeting the Commander (10846)
* @URL https://l2wiki.com/Bloody_Battle_-_Meeting_the_Commander
* @author Dmitri
*/
public class Q10846_BloodyBattleMeetingTheCommander extends Quest
{
// NPCs
private static final int HURAK = 34064;
private static final int DEVIANNE = 34323;
// MiniBoss
private static final int BURNSTEIN = 26136; // Burnstein
// Item
private static final int RUNE_STONE = 39738;
private static final int SCROLL_OF_ESCAPE_BLACKBIRD_CAMPSITE = 46158;
// Misc
private static final int MIN_LEVEL = 101;
public Q10846_BloodyBattleMeetingTheCommander()
{
super(10846);
addStartNpc(HURAK);
addTalkId(HURAK, DEVIANNE);
addKillId(BURNSTEIN);
addCondMinLevel(MIN_LEVEL, "34064-00.htm");
// addCondCompletedQuest(Q10845_BloodyBattleRescueTheSmiths.class.getSimpleName(), "34064-00.htm");
}
@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 "34064-04.htm":
case "34064-03.htm":
case "34064-02.htm":
case "34323-02.html":
{
htmltext = event;
break;
}
case "34064-05.htm":
{
qs.startQuest();
htmltext = event;
break;
}
case "34323-03.html":
{
if (qs.isCond(2))
{
giveItems(player, RUNE_STONE, 1);
giveItems(player, SCROLL_OF_ESCAPE_BLACKBIRD_CAMPSITE, 1);
addExpAndSp(player, 7262301690L, 17429400);
qs.exitQuest(false, 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:
{
if (npc.getId() == HURAK)
{
htmltext = "34064-01.htm";
}
break;
}
case State.STARTED:
{
switch (npc.getId())
{
case HURAK:
{
if (qs.isCond(1))
{
htmltext = "34064-06.html";
}
break;
}
case DEVIANNE:
{
if (qs.isCond(2))
{
htmltext = "34323-01.html";
}
break;
}
}
break;
}
case State.COMPLETED:
{
htmltext = getAlreadyCompletedMsg(player);
break;
}
}
return htmltext;
}
@Override
public String onKill(Npc npc, PlayerInstance player, boolean isSummon)
{
executeForEachPlayer(player, npc, isSummon, true, false);
return super.onKill(npc, player, isSummon);
}
@Override
public void actionForEachPlayer(PlayerInstance player, Npc npc, boolean isSummon)
{
final QuestState qs = getQuestState(player, false);
if ((qs != null) && qs.isCond(1))
{
qs.setCond(2, true);
}
}
}

View File

@@ -494,6 +494,7 @@ import quests.Q10840_TimeToRecover.Q10840_TimeToRecover;
import quests.Q10841_DeepInsideAteliaFortress.Q10841_DeepInsideAteliaFortress;
import quests.Q10843_AnomalyInTheEnchantedValley.Q10843_AnomalyInTheEnchantedValley;
import quests.Q10844_BloodyBattleSeizingSupplies.Q10844_BloodyBattleSeizingSupplies;
import quests.Q10846_BloodyBattleMeetingTheCommander.Q10846_BloodyBattleMeetingTheCommander;
import quests.not_done.Q00480_AnotherLegacyOfCrumaTower;
import quests.not_done.Q00504_CompetitionForTheBanditStronghold;
import quests.not_done.Q00655_AGrandPlanForTamingWildBeasts;
@@ -533,7 +534,6 @@ import quests.not_done.Q10748_MysteriousSuggestion1;
import quests.not_done.Q10749_MysteriousSuggestion2;
import quests.not_done.Q10809_TheHerosJourneyBlazingSwamp;
import quests.not_done.Q10845_BloodyBattleRescueTheSmiths;
import quests.not_done.Q10846_BloodyBattleMeetingTheCommander;
/**
* @author NosBit
@@ -1058,7 +1058,7 @@ public class QuestMasterHandler
Q10843_AnomalyInTheEnchantedValley.class,
Q10844_BloodyBattleSeizingSupplies.class,
Q10845_BloodyBattleRescueTheSmiths.class, // TODO: Not done.
Q10846_BloodyBattleMeetingTheCommander.class, // TODO: Not done.
Q10846_BloodyBattleMeetingTheCommander.class,
};
public static void main(String[] args)

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 Q10846_BloodyBattleMeetingTheCommander extends Quest
{
private static final int START_NPC = 34064;
public Q10846_BloodyBattleMeetingTheCommander()
{
super(10846);
addStartNpc(START_NPC);
addTalkId(START_NPC);
addCondMinLevel(Config.PLAYER_MAXIMUM_LEVEL, getNoQuestMsg(null));
}
}