Quest The Oath of the Wind (10758).
Contributed by Stayway.
This commit is contained in:
5
trunk/dist/game/data/scripts/quests/Q10758_TheOathOfTheWind/33963-01.htm
vendored
Normal file
5
trunk/dist/game/data/scripts/quests/Q10758_TheOathOfTheWind/33963-01.htm
vendored
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
<html><body>Research Pio:<br>
|
||||||
|
Hi! Nice to see you. I had something to ask.<br>
|
||||||
|
You said that Ertheia is from the Wind Spirit Realm. Then what are Ertheia to the Wind Spirits from the Wind Spirit Realm?<br>
|
||||||
|
<button align=LEFT icon=NORMAL action="bypass -h Quest Q10758_TheOathOfTheWind 33963-02.htm">"We are sometimes a friend, and sometimes their master."</button>
|
||||||
|
</body></html>
|
9
trunk/dist/game/data/scripts/quests/Q10758_TheOathOfTheWind/33963-02.htm
vendored
Normal file
9
trunk/dist/game/data/scripts/quests/Q10758_TheOathOfTheWind/33963-02.htm
vendored
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
<html><body>Researcher Pio:<br>
|
||||||
|
I see.<br>
|
||||||
|
I have a hypothesis.<br>
|
||||||
|
If the energy from the Wind Realm is coming here through the Dimensional Rift...<br>
|
||||||
|
If the energy from the rift is mixing with the wind energy and being absorbed by the spirits...<br>
|
||||||
|
Then wouldn't the spirits respond to Ertheia even if they have lost their minds?<br>
|
||||||
|
I need to test it. Can you help me? This will be my last request.<br>
|
||||||
|
<button align=LEFT icon=NORMAL action="bypass -h Quest Q10758_TheOathOfTheWind 33963-03.htm">"Just don't touch the hair."</button>
|
||||||
|
</body></html>
|
7
trunk/dist/game/data/scripts/quests/Q10758_TheOathOfTheWind/33963-03.htm
vendored
Normal file
7
trunk/dist/game/data/scripts/quests/Q10758_TheOathOfTheWind/33963-03.htm
vendored
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
<html><body>Researcher Pio:<br>
|
||||||
|
Haha, deal!<br>
|
||||||
|
I will summon Windima in front of you. Try attacking it. I want to see what happens.<br>
|
||||||
|
Oh, don't worry. It's only a <font color="LEVEL">Windima Clone</font> I made based on my data.<br>
|
||||||
|
Let me know when you're ready!<br>
|
||||||
|
<button align=LEFT icon=NORMAL action="bypass -h Quest Q10758_TheOathOfTheWind accept">"I'm ready."</button>
|
||||||
|
</body></html>
|
4
trunk/dist/game/data/scripts/quests/Q10758_TheOathOfTheWind/33963-04.html
vendored
Normal file
4
trunk/dist/game/data/scripts/quests/Q10758_TheOathOfTheWind/33963-04.html
vendored
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
<html><body>Researcher Pio:<br>
|
||||||
|
Amazing! My hypothesis was right. Did you see it? It paid respects to you!<br>
|
||||||
|
<button align=LEFT icon=NORMAL action="bypass -h Quest Q10758_TheOathOfTheWind 33963-05.htm">"I did."</button>
|
||||||
|
</body></html>
|
5
trunk/dist/game/data/scripts/quests/Q10758_TheOathOfTheWind/33963-05.htm
vendored
Normal file
5
trunk/dist/game/data/scripts/quests/Q10758_TheOathOfTheWind/33963-05.htm
vendored
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
<html><body>Researcher Pio:<br>
|
||||||
|
I knew it. The energy from the Wind Spirit Realm was influencing Windy Hill.<br>
|
||||||
|
Thank you for helping me. I need to report this to High Priest Levian.<br>
|
||||||
|
Bye! See you again! Ertheia with pretty ears!<br>
|
||||||
|
</body></html>
|
5
trunk/dist/game/data/scripts/quests/Q10758_TheOathOfTheWind/33963-06.html
vendored
Normal file
5
trunk/dist/game/data/scripts/quests/Q10758_TheOathOfTheWind/33963-06.html
vendored
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
<html><body>Researcher Pio:<br>
|
||||||
|
Attack the Windima. I want to see what happens.<br>
|
||||||
|
Did it not appear? I'll summon again.<br>
|
||||||
|
<button align=LEFT icon=NORMAL action="bypass -h Quest Q10758_TheOathOfTheWind accept">"Summon it, and do it right."</button>
|
||||||
|
</body></html>
|
3
trunk/dist/game/data/scripts/quests/Q10758_TheOathOfTheWind/33963-restriction.html
vendored
Normal file
3
trunk/dist/game/data/scripts/quests/Q10758_TheOathOfTheWind/33963-restriction.html
vendored
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
<html><body>Research Pio:<br>
|
||||||
|
(Quest only available to Ertheia characters Lv. 28+ who have completed the quest "Quieting the Storm.")
|
||||||
|
</body></html>
|
167
trunk/dist/game/data/scripts/quests/Q10758_TheOathOfTheWind/Q10758_TheOathOfTheWind.java
vendored
Normal file
167
trunk/dist/game/data/scripts/quests/Q10758_TheOathOfTheWind/Q10758_TheOathOfTheWind.java
vendored
Normal file
@@ -0,0 +1,167 @@
|
|||||||
|
/*
|
||||||
|
* 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.Q10758_TheOathOfTheWind;
|
||||||
|
|
||||||
|
import com.l2jmobius.gameserver.ai.CtrlIntention;
|
||||||
|
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.holders.ItemHolder;
|
||||||
|
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.serverpackets.ExQuestNpcLogList;
|
||||||
|
import com.l2jmobius.gameserver.util.Util;
|
||||||
|
|
||||||
|
import quests.Q10757_QuietingTheStorm.Q10757_QuietingTheStorm;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The Oath of the Wind (10758)
|
||||||
|
* @author Stayway
|
||||||
|
*/
|
||||||
|
public class Q10758_TheOathOfTheWind extends Quest
|
||||||
|
{
|
||||||
|
// NPC
|
||||||
|
private static final int PIO = 33963;
|
||||||
|
// Monster
|
||||||
|
private static final int WINDIMA_CLONE = 27522;
|
||||||
|
// Items
|
||||||
|
private static final ItemHolder GUILD_COIN = new ItemHolder(37045, 7);
|
||||||
|
// Rewards
|
||||||
|
private static final int EXP_REWARD = 561645;
|
||||||
|
private static final int SP_REWARD = 134;
|
||||||
|
// Others
|
||||||
|
private static final int MIN_LEVEL = 28;
|
||||||
|
|
||||||
|
public Q10758_TheOathOfTheWind()
|
||||||
|
{
|
||||||
|
super(10758, Q10758_TheOathOfTheWind.class.getSimpleName(), "The Oath of the Wind");
|
||||||
|
addStartNpc(PIO);
|
||||||
|
addTalkId(PIO);
|
||||||
|
addKillId(WINDIMA_CLONE);
|
||||||
|
addCondMinLevel(MIN_LEVEL, "no_level.htm");
|
||||||
|
addCondRace(Race.ERTHEIA, "noErtheia.html");
|
||||||
|
addCondCompletedQuest(Q10757_QuietingTheStorm.class.getSimpleName(), "restriction.html");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
|
||||||
|
{
|
||||||
|
final QuestState qs = getQuestState(player, false);
|
||||||
|
if (qs == null)
|
||||||
|
{
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
String htmltext = null;
|
||||||
|
switch (event)
|
||||||
|
{
|
||||||
|
case "33963-02.htm":
|
||||||
|
case "33963-03.htm":
|
||||||
|
case "33963-04.htm":
|
||||||
|
{
|
||||||
|
htmltext = event;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case "accept": // start the quest
|
||||||
|
{
|
||||||
|
qs.startQuest();
|
||||||
|
qs.set(Integer.toString(WINDIMA_CLONE), 0);
|
||||||
|
npc = addSpawn(WINDIMA_CLONE, -93534, 89674, -3216, 0, false, 0, false, player.getInstanceId());
|
||||||
|
startQuestTimer("windima_despawn", 100000, null, player);
|
||||||
|
npc.getAI().setIntention(CtrlIntention.AI_INTENTION_ATTACK, player);
|
||||||
|
htmltext = event;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case "33963-05.htm":
|
||||||
|
{
|
||||||
|
if (qs.isCond(2))
|
||||||
|
{
|
||||||
|
giveItems(player, GUILD_COIN);
|
||||||
|
addExpAndSp(player, EXP_REWARD, SP_REWARD);
|
||||||
|
qs.unset(Integer.toString(WINDIMA_CLONE));
|
||||||
|
qs.exitQuest(false, true);
|
||||||
|
htmltext = event;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return htmltext;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String onTalk(L2Npc npc, L2PcInstance player)
|
||||||
|
{
|
||||||
|
final QuestState qs = getQuestState(player, true);
|
||||||
|
String htmltext = null;
|
||||||
|
switch (qs.getState())
|
||||||
|
{
|
||||||
|
case State.CREATED:
|
||||||
|
{
|
||||||
|
if (player.getRace() != Race.ERTHEIA)
|
||||||
|
{
|
||||||
|
htmltext = "noErtheia.html";
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
htmltext = "33963-01.htm";
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case State.STARTED:
|
||||||
|
{
|
||||||
|
if (qs.isCond(1))
|
||||||
|
{
|
||||||
|
htmltext = "33963-06.html";
|
||||||
|
}
|
||||||
|
else if (qs.isCond(2))
|
||||||
|
{
|
||||||
|
htmltext = "33963-04.html";
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case State.COMPLETED:
|
||||||
|
{
|
||||||
|
htmltext = getAlreadyCompletedMsg(player);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return htmltext;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
|
||||||
|
{
|
||||||
|
final QuestState qs = getRandomPartyMemberState(killer, -1, 3, npc);
|
||||||
|
if ((qs != null) && qs.isStarted() && qs.isCond(1) && (Util.checkIfInRange(1500, npc, qs.getPlayer(), false)))
|
||||||
|
{
|
||||||
|
int kills = qs.getInt(Integer.toString(WINDIMA_CLONE));
|
||||||
|
kills++;
|
||||||
|
qs.set(Integer.toString(WINDIMA_CLONE), kills);
|
||||||
|
|
||||||
|
final ExQuestNpcLogList log = new ExQuestNpcLogList(getId());
|
||||||
|
log.addNpc(WINDIMA_CLONE, qs.getInt(Integer.toString(WINDIMA_CLONE)));
|
||||||
|
killer.sendPacket(log);
|
||||||
|
|
||||||
|
if (qs.getInt(Integer.toString(WINDIMA_CLONE)) >= 1)
|
||||||
|
{
|
||||||
|
qs.setCond(2);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return super.onKill(npc, killer, isSummon);
|
||||||
|
}
|
||||||
|
}
|
3
trunk/dist/game/data/scripts/quests/Q10758_TheOathOfTheWind/noErtheia.html
vendored
Normal file
3
trunk/dist/game/data/scripts/quests/Q10758_TheOathOfTheWind/noErtheia.html
vendored
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
<html><body>Research Pio:<br>
|
||||||
|
You are not Ertheia, this quest is not for you.
|
||||||
|
</body></html>
|
3
trunk/dist/game/data/scripts/quests/Q10758_TheOathOfTheWind/no_level.htm
vendored
Normal file
3
trunk/dist/game/data/scripts/quests/Q10758_TheOathOfTheWind/no_level.htm
vendored
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
<html><body>You don't meet level requirements<br>
|
||||||
|
(Quest available from level 28+)
|
||||||
|
</body></html>
|
@@ -255,6 +255,7 @@ import quests.Q10746_SeeTheWorld.Q10746_SeeTheWorld;
|
|||||||
import quests.Q10755_LettersFromTheQueen_WindyHill.Q10755_LettersFromTheQueen_WindyHill;
|
import quests.Q10755_LettersFromTheQueen_WindyHill.Q10755_LettersFromTheQueen_WindyHill;
|
||||||
import quests.Q10756_AnInterdimensionalDraft.Q10756_AnInterdimensionalDraft;
|
import quests.Q10756_AnInterdimensionalDraft.Q10756_AnInterdimensionalDraft;
|
||||||
import quests.Q10757_QuietingTheStorm.Q10757_QuietingTheStorm;
|
import quests.Q10757_QuietingTheStorm.Q10757_QuietingTheStorm;
|
||||||
|
import quests.Q10758_TheOathOfTheWind.Q10758_TheOathOfTheWind;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author NosBit
|
* @author NosBit
|
||||||
@@ -500,7 +501,8 @@ public class QuestMasterHandler
|
|||||||
Q10746_SeeTheWorld.class,
|
Q10746_SeeTheWorld.class,
|
||||||
Q10755_LettersFromTheQueen_WindyHill.class,
|
Q10755_LettersFromTheQueen_WindyHill.class,
|
||||||
Q10756_AnInterdimensionalDraft.class,
|
Q10756_AnInterdimensionalDraft.class,
|
||||||
Q10757_QuietingTheStorm.class
|
Q10757_QuietingTheStorm.class,
|
||||||
|
Q10758_TheOathOfTheWind.class
|
||||||
};
|
};
|
||||||
|
|
||||||
public static void main(String[] args)
|
public static void main(String[] args)
|
||||||
|
21
trunk/dist/game/data/stats/npcs/27500-27599.xml
vendored
21
trunk/dist/game/data/stats/npcs/27500-27599.xml
vendored
@@ -505,18 +505,27 @@
|
|||||||
<height normal="22.5" />
|
<height normal="22.5" />
|
||||||
</collision>
|
</collision>
|
||||||
</npc>
|
</npc>
|
||||||
<npc id="27522" level="28" type="L2Npc" name="Windima" title="Clone">
|
<npc id="27522" level="28" type="L2Monster" name="Windima" title="Clone">
|
||||||
<!-- AUTO GENERATED NPC TODO: FIX IT -->
|
<parameters>
|
||||||
<race>HUMAN</race>
|
<param name="MoveAroundSocial" value="0" />
|
||||||
<sex>FEMALE</sex>
|
<param name="MoveAroundSocial1" value="0" />
|
||||||
|
<param name="MoveAroundSocial2" value="0" />
|
||||||
|
<skill name="DeBuff" id="4098" level="1" /> <!-- Silence -->
|
||||||
|
</parameters>
|
||||||
|
<race>ELEMENTAL</race>
|
||||||
|
<acquire exp="0" sp="0" />
|
||||||
<stats>
|
<stats>
|
||||||
<vitals hp="1881" hpRegen="7.5" mp="1345.8" mpRegen="2.7" />
|
<vitals hp="1881" hpRegen="3.5" mp="231" mpRegen="1.5" />
|
||||||
|
<attack physical="119.09" magical="35.77" random="50" critical="1" accuracy="9" attackSpeed="253" type="BLUNT" range="40" distance="80" width="120" />
|
||||||
|
<defence physical="144.948" magical="92.519" />
|
||||||
|
<attribute>
|
||||||
|
<defence fire="20" water="20" wind="20" earth="20" holy="20" dark="20" />
|
||||||
|
</attribute>
|
||||||
<speed>
|
<speed>
|
||||||
<walk ground="50" />
|
<walk ground="50" />
|
||||||
<run ground="120" />
|
<run ground="120" />
|
||||||
</speed>
|
</speed>
|
||||||
</stats>
|
</stats>
|
||||||
<status attackable="false" />
|
|
||||||
<collision>
|
<collision>
|
||||||
<radius normal="23" />
|
<radius normal="23" />
|
||||||
<height normal="90" />
|
<height normal="90" />
|
||||||
|
Reference in New Issue
Block a user