Addition of quests 10355, 10356, 10373 and 10535.
Contributed by Sero.
This commit is contained in:
parent
dd9611da9c
commit
6a0c709977
@ -49,7 +49,6 @@
|
||||
940 Hunter Guild Request - Atelia Fortress
|
||||
10298 Wasteland Queen
|
||||
10357 Altar of Blood that Awakens Destruction
|
||||
10373 Exploring the Dimension - Sealing the Dimension
|
||||
10396 Witch of Spores
|
||||
10506 Diana's Request
|
||||
10712 The Minstrel's Song, Part 1
|
||||
|
@ -0,0 +1,3 @@
|
||||
<html><body>Beola:<br>
|
||||
You have completed the quest.<br>
|
||||
</body></html>
|
@ -0,0 +1,3 @@
|
||||
<html><body>Beola:<br>
|
||||
It's a fortunate thing that such a skilled adventurer as yourself has committed to making yourself available to the cause. Here is your mission.
|
||||
</body></html>
|
@ -0,0 +1,5 @@
|
||||
<html><body>Beloa:<br>
|
||||
You need 30 of the Renants of the Rift item in order to seal the Dimensional Rift..<br>
|
||||
Are you strong enough to collect 30 Remnant of the Rift for me?<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10373_ExploringTheDimensionSealingTheDimension 34227-04.htm">"Yes I'm."</Button>
|
||||
</body></html>
|
@ -0,0 +1,3 @@
|
||||
<html><body>Beola:<br>
|
||||
Not done yet.
|
||||
</body></html>
|
@ -0,0 +1,107 @@
|
||||
/*
|
||||
* 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.Q10373_ExploringTheDimensionSealingTheDimension;
|
||||
|
||||
import org.l2jmobius.gameserver.enums.QuestType;
|
||||
import org.l2jmobius.gameserver.model.actor.Npc;
|
||||
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
|
||||
import org.l2jmobius.gameserver.model.quest.Quest;
|
||||
import org.l2jmobius.gameserver.model.quest.QuestState;
|
||||
import org.l2jmobius.gameserver.model.quest.State;
|
||||
|
||||
/**
|
||||
* @author Sero
|
||||
*/
|
||||
public class Q10373_ExploringTheDimensionSealingTheDimension extends Quest
|
||||
{
|
||||
private static final int BELOA = 34227;
|
||||
private static final int RUNE_STONE = 39738;
|
||||
private static final int COMMANDO_BELT = 47044;
|
||||
private static final int REMNANT_OF_THE_RIFT = 46787;
|
||||
private static final int ZODIAC_AGATHION = 45577;
|
||||
private static final int MIN_LEVEL = 95;
|
||||
|
||||
public Q10373_ExploringTheDimensionSealingTheDimension()
|
||||
{
|
||||
super(10373);
|
||||
addStartNpc(BELOA);
|
||||
addTalkId(BELOA);
|
||||
addCondMinLevel(MIN_LEVEL, getNoQuestMsg(null));
|
||||
}
|
||||
|
||||
@Override
|
||||
public String onAdvEvent(String event, Npc npc, PlayerInstance player)
|
||||
{
|
||||
String htmltext = null;
|
||||
final QuestState qs = getQuestState(player, false);
|
||||
if (qs == null)
|
||||
{
|
||||
return getNoQuestMsg(player);
|
||||
}
|
||||
if (event.equals("34227-04.htm"))
|
||||
{
|
||||
qs.startQuest();
|
||||
htmltext = event;
|
||||
}
|
||||
return htmltext;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String onTalk(Npc npc, PlayerInstance player)
|
||||
{
|
||||
final QuestState qs = getQuestState(player, true);
|
||||
String htmltext = getNoQuestMsg(player);
|
||||
if (npc.getId() == BELOA)
|
||||
{
|
||||
switch (qs.getState())
|
||||
{
|
||||
case State.CREATED:
|
||||
{
|
||||
htmltext = "34227-05.htm";
|
||||
break;
|
||||
}
|
||||
case State.STARTED:
|
||||
{
|
||||
if (getQuestItemsCount(player, REMNANT_OF_THE_RIFT) >= 30)
|
||||
{
|
||||
takeItems(player, REMNANT_OF_THE_RIFT, -1);
|
||||
giveItems(player, COMMANDO_BELT, 1);
|
||||
giveItems(player, ZODIAC_AGATHION, 1);
|
||||
giveItems(player, RUNE_STONE, 1);
|
||||
addExpAndSp(player, 12113489880L, 12113460);
|
||||
qs.exitQuest(QuestType.ONE_TIME);
|
||||
htmltext = "30756-09.html";
|
||||
}
|
||||
else
|
||||
{
|
||||
htmltext = "34227-05a.htm";
|
||||
}
|
||||
break;
|
||||
}
|
||||
case State.COMPLETED:
|
||||
{
|
||||
if (!qs.isNowAvailable())
|
||||
{
|
||||
htmltext = "34227-00a.htm";
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return htmltext;
|
||||
}
|
||||
}
|
@ -283,6 +283,7 @@ import quests.Q10369_NoblesseSoulTesting.Q10369_NoblesseSoulTesting;
|
||||
import quests.Q10370_MenacingTimes.Q10370_MenacingTimes;
|
||||
import quests.Q10371_GraspThyPower.Q10371_GraspThyPower;
|
||||
import quests.Q10372_PurgatoryVolvere.Q10372_PurgatoryVolvere;
|
||||
import quests.Q10373_ExploringTheDimensionSealingTheDimension.Q10373_ExploringTheDimensionSealingTheDimension;
|
||||
import quests.Q10374_ThatPlaceSuccubus.Q10374_ThatPlaceSuccubus;
|
||||
import quests.Q10375_SuccubusDisciples.Q10375_SuccubusDisciples;
|
||||
import quests.Q10376_BloodyGoodTime.Q10376_BloodyGoodTime;
|
||||
@ -518,7 +519,6 @@ import quests.not_done.Q00929_SeekerRescue;
|
||||
import quests.not_done.Q00938_TheFishermansOtherHobby;
|
||||
import quests.not_done.Q10298_WastelandQueen;
|
||||
import quests.not_done.Q10357_AltarOfBloodThatAwakensDestruction;
|
||||
import quests.not_done.Q10373_ExploringTheDimensionSealingTheDimension;
|
||||
import quests.not_done.Q10396_WitchOfSpores;
|
||||
import quests.not_done.Q10506_DianasRequest;
|
||||
import quests.not_done.Q10748_MysteriousSuggestion1;
|
||||
@ -835,7 +835,7 @@ public class QuestMasterHandler
|
||||
Q10370_MenacingTimes.class,
|
||||
Q10371_GraspThyPower.class,
|
||||
Q10372_PurgatoryVolvere.class,
|
||||
Q10373_ExploringTheDimensionSealingTheDimension.class, // TODO: Not done.
|
||||
Q10373_ExploringTheDimensionSealingTheDimension.class,
|
||||
Q10374_ThatPlaceSuccubus.class,
|
||||
Q10375_SuccubusDisciples.class,
|
||||
Q10376_BloodyGoodTime.class,
|
||||
|
@ -1,36 +0,0 @@
|
||||
/*
|
||||
* 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.not_done;
|
||||
|
||||
import org.l2jmobius.Config;
|
||||
import org.l2jmobius.gameserver.model.quest.Quest;
|
||||
|
||||
/**
|
||||
* @author Mobius
|
||||
*/
|
||||
public class Q10373_ExploringTheDimensionSealingTheDimension extends Quest
|
||||
{
|
||||
private static final int START_NPC = 34227;
|
||||
|
||||
public Q10373_ExploringTheDimensionSealingTheDimension()
|
||||
{
|
||||
super(10373);
|
||||
addStartNpc(START_NPC);
|
||||
addTalkId(START_NPC);
|
||||
addCondMinLevel(Config.PLAYER_MAXIMUM_LEVEL, getNoQuestMsg(null));
|
||||
}
|
||||
}
|
@ -1,4 +1,3 @@
|
||||
504 Competition for the Bandit Stronghold
|
||||
655 A Grand Plan for Taming Wild Beasts
|
||||
667 How to Cover Shilen's Eyes
|
||||
690 |Attack| Begin Alliance Base Defense - 1
|
||||
@ -104,13 +103,9 @@
|
||||
988 Adventure Guild's Special Request - Lv. 4
|
||||
989 Adventure Guild's Special Request - Lv. 5
|
||||
10298 Wasteland Queen
|
||||
10355 Blacksmith's Soul-awakening Weapon - 1
|
||||
10356 Blacksmith's Soul-awakening Weapon - 2
|
||||
10373 Exploring the Dimension - Sealing the Dimension
|
||||
10396 Witch of Spores
|
||||
10423 Embryo Stronghold Ambush
|
||||
10506 Diana's Request
|
||||
10535 Blacksmith's Soul-awakening Weapon - 3
|
||||
10712 The Minstrel's Song, Part 1
|
||||
10717 The Minstrel's Song, Part 2
|
||||
10720 The Minstrel's Song, Part 3
|
||||
|
@ -0,0 +1,3 @@
|
||||
<html><body>Taboy:<br>
|
||||
Hello now Go ahead and talk with <font color="LEVEL">Legendary Blacksmith Shadai</font> in <font color="LEVEL">Heine</font>!<br>
|
||||
</body></html>
|
@ -0,0 +1,3 @@
|
||||
<html><body>Mammon:<br>
|
||||
You have made a great work now you go to <font color="LEVEL">Nightmare Kamaloka</font> and defeat 5 of <font color="LEVEL">Dark Rider</font> then go to <font color="LEVEL">Command Post</font> and defeat 5 of <font color="LEVEL"> Burnstein (Command Post)</font><br>
|
||||
</body></html>
|
@ -0,0 +1,3 @@
|
||||
<html><body>Mammon:<br>
|
||||
You have made a great work now you go to <font color="LEVEL"> Enchanted Valley</font> and defeat 3000 of them.
|
||||
</body></html>
|
@ -0,0 +1,3 @@
|
||||
<html><body>Mammon:<br>
|
||||
You need to defeat 5 of <font color="LEVEL">Dark Rider</font> then go to <font color="LEVEL">Command Post</font> and defeat 5 of <font color="LEVEL"> Burnstein (Command Post)</font> and bring me 5 <font color="LEVEL"> Shadow ingot</font>.
|
||||
</body></html>
|
@ -0,0 +1,3 @@
|
||||
<html><body>Mammon:<br>
|
||||
Congratulations you have complate the challenge now you're able to take the next challenge <font color="LEVEL"> Blacksmiths Soul part 2 </font> and bring me 5 Shadow ingot.<br>
|
||||
</body></html>
|
@ -0,0 +1,3 @@
|
||||
<html><body>Shadai:<br>
|
||||
Hello now go ahead and talk with <font color="LEVEL">Maestro Ishuma</font> at <font color="LEVEL">Wharf of Gludio Airships</font>!<br>
|
||||
</body></html>
|
@ -0,0 +1,3 @@
|
||||
<html><body>Shadai:<br>
|
||||
Hello now Go ahead and talk with <font color="LEVEL">Blacksmith of Mammon</font> at <font color="LEVEL">Aden</font> or <font color="LEVEL">Giran</font>!<br>
|
||||
</body></html>
|
@ -0,0 +1,4 @@
|
||||
<html><body>Neti:<br>
|
||||
This will be long way !<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10355_BlacksmithsSoul1 34095-01.htm">"Okay."</Button>
|
||||
</body></html>
|
@ -0,0 +1,3 @@
|
||||
<html><body>Neti:<br>
|
||||
Great you choose to take the challenge Go ahead and talk with <font color="LEVEL">Head Blacksmith Tapoy</font> in <font color="LEVEL">Gludin </font>!<br>
|
||||
</body></html>
|
@ -0,0 +1,320 @@
|
||||
/*
|
||||
* 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.Q10355_BlacksmithsSoul1;
|
||||
|
||||
import java.util.HashSet;
|
||||
import java.util.Set;
|
||||
|
||||
import org.l2jmobius.gameserver.enums.QuestSound;
|
||||
import org.l2jmobius.gameserver.model.actor.Npc;
|
||||
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
|
||||
import org.l2jmobius.gameserver.model.holders.NpcLogListHolder;
|
||||
import org.l2jmobius.gameserver.model.quest.Quest;
|
||||
import org.l2jmobius.gameserver.model.quest.QuestState;
|
||||
import org.l2jmobius.gameserver.model.quest.State;
|
||||
import org.l2jmobius.gameserver.network.NpcStringId;
|
||||
|
||||
/**
|
||||
* @author Sero
|
||||
*/
|
||||
public class Q10355_BlacksmithsSoul1 extends Quest
|
||||
{
|
||||
// NPC
|
||||
private static final int NETI = 34095;
|
||||
private static final int TAPOY = 30499;
|
||||
private static final int SHADAI = 32347;
|
||||
private static final int ISHUMA = 32615;
|
||||
private static final int MERCHANT_OF_MAMMON = 31126;
|
||||
// Items
|
||||
private static final int SHADOW_INGOT = 46395;
|
||||
|
||||
// Monsters
|
||||
private static final int BURNSTEIN = 23587;
|
||||
private static final int DARK_RIDER = 26102;
|
||||
private static final int[] NYMPH_MONSTERS =
|
||||
{
|
||||
23569, // Nymph Lily
|
||||
23583, // Nymph Lily big
|
||||
23573, // Nymph Cosmos
|
||||
23567, // Nymph Rose
|
||||
23578, // Nymph Guardian
|
||||
23570, // Nymph Tulip
|
||||
19600, // Flower Bud
|
||||
23581, // Apherus
|
||||
};
|
||||
// Misc
|
||||
private static final int MIN_LEVEL = 99;
|
||||
private static final String KILL_COUNT_VAR = "KillCount";
|
||||
|
||||
public Q10355_BlacksmithsSoul1()
|
||||
{
|
||||
super(10355);
|
||||
addStartNpc(NETI);
|
||||
addTalkId(NETI, TAPOY, SHADAI, ISHUMA, MERCHANT_OF_MAMMON);
|
||||
registerQuestItems(SHADOW_INGOT);
|
||||
addKillId(DARK_RIDER);
|
||||
addKillId(BURNSTEIN);
|
||||
addKillId(NYMPH_MONSTERS);
|
||||
addCondMinLevel(MIN_LEVEL, getNoQuestMsg(null));
|
||||
}
|
||||
|
||||
@Override
|
||||
public String onAdvEvent(String event, Npc npc, PlayerInstance player)
|
||||
{
|
||||
String htmltext = null;
|
||||
final QuestState qs = getQuestState(player, false);
|
||||
if (qs == null)
|
||||
{
|
||||
return getNoQuestMsg(player);
|
||||
}
|
||||
if (event.equals("34095-01.htm"))
|
||||
{
|
||||
qs.startQuest();
|
||||
htmltext = event;
|
||||
}
|
||||
return htmltext;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String onTalk(Npc npc, PlayerInstance player)
|
||||
{
|
||||
final QuestState qs = getQuestState(player, true);
|
||||
String htmltext = getNoQuestMsg(player);
|
||||
switch (npc.getId())
|
||||
{
|
||||
case NETI:
|
||||
{
|
||||
switch (qs.getState())
|
||||
{
|
||||
case State.CREATED:
|
||||
{
|
||||
htmltext = "34095-00.htm";
|
||||
break;
|
||||
}
|
||||
case State.STARTED:
|
||||
{
|
||||
htmltext = "30756-09.html";
|
||||
break;
|
||||
}
|
||||
case State.COMPLETED:
|
||||
{
|
||||
if (!qs.isNowAvailable())
|
||||
{
|
||||
htmltext = "34227-00a.htm";
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
case TAPOY:
|
||||
{
|
||||
switch (qs.getState())
|
||||
{
|
||||
case State.STARTED:
|
||||
{
|
||||
if (qs.isCond(1))
|
||||
{
|
||||
htmltext = "30499-00.htm";
|
||||
qs.setCond(2);
|
||||
}
|
||||
else
|
||||
{
|
||||
htmltext = "30499-00.htm";
|
||||
}
|
||||
break;
|
||||
}
|
||||
case State.COMPLETED:
|
||||
{
|
||||
if (!qs.isNowAvailable())
|
||||
{
|
||||
htmltext = "34227-00a.htm";
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
case SHADAI:
|
||||
{
|
||||
switch (qs.getState())
|
||||
{
|
||||
case State.STARTED:
|
||||
{
|
||||
if (qs.isCond(2))
|
||||
{
|
||||
htmltext = "32347-00.htm";
|
||||
qs.setCond(3);
|
||||
}
|
||||
else
|
||||
{
|
||||
htmltext = "32347-00.htm";
|
||||
}
|
||||
break;
|
||||
}
|
||||
case State.COMPLETED:
|
||||
{
|
||||
if (!qs.isNowAvailable())
|
||||
{
|
||||
htmltext = "34227-00a.htm";
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
case ISHUMA:
|
||||
{
|
||||
switch (qs.getState())
|
||||
{
|
||||
case State.STARTED:
|
||||
{
|
||||
if (qs.isCond(3))
|
||||
{
|
||||
htmltext = "32615-00.htm";
|
||||
qs.setCond(4);
|
||||
}
|
||||
else
|
||||
{
|
||||
htmltext = "32615-00.htm";
|
||||
}
|
||||
break;
|
||||
}
|
||||
case State.COMPLETED:
|
||||
{
|
||||
if (!qs.isNowAvailable())
|
||||
{
|
||||
htmltext = "34227-00a.htm";
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
case MERCHANT_OF_MAMMON:
|
||||
{
|
||||
switch (qs.getState())
|
||||
{
|
||||
case State.STARTED:
|
||||
{
|
||||
if (qs.isCond(4))
|
||||
{
|
||||
htmltext = "31126-00.htm";
|
||||
qs.setCond(5);
|
||||
}
|
||||
else if (qs.isCond(5))
|
||||
{
|
||||
htmltext = "31126-00.htm";
|
||||
}
|
||||
else if (qs.isCond(6) && (getQuestItemsCount(player, SHADOW_INGOT) >= 5))
|
||||
{
|
||||
takeItems(player, SHADOW_INGOT, 5);
|
||||
htmltext = "31126-01.htm";
|
||||
qs.setCond(7);
|
||||
}
|
||||
else if (qs.isCond(8))
|
||||
{
|
||||
htmltext = "31126-03.htm";
|
||||
addExpAndSp(player, 26918866543L, 24226979);
|
||||
qs.exitQuest(false, true);
|
||||
}
|
||||
else
|
||||
{
|
||||
htmltext = "31126-02.htm";
|
||||
}
|
||||
break;
|
||||
}
|
||||
case State.COMPLETED:
|
||||
{
|
||||
if (!qs.isNowAvailable())
|
||||
{
|
||||
htmltext = "34227-00a.htm";
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
return htmltext;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void actionForEachPlayer(PlayerInstance player, Npc npc, boolean isSummon)
|
||||
{
|
||||
final QuestState qs = getQuestState(player, false);
|
||||
if ((qs != null) && qs.isCond(5))
|
||||
{
|
||||
final int killedCount = qs.getInt(Integer.toString(npc.getId()));
|
||||
if (killedCount < 5)
|
||||
{
|
||||
qs.set(Integer.toString(npc.getId()), killedCount + 1);
|
||||
}
|
||||
|
||||
final int killedRessurected = qs.getInt(Integer.toString(DARK_RIDER));
|
||||
final int killedLunatic = qs.getInt(Integer.toString(BURNSTEIN));
|
||||
if ((killedLunatic == 5) && (killedRessurected == 5))
|
||||
{
|
||||
qs.setCond(6, true);
|
||||
}
|
||||
}
|
||||
else if ((qs != null) && qs.isCond(7))
|
||||
{
|
||||
int count = qs.getInt(KILL_COUNT_VAR);
|
||||
qs.set(KILL_COUNT_VAR, ++count);
|
||||
if (count >= 3000)
|
||||
{
|
||||
qs.setCond(8, true);
|
||||
}
|
||||
else
|
||||
{
|
||||
playSound(player, QuestSound.ITEMSOUND_QUEST_ITEMGET);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public String onKill(Npc npc, PlayerInstance player, boolean isSummon)
|
||||
{
|
||||
executeForEachPlayer(player, npc, isSummon, true, false);
|
||||
return super.onKill(npc, player, isSummon);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Set<NpcLogListHolder> getNpcLogList(PlayerInstance player)
|
||||
{
|
||||
final QuestState qs = getQuestState(player, false);
|
||||
if ((qs != null) && qs.isCond(5))
|
||||
{
|
||||
final Set<NpcLogListHolder> npcLogList = new HashSet<>(2);
|
||||
npcLogList.add(new NpcLogListHolder(DARK_RIDER, false, qs.getInt(Integer.toString(DARK_RIDER))));
|
||||
npcLogList.add(new NpcLogListHolder(NpcStringId.DEFEAT_COMMANDER_BURNSTEIN_2, qs.getInt(Integer.toString(BURNSTEIN))));
|
||||
return npcLogList;
|
||||
}
|
||||
else if ((qs != null) && qs.isCond(7))
|
||||
{
|
||||
final int killCount = qs.getInt(KILL_COUNT_VAR);
|
||||
if (killCount > 0)
|
||||
{
|
||||
final Set<NpcLogListHolder> holder = new HashSet<>();
|
||||
holder.add(new NpcLogListHolder(NpcStringId.DEFEAT_MONSTERS_IN_THE_ENCHANTED_VALLEY_2, killCount));
|
||||
return holder;
|
||||
}
|
||||
}
|
||||
return super.getNpcLogList(player);
|
||||
}
|
||||
}
|
@ -0,0 +1,4 @@
|
||||
<html><body>Mammon:<br>
|
||||
Now the next part of your challenge is to bring me <font color="LEVEL">Improved Shadow Ingot</font>.<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10356_BlacksmithsSoul2 31126-01.htm">"Okay Let's go."</Button>
|
||||
</body></html>
|
@ -0,0 +1,3 @@
|
||||
<html><body>Mammon:<br>
|
||||
When you have <font color="LEVEL">Improved Shadow Ingot</font> come back to me.
|
||||
</body></html>
|
@ -0,0 +1,3 @@
|
||||
<html><body>Mammon:<br>
|
||||
You need to complete Blacksmiths Soul - Part 1 first.
|
||||
</body></html>
|
@ -0,0 +1,4 @@
|
||||
<html><body>Mammon:<br>
|
||||
Do you have the <font color="LEVEL">Improved Shadow Ingot</font>?<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10356_BlacksmithsSoul2 31126-04.htm">"Yes take it."</Button>
|
||||
</body></html>
|
@ -0,0 +1,3 @@
|
||||
<html><body>Mammon:<br>
|
||||
Do you have the <font color="LEVEL">Improved Shadow Ingot</font>?
|
||||
</body></html>
|
@ -0,0 +1,3 @@
|
||||
<html><body>Mammon:<br>
|
||||
Good job now bring me a Shadow weapon that you don't want so I can make my research.
|
||||
</body></html>
|
13
L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10356_BlacksmithsSoul2/31126-05.htm
vendored
Normal file
13
L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10356_BlacksmithsSoul2/31126-05.htm
vendored
Normal file
@ -0,0 +1,13 @@
|
||||
<html><body>Mammon:<br>
|
||||
Choose the weapon that you don't need to I can make my research on it "Warning! The weapon will not be returned to you" <br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10356_BlacksmithsSoul2 SHADOW_WEAPON_1">"Shadow Shaper."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10356_BlacksmithsSoul2 SHADOW_WEAPON_2">"Shadow Cutter."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10356_BlacksmithsSoul2 SHADOW_WEAPON_3">"Shadow Slasher."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10356_BlacksmithsSoul2 SHADOW_WEAPON_4">"Shadow Fighter."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10356_BlacksmithsSoul2 SHADOW_WEAPON_5">"Shadow Stormer."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10356_BlacksmithsSoul2 SHADOW_WEAPON_6">"Shadow Thrower."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10356_BlacksmithsSoul2 SHADOW_WEAPON_7">"Shadow Shooter."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10356_BlacksmithsSoul2 SHADOW_WEAPON_8">"Shadow Buster."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10356_BlacksmithsSoul2 SHADOW_WEAPON_9">"Shadow Retributer."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10356_BlacksmithsSoul2 SHADOW_WEAPON_10">"Shadow Dual Sword."</Button>
|
||||
</body></html>
|
@ -0,0 +1,3 @@
|
||||
<html><body>Mammon:<br>
|
||||
Great work! Now take this weapon, upgrade it to +7 and bring it back to me.
|
||||
</body></html>
|
@ -0,0 +1,4 @@
|
||||
<html><body>Mammon:<br>
|
||||
Nice now hand me the weapon let me do my research.<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10356_BlacksmithsSoul2 RESEARCH_Shadow_WEAPON7">"Take it."</Button>
|
||||
</body></html>
|
@ -0,0 +1,3 @@
|
||||
<html><body>Mammon:<br>
|
||||
It's hard work but please enchant my the weapon to +7.
|
||||
</body></html>
|
@ -0,0 +1,3 @@
|
||||
<html><body>Mammon:<br>
|
||||
You have done good so far now you can take your reward and be ready for the next challenge. Have a great day.
|
||||
</body></html>
|
@ -0,0 +1,3 @@
|
||||
<html><body>Shadai:<br>
|
||||
I agreed to take a part in the research.
|
||||
</body></html>
|
@ -0,0 +1,3 @@
|
||||
<html><body>Ishuma:<br>
|
||||
I agreed to take a part in the research.
|
||||
</body></html>
|
@ -0,0 +1,371 @@
|
||||
/*
|
||||
* 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.Q10356_BlacksmithsSoul2;
|
||||
|
||||
import java.util.HashSet;
|
||||
import java.util.Set;
|
||||
|
||||
import org.l2jmobius.gameserver.model.actor.Npc;
|
||||
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
|
||||
import org.l2jmobius.gameserver.model.holders.NpcLogListHolder;
|
||||
import org.l2jmobius.gameserver.model.quest.Quest;
|
||||
import org.l2jmobius.gameserver.model.quest.QuestState;
|
||||
import org.l2jmobius.gameserver.model.quest.State;
|
||||
import org.l2jmobius.gameserver.network.NpcStringId;
|
||||
|
||||
import quests.Q10355_BlacksmithsSoul1.Q10355_BlacksmithsSoul1;
|
||||
|
||||
/**
|
||||
* @author Sero
|
||||
*/
|
||||
public class Q10356_BlacksmithsSoul2 extends Quest
|
||||
{
|
||||
// NPCs
|
||||
private static final int BLACKSMITH_MAMMON = 31126;
|
||||
private static final int SHADAI = 32347;
|
||||
private static final int ISHUMA = 32615;
|
||||
// Items
|
||||
private static final int Improved_SHADOW_Ingot = 47896;
|
||||
private static final int RESEARCH_SHADOW_WEAPON = 47890;
|
||||
private static final int SHADOW_WEAPON_1 = 46317;
|
||||
private static final int SHADOW_WEAPON_2 = 46318;
|
||||
private static final int SHADOW_WEAPON_3 = 46319;
|
||||
private static final int SHADOW_WEAPON_4 = 46320;
|
||||
private static final int SHADOW_WEAPON_5 = 46321;
|
||||
private static final int SHADOW_WEAPON_6 = 46322;
|
||||
private static final int SHADOW_WEAPON_7 = 46323;
|
||||
private static final int SHADOW_WEAPON_8 = 46324;
|
||||
private static final int SHADOW_WEAPON_9 = 46325;
|
||||
private static final int SHADOW_WEAPON_10 = 46326;
|
||||
private static final int SHADOW_CRYSTAL = 47899;
|
||||
private static final int MAIN_LEVEL = 99;
|
||||
|
||||
public Q10356_BlacksmithsSoul2()
|
||||
{
|
||||
super(10356);
|
||||
addStartNpc(BLACKSMITH_MAMMON);
|
||||
addTalkId(BLACKSMITH_MAMMON, SHADAI, ISHUMA);
|
||||
addCondCompletedQuest(Q10355_BlacksmithsSoul1.class.getSimpleName(), "31126-02.htm");
|
||||
addCondMinLevel(MAIN_LEVEL, getNoQuestMsg(null));
|
||||
registerQuestItems(Improved_SHADOW_Ingot, SHADOW_WEAPON_1, SHADOW_WEAPON_2, SHADOW_WEAPON_3, SHADOW_WEAPON_4, SHADOW_WEAPON_5, SHADOW_WEAPON_6, SHADOW_WEAPON_7, SHADOW_WEAPON_8, SHADOW_WEAPON_9, SHADOW_WEAPON_10, RESEARCH_SHADOW_WEAPON);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String onAdvEvent(String event, Npc npc, PlayerInstance player)
|
||||
{
|
||||
String htmltext = null;
|
||||
final QuestState qs = getQuestState(player, false);
|
||||
if (qs == null)
|
||||
{
|
||||
return getNoQuestMsg(player);
|
||||
}
|
||||
switch (event)
|
||||
{
|
||||
case "31126-01.htm":
|
||||
{
|
||||
qs.startQuest();
|
||||
htmltext = event;
|
||||
break;
|
||||
}
|
||||
case "31126-04.htm":
|
||||
{
|
||||
if (hasQuestItems(player, Improved_SHADOW_Ingot))
|
||||
{
|
||||
takeItems(player, Improved_SHADOW_Ingot, 1);
|
||||
qs.setCond(2);
|
||||
htmltext = event;
|
||||
}
|
||||
else
|
||||
{
|
||||
htmltext = "31126-03r.htm";
|
||||
}
|
||||
break;
|
||||
}
|
||||
case "SHADOW_WEAPON_1":
|
||||
{
|
||||
if (hasQuestItems(player, SHADOW_WEAPON_1))
|
||||
{
|
||||
takeItems(player, SHADOW_WEAPON_1, 1);
|
||||
giveItems(player, RESEARCH_SHADOW_WEAPON, 1);
|
||||
htmltext = "31126-06.htm";
|
||||
qs.setCond(3);
|
||||
}
|
||||
break;
|
||||
}
|
||||
case "SHADOW_WEAPON_2":
|
||||
{
|
||||
if (hasQuestItems(player, SHADOW_WEAPON_2))
|
||||
{
|
||||
takeItems(player, SHADOW_WEAPON_2, 1);
|
||||
giveItems(player, RESEARCH_SHADOW_WEAPON, 1);
|
||||
htmltext = "31126-06.htm";
|
||||
qs.setCond(3);
|
||||
}
|
||||
break;
|
||||
}
|
||||
case "SHADOW_WEAPON_3":
|
||||
{
|
||||
if (hasQuestItems(player, SHADOW_WEAPON_3))
|
||||
{
|
||||
takeItems(player, SHADOW_WEAPON_3, 1);
|
||||
giveItems(player, RESEARCH_SHADOW_WEAPON, 1);
|
||||
htmltext = "31126-06.htm";
|
||||
qs.setCond(3);
|
||||
}
|
||||
break;
|
||||
}
|
||||
case "SHADOW_WEAPON_4":
|
||||
{
|
||||
if (hasQuestItems(player, SHADOW_WEAPON_4))
|
||||
{
|
||||
takeItems(player, SHADOW_WEAPON_4, 1);
|
||||
giveItems(player, RESEARCH_SHADOW_WEAPON, 1);
|
||||
htmltext = "31126-06.htm";
|
||||
qs.setCond(3);
|
||||
}
|
||||
break;
|
||||
}
|
||||
case "SHADOW_WEAPON_5":
|
||||
{
|
||||
if (hasQuestItems(player, SHADOW_WEAPON_5))
|
||||
{
|
||||
takeItems(player, SHADOW_WEAPON_5, 1);
|
||||
giveItems(player, RESEARCH_SHADOW_WEAPON, 1);
|
||||
htmltext = "31126-06.htm";
|
||||
qs.setCond(3);
|
||||
}
|
||||
break;
|
||||
}
|
||||
case "SHADOW_WEAPON_6":
|
||||
{
|
||||
if (hasQuestItems(player, SHADOW_WEAPON_6))
|
||||
{
|
||||
takeItems(player, SHADOW_WEAPON_6, 1);
|
||||
giveItems(player, RESEARCH_SHADOW_WEAPON, 1);
|
||||
htmltext = "31126-06.htm";
|
||||
qs.setCond(3);
|
||||
htmltext = event;
|
||||
}
|
||||
break;
|
||||
}
|
||||
case "SHADOW_WEAPON_7":
|
||||
{
|
||||
if (hasQuestItems(player, SHADOW_WEAPON_7))
|
||||
{
|
||||
takeItems(player, SHADOW_WEAPON_7, 1);
|
||||
giveItems(player, RESEARCH_SHADOW_WEAPON, 1);
|
||||
htmltext = "31126-06.htm";
|
||||
qs.setCond(3);
|
||||
}
|
||||
break;
|
||||
}
|
||||
case "SHADOW_WEAPON_8":
|
||||
{
|
||||
if (hasQuestItems(player, SHADOW_WEAPON_8))
|
||||
{
|
||||
takeItems(player, SHADOW_WEAPON_8, 1);
|
||||
giveItems(player, RESEARCH_SHADOW_WEAPON, 1);
|
||||
htmltext = "31126-06.htm";
|
||||
qs.setCond(3);
|
||||
}
|
||||
break;
|
||||
}
|
||||
case "SHADOW_WEAPON_9":
|
||||
{
|
||||
if (hasQuestItems(player, SHADOW_WEAPON_9))
|
||||
{
|
||||
takeItems(player, SHADOW_WEAPON_9, 1);
|
||||
giveItems(player, RESEARCH_SHADOW_WEAPON, 1);
|
||||
htmltext = "31126-06.htm";
|
||||
qs.setCond(3);
|
||||
}
|
||||
break;
|
||||
}
|
||||
case "SHADOW_WEAPON_10":
|
||||
{
|
||||
if (hasQuestItems(player, SHADOW_WEAPON_10))
|
||||
{
|
||||
takeItems(player, SHADOW_WEAPON_10, 1);
|
||||
giveItems(player, RESEARCH_SHADOW_WEAPON, 1);
|
||||
htmltext = "31126-06.htm";
|
||||
qs.setCond(3);
|
||||
}
|
||||
break;
|
||||
}
|
||||
case "RESEARCH_SHADOW_WEAPON7":
|
||||
{
|
||||
if (hasQuestItems(player, RESEARCH_SHADOW_WEAPON) && (getEnchantLevel(player, RESEARCH_SHADOW_WEAPON) >= 7))
|
||||
{
|
||||
takeItems(player, RESEARCH_SHADOW_WEAPON, -1);
|
||||
giveItems(player, SHADOW_CRYSTAL, 2);
|
||||
qs.setCond(5);
|
||||
}
|
||||
}
|
||||
}
|
||||
return htmltext;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String onTalk(Npc npc, PlayerInstance player)
|
||||
{
|
||||
final QuestState qs = getQuestState(player, true);
|
||||
String htmltext = getNoQuestMsg(player);
|
||||
switch (npc.getId())
|
||||
{
|
||||
case BLACKSMITH_MAMMON:
|
||||
{
|
||||
switch (qs.getState())
|
||||
{
|
||||
case State.CREATED:
|
||||
{
|
||||
htmltext = "31126-00.htm";
|
||||
break;
|
||||
}
|
||||
case State.STARTED:
|
||||
{
|
||||
if (qs.isCond(1))
|
||||
{
|
||||
htmltext = "31126-03.htm";
|
||||
}
|
||||
else if (qs.isCond(2))
|
||||
{
|
||||
htmltext = "31126-05.htm";
|
||||
}
|
||||
else if (qs.isCond(3))
|
||||
{
|
||||
htmltext = "31126-08.htm";
|
||||
qs.setCond(4);
|
||||
}
|
||||
else if (qs.isCond(4))
|
||||
{
|
||||
if (hasQuestItems(player, RESEARCH_SHADOW_WEAPON))
|
||||
{
|
||||
htmltext = "31126-07.htm";
|
||||
}
|
||||
else
|
||||
{
|
||||
giveItems(player, RESEARCH_SHADOW_WEAPON, 1);
|
||||
htmltext = "31126-06.htm";
|
||||
}
|
||||
}
|
||||
else if (qs.isCond(6))
|
||||
{
|
||||
htmltext = "31126-09.htm";
|
||||
addExpAndSp(player, 32958000000L, 29662200);
|
||||
qs.exitQuest(false, true);
|
||||
}
|
||||
break;
|
||||
}
|
||||
case State.COMPLETED:
|
||||
{
|
||||
if (!qs.isNowAvailable())
|
||||
{
|
||||
htmltext = "31126-00a.htm";
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
case SHADAI:
|
||||
{
|
||||
switch (qs.getState())
|
||||
{
|
||||
case State.STARTED:
|
||||
{
|
||||
if (qs.isCond(5) && hasQuestItems(player, SHADOW_CRYSTAL))
|
||||
{
|
||||
htmltext = "32347-00.htm";
|
||||
takeItems(player, SHADOW_CRYSTAL, -1);
|
||||
qs.setCond(6);
|
||||
}
|
||||
break;
|
||||
}
|
||||
case State.COMPLETED:
|
||||
{
|
||||
if (!qs.isNowAvailable())
|
||||
{
|
||||
htmltext = "31126-00a.htm";
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
case ISHUMA:
|
||||
{
|
||||
switch (qs.getState())
|
||||
{
|
||||
case State.STARTED:
|
||||
{
|
||||
if (qs.isCond(5) && hasQuestItems(player, SHADOW_CRYSTAL))
|
||||
{
|
||||
htmltext = "32615-00.htm";
|
||||
takeItems(player, SHADOW_CRYSTAL, -1);
|
||||
qs.setCond(6);
|
||||
}
|
||||
break;
|
||||
}
|
||||
case State.COMPLETED:
|
||||
{
|
||||
if (!qs.isNowAvailable())
|
||||
{
|
||||
htmltext = "31126-00a.htm";
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
return htmltext;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String onKill(Npc npc, PlayerInstance player, boolean isSummon)
|
||||
{
|
||||
executeForEachPlayer(player, npc, isSummon, true, false);
|
||||
return super.onKill(npc, player, isSummon);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Set<NpcLogListHolder> getNpcLogList(PlayerInstance player)
|
||||
{
|
||||
final QuestState qs = getQuestState(player, false);
|
||||
if ((qs != null) && qs.isCond(2))
|
||||
{
|
||||
if (hasAtLeastOneQuestItem(player, SHADOW_WEAPON_1, SHADOW_WEAPON_2, SHADOW_WEAPON_3, SHADOW_WEAPON_4, SHADOW_WEAPON_5, SHADOW_WEAPON_6, SHADOW_WEAPON_7, SHADOW_WEAPON_8, SHADOW_WEAPON_9, SHADOW_WEAPON_10))
|
||||
{
|
||||
final Set<NpcLogListHolder> holder = new HashSet<>();
|
||||
holder.add(new NpcLogListHolder(NpcStringId.BRING_SHADOW_WEAPON, 1));
|
||||
return holder;
|
||||
}
|
||||
|
||||
}
|
||||
if ((qs != null) && qs.isCond(4))
|
||||
{
|
||||
if ((getEnchantLevel(player, RESEARCH_SHADOW_WEAPON) >= 7))
|
||||
{
|
||||
final Set<NpcLogListHolder> holder = new HashSet<>();
|
||||
holder.add(new NpcLogListHolder(NpcStringId.ENCHANT_THE_RESEARCH_WEAPON, 1));
|
||||
return holder;
|
||||
}
|
||||
|
||||
}
|
||||
return super.getNpcLogList(player);
|
||||
}
|
||||
}
|
@ -0,0 +1,3 @@
|
||||
<html><body>Beola:<br>
|
||||
You have completed the quest.<br>
|
||||
</body></html>
|
@ -0,0 +1,3 @@
|
||||
<html><body>Beola:<br>
|
||||
It's a fortunate thing that such a skilled adventurer as yourself has committed to making yourself available to the cause. Here is your mission.
|
||||
</body></html>
|
@ -0,0 +1,5 @@
|
||||
<html><body>Beloa:<br>
|
||||
You need 30 of the Renants of the Rift item in order to seal the Dimensional Rift..<br>
|
||||
Are you strong enough to collect 30 Remnant of the Rift for me?<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10373_ExploringTheDimensionSealingTheDimension 34227-04.htm">"Yes I'm."</Button>
|
||||
</body></html>
|
@ -0,0 +1,3 @@
|
||||
<html><body>Beola:<br>
|
||||
Not done yet.
|
||||
</body></html>
|
@ -0,0 +1,107 @@
|
||||
/*
|
||||
* 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.Q10373_ExploringTheDimensionSealingTheDimension;
|
||||
|
||||
import org.l2jmobius.gameserver.enums.QuestType;
|
||||
import org.l2jmobius.gameserver.model.actor.Npc;
|
||||
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
|
||||
import org.l2jmobius.gameserver.model.quest.Quest;
|
||||
import org.l2jmobius.gameserver.model.quest.QuestState;
|
||||
import org.l2jmobius.gameserver.model.quest.State;
|
||||
|
||||
/**
|
||||
* @author Sero
|
||||
*/
|
||||
public class Q10373_ExploringTheDimensionSealingTheDimension extends Quest
|
||||
{
|
||||
private static final int BELOA = 34227;
|
||||
private static final int RUNE_STONE = 39738;
|
||||
private static final int COMMANDO_BELT = 47044;
|
||||
private static final int REMNANT_OF_THE_RIFT = 46787;
|
||||
private static final int ZODIAC_AGATHION = 45577;
|
||||
private static final int MIN_LEVEL = 95;
|
||||
|
||||
public Q10373_ExploringTheDimensionSealingTheDimension()
|
||||
{
|
||||
super(10373);
|
||||
addStartNpc(BELOA);
|
||||
addTalkId(BELOA);
|
||||
addCondMinLevel(MIN_LEVEL, getNoQuestMsg(null));
|
||||
}
|
||||
|
||||
@Override
|
||||
public String onAdvEvent(String event, Npc npc, PlayerInstance player)
|
||||
{
|
||||
String htmltext = null;
|
||||
final QuestState qs = getQuestState(player, false);
|
||||
if (qs == null)
|
||||
{
|
||||
return getNoQuestMsg(player);
|
||||
}
|
||||
if (event.equals("34227-04.htm"))
|
||||
{
|
||||
qs.startQuest();
|
||||
htmltext = event;
|
||||
}
|
||||
return htmltext;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String onTalk(Npc npc, PlayerInstance player)
|
||||
{
|
||||
final QuestState qs = getQuestState(player, true);
|
||||
String htmltext = getNoQuestMsg(player);
|
||||
if (npc.getId() == BELOA)
|
||||
{
|
||||
switch (qs.getState())
|
||||
{
|
||||
case State.CREATED:
|
||||
{
|
||||
htmltext = "34227-05.htm";
|
||||
break;
|
||||
}
|
||||
case State.STARTED:
|
||||
{
|
||||
if (getQuestItemsCount(player, REMNANT_OF_THE_RIFT) >= 30)
|
||||
{
|
||||
takeItems(player, REMNANT_OF_THE_RIFT, -1);
|
||||
giveItems(player, COMMANDO_BELT, 1);
|
||||
giveItems(player, ZODIAC_AGATHION, 1);
|
||||
giveItems(player, RUNE_STONE, 1);
|
||||
addExpAndSp(player, 12113489880L, 12113460);
|
||||
qs.exitQuest(QuestType.ONE_TIME);
|
||||
htmltext = "30756-09.html";
|
||||
}
|
||||
else
|
||||
{
|
||||
htmltext = "34227-05a.htm";
|
||||
}
|
||||
break;
|
||||
}
|
||||
case State.COMPLETED:
|
||||
{
|
||||
if (!qs.isNowAvailable())
|
||||
{
|
||||
htmltext = "34227-00a.htm";
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return htmltext;
|
||||
}
|
||||
}
|
@ -0,0 +1,3 @@
|
||||
<html><body>Mammon:<br>
|
||||
This the <font color="LEVEL">Last challenge</font> Defeat monster in Giant's Cave and Hellbound collect Ore with Giant's Energy and Crystal with Magical Power Crystal with Magical Power then take them to Shadai and Ishuma.
|
||||
</body></html>
|
@ -0,0 +1,3 @@
|
||||
<html><body>Mammon:<br>
|
||||
Congratulations you have completed the challenge you deserve your reward warrior!
|
||||
</body></html>
|
@ -0,0 +1,3 @@
|
||||
<html><body>Shadai:<br>
|
||||
Thank you for your hard work.
|
||||
</body></html>
|
@ -0,0 +1,3 @@
|
||||
<html><body>Ishuma:<br>
|
||||
Thank you for your hard work.
|
||||
</body></html>
|
@ -0,0 +1,238 @@
|
||||
/*
|
||||
* 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.Q10535_BlacksmithsSoul3;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import org.l2jmobius.commons.util.CommonUtil;
|
||||
import org.l2jmobius.gameserver.enums.QuestSound;
|
||||
import org.l2jmobius.gameserver.model.Party;
|
||||
import org.l2jmobius.gameserver.model.actor.Npc;
|
||||
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
|
||||
import org.l2jmobius.gameserver.model.quest.Quest;
|
||||
import org.l2jmobius.gameserver.model.quest.QuestState;
|
||||
import org.l2jmobius.gameserver.model.quest.State;
|
||||
|
||||
import quests.Q10356_BlacksmithsSoul2.Q10356_BlacksmithsSoul2;
|
||||
|
||||
/**
|
||||
* @author Sero
|
||||
*/
|
||||
public class Q10535_BlacksmithsSoul3 extends Quest
|
||||
{
|
||||
// NPCs
|
||||
private static final int BLACKSMITH_MAMMON = 31126;
|
||||
private static final int SHADAI = 32347;
|
||||
private static final int ISHUMA = 32615;
|
||||
// Monsters
|
||||
private static final int[] HELL_MONSTERS =
|
||||
{
|
||||
23386, // Jabberwok
|
||||
23387, // Kanzaroth
|
||||
23388, // Kandiloth
|
||||
23384, // Smaug
|
||||
23385, // Lunatikan
|
||||
23399, // Bend Beetle
|
||||
23398, // Koraza
|
||||
23397, // Desert Wendigo
|
||||
23395, // Garion
|
||||
23396, // Garion neti
|
||||
};
|
||||
private static final int[] CAVE_MONSTERS =
|
||||
{
|
||||
23727, // Shaqrima Bathus
|
||||
23728, // Shaqrima Carcass
|
||||
23729, // Kshana
|
||||
};
|
||||
// Items
|
||||
private static final int OREWITH_GIANTS_ENERGY = 47892;
|
||||
private static final int CRYSTAL_WITH_MAGOCAL_POWER = 47891;
|
||||
private static final int ENCHANTED_SHADOW_INGOT = 47886;
|
||||
// Misc
|
||||
private static final int MAIN_LEVEL = 99;
|
||||
|
||||
public Q10535_BlacksmithsSoul3()
|
||||
{
|
||||
super(10535);
|
||||
addStartNpc(BLACKSMITH_MAMMON);
|
||||
addTalkId(BLACKSMITH_MAMMON, SHADAI, ISHUMA);
|
||||
addKillId(HELL_MONSTERS);
|
||||
addKillId(CAVE_MONSTERS);
|
||||
addCondCompletedQuest(Q10356_BlacksmithsSoul2.class.getSimpleName(), "31126-02.htm");
|
||||
addCondMinLevel(MAIN_LEVEL, getNoQuestMsg(null));
|
||||
}
|
||||
|
||||
@Override
|
||||
public String onTalk(Npc npc, PlayerInstance player)
|
||||
{
|
||||
final QuestState qs = getQuestState(player, true);
|
||||
String htmltext = getNoQuestMsg(player);
|
||||
switch (npc.getId())
|
||||
{
|
||||
case BLACKSMITH_MAMMON:
|
||||
{
|
||||
switch (qs.getState())
|
||||
{
|
||||
case State.CREATED:
|
||||
{
|
||||
htmltext = "31126-00.htm";
|
||||
qs.startQuest();
|
||||
break;
|
||||
}
|
||||
case State.STARTED:
|
||||
{
|
||||
if (qs.isCond(9))
|
||||
{
|
||||
htmltext = "31126-01.htm";
|
||||
addExpAndSp(player, 40346120829L, 36311508);
|
||||
giveItems(player, ENCHANTED_SHADOW_INGOT, 1);
|
||||
qs.exitQuest(false, true);
|
||||
}
|
||||
break;
|
||||
}
|
||||
case State.COMPLETED:
|
||||
{
|
||||
if (!qs.isNowAvailable())
|
||||
{
|
||||
htmltext = "31126-00a.htm";
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
case SHADAI:
|
||||
{
|
||||
switch (qs.getState())
|
||||
{
|
||||
case State.STARTED:
|
||||
{
|
||||
if (qs.isCond(7) && (getQuestItemsCount(player, CRYSTAL_WITH_MAGOCAL_POWER) >= 500) && (getQuestItemsCount(player, OREWITH_GIANTS_ENERGY) >= 500))
|
||||
{
|
||||
htmltext = "32347-00.htm";
|
||||
takeItems(player, CRYSTAL_WITH_MAGOCAL_POWER, -1);
|
||||
qs.setCond(8);
|
||||
}
|
||||
break;
|
||||
}
|
||||
case State.COMPLETED:
|
||||
{
|
||||
if (!qs.isNowAvailable())
|
||||
{
|
||||
htmltext = "31126-00a.htm";
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
case ISHUMA:
|
||||
{
|
||||
switch (qs.getState())
|
||||
{
|
||||
case State.STARTED:
|
||||
{
|
||||
if (qs.isCond(8) && (getQuestItemsCount(player, OREWITH_GIANTS_ENERGY) >= 500))
|
||||
{
|
||||
htmltext = "32615-00.htm";
|
||||
takeItems(player, OREWITH_GIANTS_ENERGY, -1);
|
||||
qs.setCond(9);
|
||||
}
|
||||
break;
|
||||
}
|
||||
case State.COMPLETED:
|
||||
{
|
||||
if (!qs.isNowAvailable())
|
||||
{
|
||||
htmltext = "31126-00a.htm";
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
return htmltext;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String onKill(Npc npc, PlayerInstance killer, boolean isSummon)
|
||||
{
|
||||
if (killer.isInParty())
|
||||
{
|
||||
final Party party = killer.getParty();
|
||||
final List<PlayerInstance> partyMember = party.getMembers();
|
||||
for (PlayerInstance singleMember : partyMember)
|
||||
{
|
||||
final QuestState qsPartyMember = getQuestState(singleMember, false);
|
||||
final double distance = npc.calculateDistance3D(singleMember);
|
||||
if ((qsPartyMember != null) && (distance <= 1000))
|
||||
{
|
||||
if (qsPartyMember.isCond(1))
|
||||
{
|
||||
if (CommonUtil.contains(HELL_MONSTERS, npc.getId()) && (getQuestItemsCount(singleMember, CRYSTAL_WITH_MAGOCAL_POWER) < 500))
|
||||
{
|
||||
giveItems(singleMember, CRYSTAL_WITH_MAGOCAL_POWER, 1);
|
||||
playSound(singleMember, QuestSound.ITEMSOUND_QUEST_ITEMGET);
|
||||
}
|
||||
}
|
||||
if (qsPartyMember.isCond(1))
|
||||
{
|
||||
if (CommonUtil.contains(CAVE_MONSTERS, npc.getId()) && (getQuestItemsCount(singleMember, OREWITH_GIANTS_ENERGY) < 500))
|
||||
{
|
||||
giveItems(singleMember, OREWITH_GIANTS_ENERGY, 1);
|
||||
playSound(singleMember, QuestSound.ITEMSOUND_QUEST_ITEMGET);
|
||||
}
|
||||
}
|
||||
if (qsPartyMember.isCond(1) && (getQuestItemsCount(singleMember, OREWITH_GIANTS_ENERGY) >= 500) && (getQuestItemsCount(singleMember, CRYSTAL_WITH_MAGOCAL_POWER) >= 500))
|
||||
{
|
||||
qsPartyMember.setCond(7);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
final QuestState qs = getRandomPartyMemberState(killer, -1, 3, npc);
|
||||
if (qs != null)
|
||||
{
|
||||
if (qs.isCond(1))
|
||||
{
|
||||
if (CommonUtil.contains(HELL_MONSTERS, npc.getId()) && (getQuestItemsCount(killer, CRYSTAL_WITH_MAGOCAL_POWER) < 500))
|
||||
{
|
||||
giveItems(killer, CRYSTAL_WITH_MAGOCAL_POWER, 1);
|
||||
playSound(killer, QuestSound.ITEMSOUND_QUEST_ITEMGET);
|
||||
|
||||
}
|
||||
}
|
||||
if (qs.isCond(1))
|
||||
{
|
||||
if (CommonUtil.contains(CAVE_MONSTERS, npc.getId()) && (getQuestItemsCount(killer, OREWITH_GIANTS_ENERGY) < 500))
|
||||
{
|
||||
giveItems(killer, OREWITH_GIANTS_ENERGY, 1);
|
||||
playSound(killer, QuestSound.ITEMSOUND_QUEST_ITEMGET);
|
||||
}
|
||||
}
|
||||
if (qs.isCond(1) && (getQuestItemsCount(killer, OREWITH_GIANTS_ENERGY) >= 500) && (getQuestItemsCount(killer, CRYSTAL_WITH_MAGOCAL_POWER) >= 500))
|
||||
{
|
||||
qs.setCond(7);
|
||||
}
|
||||
}
|
||||
}
|
||||
return super.onKill(npc, killer, isSummon);
|
||||
}
|
||||
}
|
@ -277,6 +277,8 @@ import quests.Q10346_DayOfDestinyKamaelsFate.Q10346_DayOfDestinyKamaelsFate;
|
||||
import quests.Q10351_OwnerOfHall.Q10351_OwnerOfHall;
|
||||
import quests.Q10353_CertificationOfValue.Q10353_CertificationOfValue;
|
||||
import quests.Q10354_ResurrectedOwnerOfHall.Q10354_ResurrectedOwnerOfHall;
|
||||
import quests.Q10355_BlacksmithsSoul1.Q10355_BlacksmithsSoul1;
|
||||
import quests.Q10356_BlacksmithsSoul2.Q10356_BlacksmithsSoul2;
|
||||
import quests.Q10358_DividedSakumPoslof.Q10358_DividedSakumPoslof;
|
||||
import quests.Q10359_TracesOfEvil.Q10359_TracesOfEvil;
|
||||
import quests.Q10360_CertificationOfFate.Q10360_CertificationOfFate;
|
||||
@ -375,6 +377,7 @@ import quests.Q10530_KekropusLetterTheDragonsTransition.Q10530_KekropusLetterThe
|
||||
import quests.Q10531_OddHappeningsAtDragonValley.Q10531_OddHappeningsAtDragonValley;
|
||||
import quests.Q10532_UncoveringTheConspiracy.Q10532_UncoveringTheConspiracy;
|
||||
import quests.Q10534_HatchlingResearch.Q10534_HatchlingResearch;
|
||||
import quests.Q10535_BlacksmithsSoul3.Q10535_BlacksmithsSoul3;
|
||||
import quests.Q10537_KamaelDisarray.Q10537_KamaelDisarray;
|
||||
import quests.Q10538_GiantsEvolution.Q10538_GiantsEvolution;
|
||||
import quests.Q10539_EnergySupplyCutoffPlan.Q10539_EnergySupplyCutoffPlan;
|
||||
@ -527,13 +530,9 @@ import quests.not_done.Q00987_AdventureGuildsSpecialRequestLv3;
|
||||
import quests.not_done.Q00988_AdventureGuildsSpecialRequestLv4;
|
||||
import quests.not_done.Q00989_AdventureGuildsSpecialRequestLv5;
|
||||
import quests.not_done.Q10298_WastelandQueen;
|
||||
import quests.not_done.Q10355_BlacksmithsSoulAwakeningWeapon1;
|
||||
import quests.not_done.Q10356_BlacksmithsSoulAwakeningWeapon2;
|
||||
import quests.not_done.Q10373_ExploringTheDimensionSealingTheDimension;
|
||||
import quests.not_done.Q10396_WitchOfSpores;
|
||||
import quests.not_done.Q10423_EmbryoStrongholdAmbush;
|
||||
import quests.not_done.Q10506_DianasRequest;
|
||||
import quests.not_done.Q10535_BlacksmithsSoulAwakeningWeapon3;
|
||||
import quests.not_done.Q10748_MysteriousSuggestion1;
|
||||
import quests.not_done.Q10749_MysteriousSuggestion2;
|
||||
import quests.not_done.Q10845_BloodyBattleRescueTheSmiths;
|
||||
@ -847,8 +846,8 @@ public class QuestMasterHandler
|
||||
Q10351_OwnerOfHall.class,
|
||||
Q10353_CertificationOfValue.class,
|
||||
Q10354_ResurrectedOwnerOfHall.class,
|
||||
Q10355_BlacksmithsSoulAwakeningWeapon1.class, // TODO: Not done.
|
||||
Q10356_BlacksmithsSoulAwakeningWeapon2.class, // TODO: Not done.
|
||||
Q10355_BlacksmithsSoul1.class,
|
||||
Q10356_BlacksmithsSoul2.class,
|
||||
Q10358_DividedSakumPoslof.class,
|
||||
Q10359_TracesOfEvil.class,
|
||||
Q10360_CertificationOfFate.class,
|
||||
@ -861,7 +860,6 @@ public class QuestMasterHandler
|
||||
Q10370_MenacingTimes.class,
|
||||
Q10371_GraspThyPower.class,
|
||||
Q10372_PurgatoryVolvere.class,
|
||||
Q10373_ExploringTheDimensionSealingTheDimension.class, // TODO: Not done.
|
||||
Q10374_ThatPlaceSuccubus.class,
|
||||
Q10375_SuccubusDisciples.class,
|
||||
Q10376_BloodyGoodTime.class,
|
||||
@ -951,7 +949,7 @@ public class QuestMasterHandler
|
||||
Q10531_OddHappeningsAtDragonValley.class,
|
||||
Q10532_UncoveringTheConspiracy.class,
|
||||
Q10534_HatchlingResearch.class,
|
||||
Q10535_BlacksmithsSoulAwakeningWeapon3.class, // TODO: Not done.
|
||||
Q10535_BlacksmithsSoul3.class,
|
||||
Q10537_KamaelDisarray.class,
|
||||
Q10538_GiantsEvolution.class,
|
||||
Q10539_EnergySupplyCutoffPlan.class,
|
||||
|
@ -1,36 +0,0 @@
|
||||
/*
|
||||
* 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.not_done;
|
||||
|
||||
import org.l2jmobius.Config;
|
||||
import org.l2jmobius.gameserver.model.quest.Quest;
|
||||
|
||||
/**
|
||||
* @author Mobius
|
||||
*/
|
||||
public class Q10355_BlacksmithsSoulAwakeningWeapon1 extends Quest
|
||||
{
|
||||
private static final int START_NPC = 34095;
|
||||
|
||||
public Q10355_BlacksmithsSoulAwakeningWeapon1()
|
||||
{
|
||||
super(10355);
|
||||
addStartNpc(START_NPC);
|
||||
addTalkId(START_NPC);
|
||||
addCondMinLevel(Config.PLAYER_MAXIMUM_LEVEL, getNoQuestMsg(null));
|
||||
}
|
||||
}
|
@ -1,36 +0,0 @@
|
||||
/*
|
||||
* 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.not_done;
|
||||
|
||||
import org.l2jmobius.Config;
|
||||
import org.l2jmobius.gameserver.model.quest.Quest;
|
||||
|
||||
/**
|
||||
* @author Mobius
|
||||
*/
|
||||
public class Q10356_BlacksmithsSoulAwakeningWeapon2 extends Quest
|
||||
{
|
||||
private static final int START_NPC = 31126;
|
||||
|
||||
public Q10356_BlacksmithsSoulAwakeningWeapon2()
|
||||
{
|
||||
super(10356);
|
||||
addStartNpc(START_NPC);
|
||||
addTalkId(START_NPC);
|
||||
addCondMinLevel(Config.PLAYER_MAXIMUM_LEVEL, getNoQuestMsg(null));
|
||||
}
|
||||
}
|
@ -1,36 +0,0 @@
|
||||
/*
|
||||
* 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.not_done;
|
||||
|
||||
import org.l2jmobius.Config;
|
||||
import org.l2jmobius.gameserver.model.quest.Quest;
|
||||
|
||||
/**
|
||||
* @author Mobius
|
||||
*/
|
||||
public class Q10373_ExploringTheDimensionSealingTheDimension extends Quest
|
||||
{
|
||||
private static final int START_NPC = 34227;
|
||||
|
||||
public Q10373_ExploringTheDimensionSealingTheDimension()
|
||||
{
|
||||
super(10373);
|
||||
addStartNpc(START_NPC);
|
||||
addTalkId(START_NPC);
|
||||
addCondMinLevel(Config.PLAYER_MAXIMUM_LEVEL, getNoQuestMsg(null));
|
||||
}
|
||||
}
|
@ -1,36 +0,0 @@
|
||||
/*
|
||||
* 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.not_done;
|
||||
|
||||
import org.l2jmobius.Config;
|
||||
import org.l2jmobius.gameserver.model.quest.Quest;
|
||||
|
||||
/**
|
||||
* @author Mobius
|
||||
*/
|
||||
public class Q10535_BlacksmithsSoulAwakeningWeapon3 extends Quest
|
||||
{
|
||||
private static final int START_NPC = 31126;
|
||||
|
||||
public Q10535_BlacksmithsSoulAwakeningWeapon3()
|
||||
{
|
||||
super(10535);
|
||||
addStartNpc(START_NPC);
|
||||
addTalkId(START_NPC);
|
||||
addCondMinLevel(Config.PLAYER_MAXIMUM_LEVEL, getNoQuestMsg(null));
|
||||
}
|
||||
}
|
@ -109,13 +109,9 @@
|
||||
988 Adventure Guild's Special Request - Lv. 4
|
||||
989 Adventure Guild's Special Request - Lv. 5
|
||||
10298 Wasteland Queen
|
||||
10355 Blacksmith's Soul-awakening Weapon - 1
|
||||
10356 Blacksmith's Soul-awakening Weapon - 2
|
||||
10373 Exploring the Dimension - Sealing the Dimension
|
||||
10396 Witch of Spores
|
||||
10423 Embryo Stronghold Ambush
|
||||
10506 Diana's Request
|
||||
10535 Blacksmith's Soul-awakening Weapon - 3
|
||||
10552 Challenge! Balthus Knight!
|
||||
10553 What Matters More Than Ability
|
||||
10554 Gift for You
|
||||
|
3
L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10355_BlacksmithsSoul1/30499-00.htm
vendored
Normal file
3
L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10355_BlacksmithsSoul1/30499-00.htm
vendored
Normal file
@ -0,0 +1,3 @@
|
||||
<html><body>Taboy:<br>
|
||||
Hello now Go ahead and talk with <font color="LEVEL">Legendary Blacksmith Shadai</font> in <font color="LEVEL">Heine</font>!<br>
|
||||
</body></html>
|
3
L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10355_BlacksmithsSoul1/31126-00.htm
vendored
Normal file
3
L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10355_BlacksmithsSoul1/31126-00.htm
vendored
Normal file
@ -0,0 +1,3 @@
|
||||
<html><body>Mammon:<br>
|
||||
You have made a great work now you go to <font color="LEVEL">Nightmare Kamaloka</font> and defeat 5 of <font color="LEVEL">Dark Rider</font> then go to <font color="LEVEL">Command Post</font> and defeat 5 of <font color="LEVEL"> Burnstein (Command Post)</font><br>
|
||||
</body></html>
|
3
L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10355_BlacksmithsSoul1/31126-01.htm
vendored
Normal file
3
L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10355_BlacksmithsSoul1/31126-01.htm
vendored
Normal file
@ -0,0 +1,3 @@
|
||||
<html><body>Mammon:<br>
|
||||
You have made a great work now you go to <font color="LEVEL"> Enchanted Valley</font> and defeat 3000 of them.
|
||||
</body></html>
|
3
L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10355_BlacksmithsSoul1/31126-02.htm
vendored
Normal file
3
L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10355_BlacksmithsSoul1/31126-02.htm
vendored
Normal file
@ -0,0 +1,3 @@
|
||||
<html><body>Mammon:<br>
|
||||
You need to defeat 5 of <font color="LEVEL">Dark Rider</font> then go to <font color="LEVEL">Command Post</font> and defeat 5 of <font color="LEVEL"> Burnstein (Command Post)</font> and bring me 5 <font color="LEVEL"> Shadow ingot</font>.
|
||||
</body></html>
|
3
L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10355_BlacksmithsSoul1/31126-03.htm
vendored
Normal file
3
L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10355_BlacksmithsSoul1/31126-03.htm
vendored
Normal file
@ -0,0 +1,3 @@
|
||||
<html><body>Mammon:<br>
|
||||
Congratulations you have complate the challenge now you're able to take the next challenge <font color="LEVEL"> Blacksmiths Soul part 2 </font> and bring me 5 Shadow ingot.<br>
|
||||
</body></html>
|
3
L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10355_BlacksmithsSoul1/32347-00.htm
vendored
Normal file
3
L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10355_BlacksmithsSoul1/32347-00.htm
vendored
Normal file
@ -0,0 +1,3 @@
|
||||
<html><body>Shadai:<br>
|
||||
Hello now go ahead and talk with <font color="LEVEL">Maestro Ishuma</font> at <font color="LEVEL">Wharf of Gludio Airships</font>!<br>
|
||||
</body></html>
|
3
L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10355_BlacksmithsSoul1/32615-00.htm
vendored
Normal file
3
L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10355_BlacksmithsSoul1/32615-00.htm
vendored
Normal file
@ -0,0 +1,3 @@
|
||||
<html><body>Shadai:<br>
|
||||
Hello now Go ahead and talk with <font color="LEVEL">Blacksmith of Mammon</font> at <font color="LEVEL">Aden</font> or <font color="LEVEL">Giran</font>!<br>
|
||||
</body></html>
|
4
L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10355_BlacksmithsSoul1/34095-00.htm
vendored
Normal file
4
L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10355_BlacksmithsSoul1/34095-00.htm
vendored
Normal file
@ -0,0 +1,4 @@
|
||||
<html><body>Neti:<br>
|
||||
This will be long way !<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10355_BlacksmithsSoul1 34095-01.htm">"Okay."</Button>
|
||||
</body></html>
|
3
L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10355_BlacksmithsSoul1/34095-01.htm
vendored
Normal file
3
L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10355_BlacksmithsSoul1/34095-01.htm
vendored
Normal file
@ -0,0 +1,3 @@
|
||||
<html><body>Neti:<br>
|
||||
Great you choose to take the challenge Go ahead and talk with <font color="LEVEL">Head Blacksmith Tapoy</font> in <font color="LEVEL">Gludin </font>!<br>
|
||||
</body></html>
|
@ -0,0 +1,320 @@
|
||||
/*
|
||||
* 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.Q10355_BlacksmithsSoul1;
|
||||
|
||||
import java.util.HashSet;
|
||||
import java.util.Set;
|
||||
|
||||
import org.l2jmobius.gameserver.enums.QuestSound;
|
||||
import org.l2jmobius.gameserver.model.actor.Npc;
|
||||
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
|
||||
import org.l2jmobius.gameserver.model.holders.NpcLogListHolder;
|
||||
import org.l2jmobius.gameserver.model.quest.Quest;
|
||||
import org.l2jmobius.gameserver.model.quest.QuestState;
|
||||
import org.l2jmobius.gameserver.model.quest.State;
|
||||
import org.l2jmobius.gameserver.network.NpcStringId;
|
||||
|
||||
/**
|
||||
* @author Sero
|
||||
*/
|
||||
public class Q10355_BlacksmithsSoul1 extends Quest
|
||||
{
|
||||
// NPC
|
||||
private static final int NETI = 34095;
|
||||
private static final int TAPOY = 30499;
|
||||
private static final int SHADAI = 32347;
|
||||
private static final int ISHUMA = 32615;
|
||||
private static final int MERCHANT_OF_MAMMON = 31126;
|
||||
// Items
|
||||
private static final int SHADOW_INGOT = 46395;
|
||||
|
||||
// Monsters
|
||||
private static final int BURNSTEIN = 23587;
|
||||
private static final int DARK_RIDER = 26102;
|
||||
private static final int[] NYMPH_MONSTERS =
|
||||
{
|
||||
23569, // Nymph Lily
|
||||
23583, // Nymph Lily big
|
||||
23573, // Nymph Cosmos
|
||||
23567, // Nymph Rose
|
||||
23578, // Nymph Guardian
|
||||
23570, // Nymph Tulip
|
||||
19600, // Flower Bud
|
||||
23581, // Apherus
|
||||
};
|
||||
// Misc
|
||||
private static final int MIN_LEVEL = 99;
|
||||
private static final String KILL_COUNT_VAR = "KillCount";
|
||||
|
||||
public Q10355_BlacksmithsSoul1()
|
||||
{
|
||||
super(10355);
|
||||
addStartNpc(NETI);
|
||||
addTalkId(NETI, TAPOY, SHADAI, ISHUMA, MERCHANT_OF_MAMMON);
|
||||
registerQuestItems(SHADOW_INGOT);
|
||||
addKillId(DARK_RIDER);
|
||||
addKillId(BURNSTEIN);
|
||||
addKillId(NYMPH_MONSTERS);
|
||||
addCondMinLevel(MIN_LEVEL, getNoQuestMsg(null));
|
||||
}
|
||||
|
||||
@Override
|
||||
public String onAdvEvent(String event, Npc npc, PlayerInstance player)
|
||||
{
|
||||
String htmltext = null;
|
||||
final QuestState qs = getQuestState(player, false);
|
||||
if (qs == null)
|
||||
{
|
||||
return getNoQuestMsg(player);
|
||||
}
|
||||
if (event.equals("34095-01.htm"))
|
||||
{
|
||||
qs.startQuest();
|
||||
htmltext = event;
|
||||
}
|
||||
return htmltext;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String onTalk(Npc npc, PlayerInstance player)
|
||||
{
|
||||
final QuestState qs = getQuestState(player, true);
|
||||
String htmltext = getNoQuestMsg(player);
|
||||
switch (npc.getId())
|
||||
{
|
||||
case NETI:
|
||||
{
|
||||
switch (qs.getState())
|
||||
{
|
||||
case State.CREATED:
|
||||
{
|
||||
htmltext = "34095-00.htm";
|
||||
break;
|
||||
}
|
||||
case State.STARTED:
|
||||
{
|
||||
htmltext = "30756-09.html";
|
||||
break;
|
||||
}
|
||||
case State.COMPLETED:
|
||||
{
|
||||
if (!qs.isNowAvailable())
|
||||
{
|
||||
htmltext = "34227-00a.htm";
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
case TAPOY:
|
||||
{
|
||||
switch (qs.getState())
|
||||
{
|
||||
case State.STARTED:
|
||||
{
|
||||
if (qs.isCond(1))
|
||||
{
|
||||
htmltext = "30499-00.htm";
|
||||
qs.setCond(2);
|
||||
}
|
||||
else
|
||||
{
|
||||
htmltext = "30499-00.htm";
|
||||
}
|
||||
break;
|
||||
}
|
||||
case State.COMPLETED:
|
||||
{
|
||||
if (!qs.isNowAvailable())
|
||||
{
|
||||
htmltext = "34227-00a.htm";
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
case SHADAI:
|
||||
{
|
||||
switch (qs.getState())
|
||||
{
|
||||
case State.STARTED:
|
||||
{
|
||||
if (qs.isCond(2))
|
||||
{
|
||||
htmltext = "32347-00.htm";
|
||||
qs.setCond(3);
|
||||
}
|
||||
else
|
||||
{
|
||||
htmltext = "32347-00.htm";
|
||||
}
|
||||
break;
|
||||
}
|
||||
case State.COMPLETED:
|
||||
{
|
||||
if (!qs.isNowAvailable())
|
||||
{
|
||||
htmltext = "34227-00a.htm";
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
case ISHUMA:
|
||||
{
|
||||
switch (qs.getState())
|
||||
{
|
||||
case State.STARTED:
|
||||
{
|
||||
if (qs.isCond(3))
|
||||
{
|
||||
htmltext = "32615-00.htm";
|
||||
qs.setCond(4);
|
||||
}
|
||||
else
|
||||
{
|
||||
htmltext = "32615-00.htm";
|
||||
}
|
||||
break;
|
||||
}
|
||||
case State.COMPLETED:
|
||||
{
|
||||
if (!qs.isNowAvailable())
|
||||
{
|
||||
htmltext = "34227-00a.htm";
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
case MERCHANT_OF_MAMMON:
|
||||
{
|
||||
switch (qs.getState())
|
||||
{
|
||||
case State.STARTED:
|
||||
{
|
||||
if (qs.isCond(4))
|
||||
{
|
||||
htmltext = "31126-00.htm";
|
||||
qs.setCond(5);
|
||||
}
|
||||
else if (qs.isCond(5))
|
||||
{
|
||||
htmltext = "31126-00.htm";
|
||||
}
|
||||
else if (qs.isCond(6) && (getQuestItemsCount(player, SHADOW_INGOT) >= 5))
|
||||
{
|
||||
takeItems(player, SHADOW_INGOT, 5);
|
||||
htmltext = "31126-01.htm";
|
||||
qs.setCond(7);
|
||||
}
|
||||
else if (qs.isCond(8))
|
||||
{
|
||||
htmltext = "31126-03.htm";
|
||||
addExpAndSp(player, 26918866543L, 24226979);
|
||||
qs.exitQuest(false, true);
|
||||
}
|
||||
else
|
||||
{
|
||||
htmltext = "31126-02.htm";
|
||||
}
|
||||
break;
|
||||
}
|
||||
case State.COMPLETED:
|
||||
{
|
||||
if (!qs.isNowAvailable())
|
||||
{
|
||||
htmltext = "34227-00a.htm";
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
return htmltext;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void actionForEachPlayer(PlayerInstance player, Npc npc, boolean isSummon)
|
||||
{
|
||||
final QuestState qs = getQuestState(player, false);
|
||||
if ((qs != null) && qs.isCond(5))
|
||||
{
|
||||
final int killedCount = qs.getInt(Integer.toString(npc.getId()));
|
||||
if (killedCount < 5)
|
||||
{
|
||||
qs.set(Integer.toString(npc.getId()), killedCount + 1);
|
||||
}
|
||||
|
||||
final int killedRessurected = qs.getInt(Integer.toString(DARK_RIDER));
|
||||
final int killedLunatic = qs.getInt(Integer.toString(BURNSTEIN));
|
||||
if ((killedLunatic == 5) && (killedRessurected == 5))
|
||||
{
|
||||
qs.setCond(6, true);
|
||||
}
|
||||
}
|
||||
else if ((qs != null) && qs.isCond(7))
|
||||
{
|
||||
int count = qs.getInt(KILL_COUNT_VAR);
|
||||
qs.set(KILL_COUNT_VAR, ++count);
|
||||
if (count >= 3000)
|
||||
{
|
||||
qs.setCond(8, true);
|
||||
}
|
||||
else
|
||||
{
|
||||
playSound(player, QuestSound.ITEMSOUND_QUEST_ITEMGET);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public String onKill(Npc npc, PlayerInstance player, boolean isSummon)
|
||||
{
|
||||
executeForEachPlayer(player, npc, isSummon, true, false);
|
||||
return super.onKill(npc, player, isSummon);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Set<NpcLogListHolder> getNpcLogList(PlayerInstance player)
|
||||
{
|
||||
final QuestState qs = getQuestState(player, false);
|
||||
if ((qs != null) && qs.isCond(5))
|
||||
{
|
||||
final Set<NpcLogListHolder> npcLogList = new HashSet<>(2);
|
||||
npcLogList.add(new NpcLogListHolder(DARK_RIDER, false, qs.getInt(Integer.toString(DARK_RIDER))));
|
||||
npcLogList.add(new NpcLogListHolder(NpcStringId.DEFEAT_COMMANDER_BURNSTEIN_2, qs.getInt(Integer.toString(BURNSTEIN))));
|
||||
return npcLogList;
|
||||
}
|
||||
else if ((qs != null) && qs.isCond(7))
|
||||
{
|
||||
final int killCount = qs.getInt(KILL_COUNT_VAR);
|
||||
if (killCount > 0)
|
||||
{
|
||||
final Set<NpcLogListHolder> holder = new HashSet<>();
|
||||
holder.add(new NpcLogListHolder(NpcStringId.DEFEAT_MONSTERS_IN_THE_ENCHANTED_VALLEY_2, killCount));
|
||||
return holder;
|
||||
}
|
||||
}
|
||||
return super.getNpcLogList(player);
|
||||
}
|
||||
}
|
4
L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10356_BlacksmithsSoul2/31126-00.htm
vendored
Normal file
4
L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10356_BlacksmithsSoul2/31126-00.htm
vendored
Normal file
@ -0,0 +1,4 @@
|
||||
<html><body>Mammon:<br>
|
||||
Now the next part of your challenge is to bring me <font color="LEVEL">Improved Shadow Ingot</font>.<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10356_BlacksmithsSoul2 31126-01.htm">"Okay Let's go."</Button>
|
||||
</body></html>
|
3
L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10356_BlacksmithsSoul2/31126-01.htm
vendored
Normal file
3
L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10356_BlacksmithsSoul2/31126-01.htm
vendored
Normal file
@ -0,0 +1,3 @@
|
||||
<html><body>Mammon:<br>
|
||||
When you have <font color="LEVEL">Improved Shadow Ingot</font> come back to me.
|
||||
</body></html>
|
3
L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10356_BlacksmithsSoul2/31126-02.htm
vendored
Normal file
3
L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10356_BlacksmithsSoul2/31126-02.htm
vendored
Normal file
@ -0,0 +1,3 @@
|
||||
<html><body>Mammon:<br>
|
||||
You need to complete Blacksmiths Soul - Part 1 first.
|
||||
</body></html>
|
4
L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10356_BlacksmithsSoul2/31126-03.htm
vendored
Normal file
4
L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10356_BlacksmithsSoul2/31126-03.htm
vendored
Normal file
@ -0,0 +1,4 @@
|
||||
<html><body>Mammon:<br>
|
||||
Do you have the <font color="LEVEL">Improved Shadow Ingot</font>?<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10356_BlacksmithsSoul2 31126-04.htm">"Yes take it."</Button>
|
||||
</body></html>
|
3
L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10356_BlacksmithsSoul2/31126-03r.htm
vendored
Normal file
3
L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10356_BlacksmithsSoul2/31126-03r.htm
vendored
Normal file
@ -0,0 +1,3 @@
|
||||
<html><body>Mammon:<br>
|
||||
Do you have the <font color="LEVEL">Improved Shadow Ingot</font>?
|
||||
</body></html>
|
3
L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10356_BlacksmithsSoul2/31126-04.htm
vendored
Normal file
3
L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10356_BlacksmithsSoul2/31126-04.htm
vendored
Normal file
@ -0,0 +1,3 @@
|
||||
<html><body>Mammon:<br>
|
||||
Good job now bring me a Shadow weapon that you don't want so I can make my research.
|
||||
</body></html>
|
13
L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10356_BlacksmithsSoul2/31126-05.htm
vendored
Normal file
13
L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10356_BlacksmithsSoul2/31126-05.htm
vendored
Normal file
@ -0,0 +1,13 @@
|
||||
<html><body>Mammon:<br>
|
||||
Choose the weapon that you don't need to I can make my research on it "Warning! The weapon will not be returned to you" <br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10356_BlacksmithsSoul2 SHADOW_WEAPON_1">"Shadow Shaper."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10356_BlacksmithsSoul2 SHADOW_WEAPON_2">"Shadow Cutter."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10356_BlacksmithsSoul2 SHADOW_WEAPON_3">"Shadow Slasher."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10356_BlacksmithsSoul2 SHADOW_WEAPON_4">"Shadow Fighter."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10356_BlacksmithsSoul2 SHADOW_WEAPON_5">"Shadow Stormer."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10356_BlacksmithsSoul2 SHADOW_WEAPON_6">"Shadow Thrower."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10356_BlacksmithsSoul2 SHADOW_WEAPON_7">"Shadow Shooter."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10356_BlacksmithsSoul2 SHADOW_WEAPON_8">"Shadow Buster."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10356_BlacksmithsSoul2 SHADOW_WEAPON_9">"Shadow Retributer."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10356_BlacksmithsSoul2 SHADOW_WEAPON_10">"Shadow Dual Sword."</Button>
|
||||
</body></html>
|
3
L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10356_BlacksmithsSoul2/31126-06.htm
vendored
Normal file
3
L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10356_BlacksmithsSoul2/31126-06.htm
vendored
Normal file
@ -0,0 +1,3 @@
|
||||
<html><body>Mammon:<br>
|
||||
Great work! Now take this weapon, upgrade it to +7 and bring it back to me.
|
||||
</body></html>
|
4
L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10356_BlacksmithsSoul2/31126-07.htm
vendored
Normal file
4
L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10356_BlacksmithsSoul2/31126-07.htm
vendored
Normal file
@ -0,0 +1,4 @@
|
||||
<html><body>Mammon:<br>
|
||||
Nice now hand me the weapon let me do my research.<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10356_BlacksmithsSoul2 RESEARCH_Shadow_WEAPON7">"Take it."</Button>
|
||||
</body></html>
|
3
L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10356_BlacksmithsSoul2/31126-08.htm
vendored
Normal file
3
L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10356_BlacksmithsSoul2/31126-08.htm
vendored
Normal file
@ -0,0 +1,3 @@
|
||||
<html><body>Mammon:<br>
|
||||
It's hard work but please enchant my the weapon to +7.
|
||||
</body></html>
|
3
L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10356_BlacksmithsSoul2/31126-09.htm
vendored
Normal file
3
L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10356_BlacksmithsSoul2/31126-09.htm
vendored
Normal file
@ -0,0 +1,3 @@
|
||||
<html><body>Mammon:<br>
|
||||
You have done good so far now you can take your reward and be ready for the next challenge. Have a great day.
|
||||
</body></html>
|
3
L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10356_BlacksmithsSoul2/32347-00.htm
vendored
Normal file
3
L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10356_BlacksmithsSoul2/32347-00.htm
vendored
Normal file
@ -0,0 +1,3 @@
|
||||
<html><body>Shadai:<br>
|
||||
I agreed to take a part in the research.
|
||||
</body></html>
|
3
L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10356_BlacksmithsSoul2/32615-00.htm
vendored
Normal file
3
L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10356_BlacksmithsSoul2/32615-00.htm
vendored
Normal file
@ -0,0 +1,3 @@
|
||||
<html><body>Ishuma:<br>
|
||||
I agreed to take a part in the research.
|
||||
</body></html>
|
@ -0,0 +1,371 @@
|
||||
/*
|
||||
* 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.Q10356_BlacksmithsSoul2;
|
||||
|
||||
import java.util.HashSet;
|
||||
import java.util.Set;
|
||||
|
||||
import org.l2jmobius.gameserver.model.actor.Npc;
|
||||
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
|
||||
import org.l2jmobius.gameserver.model.holders.NpcLogListHolder;
|
||||
import org.l2jmobius.gameserver.model.quest.Quest;
|
||||
import org.l2jmobius.gameserver.model.quest.QuestState;
|
||||
import org.l2jmobius.gameserver.model.quest.State;
|
||||
import org.l2jmobius.gameserver.network.NpcStringId;
|
||||
|
||||
import quests.Q10355_BlacksmithsSoul1.Q10355_BlacksmithsSoul1;
|
||||
|
||||
/**
|
||||
* @author Sero
|
||||
*/
|
||||
public class Q10356_BlacksmithsSoul2 extends Quest
|
||||
{
|
||||
// NPCs
|
||||
private static final int BLACKSMITH_MAMMON = 31126;
|
||||
private static final int SHADAI = 32347;
|
||||
private static final int ISHUMA = 32615;
|
||||
// Items
|
||||
private static final int Improved_SHADOW_Ingot = 47896;
|
||||
private static final int RESEARCH_SHADOW_WEAPON = 47890;
|
||||
private static final int SHADOW_WEAPON_1 = 46317;
|
||||
private static final int SHADOW_WEAPON_2 = 46318;
|
||||
private static final int SHADOW_WEAPON_3 = 46319;
|
||||
private static final int SHADOW_WEAPON_4 = 46320;
|
||||
private static final int SHADOW_WEAPON_5 = 46321;
|
||||
private static final int SHADOW_WEAPON_6 = 46322;
|
||||
private static final int SHADOW_WEAPON_7 = 46323;
|
||||
private static final int SHADOW_WEAPON_8 = 46324;
|
||||
private static final int SHADOW_WEAPON_9 = 46325;
|
||||
private static final int SHADOW_WEAPON_10 = 46326;
|
||||
private static final int SHADOW_CRYSTAL = 47899;
|
||||
private static final int MAIN_LEVEL = 99;
|
||||
|
||||
public Q10356_BlacksmithsSoul2()
|
||||
{
|
||||
super(10356);
|
||||
addStartNpc(BLACKSMITH_MAMMON);
|
||||
addTalkId(BLACKSMITH_MAMMON, SHADAI, ISHUMA);
|
||||
addCondCompletedQuest(Q10355_BlacksmithsSoul1.class.getSimpleName(), "31126-02.htm");
|
||||
addCondMinLevel(MAIN_LEVEL, getNoQuestMsg(null));
|
||||
registerQuestItems(Improved_SHADOW_Ingot, SHADOW_WEAPON_1, SHADOW_WEAPON_2, SHADOW_WEAPON_3, SHADOW_WEAPON_4, SHADOW_WEAPON_5, SHADOW_WEAPON_6, SHADOW_WEAPON_7, SHADOW_WEAPON_8, SHADOW_WEAPON_9, SHADOW_WEAPON_10, RESEARCH_SHADOW_WEAPON);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String onAdvEvent(String event, Npc npc, PlayerInstance player)
|
||||
{
|
||||
String htmltext = null;
|
||||
final QuestState qs = getQuestState(player, false);
|
||||
if (qs == null)
|
||||
{
|
||||
return getNoQuestMsg(player);
|
||||
}
|
||||
switch (event)
|
||||
{
|
||||
case "31126-01.htm":
|
||||
{
|
||||
qs.startQuest();
|
||||
htmltext = event;
|
||||
break;
|
||||
}
|
||||
case "31126-04.htm":
|
||||
{
|
||||
if (hasQuestItems(player, Improved_SHADOW_Ingot))
|
||||
{
|
||||
takeItems(player, Improved_SHADOW_Ingot, 1);
|
||||
qs.setCond(2);
|
||||
htmltext = event;
|
||||
}
|
||||
else
|
||||
{
|
||||
htmltext = "31126-03r.htm";
|
||||
}
|
||||
break;
|
||||
}
|
||||
case "SHADOW_WEAPON_1":
|
||||
{
|
||||
if (hasQuestItems(player, SHADOW_WEAPON_1))
|
||||
{
|
||||
takeItems(player, SHADOW_WEAPON_1, 1);
|
||||
giveItems(player, RESEARCH_SHADOW_WEAPON, 1);
|
||||
htmltext = "31126-06.htm";
|
||||
qs.setCond(3);
|
||||
}
|
||||
break;
|
||||
}
|
||||
case "SHADOW_WEAPON_2":
|
||||
{
|
||||
if (hasQuestItems(player, SHADOW_WEAPON_2))
|
||||
{
|
||||
takeItems(player, SHADOW_WEAPON_2, 1);
|
||||
giveItems(player, RESEARCH_SHADOW_WEAPON, 1);
|
||||
htmltext = "31126-06.htm";
|
||||
qs.setCond(3);
|
||||
}
|
||||
break;
|
||||
}
|
||||
case "SHADOW_WEAPON_3":
|
||||
{
|
||||
if (hasQuestItems(player, SHADOW_WEAPON_3))
|
||||
{
|
||||
takeItems(player, SHADOW_WEAPON_3, 1);
|
||||
giveItems(player, RESEARCH_SHADOW_WEAPON, 1);
|
||||
htmltext = "31126-06.htm";
|
||||
qs.setCond(3);
|
||||
}
|
||||
break;
|
||||
}
|
||||
case "SHADOW_WEAPON_4":
|
||||
{
|
||||
if (hasQuestItems(player, SHADOW_WEAPON_4))
|
||||
{
|
||||
takeItems(player, SHADOW_WEAPON_4, 1);
|
||||
giveItems(player, RESEARCH_SHADOW_WEAPON, 1);
|
||||
htmltext = "31126-06.htm";
|
||||
qs.setCond(3);
|
||||
}
|
||||
break;
|
||||
}
|
||||
case "SHADOW_WEAPON_5":
|
||||
{
|
||||
if (hasQuestItems(player, SHADOW_WEAPON_5))
|
||||
{
|
||||
takeItems(player, SHADOW_WEAPON_5, 1);
|
||||
giveItems(player, RESEARCH_SHADOW_WEAPON, 1);
|
||||
htmltext = "31126-06.htm";
|
||||
qs.setCond(3);
|
||||
}
|
||||
break;
|
||||
}
|
||||
case "SHADOW_WEAPON_6":
|
||||
{
|
||||
if (hasQuestItems(player, SHADOW_WEAPON_6))
|
||||
{
|
||||
takeItems(player, SHADOW_WEAPON_6, 1);
|
||||
giveItems(player, RESEARCH_SHADOW_WEAPON, 1);
|
||||
htmltext = "31126-06.htm";
|
||||
qs.setCond(3);
|
||||
htmltext = event;
|
||||
}
|
||||
break;
|
||||
}
|
||||
case "SHADOW_WEAPON_7":
|
||||
{
|
||||
if (hasQuestItems(player, SHADOW_WEAPON_7))
|
||||
{
|
||||
takeItems(player, SHADOW_WEAPON_7, 1);
|
||||
giveItems(player, RESEARCH_SHADOW_WEAPON, 1);
|
||||
htmltext = "31126-06.htm";
|
||||
qs.setCond(3);
|
||||
}
|
||||
break;
|
||||
}
|
||||
case "SHADOW_WEAPON_8":
|
||||
{
|
||||
if (hasQuestItems(player, SHADOW_WEAPON_8))
|
||||
{
|
||||
takeItems(player, SHADOW_WEAPON_8, 1);
|
||||
giveItems(player, RESEARCH_SHADOW_WEAPON, 1);
|
||||
htmltext = "31126-06.htm";
|
||||
qs.setCond(3);
|
||||
}
|
||||
break;
|
||||
}
|
||||
case "SHADOW_WEAPON_9":
|
||||
{
|
||||
if (hasQuestItems(player, SHADOW_WEAPON_9))
|
||||
{
|
||||
takeItems(player, SHADOW_WEAPON_9, 1);
|
||||
giveItems(player, RESEARCH_SHADOW_WEAPON, 1);
|
||||
htmltext = "31126-06.htm";
|
||||
qs.setCond(3);
|
||||
}
|
||||
break;
|
||||
}
|
||||
case "SHADOW_WEAPON_10":
|
||||
{
|
||||
if (hasQuestItems(player, SHADOW_WEAPON_10))
|
||||
{
|
||||
takeItems(player, SHADOW_WEAPON_10, 1);
|
||||
giveItems(player, RESEARCH_SHADOW_WEAPON, 1);
|
||||
htmltext = "31126-06.htm";
|
||||
qs.setCond(3);
|
||||
}
|
||||
break;
|
||||
}
|
||||
case "RESEARCH_SHADOW_WEAPON7":
|
||||
{
|
||||
if (hasQuestItems(player, RESEARCH_SHADOW_WEAPON) && (getEnchantLevel(player, RESEARCH_SHADOW_WEAPON) >= 7))
|
||||
{
|
||||
takeItems(player, RESEARCH_SHADOW_WEAPON, -1);
|
||||
giveItems(player, SHADOW_CRYSTAL, 2);
|
||||
qs.setCond(5);
|
||||
}
|
||||
}
|
||||
}
|
||||
return htmltext;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String onTalk(Npc npc, PlayerInstance player)
|
||||
{
|
||||
final QuestState qs = getQuestState(player, true);
|
||||
String htmltext = getNoQuestMsg(player);
|
||||
switch (npc.getId())
|
||||
{
|
||||
case BLACKSMITH_MAMMON:
|
||||
{
|
||||
switch (qs.getState())
|
||||
{
|
||||
case State.CREATED:
|
||||
{
|
||||
htmltext = "31126-00.htm";
|
||||
break;
|
||||
}
|
||||
case State.STARTED:
|
||||
{
|
||||
if (qs.isCond(1))
|
||||
{
|
||||
htmltext = "31126-03.htm";
|
||||
}
|
||||
else if (qs.isCond(2))
|
||||
{
|
||||
htmltext = "31126-05.htm";
|
||||
}
|
||||
else if (qs.isCond(3))
|
||||
{
|
||||
htmltext = "31126-08.htm";
|
||||
qs.setCond(4);
|
||||
}
|
||||
else if (qs.isCond(4))
|
||||
{
|
||||
if (hasQuestItems(player, RESEARCH_SHADOW_WEAPON))
|
||||
{
|
||||
htmltext = "31126-07.htm";
|
||||
}
|
||||
else
|
||||
{
|
||||
giveItems(player, RESEARCH_SHADOW_WEAPON, 1);
|
||||
htmltext = "31126-06.htm";
|
||||
}
|
||||
}
|
||||
else if (qs.isCond(6))
|
||||
{
|
||||
htmltext = "31126-09.htm";
|
||||
addExpAndSp(player, 32958000000L, 29662200);
|
||||
qs.exitQuest(false, true);
|
||||
}
|
||||
break;
|
||||
}
|
||||
case State.COMPLETED:
|
||||
{
|
||||
if (!qs.isNowAvailable())
|
||||
{
|
||||
htmltext = "31126-00a.htm";
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
case SHADAI:
|
||||
{
|
||||
switch (qs.getState())
|
||||
{
|
||||
case State.STARTED:
|
||||
{
|
||||
if (qs.isCond(5) && hasQuestItems(player, SHADOW_CRYSTAL))
|
||||
{
|
||||
htmltext = "32347-00.htm";
|
||||
takeItems(player, SHADOW_CRYSTAL, -1);
|
||||
qs.setCond(6);
|
||||
}
|
||||
break;
|
||||
}
|
||||
case State.COMPLETED:
|
||||
{
|
||||
if (!qs.isNowAvailable())
|
||||
{
|
||||
htmltext = "31126-00a.htm";
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
case ISHUMA:
|
||||
{
|
||||
switch (qs.getState())
|
||||
{
|
||||
case State.STARTED:
|
||||
{
|
||||
if (qs.isCond(5) && hasQuestItems(player, SHADOW_CRYSTAL))
|
||||
{
|
||||
htmltext = "32615-00.htm";
|
||||
takeItems(player, SHADOW_CRYSTAL, -1);
|
||||
qs.setCond(6);
|
||||
}
|
||||
break;
|
||||
}
|
||||
case State.COMPLETED:
|
||||
{
|
||||
if (!qs.isNowAvailable())
|
||||
{
|
||||
htmltext = "31126-00a.htm";
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
return htmltext;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String onKill(Npc npc, PlayerInstance player, boolean isSummon)
|
||||
{
|
||||
executeForEachPlayer(player, npc, isSummon, true, false);
|
||||
return super.onKill(npc, player, isSummon);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Set<NpcLogListHolder> getNpcLogList(PlayerInstance player)
|
||||
{
|
||||
final QuestState qs = getQuestState(player, false);
|
||||
if ((qs != null) && qs.isCond(2))
|
||||
{
|
||||
if (hasAtLeastOneQuestItem(player, SHADOW_WEAPON_1, SHADOW_WEAPON_2, SHADOW_WEAPON_3, SHADOW_WEAPON_4, SHADOW_WEAPON_5, SHADOW_WEAPON_6, SHADOW_WEAPON_7, SHADOW_WEAPON_8, SHADOW_WEAPON_9, SHADOW_WEAPON_10))
|
||||
{
|
||||
final Set<NpcLogListHolder> holder = new HashSet<>();
|
||||
holder.add(new NpcLogListHolder(NpcStringId.BRING_SHADOW_WEAPON, 1));
|
||||
return holder;
|
||||
}
|
||||
|
||||
}
|
||||
if ((qs != null) && qs.isCond(4))
|
||||
{
|
||||
if ((getEnchantLevel(player, RESEARCH_SHADOW_WEAPON) >= 7))
|
||||
{
|
||||
final Set<NpcLogListHolder> holder = new HashSet<>();
|
||||
holder.add(new NpcLogListHolder(NpcStringId.ENCHANT_THE_RESEARCH_WEAPON, 1));
|
||||
return holder;
|
||||
}
|
||||
|
||||
}
|
||||
return super.getNpcLogList(player);
|
||||
}
|
||||
}
|
@ -0,0 +1,3 @@
|
||||
<html><body>Beola:<br>
|
||||
You have completed the quest.<br>
|
||||
</body></html>
|
@ -0,0 +1,3 @@
|
||||
<html><body>Beola:<br>
|
||||
It's a fortunate thing that such a skilled adventurer as yourself has committed to making yourself available to the cause. Here is your mission.
|
||||
</body></html>
|
@ -0,0 +1,5 @@
|
||||
<html><body>Beloa:<br>
|
||||
You need 30 of the Renants of the Rift item in order to seal the Dimensional Rift..<br>
|
||||
Are you strong enough to collect 30 Remnant of the Rift for me?<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10373_ExploringTheDimensionSealingTheDimension 34227-04.htm">"Yes I'm."</Button>
|
||||
</body></html>
|
@ -0,0 +1,3 @@
|
||||
<html><body>Beola:<br>
|
||||
Not done yet.
|
||||
</body></html>
|
@ -0,0 +1,107 @@
|
||||
/*
|
||||
* 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.Q10373_ExploringTheDimensionSealingTheDimension;
|
||||
|
||||
import org.l2jmobius.gameserver.enums.QuestType;
|
||||
import org.l2jmobius.gameserver.model.actor.Npc;
|
||||
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
|
||||
import org.l2jmobius.gameserver.model.quest.Quest;
|
||||
import org.l2jmobius.gameserver.model.quest.QuestState;
|
||||
import org.l2jmobius.gameserver.model.quest.State;
|
||||
|
||||
/**
|
||||
* @author Sero
|
||||
*/
|
||||
public class Q10373_ExploringTheDimensionSealingTheDimension extends Quest
|
||||
{
|
||||
private static final int BELOA = 34227;
|
||||
private static final int RUNE_STONE = 39738;
|
||||
private static final int COMMANDO_BELT = 47044;
|
||||
private static final int REMNANT_OF_THE_RIFT = 46787;
|
||||
private static final int ZODIAC_AGATHION = 45577;
|
||||
private static final int MIN_LEVEL = 95;
|
||||
|
||||
public Q10373_ExploringTheDimensionSealingTheDimension()
|
||||
{
|
||||
super(10373);
|
||||
addStartNpc(BELOA);
|
||||
addTalkId(BELOA);
|
||||
addCondMinLevel(MIN_LEVEL, getNoQuestMsg(null));
|
||||
}
|
||||
|
||||
@Override
|
||||
public String onAdvEvent(String event, Npc npc, PlayerInstance player)
|
||||
{
|
||||
String htmltext = null;
|
||||
final QuestState qs = getQuestState(player, false);
|
||||
if (qs == null)
|
||||
{
|
||||
return getNoQuestMsg(player);
|
||||
}
|
||||
if (event.equals("34227-04.htm"))
|
||||
{
|
||||
qs.startQuest();
|
||||
htmltext = event;
|
||||
}
|
||||
return htmltext;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String onTalk(Npc npc, PlayerInstance player)
|
||||
{
|
||||
final QuestState qs = getQuestState(player, true);
|
||||
String htmltext = getNoQuestMsg(player);
|
||||
if (npc.getId() == BELOA)
|
||||
{
|
||||
switch (qs.getState())
|
||||
{
|
||||
case State.CREATED:
|
||||
{
|
||||
htmltext = "34227-05.htm";
|
||||
break;
|
||||
}
|
||||
case State.STARTED:
|
||||
{
|
||||
if (getQuestItemsCount(player, REMNANT_OF_THE_RIFT) >= 30)
|
||||
{
|
||||
takeItems(player, REMNANT_OF_THE_RIFT, -1);
|
||||
giveItems(player, COMMANDO_BELT, 1);
|
||||
giveItems(player, ZODIAC_AGATHION, 1);
|
||||
giveItems(player, RUNE_STONE, 1);
|
||||
addExpAndSp(player, 12113489880L, 12113460);
|
||||
qs.exitQuest(QuestType.ONE_TIME);
|
||||
htmltext = "30756-09.html";
|
||||
}
|
||||
else
|
||||
{
|
||||
htmltext = "34227-05a.htm";
|
||||
}
|
||||
break;
|
||||
}
|
||||
case State.COMPLETED:
|
||||
{
|
||||
if (!qs.isNowAvailable())
|
||||
{
|
||||
htmltext = "34227-00a.htm";
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return htmltext;
|
||||
}
|
||||
}
|
3
L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10535_BlacksmithsSoul3/31126-00.htm
vendored
Normal file
3
L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10535_BlacksmithsSoul3/31126-00.htm
vendored
Normal file
@ -0,0 +1,3 @@
|
||||
<html><body>Mammon:<br>
|
||||
This the <font color="LEVEL">Last challenge</font> Defeat monster in Giant's Cave and Hellbound collect Ore with Giant's Energy and Crystal with Magical Power Crystal with Magical Power then take them to Shadai and Ishuma.
|
||||
</body></html>
|
3
L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10535_BlacksmithsSoul3/31126-01.htm
vendored
Normal file
3
L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10535_BlacksmithsSoul3/31126-01.htm
vendored
Normal file
@ -0,0 +1,3 @@
|
||||
<html><body>Mammon:<br>
|
||||
Congratulations you have completed the challenge you deserve your reward warrior!
|
||||
</body></html>
|
3
L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10535_BlacksmithsSoul3/32347-00.htm
vendored
Normal file
3
L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10535_BlacksmithsSoul3/32347-00.htm
vendored
Normal file
@ -0,0 +1,3 @@
|
||||
<html><body>Shadai:<br>
|
||||
Thank you for your hard work.
|
||||
</body></html>
|
3
L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10535_BlacksmithsSoul3/32615-00.htm
vendored
Normal file
3
L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10535_BlacksmithsSoul3/32615-00.htm
vendored
Normal file
@ -0,0 +1,3 @@
|
||||
<html><body>Ishuma:<br>
|
||||
Thank you for your hard work.
|
||||
</body></html>
|
@ -0,0 +1,238 @@
|
||||
/*
|
||||
* 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.Q10535_BlacksmithsSoul3;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import org.l2jmobius.commons.util.CommonUtil;
|
||||
import org.l2jmobius.gameserver.enums.QuestSound;
|
||||
import org.l2jmobius.gameserver.model.Party;
|
||||
import org.l2jmobius.gameserver.model.actor.Npc;
|
||||
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
|
||||
import org.l2jmobius.gameserver.model.quest.Quest;
|
||||
import org.l2jmobius.gameserver.model.quest.QuestState;
|
||||
import org.l2jmobius.gameserver.model.quest.State;
|
||||
|
||||
import quests.Q10356_BlacksmithsSoul2.Q10356_BlacksmithsSoul2;
|
||||
|
||||
/**
|
||||
* @author Sero
|
||||
*/
|
||||
public class Q10535_BlacksmithsSoul3 extends Quest
|
||||
{
|
||||
// NPCs
|
||||
private static final int BLACKSMITH_MAMMON = 31126;
|
||||
private static final int SHADAI = 32347;
|
||||
private static final int ISHUMA = 32615;
|
||||
// Monsters
|
||||
private static final int[] HELL_MONSTERS =
|
||||
{
|
||||
23386, // Jabberwok
|
||||
23387, // Kanzaroth
|
||||
23388, // Kandiloth
|
||||
23384, // Smaug
|
||||
23385, // Lunatikan
|
||||
23399, // Bend Beetle
|
||||
23398, // Koraza
|
||||
23397, // Desert Wendigo
|
||||
23395, // Garion
|
||||
23396, // Garion neti
|
||||
};
|
||||
private static final int[] CAVE_MONSTERS =
|
||||
{
|
||||
23727, // Shaqrima Bathus
|
||||
23728, // Shaqrima Carcass
|
||||
23729, // Kshana
|
||||
};
|
||||
// Items
|
||||
private static final int OREWITH_GIANTS_ENERGY = 47892;
|
||||
private static final int CRYSTAL_WITH_MAGOCAL_POWER = 47891;
|
||||
private static final int ENCHANTED_SHADOW_INGOT = 47886;
|
||||
// Misc
|
||||
private static final int MAIN_LEVEL = 99;
|
||||
|
||||
public Q10535_BlacksmithsSoul3()
|
||||
{
|
||||
super(10535);
|
||||
addStartNpc(BLACKSMITH_MAMMON);
|
||||
addTalkId(BLACKSMITH_MAMMON, SHADAI, ISHUMA);
|
||||
addKillId(HELL_MONSTERS);
|
||||
addKillId(CAVE_MONSTERS);
|
||||
addCondCompletedQuest(Q10356_BlacksmithsSoul2.class.getSimpleName(), "31126-02.htm");
|
||||
addCondMinLevel(MAIN_LEVEL, getNoQuestMsg(null));
|
||||
}
|
||||
|
||||
@Override
|
||||
public String onTalk(Npc npc, PlayerInstance player)
|
||||
{
|
||||
final QuestState qs = getQuestState(player, true);
|
||||
String htmltext = getNoQuestMsg(player);
|
||||
switch (npc.getId())
|
||||
{
|
||||
case BLACKSMITH_MAMMON:
|
||||
{
|
||||
switch (qs.getState())
|
||||
{
|
||||
case State.CREATED:
|
||||
{
|
||||
htmltext = "31126-00.htm";
|
||||
qs.startQuest();
|
||||
break;
|
||||
}
|
||||
case State.STARTED:
|
||||
{
|
||||
if (qs.isCond(9))
|
||||
{
|
||||
htmltext = "31126-01.htm";
|
||||
addExpAndSp(player, 40346120829L, 36311508);
|
||||
giveItems(player, ENCHANTED_SHADOW_INGOT, 1);
|
||||
qs.exitQuest(false, true);
|
||||
}
|
||||
break;
|
||||
}
|
||||
case State.COMPLETED:
|
||||
{
|
||||
if (!qs.isNowAvailable())
|
||||
{
|
||||
htmltext = "31126-00a.htm";
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
case SHADAI:
|
||||
{
|
||||
switch (qs.getState())
|
||||
{
|
||||
case State.STARTED:
|
||||
{
|
||||
if (qs.isCond(7) && (getQuestItemsCount(player, CRYSTAL_WITH_MAGOCAL_POWER) >= 500) && (getQuestItemsCount(player, OREWITH_GIANTS_ENERGY) >= 500))
|
||||
{
|
||||
htmltext = "32347-00.htm";
|
||||
takeItems(player, CRYSTAL_WITH_MAGOCAL_POWER, -1);
|
||||
qs.setCond(8);
|
||||
}
|
||||
break;
|
||||
}
|
||||
case State.COMPLETED:
|
||||
{
|
||||
if (!qs.isNowAvailable())
|
||||
{
|
||||
htmltext = "31126-00a.htm";
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
case ISHUMA:
|
||||
{
|
||||
switch (qs.getState())
|
||||
{
|
||||
case State.STARTED:
|
||||
{
|
||||
if (qs.isCond(8) && (getQuestItemsCount(player, OREWITH_GIANTS_ENERGY) >= 500))
|
||||
{
|
||||
htmltext = "32615-00.htm";
|
||||
takeItems(player, OREWITH_GIANTS_ENERGY, -1);
|
||||
qs.setCond(9);
|
||||
}
|
||||
break;
|
||||
}
|
||||
case State.COMPLETED:
|
||||
{
|
||||
if (!qs.isNowAvailable())
|
||||
{
|
||||
htmltext = "31126-00a.htm";
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
return htmltext;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String onKill(Npc npc, PlayerInstance killer, boolean isSummon)
|
||||
{
|
||||
if (killer.isInParty())
|
||||
{
|
||||
final Party party = killer.getParty();
|
||||
final List<PlayerInstance> partyMember = party.getMembers();
|
||||
for (PlayerInstance singleMember : partyMember)
|
||||
{
|
||||
final QuestState qsPartyMember = getQuestState(singleMember, false);
|
||||
final double distance = npc.calculateDistance3D(singleMember);
|
||||
if ((qsPartyMember != null) && (distance <= 1000))
|
||||
{
|
||||
if (qsPartyMember.isCond(1))
|
||||
{
|
||||
if (CommonUtil.contains(HELL_MONSTERS, npc.getId()) && (getQuestItemsCount(singleMember, CRYSTAL_WITH_MAGOCAL_POWER) < 500))
|
||||
{
|
||||
giveItems(singleMember, CRYSTAL_WITH_MAGOCAL_POWER, 1);
|
||||
playSound(singleMember, QuestSound.ITEMSOUND_QUEST_ITEMGET);
|
||||
}
|
||||
}
|
||||
if (qsPartyMember.isCond(1))
|
||||
{
|
||||
if (CommonUtil.contains(CAVE_MONSTERS, npc.getId()) && (getQuestItemsCount(singleMember, OREWITH_GIANTS_ENERGY) < 500))
|
||||
{
|
||||
giveItems(singleMember, OREWITH_GIANTS_ENERGY, 1);
|
||||
playSound(singleMember, QuestSound.ITEMSOUND_QUEST_ITEMGET);
|
||||
}
|
||||
}
|
||||
if (qsPartyMember.isCond(1) && (getQuestItemsCount(singleMember, OREWITH_GIANTS_ENERGY) >= 500) && (getQuestItemsCount(singleMember, CRYSTAL_WITH_MAGOCAL_POWER) >= 500))
|
||||
{
|
||||
qsPartyMember.setCond(7);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
final QuestState qs = getRandomPartyMemberState(killer, -1, 3, npc);
|
||||
if (qs != null)
|
||||
{
|
||||
if (qs.isCond(1))
|
||||
{
|
||||
if (CommonUtil.contains(HELL_MONSTERS, npc.getId()) && (getQuestItemsCount(killer, CRYSTAL_WITH_MAGOCAL_POWER) < 500))
|
||||
{
|
||||
giveItems(killer, CRYSTAL_WITH_MAGOCAL_POWER, 1);
|
||||
playSound(killer, QuestSound.ITEMSOUND_QUEST_ITEMGET);
|
||||
|
||||
}
|
||||
}
|
||||
if (qs.isCond(1))
|
||||
{
|
||||
if (CommonUtil.contains(CAVE_MONSTERS, npc.getId()) && (getQuestItemsCount(killer, OREWITH_GIANTS_ENERGY) < 500))
|
||||
{
|
||||
giveItems(killer, OREWITH_GIANTS_ENERGY, 1);
|
||||
playSound(killer, QuestSound.ITEMSOUND_QUEST_ITEMGET);
|
||||
}
|
||||
}
|
||||
if (qs.isCond(1) && (getQuestItemsCount(killer, OREWITH_GIANTS_ENERGY) >= 500) && (getQuestItemsCount(killer, CRYSTAL_WITH_MAGOCAL_POWER) >= 500))
|
||||
{
|
||||
qs.setCond(7);
|
||||
}
|
||||
}
|
||||
}
|
||||
return super.onKill(npc, killer, isSummon);
|
||||
}
|
||||
}
|
@ -297,6 +297,8 @@ import quests.Q10346_DayOfDestinyKamaelsFate.Q10346_DayOfDestinyKamaelsFate;
|
||||
import quests.Q10351_OwnerOfHall.Q10351_OwnerOfHall;
|
||||
import quests.Q10353_CertificationOfValue.Q10353_CertificationOfValue;
|
||||
import quests.Q10354_ResurrectedOwnerOfHall.Q10354_ResurrectedOwnerOfHall;
|
||||
import quests.Q10355_BlacksmithsSoul1.Q10355_BlacksmithsSoul1;
|
||||
import quests.Q10356_BlacksmithsSoul2.Q10356_BlacksmithsSoul2;
|
||||
import quests.Q10358_DividedSakumPoslof.Q10358_DividedSakumPoslof;
|
||||
import quests.Q10359_TracesOfEvil.Q10359_TracesOfEvil;
|
||||
import quests.Q10360_CertificationOfFate.Q10360_CertificationOfFate;
|
||||
@ -309,6 +311,7 @@ import quests.Q10369_NoblesseSoulTesting.Q10369_NoblesseSoulTesting;
|
||||
import quests.Q10370_MenacingTimes.Q10370_MenacingTimes;
|
||||
import quests.Q10371_GraspThyPower.Q10371_GraspThyPower;
|
||||
import quests.Q10372_PurgatoryVolvere.Q10372_PurgatoryVolvere;
|
||||
import quests.Q10373_ExploringTheDimensionSealingTheDimension.Q10373_ExploringTheDimensionSealingTheDimension;
|
||||
import quests.Q10374_ThatPlaceSuccubus.Q10374_ThatPlaceSuccubus;
|
||||
import quests.Q10375_SuccubusDisciples.Q10375_SuccubusDisciples;
|
||||
import quests.Q10376_BloodyGoodTime.Q10376_BloodyGoodTime;
|
||||
@ -393,6 +396,7 @@ import quests.Q10530_KekropusLetterTheDragonsTransition.Q10530_KekropusLetterThe
|
||||
import quests.Q10531_OddHappeningsAtDragonValley.Q10531_OddHappeningsAtDragonValley;
|
||||
import quests.Q10532_UncoveringTheConspiracy.Q10532_UncoveringTheConspiracy;
|
||||
import quests.Q10534_HatchlingResearch.Q10534_HatchlingResearch;
|
||||
import quests.Q10535_BlacksmithsSoul3.Q10535_BlacksmithsSoul3;
|
||||
import quests.Q10537_KamaelDisarray.Q10537_KamaelDisarray;
|
||||
import quests.Q10538_GiantsEvolution.Q10538_GiantsEvolution;
|
||||
import quests.Q10539_EnergySupplyCutoffPlan.Q10539_EnergySupplyCutoffPlan;
|
||||
@ -562,12 +566,8 @@ import quests.not_done.Q00987_AdventureGuildsSpecialRequestLv3;
|
||||
import quests.not_done.Q00988_AdventureGuildsSpecialRequestLv4;
|
||||
import quests.not_done.Q00989_AdventureGuildsSpecialRequestLv5;
|
||||
import quests.not_done.Q10298_WastelandQueen;
|
||||
import quests.not_done.Q10355_BlacksmithsSoul1;
|
||||
import quests.not_done.Q10356_BlacksmithsSoul2;
|
||||
import quests.not_done.Q10373_ExploringTheDimensionSealingTheDimension;
|
||||
import quests.not_done.Q10396_WitchOfSpores;
|
||||
import quests.not_done.Q10506_DianasRequest;
|
||||
import quests.not_done.Q10535_BlacksmithsSoul3;
|
||||
import quests.not_done.Q10552_ChallengeBalthusKnight;
|
||||
import quests.not_done.Q10553_WhatMattersMoreThanAbility;
|
||||
import quests.not_done.Q10554_GiftForYou;
|
||||
@ -920,8 +920,8 @@ public class QuestMasterHandler
|
||||
Q10351_OwnerOfHall.class,
|
||||
Q10353_CertificationOfValue.class,
|
||||
Q10354_ResurrectedOwnerOfHall.class,
|
||||
Q10355_BlacksmithsSoul1.class, // TODO: Not done.
|
||||
Q10356_BlacksmithsSoul2.class, // TODO: Not done.
|
||||
Q10355_BlacksmithsSoul1.class,
|
||||
Q10356_BlacksmithsSoul2.class,
|
||||
Q10358_DividedSakumPoslof.class,
|
||||
Q10359_TracesOfEvil.class,
|
||||
Q10360_CertificationOfFate.class,
|
||||
@ -934,7 +934,7 @@ public class QuestMasterHandler
|
||||
Q10370_MenacingTimes.class,
|
||||
Q10371_GraspThyPower.class,
|
||||
Q10372_PurgatoryVolvere.class,
|
||||
Q10373_ExploringTheDimensionSealingTheDimension.class, // TODO: Not done.
|
||||
Q10373_ExploringTheDimensionSealingTheDimension.class,
|
||||
Q10374_ThatPlaceSuccubus.class,
|
||||
Q10375_SuccubusDisciples.class,
|
||||
Q10376_BloodyGoodTime.class,
|
||||
@ -1021,7 +1021,7 @@ public class QuestMasterHandler
|
||||
Q10531_OddHappeningsAtDragonValley.class,
|
||||
Q10532_UncoveringTheConspiracy.class,
|
||||
Q10534_HatchlingResearch.class,
|
||||
Q10535_BlacksmithsSoul3.class, // TODO: Not done.
|
||||
Q10535_BlacksmithsSoul3.class,
|
||||
Q10537_KamaelDisarray.class,
|
||||
Q10538_GiantsEvolution.class,
|
||||
Q10539_EnergySupplyCutoffPlan.class,
|
||||
|
@ -1,36 +0,0 @@
|
||||
/*
|
||||
* 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.not_done;
|
||||
|
||||
import org.l2jmobius.Config;
|
||||
import org.l2jmobius.gameserver.model.quest.Quest;
|
||||
|
||||
/**
|
||||
* @author Mobius
|
||||
*/
|
||||
public class Q10355_BlacksmithsSoul1 extends Quest
|
||||
{
|
||||
private static final int START_NPC = 34095;
|
||||
|
||||
public Q10355_BlacksmithsSoul1()
|
||||
{
|
||||
super(10355);
|
||||
addStartNpc(START_NPC);
|
||||
addTalkId(START_NPC);
|
||||
addCondMinLevel(Config.PLAYER_MAXIMUM_LEVEL, getNoQuestMsg(null));
|
||||
}
|
||||
}
|
@ -1,36 +0,0 @@
|
||||
/*
|
||||
* 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.not_done;
|
||||
|
||||
import org.l2jmobius.Config;
|
||||
import org.l2jmobius.gameserver.model.quest.Quest;
|
||||
|
||||
/**
|
||||
* @author Mobius
|
||||
*/
|
||||
public class Q10356_BlacksmithsSoul2 extends Quest
|
||||
{
|
||||
private static final int START_NPC = 31126;
|
||||
|
||||
public Q10356_BlacksmithsSoul2()
|
||||
{
|
||||
super(10356);
|
||||
addStartNpc(START_NPC);
|
||||
addTalkId(START_NPC);
|
||||
addCondMinLevel(Config.PLAYER_MAXIMUM_LEVEL, getNoQuestMsg(null));
|
||||
}
|
||||
}
|
@ -1,36 +0,0 @@
|
||||
/*
|
||||
* 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.not_done;
|
||||
|
||||
import org.l2jmobius.Config;
|
||||
import org.l2jmobius.gameserver.model.quest.Quest;
|
||||
|
||||
/**
|
||||
* @author Mobius
|
||||
*/
|
||||
public class Q10373_ExploringTheDimensionSealingTheDimension extends Quest
|
||||
{
|
||||
private static final int START_NPC = 34227;
|
||||
|
||||
public Q10373_ExploringTheDimensionSealingTheDimension()
|
||||
{
|
||||
super(10373);
|
||||
addStartNpc(START_NPC);
|
||||
addTalkId(START_NPC);
|
||||
addCondMinLevel(Config.PLAYER_MAXIMUM_LEVEL, getNoQuestMsg(null));
|
||||
}
|
||||
}
|
@ -1,36 +0,0 @@
|
||||
/*
|
||||
* 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.not_done;
|
||||
|
||||
import org.l2jmobius.Config;
|
||||
import org.l2jmobius.gameserver.model.quest.Quest;
|
||||
|
||||
/**
|
||||
* @author Mobius
|
||||
*/
|
||||
public class Q10535_BlacksmithsSoul3 extends Quest
|
||||
{
|
||||
private static final int START_NPC = 31126;
|
||||
|
||||
public Q10535_BlacksmithsSoul3()
|
||||
{
|
||||
super(10535);
|
||||
addStartNpc(START_NPC);
|
||||
addTalkId(START_NPC);
|
||||
addCondMinLevel(Config.PLAYER_MAXIMUM_LEVEL, getNoQuestMsg(null));
|
||||
}
|
||||
}
|
@ -117,14 +117,10 @@
|
||||
988 Adventure Guild's Special Request - Lv. 4
|
||||
989 Adventure Guild's Special Request - Lv. 5
|
||||
10298 Wasteland Queen
|
||||
10355 Blacksmith's Soul-awakening Weapon - 1
|
||||
10356 Blacksmith's Soul-awakening Weapon - 2
|
||||
10373 Exploring the Dimension - Sealing the Dimension
|
||||
10423 Embryo Stronghold Ambush
|
||||
10506 Diana's Request
|
||||
10529 Ivory Tower's Research - Sea of Spores Journal
|
||||
10533 Orfen's Ambition
|
||||
10535 Blacksmith's Soul-awakening Weapon - 3
|
||||
10552 Challenge! Balthus Knight!
|
||||
10553 What Matters More Than Ability
|
||||
10554 Gift for You
|
||||
|
3
L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10355_BlacksmithsSoul1/30499-00.htm
vendored
Normal file
3
L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10355_BlacksmithsSoul1/30499-00.htm
vendored
Normal file
@ -0,0 +1,3 @@
|
||||
<html><body>Taboy:<br>
|
||||
Hello now Go ahead and talk with <font color="LEVEL">Legendary Blacksmith Shadai</font> in <font color="LEVEL">Heine</font>!<br>
|
||||
</body></html>
|
3
L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10355_BlacksmithsSoul1/31126-00.htm
vendored
Normal file
3
L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10355_BlacksmithsSoul1/31126-00.htm
vendored
Normal file
@ -0,0 +1,3 @@
|
||||
<html><body>Mammon:<br>
|
||||
You have made a great work now you go to <font color="LEVEL">Nightmare Kamaloka</font> and defeat 5 of <font color="LEVEL">Dark Rider</font> then go to <font color="LEVEL">Command Post</font> and defeat 5 of <font color="LEVEL"> Burnstein (Command Post)</font><br>
|
||||
</body></html>
|
3
L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10355_BlacksmithsSoul1/31126-01.htm
vendored
Normal file
3
L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10355_BlacksmithsSoul1/31126-01.htm
vendored
Normal file
@ -0,0 +1,3 @@
|
||||
<html><body>Mammon:<br>
|
||||
You have made a great work now you go to <font color="LEVEL"> Enchanted Valley</font> and defeat 3000 of them.
|
||||
</body></html>
|
3
L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10355_BlacksmithsSoul1/31126-02.htm
vendored
Normal file
3
L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10355_BlacksmithsSoul1/31126-02.htm
vendored
Normal file
@ -0,0 +1,3 @@
|
||||
<html><body>Mammon:<br>
|
||||
You need to defeat 5 of <font color="LEVEL">Dark Rider</font> then go to <font color="LEVEL">Command Post</font> and defeat 5 of <font color="LEVEL"> Burnstein (Command Post)</font> and bring me 5 <font color="LEVEL"> Shadow ingot</font>.
|
||||
</body></html>
|
3
L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10355_BlacksmithsSoul1/31126-03.htm
vendored
Normal file
3
L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10355_BlacksmithsSoul1/31126-03.htm
vendored
Normal file
@ -0,0 +1,3 @@
|
||||
<html><body>Mammon:<br>
|
||||
Congratulations you have complate the challenge now you're able to take the next challenge <font color="LEVEL"> Blacksmiths Soul part 2 </font> and bring me 5 Shadow ingot.<br>
|
||||
</body></html>
|
3
L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10355_BlacksmithsSoul1/32347-00.htm
vendored
Normal file
3
L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10355_BlacksmithsSoul1/32347-00.htm
vendored
Normal file
@ -0,0 +1,3 @@
|
||||
<html><body>Shadai:<br>
|
||||
Hello now go ahead and talk with <font color="LEVEL">Maestro Ishuma</font> at <font color="LEVEL">Wharf of Gludio Airships</font>!<br>
|
||||
</body></html>
|
3
L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10355_BlacksmithsSoul1/32615-00.htm
vendored
Normal file
3
L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10355_BlacksmithsSoul1/32615-00.htm
vendored
Normal file
@ -0,0 +1,3 @@
|
||||
<html><body>Shadai:<br>
|
||||
Hello now Go ahead and talk with <font color="LEVEL">Blacksmith of Mammon</font> at <font color="LEVEL">Aden</font> or <font color="LEVEL">Giran</font>!<br>
|
||||
</body></html>
|
4
L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10355_BlacksmithsSoul1/34095-00.htm
vendored
Normal file
4
L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10355_BlacksmithsSoul1/34095-00.htm
vendored
Normal file
@ -0,0 +1,4 @@
|
||||
<html><body>Neti:<br>
|
||||
This will be long way !<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10355_BlacksmithsSoul1 34095-01.htm">"Okay."</Button>
|
||||
</body></html>
|
3
L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10355_BlacksmithsSoul1/34095-01.htm
vendored
Normal file
3
L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10355_BlacksmithsSoul1/34095-01.htm
vendored
Normal file
@ -0,0 +1,3 @@
|
||||
<html><body>Neti:<br>
|
||||
Great you choose to take the challenge Go ahead and talk with <font color="LEVEL">Head Blacksmith Tapoy</font> in <font color="LEVEL">Gludin </font>!<br>
|
||||
</body></html>
|
@ -0,0 +1,320 @@
|
||||
/*
|
||||
* 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.Q10355_BlacksmithsSoul1;
|
||||
|
||||
import java.util.HashSet;
|
||||
import java.util.Set;
|
||||
|
||||
import org.l2jmobius.gameserver.enums.QuestSound;
|
||||
import org.l2jmobius.gameserver.model.actor.Npc;
|
||||
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
|
||||
import org.l2jmobius.gameserver.model.holders.NpcLogListHolder;
|
||||
import org.l2jmobius.gameserver.model.quest.Quest;
|
||||
import org.l2jmobius.gameserver.model.quest.QuestState;
|
||||
import org.l2jmobius.gameserver.model.quest.State;
|
||||
import org.l2jmobius.gameserver.network.NpcStringId;
|
||||
|
||||
/**
|
||||
* @author Sero
|
||||
*/
|
||||
public class Q10355_BlacksmithsSoul1 extends Quest
|
||||
{
|
||||
// NPC
|
||||
private static final int NETI = 34095;
|
||||
private static final int TAPOY = 30499;
|
||||
private static final int SHADAI = 32347;
|
||||
private static final int ISHUMA = 32615;
|
||||
private static final int MERCHANT_OF_MAMMON = 31126;
|
||||
// Items
|
||||
private static final int SHADOW_INGOT = 46395;
|
||||
|
||||
// Monsters
|
||||
private static final int BURNSTEIN = 23587;
|
||||
private static final int DARK_RIDER = 26102;
|
||||
private static final int[] NYMPH_MONSTERS =
|
||||
{
|
||||
23569, // Nymph Lily
|
||||
23583, // Nymph Lily big
|
||||
23573, // Nymph Cosmos
|
||||
23567, // Nymph Rose
|
||||
23578, // Nymph Guardian
|
||||
23570, // Nymph Tulip
|
||||
19600, // Flower Bud
|
||||
23581, // Apherus
|
||||
};
|
||||
// Misc
|
||||
private static final int MIN_LEVEL = 99;
|
||||
private static final String KILL_COUNT_VAR = "KillCount";
|
||||
|
||||
public Q10355_BlacksmithsSoul1()
|
||||
{
|
||||
super(10355);
|
||||
addStartNpc(NETI);
|
||||
addTalkId(NETI, TAPOY, SHADAI, ISHUMA, MERCHANT_OF_MAMMON);
|
||||
registerQuestItems(SHADOW_INGOT);
|
||||
addKillId(DARK_RIDER);
|
||||
addKillId(BURNSTEIN);
|
||||
addKillId(NYMPH_MONSTERS);
|
||||
addCondMinLevel(MIN_LEVEL, getNoQuestMsg(null));
|
||||
}
|
||||
|
||||
@Override
|
||||
public String onAdvEvent(String event, Npc npc, PlayerInstance player)
|
||||
{
|
||||
String htmltext = null;
|
||||
final QuestState qs = getQuestState(player, false);
|
||||
if (qs == null)
|
||||
{
|
||||
return getNoQuestMsg(player);
|
||||
}
|
||||
if (event.equals("34095-01.htm"))
|
||||
{
|
||||
qs.startQuest();
|
||||
htmltext = event;
|
||||
}
|
||||
return htmltext;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String onTalk(Npc npc, PlayerInstance player)
|
||||
{
|
||||
final QuestState qs = getQuestState(player, true);
|
||||
String htmltext = getNoQuestMsg(player);
|
||||
switch (npc.getId())
|
||||
{
|
||||
case NETI:
|
||||
{
|
||||
switch (qs.getState())
|
||||
{
|
||||
case State.CREATED:
|
||||
{
|
||||
htmltext = "34095-00.htm";
|
||||
break;
|
||||
}
|
||||
case State.STARTED:
|
||||
{
|
||||
htmltext = "30756-09.html";
|
||||
break;
|
||||
}
|
||||
case State.COMPLETED:
|
||||
{
|
||||
if (!qs.isNowAvailable())
|
||||
{
|
||||
htmltext = "34227-00a.htm";
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
case TAPOY:
|
||||
{
|
||||
switch (qs.getState())
|
||||
{
|
||||
case State.STARTED:
|
||||
{
|
||||
if (qs.isCond(1))
|
||||
{
|
||||
htmltext = "30499-00.htm";
|
||||
qs.setCond(2);
|
||||
}
|
||||
else
|
||||
{
|
||||
htmltext = "30499-00.htm";
|
||||
}
|
||||
break;
|
||||
}
|
||||
case State.COMPLETED:
|
||||
{
|
||||
if (!qs.isNowAvailable())
|
||||
{
|
||||
htmltext = "34227-00a.htm";
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
case SHADAI:
|
||||
{
|
||||
switch (qs.getState())
|
||||
{
|
||||
case State.STARTED:
|
||||
{
|
||||
if (qs.isCond(2))
|
||||
{
|
||||
htmltext = "32347-00.htm";
|
||||
qs.setCond(3);
|
||||
}
|
||||
else
|
||||
{
|
||||
htmltext = "32347-00.htm";
|
||||
}
|
||||
break;
|
||||
}
|
||||
case State.COMPLETED:
|
||||
{
|
||||
if (!qs.isNowAvailable())
|
||||
{
|
||||
htmltext = "34227-00a.htm";
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
case ISHUMA:
|
||||
{
|
||||
switch (qs.getState())
|
||||
{
|
||||
case State.STARTED:
|
||||
{
|
||||
if (qs.isCond(3))
|
||||
{
|
||||
htmltext = "32615-00.htm";
|
||||
qs.setCond(4);
|
||||
}
|
||||
else
|
||||
{
|
||||
htmltext = "32615-00.htm";
|
||||
}
|
||||
break;
|
||||
}
|
||||
case State.COMPLETED:
|
||||
{
|
||||
if (!qs.isNowAvailable())
|
||||
{
|
||||
htmltext = "34227-00a.htm";
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
case MERCHANT_OF_MAMMON:
|
||||
{
|
||||
switch (qs.getState())
|
||||
{
|
||||
case State.STARTED:
|
||||
{
|
||||
if (qs.isCond(4))
|
||||
{
|
||||
htmltext = "31126-00.htm";
|
||||
qs.setCond(5);
|
||||
}
|
||||
else if (qs.isCond(5))
|
||||
{
|
||||
htmltext = "31126-00.htm";
|
||||
}
|
||||
else if (qs.isCond(6) && (getQuestItemsCount(player, SHADOW_INGOT) >= 5))
|
||||
{
|
||||
takeItems(player, SHADOW_INGOT, 5);
|
||||
htmltext = "31126-01.htm";
|
||||
qs.setCond(7);
|
||||
}
|
||||
else if (qs.isCond(8))
|
||||
{
|
||||
htmltext = "31126-03.htm";
|
||||
addExpAndSp(player, 26918866543L, 24226979);
|
||||
qs.exitQuest(false, true);
|
||||
}
|
||||
else
|
||||
{
|
||||
htmltext = "31126-02.htm";
|
||||
}
|
||||
break;
|
||||
}
|
||||
case State.COMPLETED:
|
||||
{
|
||||
if (!qs.isNowAvailable())
|
||||
{
|
||||
htmltext = "34227-00a.htm";
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
return htmltext;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void actionForEachPlayer(PlayerInstance player, Npc npc, boolean isSummon)
|
||||
{
|
||||
final QuestState qs = getQuestState(player, false);
|
||||
if ((qs != null) && qs.isCond(5))
|
||||
{
|
||||
final int killedCount = qs.getInt(Integer.toString(npc.getId()));
|
||||
if (killedCount < 5)
|
||||
{
|
||||
qs.set(Integer.toString(npc.getId()), killedCount + 1);
|
||||
}
|
||||
|
||||
final int killedRessurected = qs.getInt(Integer.toString(DARK_RIDER));
|
||||
final int killedLunatic = qs.getInt(Integer.toString(BURNSTEIN));
|
||||
if ((killedLunatic == 5) && (killedRessurected == 5))
|
||||
{
|
||||
qs.setCond(6, true);
|
||||
}
|
||||
}
|
||||
else if ((qs != null) && qs.isCond(7))
|
||||
{
|
||||
int count = qs.getInt(KILL_COUNT_VAR);
|
||||
qs.set(KILL_COUNT_VAR, ++count);
|
||||
if (count >= 3000)
|
||||
{
|
||||
qs.setCond(8, true);
|
||||
}
|
||||
else
|
||||
{
|
||||
playSound(player, QuestSound.ITEMSOUND_QUEST_ITEMGET);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public String onKill(Npc npc, PlayerInstance player, boolean isSummon)
|
||||
{
|
||||
executeForEachPlayer(player, npc, isSummon, true, false);
|
||||
return super.onKill(npc, player, isSummon);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Set<NpcLogListHolder> getNpcLogList(PlayerInstance player)
|
||||
{
|
||||
final QuestState qs = getQuestState(player, false);
|
||||
if ((qs != null) && qs.isCond(5))
|
||||
{
|
||||
final Set<NpcLogListHolder> npcLogList = new HashSet<>(2);
|
||||
npcLogList.add(new NpcLogListHolder(DARK_RIDER, false, qs.getInt(Integer.toString(DARK_RIDER))));
|
||||
npcLogList.add(new NpcLogListHolder(NpcStringId.DEFEAT_COMMANDER_BURNSTEIN_2, qs.getInt(Integer.toString(BURNSTEIN))));
|
||||
return npcLogList;
|
||||
}
|
||||
else if ((qs != null) && qs.isCond(7))
|
||||
{
|
||||
final int killCount = qs.getInt(KILL_COUNT_VAR);
|
||||
if (killCount > 0)
|
||||
{
|
||||
final Set<NpcLogListHolder> holder = new HashSet<>();
|
||||
holder.add(new NpcLogListHolder(NpcStringId.DEFEAT_MONSTERS_IN_THE_ENCHANTED_VALLEY_2, killCount));
|
||||
return holder;
|
||||
}
|
||||
}
|
||||
return super.getNpcLogList(player);
|
||||
}
|
||||
}
|
4
L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10356_BlacksmithsSoul2/31126-00.htm
vendored
Normal file
4
L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10356_BlacksmithsSoul2/31126-00.htm
vendored
Normal file
@ -0,0 +1,4 @@
|
||||
<html><body>Mammon:<br>
|
||||
Now the next part of your challenge is to bring me <font color="LEVEL">Improved Shadow Ingot</font>.<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10356_BlacksmithsSoul2 31126-01.htm">"Okay Let's go."</Button>
|
||||
</body></html>
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user