Addition of quests 10355, 10356, 10373 and 10535.
Contributed by Sero.
This commit is contained in:
		@@ -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));
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
		Reference in New Issue
	
	Block a user