Merged with released L2J-Unity files.
This commit is contained in:
4
trunk/dist/game/data/scripts/quests/Q00481_ShadowHelper/33302-00.htm
vendored
Normal file
4
trunk/dist/game/data/scripts/quests/Q00481_ShadowHelper/33302-00.htm
vendored
Normal 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>
|
4
trunk/dist/game/data/scripts/quests/Q00481_ShadowHelper/33302-01.htm
vendored
Normal file
4
trunk/dist/game/data/scripts/quests/Q00481_ShadowHelper/33302-01.htm
vendored
Normal 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>
|
4
trunk/dist/game/data/scripts/quests/Q00481_ShadowHelper/33302-02.htm
vendored
Normal file
4
trunk/dist/game/data/scripts/quests/Q00481_ShadowHelper/33302-02.htm
vendored
Normal 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>
|
5
trunk/dist/game/data/scripts/quests/Q00481_ShadowHelper/33302-03.htm
vendored
Normal file
5
trunk/dist/game/data/scripts/quests/Q00481_ShadowHelper/33302-03.htm
vendored
Normal 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>
|
4
trunk/dist/game/data/scripts/quests/Q00481_ShadowHelper/33302-04.htm
vendored
Normal file
4
trunk/dist/game/data/scripts/quests/Q00481_ShadowHelper/33302-04.htm
vendored
Normal 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>
|
5
trunk/dist/game/data/scripts/quests/Q00481_ShadowHelper/33302-05.htm
vendored
Normal file
5
trunk/dist/game/data/scripts/quests/Q00481_ShadowHelper/33302-05.htm
vendored
Normal 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>
|
5
trunk/dist/game/data/scripts/quests/Q00481_ShadowHelper/33302-06.html
vendored
Normal file
5
trunk/dist/game/data/scripts/quests/Q00481_ShadowHelper/33302-06.html
vendored
Normal 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>
|
4
trunk/dist/game/data/scripts/quests/Q00481_ShadowHelper/33302-07.html
vendored
Normal file
4
trunk/dist/game/data/scripts/quests/Q00481_ShadowHelper/33302-07.html
vendored
Normal 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>
|
3
trunk/dist/game/data/scripts/quests/Q00481_ShadowHelper/33302-08.html
vendored
Normal file
3
trunk/dist/game/data/scripts/quests/Q00481_ShadowHelper/33302-08.html
vendored
Normal 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>
|
4
trunk/dist/game/data/scripts/quests/Q00481_ShadowHelper/33302-09.html
vendored
Normal file
4
trunk/dist/game/data/scripts/quests/Q00481_ShadowHelper/33302-09.html
vendored
Normal 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>
|
183
trunk/dist/game/data/scripts/quests/Q00481_ShadowHelper/Q00481_ShadowHelper.java
vendored
Normal file
183
trunk/dist/game/data/scripts/quests/Q00481_ShadowHelper/Q00481_ShadowHelper.java
vendored
Normal 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);
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user