Addition of quest 11020.
Contributed by Stayway.
This commit is contained in:
		
							
								
								
									
										9
									
								
								L2J_Mobius_Classic_2.1_Zaken/dist/game/data/html/item/90268.htm
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										9
									
								
								L2J_Mobius_Classic_2.1_Zaken/dist/game/data/html/item/90268.htm
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,9 @@
 | 
			
		||||
<html><body>Required Materials:<br>
 | 
			
		||||
(Document that lists materials needed for making a new sword. Seems unlikely that it was written by Sumari.)<br
 | 
			
		||||
Greetings, my brothers. To make a training blade you're going to need these:<br>
 | 
			
		||||
1. Hilt: coil <font color="LEVEL">Blackwing Bat Wing</font> around it so it'll be nice to grip. This is a great material.<br>
 | 
			
		||||
2. Sword belt: just take <font color="LEVEL">Grave Robber's Belt</font>. A sword should be held in your hand, not dangle on your belt.<br>
 | 
			
		||||
3. Blade: The stock of <font color="LEVEL">Golem Ore</font> is almost empty. Sumari asks for a new supply of it. Bring him as much as he needs.<br>
 | 
			
		||||
4. Sheath: can be made from a <font color="LEVEL">Hide of an Evil Eye Patrol</font>. Prepare a lot of hides, so we won't run out for sure.<br>
 | 
			
		||||
And lastly: find someone to teach <font color="LEVEL">Sumari</font> how to read already. I'm sick of repeating the same things for him over and over again.<br>
 | 
			
		||||
</body></html>
 | 
			
		||||
@@ -22,9 +22,7 @@
 | 
			
		||||
10994	Future: Orcs
 | 
			
		||||
11006	Future: People
 | 
			
		||||
11012	Future Elves
 | 
			
		||||
11014	Surprise Gift
 | 
			
		||||
11018	Future: Dark Elves
 | 
			
		||||
11020	Blacksmith's Request
 | 
			
		||||
11021	Red Gem Necklace (1/3)
 | 
			
		||||
11022	Red Gem Necklace (2/3)
 | 
			
		||||
11023	Red Gem Necklace (3/3)
 | 
			
		||||
@@ -0,0 +1,4 @@
 | 
			
		||||
<html><body>Blacksmith Sumari:<br>
 | 
			
		||||
Did Centurion send you? Do you have Butcher's Sword for Newbies? I made it for Orcs, who praise our tribe. I have to craft so many weapons, that I always run out of materials. Quite recently, I depleted my last stores, so I can't work any longer.<br>
 | 
			
		||||
Here's the list of <font color="LEVEL">Required Items</font>. Bring me everything that's on it. I hope you will make no mistakes with this list. It's no use to me anyway, for I can't read.<br>
 | 
			
		||||
</body></html>
 | 
			
		||||
@@ -0,0 +1,3 @@
 | 
			
		||||
<html><body>Blacksmith Sumari:<br>
 | 
			
		||||
Too little. Bring me more.
 | 
			
		||||
</body></html>
 | 
			
		||||
@@ -0,0 +1,5 @@
 | 
			
		||||
<html><body>Blacksmith Sumari:<br>
 | 
			
		||||
I see you collected everything. I crafted good armor for you, as a token of my gratitude. Should you need something else, just bring the materials.<br>
 | 
			
		||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q11020_BlackSmithsRequest reward1">Select Warrior's Armor for Newbies</Button><br>
 | 
			
		||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q11020_BlackSmithsRequest reward2">Select Medium's Tunic for Newbies</Button>
 | 
			
		||||
</body></html>
 | 
			
		||||
@@ -0,0 +1,5 @@
 | 
			
		||||
<html><body>Blacksmith Sumari:<br>
 | 
			
		||||
It looks well on you, just as I thought. You look very hefty, like a real Orc. I'm satisfied.<br>
 | 
			
		||||
Hey, do you know my friend Uska? He is an accessory merchant. He promised he would make a gemmed necklace for me, but I haven't heard from him in a while. Please, visit him and find out what's the matter.<br>
 | 
			
		||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q11021_RedGemNecklace1 30564-02.htm">"Okay, I will do it."</Button>
 | 
			
		||||
</body></html>
 | 
			
		||||
@@ -0,0 +1,5 @@
 | 
			
		||||
<html><body>Blacksmith Sumari:<br>
 | 
			
		||||
I'm not sure if such a thin fabric can protect you... On the other hand, if you like it - I like it, too. Take this.<br>
 | 
			
		||||
