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>Mercenary Captain Pierce:<br>
We of the <font color="LEVEL">Golden Ram Army</font> believe the Stakatos here in the <font color="LEVEL">Swamp of Screams</font> are up to something, possibly in collusion with some <font color="LEVEL">unidentified group</font>. We plan to do something about it before they make a move.<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00761_AssistingTheGoldenRamArmy 31553-02.htm">"I'd like to help you with that."</Button>
</body></html>

View File

@@ -0,0 +1,6 @@
<html><body>Mercenary Captain Pierce:<br>
I can always use an eager volunteer!<br>
The mission is simple. Go to the <font color="LEVEL">Swamp of Screams</font> and kill <font color="LEVEL">Stakatos</font>. Then bring back some <font color="LEVEL">Intact Stakato Shells</font>.<br>
Ah, there's just one more thing...<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00761_AssistingTheGoldenRamArmy 31553-03.htm">"Go on."</Button>
</body></html>

View File

@@ -0,0 +1,6 @@
<html><body>Mercenary Captain Pierce:<br>
We need <font color="LEVEL">Intact Stakato Talons</font> as well. Like the shells, you can get them from <font color="LEVEL">Stakatos</font>, just not as easily.<br>
I'm sure that by the time you <font color="LEVEL">collect 50 Intact Stakato Shells</font>, you'll figure out the talons as well. I'm offering an additional reward based on the number of talons you bring back.<br>
Sound good?<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00761_AssistingTheGoldenRamArmy 31553-04.htm">"Sounds great."</Button>
</body></html>

View File

@@ -0,0 +1,4 @@
<html><body>Mercenary Captain Pierce:<br>
Just kill every <font color="LEVEL">Stakato</font> you see in the <font color="LEVEL">Swamp of Screams</font>. You shouldn't overthink things, but I'll go over the payouts again.<br>
If you bring back <font color="LEVEL">50</font> <font color="LEVEL">Intact Stakato Shells</font>, I will give you a reward, plus an additional reward according to the number of <font color="LEVEL">Intact Stakato Talons</font>.
</body></html>

View File

@@ -0,0 +1,3 @@
<html><body>Mercenary Captain Pierce:<br>
If you bring back <font color="LEVEL">50</font> <font color="LEVEL">Intact Stakato Shells</font>, I will give you a reward, plus an additional reward according to the number of <font color="LEVEL">Intact Stakato Talons</font>.
</body></html>

View File

@@ -0,0 +1,6 @@
<html><body>Mercenary Captain Pierce:<br>
You've brought all the Intact Stakato Shells I need, but not enough Intact Stakato Talons for anything more than a minimum reward.<br>
Do you want to take a basic reward and call it a day? Or will you go out and look for some more Intact Stakato Talons?<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00761_AssistingTheGoldenRamArmy 31553-08.html">"I'm pooped, thanks."</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00761_AssistingTheGoldenRamArmy 31553-07.html">"Wait a sec. I'll be back with some more Intact Stakato Talons."</Button>
</body></html>

View File

@@ -0,0 +1,3 @@
<html><body>Mercenary Captain Pierce:<br>
Sounds good. Your final payment depends on the number of <font color="LEVEL">Intact Stakato Talons</font> you collect.
</body></html>

View File

@@ -0,0 +1,5 @@
<html><body>Mercenary Captain Pierce:<br>
Sure! I've got it right here, and I'm sure you can use it.<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00761_AssistingTheGoldenRamArmy 31553-09.html">"That sounds great."</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00761_AssistingTheGoldenRamArmy 31553-07.html">"I'd like to collect some more Intact Stakato Talons."</Button>
</body></html>

View File

@@ -0,0 +1,3 @@
<html><body>Mercenary Captain Pierce:<br>
Here, take this reward. And get some rest; if you haven't got your health, you haven't anything.
</body></html>

View File

@@ -0,0 +1,4 @@
<html><body>Mercenary Captain Pierce:<br>
I don't think you're ready for this mission.<br>
(Ertheia is excluded from this quest.)
</body></html>

View File

@@ -0,0 +1,4 @@
<html><body>Mercenary Captain Pierce:<br>
I don't think you're ready for this mission.<br>
(This quest is for Fighters level 65 or above.)
</body></html>

View File

