Addition of quest 10457, 10873, 10876 and 10879.
Contributed by Dmitri.
This commit is contained in:
		| @@ -53,7 +53,6 @@ | ||||
| 10357 Altar of Blood that Awakens Destruction | ||||
| 10373 Exploring the Dimension - Sealing the Dimension | ||||
| 10396 Witch of Spores | ||||
| 10457 Kefensis' Illusion | ||||
| 10506 Diana's Request | ||||
| 10712 The Minstrel's Song, Part 1 | ||||
| 10717 The Minstrel's Song, Part 2 | ||||
|   | ||||
							
								
								
									
										4
									
								
								L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10457_KefensisIllusion/31590-00.htm
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										4
									
								
								L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10457_KefensisIllusion/31590-00.htm
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,4 @@ | ||||
| <html><body>Devianne:<br> | ||||
| I don't know where you heard it, but the guild has decided to assign it to a more reliable guild member. Let's talk later when we trust each other more.<br> | ||||
| (Only characters with Lv. 99+ and Complete Quest: Elikia's Letter and Blackbird Clan amity level 4 and above.) | ||||
| </body></html> | ||||
							
								
								
									
										5
									
								
								L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10457_KefensisIllusion/31590-01.htm
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										5
									
								
								L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10457_KefensisIllusion/31590-01.htm
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,5 @@ | ||||
| <html><body>Devianne:<br> | ||||
| Hello Hunter. Have you heard of the rumors that are circulating here?<br> | ||||
| Truth seeker Devian, who remains on Hell Island, asks to investigate the massive changes that have occurred in the Lost Hill area<br> | ||||
| <Button ALIGN=LEFT ICON="Normal" action="bypass -h Quest Q10457_KefensisIllusion 31590-02.htm">keep going</Button> | ||||
| </body></html> | ||||
							
								
								
									
										4
									
								
								L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10457_KefensisIllusion/31590-02.htm
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										4
									
								
								L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10457_KefensisIllusion/31590-02.htm
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,4 @@ | ||||
| <html><body>Devianne:<br> | ||||
| the changes in the lost hill are too obvious.<br> | ||||
| <Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10457_KefensisIllusion 31590-03.htm">"Really?"</Button> | ||||
| </body></html> | ||||
							
								
								
									
										5
									
								
								L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10457_KefensisIllusion/31590-03.htm
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										5
									
								
								L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10457_KefensisIllusion/31590-03.htm
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,5 @@ | ||||
| <html><body>Devianne:<br> | ||||
| To help her, you need to go to the Hill and hunt for monsters.<br> | ||||
| You will also learn from your own experience what Desert Thirst is.<br> | ||||
| <Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10457_KefensisIllusion 31590-04.htm">Ask about the agreement</Button> | ||||
| </body></html> | ||||
							
								
								
									
										4
									
								
								L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10457_KefensisIllusion/31590-04.htm
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										4
									
								
								L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10457_KefensisIllusion/31590-04.htm
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,4 @@ | ||||
| <html><body>Devianne:<br> | ||||
| Go to the Phantasmal Ridge, kill the following mobs: Smaug, Lunatikan, Jabberwok, Kanzaroth, Kandiloth, Garion, Garion Neti, Desert Wendigo, Koraza, Bend Beatle.<br> | ||||
| and then you need to kill Viper | ||||
| </body></html> | ||||
							
								
								
									
										4
									
								
								L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10457_KefensisIllusion/31590-05.html
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										4
									
								
								L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10457_KefensisIllusion/31590-05.html
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,4 @@ | ||||
| <html><body>Devianne:<br> | ||||
| Go to the Phantasmal Ridge, kill the following mobs: Smaug, Lunatikan, Jabberwok, Kanzaroth, Kandiloth, Garion, Garion Neti, Desert Wendigo, Koraza, Bend Beatle.<br> | ||||
| and then you need to kill Viper | ||||
| </body></html> | ||||
							
								
								
									
										4
									
								
								L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10457_KefensisIllusion/31590-06.html
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										4
									
								
								L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10457_KefensisIllusion/31590-06.html
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,4 @@ | ||||
| <html><body>Devianne:<br> | ||||
| Have you eliminated the Viper Fish, Oasis Mirage?<br> | ||||
| <Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10457_KefensisIllusion 31590-07.html">"I figured out Viper Fish"</Button> | ||||
| </body></html> | ||||
							
								
								
									
										4
									
								
								L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10457_KefensisIllusion/31590-07.html
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										4
									
								
								L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10457_KefensisIllusion/31590-07.html
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,4 @@ | ||||
| <html><body>Devianne:<br> | ||||
| Well done. Good job.<br> | ||||
| If something else is needed, we will contact you for help. | ||||
| </body></html> | ||||
| @@ -0,0 +1,236 @@ | ||||
| /* | ||||
|  * 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.Q10457_KefensisIllusion; | ||||
|  | ||||
| import org.l2jmobius.Config; | ||||
| import org.l2jmobius.gameserver.enums.Faction; | ||||
| import org.l2jmobius.gameserver.model.actor.Npc; | ||||
| import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; | ||||
| import org.l2jmobius.gameserver.model.holders.SkillHolder; | ||||
| import org.l2jmobius.gameserver.model.quest.Quest; | ||||
| import org.l2jmobius.gameserver.model.quest.QuestState; | ||||
| import org.l2jmobius.gameserver.model.quest.State; | ||||
|  | ||||
| import quests.Q10455_ElikiasLetter.Q10455_ElikiasLetter; | ||||
|  | ||||
| /** | ||||
|  * Kefensis' Illusion (10457) | ||||
|  * @URL https://l2wiki.com/Kefensis%27_Illusion | ||||
|  * @author Dmitri | ||||
|  */ | ||||
| public class Q10457_KefensisIllusion extends Quest | ||||
| { | ||||
| 	// NPC | ||||
| 	private static final int DEVIANNE = 31590; | ||||
| 	// Monsters | ||||
| 	private static final int VIPER = 23389; | ||||
| 	private static final int SMAUG = 23384; | ||||
| 	private static final int LUNATIKAN = 23385; | ||||
| 	private static final int JABBERWOK = 23386; | ||||
| 	private static final int KANZAROTH = 23387; | ||||
| 	private static final int KANDILOTH = 23388; | ||||
| 	private static final int GARION = 23395; | ||||
| 	private static final int GARION_NETI = 23396; | ||||
| 	private static final int DESERT_WENDIGO = 23397; | ||||
| 	private static final int KORAZA = 23398; | ||||
| 	private static final int BEND_BEETLE = 23399; | ||||
| 	// Skill | ||||
| 	private static final SkillHolder DESERT_THIRST = new SkillHolder(16697, 1); | ||||
| 	// Misc | ||||
| 	private static final int MIN_LEVEL = 99; | ||||
| 	 | ||||
| 	public Q10457_KefensisIllusion() | ||||
| 	{ | ||||
| 		super(10457); | ||||
| 		addStartNpc(DEVIANNE); | ||||
| 		addTalkId(DEVIANNE); | ||||
| 		addKillId(VIPER, SMAUG, LUNATIKAN, JABBERWOK, KANZAROTH, KANDILOTH, GARION, GARION_NETI, DESERT_WENDIGO, KORAZA, BEND_BEETLE); | ||||
| 		addCondMinLevel(MIN_LEVEL, "31590-00.htm"); | ||||
| 		addCondCompletedQuest(Q10455_ElikiasLetter.class.getSimpleName(), "31590-00.htm"); | ||||
| 		addFactionLevel(Faction.BLACKBIRD_CLAN, 4, "31590-00.htm"); | ||||
| 	} | ||||
| 	 | ||||
| 	@Override | ||||
| 	public String onAdvEvent(String event, Npc npc, PlayerInstance player) | ||||
| 	{ | ||||
| 		String htmltext = null; | ||||
| 		final QuestState qs = getQuestState(player, false); | ||||
| 		if (qs == null) | ||||
| 		{ | ||||
| 			return htmltext; | ||||
| 		} | ||||
| 		switch (event) | ||||
| 		{ | ||||
| 			case "31590-02.htm": | ||||
| 			case "31590-03.htm": | ||||
| 			{ | ||||
| 				htmltext = event; | ||||
| 				break; | ||||
| 			} | ||||
| 			case "31590-04.htm": | ||||
| 			{ | ||||
| 				qs.startQuest(); | ||||
| 				htmltext = event; | ||||
| 				break; | ||||
| 			} | ||||
| 			case "31590-07.html": | ||||
| 			{ | ||||
| 				// Rewards | ||||
| 				giveAdena(player, 2373300, true); | ||||
| 				addExpAndSp(player, 3876316782L, 9303137); | ||||
| 				qs.exitQuest(false, true); | ||||
| 				htmltext = event; | ||||
| 				break; | ||||
| 			} | ||||
| 		} | ||||
| 		return htmltext; | ||||
| 	} | ||||
| 	 | ||||
| 	@Override | ||||
| 	public String onTalk(Npc npc, PlayerInstance player) | ||||
| 	{ | ||||
| 		final QuestState qs = getQuestState(player, true); | ||||
| 		String htmltext = getNoQuestMsg(player); | ||||
| 		switch (qs.getState()) | ||||
| 		{ | ||||
| 			case State.CREATED: | ||||
| 			{ | ||||
| 				htmltext = "31590-01.htm"; | ||||
| 				break; | ||||
| 			} | ||||
| 			case State.STARTED: | ||||
| 			{ | ||||
| 				switch (qs.getCond()) | ||||
| 				{ | ||||
| 					case 1: | ||||
| 					case 2: | ||||
| 					case 3: | ||||
| 					{ | ||||
| 						htmltext = "31590-05.html"; | ||||
| 						break; | ||||
| 					} | ||||
| 					case 4: | ||||
| 					{ | ||||
| 						htmltext = "31590-06.html"; | ||||
| 						break; | ||||
| 					} | ||||
| 				} | ||||
| 				break; | ||||
| 			} | ||||
| 			case State.COMPLETED: | ||||
| 			{ | ||||
| 				htmltext = getAlreadyCompletedMsg(player); | ||||
| 				break; | ||||
| 			} | ||||
| 		} | ||||
| 		return htmltext; | ||||
| 	} | ||||
| 	 | ||||
| 	@Override | ||||
| 	public String onKill(Npc npc, PlayerInstance killer, boolean isSummon) | ||||
| 	{ | ||||
| 		final QuestState qs = getQuestState(killer, false); | ||||
| 		if ((qs != null) && (qs.getCond() >= 1) && killer.isInsideRadius3D(npc, Config.ALT_PARTY_RANGE)) | ||||
| 		{ | ||||
| 			switch (qs.getCond()) | ||||
| 			{ | ||||
| 				case 1: | ||||
| 				{ | ||||
| 					switch (npc.getId()) | ||||
| 					{ | ||||
| 						case SMAUG: | ||||
| 						case LUNATIKAN: | ||||
| 						case JABBERWOK: | ||||
| 						case KANZAROTH: | ||||
| 						case KANDILOTH: | ||||
| 						case GARION: | ||||
| 						case GARION_NETI: | ||||
| 						case DESERT_WENDIGO: | ||||
| 						case KORAZA: | ||||
| 						case BEND_BEETLE: | ||||
| 						{ | ||||
| 							if (getRandom(100) < 25) | ||||
| 							{ | ||||
| 								npc.doCast(DESERT_THIRST.getSkill()); | ||||
| 								qs.setCond(2, true); | ||||
| 							} | ||||
| 							break; | ||||
| 						} | ||||
| 					} | ||||
| 				} | ||||
| 				case 2: | ||||
| 				{ | ||||
| 					switch (npc.getId()) | ||||
| 					{ | ||||
| 						case SMAUG: | ||||
| 						case LUNATIKAN: | ||||
| 						case JABBERWOK: | ||||
| 						case KANZAROTH: | ||||
| 						case KANDILOTH: | ||||
| 						case GARION: | ||||
| 						case GARION_NETI: | ||||
| 						case DESERT_WENDIGO: | ||||
| 						case KORAZA: | ||||
| 						case BEND_BEETLE: | ||||
| 						{ | ||||
| 							if (getRandom(100) < 25) | ||||
| 							{ | ||||
| 								final Npc mob = addSpawn(VIPER, npc.getX(), npc.getY(), npc.getZ(), 0, true, 120000); | ||||
| 								addAttackPlayerDesire(mob, killer, 5); | ||||
| 								qs.setCond(3, true); | ||||
| 							} | ||||
| 							break; | ||||
| 						} | ||||
| 					} | ||||
| 				} | ||||
| 				case 3: | ||||
| 				{ | ||||
| 					switch (npc.getId()) | ||||
| 					{ | ||||
| 						case SMAUG: | ||||
| 						case LUNATIKAN: | ||||
| 						case JABBERWOK: | ||||
| 						case KANZAROTH: | ||||
| 						case KANDILOTH: | ||||
| 						case GARION: | ||||
| 						case GARION_NETI: | ||||
| 						case DESERT_WENDIGO: | ||||
| 						case KORAZA: | ||||
| 						case BEND_BEETLE: | ||||
| 						{ | ||||
| 							if (getRandom(100) < 25) | ||||
| 							{ | ||||
| 								final Npc mob = addSpawn(VIPER, npc.getX(), npc.getY(), npc.getZ(), 0, true, 120000); | ||||
| 								addAttackPlayerDesire(mob, killer, 5); | ||||
| 							} | ||||
| 							break; | ||||
| 						} | ||||
| 						case VIPER: | ||||
| 						{ | ||||
| 							if (getRandom(100) < 25) | ||||
| 							{ | ||||
| 								qs.setCond(4, true); | ||||
| 							} | ||||
| 							break; | ||||
| 						} | ||||
| 					} | ||||
| 				} | ||||
| 			} | ||||
| 		} | ||||
| 		return super.onKill(npc, killer, isSummon); | ||||
| 	} | ||||
| } | ||||
| @@ -343,6 +343,7 @@ import quests.Q10452_IsItEdible.Q10452_IsItEdible; | ||||
| import quests.Q10453_StoppingTheWindDragon.Q10453_StoppingTheWindDragon; | ||||
| import quests.Q10455_ElikiasLetter.Q10455_ElikiasLetter; | ||||
| import quests.Q10456_OperationRescue.Q10456_OperationRescue; | ||||
| import quests.Q10457_KefensisIllusion.Q10457_KefensisIllusion; | ||||
| import quests.Q10459_ASickAmbition.Q10459_ASickAmbition; | ||||
| import quests.Q10460_ReturnOfTheAlligatorHunter.Q10460_ReturnOfTheAlligatorHunter; | ||||
| import quests.Q10461_TappingThePowerWithin.Q10461_TappingThePowerWithin; | ||||
| @@ -519,7 +520,6 @@ import quests.not_done.Q10298_WastelandQueen; | ||||
| import quests.not_done.Q10357_AltarOfBloodThatAwakensDestruction; | ||||
| import quests.not_done.Q10373_ExploringTheDimensionSealingTheDimension; | ||||
| import quests.not_done.Q10396_WitchOfSpores; | ||||
| import quests.not_done.Q10457_KefensisIllusion; | ||||
| import quests.not_done.Q10506_DianasRequest; | ||||
| import quests.not_done.Q10748_MysteriousSuggestion1; | ||||
| import quests.not_done.Q10749_MysteriousSuggestion2; | ||||
| @@ -899,7 +899,7 @@ public class QuestMasterHandler | ||||
| 		Q10453_StoppingTheWindDragon.class, | ||||
| 		Q10455_ElikiasLetter.class, | ||||
| 		Q10456_OperationRescue.class, | ||||
| 		Q10457_KefensisIllusion.class, // TODO: Not done. | ||||
| 		Q10457_KefensisIllusion.class, | ||||
| 		Q10459_ASickAmbition.class, | ||||
| 		Q10460_ReturnOfTheAlligatorHunter.class, | ||||
| 		Q10461_TappingThePowerWithin.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 Q10457_KefensisIllusion extends Quest | ||||
| { | ||||
| 	private static final int START_NPC = 31590; | ||||
| 	 | ||||
| 	public Q10457_KefensisIllusion() | ||||
| 	{ | ||||
| 		super(10457); | ||||
| 		addStartNpc(START_NPC); | ||||
| 		addTalkId(START_NPC); | ||||
| 		addCondMinLevel(Config.PLAYER_MAXIMUM_LEVEL, getNoQuestMsg(null)); | ||||
| 	} | ||||
| } | ||||
		Reference in New Issue
	
	Block a user
	 MobiusDevelopment
					MobiusDevelopment