Hey, do you know my friend Uska? He is an accessory merchant. He promised he would make a gemmed necklace for me, but I haven't heard from him in a while. Please, visit him and find out what's the matter.<br>
 | 
			
		||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q11021_RedGemNecklace1 30564-02.htm">"Okay, I will do it."</Button>
 | 
			
		||||
</body></html>
 | 
			
		||||
@@ -0,0 +1,4 @@
 | 
			
		||||
<html><body>Centurion Tiku:<br>
 | 
			
		||||
All Orcs are one big family. Today you help your tribsmen, tomorrow they will help you. That is the reason why I am asking you to help Sumari. We can't leave our blood in the hour of need.<br>
 | 
			
		||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q11020_BlacksmithsRequest 30582-02.htm">Say that you will do your best</Button><br><br>
 | 
			
		||||
</body></html>
 | 
			
		||||
@@ -0,0 +1,3 @@
 | 
			
		||||
<html><body>Centurion Tiku:<br>
 | 
			
		||||
Wonderful. I knew you would agree Orc's power is in their unity.<br>
 | 
			
		||||
</body></html>
 | 
			
		||||
@@ -0,0 +1,3 @@
 | 
			
		||||
<html><body>Centurion Tiku:<br>
 | 
			
		||||
Sumari is in the blacksmith shop now. He will tell you, what to do.<br>
 | 
			
		||||
</body></html>
 | 
			
		||||
@@ -0,0 +1,269 @@
 | 
			
		||||
/*
 | 
			
		||||
 * 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.Q11020_BlacksmithsRequest;
 | 
			
		||||
 | 
			
		||||
import com.l2jmobius.gameserver.enums.QuestSound;
 | 
			
		||||
import com.l2jmobius.gameserver.enums.Race;
 | 
			
		||||
import com.l2jmobius.gameserver.model.actor.L2Npc;
 | 
			
		||||
import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
 | 
			
		||||
import com.l2jmobius.gameserver.model.quest.Quest;
 | 
			
		||||
import com.l2jmobius.gameserver.model.quest.QuestState;
 | 
			
		||||
import com.l2jmobius.gameserver.model.quest.State;
 | 
			
		||||
import com.l2jmobius.gameserver.network.NpcStringId;
 | 
			
		||||
import com.l2jmobius.gameserver.network.serverpackets.ExShowScreenMessage;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Blacksmith's Request (11020)
 | 
			
		||||
 * @author Stayway
 | 
			
		||||
 */
 | 
			
		||||
