Merged with released L2J-Unity files.
This commit is contained in:
5
trunk/dist/game/data/scripts/quests/Q10709_TheStolenSeed/33866-01.htm
vendored
Normal file
5
trunk/dist/game/data/scripts/quests/Q10709_TheStolenSeed/33866-01.htm
vendored
Normal file
@@ -0,0 +1,5 @@
|
||||
<html><body>Geographer Novain:<br>
|
||||
Good to see you again. After you killed Guardian Giant Akum last time, another researcher got here safely.<br>
|
||||
Apparently at the place you killed Akum, something weird was found.<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10709_TheStolenSeed 33866-02.htm">"What was it?"</Button>
|
||||
</body></html>
|
||||
5
trunk/dist/game/data/scripts/quests/Q10709_TheStolenSeed/33866-02.htm
vendored
Normal file
5
trunk/dist/game/data/scripts/quests/Q10709_TheStolenSeed/33866-02.htm
vendored
Normal file
@@ -0,0 +1,5 @@
|
||||
<html><body>Geographer Novain:<br>
|
||||
It was a fragment of his body that fell off as he died. I used magic to find out that the fragment had parts of Akum's memory.<br>
|
||||
So I have another favor to ask you.<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10709_TheStolenSeed 33866-03.htm">"Okay..."</Button>
|
||||
</body></html>
|
||||
6
trunk/dist/game/data/scripts/quests/Q10709_TheStolenSeed/33866-03.htm
vendored
Normal file
6
trunk/dist/game/data/scripts/quests/Q10709_TheStolenSeed/33866-03.htm
vendored
Normal file
@@ -0,0 +1,6 @@
|
||||
<html><body>Geographer Novain:<br>
|
||||
I was thinking perhaps we can find something inside Akum's memory.<br>
|
||||
This is just my guess: if we could see parts of Akum's memory, we may be able to figure out why the giants have changed and why they left us the message, 'Everyone with the power of gods must stop pretending to own it.'<br>
|
||||
Can you help me one more time?<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10709_TheStolenSeed 33866-04.htm">"Sure."</Button>
|
||||
</body></html>
|
||||
4
trunk/dist/game/data/scripts/quests/Q10709_TheStolenSeed/33866-04.htm
vendored
Normal file
4
trunk/dist/game/data/scripts/quests/Q10709_TheStolenSeed/33866-04.htm
vendored
Normal file
@@ -0,0 +1,4 @@
|
||||
<html><body>Geographer Novain:<br>
|
||||
Thank you! I think I can leave the investigation with you. I will give you a piece of Akum's Memory Fragment. Take this to the <font color="LEVEL">Forsaken Plains</font> where the <font color="LEVEL">Magic Circle Control Device</font> is.<br>
|
||||
By using the Magic Circle Control Device, you may be able to look into the memory of <font color="LEVEL">Akum's Memory Fragment</font> I'm not sure if it's possible, but I want you to try at least.
|
||||
</body></html>
|
||||
4
trunk/dist/game/data/scripts/quests/Q10709_TheStolenSeed/33866-05.html
vendored
Normal file
4
trunk/dist/game/data/scripts/quests/Q10709_TheStolenSeed/33866-05.html
vendored
Normal file
@@ -0,0 +1,4 @@
|
||||
<html><body>Geographer Novain:<br>
|
||||
Thank you! I think I can leave the investigation with you. I will give you a piece of Akum's Memory Fragment. Take this to the <font color="LEVEL">Forsaken Plains</font> where the <font color="LEVEL">Magic Circle Control Device</font> is.<br>
|
||||
By using the Magic Circle Control Device, you may be able to look into the memory of <font color="LEVEL">Akum's Memory Fragment</font> I'm not sure if it's possible, but I want you to try at least.
|
||||
</body></html>
|
||||
5
trunk/dist/game/data/scripts/quests/Q10709_TheStolenSeed/33866-06.html
vendored
Normal file
5
trunk/dist/game/data/scripts/quests/Q10709_TheStolenSeed/33866-06.html
vendored
Normal file
@@ -0,0 +1,5 @@
|
||||
<html><body>Geographer Novain:<br>
|
||||
Are you back?<br>
|
||||
Did you see anything through the Magic Circle Control Device?<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10709_TheStolenSeed 33866-07.html">"Let me tell you what I saw."</Button>
|
||||
</body></html>
|
||||
6
trunk/dist/game/data/scripts/quests/Q10709_TheStolenSeed/33866-07.html
vendored
Normal file
6
trunk/dist/game/data/scripts/quests/Q10709_TheStolenSeed/33866-07.html
vendored
Normal file
@@ -0,0 +1,6 @@
|
||||
<html><body>Geographer Novain:<br>
|
||||
Embryo used an Evil Fragment to curse Akum and steal the Kartia's Seed from him?<br>
|
||||
I see. So the Magic Circle Control Device worked as I predicted. <br>
|
||||
Anyway, Embryo... I didn't think the Evil Fragment had such a power. What exactly is Kartia's Seed and why did they steal it?<br>
|
||||
We only have questions. I have to report this now. Thank you for helping.
|
||||
</body></html>
|
||||
4
trunk/dist/game/data/scripts/quests/Q10709_TheStolenSeed/33866-08.htm
vendored
Normal file
4
trunk/dist/game/data/scripts/quests/Q10709_TheStolenSeed/33866-08.htm
vendored
Normal file
@@ -0,0 +1,4 @@
|
||||
<html><body>Geographer Novain:<br>
|
||||
The Forsaken Plains is where the lost relics of the giants are. It's a good place to find the traces of the times of the ancient giants.<br>
|
||||
(Quest only available for characters Lv. 58 to 60 who have completed "The Guardian Giant" quest.)
|
||||
</body></html>
|
||||
4
trunk/dist/game/data/scripts/quests/Q10709_TheStolenSeed/33961-01.html
vendored
Normal file
4
trunk/dist/game/data/scripts/quests/Q10709_TheStolenSeed/33961-01.html
vendored
Normal file
@@ -0,0 +1,4 @@
|
||||
<html><body>Magic Circle Control Device:<br>
|
||||
Nothing happens.<br>
|
||||
(You must be between Level 58 and 60 and in the Kartia's Seed quest.)
|
||||
</body></html>
|
||||
215
trunk/dist/game/data/scripts/quests/Q10709_TheStolenSeed/Q10709_TheStolenSeed.java
vendored
Normal file
215
trunk/dist/game/data/scripts/quests/Q10709_TheStolenSeed/Q10709_TheStolenSeed.java
vendored
Normal file
@@ -0,0 +1,215 @@
|
||||
/*
|
||||
* 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.Q10709_TheStolenSeed;
|
||||
|
||||
import com.l2jmobius.gameserver.enums.ChatType;
|
||||
import com.l2jmobius.gameserver.model.StatsSet;
|
||||
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 quests.Q10403_TheGuardianGiant.Q10403_TheGuardianGiant;
|
||||
|
||||
/**
|
||||
* The Stolen Seed (10709)
|
||||
* @author St3eT
|
||||
*/
|
||||
public final class Q10709_TheStolenSeed extends Quest
|
||||
{
|
||||
// NPCs
|
||||
private static final int NOVIAN = 33866;
|
||||
private static final int CONTROL_DEVICE = 33961; // Magic Circle Control Device
|
||||
private static final int REMEMBERED_AKUM = 27524; // Remembered Giant Akum
|
||||
private static final int REMEMBERED_EMBRYO = 27525; // Remembered Embryo
|
||||
private static final int CURSED_AKUM = 27520; // Cursed Giant Akum
|
||||
// Items
|
||||
private static final int FRAGMENT = 39511; // Normal Fragment
|
||||
private static final int MEMORY_FRAGMENT = 39510; // Akum's Memory Fragment
|
||||
private static final int EAB = 948; // Scroll: Enchant Armor (B-grade)
|
||||
// Misc
|
||||
private static final int MIN_LEVEL = 58;
|
||||
private static final int MAX_LEVEL = 61;
|
||||
|
||||
public Q10709_TheStolenSeed()
|
||||
{
|
||||
super(10709);
|
||||
addStartNpc(NOVIAN);
|
||||
addTalkId(NOVIAN, CONTROL_DEVICE);
|
||||
addKillId(CURSED_AKUM);
|
||||
registerQuestItems(FRAGMENT, MEMORY_FRAGMENT);
|
||||
addCondLevel(MIN_LEVEL, MAX_LEVEL, "33866-08.htm");
|
||||
addCondCompletedQuest(Q10403_TheGuardianGiant.class.getSimpleName(), "33866-08.htm");
|
||||
}
|
||||
|
||||
@Override
|
||||
public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
|
||||
{
|
||||
final QuestState st = getQuestState(player, false);
|
||||
|
||||
if (event.equals("action"))
|
||||
{
|
||||
if ((st != null) && st.isCond(1))
|
||||
{
|
||||
// Take items
|
||||
takeItems(player, MEMORY_FRAGMENT, -1);
|
||||
|
||||
// Spawn + chat
|
||||
final L2Npc akum = addSpawn(REMEMBERED_AKUM, npc.getX() + 100, npc.getY() + 100, npc.getZ(), 0, false, 0);
|
||||
akum.broadcastSay(ChatType.NPC_GENERAL, NpcStringId.ARGH_WHO_IS_HIDING_THERE);
|
||||
final L2Npc embryo = addSpawn(REMEMBERED_EMBRYO, akum.getX() + 100, akum.getY() + 100, akum.getZ(), 0, false, 0);
|
||||
embryo.broadcastSay(ChatType.NPC_GENERAL, NpcStringId.A_SMART_GIANT_HUH_WELL_HAND_IT_OVER_THE_KARTIA_S_SEED_IS_OURS);
|
||||
|
||||
// Attack + invul
|
||||
akum.reduceCurrentHp(1, embryo, null);
|
||||
embryo.reduceCurrentHp(1, akum, null); // TODO: Find better way for attack
|
||||
|
||||
embryo.setIsInvul(true);
|
||||
akum.setIsInvul(true);
|
||||
|
||||
getTimers().addTimer("EMBRYO_DELAY", 3000, embryo, player);
|
||||
}
|
||||
else
|
||||
{
|
||||
return "33961-01.html";
|
||||
}
|
||||
}
|
||||
|
||||
if (st == null)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
String htmltext = null;
|
||||
switch (event)
|
||||
{
|
||||
case "33866-02.htm":
|
||||
case "33866-03.htm":
|
||||
{
|
||||
htmltext = event;
|
||||
break;
|
||||
}
|
||||
case "33866-04.htm":
|
||||
{
|
||||
st.startQuest();
|
||||
htmltext = event;
|
||||
break;
|
||||
}
|
||||
case "33866-07.html":
|
||||
{
|
||||
if (st.isCond(3))
|
||||
{
|
||||
st.exitQuest(false, true);
|
||||
giveItems(player, EAB, 5);
|
||||
giveStoryQuestReward(player, 30);
|
||||
if (player.getLevel() >= MIN_LEVEL)
|
||||
{
|
||||
addExpAndSp(player, 731_010, 175);
|
||||
}
|
||||
htmltext = event;
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
return htmltext;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onTimerEvent(String event, StatsSet params, L2Npc npc, L2PcInstance player)
|
||||
{
|
||||
if (event.equals("EMBRYO_DELAY"))
|
||||
{
|
||||
final L2Npc akum = (L2Npc) npc.getTarget();
|
||||
final QuestState st = getQuestState(player, true);
|
||||
|
||||
if ((akum != null) && (st != null))
|
||||
{
|
||||
st.setCond(2, true);
|
||||
npc.broadcastSay(ChatType.NPC_GENERAL, NpcStringId.KARTIA_S_SEED_GOT_IT);
|
||||
akum.broadcastSay(ChatType.NPC_GENERAL, NpcStringId.ARGHH);
|
||||
npc.broadcastSay(ChatType.NPC_GENERAL, NpcStringId.YOU_WORTHLESS_GIANT_CURSE_YOU_FOR_ETERNITY);
|
||||
addSpawn(CURSED_AKUM, akum);
|
||||
npc.deleteMe();
|
||||
akum.deleteMe();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public String onTalk(L2Npc npc, L2PcInstance player)
|
||||
{
|
||||
String htmltext = getNoQuestMsg(player);
|
||||
final QuestState st = getQuestState(player, true);
|
||||
|
||||
switch (st.getState())
|
||||
{
|
||||
case State.CREATED:
|
||||
{
|
||||
if (npc.getId() == NOVIAN)
|
||||
{
|
||||
htmltext = "33866-01.htm";
|
||||
}
|
||||
break;
|
||||
}
|
||||
case State.STARTED:
|
||||
{
|
||||
if (npc.getId() == NOVIAN)
|
||||
{
|
||||
switch (st.getCond())
|
||||
{
|
||||
case 1:
|
||||
case 2:
|
||||
{
|
||||
htmltext = "33866-05.html";
|
||||
break;
|
||||
}
|
||||
case 3:
|
||||
{
|
||||
htmltext = "33866-06.html";
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
case State.COMPLETED:
|
||||
{
|
||||
if (npc.getId() == NOVIAN)
|
||||
{
|
||||
htmltext = getAlreadyCompletedMsg(player);
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
return htmltext;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
|
||||
{
|
||||
final QuestState st = getQuestState(killer, false);
|
||||
|
||||
if ((st != null) && st.isStarted() && st.isCond(2))
|
||||
{
|
||||
st.setCond(3, true);
|
||||
giveItems(killer, FRAGMENT, 1);
|
||||
}
|
||||
return super.onKill(npc, killer, isSummon);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user