Quest The Oath of the Wind (10758).
Contributed by Stayway.
This commit is contained in:
parent
3d68c35fed
commit
36ba13be7a
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.Q10756_AnInterdimensionalDraft.Q10756_AnInterdimensionalDraft;
|
||||
import quests.Q10757_QuietingTheStorm.Q10757_QuietingTheStorm;
|
||||
import quests.Q10758_TheOathOfTheWind.Q10758_TheOathOfTheWind;
|
||||
|
||||
/**
|
||||
* @author NosBit
|
||||
@ -500,7 +501,8 @@ public class QuestMasterHandler
|
||||
Q10746_SeeTheWorld.class,
|
||||
Q10755_LettersFromTheQueen_WindyHill.class,
|
||||
Q10756_AnInterdimensionalDraft.class,
|
||||
Q10757_QuietingTheStorm.class
|
||||
Q10757_QuietingTheStorm.class,
|
||||
Q10758_TheOathOfTheWind.class
|
||||
};
|
||||
|
||||
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" />
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="27522" level="28" type="L2Npc" name="Windima" title="Clone">
|
||||
<!-- AUTO GENERATED NPC TODO: FIX IT -->
|
||||
<race>HUMAN</race>
|
||||
<sex>FEMALE</sex>
|
||||
<npc id="27522" level="28" type="L2Monster" name="Windima" title="Clone">
|
||||
<parameters>
|
||||
<param name="MoveAroundSocial" value="0" />
|
||||
<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>
|
||||
<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>
|
||||
<walk ground="50" />
|
||||
<run ground="120" />
|
||||
</speed>
|
||||
</stats>
|
||||
<status attackable="false" />
|
||||
<collision>
|
||||
<radius normal="23" />
|
||||
<height normal="90" />
|
||||
|
Loading…
Reference in New Issue
Block a user