public class Q11020_BlacksmithsRequest extends Quest
 | 
			
		||||
{
 | 
			
		||||
	// NPCs
 | 
			
		||||
	private static final int TIKU = 30582;
 | 
			
		||||
	private static final int SUMARI = 30564;
 | 
			
		||||
	// Items
 | 
			
		||||
	private static final int BLACKWING_BAT_WING = 90269;
 | 
			
		||||
	private static final int GRAVE_ROBBERS_BELT = 90270;
 | 
			
		||||
	private static final int GOLEM_ORE = 90271;
 | 
			
		||||
	private static final int EVIL_EYE_PATROL_HIDE = 90272;
 | 
			
		||||
	private static final int REQUIRED_MATERIALS = 90268;
 | 
			
		||||
	// Rewards
 | 
			
		||||
	private static final int WARRIORS_ARMOR = 90306;
 | 
			
		||||
	private static final int WARRIORS_GAITERS = 90307;
 | 
			
		||||
	private static final int MEDIUMS_TUNIC = 90308;
 | 
			
		||||
	private static final int MEDIUMS_STOCKINGS = 90309;
 | 
			
		||||
	private static final int EARRING_NOVICE = 49040;
 | 
			
		||||
	// Monsters
 | 
			
		||||
	private static final int BLACKWING_BAT = 20316;
 | 
			
		||||
	private static final int TOMB_RAIDER_LEADER = 20320;
 | 
			
		||||
	private static final int GREYSTONE_GOLEM = 20333;
 | 
			
		||||
	private static final int EVIL_EYE_PATROL = 20428;
 | 
			
		||||
	// Misc
 | 
			
		||||
	private static final int MIN_LVL = 11;
 | 
			
		||||
	private static final int MAX_LVL = 20;
 | 
			
		||||
	
 | 
			
		||||
	public Q11020_BlacksmithsRequest()
 | 
			
		||||
	{
 | 
			
		||||
		super(11020);
 | 
			
		||||
		addStartNpc(TIKU);
 | 
			
		||||
		addTalkId(SUMARI, TIKU);
 | 
			
		||||
		addKillId(BLACKWING_BAT, TOMB_RAIDER_LEADER, GREYSTONE_GOLEM, EVIL_EYE_PATROL);
 | 
			
		||||
		addCondLevel(MIN_LVL, MAX_LVL, "no-level.html"); // Custom
 | 
			
		||||
		addCondRace(Race.ORC, "no-race.html"); // Custom
 | 
			
		||||
		registerQuestItems(REQUIRED_MATERIALS, BLACKWING_BAT_WING, GRAVE_ROBBERS_BELT, GOLEM_ORE, EVIL_EYE_PATROL_HIDE);
 | 
			
		||||
		setQuestNameNpcStringId(NpcStringId.LV_11_20_BLACKSMITH_S_REQUEST);
 | 
			
		||||
	}
 | 
			
		||||
	
 | 
			
		||||
	@Override
 | 
			
		||||
	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 | 
			
		||||
	{
 | 
			
		||||
		final QuestState qs = getQuestState(player, false);
 | 
			
		||||
		if (qs == null)
 | 
			
		||||
		{
 | 
			
		||||
			return null;
 | 
			
		||||
		}
 | 
			
		||||
		
 | 
			
		||||
		String htmltext = null;
 | 
			
		||||
		switch (event)
 | 
			
		||||
		{
 | 
			
		||||
			case "30582-02.htm":
 | 
			
		||||
			{
 | 
			
		||||
				qs.startQuest();
 | 
			
		||||
				htmltext = event;
 | 
			
		||||
				break;
 | 
			
		||||
			}
 | 
			
		||||
			case "reward1":
 | 
			
		||||
			{
 | 
			
		||||
				if (qs.isCond(6))
 | 
			
		||||
				{
 | 
			
		||||
					takeItems(player, REQUIRED_MATERIALS, 1);
 | 
			
		||||
					takeItems(player, BLACKWING_BAT_WING, 20);
 | 
			
		||||
					takeItems(player, GRAVE_ROBBERS_BELT, 20);
 | 
			
		||||
					takeItems(player, GOLEM_ORE, 20);
 | 
			
		||||
					takeItems(player, EVIL_EYE_PATROL_HIDE, 20);
 | 
			
		||||
					giveItems(player, WARRIORS_ARMOR, 1);
 | 
			
		||||
					giveItems(player, WARRIORS_GAITERS, 1);
 | 
			
		||||
					giveItems(player, EARRING_NOVICE, 2);
 | 
			
		||||
					addExpAndSp(player, 80000, 0);
 | 
			
		||||
					qs.exitQuest(false, true);
 | 
			
		||||
					htmltext = "30564-03.html";
 | 
			
		||||
				}
 | 
			
		||||
				break;
 | 
			
		||||
			}
 | 
			
		||||
			case "reward2":
 | 
			
		||||
			{
 | 
			
		||||
				if (qs.isCond(6))
 | 
			
		||||
				{
 | 
			
		||||
					takeItems(player, REQUIRED_MATERIALS, 1);
 | 
			
		||||
					takeItems(player, BLACKWING_BAT_WING, 20);
 | 
			
		||||
					takeItems(player, GRAVE_ROBBERS_BELT, 20);
 | 
			
		||||
					takeItems(player, GOLEM_ORE, 20);
 | 
			
		||||
					takeItems(player, EVIL_EYE_PATROL_HIDE, 20);
 | 
			
		||||
					giveItems(player, MEDIUMS_TUNIC, 1);
 | 
			
		||||
					giveItems(player, MEDIUMS_STOCKINGS, 1);
 | 
			
		||||
					giveItems(player, EARRING_NOVICE, 2);
 | 
			
		||||
					addExpAndSp(player, 80000, 0);
 | 
			
		||||
					qs.exitQuest(false, true);
 | 
			
		||||
					htmltext = "30564-04.html";
 | 
			
		||||
				}
 | 
			
		||||
				break;
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
		return htmltext;
 | 
			
		||||
	}
 | 
			
		||||
	
 | 
			
		||||
	@Override
 | 
			
		||||
	public String onTalk(L2Npc npc, L2PcInstance talker)
 | 
			
		||||
	{
 | 
			
		||||
		final QuestState qs = getQuestState(talker, true);
 | 
			
		||||
		String htmltext = getNoQuestMsg(talker);
 | 
			
		||||
		switch (qs.getState())
 | 
			
		||||
		{
 | 
			
		||||
			case State.CREATED:
 | 
			
		||||
			{
 | 
			
		||||
				if (npc.getId() == TIKU)
 | 
			
		||||
				{
 | 
			
		||||
					htmltext = "30582-01.html";
 | 
			
		||||
				}
 | 
			
		||||
				break;
 | 
			
		||||
			}
 | 
			
		||||
			case State.STARTED:
 | 
			
		||||
			{
 | 
			
		||||
				if (npc.getId() == TIKU)
 | 
			
		||||
				{
 | 
			
		||||
					if (qs.isCond(1))
 | 
			
		||||
					{
 | 
			
		||||
						htmltext = "30582-02a.html";
 | 
			
		||||
					}
 | 
			
		||||
					break;
 | 
			
		||||
				}
 | 
			
		||||
				else if (npc.getId() == SUMARI)
 | 
			
		||||
				{
 | 
			
		||||
					switch (qs.getCond())
 | 
			
		||||
					{
 | 
			
		||||
						case 1:
 | 
			
		||||
						{
 | 
			
		||||
							htmltext = "30564-01.htm";
 | 
			
		||||
							qs.setCond(2, true);
 | 
			
		||||
							showOnScreenMsg(talker, NpcStringId.GO_HUNTING_AND_KILL_BLACKWING_BATS, ExShowScreenMessage.TOP_CENTER, 10000);
 | 
			
		||||
							giveItems(talker, REQUIRED_MATERIALS, 1);
 | 
			
		||||
							break;
 | 
			
		||||
						}
 | 
			
		||||
						case 2:
 | 
			
		||||
						{
 | 
			
		||||
							htmltext = "30564-01a.html";
 | 
			
		||||
							break;
 | 
			
		||||
						}
 | 
			
		||||
						case 6:
 | 
			
		||||
						{
 | 
			
		||||
							htmltext = "30564-02.html";
 | 
			
		||||
							break;
 | 
			
		||||
						}
 | 
			
		||||
					}
 | 
			
		||||
				}
 | 
			
		||||
				break;
 | 
			
		||||
			}
 | 
			
		||||
			case State.COMPLETED:
 | 
			
		||||
			{
 | 
			
		||||
				htmltext = getAlreadyCompletedMsg(talker);
 | 
			
		||||
				break;
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
		return htmltext;
 | 
			
		||||
	}
 | 
			
		||||
	
 | 
			
		||||
	@Override
 | 
			
		||||
	public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
 | 
			
		||||
	{
 | 
			
		||||
		final QuestState qs = getQuestState(killer, false);
 | 
			
		||||
		if (qs != null)
 | 
			
		||||
		{
 | 
			
		||||
			switch (npc.getId())
 | 
			
		||||
			{
 | 
			
		||||
				case BLACKWING_BAT:
 | 
			
		||||
				{
 | 
			
		||||
					if (qs.isCond(2) && (getQuestItemsCount(killer, BLACKWING_BAT_WING) < 20))
 | 
			
		||||
					{
 | 
			
		||||
						if (getRandom(100) < 90)
 | 
			
		||||
						{
 | 
			
		||||
							giveItems(killer, BLACKWING_BAT_WING, 1);
 | 
			
		||||
							playSound(killer, QuestSound.ITEMSOUND_QUEST_MIDDLE);
 | 
			
		||||
							if (getQuestItemsCount(killer, BLACKWING_BAT_WING) >= 20)
 | 
			
		||||
							{
 | 
			
		||||
								showOnScreenMsg(killer, NpcStringId.YOU_HAVE_KILLED_ENOUGH_BLACKWING_BATS_N_GO_HUNTING_AND_KILL_GOBLIN_TOMB_RAIDER_LEADERS, ExShowScreenMessage.TOP_CENTER, 10000);
 | 
			
		||||
								qs.setCond(3);
 | 
			
		||||
							}
 | 
			
		||||
						}
 | 
			
		||||
					}
 | 
			
		||||
					break;
 | 
			
		||||
				}
 | 
			
		||||
				case TOMB_RAIDER_LEADER:
 | 
			
		||||
				{
 | 
			
		||||
					if (qs.isCond(3) && (getQuestItemsCount(killer, GRAVE_ROBBERS_BELT) < 20))
 | 
			
		||||
					{
 | 
			
		||||
						if (getRandom(100) < 90)
 | 
			
		||||
						{
 | 
			
		||||
							giveItems(killer, GRAVE_ROBBERS_BELT, 1);
 | 
			
		||||
							playSound(killer, QuestSound.ITEMSOUND_QUEST_MIDDLE);
 | 
			
		||||
							if (getQuestItemsCount(killer, GRAVE_ROBBERS_BELT) >= 20)
 | 
			
		||||
							{
 | 
			
		||||
								showOnScreenMsg(killer, NpcStringId.YOU_HAVE_KILLED_ENOUGH_GOBLIN_TOMB_RAIDER_LEADERS_N_GO_HUNTING_AND_KILL_GREYSTONE_GOLEMS, ExShowScreenMessage.TOP_CENTER, 10000);
 | 
			
		||||
								qs.setCond(4);
 | 
			
		||||
							}
 | 
			
		||||
						}
 | 
			
		||||
					}
 | 
			
		||||
					break;
 | 
			
		||||
				}
 | 
			
		||||
				case GREYSTONE_GOLEM:
 | 
			
		||||
				{
 | 
			
		||||
					if (qs.isCond(4) && (getQuestItemsCount(killer, GOLEM_ORE) < 20))
 | 
			
		||||
					{
 | 
			
		||||
						if (getRandom(100) < 90)
 | 
			
		||||
						{
 | 
			
		||||
							giveItems(killer, GOLEM_ORE, 1);
 | 
			
		||||
							playSound(killer, QuestSound.ITEMSOUND_QUEST_MIDDLE);
 | 
			
		||||
							if ((getQuestItemsCount(killer, GOLEM_ORE) >= 20))
 | 
			
		||||
							{
 | 
			
		||||
								showOnScreenMsg(killer, NpcStringId.YOU_HAVE_KILLED_ENOUGH_GREYSTONE_GOLEMS_N_GO_HUNTING_AND_KILL_EVIL_EYE_PATROLS, ExShowScreenMessage.TOP_CENTER, 10000);
 | 
			
		||||
								qs.setCond(5);
 | 
			
		||||
							}
 | 
			
		||||
						}
 | 
			
		||||
					}
 | 
			
		||||
					break;
 | 
			
		||||
				}
 | 
			
		||||
				case EVIL_EYE_PATROL:
 | 
			
		||||
				{
 | 
			
		||||
					if (qs.isCond(5) && (getQuestItemsCount(killer, EVIL_EYE_PATROL_HIDE) < 20))
 | 
			
		||||
					{
 | 
			
		||||
						if (getRandom(100) < 90)
 | 
			
		||||
						{
 | 
			
		||||
							giveItems(killer, EVIL_EYE_PATROL_HIDE, 1);
 | 
			
		||||
							playSound(killer, QuestSound.ITEMSOUND_QUEST_MIDDLE);
 | 
			
		||||
							if ((getQuestItemsCount(killer, EVIL_EYE_PATROL_HIDE) >= 20))
 | 
			
		||||
							{
 | 
			
		||||
								showOnScreenMsg(killer, NpcStringId.YOU_HAVE_KILLED_ENOUGH_EVIL_EYE_PATROLS_NRETURN_TO_BLACKSMITH_SUMARI, ExShowScreenMessage.TOP_CENTER, 10000);
 | 
			
		||||
								qs.setCond(6);
 | 
			
		||||
							}
 | 
			
		||||
						}
 | 
			
		||||
					}
 | 
			
		||||
					break;
 | 
			
		||||
				}
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
		return super.onKill(npc, killer, isSummon);
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
@@ -0,0 +1,4 @@
 | 
			
		||||
<html><body>Centurion Tiku:<br>
 | 
			
		||||
You ought to gain more experience. Come back later.<br>
 | 
			
		||||
<font color="LEVEL">(This quest is available to characters of Level 11 or higher.)</font><br>
 | 
			
		||||
</body></html>
 | 
			
		||||
@@ -0,0 +1,3 @@
 | 
			
		||||
<html><body>Centurion Tiku:<br>
 | 
			
		||||
You are not an Orc. Great Orcs never ask strangers for help! Go away!
 | 
			
		||||
</body></html>
 | 
			
		||||
@@ -169,6 +169,7 @@ import quests.Q11015_PrepareForTrade1.Q11015_PrepareForTrade1;
 | 
			
		||||
import quests.Q11016_PrepareForTrade2.Q11016_PrepareForTrade2;
 | 
			
		||||
import quests.Q11017_PrepareForTrade3.Q11017_PrepareForTrade3;
 | 
			
		||||
import quests.Q11019_TribalBenefit.Q11019_TribalBenefit;
 | 
			
		||||
import quests.Q11020_BlacksmithsRequest.Q11020_BlacksmithsRequest;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * @author NosBit
 | 
			
		||||
@@ -329,6 +330,7 @@ public class QuestMasterHandler
 | 
			
		||||
		Q11016_PrepareForTrade2.class,
 | 
			
		||||
		Q11017_PrepareForTrade3.class,
 | 
			
		||||
		Q11019_TribalBenefit.class,
 | 
			
		||||
		Q11020_BlacksmithsRequest.class,
 | 
			
		||||
	};
 | 
			
		||||
	
 | 
			
		||||
	public static void main(String[] args)
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user