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>Ridenbag:<br>
Sorry kid. I can tell just by looking at you, there's no way you can do it. Forget about it.<br>
(Only characters level 38 or above can take this quest.)
</body></html>

View File

@@ -0,0 +1,4 @@
<html><body>Ridenbag:<br>
Ah, judging from those threads you're wearing, you're not another researcher from the Tower of Ivory or Bronze Key guild Dwarf Adventurer. So, what brings you here?<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00481_ShadowHelper 33302-02.htm">"Business."</Button>
</body></html>

View File

@@ -0,0 +1,4 @@
<html><body>Ridenbag:<br>
Can I ask you a favor? Of course, I'm not trying to get you do do anything for free. Just listen to my story, and we can talk in more detail after that.<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00481_ShadowHelper 33302-03.htm">"Go on."</Button>
</body></html>

View File

@@ -0,0 +1,5 @@
<html><body>Ridenbag:<br>
Let me introduce myself, I'm Ridenbag. Linkes, over there, is a Dark Elf and he belongs to Krasis.<br>
If you follow these guys, you'll have good opportunities to make some sweet profits. Which is why I'm here. We're investigating the Cruma Tower and helping them out. However...<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00481_ShadowHelper 33302-04.htm">"However...?"</Button>
</body></html>

View File

@@ -0,0 +1,4 @@
<html><body>Ridenbag:<br>
Dang! We're practically tripping over monsters in there! At this rate, we'll never finish this job. If you feel like a little monster squashing, please, be my guest! Head on in and squish a few!<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00481_ShadowHelper 33302-05.htm">"That sounds like fun!"</Button>
</body></html>

View File

@@ -0,0 +1,5 @@
<html><body>Ridenbag:<br>
All right! A monster squish-a-thon! Hehehe! So far, we've seen<br>
<font color="LEVEL">Porta, Excuro, Mordeo, Catherok, Ricenseo, Snipe Cohort, Krator, Sniper, Shindebarn, Premo, Validus, Dicor, Ossiud, Perum, Dark Knight, Torfe, Soldier of Darkness, Liangma, Dark Lord, and Death Knight</font>... ummm... Ossuid, no wait, I already said that! Well, a bunch more.<br>
If you could stomp out about <font color="LEVEL">20</font> of them, that would be really helpful!
</body></html>

View File

@@ -0,0 +1,5 @@
<html><body>Ridenbag:<br>
Do you need to hear the list again? No way!<br>
Just go squish about <font color="LEVEL">20 Cruma Tower monsters</font>. It doesn't matter what kind. Anything will help.<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00481_ShadowHelper 33302-07.html">"Can I see a detailed list of monsters?"</Button>
</body></html>

View File

@@ -0,0 +1,4 @@
<html><body>Ridenbag:<br>
According to our sources you can hunt the following monsters...<br>
<font color="LEVEL">Porta, Excuro, Mordeo, Catherok, Ricenseo, Snipe Cohort, Krator, Sniper, Shindebarn, Premo, Validus, Dicor, Ossiud, Perum, Dark Knight, Torfe, Soldier of Darkness, Liangma, Dark Lord, and Death Knight</font> ... ummm... Ossuid, no wait, I already said that!
</body></html>

View File

@@ -0,0 +1,3 @@
<html><body>Ridenbag:<br>
Fantastic! That's going to help a lot. Now, perhaps we can actually make some progress, rather than constantly playing whack-a-monster. Now, don't get angry, but you know that promise of being rewarded handsomely for doing this... yeah we are running short on funds... but hey you got the experience out of it didn't ya!
</body></html>

View File

@@ -0,0 +1,4 @@
<html><body>Ridenbag:<br>
I think that's enough for today. Don't want you getting tired and tripping and hurting yourself, now do we. Weapons and sleep deprivation do not mix.<br>
(You can only take this quest once a day. This quest is reset every day at 6:30 AM.)
</body></html>

View File

@@ -0,0 +1,183 @@
/*
* 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.Q00481_ShadowHelper;
import java.util.HashSet;
import java.util.Set;
import com.l2jmobius.gameserver.enums.QuestType;
import com.l2jmobius.gameserver.model.actor.L2Npc;
import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
import com.l2jmobius.gameserver.model.holders.NpcLogListHolder;
import com.l2jmobius.gameserver.model.quest.Quest;
import com.l2jmobius.gameserver.model.quest.QuestState;
import com.l2jmobius.gameserver.model.quest.State;
/**
* Shadow Helper (481)
* @author malyelfik
*/
public final class Q00481_ShadowHelper extends Quest
{
// NPC
private static final int RIDENBAG = 33302;
private static final int DUMMY = 33348;
// Monsters
private static final int[] MONSTERS =
{
20136, // Death Knight
20213, // Porta
20214, // Excuro
20215, // Mordeo
20216, // Ricenseo
20217, // Krator
20218, // Premo
20219, // Validus
20220, // Dicor
20221, // Perum
20222, // Torfe
20751, // Snipe
20752, // Snipe Cohort
20753, // Dark Lord
20754, // Dark Knight
21035, // Catherok
21036, // Shindebarn
21037, // Ossiud
21038, // Liangma
21040, // Soldier of Darkness
};
// Misc
private static final int MIN_LEVEL = 38;
private static final String KILL_COUNT_VAR = "KillCount";
public Q00481_ShadowHelper()
{
super(481);
addStartNpc(RIDENBAG);
addTalkId(RIDENBAG);
addKillId(MONSTERS);
addCondMinLevel(MIN_LEVEL, "33302-00.htm");
}
@Override
public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
{
final QuestState qs = getQuestState(player, false);
if (qs == null)
{
return null;
}
String htmltext = event;
switch (event)
{
case "33302-02.htm":
case "33302-03.htm":
case "33302-04.htm":
case "33302-07.html":
break;
case "33302-05.htm":
{
qs.startQuest();
break;
}
default:
htmltext = null;
}
return htmltext;
}
@Override
public String onTalk(L2Npc npc, L2PcInstance player, boolean isSimulated)
{
final QuestState qs = getQuestState(player, true);
String htmltext = getNoQuestMsg(player);
switch (qs.getState())
{
case State.COMPLETED:
{
if (!qs.isNowAvailable())
{
htmltext = "33302-09.html";
break;
}
qs.setState(State.CREATED);
}
case State.CREATED:
htmltext = "33302-01.htm";
break;
case State.STARTED:
{
if (qs.isCond(1))
{
htmltext = "33302-06.html";
}
else
{
if (!isSimulated)
{
addExpAndSp(player, 240000, 57);
qs.exitQuest(QuestType.DAILY, true);
}
htmltext = "33302-08.html";
}
break;
}
}
return htmltext;
}
@Override
public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
{
final QuestState qs = getQuestState(killer, false);
if ((qs != null) && qs.isCond(1))
{
final int killCount = qs.getInt(KILL_COUNT_VAR) + 1;
qs.set(KILL_COUNT_VAR, killCount);
if (killCount >= 20)
{
qs.setCond(2, true);
}
else
{
sendNpcLogList(killer);
}
}
return super.onKill(npc, killer, isSummon);
}
@Override
public Set<NpcLogListHolder> getNpcLogList(L2PcInstance player)
{
final QuestState qs = getQuestState(player, false);
if ((qs != null) && qs.isCond(1))
{
final int killCount = qs.getInt(KILL_COUNT_VAR);
if (killCount > 0)
{
final Set<NpcLogListHolder> holder = new HashSet<>(1);
holder.add(new NpcLogListHolder(DUMMY, false, killCount));
return holder;
}
}
return super.getNpcLogList(player);
}
}