Merged with released L2J-Unity files.

This commit is contained in:
mobiusdev
2016-06-12 01:34:09 +00:00
parent e003e87887
commit 635557f5da
18352 changed files with 3245113 additions and 2892959 deletions

View File

@@ -0,0 +1,4 @@
<html><body>Andy the Patrol:<br>
Several large battles raged between elves and human on the <font color="LEVEL">Sea of Spores</font>. Back when they fought for the continent. It wasn't long all the magical energy birthed the spores, and well... you can tell from the name. The wizards at the <font color="LEVEL">Ivory Tower</font> created a force field to prevent the spores from spreading further, as well as to keep the monsters inside. But lately the monsters have been acting very suspicious. I'm worried that if we don't do anything, they might take down the forcefield and plunge this whole area into chaos.<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10398_ASuspiciousBadge 33845-02.htm">"Is there anything I can do to help?"</Button>
</body></html>

View File

@@ -0,0 +1,5 @@
<html><body>Andy the Patrol:<br>
We've found several <font color="LEVEL">Unidentified Suspicious Badges</font> on monsters. We're assuming they're what's making the monsters violent, but we're not entirely sure. <font color="LEVEL">Bacon</font> is here to help determine that. He's the favorite disciple of <font color="LEVEL">Paterson</font>, a famous scholar of Aden.<br>
The problem is: he needs <font color="LEVEL">Unidentified Suspicious Badges</font> to for his research, but he's not the fighting type. Since they're only found on monsters, he's obviously not making much progress.<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10398_ASuspiciousBadge 33845-03.html">"I'll help get these badges for you."</Button>
</body></html>

View File

@@ -0,0 +1,3 @@
<html><body>Andy the Patrol:<br>
Go to the <font color="LEVEL">Sea of Spores</font> and kill <font color="LEVEL">Giant Fungi, Rotting Trees, Corroded Skulls, Rotten Corpses, Corpse Spiders, and Explosive Spiders</font>. Once you've found <font color="LEVEL">20</font> <font color="LEVEL">Unidentified Suspicious Badges</font>, deliver them to <font color="LEVEL">Paterson's Disciple, Bacon,</font> inside the <font color="LEVEL">Sea of Spores</font>.
</body></html>

View File

@@ -0,0 +1,4 @@
<html><body>Andy the Patrol:<br>
What are you doing here? This place is dangerous, you should go back.<br>
(Only characters level 52 or above may undertake this quest.)
</body></html>

View File

@@ -0,0 +1,4 @@
<html><body>Andy the Patrol:<br>
Hey, this place is dangerous! You shouldn't be here.<br>
(Ertheia is excluded from this quest.)
</body></html>

View File

@@ -0,0 +1,4 @@
<html><body>Paterson's Disciple Bacon:<br>
<font color="LEVEL">Andy the Patrol</font> sent you, but he didn't tell you to bring <font color="LEVEL">Unidentified Suspicious Badges</font>? Ugh. Andy.<br>
Well, you can still get <font color="LEVEL">Unidentified Suspicious Badges</font> from <font color="LEVEL">Giant Fungi, Rotting Trees, Corroded Skulls, Rotten Corpses, Corpse Spiders, and Explosive Spiders</font>.
</body></html>

View File

@@ -0,0 +1,4 @@
<html><body>Paterson's Disciple Bacon:<br>
<font color="LEVEL">Andy the Patrol</font> sent you here? Wow! You've brought <font color="LEVEL">Unidentified Suspicious Badges</font>! I just need to do a few teeny, tiny experiments to figure out what they are for.<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10398_ASuspiciousBadge 33846-03.html">"What do you know about Suspicious Badges?"</Button>
</body></html>

View File

@@ -0,0 +1,157 @@
/*
* 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.Q10398_ASuspiciousBadge;
import com.l2jmobius.gameserver.enums.Race;
import com.l2jmobius.gameserver.model.actor.L2Npc;
import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
import com.l2jmobius.gameserver.model.quest.Quest;
import com.l2jmobius.gameserver.model.quest.QuestState;
import com.l2jmobius.gameserver.model.quest.State;
/**
* A Suspicious Badge (10398)
* @author St3eT
*/
public final class Q10398_ASuspiciousBadge extends Quest
{
// NPCs
private static final int ANDY = 33845;
private static final int BACON = 33846;
private static final int[] MONSTERS =
{
20555, // Giant Fungus
20558, // Rotting Tree
23305, // Corroded Skeleton
23306, // Rotten Corpse
23307, // Corpse Spider
23308, // Explosive Spider
};
// Items
private static final int BADGE = 36666; // Unidentified Suspicious Badge
private static final int EAB = 948; // Scroll: Enchant Armor (B-grade)
// Misc
private static final int MIN_LEVEL = 52;
private static final int MAX_LEVEL = 58;
public Q10398_ASuspiciousBadge()
{
super(10398);
addStartNpc(ANDY);
addTalkId(ANDY, BACON);
addKillId(MONSTERS);
registerQuestItems(BADGE);
addCondNotRace(Race.ERTHEIA, "33845-05.html");
addCondLevel(MIN_LEVEL, MAX_LEVEL, "33845-04.htm");
}
@Override
public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
{
final QuestState st = getQuestState(player, false);
if (st == null)
{
return null;
}
String htmltext = null;
switch (event)
{
case "33845-02.htm":
{
htmltext = event;
break;
}
case "33845-03.html":
{
st.startQuest();
htmltext = event;
break;
}
case "33846-03.html":
{
if (st.isCond(2))
{
st.exitQuest(false, true);
giveItems(player, EAB, 5);
giveStoryQuestReward(player, 36);
if (player.getLevel() >= MIN_LEVEL)
{
addExpAndSp(player, 3_811_500, 914);
}
}
break;
}
}
return htmltext;
}
@Override
public String onTalk(L2Npc npc, L2PcInstance player)
{
String htmltext = getNoQuestMsg(player);
final QuestState st = getQuestState(player, true);
switch (st.getState())
{
case State.CREATED:
{
if (npc.getId() == ANDY)
{
htmltext = "33845-01.htm";
}
break;
}
case State.STARTED:
{
if (st.isCond(1))
{
htmltext = npc.getId() == ANDY ? "33845-03.html" : "33846-01.html";
}
else if (st.isCond(2) && (npc.getId() == BACON))
{
htmltext = "33846-02.html";
}
break;
}
case State.COMPLETED:
{
if (npc.getId() == ANDY)
{
htmltext = getAlreadyCompletedMsg(player);
}
break;
}
}
return htmltext;
}
@Override
public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
{
final QuestState st = getQuestState(killer, false);
if ((st != null) && st.isStarted() && st.isCond(1))
{
if (giveItemRandomly(killer, npc, BADGE, 1, 20, 0.75, true))
{
st.setCond(2);
}
}
return super.onKill(npc, killer, isSummon);
}
}