@@ -0,0 +1,206 @@
/*
* 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.Q00761_AssistingTheGoldenRamArmy;
import com.l2jmobius.gameserver.enums.CategoryType;
import com.l2jmobius.gameserver.enums.QuestSound;
import com.l2jmobius.gameserver.enums.QuestType;
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;
import com.l2jmobius.gameserver.network.NpcStringId;
import com.l2jmobius.gameserver.network.serverpackets.ExShowScreenMessage;
/**
* Assisting the Golden Ram Army (761)
* @author St3eT
*/
public final class Q00761_AssistingTheGoldenRamArmy extends Quest
{
// NPCs
private static final int PIERCE = 31553;
private static final int[] MONSTERS =
{
21508, // Splinter Stakato
21509, // Splinter Stakato Worker
21510, // Splinter Stakato Soldier
21511, // Splinter Stakato Drone
21513, // Needle Stakato
21514, // Needle Stakato Worker
21515, // Needle Stakato Soldier
21516, // Needle Stakato Drone
21517, // Needle Stakato Drone
21518, // Frenzied Stakato Soldier
};
// Items
private static final int SHELL = 36668; // Intact Stakato Shell
private static final int TALON = 36669; // Intact Stakato Talon
private static final int STEEL_DOOR_BOX = 37391; // Steel Door Guild Reward Box (Low-grade)
// Rewards
//@formatter:off
// Format: min item count, exp reward, sp reward, item count reward
private static final int[][] REWARD =
{
{900, 141_403_500, 33_930, 10},
{800, 127_263_150, 30_537, 9},
{700, 113_122_800, 27_144, 8},
{600, 98_982_450, 23_751, 7},
{500, 84_842_100, 20_358, 6},
{400, 70_701_750, 16_965, 5},
{300, 56_546_400, 13_572, 4},
{200, 42_421_050, 10_179, 3},
{100, 28_280_700, 6789, 2},
{0, 14_140_350, 3393, 1},
};
//@formatter:on
// Misc
private static final int MIN_LEVEL = 65;
private static final int MAX_LEVEL = 70;
public Q00761_AssistingTheGoldenRamArmy()
{
super(761);
addStartNpc(PIERCE);
addTalkId(PIERCE);
addKillId(MONSTERS);
registerQuestItems(SHELL, TALON);
addCondNotRace(Race.ERTHEIA, "31553-10.html");
addCondLevel(MIN_LEVEL, MAX_LEVEL, "31553-11.htm");
addCondInCategory(CategoryType.FIGHTER_GROUP, "31553-11.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 "31553-02.htm":
case "31553-03.htm":
case "31553-07.html":
case "31553-08.html":
{
htmltext = event;
break;
}
case "31553-04.htm":
{
st.startQuest();
htmltext = event;
break;
}
case "31553-09.html":
{
if (st.isCond(2))
{
final long itemCount = getQuestItemsCount(player, TALON);
for (int[] data : REWARD)
{
if (itemCount >= data[0])
{
if (player.getLevel() >= MIN_LEVEL)
{
addExpAndSp(player, data[1], data[2]);
}
giveItems(player, STEEL_DOOR_BOX, data[3]);
st.exitQuest(QuestType.DAILY, true);
htmltext = event;
break;
}
}
}
break;
}
}
return htmltext;
}
@Override
public String onTalk(L2Npc npc, L2PcInstance player, boolean isSimulated)
{
final QuestState st = getQuestState(player, true);
String htmltext = null;
switch (st.getState())
{
case State.CREATED:
{
htmltext = "31553-01.htm";
break;
}
case State.STARTED:
{
htmltext = st.isCond(1) ? "31553-05.html" : "31553-06.html";
break;
}
case State.COMPLETED:
{
if (!st.isNowAvailable())
{
htmltext = getAlreadyCompletedMsg(player, QuestType.DAILY);
}
else
{
if (!isSimulated)
{
st.setState(State.CREATED);
}
htmltext = "31553-01.htm";
}
break;
}
}
return htmltext;
}
@Override
public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
{
final QuestState st = getQuestState(killer, false);
if ((st != null) && (st.isCond(1) || st.isCond(2)) && (getRandom(100) < 15))
{
if (getQuestItemsCount(killer, SHELL) < 50)
{
giveItems(killer, SHELL, 1);
playSound(killer, QuestSound.ITEMSOUND_QUEST_ITEMGET);
if (getQuestItemsCount(killer, SHELL) >= 50)
{
st.setCond(2, true);
showOnScreenMsg(killer, NpcStringId.YOU_CAN_GATHER_MORE_INTACT_STAKATO_TALONS, ExShowScreenMessage.TOP_CENTER, 6000);
}
}
else
{
giveItems(killer, TALON, 1);
playSound(killer, QuestSound.ITEMSOUND_QUEST_ITEMGET);
}
}
return super.onKill(npc, killer, isSummon);
}
}