From 8fdd568087116f609bce17b52d769cb42dc9cddb Mon Sep 17 00:00:00 2001 From: MobiusDev <8391001+MobiusDevelopment@users.noreply.github.com> Date: Tue, 22 Jan 2019 21:53:50 +0000 Subject: [PATCH] Addition of Dimensional Warp quests (2 to 7). --- .../data/scripts/quests/MissingQuests.txt | 6 - .../Q10801_TheDimensionalWarpPart1.java | 2 +- .../33974-00.htm | 4 + .../33974-01.htm | 5 + .../33974-02.htm | 5 + .../33974-03.htm | 5 + .../33974-04.htm | 3 + .../33974-05.html | 4 + .../33974-06.html | 5 + .../33974-07.html | 4 + .../Q10802_TheDimensionalWarpPart2.java | 179 +++++++++++++++++ .../33974-00.htm | 4 + .../33974-01.htm | 5 + .../33974-02.htm | 5 + .../33974-03.htm | 5 + .../33974-04.htm | 3 + .../33974-05.html | 4 + .../33974-06.html | 5 + .../33974-07.html | 4 + .../Q10803_TheDimensionalWarpPart3.java | 181 ++++++++++++++++++ .../33974-00.htm | 4 + .../33974-01.htm | 5 + .../33974-02.htm | 5 + .../33974-03.htm | 5 + .../33974-04.htm | 3 + .../33974-05.html | 4 + .../33974-06.html | 5 + .../33974-07.html | 4 + .../Q10804_TheDimensionalWarpPart4.java | 181 ++++++++++++++++++ .../33974-00.htm | 4 + .../33974-01.htm | 5 + .../33974-02.htm | 5 + .../33974-03.htm | 5 + .../33974-04.htm | 3 + .../33974-05.html | 4 + .../33974-06.html | 5 + .../33974-07.html | 4 + .../Q10805_TheDimensionalWarpPart5.java | 181 ++++++++++++++++++ .../33974-00.htm | 4 + .../33974-01.htm | 5 + .../33974-02.htm | 5 + .../33974-03.htm | 5 + .../33974-04.htm | 3 + .../33974-05.html | 4 + .../33974-06.html | 5 + .../33974-07.html | 4 + .../Q10806_TheDimensionalWarpPart6.java | 179 +++++++++++++++++ .../33974-00.htm | 4 + .../33974-01.htm | 5 + .../33974-02.htm | 5 + .../33974-03.htm | 5 + .../33974-04.htm | 3 + .../33974-05.html | 4 + .../33974-06.html | 5 + .../33974-07.html | 4 + .../Q10807_TheDimensionalWarpPart7.java | 179 +++++++++++++++++ .../data/scripts/quests/MissingQuests.txt | 6 - .../Q10801_TheDimensionalWarpPart1.java | 2 +- .../33974-00.htm | 4 + .../33974-01.htm | 5 + .../33974-02.htm | 5 + .../33974-03.htm | 5 + .../33974-04.htm | 3 + .../33974-05.html | 4 + .../33974-06.html | 5 + .../33974-07.html | 4 + .../Q10802_TheDimensionalWarpPart2.java | 179 +++++++++++++++++ .../33974-00.htm | 4 + .../33974-01.htm | 5 + .../33974-02.htm | 5 + .../33974-03.htm | 5 + .../33974-04.htm | 3 + .../33974-05.html | 4 + .../33974-06.html | 5 + .../33974-07.html | 4 + .../Q10803_TheDimensionalWarpPart3.java | 181 ++++++++++++++++++ .../33974-00.htm | 4 + .../33974-01.htm | 5 + .../33974-02.htm | 5 + .../33974-03.htm | 5 + .../33974-04.htm | 3 + .../33974-05.html | 4 + .../33974-06.html | 5 + .../33974-07.html | 4 + .../Q10804_TheDimensionalWarpPart4.java | 181 ++++++++++++++++++ .../33974-00.htm | 4 + .../33974-01.htm | 5 + .../33974-02.htm | 5 + .../33974-03.htm | 5 + .../33974-04.htm | 3 + .../33974-05.html | 4 + .../33974-06.html | 5 + .../33974-07.html | 4 + .../Q10805_TheDimensionalWarpPart5.java | 181 ++++++++++++++++++ .../33974-00.htm | 4 + .../33974-01.htm | 5 + .../33974-02.htm | 5 + .../33974-03.htm | 5 + .../33974-04.htm | 3 + .../33974-05.html | 4 + .../33974-06.html | 5 + .../33974-07.html | 4 + .../Q10806_TheDimensionalWarpPart6.java | 179 +++++++++++++++++ .../33974-00.htm | 4 + .../33974-01.htm | 5 + .../33974-02.htm | 5 + .../33974-03.htm | 5 + .../33974-04.htm | 3 + .../33974-05.html | 4 + .../33974-06.html | 5 + .../33974-07.html | 4 + .../Q10807_TheDimensionalWarpPart7.java | 179 +++++++++++++++++ .../scripts/quests/QuestMasterHandler.java | 12 ++ .../data/scripts/quests/MissingQuests.txt | 6 - .../Q10801_TheDimensionalWarpPart1.java | 2 +- .../33974-00.htm | 4 + .../33974-01.htm | 5 + .../33974-02.htm | 5 + .../33974-03.htm | 5 + .../33974-04.htm | 3 + .../33974-05.html | 4 + .../33974-06.html | 5 + .../33974-07.html | 4 + .../Q10802_TheDimensionalWarpPart2.java | 179 +++++++++++++++++ .../33974-00.htm | 4 + .../33974-01.htm | 5 + .../33974-02.htm | 5 + .../33974-03.htm | 5 + .../33974-04.htm | 3 + .../33974-05.html | 4 + .../33974-06.html | 5 + .../33974-07.html | 4 + .../Q10803_TheDimensionalWarpPart3.java | 181 ++++++++++++++++++ .../33974-00.htm | 4 + .../33974-01.htm | 5 + .../33974-02.htm | 5 + .../33974-03.htm | 5 + .../33974-04.htm | 3 + .../33974-05.html | 4 + .../33974-06.html | 5 + .../33974-07.html | 4 + .../Q10804_TheDimensionalWarpPart4.java | 181 ++++++++++++++++++ .../33974-00.htm | 4 + .../33974-01.htm | 5 + .../33974-02.htm | 5 + .../33974-03.htm | 5 + .../33974-04.htm | 3 + .../33974-05.html | 4 + .../33974-06.html | 5 + .../33974-07.html | 4 + .../Q10805_TheDimensionalWarpPart5.java | 181 ++++++++++++++++++ .../33974-00.htm | 4 + .../33974-01.htm | 5 + .../33974-02.htm | 5 + .../33974-03.htm | 5 + .../33974-04.htm | 3 + .../33974-05.html | 4 + .../33974-06.html | 5 + .../33974-07.html | 4 + .../Q10806_TheDimensionalWarpPart6.java | 179 +++++++++++++++++ .../33974-00.htm | 4 + .../33974-01.htm | 5 + .../33974-02.htm | 5 + .../33974-03.htm | 5 + .../33974-04.htm | 3 + .../33974-05.html | 4 + .../33974-06.html | 5 + .../33974-07.html | 4 + .../Q10807_TheDimensionalWarpPart7.java | 179 +++++++++++++++++ .../scripts/quests/QuestMasterHandler.java | 12 ++ .../data/scripts/quests/MissingQuests.txt | 6 - .../Q10801_TheDimensionalWarpPart1.java | 2 +- .../33974-00.htm | 4 + .../33974-01.htm | 5 + .../33974-02.htm | 5 + .../33974-03.htm | 5 + .../33974-04.htm | 3 + .../33974-05.html | 4 + .../33974-06.html | 5 + .../33974-07.html | 4 + .../Q10802_TheDimensionalWarpPart2.java | 179 +++++++++++++++++ .../33974-00.htm | 4 + .../33974-01.htm | 5 + .../33974-02.htm | 5 + .../33974-03.htm | 5 + .../33974-04.htm | 3 + .../33974-05.html | 4 + .../33974-06.html | 5 + .../33974-07.html | 4 + .../Q10803_TheDimensionalWarpPart3.java | 181 ++++++++++++++++++ .../33974-00.htm | 4 + .../33974-01.htm | 5 + .../33974-02.htm | 5 + .../33974-03.htm | 5 + .../33974-04.htm | 3 + .../33974-05.html | 4 + .../33974-06.html | 5 + .../33974-07.html | 4 + .../Q10804_TheDimensionalWarpPart4.java | 181 ++++++++++++++++++ .../33974-00.htm | 4 + .../33974-01.htm | 5 + .../33974-02.htm | 5 + .../33974-03.htm | 5 + .../33974-04.htm | 3 + .../33974-05.html | 4 + .../33974-06.html | 5 + .../33974-07.html | 4 + .../Q10805_TheDimensionalWarpPart5.java | 181 ++++++++++++++++++ .../33974-00.htm | 4 + .../33974-01.htm | 5 + .../33974-02.htm | 5 + .../33974-03.htm | 5 + .../33974-04.htm | 3 + .../33974-05.html | 4 + .../33974-06.html | 5 + .../33974-07.html | 4 + .../Q10806_TheDimensionalWarpPart6.java | 179 +++++++++++++++++ .../33974-00.htm | 4 + .../33974-01.htm | 5 + .../33974-02.htm | 5 + .../33974-03.htm | 5 + .../33974-04.htm | 3 + .../33974-05.html | 4 + .../33974-06.html | 5 + .../33974-07.html | 4 + .../Q10807_TheDimensionalWarpPart7.java | 179 +++++++++++++++++ .../scripts/quests/QuestMasterHandler.java | 12 ++ .../data/scripts/quests/MissingQuests.txt | 6 - .../Q10801_TheDimensionalWarpPart1.java | 2 +- .../33974-00.htm | 4 + .../33974-01.htm | 5 + .../33974-02.htm | 5 + .../33974-03.htm | 5 + .../33974-04.htm | 3 + .../33974-05.html | 4 + .../33974-06.html | 5 + .../33974-07.html | 4 + .../Q10802_TheDimensionalWarpPart2.java | 179 +++++++++++++++++ .../33974-00.htm | 4 + .../33974-01.htm | 5 + .../33974-02.htm | 5 + .../33974-03.htm | 5 + .../33974-04.htm | 3 + .../33974-05.html | 4 + .../33974-06.html | 5 + .../33974-07.html | 4 + .../Q10803_TheDimensionalWarpPart3.java | 181 ++++++++++++++++++ .../33974-00.htm | 4 + .../33974-01.htm | 5 + .../33974-02.htm | 5 + .../33974-03.htm | 5 + .../33974-04.htm | 3 + .../33974-05.html | 4 + .../33974-06.html | 5 + .../33974-07.html | 4 + .../Q10804_TheDimensionalWarpPart4.java | 181 ++++++++++++++++++ .../33974-00.htm | 4 + .../33974-01.htm | 5 + .../33974-02.htm | 5 + .../33974-03.htm | 5 + .../33974-04.htm | 3 + .../33974-05.html | 4 + .../33974-06.html | 5 + .../33974-07.html | 4 + .../Q10805_TheDimensionalWarpPart5.java | 181 ++++++++++++++++++ .../33974-00.htm | 4 + .../33974-01.htm | 5 + .../33974-02.htm | 5 + .../33974-03.htm | 5 + .../33974-04.htm | 3 + .../33974-05.html | 4 + .../33974-06.html | 5 + .../33974-07.html | 4 + .../Q10806_TheDimensionalWarpPart6.java | 179 +++++++++++++++++ .../33974-00.htm | 4 + .../33974-01.htm | 5 + .../33974-02.htm | 5 + .../33974-03.htm | 5 + .../33974-04.htm | 3 + .../33974-05.html | 4 + .../33974-06.html | 5 + .../33974-07.html | 4 + .../Q10807_TheDimensionalWarpPart7.java | 179 +++++++++++++++++ .../scripts/quests/QuestMasterHandler.java | 12 ++ .../data/scripts/quests/MissingQuests.txt | 6 - .../Q10801_TheDimensionalWarpPart1.java | 2 +- .../33974-00.htm | 4 + .../33974-01.htm | 5 + .../33974-02.htm | 5 + .../33974-03.htm | 5 + .../33974-04.htm | 3 + .../33974-05.html | 4 + .../33974-06.html | 5 + .../33974-07.html | 4 + .../Q10802_TheDimensionalWarpPart2.java | 179 +++++++++++++++++ .../33974-00.htm | 4 + .../33974-01.htm | 5 + .../33974-02.htm | 5 + .../33974-03.htm | 5 + .../33974-04.htm | 3 + .../33974-05.html | 4 + .../33974-06.html | 5 + .../33974-07.html | 4 + .../Q10803_TheDimensionalWarpPart3.java | 181 ++++++++++++++++++ .../33974-00.htm | 4 + .../33974-01.htm | 5 + .../33974-02.htm | 5 + .../33974-03.htm | 5 + .../33974-04.htm | 3 + .../33974-05.html | 4 + .../33974-06.html | 5 + .../33974-07.html | 4 + .../Q10804_TheDimensionalWarpPart4.java | 181 ++++++++++++++++++ .../33974-00.htm | 4 + .../33974-01.htm | 5 + .../33974-02.htm | 5 + .../33974-03.htm | 5 + .../33974-04.htm | 3 + .../33974-05.html | 4 + .../33974-06.html | 5 + .../33974-07.html | 4 + .../Q10805_TheDimensionalWarpPart5.java | 181 ++++++++++++++++++ .../33974-00.htm | 4 + .../33974-01.htm | 5 + .../33974-02.htm | 5 + .../33974-03.htm | 5 + .../33974-04.htm | 3 + .../33974-05.html | 4 + .../33974-06.html | 5 + .../33974-07.html | 4 + .../Q10806_TheDimensionalWarpPart6.java | 179 +++++++++++++++++ .../33974-00.htm | 4 + .../33974-01.htm | 5 + .../33974-02.htm | 5 + .../33974-03.htm | 5 + .../33974-04.htm | 3 + .../33974-05.html | 4 + .../33974-06.html | 5 + .../33974-07.html | 4 + .../Q10807_TheDimensionalWarpPart7.java | 179 +++++++++++++++++ .../scripts/quests/QuestMasterHandler.java | 12 ++ 341 files changed, 7806 insertions(+), 42 deletions(-) create mode 100644 L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10802_TheDimensionalWarpPart2/33974-00.htm create mode 100644 L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10802_TheDimensionalWarpPart2/33974-01.htm create mode 100644 L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10802_TheDimensionalWarpPart2/33974-02.htm create mode 100644 L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10802_TheDimensionalWarpPart2/33974-03.htm create mode 100644 L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10802_TheDimensionalWarpPart2/33974-04.htm create mode 100644 L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10802_TheDimensionalWarpPart2/33974-05.html create mode 100644 L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10802_TheDimensionalWarpPart2/33974-06.html create mode 100644 L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10802_TheDimensionalWarpPart2/33974-07.html create mode 100644 L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10802_TheDimensionalWarpPart2/Q10802_TheDimensionalWarpPart2.java create mode 100644 L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10803_TheDimensionalWarpPart3/33974-00.htm create mode 100644 L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10803_TheDimensionalWarpPart3/33974-01.htm create mode 100644 L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10803_TheDimensionalWarpPart3/33974-02.htm create mode 100644 L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10803_TheDimensionalWarpPart3/33974-03.htm create mode 100644 L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10803_TheDimensionalWarpPart3/33974-04.htm create mode 100644 L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10803_TheDimensionalWarpPart3/33974-05.html create mode 100644 L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10803_TheDimensionalWarpPart3/33974-06.html create mode 100644 L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10803_TheDimensionalWarpPart3/33974-07.html create mode 100644 L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10803_TheDimensionalWarpPart3/Q10803_TheDimensionalWarpPart3.java create mode 100644 L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10804_TheDimensionalWarpPart4/33974-00.htm create mode 100644 L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10804_TheDimensionalWarpPart4/33974-01.htm create mode 100644 L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10804_TheDimensionalWarpPart4/33974-02.htm create mode 100644 L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10804_TheDimensionalWarpPart4/33974-03.htm create mode 100644 L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10804_TheDimensionalWarpPart4/33974-04.htm create mode 100644 L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10804_TheDimensionalWarpPart4/33974-05.html create mode 100644 L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10804_TheDimensionalWarpPart4/33974-06.html create mode 100644 L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10804_TheDimensionalWarpPart4/33974-07.html create mode 100644 L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10804_TheDimensionalWarpPart4/Q10804_TheDimensionalWarpPart4.java create mode 100644 L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10805_TheDimensionalWarpPart5/33974-00.htm create mode 100644 L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10805_TheDimensionalWarpPart5/33974-01.htm create mode 100644 L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10805_TheDimensionalWarpPart5/33974-02.htm create mode 100644 L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10805_TheDimensionalWarpPart5/33974-03.htm create mode 100644 L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10805_TheDimensionalWarpPart5/33974-04.htm create mode 100644 L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10805_TheDimensionalWarpPart5/33974-05.html create mode 100644 L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10805_TheDimensionalWarpPart5/33974-06.html create mode 100644 L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10805_TheDimensionalWarpPart5/33974-07.html create mode 100644 L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10805_TheDimensionalWarpPart5/Q10805_TheDimensionalWarpPart5.java create mode 100644 L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10806_TheDimensionalWarpPart6/33974-00.htm create mode 100644 L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10806_TheDimensionalWarpPart6/33974-01.htm create mode 100644 L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10806_TheDimensionalWarpPart6/33974-02.htm create mode 100644 L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10806_TheDimensionalWarpPart6/33974-03.htm create mode 100644 L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10806_TheDimensionalWarpPart6/33974-04.htm create mode 100644 L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10806_TheDimensionalWarpPart6/33974-05.html create mode 100644 L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10806_TheDimensionalWarpPart6/33974-06.html create mode 100644 L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10806_TheDimensionalWarpPart6/33974-07.html create mode 100644 L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10806_TheDimensionalWarpPart6/Q10806_TheDimensionalWarpPart6.java create mode 100644 L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10807_TheDimensionalWarpPart7/33974-00.htm create mode 100644 L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10807_TheDimensionalWarpPart7/33974-01.htm create mode 100644 L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10807_TheDimensionalWarpPart7/33974-02.htm create mode 100644 L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10807_TheDimensionalWarpPart7/33974-03.htm create mode 100644 L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10807_TheDimensionalWarpPart7/33974-04.htm create mode 100644 L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10807_TheDimensionalWarpPart7/33974-05.html create mode 100644 L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10807_TheDimensionalWarpPart7/33974-06.html create mode 100644 L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10807_TheDimensionalWarpPart7/33974-07.html create mode 100644 L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10807_TheDimensionalWarpPart7/Q10807_TheDimensionalWarpPart7.java create mode 100644 L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10802_TheDimensionalWarpPart2/33974-00.htm create mode 100644 L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10802_TheDimensionalWarpPart2/33974-01.htm create mode 100644 L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10802_TheDimensionalWarpPart2/33974-02.htm create mode 100644 L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10802_TheDimensionalWarpPart2/33974-03.htm create mode 100644 L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10802_TheDimensionalWarpPart2/33974-04.htm create mode 100644 L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10802_TheDimensionalWarpPart2/33974-05.html create mode 100644 L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10802_TheDimensionalWarpPart2/33974-06.html create mode 100644 L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10802_TheDimensionalWarpPart2/33974-07.html create mode 100644 L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10802_TheDimensionalWarpPart2/Q10802_TheDimensionalWarpPart2.java create mode 100644 L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10803_TheDimensionalWarpPart3/33974-00.htm create mode 100644 L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10803_TheDimensionalWarpPart3/33974-01.htm create mode 100644 L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10803_TheDimensionalWarpPart3/33974-02.htm create mode 100644 L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10803_TheDimensionalWarpPart3/33974-03.htm create mode 100644 L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10803_TheDimensionalWarpPart3/33974-04.htm create mode 100644 L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10803_TheDimensionalWarpPart3/33974-05.html create mode 100644 L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10803_TheDimensionalWarpPart3/33974-06.html create mode 100644 L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10803_TheDimensionalWarpPart3/33974-07.html create mode 100644 L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10803_TheDimensionalWarpPart3/Q10803_TheDimensionalWarpPart3.java create mode 100644 L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10804_TheDimensionalWarpPart4/33974-00.htm create mode 100644 L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10804_TheDimensionalWarpPart4/33974-01.htm create mode 100644 L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10804_TheDimensionalWarpPart4/33974-02.htm create mode 100644 L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10804_TheDimensionalWarpPart4/33974-03.htm create mode 100644 L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10804_TheDimensionalWarpPart4/33974-04.htm create mode 100644 L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10804_TheDimensionalWarpPart4/33974-05.html create mode 100644 L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10804_TheDimensionalWarpPart4/33974-06.html create mode 100644 L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10804_TheDimensionalWarpPart4/33974-07.html create mode 100644 L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10804_TheDimensionalWarpPart4/Q10804_TheDimensionalWarpPart4.java create mode 100644 L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10805_TheDimensionalWarpPart5/33974-00.htm create mode 100644 L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10805_TheDimensionalWarpPart5/33974-01.htm create mode 100644 L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10805_TheDimensionalWarpPart5/33974-02.htm create mode 100644 L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10805_TheDimensionalWarpPart5/33974-03.htm create mode 100644 L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10805_TheDimensionalWarpPart5/33974-04.htm create mode 100644 L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10805_TheDimensionalWarpPart5/33974-05.html create mode 100644 L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10805_TheDimensionalWarpPart5/33974-06.html create mode 100644 L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10805_TheDimensionalWarpPart5/33974-07.html create mode 100644 L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10805_TheDimensionalWarpPart5/Q10805_TheDimensionalWarpPart5.java create mode 100644 L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10806_TheDimensionalWarpPart6/33974-00.htm create mode 100644 L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10806_TheDimensionalWarpPart6/33974-01.htm create mode 100644 L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10806_TheDimensionalWarpPart6/33974-02.htm create mode 100644 L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10806_TheDimensionalWarpPart6/33974-03.htm create mode 100644 L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10806_TheDimensionalWarpPart6/33974-04.htm create mode 100644 L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10806_TheDimensionalWarpPart6/33974-05.html create mode 100644 L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10806_TheDimensionalWarpPart6/33974-06.html create mode 100644 L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10806_TheDimensionalWarpPart6/33974-07.html create mode 100644 L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10806_TheDimensionalWarpPart6/Q10806_TheDimensionalWarpPart6.java create mode 100644 L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10807_TheDimensionalWarpPart7/33974-00.htm create mode 100644 L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10807_TheDimensionalWarpPart7/33974-01.htm create mode 100644 L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10807_TheDimensionalWarpPart7/33974-02.htm create mode 100644 L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10807_TheDimensionalWarpPart7/33974-03.htm create mode 100644 L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10807_TheDimensionalWarpPart7/33974-04.htm create mode 100644 L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10807_TheDimensionalWarpPart7/33974-05.html create mode 100644 L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10807_TheDimensionalWarpPart7/33974-06.html create mode 100644 L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10807_TheDimensionalWarpPart7/33974-07.html create mode 100644 L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10807_TheDimensionalWarpPart7/Q10807_TheDimensionalWarpPart7.java create mode 100644 L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10802_TheDimensionalWarpPart2/33974-00.htm create mode 100644 L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10802_TheDimensionalWarpPart2/33974-01.htm create mode 100644 L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10802_TheDimensionalWarpPart2/33974-02.htm create mode 100644 L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10802_TheDimensionalWarpPart2/33974-03.htm create mode 100644 L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10802_TheDimensionalWarpPart2/33974-04.htm create mode 100644 L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10802_TheDimensionalWarpPart2/33974-05.html create mode 100644 L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10802_TheDimensionalWarpPart2/33974-06.html create mode 100644 L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10802_TheDimensionalWarpPart2/33974-07.html create mode 100644 L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10802_TheDimensionalWarpPart2/Q10802_TheDimensionalWarpPart2.java create mode 100644 L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10803_TheDimensionalWarpPart3/33974-00.htm create mode 100644 L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10803_TheDimensionalWarpPart3/33974-01.htm create mode 100644 L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10803_TheDimensionalWarpPart3/33974-02.htm create mode 100644 L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10803_TheDimensionalWarpPart3/33974-03.htm create mode 100644 L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10803_TheDimensionalWarpPart3/33974-04.htm create mode 100644 L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10803_TheDimensionalWarpPart3/33974-05.html create mode 100644 L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10803_TheDimensionalWarpPart3/33974-06.html create mode 100644 L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10803_TheDimensionalWarpPart3/33974-07.html create mode 100644 L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10803_TheDimensionalWarpPart3/Q10803_TheDimensionalWarpPart3.java create mode 100644 L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10804_TheDimensionalWarpPart4/33974-00.htm create mode 100644 L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10804_TheDimensionalWarpPart4/33974-01.htm create mode 100644 L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10804_TheDimensionalWarpPart4/33974-02.htm create mode 100644 L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10804_TheDimensionalWarpPart4/33974-03.htm create mode 100644 L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10804_TheDimensionalWarpPart4/33974-04.htm create mode 100644 L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10804_TheDimensionalWarpPart4/33974-05.html create mode 100644 L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10804_TheDimensionalWarpPart4/33974-06.html create mode 100644 L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10804_TheDimensionalWarpPart4/33974-07.html create mode 100644 L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10804_TheDimensionalWarpPart4/Q10804_TheDimensionalWarpPart4.java create mode 100644 L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10805_TheDimensionalWarpPart5/33974-00.htm create mode 100644 L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10805_TheDimensionalWarpPart5/33974-01.htm create mode 100644 L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10805_TheDimensionalWarpPart5/33974-02.htm create mode 100644 L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10805_TheDimensionalWarpPart5/33974-03.htm create mode 100644 L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10805_TheDimensionalWarpPart5/33974-04.htm create mode 100644 L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10805_TheDimensionalWarpPart5/33974-05.html create mode 100644 L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10805_TheDimensionalWarpPart5/33974-06.html create mode 100644 L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10805_TheDimensionalWarpPart5/33974-07.html create mode 100644 L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10805_TheDimensionalWarpPart5/Q10805_TheDimensionalWarpPart5.java create mode 100644 L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10806_TheDimensionalWarpPart6/33974-00.htm create mode 100644 L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10806_TheDimensionalWarpPart6/33974-01.htm create mode 100644 L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10806_TheDimensionalWarpPart6/33974-02.htm create mode 100644 L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10806_TheDimensionalWarpPart6/33974-03.htm create mode 100644 L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10806_TheDimensionalWarpPart6/33974-04.htm create mode 100644 L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10806_TheDimensionalWarpPart6/33974-05.html create mode 100644 L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10806_TheDimensionalWarpPart6/33974-06.html create mode 100644 L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10806_TheDimensionalWarpPart6/33974-07.html create mode 100644 L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10806_TheDimensionalWarpPart6/Q10806_TheDimensionalWarpPart6.java create mode 100644 L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10807_TheDimensionalWarpPart7/33974-00.htm create mode 100644 L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10807_TheDimensionalWarpPart7/33974-01.htm create mode 100644 L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10807_TheDimensionalWarpPart7/33974-02.htm create mode 100644 L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10807_TheDimensionalWarpPart7/33974-03.htm create mode 100644 L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10807_TheDimensionalWarpPart7/33974-04.htm create mode 100644 L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10807_TheDimensionalWarpPart7/33974-05.html create mode 100644 L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10807_TheDimensionalWarpPart7/33974-06.html create mode 100644 L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10807_TheDimensionalWarpPart7/33974-07.html create mode 100644 L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10807_TheDimensionalWarpPart7/Q10807_TheDimensionalWarpPart7.java create mode 100644 L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10802_TheDimensionalWarpPart2/33974-00.htm create mode 100644 L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10802_TheDimensionalWarpPart2/33974-01.htm create mode 100644 L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10802_TheDimensionalWarpPart2/33974-02.htm create mode 100644 L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10802_TheDimensionalWarpPart2/33974-03.htm create mode 100644 L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10802_TheDimensionalWarpPart2/33974-04.htm create mode 100644 L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10802_TheDimensionalWarpPart2/33974-05.html create mode 100644 L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10802_TheDimensionalWarpPart2/33974-06.html create mode 100644 L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10802_TheDimensionalWarpPart2/33974-07.html create mode 100644 L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10802_TheDimensionalWarpPart2/Q10802_TheDimensionalWarpPart2.java create mode 100644 L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10803_TheDimensionalWarpPart3/33974-00.htm create mode 100644 L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10803_TheDimensionalWarpPart3/33974-01.htm create mode 100644 L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10803_TheDimensionalWarpPart3/33974-02.htm create mode 100644 L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10803_TheDimensionalWarpPart3/33974-03.htm create mode 100644 L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10803_TheDimensionalWarpPart3/33974-04.htm create mode 100644 L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10803_TheDimensionalWarpPart3/33974-05.html create mode 100644 L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10803_TheDimensionalWarpPart3/33974-06.html create mode 100644 L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10803_TheDimensionalWarpPart3/33974-07.html create mode 100644 L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10803_TheDimensionalWarpPart3/Q10803_TheDimensionalWarpPart3.java create mode 100644 L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10804_TheDimensionalWarpPart4/33974-00.htm create mode 100644 L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10804_TheDimensionalWarpPart4/33974-01.htm create mode 100644 L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10804_TheDimensionalWarpPart4/33974-02.htm create mode 100644 L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10804_TheDimensionalWarpPart4/33974-03.htm create mode 100644 L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10804_TheDimensionalWarpPart4/33974-04.htm create mode 100644 L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10804_TheDimensionalWarpPart4/33974-05.html create mode 100644 L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10804_TheDimensionalWarpPart4/33974-06.html create mode 100644 L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10804_TheDimensionalWarpPart4/33974-07.html create mode 100644 L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10804_TheDimensionalWarpPart4/Q10804_TheDimensionalWarpPart4.java create mode 100644 L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10805_TheDimensionalWarpPart5/33974-00.htm create mode 100644 L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10805_TheDimensionalWarpPart5/33974-01.htm create mode 100644 L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10805_TheDimensionalWarpPart5/33974-02.htm create mode 100644 L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10805_TheDimensionalWarpPart5/33974-03.htm create mode 100644 L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10805_TheDimensionalWarpPart5/33974-04.htm create mode 100644 L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10805_TheDimensionalWarpPart5/33974-05.html create mode 100644 L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10805_TheDimensionalWarpPart5/33974-06.html create mode 100644 L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10805_TheDimensionalWarpPart5/33974-07.html create mode 100644 L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10805_TheDimensionalWarpPart5/Q10805_TheDimensionalWarpPart5.java create mode 100644 L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10806_TheDimensionalWarpPart6/33974-00.htm create mode 100644 L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10806_TheDimensionalWarpPart6/33974-01.htm create mode 100644 L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10806_TheDimensionalWarpPart6/33974-02.htm create mode 100644 L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10806_TheDimensionalWarpPart6/33974-03.htm create mode 100644 L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10806_TheDimensionalWarpPart6/33974-04.htm create mode 100644 L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10806_TheDimensionalWarpPart6/33974-05.html create mode 100644 L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10806_TheDimensionalWarpPart6/33974-06.html create mode 100644 L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10806_TheDimensionalWarpPart6/33974-07.html create mode 100644 L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10806_TheDimensionalWarpPart6/Q10806_TheDimensionalWarpPart6.java create mode 100644 L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10807_TheDimensionalWarpPart7/33974-00.htm create mode 100644 L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10807_TheDimensionalWarpPart7/33974-01.htm create mode 100644 L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10807_TheDimensionalWarpPart7/33974-02.htm create mode 100644 L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10807_TheDimensionalWarpPart7/33974-03.htm create mode 100644 L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10807_TheDimensionalWarpPart7/33974-04.htm create mode 100644 L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10807_TheDimensionalWarpPart7/33974-05.html create mode 100644 L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10807_TheDimensionalWarpPart7/33974-06.html create mode 100644 L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10807_TheDimensionalWarpPart7/33974-07.html create mode 100644 L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10807_TheDimensionalWarpPart7/Q10807_TheDimensionalWarpPart7.java create mode 100644 L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10802_TheDimensionalWarpPart2/33974-00.htm create mode 100644 L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10802_TheDimensionalWarpPart2/33974-01.htm create mode 100644 L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10802_TheDimensionalWarpPart2/33974-02.htm create mode 100644 L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10802_TheDimensionalWarpPart2/33974-03.htm create mode 100644 L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10802_TheDimensionalWarpPart2/33974-04.htm create mode 100644 L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10802_TheDimensionalWarpPart2/33974-05.html create mode 100644 L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10802_TheDimensionalWarpPart2/33974-06.html create mode 100644 L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10802_TheDimensionalWarpPart2/33974-07.html create mode 100644 L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10802_TheDimensionalWarpPart2/Q10802_TheDimensionalWarpPart2.java create mode 100644 L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10803_TheDimensionalWarpPart3/33974-00.htm create mode 100644 L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10803_TheDimensionalWarpPart3/33974-01.htm create mode 100644 L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10803_TheDimensionalWarpPart3/33974-02.htm create mode 100644 L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10803_TheDimensionalWarpPart3/33974-03.htm create mode 100644 L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10803_TheDimensionalWarpPart3/33974-04.htm create mode 100644 L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10803_TheDimensionalWarpPart3/33974-05.html create mode 100644 L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10803_TheDimensionalWarpPart3/33974-06.html create mode 100644 L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10803_TheDimensionalWarpPart3/33974-07.html create mode 100644 L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10803_TheDimensionalWarpPart3/Q10803_TheDimensionalWarpPart3.java create mode 100644 L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10804_TheDimensionalWarpPart4/33974-00.htm create mode 100644 L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10804_TheDimensionalWarpPart4/33974-01.htm create mode 100644 L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10804_TheDimensionalWarpPart4/33974-02.htm create mode 100644 L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10804_TheDimensionalWarpPart4/33974-03.htm create mode 100644 L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10804_TheDimensionalWarpPart4/33974-04.htm create mode 100644 L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10804_TheDimensionalWarpPart4/33974-05.html create mode 100644 L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10804_TheDimensionalWarpPart4/33974-06.html create mode 100644 L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10804_TheDimensionalWarpPart4/33974-07.html create mode 100644 L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10804_TheDimensionalWarpPart4/Q10804_TheDimensionalWarpPart4.java create mode 100644 L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10805_TheDimensionalWarpPart5/33974-00.htm create mode 100644 L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10805_TheDimensionalWarpPart5/33974-01.htm create mode 100644 L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10805_TheDimensionalWarpPart5/33974-02.htm create mode 100644 L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10805_TheDimensionalWarpPart5/33974-03.htm create mode 100644 L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10805_TheDimensionalWarpPart5/33974-04.htm create mode 100644 L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10805_TheDimensionalWarpPart5/33974-05.html create mode 100644 L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10805_TheDimensionalWarpPart5/33974-06.html create mode 100644 L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10805_TheDimensionalWarpPart5/33974-07.html create mode 100644 L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10805_TheDimensionalWarpPart5/Q10805_TheDimensionalWarpPart5.java create mode 100644 L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10806_TheDimensionalWarpPart6/33974-00.htm create mode 100644 L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10806_TheDimensionalWarpPart6/33974-01.htm create mode 100644 L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10806_TheDimensionalWarpPart6/33974-02.htm create mode 100644 L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10806_TheDimensionalWarpPart6/33974-03.htm create mode 100644 L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10806_TheDimensionalWarpPart6/33974-04.htm create mode 100644 L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10806_TheDimensionalWarpPart6/33974-05.html create mode 100644 L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10806_TheDimensionalWarpPart6/33974-06.html create mode 100644 L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10806_TheDimensionalWarpPart6/33974-07.html create mode 100644 L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10806_TheDimensionalWarpPart6/Q10806_TheDimensionalWarpPart6.java create mode 100644 L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10807_TheDimensionalWarpPart7/33974-00.htm create mode 100644 L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10807_TheDimensionalWarpPart7/33974-01.htm create mode 100644 L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10807_TheDimensionalWarpPart7/33974-02.htm create mode 100644 L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10807_TheDimensionalWarpPart7/33974-03.htm create mode 100644 L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10807_TheDimensionalWarpPart7/33974-04.htm create mode 100644 L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10807_TheDimensionalWarpPart7/33974-05.html create mode 100644 L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10807_TheDimensionalWarpPart7/33974-06.html create mode 100644 L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10807_TheDimensionalWarpPart7/33974-07.html create mode 100644 L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10807_TheDimensionalWarpPart7/Q10807_TheDimensionalWarpPart7.java create mode 100644 L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10802_TheDimensionalWarpPart2/33974-00.htm create mode 100644 L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10802_TheDimensionalWarpPart2/33974-01.htm create mode 100644 L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10802_TheDimensionalWarpPart2/33974-02.htm create mode 100644 L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10802_TheDimensionalWarpPart2/33974-03.htm create mode 100644 L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10802_TheDimensionalWarpPart2/33974-04.htm create mode 100644 L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10802_TheDimensionalWarpPart2/33974-05.html create mode 100644 L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10802_TheDimensionalWarpPart2/33974-06.html create mode 100644 L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10802_TheDimensionalWarpPart2/33974-07.html create mode 100644 L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10802_TheDimensionalWarpPart2/Q10802_TheDimensionalWarpPart2.java create mode 100644 L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10803_TheDimensionalWarpPart3/33974-00.htm create mode 100644 L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10803_TheDimensionalWarpPart3/33974-01.htm create mode 100644 L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10803_TheDimensionalWarpPart3/33974-02.htm create mode 100644 L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10803_TheDimensionalWarpPart3/33974-03.htm create mode 100644 L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10803_TheDimensionalWarpPart3/33974-04.htm create mode 100644 L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10803_TheDimensionalWarpPart3/33974-05.html create mode 100644 L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10803_TheDimensionalWarpPart3/33974-06.html create mode 100644 L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10803_TheDimensionalWarpPart3/33974-07.html create mode 100644 L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10803_TheDimensionalWarpPart3/Q10803_TheDimensionalWarpPart3.java create mode 100644 L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10804_TheDimensionalWarpPart4/33974-00.htm create mode 100644 L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10804_TheDimensionalWarpPart4/33974-01.htm create mode 100644 L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10804_TheDimensionalWarpPart4/33974-02.htm create mode 100644 L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10804_TheDimensionalWarpPart4/33974-03.htm create mode 100644 L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10804_TheDimensionalWarpPart4/33974-04.htm create mode 100644 L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10804_TheDimensionalWarpPart4/33974-05.html create mode 100644 L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10804_TheDimensionalWarpPart4/33974-06.html create mode 100644 L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10804_TheDimensionalWarpPart4/33974-07.html create mode 100644 L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10804_TheDimensionalWarpPart4/Q10804_TheDimensionalWarpPart4.java create mode 100644 L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10805_TheDimensionalWarpPart5/33974-00.htm create mode 100644 L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10805_TheDimensionalWarpPart5/33974-01.htm create mode 100644 L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10805_TheDimensionalWarpPart5/33974-02.htm create mode 100644 L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10805_TheDimensionalWarpPart5/33974-03.htm create mode 100644 L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10805_TheDimensionalWarpPart5/33974-04.htm create mode 100644 L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10805_TheDimensionalWarpPart5/33974-05.html create mode 100644 L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10805_TheDimensionalWarpPart5/33974-06.html create mode 100644 L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10805_TheDimensionalWarpPart5/33974-07.html create mode 100644 L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10805_TheDimensionalWarpPart5/Q10805_TheDimensionalWarpPart5.java create mode 100644 L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10806_TheDimensionalWarpPart6/33974-00.htm create mode 100644 L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10806_TheDimensionalWarpPart6/33974-01.htm create mode 100644 L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10806_TheDimensionalWarpPart6/33974-02.htm create mode 100644 L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10806_TheDimensionalWarpPart6/33974-03.htm create mode 100644 L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10806_TheDimensionalWarpPart6/33974-04.htm create mode 100644 L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10806_TheDimensionalWarpPart6/33974-05.html create mode 100644 L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10806_TheDimensionalWarpPart6/33974-06.html create mode 100644 L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10806_TheDimensionalWarpPart6/33974-07.html create mode 100644 L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10806_TheDimensionalWarpPart6/Q10806_TheDimensionalWarpPart6.java create mode 100644 L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10807_TheDimensionalWarpPart7/33974-00.htm create mode 100644 L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10807_TheDimensionalWarpPart7/33974-01.htm create mode 100644 L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10807_TheDimensionalWarpPart7/33974-02.htm create mode 100644 L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10807_TheDimensionalWarpPart7/33974-03.htm create mode 100644 L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10807_TheDimensionalWarpPart7/33974-04.htm create mode 100644 L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10807_TheDimensionalWarpPart7/33974-05.html create mode 100644 L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10807_TheDimensionalWarpPart7/33974-06.html create mode 100644 L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10807_TheDimensionalWarpPart7/33974-07.html create mode 100644 L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10807_TheDimensionalWarpPart7/Q10807_TheDimensionalWarpPart7.java diff --git a/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/MissingQuests.txt b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/MissingQuests.txt index 6edf28c5d7..a9ea6273e9 100644 --- a/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/MissingQuests.txt +++ b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/MissingQuests.txt @@ -46,10 +46,4 @@ 10747 The Hero's Journey: Pagan Temple 10748 Mysterious Suggestion - 1 10749 Mysterious Suggestion - 2 -10802 The Dimensional Warp, Part 2 -10803 The Dimensional Warp, Part 3 -10804 The Dimensional Warp, Part 4 -10805 The Dimensional Warp, Part 5 -10806 The Dimensional Warp, Part 6 -10807 The Dimensional Warp, Part 7 10809 The Hero's Journey: Blazing Swamp \ No newline at end of file diff --git a/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10801_TheDimensionalWarpPart1/Q10801_TheDimensionalWarpPart1.java b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10801_TheDimensionalWarpPart1/Q10801_TheDimensionalWarpPart1.java index f16e4a0045..80f70302f1 100644 --- a/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10801_TheDimensionalWarpPart1/Q10801_TheDimensionalWarpPart1.java +++ b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10801_TheDimensionalWarpPart1/Q10801_TheDimensionalWarpPart1.java @@ -41,7 +41,7 @@ public class Q10801_TheDimensionalWarpPart1 extends Quest private static final int RESED = 33974; // Monsters private static final int DIMENSIONAL_BUGBEAR = 23465; - // other + // Others private static final int MIN_LEVEL = 99; private static final int DIMENSIONAL_BRACELET_STAGE_1 = 39747; private static final int WARP_CRYSTAL = 39597; diff --git a/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10802_TheDimensionalWarpPart2/33974-00.htm b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10802_TheDimensionalWarpPart2/33974-00.htm new file mode 100644 index 0000000000..60df561273 --- /dev/null +++ b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10802_TheDimensionalWarpPart2/33974-00.htm @@ -0,0 +1,4 @@ +Resed:
+Are you trying to enter the Dimensional Warp? It's not a place for people like you.
+(Only characters Lv. 99 or above may undertake this quest.) + \ No newline at end of file diff --git a/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10802_TheDimensionalWarpPart2/33974-01.htm b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10802_TheDimensionalWarpPart2/33974-01.htm new file mode 100644 index 0000000000..dbbc35f962 --- /dev/null +++ b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10802_TheDimensionalWarpPart2/33974-01.htm @@ -0,0 +1,5 @@ +Resed:
+Have you been inside Dimensional Warp? My job is to send the explorers to the Dimensional Warp, but I don't have enough information here. I'm continuously collecting more, but it's still not enough.
+I know it won't be easy, but can you do me a favor?
+ + \ No newline at end of file diff --git a/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10802_TheDimensionalWarpPart2/33974-02.htm b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10802_TheDimensionalWarpPart2/33974-02.htm new file mode 100644 index 0000000000..aafbc2ba6f --- /dev/null +++ b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10802_TheDimensionalWarpPart2/33974-02.htm @@ -0,0 +1,5 @@ +Resed:
+In the early stages of a Dimensional Warp, Dimensional Binders come out.
+But we still don't have enough information about them. I need more information about them because people run into them the most.
+ + \ No newline at end of file diff --git a/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10802_TheDimensionalWarpPart2/33974-03.htm b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10802_TheDimensionalWarpPart2/33974-03.htm new file mode 100644 index 0000000000..36a49fe97d --- /dev/null +++ b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10802_TheDimensionalWarpPart2/33974-03.htm @@ -0,0 +1,5 @@ +Resed:
+Can we start with 100?
+They come out often, so it won't be too hard. Thank you!
+ + \ No newline at end of file diff --git a/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10802_TheDimensionalWarpPart2/33974-04.htm b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10802_TheDimensionalWarpPart2/33974-04.htm new file mode 100644 index 0000000000..d9ba89a5e4 --- /dev/null +++ b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10802_TheDimensionalWarpPart2/33974-04.htm @@ -0,0 +1,3 @@ +Resed:
+Kill 100 Dimensional Binders and come back to me. + \ No newline at end of file diff --git a/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10802_TheDimensionalWarpPart2/33974-05.html b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10802_TheDimensionalWarpPart2/33974-05.html new file mode 100644 index 0000000000..4600cd995c --- /dev/null +++ b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10802_TheDimensionalWarpPart2/33974-05.html @@ -0,0 +1,4 @@ +Resed:
+We still don't have enough information. That's not enough.
+Go kill more Dimensional Binders. + \ No newline at end of file diff --git a/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10802_TheDimensionalWarpPart2/33974-06.html b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10802_TheDimensionalWarpPart2/33974-06.html new file mode 100644 index 0000000000..2076a91123 --- /dev/null +++ b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10802_TheDimensionalWarpPart2/33974-06.html @@ -0,0 +1,5 @@ +Resed:
+Thank you. This will be enough.
+Can You give me the information now?
+ + \ No newline at end of file diff --git a/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10802_TheDimensionalWarpPart2/33974-07.html b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10802_TheDimensionalWarpPart2/33974-07.html new file mode 100644 index 0000000000..0bb0b71989 --- /dev/null +++ b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10802_TheDimensionalWarpPart2/33974-07.html @@ -0,0 +1,4 @@ +Resed:
+Good work. You're almost at the finish line.
+The reward is better than the last time. Take it. + \ No newline at end of file diff --git a/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10802_TheDimensionalWarpPart2/Q10802_TheDimensionalWarpPart2.java b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10802_TheDimensionalWarpPart2/Q10802_TheDimensionalWarpPart2.java new file mode 100644 index 0000000000..a6b57f397c --- /dev/null +++ b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10802_TheDimensionalWarpPart2/Q10802_TheDimensionalWarpPart2.java @@ -0,0 +1,179 @@ +/* + * 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 . + */ +package quests.Q10802_TheDimensionalWarpPart2; + +import java.util.HashSet; +import java.util.Set; + +import com.l2jmobius.Config; +import com.l2jmobius.gameserver.enums.QuestSound; +import com.l2jmobius.gameserver.model.L2Party; +import com.l2jmobius.gameserver.model.actor.L2Npc; +import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance; +import com.l2jmobius.gameserver.model.holders.NpcLogListHolder; +import com.l2jmobius.gameserver.model.quest.Quest; +import com.l2jmobius.gameserver.model.quest.QuestState; +import com.l2jmobius.gameserver.model.quest.State; + +import quests.Q10801_TheDimensionalWarpPart1.Q10801_TheDimensionalWarpPart1; + +/** + * The Dimensional Warp, Part 2 (10802) + * @URL https://l2wiki.com/The_Dimensional_Warp,_Part_2 + * @author Mobius + */ +public class Q10802_TheDimensionalWarpPart2 extends Quest +{ + // NPC + private static final int RESED = 33974; + // Monsters + private static final int DIMENSIONAL_BINDER = 23467; + // Others + private static final int MIN_LEVEL = 99; + private static final int WARP_CRYSTAL = 39597; + + public Q10802_TheDimensionalWarpPart2() + { + super(10802); + addStartNpc(RESED); + addTalkId(RESED); + addKillId(DIMENSIONAL_BINDER); + addCondMinLevel(MIN_LEVEL, "33974-00.htm"); + addCondCompletedQuest(Q10801_TheDimensionalWarpPart1.class.getSimpleName(), ""); + } + + @Override + public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) + { + String htmltext = null; + final QuestState qs = getQuestState(player, false); + if (qs == null) + { + return htmltext; + } + + switch (event) + { + case "33974-02.htm": + case "33974-03.htm": + { + htmltext = event; + break; + } + case "33974-04.htm": + { + qs.startQuest(); + htmltext = event; + break; + } + case "33974-07.html": + { + if (qs.isCond(2)) + { + if (player.getLevel() >= MIN_LEVEL) + { + addExpAndSp(player, 49380951086L, 0); + giveItems(player, WARP_CRYSTAL, 300); + qs.exitQuest(false, true); + htmltext = event; + } + else + { + htmltext = getNoQuestLevelRewardMsg(player); + } + } + break; + } + } + return htmltext; + } + + @Override + public String onTalk(L2Npc npc, L2PcInstance player) + { + final QuestState qs = getQuestState(player, true); + String htmltext = getNoQuestMsg(player); + + switch (qs.getState()) + { + case State.CREATED: + { + htmltext = "33974-01.htm"; + break; + } + case State.STARTED: + { + htmltext = (qs.isCond(1)) ? "33974-05.html" : "33974-06.html"; + break; + } + case State.COMPLETED: + { + htmltext = getAlreadyCompletedMsg(player); + break; + } + } + return htmltext; + } + + @Override + public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon) + { + L2Party party = killer.getParty(); + if (party != null) + { + party.getMembers().forEach(p -> onKill(npc, p)); + } + else + { + onKill(npc, killer); + } + return super.onKill(npc, killer, isSummon); + } + + private void onKill(L2Npc npc, L2PcInstance killer) + { + final QuestState qs = getQuestState(killer, false); + + if ((qs != null) && qs.isCond(1) && (npc.calculateDistance3D(killer) <= Config.ALT_PARTY_RANGE)) + { + int killedBugbear = qs.getInt("killed_" + DIMENSIONAL_BINDER); + if (killedBugbear < 100) + { + qs.set("killed_" + DIMENSIONAL_BINDER, ++killedBugbear); + playSound(killer, QuestSound.ITEMSOUND_QUEST_ITEMGET); + } + if (killedBugbear >= 100) + { + qs.setCond(2, true); + } + sendNpcLogList(killer); + } + } + + @Override + public Set getNpcLogList(L2PcInstance player) + { + final QuestState qs = getQuestState(player, false); + if ((qs != null) && qs.isCond(1)) + { + final Set holder = new HashSet<>(); + holder.add(new NpcLogListHolder(DIMENSIONAL_BINDER, false, qs.getInt("killed_" + DIMENSIONAL_BINDER))); + return holder; + } + return super.getNpcLogList(player); + } +} diff --git a/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10803_TheDimensionalWarpPart3/33974-00.htm b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10803_TheDimensionalWarpPart3/33974-00.htm new file mode 100644 index 0000000000..60df561273 --- /dev/null +++ b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10803_TheDimensionalWarpPart3/33974-00.htm @@ -0,0 +1,4 @@ +Resed:
+Are you trying to enter the Dimensional Warp? It's not a place for people like you.
+(Only characters Lv. 99 or above may undertake this quest.) + \ No newline at end of file diff --git a/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10803_TheDimensionalWarpPart3/33974-01.htm b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10803_TheDimensionalWarpPart3/33974-01.htm new file mode 100644 index 0000000000..382f41fc38 --- /dev/null +++ b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10803_TheDimensionalWarpPart3/33974-01.htm @@ -0,0 +1,5 @@ +Resed:
+Have you been inside Dimensional Warp? My job is to send the explorers to the Dimensional Warp, but I don't have enough information here. I'm continuously collecting more, but it's still not enough.
+I know it won't be easy, but can you do me a favor?
+ + \ No newline at end of file diff --git a/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10803_TheDimensionalWarpPart3/33974-02.htm b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10803_TheDimensionalWarpPart3/33974-02.htm new file mode 100644 index 0000000000..0a9f1a8ca8 --- /dev/null +++ b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10803_TheDimensionalWarpPart3/33974-02.htm @@ -0,0 +1,5 @@ +Resed:
+In the early stages of a Dimensional Warp, Unworldly Etins come out.
+But we still don't have enough information about them. I need more information about them because people run into them the most.
+ + \ No newline at end of file diff --git a/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10803_TheDimensionalWarpPart3/33974-03.htm b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10803_TheDimensionalWarpPart3/33974-03.htm new file mode 100644 index 0000000000..d32288d8be --- /dev/null +++ b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10803_TheDimensionalWarpPart3/33974-03.htm @@ -0,0 +1,5 @@ +Resed:
+Can we start with 100?
+They come out often, so it won't be too hard. Thank you!
+ + \ No newline at end of file diff --git a/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10803_TheDimensionalWarpPart3/33974-04.htm b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10803_TheDimensionalWarpPart3/33974-04.htm new file mode 100644 index 0000000000..1859f388b6 --- /dev/null +++ b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10803_TheDimensionalWarpPart3/33974-04.htm @@ -0,0 +1,3 @@ +Resed:
+Kill 100 Unworldly Etins and come back to me. + \ No newline at end of file diff --git a/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10803_TheDimensionalWarpPart3/33974-05.html b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10803_TheDimensionalWarpPart3/33974-05.html new file mode 100644 index 0000000000..2ab774064c --- /dev/null +++ b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10803_TheDimensionalWarpPart3/33974-05.html @@ -0,0 +1,4 @@ +Resed:
+We still don't have enough information. That's not enough.
+Go kill more Unworldly Etins. + \ No newline at end of file diff --git a/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10803_TheDimensionalWarpPart3/33974-06.html b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10803_TheDimensionalWarpPart3/33974-06.html new file mode 100644 index 0000000000..30d4ab1648 --- /dev/null +++ b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10803_TheDimensionalWarpPart3/33974-06.html @@ -0,0 +1,5 @@ +Resed:
+Thank you. This will be enough.
+Can You give me the information now?
+ + \ No newline at end of file diff --git a/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10803_TheDimensionalWarpPart3/33974-07.html b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10803_TheDimensionalWarpPart3/33974-07.html new file mode 100644 index 0000000000..0bb0b71989 --- /dev/null +++ b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10803_TheDimensionalWarpPart3/33974-07.html @@ -0,0 +1,4 @@ +Resed:
+Good work. You're almost at the finish line.
+The reward is better than the last time. Take it. + \ No newline at end of file diff --git a/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10803_TheDimensionalWarpPart3/Q10803_TheDimensionalWarpPart3.java b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10803_TheDimensionalWarpPart3/Q10803_TheDimensionalWarpPart3.java new file mode 100644 index 0000000000..787b66b5ce --- /dev/null +++ b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10803_TheDimensionalWarpPart3/Q10803_TheDimensionalWarpPart3.java @@ -0,0 +1,181 @@ +/* + * 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 . + */ +package quests.Q10803_TheDimensionalWarpPart3; + +import java.util.HashSet; +import java.util.Set; + +import com.l2jmobius.Config; +import com.l2jmobius.gameserver.enums.QuestSound; +import com.l2jmobius.gameserver.model.L2Party; +import com.l2jmobius.gameserver.model.actor.L2Npc; +import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance; +import com.l2jmobius.gameserver.model.holders.NpcLogListHolder; +import com.l2jmobius.gameserver.model.quest.Quest; +import com.l2jmobius.gameserver.model.quest.QuestState; +import com.l2jmobius.gameserver.model.quest.State; + +import quests.Q10802_TheDimensionalWarpPart2.Q10802_TheDimensionalWarpPart2; + +/** + * The Dimensional Warp, Part 3 (10803) + * @URL https://l2wiki.com/The_Dimensional_Warp,_Part_3 + * @author Mobius + */ +public class Q10803_TheDimensionalWarpPart3 extends Quest +{ + // NPC + private static final int RESED = 33974; + // Monsters + private static final int UNWORDLY_ETIN = 23471; + // Others + private static final int MIN_LEVEL = 99; + private static final int BLOODY_ETERNAL_ENHANCEMENT_STONE = 3556; + private static final int WARP_CRYSTAL = 39597; + + public Q10803_TheDimensionalWarpPart3() + { + super(10803); + addStartNpc(RESED); + addTalkId(RESED); + addKillId(UNWORDLY_ETIN); + addCondMinLevel(MIN_LEVEL, "33974-00.htm"); + addCondCompletedQuest(Q10802_TheDimensionalWarpPart2.class.getSimpleName(), ""); + } + + @Override + public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) + { + String htmltext = null; + final QuestState qs = getQuestState(player, false); + if (qs == null) + { + return htmltext; + } + + switch (event) + { + case "33974-02.htm": + case "33974-03.htm": + { + htmltext = event; + break; + } + case "33974-04.htm": + { + qs.startQuest(); + htmltext = event; + break; + } + case "33974-07.html": + { + if (qs.isCond(2)) + { + if (player.getLevel() >= MIN_LEVEL) + { + addExpAndSp(player, 54383249571L, 0); + giveItems(player, BLOODY_ETERNAL_ENHANCEMENT_STONE, 1); + giveItems(player, WARP_CRYSTAL, 300); + qs.exitQuest(false, true); + htmltext = event; + } + else + { + htmltext = getNoQuestLevelRewardMsg(player); + } + } + break; + } + } + return htmltext; + } + + @Override + public String onTalk(L2Npc npc, L2PcInstance player) + { + final QuestState qs = getQuestState(player, true); + String htmltext = getNoQuestMsg(player); + + switch (qs.getState()) + { + case State.CREATED: + { + htmltext = "33974-01.htm"; + break; + } + case State.STARTED: + { + htmltext = (qs.isCond(1)) ? "33974-05.html" : "33974-06.html"; + break; + } + case State.COMPLETED: + { + htmltext = getAlreadyCompletedMsg(player); + break; + } + } + return htmltext; + } + + @Override + public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon) + { + L2Party party = killer.getParty(); + if (party != null) + { + party.getMembers().forEach(p -> onKill(npc, p)); + } + else + { + onKill(npc, killer); + } + return super.onKill(npc, killer, isSummon); + } + + private void onKill(L2Npc npc, L2PcInstance killer) + { + final QuestState qs = getQuestState(killer, false); + + if ((qs != null) && qs.isCond(1) && (npc.calculateDistance3D(killer) <= Config.ALT_PARTY_RANGE)) + { + int killedBugbear = qs.getInt("killed_" + UNWORDLY_ETIN); + if (killedBugbear < 100) + { + qs.set("killed_" + UNWORDLY_ETIN, ++killedBugbear); + playSound(killer, QuestSound.ITEMSOUND_QUEST_ITEMGET); + } + if (killedBugbear >= 100) + { + qs.setCond(2, true); + } + sendNpcLogList(killer); + } + } + + @Override + public Set getNpcLogList(L2PcInstance player) + { + final QuestState qs = getQuestState(player, false); + if ((qs != null) && qs.isCond(1)) + { + final Set holder = new HashSet<>(); + holder.add(new NpcLogListHolder(UNWORDLY_ETIN, false, qs.getInt("killed_" + UNWORDLY_ETIN))); + return holder; + } + return super.getNpcLogList(player); + } +} diff --git a/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10804_TheDimensionalWarpPart4/33974-00.htm b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10804_TheDimensionalWarpPart4/33974-00.htm new file mode 100644 index 0000000000..60df561273 --- /dev/null +++ b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10804_TheDimensionalWarpPart4/33974-00.htm @@ -0,0 +1,4 @@ +Resed:
+Are you trying to enter the Dimensional Warp? It's not a place for people like you.
+(Only characters Lv. 99 or above may undertake this quest.) + \ No newline at end of file diff --git a/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10804_TheDimensionalWarpPart4/33974-01.htm b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10804_TheDimensionalWarpPart4/33974-01.htm new file mode 100644 index 0000000000..0c799f407c --- /dev/null +++ b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10804_TheDimensionalWarpPart4/33974-01.htm @@ -0,0 +1,5 @@ +Resed:
+Have you been inside Dimensional Warp? My job is to send the explorers to the Dimensional Warp, but I don't have enough information here. I'm continuously collecting more, but it's still not enough.
+I know it won't be easy, but can you do me a favor?
+ + \ No newline at end of file diff --git a/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10804_TheDimensionalWarpPart4/33974-02.htm b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10804_TheDimensionalWarpPart4/33974-02.htm new file mode 100644 index 0000000000..b9a34b4c39 --- /dev/null +++ b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10804_TheDimensionalWarpPart4/33974-02.htm @@ -0,0 +1,5 @@ +Resed:
+In the early stages of a Dimensional Warp, Unworldly Golems come out.
+But we still don't have enough information about them. I need more information about them because people run into them the most.
+ + \ No newline at end of file diff --git a/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10804_TheDimensionalWarpPart4/33974-03.htm b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10804_TheDimensionalWarpPart4/33974-03.htm new file mode 100644 index 0000000000..54cc3098d0 --- /dev/null +++ b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10804_TheDimensionalWarpPart4/33974-03.htm @@ -0,0 +1,5 @@ +Resed:
+Can we start with 100?
+They come out often, so it won't be too hard. Thank you!
+ + \ No newline at end of file diff --git a/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10804_TheDimensionalWarpPart4/33974-04.htm b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10804_TheDimensionalWarpPart4/33974-04.htm new file mode 100644 index 0000000000..e779ceb0ab --- /dev/null +++ b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10804_TheDimensionalWarpPart4/33974-04.htm @@ -0,0 +1,3 @@ +Resed:
+Kill 100 Unworldly Golems and come back to me. + \ No newline at end of file diff --git a/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10804_TheDimensionalWarpPart4/33974-05.html b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10804_TheDimensionalWarpPart4/33974-05.html new file mode 100644 index 0000000000..2ab4351dd7 --- /dev/null +++ b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10804_TheDimensionalWarpPart4/33974-05.html @@ -0,0 +1,4 @@ +Resed:
+We still don't have enough information. That's not enough.
+Go kill more Unworldly Golems. + \ No newline at end of file diff --git a/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10804_TheDimensionalWarpPart4/33974-06.html b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10804_TheDimensionalWarpPart4/33974-06.html new file mode 100644 index 0000000000..58721db127 --- /dev/null +++ b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10804_TheDimensionalWarpPart4/33974-06.html @@ -0,0 +1,5 @@ +Resed:
+Thank you. This will be enough.
+Can You give me the information now?
+ + \ No newline at end of file diff --git a/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10804_TheDimensionalWarpPart4/33974-07.html b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10804_TheDimensionalWarpPart4/33974-07.html new file mode 100644 index 0000000000..0bb0b71989 --- /dev/null +++ b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10804_TheDimensionalWarpPart4/33974-07.html @@ -0,0 +1,4 @@ +Resed:
+Good work. You're almost at the finish line.
+The reward is better than the last time. Take it. + \ No newline at end of file diff --git a/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10804_TheDimensionalWarpPart4/Q10804_TheDimensionalWarpPart4.java b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10804_TheDimensionalWarpPart4/Q10804_TheDimensionalWarpPart4.java new file mode 100644 index 0000000000..4cd643fb80 --- /dev/null +++ b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10804_TheDimensionalWarpPart4/Q10804_TheDimensionalWarpPart4.java @@ -0,0 +1,181 @@ +/* + * 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 . + */ +package quests.Q10804_TheDimensionalWarpPart4; + +import java.util.HashSet; +import java.util.Set; + +import com.l2jmobius.Config; +import com.l2jmobius.gameserver.enums.QuestSound; +import com.l2jmobius.gameserver.model.L2Party; +import com.l2jmobius.gameserver.model.actor.L2Npc; +import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance; +import com.l2jmobius.gameserver.model.holders.NpcLogListHolder; +import com.l2jmobius.gameserver.model.quest.Quest; +import com.l2jmobius.gameserver.model.quest.QuestState; +import com.l2jmobius.gameserver.model.quest.State; + +import quests.Q10803_TheDimensionalWarpPart3.Q10803_TheDimensionalWarpPart3; + +/** + * The Dimensional Warp, Part 4 (10804) + * @URL https://l2wiki.com/The_Dimensional_Warp,_Part_4 + * @author Mobius + */ +public class Q10804_TheDimensionalWarpPart4 extends Quest +{ + // NPC + private static final int RESED = 33974; + // Monsters + private static final int UNWORLDLY_GOLEM = 23474; + // Others + private static final int MIN_LEVEL = 99; + private static final int DARK_ETERNAL_ENHANCEMENT_STONE = 35567; + private static final int WARP_CRYSTAL = 39597; + + public Q10804_TheDimensionalWarpPart4() + { + super(10804); + addStartNpc(RESED); + addTalkId(RESED); + addKillId(UNWORLDLY_GOLEM); + addCondMinLevel(MIN_LEVEL, "33974-00.htm"); + addCondCompletedQuest(Q10803_TheDimensionalWarpPart3.class.getSimpleName(), ""); + } + + @Override + public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) + { + String htmltext = null; + final QuestState qs = getQuestState(player, false); + if (qs == null) + { + return htmltext; + } + + switch (event) + { + case "33974-02.htm": + case "33974-03.htm": + { + htmltext = event; + break; + } + case "33974-04.htm": + { + qs.startQuest(); + htmltext = event; + break; + } + case "33974-07.html": + { + if (qs.isCond(2)) + { + if (player.getLevel() >= MIN_LEVEL) + { + addExpAndSp(player, 60425832857L, 0); + giveItems(player, DARK_ETERNAL_ENHANCEMENT_STONE, 1); + giveItems(player, WARP_CRYSTAL, 300); + qs.exitQuest(false, true); + htmltext = event; + } + else + { + htmltext = getNoQuestLevelRewardMsg(player); + } + } + break; + } + } + return htmltext; + } + + @Override + public String onTalk(L2Npc npc, L2PcInstance player) + { + final QuestState qs = getQuestState(player, true); + String htmltext = getNoQuestMsg(player); + + switch (qs.getState()) + { + case State.CREATED: + { + htmltext = "33974-01.htm"; + break; + } + case State.STARTED: + { + htmltext = (qs.isCond(1)) ? "33974-05.html" : "33974-06.html"; + break; + } + case State.COMPLETED: + { + htmltext = getAlreadyCompletedMsg(player); + break; + } + } + return htmltext; + } + + @Override + public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon) + { + L2Party party = killer.getParty(); + if (party != null) + { + party.getMembers().forEach(p -> onKill(npc, p)); + } + else + { + onKill(npc, killer); + } + return super.onKill(npc, killer, isSummon); + } + + private void onKill(L2Npc npc, L2PcInstance killer) + { + final QuestState qs = getQuestState(killer, false); + + if ((qs != null) && qs.isCond(1) && (npc.calculateDistance3D(killer) <= Config.ALT_PARTY_RANGE)) + { + int killedBugbear = qs.getInt("killed_" + UNWORLDLY_GOLEM); + if (killedBugbear < 100) + { + qs.set("killed_" + UNWORLDLY_GOLEM, ++killedBugbear); + playSound(killer, QuestSound.ITEMSOUND_QUEST_ITEMGET); + } + if (killedBugbear >= 100) + { + qs.setCond(2, true); + } + sendNpcLogList(killer); + } + } + + @Override + public Set getNpcLogList(L2PcInstance player) + { + final QuestState qs = getQuestState(player, false); + if ((qs != null) && qs.isCond(1)) + { + final Set holder = new HashSet<>(); + holder.add(new NpcLogListHolder(UNWORLDLY_GOLEM, false, qs.getInt("killed_" + UNWORLDLY_GOLEM))); + return holder; + } + return super.getNpcLogList(player); + } +} diff --git a/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10805_TheDimensionalWarpPart5/33974-00.htm b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10805_TheDimensionalWarpPart5/33974-00.htm new file mode 100644 index 0000000000..60df561273 --- /dev/null +++ b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10805_TheDimensionalWarpPart5/33974-00.htm @@ -0,0 +1,4 @@ +Resed:
+Are you trying to enter the Dimensional Warp? It's not a place for people like you.
+(Only characters Lv. 99 or above may undertake this quest.) + \ No newline at end of file diff --git a/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10805_TheDimensionalWarpPart5/33974-01.htm b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10805_TheDimensionalWarpPart5/33974-01.htm new file mode 100644 index 0000000000..94efd045d6 --- /dev/null +++ b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10805_TheDimensionalWarpPart5/33974-01.htm @@ -0,0 +1,5 @@ +Resed:
+Have you been inside Dimensional Warp? My job is to send the explorers to the Dimensional Warp, but I don't have enough information here. I'm continuously collecting more, but it's still not enough.
+I know it won't be easy, but can you do me a favor?
+ + \ No newline at end of file diff --git a/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10805_TheDimensionalWarpPart5/33974-02.htm b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10805_TheDimensionalWarpPart5/33974-02.htm new file mode 100644 index 0000000000..1a4c02567e --- /dev/null +++ b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10805_TheDimensionalWarpPart5/33974-02.htm @@ -0,0 +1,5 @@ +Resed:
+In the early stages of a Dimensional Warp, Abyssal Golems come out.
+But we still don't have enough information about them. I need more information about them because people run into them the most.
+ + \ No newline at end of file diff --git a/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10805_TheDimensionalWarpPart5/33974-03.htm b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10805_TheDimensionalWarpPart5/33974-03.htm new file mode 100644 index 0000000000..bde468aefa --- /dev/null +++ b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10805_TheDimensionalWarpPart5/33974-03.htm @@ -0,0 +1,5 @@ +Resed:
+Can we start with 100?
+They come out often, so it won't be too hard. Thank you!
+ + \ No newline at end of file diff --git a/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10805_TheDimensionalWarpPart5/33974-04.htm b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10805_TheDimensionalWarpPart5/33974-04.htm new file mode 100644 index 0000000000..27ef4dd594 --- /dev/null +++ b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10805_TheDimensionalWarpPart5/33974-04.htm @@ -0,0 +1,3 @@ +Resed:
+Kill 100 Abyssal Golems and come back to me. + \ No newline at end of file diff --git a/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10805_TheDimensionalWarpPart5/33974-05.html b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10805_TheDimensionalWarpPart5/33974-05.html new file mode 100644 index 0000000000..0e68d1a707 --- /dev/null +++ b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10805_TheDimensionalWarpPart5/33974-05.html @@ -0,0 +1,4 @@ +Resed:
+We still don't have enough information. That's not enough.
+Go kill more Abyssal Golems. + \ No newline at end of file diff --git a/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10805_TheDimensionalWarpPart5/33974-06.html b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10805_TheDimensionalWarpPart5/33974-06.html new file mode 100644 index 0000000000..79676ce4e8 --- /dev/null +++ b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10805_TheDimensionalWarpPart5/33974-06.html @@ -0,0 +1,5 @@ +Resed:
+Thank you. This will be enough.
+Can You give me the information now?
+ + \ No newline at end of file diff --git a/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10805_TheDimensionalWarpPart5/33974-07.html b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10805_TheDimensionalWarpPart5/33974-07.html new file mode 100644 index 0000000000..0bb0b71989 --- /dev/null +++ b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10805_TheDimensionalWarpPart5/33974-07.html @@ -0,0 +1,4 @@ +Resed:
+Good work. You're almost at the finish line.
+The reward is better than the last time. Take it. + \ No newline at end of file diff --git a/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10805_TheDimensionalWarpPart5/Q10805_TheDimensionalWarpPart5.java b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10805_TheDimensionalWarpPart5/Q10805_TheDimensionalWarpPart5.java new file mode 100644 index 0000000000..4fe0016a21 --- /dev/null +++ b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10805_TheDimensionalWarpPart5/Q10805_TheDimensionalWarpPart5.java @@ -0,0 +1,181 @@ +/* + * 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 . + */ +package quests.Q10805_TheDimensionalWarpPart5; + +import java.util.HashSet; +import java.util.Set; + +import com.l2jmobius.Config; +import com.l2jmobius.gameserver.enums.QuestSound; +import com.l2jmobius.gameserver.model.L2Party; +import com.l2jmobius.gameserver.model.actor.L2Npc; +import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance; +import com.l2jmobius.gameserver.model.holders.NpcLogListHolder; +import com.l2jmobius.gameserver.model.quest.Quest; +import com.l2jmobius.gameserver.model.quest.QuestState; +import com.l2jmobius.gameserver.model.quest.State; + +import quests.Q10804_TheDimensionalWarpPart4.Q10804_TheDimensionalWarpPart4; + +/** + * The Dimensional Warp, Part 5 (10805) + * @URL https://l2wiki.com/The_Dimensional_Warp,_Part_5 + * @author Mobius + */ +public class Q10805_TheDimensionalWarpPart5 extends Quest +{ + // NPC + private static final int RESED = 33974; + // Monsters + private static final int ABYSSAL_GOLEM = 23483; + // Others + private static final int MIN_LEVEL = 99; + private static final int DARK_ETERNAL_ENHANCEMENT_STONE = 35567; + private static final int WARP_CRYSTAL = 39597; + + public Q10805_TheDimensionalWarpPart5() + { + super(10805); + addStartNpc(RESED); + addTalkId(RESED); + addKillId(ABYSSAL_GOLEM); + addCondMinLevel(MIN_LEVEL, "33974-00.htm"); + addCondCompletedQuest(Q10804_TheDimensionalWarpPart4.class.getSimpleName(), ""); + } + + @Override + public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) + { + String htmltext = null; + final QuestState qs = getQuestState(player, false); + if (qs == null) + { + return htmltext; + } + + switch (event) + { + case "33974-02.htm": + case "33974-03.htm": + { + htmltext = event; + break; + } + case "33974-04.htm": + { + qs.startQuest(); + htmltext = event; + break; + } + case "33974-07.html": + { + if (qs.isCond(2)) + { + if (player.getLevel() >= MIN_LEVEL) + { + addExpAndSp(player, 66530730240L, 0); + giveItems(player, DARK_ETERNAL_ENHANCEMENT_STONE, 1); + giveItems(player, WARP_CRYSTAL, 300); + qs.exitQuest(false, true); + htmltext = event; + } + else + { + htmltext = getNoQuestLevelRewardMsg(player); + } + } + break; + } + } + return htmltext; + } + + @Override + public String onTalk(L2Npc npc, L2PcInstance player) + { + final QuestState qs = getQuestState(player, true); + String htmltext = getNoQuestMsg(player); + + switch (qs.getState()) + { + case State.CREATED: + { + htmltext = "33974-01.htm"; + break; + } + case State.STARTED: + { + htmltext = (qs.isCond(1)) ? "33974-05.html" : "33974-06.html"; + break; + } + case State.COMPLETED: + { + htmltext = getAlreadyCompletedMsg(player); + break; + } + } + return htmltext; + } + + @Override + public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon) + { + L2Party party = killer.getParty(); + if (party != null) + { + party.getMembers().forEach(p -> onKill(npc, p)); + } + else + { + onKill(npc, killer); + } + return super.onKill(npc, killer, isSummon); + } + + private void onKill(L2Npc npc, L2PcInstance killer) + { + final QuestState qs = getQuestState(killer, false); + + if ((qs != null) && qs.isCond(1) && (npc.calculateDistance3D(killer) <= Config.ALT_PARTY_RANGE)) + { + int killedBugbear = qs.getInt("killed_" + ABYSSAL_GOLEM); + if (killedBugbear < 100) + { + qs.set("killed_" + ABYSSAL_GOLEM, ++killedBugbear); + playSound(killer, QuestSound.ITEMSOUND_QUEST_ITEMGET); + } + if (killedBugbear >= 100) + { + qs.setCond(2, true); + } + sendNpcLogList(killer); + } + } + + @Override + public Set getNpcLogList(L2PcInstance player) + { + final QuestState qs = getQuestState(player, false); + if ((qs != null) && qs.isCond(1)) + { + final Set holder = new HashSet<>(); + holder.add(new NpcLogListHolder(ABYSSAL_GOLEM, false, qs.getInt("killed_" + ABYSSAL_GOLEM))); + return holder; + } + return super.getNpcLogList(player); + } +} diff --git a/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10806_TheDimensionalWarpPart6/33974-00.htm b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10806_TheDimensionalWarpPart6/33974-00.htm new file mode 100644 index 0000000000..60df561273 --- /dev/null +++ b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10806_TheDimensionalWarpPart6/33974-00.htm @@ -0,0 +1,4 @@ +Resed:
+Are you trying to enter the Dimensional Warp? It's not a place for people like you.
+(Only characters Lv. 99 or above may undertake this quest.) + \ No newline at end of file diff --git a/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10806_TheDimensionalWarpPart6/33974-01.htm b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10806_TheDimensionalWarpPart6/33974-01.htm new file mode 100644 index 0000000000..d51b478618 --- /dev/null +++ b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10806_TheDimensionalWarpPart6/33974-01.htm @@ -0,0 +1,5 @@ +Resed:
+Have you been inside Dimensional Warp? My job is to send the explorers to the Dimensional Warp, but I don't have enough information here. I'm continuously collecting more, but it's still not enough.
+I know it won't be easy, but can you do me a favor?
+ + \ No newline at end of file diff --git a/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10806_TheDimensionalWarpPart6/33974-02.htm b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10806_TheDimensionalWarpPart6/33974-02.htm new file mode 100644 index 0000000000..8ecea0f173 --- /dev/null +++ b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10806_TheDimensionalWarpPart6/33974-02.htm @@ -0,0 +1,5 @@ +Resed:
+In the early stages of a Dimensional Warp, Abyssal Berserkers come out.
+But we still don't have enough information about them. I need more information about them because people run into them the most.
+ + \ No newline at end of file diff --git a/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10806_TheDimensionalWarpPart6/33974-03.htm b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10806_TheDimensionalWarpPart6/33974-03.htm new file mode 100644 index 0000000000..a052b31368 --- /dev/null +++ b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10806_TheDimensionalWarpPart6/33974-03.htm @@ -0,0 +1,5 @@ +Resed:
+Can we start with 100?
+They come out often, so it won't be too hard. Thank you!
+ + \ No newline at end of file diff --git a/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10806_TheDimensionalWarpPart6/33974-04.htm b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10806_TheDimensionalWarpPart6/33974-04.htm new file mode 100644 index 0000000000..fbc9031a8f --- /dev/null +++ b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10806_TheDimensionalWarpPart6/33974-04.htm @@ -0,0 +1,3 @@ +Resed:
+Kill 100 Abyssal Berserkers and come back to me. + \ No newline at end of file diff --git a/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10806_TheDimensionalWarpPart6/33974-05.html b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10806_TheDimensionalWarpPart6/33974-05.html new file mode 100644 index 0000000000..998d299659 --- /dev/null +++ b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10806_TheDimensionalWarpPart6/33974-05.html @@ -0,0 +1,4 @@ +Resed:
+We still don't have enough information. That's not enough.
+Go kill more Abyssal Berserkers. + \ No newline at end of file diff --git a/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10806_TheDimensionalWarpPart6/33974-06.html b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10806_TheDimensionalWarpPart6/33974-06.html new file mode 100644 index 0000000000..295f620d0c --- /dev/null +++ b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10806_TheDimensionalWarpPart6/33974-06.html @@ -0,0 +1,5 @@ +Resed:
+Thank you. This will be enough.
+Can You give me the information now?
+ + \ No newline at end of file diff --git a/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10806_TheDimensionalWarpPart6/33974-07.html b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10806_TheDimensionalWarpPart6/33974-07.html new file mode 100644 index 0000000000..0bb0b71989 --- /dev/null +++ b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10806_TheDimensionalWarpPart6/33974-07.html @@ -0,0 +1,4 @@ +Resed:
+Good work. You're almost at the finish line.
+The reward is better than the last time. Take it. + \ No newline at end of file diff --git a/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10806_TheDimensionalWarpPart6/Q10806_TheDimensionalWarpPart6.java b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10806_TheDimensionalWarpPart6/Q10806_TheDimensionalWarpPart6.java new file mode 100644 index 0000000000..9b65bc5a6c --- /dev/null +++ b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10806_TheDimensionalWarpPart6/Q10806_TheDimensionalWarpPart6.java @@ -0,0 +1,179 @@ +/* + * 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 . + */ +package quests.Q10806_TheDimensionalWarpPart6; + +import java.util.HashSet; +import java.util.Set; + +import com.l2jmobius.Config; +import com.l2jmobius.gameserver.enums.QuestSound; +import com.l2jmobius.gameserver.model.L2Party; +import com.l2jmobius.gameserver.model.actor.L2Npc; +import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance; +import com.l2jmobius.gameserver.model.holders.NpcLogListHolder; +import com.l2jmobius.gameserver.model.quest.Quest; +import com.l2jmobius.gameserver.model.quest.QuestState; +import com.l2jmobius.gameserver.model.quest.State; + +import quests.Q10805_TheDimensionalWarpPart5.Q10805_TheDimensionalWarpPart5; + +/** + * The Dimensional Warp, Part 6 (10806) + * @URL https://l2wiki.com/The_Dimensional_Warp,_Part_6 + * @author Mobius + */ +public class Q10806_TheDimensionalWarpPart6 extends Quest +{ + // NPC + private static final int RESED = 33974; + // Monsters + private static final int ABYSSAL_BERSERKER = 23478; + // Others + private static final int MIN_LEVEL = 99; + private static final int WARP_CRYSTAL = 39597; + + public Q10806_TheDimensionalWarpPart6() + { + super(10806); + addStartNpc(RESED); + addTalkId(RESED); + addKillId(ABYSSAL_BERSERKER); + addCondMinLevel(MIN_LEVEL, "33974-00.htm"); + addCondCompletedQuest(Q10805_TheDimensionalWarpPart5.class.getSimpleName(), ""); + } + + @Override + public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) + { + String htmltext = null; + final QuestState qs = getQuestState(player, false); + if (qs == null) + { + return htmltext; + } + + switch (event) + { + case "33974-02.htm": + case "33974-03.htm": + { + htmltext = event; + break; + } + case "33974-04.htm": + { + qs.startQuest(); + htmltext = event; + break; + } + case "33974-07.html": + { + if (qs.isCond(2)) + { + if (player.getLevel() >= MIN_LEVEL) + { + addExpAndSp(player, 73923033600L, 0); + giveItems(player, WARP_CRYSTAL, 300); + qs.exitQuest(false, true); + htmltext = event; + } + else + { + htmltext = getNoQuestLevelRewardMsg(player); + } + } + break; + } + } + return htmltext; + } + + @Override + public String onTalk(L2Npc npc, L2PcInstance player) + { + final QuestState qs = getQuestState(player, true); + String htmltext = getNoQuestMsg(player); + + switch (qs.getState()) + { + case State.CREATED: + { + htmltext = "33974-01.htm"; + break; + } + case State.STARTED: + { + htmltext = (qs.isCond(1)) ? "33974-05.html" : "33974-06.html"; + break; + } + case State.COMPLETED: + { + htmltext = getAlreadyCompletedMsg(player); + break; + } + } + return htmltext; + } + + @Override + public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon) + { + L2Party party = killer.getParty(); + if (party != null) + { + party.getMembers().forEach(p -> onKill(npc, p)); + } + else + { + onKill(npc, killer); + } + return super.onKill(npc, killer, isSummon); + } + + private void onKill(L2Npc npc, L2PcInstance killer) + { + final QuestState qs = getQuestState(killer, false); + + if ((qs != null) && qs.isCond(1) && (npc.calculateDistance3D(killer) <= Config.ALT_PARTY_RANGE)) + { + int killedBugbear = qs.getInt("killed_" + ABYSSAL_BERSERKER); + if (killedBugbear < 100) + { + qs.set("killed_" + ABYSSAL_BERSERKER, ++killedBugbear); + playSound(killer, QuestSound.ITEMSOUND_QUEST_ITEMGET); + } + if (killedBugbear >= 100) + { + qs.setCond(2, true); + } + sendNpcLogList(killer); + } + } + + @Override + public Set getNpcLogList(L2PcInstance player) + { + final QuestState qs = getQuestState(player, false); + if ((qs != null) && qs.isCond(1)) + { + final Set holder = new HashSet<>(); + holder.add(new NpcLogListHolder(ABYSSAL_BERSERKER, false, qs.getInt("killed_" + ABYSSAL_BERSERKER))); + return holder; + } + return super.getNpcLogList(player); + } +} diff --git a/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10807_TheDimensionalWarpPart7/33974-00.htm b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10807_TheDimensionalWarpPart7/33974-00.htm new file mode 100644 index 0000000000..60df561273 --- /dev/null +++ b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10807_TheDimensionalWarpPart7/33974-00.htm @@ -0,0 +1,4 @@ +Resed:
+Are you trying to enter the Dimensional Warp? It's not a place for people like you.
+(Only characters Lv. 99 or above may undertake this quest.) + \ No newline at end of file diff --git a/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10807_TheDimensionalWarpPart7/33974-01.htm b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10807_TheDimensionalWarpPart7/33974-01.htm new file mode 100644 index 0000000000..c75e1b123e --- /dev/null +++ b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10807_TheDimensionalWarpPart7/33974-01.htm @@ -0,0 +1,5 @@ +Resed:
+Have you been inside Dimensional Warp? My job is to send the explorers to the Dimensional Warp, but I don't have enough information here. I'm continuously collecting more, but it's still not enough.
+I know it won't be easy, but can you do me a favor?
+ + \ No newline at end of file diff --git a/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10807_TheDimensionalWarpPart7/33974-02.htm b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10807_TheDimensionalWarpPart7/33974-02.htm new file mode 100644 index 0000000000..afdc867e38 --- /dev/null +++ b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10807_TheDimensionalWarpPart7/33974-02.htm @@ -0,0 +1,5 @@ +Resed:
+In the early stages of a Dimensional Warp, Abyssal Binders come out.
+But we still don't have enough information about them. I need more information about them because people run into them the most.
+ + \ No newline at end of file diff --git a/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10807_TheDimensionalWarpPart7/33974-03.htm b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10807_TheDimensionalWarpPart7/33974-03.htm new file mode 100644 index 0000000000..75a1e86195 --- /dev/null +++ b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10807_TheDimensionalWarpPart7/33974-03.htm @@ -0,0 +1,5 @@ +Resed:
+Can we start with 100?
+They come out often, so it won't be too hard. Thank you!
+ + \ No newline at end of file diff --git a/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10807_TheDimensionalWarpPart7/33974-04.htm b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10807_TheDimensionalWarpPart7/33974-04.htm new file mode 100644 index 0000000000..efe5447742 --- /dev/null +++ b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10807_TheDimensionalWarpPart7/33974-04.htm @@ -0,0 +1,3 @@ +Resed:
+Kill 100 Abyssal Binders and come back to me. + \ No newline at end of file diff --git a/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10807_TheDimensionalWarpPart7/33974-05.html b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10807_TheDimensionalWarpPart7/33974-05.html new file mode 100644 index 0000000000..247b7ae92c --- /dev/null +++ b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10807_TheDimensionalWarpPart7/33974-05.html @@ -0,0 +1,4 @@ +Resed:
+We still don't have enough information. That's not enough.
+Go kill more Abyssal Binders. + \ No newline at end of file diff --git a/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10807_TheDimensionalWarpPart7/33974-06.html b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10807_TheDimensionalWarpPart7/33974-06.html new file mode 100644 index 0000000000..731fb678a7 --- /dev/null +++ b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10807_TheDimensionalWarpPart7/33974-06.html @@ -0,0 +1,5 @@ +Resed:
+Thank you. This will be enough.
+Can You give me the information now?
+ + \ No newline at end of file diff --git a/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10807_TheDimensionalWarpPart7/33974-07.html b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10807_TheDimensionalWarpPart7/33974-07.html new file mode 100644 index 0000000000..0bb0b71989 --- /dev/null +++ b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10807_TheDimensionalWarpPart7/33974-07.html @@ -0,0 +1,4 @@ +Resed:
+Good work. You're almost at the finish line.
+The reward is better than the last time. Take it. + \ No newline at end of file diff --git a/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10807_TheDimensionalWarpPart7/Q10807_TheDimensionalWarpPart7.java b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10807_TheDimensionalWarpPart7/Q10807_TheDimensionalWarpPart7.java new file mode 100644 index 0000000000..3bfffa9350 --- /dev/null +++ b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10807_TheDimensionalWarpPart7/Q10807_TheDimensionalWarpPart7.java @@ -0,0 +1,179 @@ +/* + * 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 . + */ +package quests.Q10807_TheDimensionalWarpPart7; + +import java.util.HashSet; +import java.util.Set; + +import com.l2jmobius.Config; +import com.l2jmobius.gameserver.enums.QuestSound; +import com.l2jmobius.gameserver.model.L2Party; +import com.l2jmobius.gameserver.model.actor.L2Npc; +import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance; +import com.l2jmobius.gameserver.model.holders.NpcLogListHolder; +import com.l2jmobius.gameserver.model.quest.Quest; +import com.l2jmobius.gameserver.model.quest.QuestState; +import com.l2jmobius.gameserver.model.quest.State; + +import quests.Q10806_TheDimensionalWarpPart6.Q10806_TheDimensionalWarpPart6; + +/** + * The Dimensional Warp, Part 7 (10807) + * @URL https://l2wiki.com/The_Dimensional_Warp,_Part_7 + * @author Mobius + */ +public class Q10807_TheDimensionalWarpPart7 extends Quest +{ + // NPC + private static final int RESED = 33974; + // Monsters + private static final int ABYSSAL_BINDER = 23481; + // Others + private static final int MIN_LEVEL = 99; + private static final int WARP_CRYSTAL = 39597; + + public Q10807_TheDimensionalWarpPart7() + { + super(10807); + addStartNpc(RESED); + addTalkId(RESED); + addKillId(ABYSSAL_BINDER); + addCondMinLevel(MIN_LEVEL, "33974-00.htm"); + addCondCompletedQuest(Q10806_TheDimensionalWarpPart6.class.getSimpleName(), ""); + } + + @Override + public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) + { + String htmltext = null; + final QuestState qs = getQuestState(player, false); + if (qs == null) + { + return htmltext; + } + + switch (event) + { + case "33974-02.htm": + case "33974-03.htm": + { + htmltext = event; + break; + } + case "33974-04.htm": + { + qs.startQuest(); + htmltext = event; + break; + } + case "33974-07.html": + { + if (qs.isCond(2)) + { + if (player.getLevel() >= MIN_LEVEL) + { + addExpAndSp(player, 90422325000L, 0); + giveItems(player, WARP_CRYSTAL, 300); + qs.exitQuest(false, true); + htmltext = event; + } + else + { + htmltext = getNoQuestLevelRewardMsg(player); + } + } + break; + } + } + return htmltext; + } + + @Override + public String onTalk(L2Npc npc, L2PcInstance player) + { + final QuestState qs = getQuestState(player, true); + String htmltext = getNoQuestMsg(player); + + switch (qs.getState()) + { + case State.CREATED: + { + htmltext = "33974-01.htm"; + break; + } + case State.STARTED: + { + htmltext = (qs.isCond(1)) ? "33974-05.html" : "33974-06.html"; + break; + } + case State.COMPLETED: + { + htmltext = getAlreadyCompletedMsg(player); + break; + } + } + return htmltext; + } + + @Override + public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon) + { + L2Party party = killer.getParty(); + if (party != null) + { + party.getMembers().forEach(p -> onKill(npc, p)); + } + else + { + onKill(npc, killer); + } + return super.onKill(npc, killer, isSummon); + } + + private void onKill(L2Npc npc, L2PcInstance killer) + { + final QuestState qs = getQuestState(killer, false); + + if ((qs != null) && qs.isCond(1) && (npc.calculateDistance3D(killer) <= Config.ALT_PARTY_RANGE)) + { + int killedBugbear = qs.getInt("killed_" + ABYSSAL_BINDER); + if (killedBugbear < 100) + { + qs.set("killed_" + ABYSSAL_BINDER, ++killedBugbear); + playSound(killer, QuestSound.ITEMSOUND_QUEST_ITEMGET); + } + if (killedBugbear >= 100) + { + qs.setCond(2, true); + } + sendNpcLogList(killer); + } + } + + @Override + public Set getNpcLogList(L2PcInstance player) + { + final QuestState qs = getQuestState(player, false); + if ((qs != null) && qs.isCond(1)) + { + final Set holder = new HashSet<>(); + holder.add(new NpcLogListHolder(ABYSSAL_BINDER, false, qs.getInt("killed_" + ABYSSAL_BINDER))); + return holder; + } + return super.getNpcLogList(player); + } +} diff --git a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/MissingQuests.txt b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/MissingQuests.txt index 45fa93b6b6..f5baaa8b59 100644 --- a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/MissingQuests.txt +++ b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/MissingQuests.txt @@ -53,12 +53,6 @@ 10747 The Hero's Journey: Pagan Temple 10748 Mysterious Suggestion - 1 10749 Mysterious Suggestion - 2 -10802 The Dimensional Warp, Part 2 -10803 The Dimensional Warp, Part 3 -10804 The Dimensional Warp, Part 4 -10805 The Dimensional Warp, Part 5 -10806 The Dimensional Warp, Part 6 -10807 The Dimensional Warp, Part 7 10809 The Hero's Journey: Blazing Swamp 10844 Bloody Battle - Seizing Supplies 10845 Bloody Battle - Rescue the Smiths diff --git a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10801_TheDimensionalWarpPart1/Q10801_TheDimensionalWarpPart1.java b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10801_TheDimensionalWarpPart1/Q10801_TheDimensionalWarpPart1.java index f16e4a0045..80f70302f1 100644 --- a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10801_TheDimensionalWarpPart1/Q10801_TheDimensionalWarpPart1.java +++ b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10801_TheDimensionalWarpPart1/Q10801_TheDimensionalWarpPart1.java @@ -41,7 +41,7 @@ public class Q10801_TheDimensionalWarpPart1 extends Quest private static final int RESED = 33974; // Monsters private static final int DIMENSIONAL_BUGBEAR = 23465; - // other + // Others private static final int MIN_LEVEL = 99; private static final int DIMENSIONAL_BRACELET_STAGE_1 = 39747; private static final int WARP_CRYSTAL = 39597; diff --git a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10802_TheDimensionalWarpPart2/33974-00.htm b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10802_TheDimensionalWarpPart2/33974-00.htm new file mode 100644 index 0000000000..60df561273 --- /dev/null +++ b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10802_TheDimensionalWarpPart2/33974-00.htm @@ -0,0 +1,4 @@ +Resed:
+Are you trying to enter the Dimensional Warp? It's not a place for people like you.
+(Only characters Lv. 99 or above may undertake this quest.) + \ No newline at end of file diff --git a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10802_TheDimensionalWarpPart2/33974-01.htm b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10802_TheDimensionalWarpPart2/33974-01.htm new file mode 100644 index 0000000000..dbbc35f962 --- /dev/null +++ b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10802_TheDimensionalWarpPart2/33974-01.htm @@ -0,0 +1,5 @@ +Resed:
+Have you been inside Dimensional Warp? My job is to send the explorers to the Dimensional Warp, but I don't have enough information here. I'm continuously collecting more, but it's still not enough.
+I know it won't be easy, but can you do me a favor?
+ + \ No newline at end of file diff --git a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10802_TheDimensionalWarpPart2/33974-02.htm b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10802_TheDimensionalWarpPart2/33974-02.htm new file mode 100644 index 0000000000..aafbc2ba6f --- /dev/null +++ b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10802_TheDimensionalWarpPart2/33974-02.htm @@ -0,0 +1,5 @@ +Resed:
+In the early stages of a Dimensional Warp, Dimensional Binders come out.
+But we still don't have enough information about them. I need more information about them because people run into them the most.
+ + \ No newline at end of file diff --git a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10802_TheDimensionalWarpPart2/33974-03.htm b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10802_TheDimensionalWarpPart2/33974-03.htm new file mode 100644 index 0000000000..36a49fe97d --- /dev/null +++ b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10802_TheDimensionalWarpPart2/33974-03.htm @@ -0,0 +1,5 @@ +Resed:
+Can we start with 100?
+They come out often, so it won't be too hard. Thank you!
+ + \ No newline at end of file diff --git a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10802_TheDimensionalWarpPart2/33974-04.htm b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10802_TheDimensionalWarpPart2/33974-04.htm new file mode 100644 index 0000000000..d9ba89a5e4 --- /dev/null +++ b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10802_TheDimensionalWarpPart2/33974-04.htm @@ -0,0 +1,3 @@ +Resed:
+Kill 100 Dimensional Binders and come back to me. + \ No newline at end of file diff --git a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10802_TheDimensionalWarpPart2/33974-05.html b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10802_TheDimensionalWarpPart2/33974-05.html new file mode 100644 index 0000000000..4600cd995c --- /dev/null +++ b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10802_TheDimensionalWarpPart2/33974-05.html @@ -0,0 +1,4 @@ +Resed:
+We still don't have enough information. That's not enough.
+Go kill more Dimensional Binders. + \ No newline at end of file diff --git a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10802_TheDimensionalWarpPart2/33974-06.html b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10802_TheDimensionalWarpPart2/33974-06.html new file mode 100644 index 0000000000..2076a91123 --- /dev/null +++ b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10802_TheDimensionalWarpPart2/33974-06.html @@ -0,0 +1,5 @@ +Resed:
+Thank you. This will be enough.
+Can You give me the information now?
+ + \ No newline at end of file diff --git a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10802_TheDimensionalWarpPart2/33974-07.html b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10802_TheDimensionalWarpPart2/33974-07.html new file mode 100644 index 0000000000..0bb0b71989 --- /dev/null +++ b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10802_TheDimensionalWarpPart2/33974-07.html @@ -0,0 +1,4 @@ +Resed:
+Good work. You're almost at the finish line.
+The reward is better than the last time. Take it. + \ No newline at end of file diff --git a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10802_TheDimensionalWarpPart2/Q10802_TheDimensionalWarpPart2.java b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10802_TheDimensionalWarpPart2/Q10802_TheDimensionalWarpPart2.java new file mode 100644 index 0000000000..a6b57f397c --- /dev/null +++ b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10802_TheDimensionalWarpPart2/Q10802_TheDimensionalWarpPart2.java @@ -0,0 +1,179 @@ +/* + * 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 . + */ +package quests.Q10802_TheDimensionalWarpPart2; + +import java.util.HashSet; +import java.util.Set; + +import com.l2jmobius.Config; +import com.l2jmobius.gameserver.enums.QuestSound; +import com.l2jmobius.gameserver.model.L2Party; +import com.l2jmobius.gameserver.model.actor.L2Npc; +import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance; +import com.l2jmobius.gameserver.model.holders.NpcLogListHolder; +import com.l2jmobius.gameserver.model.quest.Quest; +import com.l2jmobius.gameserver.model.quest.QuestState; +import com.l2jmobius.gameserver.model.quest.State; + +import quests.Q10801_TheDimensionalWarpPart1.Q10801_TheDimensionalWarpPart1; + +/** + * The Dimensional Warp, Part 2 (10802) + * @URL https://l2wiki.com/The_Dimensional_Warp,_Part_2 + * @author Mobius + */ +public class Q10802_TheDimensionalWarpPart2 extends Quest +{ + // NPC + private static final int RESED = 33974; + // Monsters + private static final int DIMENSIONAL_BINDER = 23467; + // Others + private static final int MIN_LEVEL = 99; + private static final int WARP_CRYSTAL = 39597; + + public Q10802_TheDimensionalWarpPart2() + { + super(10802); + addStartNpc(RESED); + addTalkId(RESED); + addKillId(DIMENSIONAL_BINDER); + addCondMinLevel(MIN_LEVEL, "33974-00.htm"); + addCondCompletedQuest(Q10801_TheDimensionalWarpPart1.class.getSimpleName(), ""); + } + + @Override + public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) + { + String htmltext = null; + final QuestState qs = getQuestState(player, false); + if (qs == null) + { + return htmltext; + } + + switch (event) + { + case "33974-02.htm": + case "33974-03.htm": + { + htmltext = event; + break; + } + case "33974-04.htm": + { + qs.startQuest(); + htmltext = event; + break; + } + case "33974-07.html": + { + if (qs.isCond(2)) + { + if (player.getLevel() >= MIN_LEVEL) + { + addExpAndSp(player, 49380951086L, 0); + giveItems(player, WARP_CRYSTAL, 300); + qs.exitQuest(false, true); + htmltext = event; + } + else + { + htmltext = getNoQuestLevelRewardMsg(player); + } + } + break; + } + } + return htmltext; + } + + @Override + public String onTalk(L2Npc npc, L2PcInstance player) + { + final QuestState qs = getQuestState(player, true); + String htmltext = getNoQuestMsg(player); + + switch (qs.getState()) + { + case State.CREATED: + { + htmltext = "33974-01.htm"; + break; + } + case State.STARTED: + { + htmltext = (qs.isCond(1)) ? "33974-05.html" : "33974-06.html"; + break; + } + case State.COMPLETED: + { + htmltext = getAlreadyCompletedMsg(player); + break; + } + } + return htmltext; + } + + @Override + public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon) + { + L2Party party = killer.getParty(); + if (party != null) + { + party.getMembers().forEach(p -> onKill(npc, p)); + } + else + { + onKill(npc, killer); + } + return super.onKill(npc, killer, isSummon); + } + + private void onKill(L2Npc npc, L2PcInstance killer) + { + final QuestState qs = getQuestState(killer, false); + + if ((qs != null) && qs.isCond(1) && (npc.calculateDistance3D(killer) <= Config.ALT_PARTY_RANGE)) + { + int killedBugbear = qs.getInt("killed_" + DIMENSIONAL_BINDER); + if (killedBugbear < 100) + { + qs.set("killed_" + DIMENSIONAL_BINDER, ++killedBugbear); + playSound(killer, QuestSound.ITEMSOUND_QUEST_ITEMGET); + } + if (killedBugbear >= 100) + { + qs.setCond(2, true); + } + sendNpcLogList(killer); + } + } + + @Override + public Set getNpcLogList(L2PcInstance player) + { + final QuestState qs = getQuestState(player, false); + if ((qs != null) && qs.isCond(1)) + { + final Set holder = new HashSet<>(); + holder.add(new NpcLogListHolder(DIMENSIONAL_BINDER, false, qs.getInt("killed_" + DIMENSIONAL_BINDER))); + return holder; + } + return super.getNpcLogList(player); + } +} diff --git a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10803_TheDimensionalWarpPart3/33974-00.htm b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10803_TheDimensionalWarpPart3/33974-00.htm new file mode 100644 index 0000000000..60df561273 --- /dev/null +++ b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10803_TheDimensionalWarpPart3/33974-00.htm @@ -0,0 +1,4 @@ +Resed:
+Are you trying to enter the Dimensional Warp? It's not a place for people like you.
+(Only characters Lv. 99 or above may undertake this quest.) + \ No newline at end of file diff --git a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10803_TheDimensionalWarpPart3/33974-01.htm b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10803_TheDimensionalWarpPart3/33974-01.htm new file mode 100644 index 0000000000..382f41fc38 --- /dev/null +++ b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10803_TheDimensionalWarpPart3/33974-01.htm @@ -0,0 +1,5 @@ +Resed:
+Have you been inside Dimensional Warp? My job is to send the explorers to the Dimensional Warp, but I don't have enough information here. I'm continuously collecting more, but it's still not enough.
+I know it won't be easy, but can you do me a favor?
+ + \ No newline at end of file diff --git a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10803_TheDimensionalWarpPart3/33974-02.htm b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10803_TheDimensionalWarpPart3/33974-02.htm new file mode 100644 index 0000000000..0a9f1a8ca8 --- /dev/null +++ b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10803_TheDimensionalWarpPart3/33974-02.htm @@ -0,0 +1,5 @@ +Resed:
+In the early stages of a Dimensional Warp, Unworldly Etins come out.
+But we still don't have enough information about them. I need more information about them because people run into them the most.
+ + \ No newline at end of file diff --git a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10803_TheDimensionalWarpPart3/33974-03.htm b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10803_TheDimensionalWarpPart3/33974-03.htm new file mode 100644 index 0000000000..d32288d8be --- /dev/null +++ b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10803_TheDimensionalWarpPart3/33974-03.htm @@ -0,0 +1,5 @@ +Resed:
+Can we start with 100?
+They come out often, so it won't be too hard. Thank you!
+ + \ No newline at end of file diff --git a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10803_TheDimensionalWarpPart3/33974-04.htm b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10803_TheDimensionalWarpPart3/33974-04.htm new file mode 100644 index 0000000000..1859f388b6 --- /dev/null +++ b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10803_TheDimensionalWarpPart3/33974-04.htm @@ -0,0 +1,3 @@ +Resed:
+Kill 100 Unworldly Etins and come back to me. + \ No newline at end of file diff --git a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10803_TheDimensionalWarpPart3/33974-05.html b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10803_TheDimensionalWarpPart3/33974-05.html new file mode 100644 index 0000000000..2ab774064c --- /dev/null +++ b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10803_TheDimensionalWarpPart3/33974-05.html @@ -0,0 +1,4 @@ +Resed:
+We still don't have enough information. That's not enough.
+Go kill more Unworldly Etins. + \ No newline at end of file diff --git a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10803_TheDimensionalWarpPart3/33974-06.html b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10803_TheDimensionalWarpPart3/33974-06.html new file mode 100644 index 0000000000..30d4ab1648 --- /dev/null +++ b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10803_TheDimensionalWarpPart3/33974-06.html @@ -0,0 +1,5 @@ +Resed:
+Thank you. This will be enough.
+Can You give me the information now?
+ + \ No newline at end of file diff --git a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10803_TheDimensionalWarpPart3/33974-07.html b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10803_TheDimensionalWarpPart3/33974-07.html new file mode 100644 index 0000000000..0bb0b71989 --- /dev/null +++ b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10803_TheDimensionalWarpPart3/33974-07.html @@ -0,0 +1,4 @@ +Resed:
+Good work. You're almost at the finish line.
+The reward is better than the last time. Take it. + \ No newline at end of file diff --git a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10803_TheDimensionalWarpPart3/Q10803_TheDimensionalWarpPart3.java b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10803_TheDimensionalWarpPart3/Q10803_TheDimensionalWarpPart3.java new file mode 100644 index 0000000000..787b66b5ce --- /dev/null +++ b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10803_TheDimensionalWarpPart3/Q10803_TheDimensionalWarpPart3.java @@ -0,0 +1,181 @@ +/* + * 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 . + */ +package quests.Q10803_TheDimensionalWarpPart3; + +import java.util.HashSet; +import java.util.Set; + +import com.l2jmobius.Config; +import com.l2jmobius.gameserver.enums.QuestSound; +import com.l2jmobius.gameserver.model.L2Party; +import com.l2jmobius.gameserver.model.actor.L2Npc; +import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance; +import com.l2jmobius.gameserver.model.holders.NpcLogListHolder; +import com.l2jmobius.gameserver.model.quest.Quest; +import com.l2jmobius.gameserver.model.quest.QuestState; +import com.l2jmobius.gameserver.model.quest.State; + +import quests.Q10802_TheDimensionalWarpPart2.Q10802_TheDimensionalWarpPart2; + +/** + * The Dimensional Warp, Part 3 (10803) + * @URL https://l2wiki.com/The_Dimensional_Warp,_Part_3 + * @author Mobius + */ +public class Q10803_TheDimensionalWarpPart3 extends Quest +{ + // NPC + private static final int RESED = 33974; + // Monsters + private static final int UNWORDLY_ETIN = 23471; + // Others + private static final int MIN_LEVEL = 99; + private static final int BLOODY_ETERNAL_ENHANCEMENT_STONE = 3556; + private static final int WARP_CRYSTAL = 39597; + + public Q10803_TheDimensionalWarpPart3() + { + super(10803); + addStartNpc(RESED); + addTalkId(RESED); + addKillId(UNWORDLY_ETIN); + addCondMinLevel(MIN_LEVEL, "33974-00.htm"); + addCondCompletedQuest(Q10802_TheDimensionalWarpPart2.class.getSimpleName(), ""); + } + + @Override + public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) + { + String htmltext = null; + final QuestState qs = getQuestState(player, false); + if (qs == null) + { + return htmltext; + } + + switch (event) + { + case "33974-02.htm": + case "33974-03.htm": + { + htmltext = event; + break; + } + case "33974-04.htm": + { + qs.startQuest(); + htmltext = event; + break; + } + case "33974-07.html": + { + if (qs.isCond(2)) + { + if (player.getLevel() >= MIN_LEVEL) + { + addExpAndSp(player, 54383249571L, 0); + giveItems(player, BLOODY_ETERNAL_ENHANCEMENT_STONE, 1); + giveItems(player, WARP_CRYSTAL, 300); + qs.exitQuest(false, true); + htmltext = event; + } + else + { + htmltext = getNoQuestLevelRewardMsg(player); + } + } + break; + } + } + return htmltext; + } + + @Override + public String onTalk(L2Npc npc, L2PcInstance player) + { + final QuestState qs = getQuestState(player, true); + String htmltext = getNoQuestMsg(player); + + switch (qs.getState()) + { + case State.CREATED: + { + htmltext = "33974-01.htm"; + break; + } + case State.STARTED: + { + htmltext = (qs.isCond(1)) ? "33974-05.html" : "33974-06.html"; + break; + } + case State.COMPLETED: + { + htmltext = getAlreadyCompletedMsg(player); + break; + } + } + return htmltext; + } + + @Override + public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon) + { + L2Party party = killer.getParty(); + if (party != null) + { + party.getMembers().forEach(p -> onKill(npc, p)); + } + else + { + onKill(npc, killer); + } + return super.onKill(npc, killer, isSummon); + } + + private void onKill(L2Npc npc, L2PcInstance killer) + { + final QuestState qs = getQuestState(killer, false); + + if ((qs != null) && qs.isCond(1) && (npc.calculateDistance3D(killer) <= Config.ALT_PARTY_RANGE)) + { + int killedBugbear = qs.getInt("killed_" + UNWORDLY_ETIN); + if (killedBugbear < 100) + { + qs.set("killed_" + UNWORDLY_ETIN, ++killedBugbear); + playSound(killer, QuestSound.ITEMSOUND_QUEST_ITEMGET); + } + if (killedBugbear >= 100) + { + qs.setCond(2, true); + } + sendNpcLogList(killer); + } + } + + @Override + public Set getNpcLogList(L2PcInstance player) + { + final QuestState qs = getQuestState(player, false); + if ((qs != null) && qs.isCond(1)) + { + final Set holder = new HashSet<>(); + holder.add(new NpcLogListHolder(UNWORDLY_ETIN, false, qs.getInt("killed_" + UNWORDLY_ETIN))); + return holder; + } + return super.getNpcLogList(player); + } +} diff --git a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10804_TheDimensionalWarpPart4/33974-00.htm b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10804_TheDimensionalWarpPart4/33974-00.htm new file mode 100644 index 0000000000..60df561273 --- /dev/null +++ b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10804_TheDimensionalWarpPart4/33974-00.htm @@ -0,0 +1,4 @@ +Resed:
+Are you trying to enter the Dimensional Warp? It's not a place for people like you.
+(Only characters Lv. 99 or above may undertake this quest.) + \ No newline at end of file diff --git a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10804_TheDimensionalWarpPart4/33974-01.htm b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10804_TheDimensionalWarpPart4/33974-01.htm new file mode 100644 index 0000000000..0c799f407c --- /dev/null +++ b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10804_TheDimensionalWarpPart4/33974-01.htm @@ -0,0 +1,5 @@ +Resed:
+Have you been inside Dimensional Warp? My job is to send the explorers to the Dimensional Warp, but I don't have enough information here. I'm continuously collecting more, but it's still not enough.
+I know it won't be easy, but can you do me a favor?
+ + \ No newline at end of file diff --git a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10804_TheDimensionalWarpPart4/33974-02.htm b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10804_TheDimensionalWarpPart4/33974-02.htm new file mode 100644 index 0000000000..b9a34b4c39 --- /dev/null +++ b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10804_TheDimensionalWarpPart4/33974-02.htm @@ -0,0 +1,5 @@ +Resed:
+In the early stages of a Dimensional Warp, Unworldly Golems come out.
+But we still don't have enough information about them. I need more information about them because people run into them the most.
+ + \ No newline at end of file diff --git a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10804_TheDimensionalWarpPart4/33974-03.htm b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10804_TheDimensionalWarpPart4/33974-03.htm new file mode 100644 index 0000000000..54cc3098d0 --- /dev/null +++ b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10804_TheDimensionalWarpPart4/33974-03.htm @@ -0,0 +1,5 @@ +Resed:
+Can we start with 100?
+They come out often, so it won't be too hard. Thank you!
+ + \ No newline at end of file diff --git a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10804_TheDimensionalWarpPart4/33974-04.htm b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10804_TheDimensionalWarpPart4/33974-04.htm new file mode 100644 index 0000000000..e779ceb0ab --- /dev/null +++ b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10804_TheDimensionalWarpPart4/33974-04.htm @@ -0,0 +1,3 @@ +Resed:
+Kill 100 Unworldly Golems and come back to me. + \ No newline at end of file diff --git a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10804_TheDimensionalWarpPart4/33974-05.html b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10804_TheDimensionalWarpPart4/33974-05.html new file mode 100644 index 0000000000..2ab4351dd7 --- /dev/null +++ b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10804_TheDimensionalWarpPart4/33974-05.html @@ -0,0 +1,4 @@ +Resed:
+We still don't have enough information. That's not enough.
+Go kill more Unworldly Golems. + \ No newline at end of file diff --git a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10804_TheDimensionalWarpPart4/33974-06.html b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10804_TheDimensionalWarpPart4/33974-06.html new file mode 100644 index 0000000000..58721db127 --- /dev/null +++ b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10804_TheDimensionalWarpPart4/33974-06.html @@ -0,0 +1,5 @@ +Resed:
+Thank you. This will be enough.
+Can You give me the information now?
+ + \ No newline at end of file diff --git a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10804_TheDimensionalWarpPart4/33974-07.html b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10804_TheDimensionalWarpPart4/33974-07.html new file mode 100644 index 0000000000..0bb0b71989 --- /dev/null +++ b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10804_TheDimensionalWarpPart4/33974-07.html @@ -0,0 +1,4 @@ +Resed:
+Good work. You're almost at the finish line.
+The reward is better than the last time. Take it. + \ No newline at end of file diff --git a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10804_TheDimensionalWarpPart4/Q10804_TheDimensionalWarpPart4.java b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10804_TheDimensionalWarpPart4/Q10804_TheDimensionalWarpPart4.java new file mode 100644 index 0000000000..4cd643fb80 --- /dev/null +++ b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10804_TheDimensionalWarpPart4/Q10804_TheDimensionalWarpPart4.java @@ -0,0 +1,181 @@ +/* + * 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 . + */ +package quests.Q10804_TheDimensionalWarpPart4; + +import java.util.HashSet; +import java.util.Set; + +import com.l2jmobius.Config; +import com.l2jmobius.gameserver.enums.QuestSound; +import com.l2jmobius.gameserver.model.L2Party; +import com.l2jmobius.gameserver.model.actor.L2Npc; +import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance; +import com.l2jmobius.gameserver.model.holders.NpcLogListHolder; +import com.l2jmobius.gameserver.model.quest.Quest; +import com.l2jmobius.gameserver.model.quest.QuestState; +import com.l2jmobius.gameserver.model.quest.State; + +import quests.Q10803_TheDimensionalWarpPart3.Q10803_TheDimensionalWarpPart3; + +/** + * The Dimensional Warp, Part 4 (10804) + * @URL https://l2wiki.com/The_Dimensional_Warp,_Part_4 + * @author Mobius + */ +public class Q10804_TheDimensionalWarpPart4 extends Quest +{ + // NPC + private static final int RESED = 33974; + // Monsters + private static final int UNWORLDLY_GOLEM = 23474; + // Others + private static final int MIN_LEVEL = 99; + private static final int DARK_ETERNAL_ENHANCEMENT_STONE = 35567; + private static final int WARP_CRYSTAL = 39597; + + public Q10804_TheDimensionalWarpPart4() + { + super(10804); + addStartNpc(RESED); + addTalkId(RESED); + addKillId(UNWORLDLY_GOLEM); + addCondMinLevel(MIN_LEVEL, "33974-00.htm"); + addCondCompletedQuest(Q10803_TheDimensionalWarpPart3.class.getSimpleName(), ""); + } + + @Override + public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) + { + String htmltext = null; + final QuestState qs = getQuestState(player, false); + if (qs == null) + { + return htmltext; + } + + switch (event) + { + case "33974-02.htm": + case "33974-03.htm": + { + htmltext = event; + break; + } + case "33974-04.htm": + { + qs.startQuest(); + htmltext = event; + break; + } + case "33974-07.html": + { + if (qs.isCond(2)) + { + if (player.getLevel() >= MIN_LEVEL) + { + addExpAndSp(player, 60425832857L, 0); + giveItems(player, DARK_ETERNAL_ENHANCEMENT_STONE, 1); + giveItems(player, WARP_CRYSTAL, 300); + qs.exitQuest(false, true); + htmltext = event; + } + else + { + htmltext = getNoQuestLevelRewardMsg(player); + } + } + break; + } + } + return htmltext; + } + + @Override + public String onTalk(L2Npc npc, L2PcInstance player) + { + final QuestState qs = getQuestState(player, true); + String htmltext = getNoQuestMsg(player); + + switch (qs.getState()) + { + case State.CREATED: + { + htmltext = "33974-01.htm"; + break; + } + case State.STARTED: + { + htmltext = (qs.isCond(1)) ? "33974-05.html" : "33974-06.html"; + break; + } + case State.COMPLETED: + { + htmltext = getAlreadyCompletedMsg(player); + break; + } + } + return htmltext; + } + + @Override + public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon) + { + L2Party party = killer.getParty(); + if (party != null) + { + party.getMembers().forEach(p -> onKill(npc, p)); + } + else + { + onKill(npc, killer); + } + return super.onKill(npc, killer, isSummon); + } + + private void onKill(L2Npc npc, L2PcInstance killer) + { + final QuestState qs = getQuestState(killer, false); + + if ((qs != null) && qs.isCond(1) && (npc.calculateDistance3D(killer) <= Config.ALT_PARTY_RANGE)) + { + int killedBugbear = qs.getInt("killed_" + UNWORLDLY_GOLEM); + if (killedBugbear < 100) + { + qs.set("killed_" + UNWORLDLY_GOLEM, ++killedBugbear); + playSound(killer, QuestSound.ITEMSOUND_QUEST_ITEMGET); + } + if (killedBugbear >= 100) + { + qs.setCond(2, true); + } + sendNpcLogList(killer); + } + } + + @Override + public Set getNpcLogList(L2PcInstance player) + { + final QuestState qs = getQuestState(player, false); + if ((qs != null) && qs.isCond(1)) + { + final Set holder = new HashSet<>(); + holder.add(new NpcLogListHolder(UNWORLDLY_GOLEM, false, qs.getInt("killed_" + UNWORLDLY_GOLEM))); + return holder; + } + return super.getNpcLogList(player); + } +} diff --git a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10805_TheDimensionalWarpPart5/33974-00.htm b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10805_TheDimensionalWarpPart5/33974-00.htm new file mode 100644 index 0000000000..60df561273 --- /dev/null +++ b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10805_TheDimensionalWarpPart5/33974-00.htm @@ -0,0 +1,4 @@ +Resed:
+Are you trying to enter the Dimensional Warp? It's not a place for people like you.
+(Only characters Lv. 99 or above may undertake this quest.) + \ No newline at end of file diff --git a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10805_TheDimensionalWarpPart5/33974-01.htm b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10805_TheDimensionalWarpPart5/33974-01.htm new file mode 100644 index 0000000000..94efd045d6 --- /dev/null +++ b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10805_TheDimensionalWarpPart5/33974-01.htm @@ -0,0 +1,5 @@ +Resed:
+Have you been inside Dimensional Warp? My job is to send the explorers to the Dimensional Warp, but I don't have enough information here. I'm continuously collecting more, but it's still not enough.
+I know it won't be easy, but can you do me a favor?
+ + \ No newline at end of file diff --git a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10805_TheDimensionalWarpPart5/33974-02.htm b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10805_TheDimensionalWarpPart5/33974-02.htm new file mode 100644 index 0000000000..1a4c02567e --- /dev/null +++ b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10805_TheDimensionalWarpPart5/33974-02.htm @@ -0,0 +1,5 @@ +Resed:
+In the early stages of a Dimensional Warp, Abyssal Golems come out.
+But we still don't have enough information about them. I need more information about them because people run into them the most.
+ + \ No newline at end of file diff --git a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10805_TheDimensionalWarpPart5/33974-03.htm b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10805_TheDimensionalWarpPart5/33974-03.htm new file mode 100644 index 0000000000..bde468aefa --- /dev/null +++ b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10805_TheDimensionalWarpPart5/33974-03.htm @@ -0,0 +1,5 @@ +Resed:
+Can we start with 100?
+They come out often, so it won't be too hard. Thank you!
+ + \ No newline at end of file diff --git a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10805_TheDimensionalWarpPart5/33974-04.htm b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10805_TheDimensionalWarpPart5/33974-04.htm new file mode 100644 index 0000000000..27ef4dd594 --- /dev/null +++ b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10805_TheDimensionalWarpPart5/33974-04.htm @@ -0,0 +1,3 @@ +Resed:
+Kill 100 Abyssal Golems and come back to me. + \ No newline at end of file diff --git a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10805_TheDimensionalWarpPart5/33974-05.html b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10805_TheDimensionalWarpPart5/33974-05.html new file mode 100644 index 0000000000..0e68d1a707 --- /dev/null +++ b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10805_TheDimensionalWarpPart5/33974-05.html @@ -0,0 +1,4 @@ +Resed:
+We still don't have enough information. That's not enough.
+Go kill more Abyssal Golems. + \ No newline at end of file diff --git a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10805_TheDimensionalWarpPart5/33974-06.html b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10805_TheDimensionalWarpPart5/33974-06.html new file mode 100644 index 0000000000..79676ce4e8 --- /dev/null +++ b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10805_TheDimensionalWarpPart5/33974-06.html @@ -0,0 +1,5 @@ +Resed:
+Thank you. This will be enough.
+Can You give me the information now?
+ + \ No newline at end of file diff --git a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10805_TheDimensionalWarpPart5/33974-07.html b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10805_TheDimensionalWarpPart5/33974-07.html new file mode 100644 index 0000000000..0bb0b71989 --- /dev/null +++ b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10805_TheDimensionalWarpPart5/33974-07.html @@ -0,0 +1,4 @@ +Resed:
+Good work. You're almost at the finish line.
+The reward is better than the last time. Take it. + \ No newline at end of file diff --git a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10805_TheDimensionalWarpPart5/Q10805_TheDimensionalWarpPart5.java b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10805_TheDimensionalWarpPart5/Q10805_TheDimensionalWarpPart5.java new file mode 100644 index 0000000000..4fe0016a21 --- /dev/null +++ b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10805_TheDimensionalWarpPart5/Q10805_TheDimensionalWarpPart5.java @@ -0,0 +1,181 @@ +/* + * 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 . + */ +package quests.Q10805_TheDimensionalWarpPart5; + +import java.util.HashSet; +import java.util.Set; + +import com.l2jmobius.Config; +import com.l2jmobius.gameserver.enums.QuestSound; +import com.l2jmobius.gameserver.model.L2Party; +import com.l2jmobius.gameserver.model.actor.L2Npc; +import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance; +import com.l2jmobius.gameserver.model.holders.NpcLogListHolder; +import com.l2jmobius.gameserver.model.quest.Quest; +import com.l2jmobius.gameserver.model.quest.QuestState; +import com.l2jmobius.gameserver.model.quest.State; + +import quests.Q10804_TheDimensionalWarpPart4.Q10804_TheDimensionalWarpPart4; + +/** + * The Dimensional Warp, Part 5 (10805) + * @URL https://l2wiki.com/The_Dimensional_Warp,_Part_5 + * @author Mobius + */ +public class Q10805_TheDimensionalWarpPart5 extends Quest +{ + // NPC + private static final int RESED = 33974; + // Monsters + private static final int ABYSSAL_GOLEM = 23483; + // Others + private static final int MIN_LEVEL = 99; + private static final int DARK_ETERNAL_ENHANCEMENT_STONE = 35567; + private static final int WARP_CRYSTAL = 39597; + + public Q10805_TheDimensionalWarpPart5() + { + super(10805); + addStartNpc(RESED); + addTalkId(RESED); + addKillId(ABYSSAL_GOLEM); + addCondMinLevel(MIN_LEVEL, "33974-00.htm"); + addCondCompletedQuest(Q10804_TheDimensionalWarpPart4.class.getSimpleName(), ""); + } + + @Override + public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) + { + String htmltext = null; + final QuestState qs = getQuestState(player, false); + if (qs == null) + { + return htmltext; + } + + switch (event) + { + case "33974-02.htm": + case "33974-03.htm": + { + htmltext = event; + break; + } + case "33974-04.htm": + { + qs.startQuest(); + htmltext = event; + break; + } + case "33974-07.html": + { + if (qs.isCond(2)) + { + if (player.getLevel() >= MIN_LEVEL) + { + addExpAndSp(player, 66530730240L, 0); + giveItems(player, DARK_ETERNAL_ENHANCEMENT_STONE, 1); + giveItems(player, WARP_CRYSTAL, 300); + qs.exitQuest(false, true); + htmltext = event; + } + else + { + htmltext = getNoQuestLevelRewardMsg(player); + } + } + break; + } + } + return htmltext; + } + + @Override + public String onTalk(L2Npc npc, L2PcInstance player) + { + final QuestState qs = getQuestState(player, true); + String htmltext = getNoQuestMsg(player); + + switch (qs.getState()) + { + case State.CREATED: + { + htmltext = "33974-01.htm"; + break; + } + case State.STARTED: + { + htmltext = (qs.isCond(1)) ? "33974-05.html" : "33974-06.html"; + break; + } + case State.COMPLETED: + { + htmltext = getAlreadyCompletedMsg(player); + break; + } + } + return htmltext; + } + + @Override + public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon) + { + L2Party party = killer.getParty(); + if (party != null) + { + party.getMembers().forEach(p -> onKill(npc, p)); + } + else + { + onKill(npc, killer); + } + return super.onKill(npc, killer, isSummon); + } + + private void onKill(L2Npc npc, L2PcInstance killer) + { + final QuestState qs = getQuestState(killer, false); + + if ((qs != null) && qs.isCond(1) && (npc.calculateDistance3D(killer) <= Config.ALT_PARTY_RANGE)) + { + int killedBugbear = qs.getInt("killed_" + ABYSSAL_GOLEM); + if (killedBugbear < 100) + { + qs.set("killed_" + ABYSSAL_GOLEM, ++killedBugbear); + playSound(killer, QuestSound.ITEMSOUND_QUEST_ITEMGET); + } + if (killedBugbear >= 100) + { + qs.setCond(2, true); + } + sendNpcLogList(killer); + } + } + + @Override + public Set getNpcLogList(L2PcInstance player) + { + final QuestState qs = getQuestState(player, false); + if ((qs != null) && qs.isCond(1)) + { + final Set holder = new HashSet<>(); + holder.add(new NpcLogListHolder(ABYSSAL_GOLEM, false, qs.getInt("killed_" + ABYSSAL_GOLEM))); + return holder; + } + return super.getNpcLogList(player); + } +} diff --git a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10806_TheDimensionalWarpPart6/33974-00.htm b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10806_TheDimensionalWarpPart6/33974-00.htm new file mode 100644 index 0000000000..60df561273 --- /dev/null +++ b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10806_TheDimensionalWarpPart6/33974-00.htm @@ -0,0 +1,4 @@ +Resed:
+Are you trying to enter the Dimensional Warp? It's not a place for people like you.
+(Only characters Lv. 99 or above may undertake this quest.) + \ No newline at end of file diff --git a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10806_TheDimensionalWarpPart6/33974-01.htm b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10806_TheDimensionalWarpPart6/33974-01.htm new file mode 100644 index 0000000000..d51b478618 --- /dev/null +++ b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10806_TheDimensionalWarpPart6/33974-01.htm @@ -0,0 +1,5 @@ +Resed:
+Have you been inside Dimensional Warp? My job is to send the explorers to the Dimensional Warp, but I don't have enough information here. I'm continuously collecting more, but it's still not enough.
+I know it won't be easy, but can you do me a favor?
+ + \ No newline at end of file diff --git a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10806_TheDimensionalWarpPart6/33974-02.htm b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10806_TheDimensionalWarpPart6/33974-02.htm new file mode 100644 index 0000000000..8ecea0f173 --- /dev/null +++ b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10806_TheDimensionalWarpPart6/33974-02.htm @@ -0,0 +1,5 @@ +Resed:
+In the early stages of a Dimensional Warp, Abyssal Berserkers come out.
+But we still don't have enough information about them. I need more information about them because people run into them the most.
+ + \ No newline at end of file diff --git a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10806_TheDimensionalWarpPart6/33974-03.htm b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10806_TheDimensionalWarpPart6/33974-03.htm new file mode 100644 index 0000000000..a052b31368 --- /dev/null +++ b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10806_TheDimensionalWarpPart6/33974-03.htm @@ -0,0 +1,5 @@ +Resed:
+Can we start with 100?
+They come out often, so it won't be too hard. Thank you!
+ + \ No newline at end of file diff --git a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10806_TheDimensionalWarpPart6/33974-04.htm b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10806_TheDimensionalWarpPart6/33974-04.htm new file mode 100644 index 0000000000..fbc9031a8f --- /dev/null +++ b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10806_TheDimensionalWarpPart6/33974-04.htm @@ -0,0 +1,3 @@ +Resed:
+Kill 100 Abyssal Berserkers and come back to me. + \ No newline at end of file diff --git a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10806_TheDimensionalWarpPart6/33974-05.html b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10806_TheDimensionalWarpPart6/33974-05.html new file mode 100644 index 0000000000..998d299659 --- /dev/null +++ b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10806_TheDimensionalWarpPart6/33974-05.html @@ -0,0 +1,4 @@ +Resed:
+We still don't have enough information. That's not enough.
+Go kill more Abyssal Berserkers. + \ No newline at end of file diff --git a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10806_TheDimensionalWarpPart6/33974-06.html b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10806_TheDimensionalWarpPart6/33974-06.html new file mode 100644 index 0000000000..295f620d0c --- /dev/null +++ b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10806_TheDimensionalWarpPart6/33974-06.html @@ -0,0 +1,5 @@ +Resed:
+Thank you. This will be enough.
+Can You give me the information now?
+ + \ No newline at end of file diff --git a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10806_TheDimensionalWarpPart6/33974-07.html b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10806_TheDimensionalWarpPart6/33974-07.html new file mode 100644 index 0000000000..0bb0b71989 --- /dev/null +++ b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10806_TheDimensionalWarpPart6/33974-07.html @@ -0,0 +1,4 @@ +Resed:
+Good work. You're almost at the finish line.
+The reward is better than the last time. Take it. + \ No newline at end of file diff --git a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10806_TheDimensionalWarpPart6/Q10806_TheDimensionalWarpPart6.java b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10806_TheDimensionalWarpPart6/Q10806_TheDimensionalWarpPart6.java new file mode 100644 index 0000000000..9b65bc5a6c --- /dev/null +++ b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10806_TheDimensionalWarpPart6/Q10806_TheDimensionalWarpPart6.java @@ -0,0 +1,179 @@ +/* + * 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 . + */ +package quests.Q10806_TheDimensionalWarpPart6; + +import java.util.HashSet; +import java.util.Set; + +import com.l2jmobius.Config; +import com.l2jmobius.gameserver.enums.QuestSound; +import com.l2jmobius.gameserver.model.L2Party; +import com.l2jmobius.gameserver.model.actor.L2Npc; +import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance; +import com.l2jmobius.gameserver.model.holders.NpcLogListHolder; +import com.l2jmobius.gameserver.model.quest.Quest; +import com.l2jmobius.gameserver.model.quest.QuestState; +import com.l2jmobius.gameserver.model.quest.State; + +import quests.Q10805_TheDimensionalWarpPart5.Q10805_TheDimensionalWarpPart5; + +/** + * The Dimensional Warp, Part 6 (10806) + * @URL https://l2wiki.com/The_Dimensional_Warp,_Part_6 + * @author Mobius + */ +public class Q10806_TheDimensionalWarpPart6 extends Quest +{ + // NPC + private static final int RESED = 33974; + // Monsters + private static final int ABYSSAL_BERSERKER = 23478; + // Others + private static final int MIN_LEVEL = 99; + private static final int WARP_CRYSTAL = 39597; + + public Q10806_TheDimensionalWarpPart6() + { + super(10806); + addStartNpc(RESED); + addTalkId(RESED); + addKillId(ABYSSAL_BERSERKER); + addCondMinLevel(MIN_LEVEL, "33974-00.htm"); + addCondCompletedQuest(Q10805_TheDimensionalWarpPart5.class.getSimpleName(), ""); + } + + @Override + public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) + { + String htmltext = null; + final QuestState qs = getQuestState(player, false); + if (qs == null) + { + return htmltext; + } + + switch (event) + { + case "33974-02.htm": + case "33974-03.htm": + { + htmltext = event; + break; + } + case "33974-04.htm": + { + qs.startQuest(); + htmltext = event; + break; + } + case "33974-07.html": + { + if (qs.isCond(2)) + { + if (player.getLevel() >= MIN_LEVEL) + { + addExpAndSp(player, 73923033600L, 0); + giveItems(player, WARP_CRYSTAL, 300); + qs.exitQuest(false, true); + htmltext = event; + } + else + { + htmltext = getNoQuestLevelRewardMsg(player); + } + } + break; + } + } + return htmltext; + } + + @Override + public String onTalk(L2Npc npc, L2PcInstance player) + { + final QuestState qs = getQuestState(player, true); + String htmltext = getNoQuestMsg(player); + + switch (qs.getState()) + { + case State.CREATED: + { + htmltext = "33974-01.htm"; + break; + } + case State.STARTED: + { + htmltext = (qs.isCond(1)) ? "33974-05.html" : "33974-06.html"; + break; + } + case State.COMPLETED: + { + htmltext = getAlreadyCompletedMsg(player); + break; + } + } + return htmltext; + } + + @Override + public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon) + { + L2Party party = killer.getParty(); + if (party != null) + { + party.getMembers().forEach(p -> onKill(npc, p)); + } + else + { + onKill(npc, killer); + } + return super.onKill(npc, killer, isSummon); + } + + private void onKill(L2Npc npc, L2PcInstance killer) + { + final QuestState qs = getQuestState(killer, false); + + if ((qs != null) && qs.isCond(1) && (npc.calculateDistance3D(killer) <= Config.ALT_PARTY_RANGE)) + { + int killedBugbear = qs.getInt("killed_" + ABYSSAL_BERSERKER); + if (killedBugbear < 100) + { + qs.set("killed_" + ABYSSAL_BERSERKER, ++killedBugbear); + playSound(killer, QuestSound.ITEMSOUND_QUEST_ITEMGET); + } + if (killedBugbear >= 100) + { + qs.setCond(2, true); + } + sendNpcLogList(killer); + } + } + + @Override + public Set getNpcLogList(L2PcInstance player) + { + final QuestState qs = getQuestState(player, false); + if ((qs != null) && qs.isCond(1)) + { + final Set holder = new HashSet<>(); + holder.add(new NpcLogListHolder(ABYSSAL_BERSERKER, false, qs.getInt("killed_" + ABYSSAL_BERSERKER))); + return holder; + } + return super.getNpcLogList(player); + } +} diff --git a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10807_TheDimensionalWarpPart7/33974-00.htm b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10807_TheDimensionalWarpPart7/33974-00.htm new file mode 100644 index 0000000000..60df561273 --- /dev/null +++ b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10807_TheDimensionalWarpPart7/33974-00.htm @@ -0,0 +1,4 @@ +Resed:
+Are you trying to enter the Dimensional Warp? It's not a place for people like you.
+(Only characters Lv. 99 or above may undertake this quest.) + \ No newline at end of file diff --git a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10807_TheDimensionalWarpPart7/33974-01.htm b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10807_TheDimensionalWarpPart7/33974-01.htm new file mode 100644 index 0000000000..c75e1b123e --- /dev/null +++ b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10807_TheDimensionalWarpPart7/33974-01.htm @@ -0,0 +1,5 @@ +Resed:
+Have you been inside Dimensional Warp? My job is to send the explorers to the Dimensional Warp, but I don't have enough information here. I'm continuously collecting more, but it's still not enough.
+I know it won't be easy, but can you do me a favor?
+ + \ No newline at end of file diff --git a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10807_TheDimensionalWarpPart7/33974-02.htm b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10807_TheDimensionalWarpPart7/33974-02.htm new file mode 100644 index 0000000000..afdc867e38 --- /dev/null +++ b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10807_TheDimensionalWarpPart7/33974-02.htm @@ -0,0 +1,5 @@ +Resed:
+In the early stages of a Dimensional Warp, Abyssal Binders come out.
+But we still don't have enough information about them. I need more information about them because people run into them the most.
+ + \ No newline at end of file diff --git a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10807_TheDimensionalWarpPart7/33974-03.htm b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10807_TheDimensionalWarpPart7/33974-03.htm new file mode 100644 index 0000000000..75a1e86195 --- /dev/null +++ b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10807_TheDimensionalWarpPart7/33974-03.htm @@ -0,0 +1,5 @@ +Resed:
+Can we start with 100?
+They come out often, so it won't be too hard. Thank you!
+ + \ No newline at end of file diff --git a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10807_TheDimensionalWarpPart7/33974-04.htm b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10807_TheDimensionalWarpPart7/33974-04.htm new file mode 100644 index 0000000000..efe5447742 --- /dev/null +++ b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10807_TheDimensionalWarpPart7/33974-04.htm @@ -0,0 +1,3 @@ +Resed:
+Kill 100 Abyssal Binders and come back to me. + \ No newline at end of file diff --git a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10807_TheDimensionalWarpPart7/33974-05.html b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10807_TheDimensionalWarpPart7/33974-05.html new file mode 100644 index 0000000000..247b7ae92c --- /dev/null +++ b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10807_TheDimensionalWarpPart7/33974-05.html @@ -0,0 +1,4 @@ +Resed:
+We still don't have enough information. That's not enough.
+Go kill more Abyssal Binders. + \ No newline at end of file diff --git a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10807_TheDimensionalWarpPart7/33974-06.html b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10807_TheDimensionalWarpPart7/33974-06.html new file mode 100644 index 0000000000..731fb678a7 --- /dev/null +++ b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10807_TheDimensionalWarpPart7/33974-06.html @@ -0,0 +1,5 @@ +Resed:
+Thank you. This will be enough.
+Can You give me the information now?
+ + \ No newline at end of file diff --git a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10807_TheDimensionalWarpPart7/33974-07.html b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10807_TheDimensionalWarpPart7/33974-07.html new file mode 100644 index 0000000000..0bb0b71989 --- /dev/null +++ b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10807_TheDimensionalWarpPart7/33974-07.html @@ -0,0 +1,4 @@ +Resed:
+Good work. You're almost at the finish line.
+The reward is better than the last time. Take it. + \ No newline at end of file diff --git a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10807_TheDimensionalWarpPart7/Q10807_TheDimensionalWarpPart7.java b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10807_TheDimensionalWarpPart7/Q10807_TheDimensionalWarpPart7.java new file mode 100644 index 0000000000..3bfffa9350 --- /dev/null +++ b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10807_TheDimensionalWarpPart7/Q10807_TheDimensionalWarpPart7.java @@ -0,0 +1,179 @@ +/* + * 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 . + */ +package quests.Q10807_TheDimensionalWarpPart7; + +import java.util.HashSet; +import java.util.Set; + +import com.l2jmobius.Config; +import com.l2jmobius.gameserver.enums.QuestSound; +import com.l2jmobius.gameserver.model.L2Party; +import com.l2jmobius.gameserver.model.actor.L2Npc; +import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance; +import com.l2jmobius.gameserver.model.holders.NpcLogListHolder; +import com.l2jmobius.gameserver.model.quest.Quest; +import com.l2jmobius.gameserver.model.quest.QuestState; +import com.l2jmobius.gameserver.model.quest.State; + +import quests.Q10806_TheDimensionalWarpPart6.Q10806_TheDimensionalWarpPart6; + +/** + * The Dimensional Warp, Part 7 (10807) + * @URL https://l2wiki.com/The_Dimensional_Warp,_Part_7 + * @author Mobius + */ +public class Q10807_TheDimensionalWarpPart7 extends Quest +{ + // NPC + private static final int RESED = 33974; + // Monsters + private static final int ABYSSAL_BINDER = 23481; + // Others + private static final int MIN_LEVEL = 99; + private static final int WARP_CRYSTAL = 39597; + + public Q10807_TheDimensionalWarpPart7() + { + super(10807); + addStartNpc(RESED); + addTalkId(RESED); + addKillId(ABYSSAL_BINDER); + addCondMinLevel(MIN_LEVEL, "33974-00.htm"); + addCondCompletedQuest(Q10806_TheDimensionalWarpPart6.class.getSimpleName(), ""); + } + + @Override + public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) + { + String htmltext = null; + final QuestState qs = getQuestState(player, false); + if (qs == null) + { + return htmltext; + } + + switch (event) + { + case "33974-02.htm": + case "33974-03.htm": + { + htmltext = event; + break; + } + case "33974-04.htm": + { + qs.startQuest(); + htmltext = event; + break; + } + case "33974-07.html": + { + if (qs.isCond(2)) + { + if (player.getLevel() >= MIN_LEVEL) + { + addExpAndSp(player, 90422325000L, 0); + giveItems(player, WARP_CRYSTAL, 300); + qs.exitQuest(false, true); + htmltext = event; + } + else + { + htmltext = getNoQuestLevelRewardMsg(player); + } + } + break; + } + } + return htmltext; + } + + @Override + public String onTalk(L2Npc npc, L2PcInstance player) + { + final QuestState qs = getQuestState(player, true); + String htmltext = getNoQuestMsg(player); + + switch (qs.getState()) + { + case State.CREATED: + { + htmltext = "33974-01.htm"; + break; + } + case State.STARTED: + { + htmltext = (qs.isCond(1)) ? "33974-05.html" : "33974-06.html"; + break; + } + case State.COMPLETED: + { + htmltext = getAlreadyCompletedMsg(player); + break; + } + } + return htmltext; + } + + @Override + public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon) + { + L2Party party = killer.getParty(); + if (party != null) + { + party.getMembers().forEach(p -> onKill(npc, p)); + } + else + { + onKill(npc, killer); + } + return super.onKill(npc, killer, isSummon); + } + + private void onKill(L2Npc npc, L2PcInstance killer) + { + final QuestState qs = getQuestState(killer, false); + + if ((qs != null) && qs.isCond(1) && (npc.calculateDistance3D(killer) <= Config.ALT_PARTY_RANGE)) + { + int killedBugbear = qs.getInt("killed_" + ABYSSAL_BINDER); + if (killedBugbear < 100) + { + qs.set("killed_" + ABYSSAL_BINDER, ++killedBugbear); + playSound(killer, QuestSound.ITEMSOUND_QUEST_ITEMGET); + } + if (killedBugbear >= 100) + { + qs.setCond(2, true); + } + sendNpcLogList(killer); + } + } + + @Override + public Set getNpcLogList(L2PcInstance player) + { + final QuestState qs = getQuestState(player, false); + if ((qs != null) && qs.isCond(1)) + { + final Set holder = new HashSet<>(); + holder.add(new NpcLogListHolder(ABYSSAL_BINDER, false, qs.getInt("killed_" + ABYSSAL_BINDER))); + return holder; + } + return super.getNpcLogList(player); + } +} diff --git a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/QuestMasterHandler.java b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/QuestMasterHandler.java index 1d83a564dc..904e36a67f 100644 --- a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/QuestMasterHandler.java +++ b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/QuestMasterHandler.java @@ -456,6 +456,12 @@ import quests.Q10798_LettersFromTheQueenDragonValley.Q10798_LettersFromTheQueenD import quests.Q10799_StrangeThingsAfootInTheValley.Q10799_StrangeThingsAfootInTheValley; import quests.Q10800_ReconnaissanceAtDragonValley.Q10800_ReconnaissanceAtDragonValley; import quests.Q10801_TheDimensionalWarpPart1.Q10801_TheDimensionalWarpPart1; +import quests.Q10802_TheDimensionalWarpPart2.Q10802_TheDimensionalWarpPart2; +import quests.Q10803_TheDimensionalWarpPart3.Q10803_TheDimensionalWarpPart3; +import quests.Q10804_TheDimensionalWarpPart4.Q10804_TheDimensionalWarpPart4; +import quests.Q10805_TheDimensionalWarpPart5.Q10805_TheDimensionalWarpPart5; +import quests.Q10806_TheDimensionalWarpPart6.Q10806_TheDimensionalWarpPart6; +import quests.Q10807_TheDimensionalWarpPart7.Q10807_TheDimensionalWarpPart7; import quests.Q10811_ExaltedOneWhoFacesTheLimit.Q10811_ExaltedOneWhoFacesTheLimit; import quests.Q10812_FacingSadness.Q10812_FacingSadness; import quests.Q10813_ForGlory.Q10813_ForGlory; @@ -930,6 +936,12 @@ public class QuestMasterHandler Q10799_StrangeThingsAfootInTheValley.class, Q10800_ReconnaissanceAtDragonValley.class, Q10801_TheDimensionalWarpPart1.class, + Q10802_TheDimensionalWarpPart2.class, + Q10803_TheDimensionalWarpPart3.class, + Q10804_TheDimensionalWarpPart4.class, + Q10805_TheDimensionalWarpPart5.class, + Q10806_TheDimensionalWarpPart6.class, + Q10807_TheDimensionalWarpPart7.class, Q10811_ExaltedOneWhoFacesTheLimit.class, Q10812_FacingSadness.class, Q10813_ForGlory.class, diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/MissingQuests.txt b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/MissingQuests.txt index b2fad5f1bb..78618679a6 100644 --- a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/MissingQuests.txt +++ b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/MissingQuests.txt @@ -83,12 +83,6 @@ 10731 The Minstrel's Song, Part 6 10748 Mysterious Suggestion - 1 10749 Mysterious Suggestion - 2 -10802 The Dimensional Warp, Part 2 -10803 The Dimensional Warp, Part 3 -10804 The Dimensional Warp, Part 4 -10805 The Dimensional Warp, Part 5 -10806 The Dimensional Warp, Part 6 -10807 The Dimensional Warp, Part 7 10844 Bloody Battle - Seizing Supplies 10845 Bloody Battle - Rescue the Smiths 10846 Bloody Battle - Meeting the Commander diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10801_TheDimensionalWarpPart1/Q10801_TheDimensionalWarpPart1.java b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10801_TheDimensionalWarpPart1/Q10801_TheDimensionalWarpPart1.java index f16e4a0045..80f70302f1 100644 --- a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10801_TheDimensionalWarpPart1/Q10801_TheDimensionalWarpPart1.java +++ b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10801_TheDimensionalWarpPart1/Q10801_TheDimensionalWarpPart1.java @@ -41,7 +41,7 @@ public class Q10801_TheDimensionalWarpPart1 extends Quest private static final int RESED = 33974; // Monsters private static final int DIMENSIONAL_BUGBEAR = 23465; - // other + // Others private static final int MIN_LEVEL = 99; private static final int DIMENSIONAL_BRACELET_STAGE_1 = 39747; private static final int WARP_CRYSTAL = 39597; diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10802_TheDimensionalWarpPart2/33974-00.htm b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10802_TheDimensionalWarpPart2/33974-00.htm new file mode 100644 index 0000000000..60df561273 --- /dev/null +++ b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10802_TheDimensionalWarpPart2/33974-00.htm @@ -0,0 +1,4 @@ +Resed:
+Are you trying to enter the Dimensional Warp? It's not a place for people like you.
+(Only characters Lv. 99 or above may undertake this quest.) + \ No newline at end of file diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10802_TheDimensionalWarpPart2/33974-01.htm b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10802_TheDimensionalWarpPart2/33974-01.htm new file mode 100644 index 0000000000..dbbc35f962 --- /dev/null +++ b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10802_TheDimensionalWarpPart2/33974-01.htm @@ -0,0 +1,5 @@ +Resed:
+Have you been inside Dimensional Warp? My job is to send the explorers to the Dimensional Warp, but I don't have enough information here. I'm continuously collecting more, but it's still not enough.
+I know it won't be easy, but can you do me a favor?
+ + \ No newline at end of file diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10802_TheDimensionalWarpPart2/33974-02.htm b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10802_TheDimensionalWarpPart2/33974-02.htm new file mode 100644 index 0000000000..aafbc2ba6f --- /dev/null +++ b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10802_TheDimensionalWarpPart2/33974-02.htm @@ -0,0 +1,5 @@ +Resed:
+In the early stages of a Dimensional Warp, Dimensional Binders come out.
+But we still don't have enough information about them. I need more information about them because people run into them the most.
+ + \ No newline at end of file diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10802_TheDimensionalWarpPart2/33974-03.htm b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10802_TheDimensionalWarpPart2/33974-03.htm new file mode 100644 index 0000000000..36a49fe97d --- /dev/null +++ b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10802_TheDimensionalWarpPart2/33974-03.htm @@ -0,0 +1,5 @@ +Resed:
+Can we start with 100?
+They come out often, so it won't be too hard. Thank you!
+ + \ No newline at end of file diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10802_TheDimensionalWarpPart2/33974-04.htm b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10802_TheDimensionalWarpPart2/33974-04.htm new file mode 100644 index 0000000000..d9ba89a5e4 --- /dev/null +++ b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10802_TheDimensionalWarpPart2/33974-04.htm @@ -0,0 +1,3 @@ +Resed:
+Kill 100 Dimensional Binders and come back to me. + \ No newline at end of file diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10802_TheDimensionalWarpPart2/33974-05.html b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10802_TheDimensionalWarpPart2/33974-05.html new file mode 100644 index 0000000000..4600cd995c --- /dev/null +++ b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10802_TheDimensionalWarpPart2/33974-05.html @@ -0,0 +1,4 @@ +Resed:
+We still don't have enough information. That's not enough.
+Go kill more Dimensional Binders. + \ No newline at end of file diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10802_TheDimensionalWarpPart2/33974-06.html b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10802_TheDimensionalWarpPart2/33974-06.html new file mode 100644 index 0000000000..2076a91123 --- /dev/null +++ b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10802_TheDimensionalWarpPart2/33974-06.html @@ -0,0 +1,5 @@ +Resed:
+Thank you. This will be enough.
+Can You give me the information now?
+ + \ No newline at end of file diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10802_TheDimensionalWarpPart2/33974-07.html b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10802_TheDimensionalWarpPart2/33974-07.html new file mode 100644 index 0000000000..0bb0b71989 --- /dev/null +++ b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10802_TheDimensionalWarpPart2/33974-07.html @@ -0,0 +1,4 @@ +Resed:
+Good work. You're almost at the finish line.
+The reward is better than the last time. Take it. + \ No newline at end of file diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10802_TheDimensionalWarpPart2/Q10802_TheDimensionalWarpPart2.java b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10802_TheDimensionalWarpPart2/Q10802_TheDimensionalWarpPart2.java new file mode 100644 index 0000000000..a6b57f397c --- /dev/null +++ b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10802_TheDimensionalWarpPart2/Q10802_TheDimensionalWarpPart2.java @@ -0,0 +1,179 @@ +/* + * 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 . + */ +package quests.Q10802_TheDimensionalWarpPart2; + +import java.util.HashSet; +import java.util.Set; + +import com.l2jmobius.Config; +import com.l2jmobius.gameserver.enums.QuestSound; +import com.l2jmobius.gameserver.model.L2Party; +import com.l2jmobius.gameserver.model.actor.L2Npc; +import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance; +import com.l2jmobius.gameserver.model.holders.NpcLogListHolder; +import com.l2jmobius.gameserver.model.quest.Quest; +import com.l2jmobius.gameserver.model.quest.QuestState; +import com.l2jmobius.gameserver.model.quest.State; + +import quests.Q10801_TheDimensionalWarpPart1.Q10801_TheDimensionalWarpPart1; + +/** + * The Dimensional Warp, Part 2 (10802) + * @URL https://l2wiki.com/The_Dimensional_Warp,_Part_2 + * @author Mobius + */ +public class Q10802_TheDimensionalWarpPart2 extends Quest +{ + // NPC + private static final int RESED = 33974; + // Monsters + private static final int DIMENSIONAL_BINDER = 23467; + // Others + private static final int MIN_LEVEL = 99; + private static final int WARP_CRYSTAL = 39597; + + public Q10802_TheDimensionalWarpPart2() + { + super(10802); + addStartNpc(RESED); + addTalkId(RESED); + addKillId(DIMENSIONAL_BINDER); + addCondMinLevel(MIN_LEVEL, "33974-00.htm"); + addCondCompletedQuest(Q10801_TheDimensionalWarpPart1.class.getSimpleName(), ""); + } + + @Override + public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) + { + String htmltext = null; + final QuestState qs = getQuestState(player, false); + if (qs == null) + { + return htmltext; + } + + switch (event) + { + case "33974-02.htm": + case "33974-03.htm": + { + htmltext = event; + break; + } + case "33974-04.htm": + { + qs.startQuest(); + htmltext = event; + break; + } + case "33974-07.html": + { + if (qs.isCond(2)) + { + if (player.getLevel() >= MIN_LEVEL) + { + addExpAndSp(player, 49380951086L, 0); + giveItems(player, WARP_CRYSTAL, 300); + qs.exitQuest(false, true); + htmltext = event; + } + else + { + htmltext = getNoQuestLevelRewardMsg(player); + } + } + break; + } + } + return htmltext; + } + + @Override + public String onTalk(L2Npc npc, L2PcInstance player) + { + final QuestState qs = getQuestState(player, true); + String htmltext = getNoQuestMsg(player); + + switch (qs.getState()) + { + case State.CREATED: + { + htmltext = "33974-01.htm"; + break; + } + case State.STARTED: + { + htmltext = (qs.isCond(1)) ? "33974-05.html" : "33974-06.html"; + break; + } + case State.COMPLETED: + { + htmltext = getAlreadyCompletedMsg(player); + break; + } + } + return htmltext; + } + + @Override + public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon) + { + L2Party party = killer.getParty(); + if (party != null) + { + party.getMembers().forEach(p -> onKill(npc, p)); + } + else + { + onKill(npc, killer); + } + return super.onKill(npc, killer, isSummon); + } + + private void onKill(L2Npc npc, L2PcInstance killer) + { + final QuestState qs = getQuestState(killer, false); + + if ((qs != null) && qs.isCond(1) && (npc.calculateDistance3D(killer) <= Config.ALT_PARTY_RANGE)) + { + int killedBugbear = qs.getInt("killed_" + DIMENSIONAL_BINDER); + if (killedBugbear < 100) + { + qs.set("killed_" + DIMENSIONAL_BINDER, ++killedBugbear); + playSound(killer, QuestSound.ITEMSOUND_QUEST_ITEMGET); + } + if (killedBugbear >= 100) + { + qs.setCond(2, true); + } + sendNpcLogList(killer); + } + } + + @Override + public Set getNpcLogList(L2PcInstance player) + { + final QuestState qs = getQuestState(player, false); + if ((qs != null) && qs.isCond(1)) + { + final Set holder = new HashSet<>(); + holder.add(new NpcLogListHolder(DIMENSIONAL_BINDER, false, qs.getInt("killed_" + DIMENSIONAL_BINDER))); + return holder; + } + return super.getNpcLogList(player); + } +} diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10803_TheDimensionalWarpPart3/33974-00.htm b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10803_TheDimensionalWarpPart3/33974-00.htm new file mode 100644 index 0000000000..60df561273 --- /dev/null +++ b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10803_TheDimensionalWarpPart3/33974-00.htm @@ -0,0 +1,4 @@ +Resed:
+Are you trying to enter the Dimensional Warp? It's not a place for people like you.
+(Only characters Lv. 99 or above may undertake this quest.) + \ No newline at end of file diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10803_TheDimensionalWarpPart3/33974-01.htm b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10803_TheDimensionalWarpPart3/33974-01.htm new file mode 100644 index 0000000000..382f41fc38 --- /dev/null +++ b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10803_TheDimensionalWarpPart3/33974-01.htm @@ -0,0 +1,5 @@ +Resed:
+Have you been inside Dimensional Warp? My job is to send the explorers to the Dimensional Warp, but I don't have enough information here. I'm continuously collecting more, but it's still not enough.
+I know it won't be easy, but can you do me a favor?
+ + \ No newline at end of file diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10803_TheDimensionalWarpPart3/33974-02.htm b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10803_TheDimensionalWarpPart3/33974-02.htm new file mode 100644 index 0000000000..0a9f1a8ca8 --- /dev/null +++ b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10803_TheDimensionalWarpPart3/33974-02.htm @@ -0,0 +1,5 @@ +Resed:
+In the early stages of a Dimensional Warp, Unworldly Etins come out.
+But we still don't have enough information about them. I need more information about them because people run into them the most.
+ + \ No newline at end of file diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10803_TheDimensionalWarpPart3/33974-03.htm b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10803_TheDimensionalWarpPart3/33974-03.htm new file mode 100644 index 0000000000..d32288d8be --- /dev/null +++ b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10803_TheDimensionalWarpPart3/33974-03.htm @@ -0,0 +1,5 @@ +Resed:
+Can we start with 100?
+They come out often, so it won't be too hard. Thank you!
+ + \ No newline at end of file diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10803_TheDimensionalWarpPart3/33974-04.htm b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10803_TheDimensionalWarpPart3/33974-04.htm new file mode 100644 index 0000000000..1859f388b6 --- /dev/null +++ b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10803_TheDimensionalWarpPart3/33974-04.htm @@ -0,0 +1,3 @@ +Resed:
+Kill 100 Unworldly Etins and come back to me. + \ No newline at end of file diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10803_TheDimensionalWarpPart3/33974-05.html b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10803_TheDimensionalWarpPart3/33974-05.html new file mode 100644 index 0000000000..2ab774064c --- /dev/null +++ b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10803_TheDimensionalWarpPart3/33974-05.html @@ -0,0 +1,4 @@ +Resed:
+We still don't have enough information. That's not enough.
+Go kill more Unworldly Etins. + \ No newline at end of file diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10803_TheDimensionalWarpPart3/33974-06.html b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10803_TheDimensionalWarpPart3/33974-06.html new file mode 100644 index 0000000000..30d4ab1648 --- /dev/null +++ b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10803_TheDimensionalWarpPart3/33974-06.html @@ -0,0 +1,5 @@ +Resed:
+Thank you. This will be enough.
+Can You give me the information now?
+ + \ No newline at end of file diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10803_TheDimensionalWarpPart3/33974-07.html b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10803_TheDimensionalWarpPart3/33974-07.html new file mode 100644 index 0000000000..0bb0b71989 --- /dev/null +++ b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10803_TheDimensionalWarpPart3/33974-07.html @@ -0,0 +1,4 @@ +Resed:
+Good work. You're almost at the finish line.
+The reward is better than the last time. Take it. + \ No newline at end of file diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10803_TheDimensionalWarpPart3/Q10803_TheDimensionalWarpPart3.java b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10803_TheDimensionalWarpPart3/Q10803_TheDimensionalWarpPart3.java new file mode 100644 index 0000000000..787b66b5ce --- /dev/null +++ b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10803_TheDimensionalWarpPart3/Q10803_TheDimensionalWarpPart3.java @@ -0,0 +1,181 @@ +/* + * 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 . + */ +package quests.Q10803_TheDimensionalWarpPart3; + +import java.util.HashSet; +import java.util.Set; + +import com.l2jmobius.Config; +import com.l2jmobius.gameserver.enums.QuestSound; +import com.l2jmobius.gameserver.model.L2Party; +import com.l2jmobius.gameserver.model.actor.L2Npc; +import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance; +import com.l2jmobius.gameserver.model.holders.NpcLogListHolder; +import com.l2jmobius.gameserver.model.quest.Quest; +import com.l2jmobius.gameserver.model.quest.QuestState; +import com.l2jmobius.gameserver.model.quest.State; + +import quests.Q10802_TheDimensionalWarpPart2.Q10802_TheDimensionalWarpPart2; + +/** + * The Dimensional Warp, Part 3 (10803) + * @URL https://l2wiki.com/The_Dimensional_Warp,_Part_3 + * @author Mobius + */ +public class Q10803_TheDimensionalWarpPart3 extends Quest +{ + // NPC + private static final int RESED = 33974; + // Monsters + private static final int UNWORDLY_ETIN = 23471; + // Others + private static final int MIN_LEVEL = 99; + private static final int BLOODY_ETERNAL_ENHANCEMENT_STONE = 3556; + private static final int WARP_CRYSTAL = 39597; + + public Q10803_TheDimensionalWarpPart3() + { + super(10803); + addStartNpc(RESED); + addTalkId(RESED); + addKillId(UNWORDLY_ETIN); + addCondMinLevel(MIN_LEVEL, "33974-00.htm"); + addCondCompletedQuest(Q10802_TheDimensionalWarpPart2.class.getSimpleName(), ""); + } + + @Override + public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) + { + String htmltext = null; + final QuestState qs = getQuestState(player, false); + if (qs == null) + { + return htmltext; + } + + switch (event) + { + case "33974-02.htm": + case "33974-03.htm": + { + htmltext = event; + break; + } + case "33974-04.htm": + { + qs.startQuest(); + htmltext = event; + break; + } + case "33974-07.html": + { + if (qs.isCond(2)) + { + if (player.getLevel() >= MIN_LEVEL) + { + addExpAndSp(player, 54383249571L, 0); + giveItems(player, BLOODY_ETERNAL_ENHANCEMENT_STONE, 1); + giveItems(player, WARP_CRYSTAL, 300); + qs.exitQuest(false, true); + htmltext = event; + } + else + { + htmltext = getNoQuestLevelRewardMsg(player); + } + } + break; + } + } + return htmltext; + } + + @Override + public String onTalk(L2Npc npc, L2PcInstance player) + { + final QuestState qs = getQuestState(player, true); + String htmltext = getNoQuestMsg(player); + + switch (qs.getState()) + { + case State.CREATED: + { + htmltext = "33974-01.htm"; + break; + } + case State.STARTED: + { + htmltext = (qs.isCond(1)) ? "33974-05.html" : "33974-06.html"; + break; + } + case State.COMPLETED: + { + htmltext = getAlreadyCompletedMsg(player); + break; + } + } + return htmltext; + } + + @Override + public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon) + { + L2Party party = killer.getParty(); + if (party != null) + { + party.getMembers().forEach(p -> onKill(npc, p)); + } + else + { + onKill(npc, killer); + } + return super.onKill(npc, killer, isSummon); + } + + private void onKill(L2Npc npc, L2PcInstance killer) + { + final QuestState qs = getQuestState(killer, false); + + if ((qs != null) && qs.isCond(1) && (npc.calculateDistance3D(killer) <= Config.ALT_PARTY_RANGE)) + { + int killedBugbear = qs.getInt("killed_" + UNWORDLY_ETIN); + if (killedBugbear < 100) + { + qs.set("killed_" + UNWORDLY_ETIN, ++killedBugbear); + playSound(killer, QuestSound.ITEMSOUND_QUEST_ITEMGET); + } + if (killedBugbear >= 100) + { + qs.setCond(2, true); + } + sendNpcLogList(killer); + } + } + + @Override + public Set getNpcLogList(L2PcInstance player) + { + final QuestState qs = getQuestState(player, false); + if ((qs != null) && qs.isCond(1)) + { + final Set holder = new HashSet<>(); + holder.add(new NpcLogListHolder(UNWORDLY_ETIN, false, qs.getInt("killed_" + UNWORDLY_ETIN))); + return holder; + } + return super.getNpcLogList(player); + } +} diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10804_TheDimensionalWarpPart4/33974-00.htm b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10804_TheDimensionalWarpPart4/33974-00.htm new file mode 100644 index 0000000000..60df561273 --- /dev/null +++ b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10804_TheDimensionalWarpPart4/33974-00.htm @@ -0,0 +1,4 @@ +Resed:
+Are you trying to enter the Dimensional Warp? It's not a place for people like you.
+(Only characters Lv. 99 or above may undertake this quest.) + \ No newline at end of file diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10804_TheDimensionalWarpPart4/33974-01.htm b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10804_TheDimensionalWarpPart4/33974-01.htm new file mode 100644 index 0000000000..0c799f407c --- /dev/null +++ b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10804_TheDimensionalWarpPart4/33974-01.htm @@ -0,0 +1,5 @@ +Resed:
+Have you been inside Dimensional Warp? My job is to send the explorers to the Dimensional Warp, but I don't have enough information here. I'm continuously collecting more, but it's still not enough.
+I know it won't be easy, but can you do me a favor?
+ + \ No newline at end of file diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10804_TheDimensionalWarpPart4/33974-02.htm b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10804_TheDimensionalWarpPart4/33974-02.htm new file mode 100644 index 0000000000..b9a34b4c39 --- /dev/null +++ b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10804_TheDimensionalWarpPart4/33974-02.htm @@ -0,0 +1,5 @@ +Resed:
+In the early stages of a Dimensional Warp, Unworldly Golems come out.
+But we still don't have enough information about them. I need more information about them because people run into them the most.
+ + \ No newline at end of file diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10804_TheDimensionalWarpPart4/33974-03.htm b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10804_TheDimensionalWarpPart4/33974-03.htm new file mode 100644 index 0000000000..54cc3098d0 --- /dev/null +++ b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10804_TheDimensionalWarpPart4/33974-03.htm @@ -0,0 +1,5 @@ +Resed:
+Can we start with 100?
+They come out often, so it won't be too hard. Thank you!
+ + \ No newline at end of file diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10804_TheDimensionalWarpPart4/33974-04.htm b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10804_TheDimensionalWarpPart4/33974-04.htm new file mode 100644 index 0000000000..e779ceb0ab --- /dev/null +++ b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10804_TheDimensionalWarpPart4/33974-04.htm @@ -0,0 +1,3 @@ +Resed:
+Kill 100 Unworldly Golems and come back to me. + \ No newline at end of file diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10804_TheDimensionalWarpPart4/33974-05.html b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10804_TheDimensionalWarpPart4/33974-05.html new file mode 100644 index 0000000000..2ab4351dd7 --- /dev/null +++ b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10804_TheDimensionalWarpPart4/33974-05.html @@ -0,0 +1,4 @@ +Resed:
+We still don't have enough information. That's not enough.
+Go kill more Unworldly Golems. + \ No newline at end of file diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10804_TheDimensionalWarpPart4/33974-06.html b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10804_TheDimensionalWarpPart4/33974-06.html new file mode 100644 index 0000000000..58721db127 --- /dev/null +++ b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10804_TheDimensionalWarpPart4/33974-06.html @@ -0,0 +1,5 @@ +Resed:
+Thank you. This will be enough.
+Can You give me the information now?
+ + \ No newline at end of file diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10804_TheDimensionalWarpPart4/33974-07.html b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10804_TheDimensionalWarpPart4/33974-07.html new file mode 100644 index 0000000000..0bb0b71989 --- /dev/null +++ b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10804_TheDimensionalWarpPart4/33974-07.html @@ -0,0 +1,4 @@ +Resed:
+Good work. You're almost at the finish line.
+The reward is better than the last time. Take it. + \ No newline at end of file diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10804_TheDimensionalWarpPart4/Q10804_TheDimensionalWarpPart4.java b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10804_TheDimensionalWarpPart4/Q10804_TheDimensionalWarpPart4.java new file mode 100644 index 0000000000..4cd643fb80 --- /dev/null +++ b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10804_TheDimensionalWarpPart4/Q10804_TheDimensionalWarpPart4.java @@ -0,0 +1,181 @@ +/* + * 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 . + */ +package quests.Q10804_TheDimensionalWarpPart4; + +import java.util.HashSet; +import java.util.Set; + +import com.l2jmobius.Config; +import com.l2jmobius.gameserver.enums.QuestSound; +import com.l2jmobius.gameserver.model.L2Party; +import com.l2jmobius.gameserver.model.actor.L2Npc; +import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance; +import com.l2jmobius.gameserver.model.holders.NpcLogListHolder; +import com.l2jmobius.gameserver.model.quest.Quest; +import com.l2jmobius.gameserver.model.quest.QuestState; +import com.l2jmobius.gameserver.model.quest.State; + +import quests.Q10803_TheDimensionalWarpPart3.Q10803_TheDimensionalWarpPart3; + +/** + * The Dimensional Warp, Part 4 (10804) + * @URL https://l2wiki.com/The_Dimensional_Warp,_Part_4 + * @author Mobius + */ +public class Q10804_TheDimensionalWarpPart4 extends Quest +{ + // NPC + private static final int RESED = 33974; + // Monsters + private static final int UNWORLDLY_GOLEM = 23474; + // Others + private static final int MIN_LEVEL = 99; + private static final int DARK_ETERNAL_ENHANCEMENT_STONE = 35567; + private static final int WARP_CRYSTAL = 39597; + + public Q10804_TheDimensionalWarpPart4() + { + super(10804); + addStartNpc(RESED); + addTalkId(RESED); + addKillId(UNWORLDLY_GOLEM); + addCondMinLevel(MIN_LEVEL, "33974-00.htm"); + addCondCompletedQuest(Q10803_TheDimensionalWarpPart3.class.getSimpleName(), ""); + } + + @Override + public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) + { + String htmltext = null; + final QuestState qs = getQuestState(player, false); + if (qs == null) + { + return htmltext; + } + + switch (event) + { + case "33974-02.htm": + case "33974-03.htm": + { + htmltext = event; + break; + } + case "33974-04.htm": + { + qs.startQuest(); + htmltext = event; + break; + } + case "33974-07.html": + { + if (qs.isCond(2)) + { + if (player.getLevel() >= MIN_LEVEL) + { + addExpAndSp(player, 60425832857L, 0); + giveItems(player, DARK_ETERNAL_ENHANCEMENT_STONE, 1); + giveItems(player, WARP_CRYSTAL, 300); + qs.exitQuest(false, true); + htmltext = event; + } + else + { + htmltext = getNoQuestLevelRewardMsg(player); + } + } + break; + } + } + return htmltext; + } + + @Override + public String onTalk(L2Npc npc, L2PcInstance player) + { + final QuestState qs = getQuestState(player, true); + String htmltext = getNoQuestMsg(player); + + switch (qs.getState()) + { + case State.CREATED: + { + htmltext = "33974-01.htm"; + break; + } + case State.STARTED: + { + htmltext = (qs.isCond(1)) ? "33974-05.html" : "33974-06.html"; + break; + } + case State.COMPLETED: + { + htmltext = getAlreadyCompletedMsg(player); + break; + } + } + return htmltext; + } + + @Override + public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon) + { + L2Party party = killer.getParty(); + if (party != null) + { + party.getMembers().forEach(p -> onKill(npc, p)); + } + else + { + onKill(npc, killer); + } + return super.onKill(npc, killer, isSummon); + } + + private void onKill(L2Npc npc, L2PcInstance killer) + { + final QuestState qs = getQuestState(killer, false); + + if ((qs != null) && qs.isCond(1) && (npc.calculateDistance3D(killer) <= Config.ALT_PARTY_RANGE)) + { + int killedBugbear = qs.getInt("killed_" + UNWORLDLY_GOLEM); + if (killedBugbear < 100) + { + qs.set("killed_" + UNWORLDLY_GOLEM, ++killedBugbear); + playSound(killer, QuestSound.ITEMSOUND_QUEST_ITEMGET); + } + if (killedBugbear >= 100) + { + qs.setCond(2, true); + } + sendNpcLogList(killer); + } + } + + @Override + public Set getNpcLogList(L2PcInstance player) + { + final QuestState qs = getQuestState(player, false); + if ((qs != null) && qs.isCond(1)) + { + final Set holder = new HashSet<>(); + holder.add(new NpcLogListHolder(UNWORLDLY_GOLEM, false, qs.getInt("killed_" + UNWORLDLY_GOLEM))); + return holder; + } + return super.getNpcLogList(player); + } +} diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10805_TheDimensionalWarpPart5/33974-00.htm b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10805_TheDimensionalWarpPart5/33974-00.htm new file mode 100644 index 0000000000..60df561273 --- /dev/null +++ b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10805_TheDimensionalWarpPart5/33974-00.htm @@ -0,0 +1,4 @@ +Resed:
+Are you trying to enter the Dimensional Warp? It's not a place for people like you.
+(Only characters Lv. 99 or above may undertake this quest.) + \ No newline at end of file diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10805_TheDimensionalWarpPart5/33974-01.htm b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10805_TheDimensionalWarpPart5/33974-01.htm new file mode 100644 index 0000000000..94efd045d6 --- /dev/null +++ b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10805_TheDimensionalWarpPart5/33974-01.htm @@ -0,0 +1,5 @@ +Resed:
+Have you been inside Dimensional Warp? My job is to send the explorers to the Dimensional Warp, but I don't have enough information here. I'm continuously collecting more, but it's still not enough.
+I know it won't be easy, but can you do me a favor?
+ + \ No newline at end of file diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10805_TheDimensionalWarpPart5/33974-02.htm b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10805_TheDimensionalWarpPart5/33974-02.htm new file mode 100644 index 0000000000..1a4c02567e --- /dev/null +++ b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10805_TheDimensionalWarpPart5/33974-02.htm @@ -0,0 +1,5 @@ +Resed:
+In the early stages of a Dimensional Warp, Abyssal Golems come out.
+But we still don't have enough information about them. I need more information about them because people run into them the most.
+ + \ No newline at end of file diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10805_TheDimensionalWarpPart5/33974-03.htm b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10805_TheDimensionalWarpPart5/33974-03.htm new file mode 100644 index 0000000000..bde468aefa --- /dev/null +++ b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10805_TheDimensionalWarpPart5/33974-03.htm @@ -0,0 +1,5 @@ +Resed:
+Can we start with 100?
+They come out often, so it won't be too hard. Thank you!
+ + \ No newline at end of file diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10805_TheDimensionalWarpPart5/33974-04.htm b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10805_TheDimensionalWarpPart5/33974-04.htm new file mode 100644 index 0000000000..27ef4dd594 --- /dev/null +++ b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10805_TheDimensionalWarpPart5/33974-04.htm @@ -0,0 +1,3 @@ +Resed:
+Kill 100 Abyssal Golems and come back to me. + \ No newline at end of file diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10805_TheDimensionalWarpPart5/33974-05.html b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10805_TheDimensionalWarpPart5/33974-05.html new file mode 100644 index 0000000000..0e68d1a707 --- /dev/null +++ b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10805_TheDimensionalWarpPart5/33974-05.html @@ -0,0 +1,4 @@ +Resed:
+We still don't have enough information. That's not enough.
+Go kill more Abyssal Golems. + \ No newline at end of file diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10805_TheDimensionalWarpPart5/33974-06.html b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10805_TheDimensionalWarpPart5/33974-06.html new file mode 100644 index 0000000000..79676ce4e8 --- /dev/null +++ b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10805_TheDimensionalWarpPart5/33974-06.html @@ -0,0 +1,5 @@ +Resed:
+Thank you. This will be enough.
+Can You give me the information now?
+ + \ No newline at end of file diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10805_TheDimensionalWarpPart5/33974-07.html b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10805_TheDimensionalWarpPart5/33974-07.html new file mode 100644 index 0000000000..0bb0b71989 --- /dev/null +++ b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10805_TheDimensionalWarpPart5/33974-07.html @@ -0,0 +1,4 @@ +Resed:
+Good work. You're almost at the finish line.
+The reward is better than the last time. Take it. + \ No newline at end of file diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10805_TheDimensionalWarpPart5/Q10805_TheDimensionalWarpPart5.java b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10805_TheDimensionalWarpPart5/Q10805_TheDimensionalWarpPart5.java new file mode 100644 index 0000000000..4fe0016a21 --- /dev/null +++ b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10805_TheDimensionalWarpPart5/Q10805_TheDimensionalWarpPart5.java @@ -0,0 +1,181 @@ +/* + * 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 . + */ +package quests.Q10805_TheDimensionalWarpPart5; + +import java.util.HashSet; +import java.util.Set; + +import com.l2jmobius.Config; +import com.l2jmobius.gameserver.enums.QuestSound; +import com.l2jmobius.gameserver.model.L2Party; +import com.l2jmobius.gameserver.model.actor.L2Npc; +import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance; +import com.l2jmobius.gameserver.model.holders.NpcLogListHolder; +import com.l2jmobius.gameserver.model.quest.Quest; +import com.l2jmobius.gameserver.model.quest.QuestState; +import com.l2jmobius.gameserver.model.quest.State; + +import quests.Q10804_TheDimensionalWarpPart4.Q10804_TheDimensionalWarpPart4; + +/** + * The Dimensional Warp, Part 5 (10805) + * @URL https://l2wiki.com/The_Dimensional_Warp,_Part_5 + * @author Mobius + */ +public class Q10805_TheDimensionalWarpPart5 extends Quest +{ + // NPC + private static final int RESED = 33974; + // Monsters + private static final int ABYSSAL_GOLEM = 23483; + // Others + private static final int MIN_LEVEL = 99; + private static final int DARK_ETERNAL_ENHANCEMENT_STONE = 35567; + private static final int WARP_CRYSTAL = 39597; + + public Q10805_TheDimensionalWarpPart5() + { + super(10805); + addStartNpc(RESED); + addTalkId(RESED); + addKillId(ABYSSAL_GOLEM); + addCondMinLevel(MIN_LEVEL, "33974-00.htm"); + addCondCompletedQuest(Q10804_TheDimensionalWarpPart4.class.getSimpleName(), ""); + } + + @Override + public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) + { + String htmltext = null; + final QuestState qs = getQuestState(player, false); + if (qs == null) + { + return htmltext; + } + + switch (event) + { + case "33974-02.htm": + case "33974-03.htm": + { + htmltext = event; + break; + } + case "33974-04.htm": + { + qs.startQuest(); + htmltext = event; + break; + } + case "33974-07.html": + { + if (qs.isCond(2)) + { + if (player.getLevel() >= MIN_LEVEL) + { + addExpAndSp(player, 66530730240L, 0); + giveItems(player, DARK_ETERNAL_ENHANCEMENT_STONE, 1); + giveItems(player, WARP_CRYSTAL, 300); + qs.exitQuest(false, true); + htmltext = event; + } + else + { + htmltext = getNoQuestLevelRewardMsg(player); + } + } + break; + } + } + return htmltext; + } + + @Override + public String onTalk(L2Npc npc, L2PcInstance player) + { + final QuestState qs = getQuestState(player, true); + String htmltext = getNoQuestMsg(player); + + switch (qs.getState()) + { + case State.CREATED: + { + htmltext = "33974-01.htm"; + break; + } + case State.STARTED: + { + htmltext = (qs.isCond(1)) ? "33974-05.html" : "33974-06.html"; + break; + } + case State.COMPLETED: + { + htmltext = getAlreadyCompletedMsg(player); + break; + } + } + return htmltext; + } + + @Override + public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon) + { + L2Party party = killer.getParty(); + if (party != null) + { + party.getMembers().forEach(p -> onKill(npc, p)); + } + else + { + onKill(npc, killer); + } + return super.onKill(npc, killer, isSummon); + } + + private void onKill(L2Npc npc, L2PcInstance killer) + { + final QuestState qs = getQuestState(killer, false); + + if ((qs != null) && qs.isCond(1) && (npc.calculateDistance3D(killer) <= Config.ALT_PARTY_RANGE)) + { + int killedBugbear = qs.getInt("killed_" + ABYSSAL_GOLEM); + if (killedBugbear < 100) + { + qs.set("killed_" + ABYSSAL_GOLEM, ++killedBugbear); + playSound(killer, QuestSound.ITEMSOUND_QUEST_ITEMGET); + } + if (killedBugbear >= 100) + { + qs.setCond(2, true); + } + sendNpcLogList(killer); + } + } + + @Override + public Set getNpcLogList(L2PcInstance player) + { + final QuestState qs = getQuestState(player, false); + if ((qs != null) && qs.isCond(1)) + { + final Set holder = new HashSet<>(); + holder.add(new NpcLogListHolder(ABYSSAL_GOLEM, false, qs.getInt("killed_" + ABYSSAL_GOLEM))); + return holder; + } + return super.getNpcLogList(player); + } +} diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10806_TheDimensionalWarpPart6/33974-00.htm b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10806_TheDimensionalWarpPart6/33974-00.htm new file mode 100644 index 0000000000..60df561273 --- /dev/null +++ b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10806_TheDimensionalWarpPart6/33974-00.htm @@ -0,0 +1,4 @@ +Resed:
+Are you trying to enter the Dimensional Warp? It's not a place for people like you.
+(Only characters Lv. 99 or above may undertake this quest.) + \ No newline at end of file diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10806_TheDimensionalWarpPart6/33974-01.htm b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10806_TheDimensionalWarpPart6/33974-01.htm new file mode 100644 index 0000000000..d51b478618 --- /dev/null +++ b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10806_TheDimensionalWarpPart6/33974-01.htm @@ -0,0 +1,5 @@ +Resed:
+Have you been inside Dimensional Warp? My job is to send the explorers to the Dimensional Warp, but I don't have enough information here. I'm continuously collecting more, but it's still not enough.
+I know it won't be easy, but can you do me a favor?
+ + \ No newline at end of file diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10806_TheDimensionalWarpPart6/33974-02.htm b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10806_TheDimensionalWarpPart6/33974-02.htm new file mode 100644 index 0000000000..8ecea0f173 --- /dev/null +++ b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10806_TheDimensionalWarpPart6/33974-02.htm @@ -0,0 +1,5 @@ +Resed:
+In the early stages of a Dimensional Warp, Abyssal Berserkers come out.
+But we still don't have enough information about them. I need more information about them because people run into them the most.
+ + \ No newline at end of file diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10806_TheDimensionalWarpPart6/33974-03.htm b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10806_TheDimensionalWarpPart6/33974-03.htm new file mode 100644 index 0000000000..a052b31368 --- /dev/null +++ b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10806_TheDimensionalWarpPart6/33974-03.htm @@ -0,0 +1,5 @@ +Resed:
+Can we start with 100?
+They come out often, so it won't be too hard. Thank you!
+ + \ No newline at end of file diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10806_TheDimensionalWarpPart6/33974-04.htm b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10806_TheDimensionalWarpPart6/33974-04.htm new file mode 100644 index 0000000000..fbc9031a8f --- /dev/null +++ b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10806_TheDimensionalWarpPart6/33974-04.htm @@ -0,0 +1,3 @@ +Resed:
+Kill 100 Abyssal Berserkers and come back to me. + \ No newline at end of file diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10806_TheDimensionalWarpPart6/33974-05.html b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10806_TheDimensionalWarpPart6/33974-05.html new file mode 100644 index 0000000000..998d299659 --- /dev/null +++ b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10806_TheDimensionalWarpPart6/33974-05.html @@ -0,0 +1,4 @@ +Resed:
+We still don't have enough information. That's not enough.
+Go kill more Abyssal Berserkers. + \ No newline at end of file diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10806_TheDimensionalWarpPart6/33974-06.html b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10806_TheDimensionalWarpPart6/33974-06.html new file mode 100644 index 0000000000..295f620d0c --- /dev/null +++ b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10806_TheDimensionalWarpPart6/33974-06.html @@ -0,0 +1,5 @@ +Resed:
+Thank you. This will be enough.
+Can You give me the information now?
+ + \ No newline at end of file diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10806_TheDimensionalWarpPart6/33974-07.html b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10806_TheDimensionalWarpPart6/33974-07.html new file mode 100644 index 0000000000..0bb0b71989 --- /dev/null +++ b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10806_TheDimensionalWarpPart6/33974-07.html @@ -0,0 +1,4 @@ +Resed:
+Good work. You're almost at the finish line.
+The reward is better than the last time. Take it. + \ No newline at end of file diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10806_TheDimensionalWarpPart6/Q10806_TheDimensionalWarpPart6.java b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10806_TheDimensionalWarpPart6/Q10806_TheDimensionalWarpPart6.java new file mode 100644 index 0000000000..9b65bc5a6c --- /dev/null +++ b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10806_TheDimensionalWarpPart6/Q10806_TheDimensionalWarpPart6.java @@ -0,0 +1,179 @@ +/* + * 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 . + */ +package quests.Q10806_TheDimensionalWarpPart6; + +import java.util.HashSet; +import java.util.Set; + +import com.l2jmobius.Config; +import com.l2jmobius.gameserver.enums.QuestSound; +import com.l2jmobius.gameserver.model.L2Party; +import com.l2jmobius.gameserver.model.actor.L2Npc; +import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance; +import com.l2jmobius.gameserver.model.holders.NpcLogListHolder; +import com.l2jmobius.gameserver.model.quest.Quest; +import com.l2jmobius.gameserver.model.quest.QuestState; +import com.l2jmobius.gameserver.model.quest.State; + +import quests.Q10805_TheDimensionalWarpPart5.Q10805_TheDimensionalWarpPart5; + +/** + * The Dimensional Warp, Part 6 (10806) + * @URL https://l2wiki.com/The_Dimensional_Warp,_Part_6 + * @author Mobius + */ +public class Q10806_TheDimensionalWarpPart6 extends Quest +{ + // NPC + private static final int RESED = 33974; + // Monsters + private static final int ABYSSAL_BERSERKER = 23478; + // Others + private static final int MIN_LEVEL = 99; + private static final int WARP_CRYSTAL = 39597; + + public Q10806_TheDimensionalWarpPart6() + { + super(10806); + addStartNpc(RESED); + addTalkId(RESED); + addKillId(ABYSSAL_BERSERKER); + addCondMinLevel(MIN_LEVEL, "33974-00.htm"); + addCondCompletedQuest(Q10805_TheDimensionalWarpPart5.class.getSimpleName(), ""); + } + + @Override + public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) + { + String htmltext = null; + final QuestState qs = getQuestState(player, false); + if (qs == null) + { + return htmltext; + } + + switch (event) + { + case "33974-02.htm": + case "33974-03.htm": + { + htmltext = event; + break; + } + case "33974-04.htm": + { + qs.startQuest(); + htmltext = event; + break; + } + case "33974-07.html": + { + if (qs.isCond(2)) + { + if (player.getLevel() >= MIN_LEVEL) + { + addExpAndSp(player, 73923033600L, 0); + giveItems(player, WARP_CRYSTAL, 300); + qs.exitQuest(false, true); + htmltext = event; + } + else + { + htmltext = getNoQuestLevelRewardMsg(player); + } + } + break; + } + } + return htmltext; + } + + @Override + public String onTalk(L2Npc npc, L2PcInstance player) + { + final QuestState qs = getQuestState(player, true); + String htmltext = getNoQuestMsg(player); + + switch (qs.getState()) + { + case State.CREATED: + { + htmltext = "33974-01.htm"; + break; + } + case State.STARTED: + { + htmltext = (qs.isCond(1)) ? "33974-05.html" : "33974-06.html"; + break; + } + case State.COMPLETED: + { + htmltext = getAlreadyCompletedMsg(player); + break; + } + } + return htmltext; + } + + @Override + public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon) + { + L2Party party = killer.getParty(); + if (party != null) + { + party.getMembers().forEach(p -> onKill(npc, p)); + } + else + { + onKill(npc, killer); + } + return super.onKill(npc, killer, isSummon); + } + + private void onKill(L2Npc npc, L2PcInstance killer) + { + final QuestState qs = getQuestState(killer, false); + + if ((qs != null) && qs.isCond(1) && (npc.calculateDistance3D(killer) <= Config.ALT_PARTY_RANGE)) + { + int killedBugbear = qs.getInt("killed_" + ABYSSAL_BERSERKER); + if (killedBugbear < 100) + { + qs.set("killed_" + ABYSSAL_BERSERKER, ++killedBugbear); + playSound(killer, QuestSound.ITEMSOUND_QUEST_ITEMGET); + } + if (killedBugbear >= 100) + { + qs.setCond(2, true); + } + sendNpcLogList(killer); + } + } + + @Override + public Set getNpcLogList(L2PcInstance player) + { + final QuestState qs = getQuestState(player, false); + if ((qs != null) && qs.isCond(1)) + { + final Set holder = new HashSet<>(); + holder.add(new NpcLogListHolder(ABYSSAL_BERSERKER, false, qs.getInt("killed_" + ABYSSAL_BERSERKER))); + return holder; + } + return super.getNpcLogList(player); + } +} diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10807_TheDimensionalWarpPart7/33974-00.htm b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10807_TheDimensionalWarpPart7/33974-00.htm new file mode 100644 index 0000000000..60df561273 --- /dev/null +++ b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10807_TheDimensionalWarpPart7/33974-00.htm @@ -0,0 +1,4 @@ +Resed:
+Are you trying to enter the Dimensional Warp? It's not a place for people like you.
+(Only characters Lv. 99 or above may undertake this quest.) + \ No newline at end of file diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10807_TheDimensionalWarpPart7/33974-01.htm b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10807_TheDimensionalWarpPart7/33974-01.htm new file mode 100644 index 0000000000..c75e1b123e --- /dev/null +++ b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10807_TheDimensionalWarpPart7/33974-01.htm @@ -0,0 +1,5 @@ +Resed:
+Have you been inside Dimensional Warp? My job is to send the explorers to the Dimensional Warp, but I don't have enough information here. I'm continuously collecting more, but it's still not enough.
+I know it won't be easy, but can you do me a favor?
+ + \ No newline at end of file diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10807_TheDimensionalWarpPart7/33974-02.htm b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10807_TheDimensionalWarpPart7/33974-02.htm new file mode 100644 index 0000000000..afdc867e38 --- /dev/null +++ b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10807_TheDimensionalWarpPart7/33974-02.htm @@ -0,0 +1,5 @@ +Resed:
+In the early stages of a Dimensional Warp, Abyssal Binders come out.
+But we still don't have enough information about them. I need more information about them because people run into them the most.
+ + \ No newline at end of file diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10807_TheDimensionalWarpPart7/33974-03.htm b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10807_TheDimensionalWarpPart7/33974-03.htm new file mode 100644 index 0000000000..75a1e86195 --- /dev/null +++ b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10807_TheDimensionalWarpPart7/33974-03.htm @@ -0,0 +1,5 @@ +Resed:
+Can we start with 100?
+They come out often, so it won't be too hard. Thank you!
+ + \ No newline at end of file diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10807_TheDimensionalWarpPart7/33974-04.htm b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10807_TheDimensionalWarpPart7/33974-04.htm new file mode 100644 index 0000000000..efe5447742 --- /dev/null +++ b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10807_TheDimensionalWarpPart7/33974-04.htm @@ -0,0 +1,3 @@ +Resed:
+Kill 100 Abyssal Binders and come back to me. + \ No newline at end of file diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10807_TheDimensionalWarpPart7/33974-05.html b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10807_TheDimensionalWarpPart7/33974-05.html new file mode 100644 index 0000000000..247b7ae92c --- /dev/null +++ b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10807_TheDimensionalWarpPart7/33974-05.html @@ -0,0 +1,4 @@ +Resed:
+We still don't have enough information. That's not enough.
+Go kill more Abyssal Binders. + \ No newline at end of file diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10807_TheDimensionalWarpPart7/33974-06.html b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10807_TheDimensionalWarpPart7/33974-06.html new file mode 100644 index 0000000000..731fb678a7 --- /dev/null +++ b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10807_TheDimensionalWarpPart7/33974-06.html @@ -0,0 +1,5 @@ +Resed:
+Thank you. This will be enough.
+Can You give me the information now?
+ + \ No newline at end of file diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10807_TheDimensionalWarpPart7/33974-07.html b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10807_TheDimensionalWarpPart7/33974-07.html new file mode 100644 index 0000000000..0bb0b71989 --- /dev/null +++ b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10807_TheDimensionalWarpPart7/33974-07.html @@ -0,0 +1,4 @@ +Resed:
+Good work. You're almost at the finish line.
+The reward is better than the last time. Take it. + \ No newline at end of file diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10807_TheDimensionalWarpPart7/Q10807_TheDimensionalWarpPart7.java b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10807_TheDimensionalWarpPart7/Q10807_TheDimensionalWarpPart7.java new file mode 100644 index 0000000000..3bfffa9350 --- /dev/null +++ b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10807_TheDimensionalWarpPart7/Q10807_TheDimensionalWarpPart7.java @@ -0,0 +1,179 @@ +/* + * 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 . + */ +package quests.Q10807_TheDimensionalWarpPart7; + +import java.util.HashSet; +import java.util.Set; + +import com.l2jmobius.Config; +import com.l2jmobius.gameserver.enums.QuestSound; +import com.l2jmobius.gameserver.model.L2Party; +import com.l2jmobius.gameserver.model.actor.L2Npc; +import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance; +import com.l2jmobius.gameserver.model.holders.NpcLogListHolder; +import com.l2jmobius.gameserver.model.quest.Quest; +import com.l2jmobius.gameserver.model.quest.QuestState; +import com.l2jmobius.gameserver.model.quest.State; + +import quests.Q10806_TheDimensionalWarpPart6.Q10806_TheDimensionalWarpPart6; + +/** + * The Dimensional Warp, Part 7 (10807) + * @URL https://l2wiki.com/The_Dimensional_Warp,_Part_7 + * @author Mobius + */ +public class Q10807_TheDimensionalWarpPart7 extends Quest +{ + // NPC + private static final int RESED = 33974; + // Monsters + private static final int ABYSSAL_BINDER = 23481; + // Others + private static final int MIN_LEVEL = 99; + private static final int WARP_CRYSTAL = 39597; + + public Q10807_TheDimensionalWarpPart7() + { + super(10807); + addStartNpc(RESED); + addTalkId(RESED); + addKillId(ABYSSAL_BINDER); + addCondMinLevel(MIN_LEVEL, "33974-00.htm"); + addCondCompletedQuest(Q10806_TheDimensionalWarpPart6.class.getSimpleName(), ""); + } + + @Override + public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) + { + String htmltext = null; + final QuestState qs = getQuestState(player, false); + if (qs == null) + { + return htmltext; + } + + switch (event) + { + case "33974-02.htm": + case "33974-03.htm": + { + htmltext = event; + break; + } + case "33974-04.htm": + { + qs.startQuest(); + htmltext = event; + break; + } + case "33974-07.html": + { + if (qs.isCond(2)) + { + if (player.getLevel() >= MIN_LEVEL) + { + addExpAndSp(player, 90422325000L, 0); + giveItems(player, WARP_CRYSTAL, 300); + qs.exitQuest(false, true); + htmltext = event; + } + else + { + htmltext = getNoQuestLevelRewardMsg(player); + } + } + break; + } + } + return htmltext; + } + + @Override + public String onTalk(L2Npc npc, L2PcInstance player) + { + final QuestState qs = getQuestState(player, true); + String htmltext = getNoQuestMsg(player); + + switch (qs.getState()) + { + case State.CREATED: + { + htmltext = "33974-01.htm"; + break; + } + case State.STARTED: + { + htmltext = (qs.isCond(1)) ? "33974-05.html" : "33974-06.html"; + break; + } + case State.COMPLETED: + { + htmltext = getAlreadyCompletedMsg(player); + break; + } + } + return htmltext; + } + + @Override + public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon) + { + L2Party party = killer.getParty(); + if (party != null) + { + party.getMembers().forEach(p -> onKill(npc, p)); + } + else + { + onKill(npc, killer); + } + return super.onKill(npc, killer, isSummon); + } + + private void onKill(L2Npc npc, L2PcInstance killer) + { + final QuestState qs = getQuestState(killer, false); + + if ((qs != null) && qs.isCond(1) && (npc.calculateDistance3D(killer) <= Config.ALT_PARTY_RANGE)) + { + int killedBugbear = qs.getInt("killed_" + ABYSSAL_BINDER); + if (killedBugbear < 100) + { + qs.set("killed_" + ABYSSAL_BINDER, ++killedBugbear); + playSound(killer, QuestSound.ITEMSOUND_QUEST_ITEMGET); + } + if (killedBugbear >= 100) + { + qs.setCond(2, true); + } + sendNpcLogList(killer); + } + } + + @Override + public Set getNpcLogList(L2PcInstance player) + { + final QuestState qs = getQuestState(player, false); + if ((qs != null) && qs.isCond(1)) + { + final Set holder = new HashSet<>(); + holder.add(new NpcLogListHolder(ABYSSAL_BINDER, false, qs.getInt("killed_" + ABYSSAL_BINDER))); + return holder; + } + return super.getNpcLogList(player); + } +} diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/QuestMasterHandler.java b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/QuestMasterHandler.java index d93c8c8080..0eeee88c0a 100644 --- a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/QuestMasterHandler.java +++ b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/QuestMasterHandler.java @@ -422,6 +422,12 @@ import quests.Q10798_LettersFromTheQueenDragonValley.Q10798_LettersFromTheQueenD import quests.Q10799_StrangeThingsAfootInTheValley.Q10799_StrangeThingsAfootInTheValley; import quests.Q10800_ReconnaissanceAtDragonValley.Q10800_ReconnaissanceAtDragonValley; import quests.Q10801_TheDimensionalWarpPart1.Q10801_TheDimensionalWarpPart1; +import quests.Q10802_TheDimensionalWarpPart2.Q10802_TheDimensionalWarpPart2; +import quests.Q10803_TheDimensionalWarpPart3.Q10803_TheDimensionalWarpPart3; +import quests.Q10804_TheDimensionalWarpPart4.Q10804_TheDimensionalWarpPart4; +import quests.Q10805_TheDimensionalWarpPart5.Q10805_TheDimensionalWarpPart5; +import quests.Q10806_TheDimensionalWarpPart6.Q10806_TheDimensionalWarpPart6; +import quests.Q10807_TheDimensionalWarpPart7.Q10807_TheDimensionalWarpPart7; import quests.Q10811_ExaltedOneWhoFacesTheLimit.Q10811_ExaltedOneWhoFacesTheLimit; import quests.Q10812_FacingSadness.Q10812_FacingSadness; import quests.Q10813_ForGlory.Q10813_ForGlory; @@ -862,6 +868,12 @@ public class QuestMasterHandler Q10799_StrangeThingsAfootInTheValley.class, Q10800_ReconnaissanceAtDragonValley.class, Q10801_TheDimensionalWarpPart1.class, + Q10802_TheDimensionalWarpPart2.class, + Q10803_TheDimensionalWarpPart3.class, + Q10804_TheDimensionalWarpPart4.class, + Q10805_TheDimensionalWarpPart5.class, + Q10806_TheDimensionalWarpPart6.class, + Q10807_TheDimensionalWarpPart7.class, Q10811_ExaltedOneWhoFacesTheLimit.class, Q10812_FacingSadness.class, Q10813_ForGlory.class, diff --git a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/MissingQuests.txt b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/MissingQuests.txt index 9a57d5a999..ceac7a5db5 100644 --- a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/MissingQuests.txt +++ b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/MissingQuests.txt @@ -152,12 +152,6 @@ 10731 The Minstrel's Song, Part 6 10748 Mysterious Suggestion - 1 10749 Mysterious Suggestion - 2 -10802 The Dimensional Warp, Part 2 -10803 The Dimensional Warp, Part 3 -10804 The Dimensional Warp, Part 4 -10805 The Dimensional Warp, Part 5 -10806 The Dimensional Warp, Part 6 -10807 The Dimensional Warp, Part 7 10844 Bloody Battle - Seizing Supplies 10845 Bloody Battle - Rescue the Smiths 10846 Bloody Battle - Meeting the Commander diff --git a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10801_TheDimensionalWarpPart1/Q10801_TheDimensionalWarpPart1.java b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10801_TheDimensionalWarpPart1/Q10801_TheDimensionalWarpPart1.java index f16e4a0045..80f70302f1 100644 --- a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10801_TheDimensionalWarpPart1/Q10801_TheDimensionalWarpPart1.java +++ b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10801_TheDimensionalWarpPart1/Q10801_TheDimensionalWarpPart1.java @@ -41,7 +41,7 @@ public class Q10801_TheDimensionalWarpPart1 extends Quest private static final int RESED = 33974; // Monsters private static final int DIMENSIONAL_BUGBEAR = 23465; - // other + // Others private static final int MIN_LEVEL = 99; private static final int DIMENSIONAL_BRACELET_STAGE_1 = 39747; private static final int WARP_CRYSTAL = 39597; diff --git a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10802_TheDimensionalWarpPart2/33974-00.htm b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10802_TheDimensionalWarpPart2/33974-00.htm new file mode 100644 index 0000000000..60df561273 --- /dev/null +++ b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10802_TheDimensionalWarpPart2/33974-00.htm @@ -0,0 +1,4 @@ +Resed:
+Are you trying to enter the Dimensional Warp? It's not a place for people like you.
+(Only characters Lv. 99 or above may undertake this quest.) + \ No newline at end of file diff --git a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10802_TheDimensionalWarpPart2/33974-01.htm b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10802_TheDimensionalWarpPart2/33974-01.htm new file mode 100644 index 0000000000..dbbc35f962 --- /dev/null +++ b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10802_TheDimensionalWarpPart2/33974-01.htm @@ -0,0 +1,5 @@ +Resed:
+Have you been inside Dimensional Warp? My job is to send the explorers to the Dimensional Warp, but I don't have enough information here. I'm continuously collecting more, but it's still not enough.
+I know it won't be easy, but can you do me a favor?
+ + \ No newline at end of file diff --git a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10802_TheDimensionalWarpPart2/33974-02.htm b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10802_TheDimensionalWarpPart2/33974-02.htm new file mode 100644 index 0000000000..aafbc2ba6f --- /dev/null +++ b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10802_TheDimensionalWarpPart2/33974-02.htm @@ -0,0 +1,5 @@ +Resed:
+In the early stages of a Dimensional Warp, Dimensional Binders come out.
+But we still don't have enough information about them. I need more information about them because people run into them the most.
+ + \ No newline at end of file diff --git a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10802_TheDimensionalWarpPart2/33974-03.htm b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10802_TheDimensionalWarpPart2/33974-03.htm new file mode 100644 index 0000000000..36a49fe97d --- /dev/null +++ b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10802_TheDimensionalWarpPart2/33974-03.htm @@ -0,0 +1,5 @@ +Resed:
+Can we start with 100?
+They come out often, so it won't be too hard. Thank you!
+ + \ No newline at end of file diff --git a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10802_TheDimensionalWarpPart2/33974-04.htm b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10802_TheDimensionalWarpPart2/33974-04.htm new file mode 100644 index 0000000000..d9ba89a5e4 --- /dev/null +++ b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10802_TheDimensionalWarpPart2/33974-04.htm @@ -0,0 +1,3 @@ +Resed:
+Kill 100 Dimensional Binders and come back to me. + \ No newline at end of file diff --git a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10802_TheDimensionalWarpPart2/33974-05.html b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10802_TheDimensionalWarpPart2/33974-05.html new file mode 100644 index 0000000000..4600cd995c --- /dev/null +++ b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10802_TheDimensionalWarpPart2/33974-05.html @@ -0,0 +1,4 @@ +Resed:
+We still don't have enough information. That's not enough.
+Go kill more Dimensional Binders. + \ No newline at end of file diff --git a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10802_TheDimensionalWarpPart2/33974-06.html b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10802_TheDimensionalWarpPart2/33974-06.html new file mode 100644 index 0000000000..2076a91123 --- /dev/null +++ b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10802_TheDimensionalWarpPart2/33974-06.html @@ -0,0 +1,5 @@ +Resed:
+Thank you. This will be enough.
+Can You give me the information now?
+ + \ No newline at end of file diff --git a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10802_TheDimensionalWarpPart2/33974-07.html b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10802_TheDimensionalWarpPart2/33974-07.html new file mode 100644 index 0000000000..0bb0b71989 --- /dev/null +++ b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10802_TheDimensionalWarpPart2/33974-07.html @@ -0,0 +1,4 @@ +Resed:
+Good work. You're almost at the finish line.
+The reward is better than the last time. Take it. + \ No newline at end of file diff --git a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10802_TheDimensionalWarpPart2/Q10802_TheDimensionalWarpPart2.java b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10802_TheDimensionalWarpPart2/Q10802_TheDimensionalWarpPart2.java new file mode 100644 index 0000000000..a6b57f397c --- /dev/null +++ b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10802_TheDimensionalWarpPart2/Q10802_TheDimensionalWarpPart2.java @@ -0,0 +1,179 @@ +/* + * 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 . + */ +package quests.Q10802_TheDimensionalWarpPart2; + +import java.util.HashSet; +import java.util.Set; + +import com.l2jmobius.Config; +import com.l2jmobius.gameserver.enums.QuestSound; +import com.l2jmobius.gameserver.model.L2Party; +import com.l2jmobius.gameserver.model.actor.L2Npc; +import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance; +import com.l2jmobius.gameserver.model.holders.NpcLogListHolder; +import com.l2jmobius.gameserver.model.quest.Quest; +import com.l2jmobius.gameserver.model.quest.QuestState; +import com.l2jmobius.gameserver.model.quest.State; + +import quests.Q10801_TheDimensionalWarpPart1.Q10801_TheDimensionalWarpPart1; + +/** + * The Dimensional Warp, Part 2 (10802) + * @URL https://l2wiki.com/The_Dimensional_Warp,_Part_2 + * @author Mobius + */ +public class Q10802_TheDimensionalWarpPart2 extends Quest +{ + // NPC + private static final int RESED = 33974; + // Monsters + private static final int DIMENSIONAL_BINDER = 23467; + // Others + private static final int MIN_LEVEL = 99; + private static final int WARP_CRYSTAL = 39597; + + public Q10802_TheDimensionalWarpPart2() + { + super(10802); + addStartNpc(RESED); + addTalkId(RESED); + addKillId(DIMENSIONAL_BINDER); + addCondMinLevel(MIN_LEVEL, "33974-00.htm"); + addCondCompletedQuest(Q10801_TheDimensionalWarpPart1.class.getSimpleName(), ""); + } + + @Override + public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) + { + String htmltext = null; + final QuestState qs = getQuestState(player, false); + if (qs == null) + { + return htmltext; + } + + switch (event) + { + case "33974-02.htm": + case "33974-03.htm": + { + htmltext = event; + break; + } + case "33974-04.htm": + { + qs.startQuest(); + htmltext = event; + break; + } + case "33974-07.html": + { + if (qs.isCond(2)) + { + if (player.getLevel() >= MIN_LEVEL) + { + addExpAndSp(player, 49380951086L, 0); + giveItems(player, WARP_CRYSTAL, 300); + qs.exitQuest(false, true); + htmltext = event; + } + else + { + htmltext = getNoQuestLevelRewardMsg(player); + } + } + break; + } + } + return htmltext; + } + + @Override + public String onTalk(L2Npc npc, L2PcInstance player) + { + final QuestState qs = getQuestState(player, true); + String htmltext = getNoQuestMsg(player); + + switch (qs.getState()) + { + case State.CREATED: + { + htmltext = "33974-01.htm"; + break; + } + case State.STARTED: + { + htmltext = (qs.isCond(1)) ? "33974-05.html" : "33974-06.html"; + break; + } + case State.COMPLETED: + { + htmltext = getAlreadyCompletedMsg(player); + break; + } + } + return htmltext; + } + + @Override + public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon) + { + L2Party party = killer.getParty(); + if (party != null) + { + party.getMembers().forEach(p -> onKill(npc, p)); + } + else + { + onKill(npc, killer); + } + return super.onKill(npc, killer, isSummon); + } + + private void onKill(L2Npc npc, L2PcInstance killer) + { + final QuestState qs = getQuestState(killer, false); + + if ((qs != null) && qs.isCond(1) && (npc.calculateDistance3D(killer) <= Config.ALT_PARTY_RANGE)) + { + int killedBugbear = qs.getInt("killed_" + DIMENSIONAL_BINDER); + if (killedBugbear < 100) + { + qs.set("killed_" + DIMENSIONAL_BINDER, ++killedBugbear); + playSound(killer, QuestSound.ITEMSOUND_QUEST_ITEMGET); + } + if (killedBugbear >= 100) + { + qs.setCond(2, true); + } + sendNpcLogList(killer); + } + } + + @Override + public Set getNpcLogList(L2PcInstance player) + { + final QuestState qs = getQuestState(player, false); + if ((qs != null) && qs.isCond(1)) + { + final Set holder = new HashSet<>(); + holder.add(new NpcLogListHolder(DIMENSIONAL_BINDER, false, qs.getInt("killed_" + DIMENSIONAL_BINDER))); + return holder; + } + return super.getNpcLogList(player); + } +} diff --git a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10803_TheDimensionalWarpPart3/33974-00.htm b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10803_TheDimensionalWarpPart3/33974-00.htm new file mode 100644 index 0000000000..60df561273 --- /dev/null +++ b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10803_TheDimensionalWarpPart3/33974-00.htm @@ -0,0 +1,4 @@ +Resed:
+Are you trying to enter the Dimensional Warp? It's not a place for people like you.
+(Only characters Lv. 99 or above may undertake this quest.) + \ No newline at end of file diff --git a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10803_TheDimensionalWarpPart3/33974-01.htm b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10803_TheDimensionalWarpPart3/33974-01.htm new file mode 100644 index 0000000000..382f41fc38 --- /dev/null +++ b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10803_TheDimensionalWarpPart3/33974-01.htm @@ -0,0 +1,5 @@ +Resed:
+Have you been inside Dimensional Warp? My job is to send the explorers to the Dimensional Warp, but I don't have enough information here. I'm continuously collecting more, but it's still not enough.
+I know it won't be easy, but can you do me a favor?
+ + \ No newline at end of file diff --git a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10803_TheDimensionalWarpPart3/33974-02.htm b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10803_TheDimensionalWarpPart3/33974-02.htm new file mode 100644 index 0000000000..0a9f1a8ca8 --- /dev/null +++ b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10803_TheDimensionalWarpPart3/33974-02.htm @@ -0,0 +1,5 @@ +Resed:
+In the early stages of a Dimensional Warp, Unworldly Etins come out.
+But we still don't have enough information about them. I need more information about them because people run into them the most.
+ + \ No newline at end of file diff --git a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10803_TheDimensionalWarpPart3/33974-03.htm b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10803_TheDimensionalWarpPart3/33974-03.htm new file mode 100644 index 0000000000..d32288d8be --- /dev/null +++ b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10803_TheDimensionalWarpPart3/33974-03.htm @@ -0,0 +1,5 @@ +Resed:
+Can we start with 100?
+They come out often, so it won't be too hard. Thank you!
+ + \ No newline at end of file diff --git a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10803_TheDimensionalWarpPart3/33974-04.htm b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10803_TheDimensionalWarpPart3/33974-04.htm new file mode 100644 index 0000000000..1859f388b6 --- /dev/null +++ b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10803_TheDimensionalWarpPart3/33974-04.htm @@ -0,0 +1,3 @@ +Resed:
+Kill 100 Unworldly Etins and come back to me. + \ No newline at end of file diff --git a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10803_TheDimensionalWarpPart3/33974-05.html b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10803_TheDimensionalWarpPart3/33974-05.html new file mode 100644 index 0000000000..2ab774064c --- /dev/null +++ b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10803_TheDimensionalWarpPart3/33974-05.html @@ -0,0 +1,4 @@ +Resed:
+We still don't have enough information. That's not enough.
+Go kill more Unworldly Etins. + \ No newline at end of file diff --git a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10803_TheDimensionalWarpPart3/33974-06.html b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10803_TheDimensionalWarpPart3/33974-06.html new file mode 100644 index 0000000000..30d4ab1648 --- /dev/null +++ b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10803_TheDimensionalWarpPart3/33974-06.html @@ -0,0 +1,5 @@ +Resed:
+Thank you. This will be enough.
+Can You give me the information now?
+ + \ No newline at end of file diff --git a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10803_TheDimensionalWarpPart3/33974-07.html b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10803_TheDimensionalWarpPart3/33974-07.html new file mode 100644 index 0000000000..0bb0b71989 --- /dev/null +++ b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10803_TheDimensionalWarpPart3/33974-07.html @@ -0,0 +1,4 @@ +Resed:
+Good work. You're almost at the finish line.
+The reward is better than the last time. Take it. + \ No newline at end of file diff --git a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10803_TheDimensionalWarpPart3/Q10803_TheDimensionalWarpPart3.java b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10803_TheDimensionalWarpPart3/Q10803_TheDimensionalWarpPart3.java new file mode 100644 index 0000000000..787b66b5ce --- /dev/null +++ b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10803_TheDimensionalWarpPart3/Q10803_TheDimensionalWarpPart3.java @@ -0,0 +1,181 @@ +/* + * 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 . + */ +package quests.Q10803_TheDimensionalWarpPart3; + +import java.util.HashSet; +import java.util.Set; + +import com.l2jmobius.Config; +import com.l2jmobius.gameserver.enums.QuestSound; +import com.l2jmobius.gameserver.model.L2Party; +import com.l2jmobius.gameserver.model.actor.L2Npc; +import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance; +import com.l2jmobius.gameserver.model.holders.NpcLogListHolder; +import com.l2jmobius.gameserver.model.quest.Quest; +import com.l2jmobius.gameserver.model.quest.QuestState; +import com.l2jmobius.gameserver.model.quest.State; + +import quests.Q10802_TheDimensionalWarpPart2.Q10802_TheDimensionalWarpPart2; + +/** + * The Dimensional Warp, Part 3 (10803) + * @URL https://l2wiki.com/The_Dimensional_Warp,_Part_3 + * @author Mobius + */ +public class Q10803_TheDimensionalWarpPart3 extends Quest +{ + // NPC + private static final int RESED = 33974; + // Monsters + private static final int UNWORDLY_ETIN = 23471; + // Others + private static final int MIN_LEVEL = 99; + private static final int BLOODY_ETERNAL_ENHANCEMENT_STONE = 3556; + private static final int WARP_CRYSTAL = 39597; + + public Q10803_TheDimensionalWarpPart3() + { + super(10803); + addStartNpc(RESED); + addTalkId(RESED); + addKillId(UNWORDLY_ETIN); + addCondMinLevel(MIN_LEVEL, "33974-00.htm"); + addCondCompletedQuest(Q10802_TheDimensionalWarpPart2.class.getSimpleName(), ""); + } + + @Override + public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) + { + String htmltext = null; + final QuestState qs = getQuestState(player, false); + if (qs == null) + { + return htmltext; + } + + switch (event) + { + case "33974-02.htm": + case "33974-03.htm": + { + htmltext = event; + break; + } + case "33974-04.htm": + { + qs.startQuest(); + htmltext = event; + break; + } + case "33974-07.html": + { + if (qs.isCond(2)) + { + if (player.getLevel() >= MIN_LEVEL) + { + addExpAndSp(player, 54383249571L, 0); + giveItems(player, BLOODY_ETERNAL_ENHANCEMENT_STONE, 1); + giveItems(player, WARP_CRYSTAL, 300); + qs.exitQuest(false, true); + htmltext = event; + } + else + { + htmltext = getNoQuestLevelRewardMsg(player); + } + } + break; + } + } + return htmltext; + } + + @Override + public String onTalk(L2Npc npc, L2PcInstance player) + { + final QuestState qs = getQuestState(player, true); + String htmltext = getNoQuestMsg(player); + + switch (qs.getState()) + { + case State.CREATED: + { + htmltext = "33974-01.htm"; + break; + } + case State.STARTED: + { + htmltext = (qs.isCond(1)) ? "33974-05.html" : "33974-06.html"; + break; + } + case State.COMPLETED: + { + htmltext = getAlreadyCompletedMsg(player); + break; + } + } + return htmltext; + } + + @Override + public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon) + { + L2Party party = killer.getParty(); + if (party != null) + { + party.getMembers().forEach(p -> onKill(npc, p)); + } + else + { + onKill(npc, killer); + } + return super.onKill(npc, killer, isSummon); + } + + private void onKill(L2Npc npc, L2PcInstance killer) + { + final QuestState qs = getQuestState(killer, false); + + if ((qs != null) && qs.isCond(1) && (npc.calculateDistance3D(killer) <= Config.ALT_PARTY_RANGE)) + { + int killedBugbear = qs.getInt("killed_" + UNWORDLY_ETIN); + if (killedBugbear < 100) + { + qs.set("killed_" + UNWORDLY_ETIN, ++killedBugbear); + playSound(killer, QuestSound.ITEMSOUND_QUEST_ITEMGET); + } + if (killedBugbear >= 100) + { + qs.setCond(2, true); + } + sendNpcLogList(killer); + } + } + + @Override + public Set getNpcLogList(L2PcInstance player) + { + final QuestState qs = getQuestState(player, false); + if ((qs != null) && qs.isCond(1)) + { + final Set holder = new HashSet<>(); + holder.add(new NpcLogListHolder(UNWORDLY_ETIN, false, qs.getInt("killed_" + UNWORDLY_ETIN))); + return holder; + } + return super.getNpcLogList(player); + } +} diff --git a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10804_TheDimensionalWarpPart4/33974-00.htm b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10804_TheDimensionalWarpPart4/33974-00.htm new file mode 100644 index 0000000000..60df561273 --- /dev/null +++ b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10804_TheDimensionalWarpPart4/33974-00.htm @@ -0,0 +1,4 @@ +Resed:
+Are you trying to enter the Dimensional Warp? It's not a place for people like you.
+(Only characters Lv. 99 or above may undertake this quest.) + \ No newline at end of file diff --git a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10804_TheDimensionalWarpPart4/33974-01.htm b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10804_TheDimensionalWarpPart4/33974-01.htm new file mode 100644 index 0000000000..0c799f407c --- /dev/null +++ b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10804_TheDimensionalWarpPart4/33974-01.htm @@ -0,0 +1,5 @@ +Resed:
+Have you been inside Dimensional Warp? My job is to send the explorers to the Dimensional Warp, but I don't have enough information here. I'm continuously collecting more, but it's still not enough.
+I know it won't be easy, but can you do me a favor?
+ + \ No newline at end of file diff --git a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10804_TheDimensionalWarpPart4/33974-02.htm b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10804_TheDimensionalWarpPart4/33974-02.htm new file mode 100644 index 0000000000..b9a34b4c39 --- /dev/null +++ b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10804_TheDimensionalWarpPart4/33974-02.htm @@ -0,0 +1,5 @@ +Resed:
+In the early stages of a Dimensional Warp, Unworldly Golems come out.
+But we still don't have enough information about them. I need more information about them because people run into them the most.
+ + \ No newline at end of file diff --git a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10804_TheDimensionalWarpPart4/33974-03.htm b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10804_TheDimensionalWarpPart4/33974-03.htm new file mode 100644 index 0000000000..54cc3098d0 --- /dev/null +++ b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10804_TheDimensionalWarpPart4/33974-03.htm @@ -0,0 +1,5 @@ +Resed:
+Can we start with 100?
+They come out often, so it won't be too hard. Thank you!
+ + \ No newline at end of file diff --git a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10804_TheDimensionalWarpPart4/33974-04.htm b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10804_TheDimensionalWarpPart4/33974-04.htm new file mode 100644 index 0000000000..e779ceb0ab --- /dev/null +++ b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10804_TheDimensionalWarpPart4/33974-04.htm @@ -0,0 +1,3 @@ +Resed:
+Kill 100 Unworldly Golems and come back to me. + \ No newline at end of file diff --git a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10804_TheDimensionalWarpPart4/33974-05.html b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10804_TheDimensionalWarpPart4/33974-05.html new file mode 100644 index 0000000000..2ab4351dd7 --- /dev/null +++ b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10804_TheDimensionalWarpPart4/33974-05.html @@ -0,0 +1,4 @@ +Resed:
+We still don't have enough information. That's not enough.
+Go kill more Unworldly Golems. + \ No newline at end of file diff --git a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10804_TheDimensionalWarpPart4/33974-06.html b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10804_TheDimensionalWarpPart4/33974-06.html new file mode 100644 index 0000000000..58721db127 --- /dev/null +++ b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10804_TheDimensionalWarpPart4/33974-06.html @@ -0,0 +1,5 @@ +Resed:
+Thank you. This will be enough.
+Can You give me the information now?
+ + \ No newline at end of file diff --git a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10804_TheDimensionalWarpPart4/33974-07.html b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10804_TheDimensionalWarpPart4/33974-07.html new file mode 100644 index 0000000000..0bb0b71989 --- /dev/null +++ b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10804_TheDimensionalWarpPart4/33974-07.html @@ -0,0 +1,4 @@ +Resed:
+Good work. You're almost at the finish line.
+The reward is better than the last time. Take it. + \ No newline at end of file diff --git a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10804_TheDimensionalWarpPart4/Q10804_TheDimensionalWarpPart4.java b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10804_TheDimensionalWarpPart4/Q10804_TheDimensionalWarpPart4.java new file mode 100644 index 0000000000..4cd643fb80 --- /dev/null +++ b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10804_TheDimensionalWarpPart4/Q10804_TheDimensionalWarpPart4.java @@ -0,0 +1,181 @@ +/* + * 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 . + */ +package quests.Q10804_TheDimensionalWarpPart4; + +import java.util.HashSet; +import java.util.Set; + +import com.l2jmobius.Config; +import com.l2jmobius.gameserver.enums.QuestSound; +import com.l2jmobius.gameserver.model.L2Party; +import com.l2jmobius.gameserver.model.actor.L2Npc; +import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance; +import com.l2jmobius.gameserver.model.holders.NpcLogListHolder; +import com.l2jmobius.gameserver.model.quest.Quest; +import com.l2jmobius.gameserver.model.quest.QuestState; +import com.l2jmobius.gameserver.model.quest.State; + +import quests.Q10803_TheDimensionalWarpPart3.Q10803_TheDimensionalWarpPart3; + +/** + * The Dimensional Warp, Part 4 (10804) + * @URL https://l2wiki.com/The_Dimensional_Warp,_Part_4 + * @author Mobius + */ +public class Q10804_TheDimensionalWarpPart4 extends Quest +{ + // NPC + private static final int RESED = 33974; + // Monsters + private static final int UNWORLDLY_GOLEM = 23474; + // Others + private static final int MIN_LEVEL = 99; + private static final int DARK_ETERNAL_ENHANCEMENT_STONE = 35567; + private static final int WARP_CRYSTAL = 39597; + + public Q10804_TheDimensionalWarpPart4() + { + super(10804); + addStartNpc(RESED); + addTalkId(RESED); + addKillId(UNWORLDLY_GOLEM); + addCondMinLevel(MIN_LEVEL, "33974-00.htm"); + addCondCompletedQuest(Q10803_TheDimensionalWarpPart3.class.getSimpleName(), ""); + } + + @Override + public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) + { + String htmltext = null; + final QuestState qs = getQuestState(player, false); + if (qs == null) + { + return htmltext; + } + + switch (event) + { + case "33974-02.htm": + case "33974-03.htm": + { + htmltext = event; + break; + } + case "33974-04.htm": + { + qs.startQuest(); + htmltext = event; + break; + } + case "33974-07.html": + { + if (qs.isCond(2)) + { + if (player.getLevel() >= MIN_LEVEL) + { + addExpAndSp(player, 60425832857L, 0); + giveItems(player, DARK_ETERNAL_ENHANCEMENT_STONE, 1); + giveItems(player, WARP_CRYSTAL, 300); + qs.exitQuest(false, true); + htmltext = event; + } + else + { + htmltext = getNoQuestLevelRewardMsg(player); + } + } + break; + } + } + return htmltext; + } + + @Override + public String onTalk(L2Npc npc, L2PcInstance player) + { + final QuestState qs = getQuestState(player, true); + String htmltext = getNoQuestMsg(player); + + switch (qs.getState()) + { + case State.CREATED: + { + htmltext = "33974-01.htm"; + break; + } + case State.STARTED: + { + htmltext = (qs.isCond(1)) ? "33974-05.html" : "33974-06.html"; + break; + } + case State.COMPLETED: + { + htmltext = getAlreadyCompletedMsg(player); + break; + } + } + return htmltext; + } + + @Override + public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon) + { + L2Party party = killer.getParty(); + if (party != null) + { + party.getMembers().forEach(p -> onKill(npc, p)); + } + else + { + onKill(npc, killer); + } + return super.onKill(npc, killer, isSummon); + } + + private void onKill(L2Npc npc, L2PcInstance killer) + { + final QuestState qs = getQuestState(killer, false); + + if ((qs != null) && qs.isCond(1) && (npc.calculateDistance3D(killer) <= Config.ALT_PARTY_RANGE)) + { + int killedBugbear = qs.getInt("killed_" + UNWORLDLY_GOLEM); + if (killedBugbear < 100) + { + qs.set("killed_" + UNWORLDLY_GOLEM, ++killedBugbear); + playSound(killer, QuestSound.ITEMSOUND_QUEST_ITEMGET); + } + if (killedBugbear >= 100) + { + qs.setCond(2, true); + } + sendNpcLogList(killer); + } + } + + @Override + public Set getNpcLogList(L2PcInstance player) + { + final QuestState qs = getQuestState(player, false); + if ((qs != null) && qs.isCond(1)) + { + final Set holder = new HashSet<>(); + holder.add(new NpcLogListHolder(UNWORLDLY_GOLEM, false, qs.getInt("killed_" + UNWORLDLY_GOLEM))); + return holder; + } + return super.getNpcLogList(player); + } +} diff --git a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10805_TheDimensionalWarpPart5/33974-00.htm b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10805_TheDimensionalWarpPart5/33974-00.htm new file mode 100644 index 0000000000..60df561273 --- /dev/null +++ b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10805_TheDimensionalWarpPart5/33974-00.htm @@ -0,0 +1,4 @@ +Resed:
+Are you trying to enter the Dimensional Warp? It's not a place for people like you.
+(Only characters Lv. 99 or above may undertake this quest.) + \ No newline at end of file diff --git a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10805_TheDimensionalWarpPart5/33974-01.htm b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10805_TheDimensionalWarpPart5/33974-01.htm new file mode 100644 index 0000000000..94efd045d6 --- /dev/null +++ b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10805_TheDimensionalWarpPart5/33974-01.htm @@ -0,0 +1,5 @@ +Resed:
+Have you been inside Dimensional Warp? My job is to send the explorers to the Dimensional Warp, but I don't have enough information here. I'm continuously collecting more, but it's still not enough.
+I know it won't be easy, but can you do me a favor?
+ + \ No newline at end of file diff --git a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10805_TheDimensionalWarpPart5/33974-02.htm b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10805_TheDimensionalWarpPart5/33974-02.htm new file mode 100644 index 0000000000..1a4c02567e --- /dev/null +++ b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10805_TheDimensionalWarpPart5/33974-02.htm @@ -0,0 +1,5 @@ +Resed:
+In the early stages of a Dimensional Warp, Abyssal Golems come out.
+But we still don't have enough information about them. I need more information about them because people run into them the most.
+ + \ No newline at end of file diff --git a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10805_TheDimensionalWarpPart5/33974-03.htm b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10805_TheDimensionalWarpPart5/33974-03.htm new file mode 100644 index 0000000000..bde468aefa --- /dev/null +++ b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10805_TheDimensionalWarpPart5/33974-03.htm @@ -0,0 +1,5 @@ +Resed:
+Can we start with 100?
+They come out often, so it won't be too hard. Thank you!
+ + \ No newline at end of file diff --git a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10805_TheDimensionalWarpPart5/33974-04.htm b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10805_TheDimensionalWarpPart5/33974-04.htm new file mode 100644 index 0000000000..27ef4dd594 --- /dev/null +++ b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10805_TheDimensionalWarpPart5/33974-04.htm @@ -0,0 +1,3 @@ +Resed:
+Kill 100 Abyssal Golems and come back to me. + \ No newline at end of file diff --git a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10805_TheDimensionalWarpPart5/33974-05.html b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10805_TheDimensionalWarpPart5/33974-05.html new file mode 100644 index 0000000000..0e68d1a707 --- /dev/null +++ b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10805_TheDimensionalWarpPart5/33974-05.html @@ -0,0 +1,4 @@ +Resed:
+We still don't have enough information. That's not enough.
+Go kill more Abyssal Golems. + \ No newline at end of file diff --git a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10805_TheDimensionalWarpPart5/33974-06.html b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10805_TheDimensionalWarpPart5/33974-06.html new file mode 100644 index 0000000000..79676ce4e8 --- /dev/null +++ b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10805_TheDimensionalWarpPart5/33974-06.html @@ -0,0 +1,5 @@ +Resed:
+Thank you. This will be enough.
+Can You give me the information now?
+ + \ No newline at end of file diff --git a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10805_TheDimensionalWarpPart5/33974-07.html b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10805_TheDimensionalWarpPart5/33974-07.html new file mode 100644 index 0000000000..0bb0b71989 --- /dev/null +++ b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10805_TheDimensionalWarpPart5/33974-07.html @@ -0,0 +1,4 @@ +Resed:
+Good work. You're almost at the finish line.
+The reward is better than the last time. Take it. + \ No newline at end of file diff --git a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10805_TheDimensionalWarpPart5/Q10805_TheDimensionalWarpPart5.java b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10805_TheDimensionalWarpPart5/Q10805_TheDimensionalWarpPart5.java new file mode 100644 index 0000000000..4fe0016a21 --- /dev/null +++ b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10805_TheDimensionalWarpPart5/Q10805_TheDimensionalWarpPart5.java @@ -0,0 +1,181 @@ +/* + * 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 . + */ +package quests.Q10805_TheDimensionalWarpPart5; + +import java.util.HashSet; +import java.util.Set; + +import com.l2jmobius.Config; +import com.l2jmobius.gameserver.enums.QuestSound; +import com.l2jmobius.gameserver.model.L2Party; +import com.l2jmobius.gameserver.model.actor.L2Npc; +import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance; +import com.l2jmobius.gameserver.model.holders.NpcLogListHolder; +import com.l2jmobius.gameserver.model.quest.Quest; +import com.l2jmobius.gameserver.model.quest.QuestState; +import com.l2jmobius.gameserver.model.quest.State; + +import quests.Q10804_TheDimensionalWarpPart4.Q10804_TheDimensionalWarpPart4; + +/** + * The Dimensional Warp, Part 5 (10805) + * @URL https://l2wiki.com/The_Dimensional_Warp,_Part_5 + * @author Mobius + */ +public class Q10805_TheDimensionalWarpPart5 extends Quest +{ + // NPC + private static final int RESED = 33974; + // Monsters + private static final int ABYSSAL_GOLEM = 23483; + // Others + private static final int MIN_LEVEL = 99; + private static final int DARK_ETERNAL_ENHANCEMENT_STONE = 35567; + private static final int WARP_CRYSTAL = 39597; + + public Q10805_TheDimensionalWarpPart5() + { + super(10805); + addStartNpc(RESED); + addTalkId(RESED); + addKillId(ABYSSAL_GOLEM); + addCondMinLevel(MIN_LEVEL, "33974-00.htm"); + addCondCompletedQuest(Q10804_TheDimensionalWarpPart4.class.getSimpleName(), ""); + } + + @Override + public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) + { + String htmltext = null; + final QuestState qs = getQuestState(player, false); + if (qs == null) + { + return htmltext; + } + + switch (event) + { + case "33974-02.htm": + case "33974-03.htm": + { + htmltext = event; + break; + } + case "33974-04.htm": + { + qs.startQuest(); + htmltext = event; + break; + } + case "33974-07.html": + { + if (qs.isCond(2)) + { + if (player.getLevel() >= MIN_LEVEL) + { + addExpAndSp(player, 66530730240L, 0); + giveItems(player, DARK_ETERNAL_ENHANCEMENT_STONE, 1); + giveItems(player, WARP_CRYSTAL, 300); + qs.exitQuest(false, true); + htmltext = event; + } + else + { + htmltext = getNoQuestLevelRewardMsg(player); + } + } + break; + } + } + return htmltext; + } + + @Override + public String onTalk(L2Npc npc, L2PcInstance player) + { + final QuestState qs = getQuestState(player, true); + String htmltext = getNoQuestMsg(player); + + switch (qs.getState()) + { + case State.CREATED: + { + htmltext = "33974-01.htm"; + break; + } + case State.STARTED: + { + htmltext = (qs.isCond(1)) ? "33974-05.html" : "33974-06.html"; + break; + } + case State.COMPLETED: + { + htmltext = getAlreadyCompletedMsg(player); + break; + } + } + return htmltext; + } + + @Override + public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon) + { + L2Party party = killer.getParty(); + if (party != null) + { + party.getMembers().forEach(p -> onKill(npc, p)); + } + else + { + onKill(npc, killer); + } + return super.onKill(npc, killer, isSummon); + } + + private void onKill(L2Npc npc, L2PcInstance killer) + { + final QuestState qs = getQuestState(killer, false); + + if ((qs != null) && qs.isCond(1) && (npc.calculateDistance3D(killer) <= Config.ALT_PARTY_RANGE)) + { + int killedBugbear = qs.getInt("killed_" + ABYSSAL_GOLEM); + if (killedBugbear < 100) + { + qs.set("killed_" + ABYSSAL_GOLEM, ++killedBugbear); + playSound(killer, QuestSound.ITEMSOUND_QUEST_ITEMGET); + } + if (killedBugbear >= 100) + { + qs.setCond(2, true); + } + sendNpcLogList(killer); + } + } + + @Override + public Set getNpcLogList(L2PcInstance player) + { + final QuestState qs = getQuestState(player, false); + if ((qs != null) && qs.isCond(1)) + { + final Set holder = new HashSet<>(); + holder.add(new NpcLogListHolder(ABYSSAL_GOLEM, false, qs.getInt("killed_" + ABYSSAL_GOLEM))); + return holder; + } + return super.getNpcLogList(player); + } +} diff --git a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10806_TheDimensionalWarpPart6/33974-00.htm b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10806_TheDimensionalWarpPart6/33974-00.htm new file mode 100644 index 0000000000..60df561273 --- /dev/null +++ b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10806_TheDimensionalWarpPart6/33974-00.htm @@ -0,0 +1,4 @@ +Resed:
+Are you trying to enter the Dimensional Warp? It's not a place for people like you.
+(Only characters Lv. 99 or above may undertake this quest.) + \ No newline at end of file diff --git a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10806_TheDimensionalWarpPart6/33974-01.htm b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10806_TheDimensionalWarpPart6/33974-01.htm new file mode 100644 index 0000000000..d51b478618 --- /dev/null +++ b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10806_TheDimensionalWarpPart6/33974-01.htm @@ -0,0 +1,5 @@ +Resed:
+Have you been inside Dimensional Warp? My job is to send the explorers to the Dimensional Warp, but I don't have enough information here. I'm continuously collecting more, but it's still not enough.
+I know it won't be easy, but can you do me a favor?
+ + \ No newline at end of file diff --git a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10806_TheDimensionalWarpPart6/33974-02.htm b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10806_TheDimensionalWarpPart6/33974-02.htm new file mode 100644 index 0000000000..8ecea0f173 --- /dev/null +++ b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10806_TheDimensionalWarpPart6/33974-02.htm @@ -0,0 +1,5 @@ +Resed:
+In the early stages of a Dimensional Warp, Abyssal Berserkers come out.
+But we still don't have enough information about them. I need more information about them because people run into them the most.
+ + \ No newline at end of file diff --git a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10806_TheDimensionalWarpPart6/33974-03.htm b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10806_TheDimensionalWarpPart6/33974-03.htm new file mode 100644 index 0000000000..a052b31368 --- /dev/null +++ b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10806_TheDimensionalWarpPart6/33974-03.htm @@ -0,0 +1,5 @@ +Resed:
+Can we start with 100?
+They come out often, so it won't be too hard. Thank you!
+ + \ No newline at end of file diff --git a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10806_TheDimensionalWarpPart6/33974-04.htm b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10806_TheDimensionalWarpPart6/33974-04.htm new file mode 100644 index 0000000000..fbc9031a8f --- /dev/null +++ b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10806_TheDimensionalWarpPart6/33974-04.htm @@ -0,0 +1,3 @@ +Resed:
+Kill 100 Abyssal Berserkers and come back to me. + \ No newline at end of file diff --git a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10806_TheDimensionalWarpPart6/33974-05.html b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10806_TheDimensionalWarpPart6/33974-05.html new file mode 100644 index 0000000000..998d299659 --- /dev/null +++ b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10806_TheDimensionalWarpPart6/33974-05.html @@ -0,0 +1,4 @@ +Resed:
+We still don't have enough information. That's not enough.
+Go kill more Abyssal Berserkers. + \ No newline at end of file diff --git a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10806_TheDimensionalWarpPart6/33974-06.html b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10806_TheDimensionalWarpPart6/33974-06.html new file mode 100644 index 0000000000..295f620d0c --- /dev/null +++ b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10806_TheDimensionalWarpPart6/33974-06.html @@ -0,0 +1,5 @@ +Resed:
+Thank you. This will be enough.
+Can You give me the information now?
+ + \ No newline at end of file diff --git a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10806_TheDimensionalWarpPart6/33974-07.html b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10806_TheDimensionalWarpPart6/33974-07.html new file mode 100644 index 0000000000..0bb0b71989 --- /dev/null +++ b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10806_TheDimensionalWarpPart6/33974-07.html @@ -0,0 +1,4 @@ +Resed:
+Good work. You're almost at the finish line.
+The reward is better than the last time. Take it. + \ No newline at end of file diff --git a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10806_TheDimensionalWarpPart6/Q10806_TheDimensionalWarpPart6.java b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10806_TheDimensionalWarpPart6/Q10806_TheDimensionalWarpPart6.java new file mode 100644 index 0000000000..9b65bc5a6c --- /dev/null +++ b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10806_TheDimensionalWarpPart6/Q10806_TheDimensionalWarpPart6.java @@ -0,0 +1,179 @@ +/* + * 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 . + */ +package quests.Q10806_TheDimensionalWarpPart6; + +import java.util.HashSet; +import java.util.Set; + +import com.l2jmobius.Config; +import com.l2jmobius.gameserver.enums.QuestSound; +import com.l2jmobius.gameserver.model.L2Party; +import com.l2jmobius.gameserver.model.actor.L2Npc; +import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance; +import com.l2jmobius.gameserver.model.holders.NpcLogListHolder; +import com.l2jmobius.gameserver.model.quest.Quest; +import com.l2jmobius.gameserver.model.quest.QuestState; +import com.l2jmobius.gameserver.model.quest.State; + +import quests.Q10805_TheDimensionalWarpPart5.Q10805_TheDimensionalWarpPart5; + +/** + * The Dimensional Warp, Part 6 (10806) + * @URL https://l2wiki.com/The_Dimensional_Warp,_Part_6 + * @author Mobius + */ +public class Q10806_TheDimensionalWarpPart6 extends Quest +{ + // NPC + private static final int RESED = 33974; + // Monsters + private static final int ABYSSAL_BERSERKER = 23478; + // Others + private static final int MIN_LEVEL = 99; + private static final int WARP_CRYSTAL = 39597; + + public Q10806_TheDimensionalWarpPart6() + { + super(10806); + addStartNpc(RESED); + addTalkId(RESED); + addKillId(ABYSSAL_BERSERKER); + addCondMinLevel(MIN_LEVEL, "33974-00.htm"); + addCondCompletedQuest(Q10805_TheDimensionalWarpPart5.class.getSimpleName(), ""); + } + + @Override + public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) + { + String htmltext = null; + final QuestState qs = getQuestState(player, false); + if (qs == null) + { + return htmltext; + } + + switch (event) + { + case "33974-02.htm": + case "33974-03.htm": + { + htmltext = event; + break; + } + case "33974-04.htm": + { + qs.startQuest(); + htmltext = event; + break; + } + case "33974-07.html": + { + if (qs.isCond(2)) + { + if (player.getLevel() >= MIN_LEVEL) + { + addExpAndSp(player, 73923033600L, 0); + giveItems(player, WARP_CRYSTAL, 300); + qs.exitQuest(false, true); + htmltext = event; + } + else + { + htmltext = getNoQuestLevelRewardMsg(player); + } + } + break; + } + } + return htmltext; + } + + @Override + public String onTalk(L2Npc npc, L2PcInstance player) + { + final QuestState qs = getQuestState(player, true); + String htmltext = getNoQuestMsg(player); + + switch (qs.getState()) + { + case State.CREATED: + { + htmltext = "33974-01.htm"; + break; + } + case State.STARTED: + { + htmltext = (qs.isCond(1)) ? "33974-05.html" : "33974-06.html"; + break; + } + case State.COMPLETED: + { + htmltext = getAlreadyCompletedMsg(player); + break; + } + } + return htmltext; + } + + @Override + public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon) + { + L2Party party = killer.getParty(); + if (party != null) + { + party.getMembers().forEach(p -> onKill(npc, p)); + } + else + { + onKill(npc, killer); + } + return super.onKill(npc, killer, isSummon); + } + + private void onKill(L2Npc npc, L2PcInstance killer) + { + final QuestState qs = getQuestState(killer, false); + + if ((qs != null) && qs.isCond(1) && (npc.calculateDistance3D(killer) <= Config.ALT_PARTY_RANGE)) + { + int killedBugbear = qs.getInt("killed_" + ABYSSAL_BERSERKER); + if (killedBugbear < 100) + { + qs.set("killed_" + ABYSSAL_BERSERKER, ++killedBugbear); + playSound(killer, QuestSound.ITEMSOUND_QUEST_ITEMGET); + } + if (killedBugbear >= 100) + { + qs.setCond(2, true); + } + sendNpcLogList(killer); + } + } + + @Override + public Set getNpcLogList(L2PcInstance player) + { + final QuestState qs = getQuestState(player, false); + if ((qs != null) && qs.isCond(1)) + { + final Set holder = new HashSet<>(); + holder.add(new NpcLogListHolder(ABYSSAL_BERSERKER, false, qs.getInt("killed_" + ABYSSAL_BERSERKER))); + return holder; + } + return super.getNpcLogList(player); + } +} diff --git a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10807_TheDimensionalWarpPart7/33974-00.htm b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10807_TheDimensionalWarpPart7/33974-00.htm new file mode 100644 index 0000000000..60df561273 --- /dev/null +++ b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10807_TheDimensionalWarpPart7/33974-00.htm @@ -0,0 +1,4 @@ +Resed:
+Are you trying to enter the Dimensional Warp? It's not a place for people like you.
+(Only characters Lv. 99 or above may undertake this quest.) + \ No newline at end of file diff --git a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10807_TheDimensionalWarpPart7/33974-01.htm b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10807_TheDimensionalWarpPart7/33974-01.htm new file mode 100644 index 0000000000..c75e1b123e --- /dev/null +++ b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10807_TheDimensionalWarpPart7/33974-01.htm @@ -0,0 +1,5 @@ +Resed:
+Have you been inside Dimensional Warp? My job is to send the explorers to the Dimensional Warp, but I don't have enough information here. I'm continuously collecting more, but it's still not enough.
+I know it won't be easy, but can you do me a favor?
+ + \ No newline at end of file diff --git a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10807_TheDimensionalWarpPart7/33974-02.htm b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10807_TheDimensionalWarpPart7/33974-02.htm new file mode 100644 index 0000000000..afdc867e38 --- /dev/null +++ b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10807_TheDimensionalWarpPart7/33974-02.htm @@ -0,0 +1,5 @@ +Resed:
+In the early stages of a Dimensional Warp, Abyssal Binders come out.
+But we still don't have enough information about them. I need more information about them because people run into them the most.
+ + \ No newline at end of file diff --git a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10807_TheDimensionalWarpPart7/33974-03.htm b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10807_TheDimensionalWarpPart7/33974-03.htm new file mode 100644 index 0000000000..75a1e86195 --- /dev/null +++ b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10807_TheDimensionalWarpPart7/33974-03.htm @@ -0,0 +1,5 @@ +Resed:
+Can we start with 100?
+They come out often, so it won't be too hard. Thank you!
+ + \ No newline at end of file diff --git a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10807_TheDimensionalWarpPart7/33974-04.htm b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10807_TheDimensionalWarpPart7/33974-04.htm new file mode 100644 index 0000000000..efe5447742 --- /dev/null +++ b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10807_TheDimensionalWarpPart7/33974-04.htm @@ -0,0 +1,3 @@ +Resed:
+Kill 100 Abyssal Binders and come back to me. + \ No newline at end of file diff --git a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10807_TheDimensionalWarpPart7/33974-05.html b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10807_TheDimensionalWarpPart7/33974-05.html new file mode 100644 index 0000000000..247b7ae92c --- /dev/null +++ b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10807_TheDimensionalWarpPart7/33974-05.html @@ -0,0 +1,4 @@ +Resed:
+We still don't have enough information. That's not enough.
+Go kill more Abyssal Binders. + \ No newline at end of file diff --git a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10807_TheDimensionalWarpPart7/33974-06.html b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10807_TheDimensionalWarpPart7/33974-06.html new file mode 100644 index 0000000000..731fb678a7 --- /dev/null +++ b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10807_TheDimensionalWarpPart7/33974-06.html @@ -0,0 +1,5 @@ +Resed:
+Thank you. This will be enough.
+Can You give me the information now?
+ + \ No newline at end of file diff --git a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10807_TheDimensionalWarpPart7/33974-07.html b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10807_TheDimensionalWarpPart7/33974-07.html new file mode 100644 index 0000000000..0bb0b71989 --- /dev/null +++ b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10807_TheDimensionalWarpPart7/33974-07.html @@ -0,0 +1,4 @@ +Resed:
+Good work. You're almost at the finish line.
+The reward is better than the last time. Take it. + \ No newline at end of file diff --git a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10807_TheDimensionalWarpPart7/Q10807_TheDimensionalWarpPart7.java b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10807_TheDimensionalWarpPart7/Q10807_TheDimensionalWarpPart7.java new file mode 100644 index 0000000000..3bfffa9350 --- /dev/null +++ b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10807_TheDimensionalWarpPart7/Q10807_TheDimensionalWarpPart7.java @@ -0,0 +1,179 @@ +/* + * 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 . + */ +package quests.Q10807_TheDimensionalWarpPart7; + +import java.util.HashSet; +import java.util.Set; + +import com.l2jmobius.Config; +import com.l2jmobius.gameserver.enums.QuestSound; +import com.l2jmobius.gameserver.model.L2Party; +import com.l2jmobius.gameserver.model.actor.L2Npc; +import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance; +import com.l2jmobius.gameserver.model.holders.NpcLogListHolder; +import com.l2jmobius.gameserver.model.quest.Quest; +import com.l2jmobius.gameserver.model.quest.QuestState; +import com.l2jmobius.gameserver.model.quest.State; + +import quests.Q10806_TheDimensionalWarpPart6.Q10806_TheDimensionalWarpPart6; + +/** + * The Dimensional Warp, Part 7 (10807) + * @URL https://l2wiki.com/The_Dimensional_Warp,_Part_7 + * @author Mobius + */ +public class Q10807_TheDimensionalWarpPart7 extends Quest +{ + // NPC + private static final int RESED = 33974; + // Monsters + private static final int ABYSSAL_BINDER = 23481; + // Others + private static final int MIN_LEVEL = 99; + private static final int WARP_CRYSTAL = 39597; + + public Q10807_TheDimensionalWarpPart7() + { + super(10807); + addStartNpc(RESED); + addTalkId(RESED); + addKillId(ABYSSAL_BINDER); + addCondMinLevel(MIN_LEVEL, "33974-00.htm"); + addCondCompletedQuest(Q10806_TheDimensionalWarpPart6.class.getSimpleName(), ""); + } + + @Override + public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) + { + String htmltext = null; + final QuestState qs = getQuestState(player, false); + if (qs == null) + { + return htmltext; + } + + switch (event) + { + case "33974-02.htm": + case "33974-03.htm": + { + htmltext = event; + break; + } + case "33974-04.htm": + { + qs.startQuest(); + htmltext = event; + break; + } + case "33974-07.html": + { + if (qs.isCond(2)) + { + if (player.getLevel() >= MIN_LEVEL) + { + addExpAndSp(player, 90422325000L, 0); + giveItems(player, WARP_CRYSTAL, 300); + qs.exitQuest(false, true); + htmltext = event; + } + else + { + htmltext = getNoQuestLevelRewardMsg(player); + } + } + break; + } + } + return htmltext; + } + + @Override + public String onTalk(L2Npc npc, L2PcInstance player) + { + final QuestState qs = getQuestState(player, true); + String htmltext = getNoQuestMsg(player); + + switch (qs.getState()) + { + case State.CREATED: + { + htmltext = "33974-01.htm"; + break; + } + case State.STARTED: + { + htmltext = (qs.isCond(1)) ? "33974-05.html" : "33974-06.html"; + break; + } + case State.COMPLETED: + { + htmltext = getAlreadyCompletedMsg(player); + break; + } + } + return htmltext; + } + + @Override + public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon) + { + L2Party party = killer.getParty(); + if (party != null) + { + party.getMembers().forEach(p -> onKill(npc, p)); + } + else + { + onKill(npc, killer); + } + return super.onKill(npc, killer, isSummon); + } + + private void onKill(L2Npc npc, L2PcInstance killer) + { + final QuestState qs = getQuestState(killer, false); + + if ((qs != null) && qs.isCond(1) && (npc.calculateDistance3D(killer) <= Config.ALT_PARTY_RANGE)) + { + int killedBugbear = qs.getInt("killed_" + ABYSSAL_BINDER); + if (killedBugbear < 100) + { + qs.set("killed_" + ABYSSAL_BINDER, ++killedBugbear); + playSound(killer, QuestSound.ITEMSOUND_QUEST_ITEMGET); + } + if (killedBugbear >= 100) + { + qs.setCond(2, true); + } + sendNpcLogList(killer); + } + } + + @Override + public Set getNpcLogList(L2PcInstance player) + { + final QuestState qs = getQuestState(player, false); + if ((qs != null) && qs.isCond(1)) + { + final Set holder = new HashSet<>(); + holder.add(new NpcLogListHolder(ABYSSAL_BINDER, false, qs.getInt("killed_" + ABYSSAL_BINDER))); + return holder; + } + return super.getNpcLogList(player); + } +} diff --git a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/QuestMasterHandler.java b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/QuestMasterHandler.java index a47966894c..7f1ffaaaca 100644 --- a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/QuestMasterHandler.java +++ b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/QuestMasterHandler.java @@ -420,6 +420,12 @@ import quests.Q10798_LettersFromTheQueenDragonValley.Q10798_LettersFromTheQueenD import quests.Q10799_StrangeThingsAfootInTheValley.Q10799_StrangeThingsAfootInTheValley; import quests.Q10800_ReconnaissanceAtDragonValley.Q10800_ReconnaissanceAtDragonValley; import quests.Q10801_TheDimensionalWarpPart1.Q10801_TheDimensionalWarpPart1; +import quests.Q10802_TheDimensionalWarpPart2.Q10802_TheDimensionalWarpPart2; +import quests.Q10803_TheDimensionalWarpPart3.Q10803_TheDimensionalWarpPart3; +import quests.Q10804_TheDimensionalWarpPart4.Q10804_TheDimensionalWarpPart4; +import quests.Q10805_TheDimensionalWarpPart5.Q10805_TheDimensionalWarpPart5; +import quests.Q10806_TheDimensionalWarpPart6.Q10806_TheDimensionalWarpPart6; +import quests.Q10807_TheDimensionalWarpPart7.Q10807_TheDimensionalWarpPart7; import quests.Q10811_ExaltedOneWhoFacesTheLimit.Q10811_ExaltedOneWhoFacesTheLimit; import quests.Q10812_FacingSadness.Q10812_FacingSadness; import quests.Q10813_ForGlory.Q10813_ForGlory; @@ -858,6 +864,12 @@ public class QuestMasterHandler Q10799_StrangeThingsAfootInTheValley.class, Q10800_ReconnaissanceAtDragonValley.class, Q10801_TheDimensionalWarpPart1.class, + Q10802_TheDimensionalWarpPart2.class, + Q10803_TheDimensionalWarpPart3.class, + Q10804_TheDimensionalWarpPart4.class, + Q10805_TheDimensionalWarpPart5.class, + Q10806_TheDimensionalWarpPart6.class, + Q10807_TheDimensionalWarpPart7.class, Q10811_ExaltedOneWhoFacesTheLimit.class, Q10812_FacingSadness.class, Q10813_ForGlory.class, diff --git a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/MissingQuests.txt b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/MissingQuests.txt index f7cf89d1ec..fcbe4f84ad 100644 --- a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/MissingQuests.txt +++ b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/MissingQuests.txt @@ -216,12 +216,6 @@ 10731 The Minstrel's Song, Part 6 10748 Mysterious Suggestion - 1 10749 Mysterious Suggestion - 2 -10802 The Dimensional Warp, Part 2 -10803 The Dimensional Warp, Part 3 -10804 The Dimensional Warp, Part 4 -10805 The Dimensional Warp, Part 5 -10806 The Dimensional Warp, Part 6 -10807 The Dimensional Warp, Part 7 10844 Bloody Battle - Seizing Supplies 10845 Bloody Battle - Rescue the Smiths 10846 Bloody Battle - Meeting the Commander diff --git a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10801_TheDimensionalWarpPart1/Q10801_TheDimensionalWarpPart1.java b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10801_TheDimensionalWarpPart1/Q10801_TheDimensionalWarpPart1.java index f16e4a0045..80f70302f1 100644 --- a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10801_TheDimensionalWarpPart1/Q10801_TheDimensionalWarpPart1.java +++ b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10801_TheDimensionalWarpPart1/Q10801_TheDimensionalWarpPart1.java @@ -41,7 +41,7 @@ public class Q10801_TheDimensionalWarpPart1 extends Quest private static final int RESED = 33974; // Monsters private static final int DIMENSIONAL_BUGBEAR = 23465; - // other + // Others private static final int MIN_LEVEL = 99; private static final int DIMENSIONAL_BRACELET_STAGE_1 = 39747; private static final int WARP_CRYSTAL = 39597; diff --git a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10802_TheDimensionalWarpPart2/33974-00.htm b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10802_TheDimensionalWarpPart2/33974-00.htm new file mode 100644 index 0000000000..60df561273 --- /dev/null +++ b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10802_TheDimensionalWarpPart2/33974-00.htm @@ -0,0 +1,4 @@ +Resed:
+Are you trying to enter the Dimensional Warp? It's not a place for people like you.
+(Only characters Lv. 99 or above may undertake this quest.) + \ No newline at end of file diff --git a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10802_TheDimensionalWarpPart2/33974-01.htm b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10802_TheDimensionalWarpPart2/33974-01.htm new file mode 100644 index 0000000000..dbbc35f962 --- /dev/null +++ b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10802_TheDimensionalWarpPart2/33974-01.htm @@ -0,0 +1,5 @@ +Resed:
+Have you been inside Dimensional Warp? My job is to send the explorers to the Dimensional Warp, but I don't have enough information here. I'm continuously collecting more, but it's still not enough.
+I know it won't be easy, but can you do me a favor?
+ + \ No newline at end of file diff --git a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10802_TheDimensionalWarpPart2/33974-02.htm b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10802_TheDimensionalWarpPart2/33974-02.htm new file mode 100644 index 0000000000..aafbc2ba6f --- /dev/null +++ b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10802_TheDimensionalWarpPart2/33974-02.htm @@ -0,0 +1,5 @@ +Resed:
+In the early stages of a Dimensional Warp, Dimensional Binders come out.
+But we still don't have enough information about them. I need more information about them because people run into them the most.
+ + \ No newline at end of file diff --git a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10802_TheDimensionalWarpPart2/33974-03.htm b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10802_TheDimensionalWarpPart2/33974-03.htm new file mode 100644 index 0000000000..36a49fe97d --- /dev/null +++ b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10802_TheDimensionalWarpPart2/33974-03.htm @@ -0,0 +1,5 @@ +Resed:
+Can we start with 100?
+They come out often, so it won't be too hard. Thank you!
+ + \ No newline at end of file diff --git a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10802_TheDimensionalWarpPart2/33974-04.htm b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10802_TheDimensionalWarpPart2/33974-04.htm new file mode 100644 index 0000000000..d9ba89a5e4 --- /dev/null +++ b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10802_TheDimensionalWarpPart2/33974-04.htm @@ -0,0 +1,3 @@ +Resed:
+Kill 100 Dimensional Binders and come back to me. + \ No newline at end of file diff --git a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10802_TheDimensionalWarpPart2/33974-05.html b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10802_TheDimensionalWarpPart2/33974-05.html new file mode 100644 index 0000000000..4600cd995c --- /dev/null +++ b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10802_TheDimensionalWarpPart2/33974-05.html @@ -0,0 +1,4 @@ +Resed:
+We still don't have enough information. That's not enough.
+Go kill more Dimensional Binders. + \ No newline at end of file diff --git a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10802_TheDimensionalWarpPart2/33974-06.html b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10802_TheDimensionalWarpPart2/33974-06.html new file mode 100644 index 0000000000..2076a91123 --- /dev/null +++ b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10802_TheDimensionalWarpPart2/33974-06.html @@ -0,0 +1,5 @@ +Resed:
+Thank you. This will be enough.
+Can You give me the information now?
+ + \ No newline at end of file diff --git a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10802_TheDimensionalWarpPart2/33974-07.html b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10802_TheDimensionalWarpPart2/33974-07.html new file mode 100644 index 0000000000..0bb0b71989 --- /dev/null +++ b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10802_TheDimensionalWarpPart2/33974-07.html @@ -0,0 +1,4 @@ +Resed:
+Good work. You're almost at the finish line.
+The reward is better than the last time. Take it. + \ No newline at end of file diff --git a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10802_TheDimensionalWarpPart2/Q10802_TheDimensionalWarpPart2.java b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10802_TheDimensionalWarpPart2/Q10802_TheDimensionalWarpPart2.java new file mode 100644 index 0000000000..a6b57f397c --- /dev/null +++ b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10802_TheDimensionalWarpPart2/Q10802_TheDimensionalWarpPart2.java @@ -0,0 +1,179 @@ +/* + * 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 . + */ +package quests.Q10802_TheDimensionalWarpPart2; + +import java.util.HashSet; +import java.util.Set; + +import com.l2jmobius.Config; +import com.l2jmobius.gameserver.enums.QuestSound; +import com.l2jmobius.gameserver.model.L2Party; +import com.l2jmobius.gameserver.model.actor.L2Npc; +import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance; +import com.l2jmobius.gameserver.model.holders.NpcLogListHolder; +import com.l2jmobius.gameserver.model.quest.Quest; +import com.l2jmobius.gameserver.model.quest.QuestState; +import com.l2jmobius.gameserver.model.quest.State; + +import quests.Q10801_TheDimensionalWarpPart1.Q10801_TheDimensionalWarpPart1; + +/** + * The Dimensional Warp, Part 2 (10802) + * @URL https://l2wiki.com/The_Dimensional_Warp,_Part_2 + * @author Mobius + */ +public class Q10802_TheDimensionalWarpPart2 extends Quest +{ + // NPC + private static final int RESED = 33974; + // Monsters + private static final int DIMENSIONAL_BINDER = 23467; + // Others + private static final int MIN_LEVEL = 99; + private static final int WARP_CRYSTAL = 39597; + + public Q10802_TheDimensionalWarpPart2() + { + super(10802); + addStartNpc(RESED); + addTalkId(RESED); + addKillId(DIMENSIONAL_BINDER); + addCondMinLevel(MIN_LEVEL, "33974-00.htm"); + addCondCompletedQuest(Q10801_TheDimensionalWarpPart1.class.getSimpleName(), ""); + } + + @Override + public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) + { + String htmltext = null; + final QuestState qs = getQuestState(player, false); + if (qs == null) + { + return htmltext; + } + + switch (event) + { + case "33974-02.htm": + case "33974-03.htm": + { + htmltext = event; + break; + } + case "33974-04.htm": + { + qs.startQuest(); + htmltext = event; + break; + } + case "33974-07.html": + { + if (qs.isCond(2)) + { + if (player.getLevel() >= MIN_LEVEL) + { + addExpAndSp(player, 49380951086L, 0); + giveItems(player, WARP_CRYSTAL, 300); + qs.exitQuest(false, true); + htmltext = event; + } + else + { + htmltext = getNoQuestLevelRewardMsg(player); + } + } + break; + } + } + return htmltext; + } + + @Override + public String onTalk(L2Npc npc, L2PcInstance player) + { + final QuestState qs = getQuestState(player, true); + String htmltext = getNoQuestMsg(player); + + switch (qs.getState()) + { + case State.CREATED: + { + htmltext = "33974-01.htm"; + break; + } + case State.STARTED: + { + htmltext = (qs.isCond(1)) ? "33974-05.html" : "33974-06.html"; + break; + } + case State.COMPLETED: + { + htmltext = getAlreadyCompletedMsg(player); + break; + } + } + return htmltext; + } + + @Override + public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon) + { + L2Party party = killer.getParty(); + if (party != null) + { + party.getMembers().forEach(p -> onKill(npc, p)); + } + else + { + onKill(npc, killer); + } + return super.onKill(npc, killer, isSummon); + } + + private void onKill(L2Npc npc, L2PcInstance killer) + { + final QuestState qs = getQuestState(killer, false); + + if ((qs != null) && qs.isCond(1) && (npc.calculateDistance3D(killer) <= Config.ALT_PARTY_RANGE)) + { + int killedBugbear = qs.getInt("killed_" + DIMENSIONAL_BINDER); + if (killedBugbear < 100) + { + qs.set("killed_" + DIMENSIONAL_BINDER, ++killedBugbear); + playSound(killer, QuestSound.ITEMSOUND_QUEST_ITEMGET); + } + if (killedBugbear >= 100) + { + qs.setCond(2, true); + } + sendNpcLogList(killer); + } + } + + @Override + public Set getNpcLogList(L2PcInstance player) + { + final QuestState qs = getQuestState(player, false); + if ((qs != null) && qs.isCond(1)) + { + final Set holder = new HashSet<>(); + holder.add(new NpcLogListHolder(DIMENSIONAL_BINDER, false, qs.getInt("killed_" + DIMENSIONAL_BINDER))); + return holder; + } + return super.getNpcLogList(player); + } +} diff --git a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10803_TheDimensionalWarpPart3/33974-00.htm b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10803_TheDimensionalWarpPart3/33974-00.htm new file mode 100644 index 0000000000..60df561273 --- /dev/null +++ b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10803_TheDimensionalWarpPart3/33974-00.htm @@ -0,0 +1,4 @@ +Resed:
+Are you trying to enter the Dimensional Warp? It's not a place for people like you.
+(Only characters Lv. 99 or above may undertake this quest.) + \ No newline at end of file diff --git a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10803_TheDimensionalWarpPart3/33974-01.htm b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10803_TheDimensionalWarpPart3/33974-01.htm new file mode 100644 index 0000000000..382f41fc38 --- /dev/null +++ b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10803_TheDimensionalWarpPart3/33974-01.htm @@ -0,0 +1,5 @@ +Resed:
+Have you been inside Dimensional Warp? My job is to send the explorers to the Dimensional Warp, but I don't have enough information here. I'm continuously collecting more, but it's still not enough.
+I know it won't be easy, but can you do me a favor?
+ + \ No newline at end of file diff --git a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10803_TheDimensionalWarpPart3/33974-02.htm b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10803_TheDimensionalWarpPart3/33974-02.htm new file mode 100644 index 0000000000..0a9f1a8ca8 --- /dev/null +++ b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10803_TheDimensionalWarpPart3/33974-02.htm @@ -0,0 +1,5 @@ +Resed:
+In the early stages of a Dimensional Warp, Unworldly Etins come out.
+But we still don't have enough information about them. I need more information about them because people run into them the most.
+ + \ No newline at end of file diff --git a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10803_TheDimensionalWarpPart3/33974-03.htm b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10803_TheDimensionalWarpPart3/33974-03.htm new file mode 100644 index 0000000000..d32288d8be --- /dev/null +++ b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10803_TheDimensionalWarpPart3/33974-03.htm @@ -0,0 +1,5 @@ +Resed:
+Can we start with 100?
+They come out often, so it won't be too hard. Thank you!
+ + \ No newline at end of file diff --git a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10803_TheDimensionalWarpPart3/33974-04.htm b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10803_TheDimensionalWarpPart3/33974-04.htm new file mode 100644 index 0000000000..1859f388b6 --- /dev/null +++ b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10803_TheDimensionalWarpPart3/33974-04.htm @@ -0,0 +1,3 @@ +Resed:
+Kill 100 Unworldly Etins and come back to me. + \ No newline at end of file diff --git a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10803_TheDimensionalWarpPart3/33974-05.html b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10803_TheDimensionalWarpPart3/33974-05.html new file mode 100644 index 0000000000..2ab774064c --- /dev/null +++ b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10803_TheDimensionalWarpPart3/33974-05.html @@ -0,0 +1,4 @@ +Resed:
+We still don't have enough information. That's not enough.
+Go kill more Unworldly Etins. + \ No newline at end of file diff --git a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10803_TheDimensionalWarpPart3/33974-06.html b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10803_TheDimensionalWarpPart3/33974-06.html new file mode 100644 index 0000000000..30d4ab1648 --- /dev/null +++ b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10803_TheDimensionalWarpPart3/33974-06.html @@ -0,0 +1,5 @@ +Resed:
+Thank you. This will be enough.
+Can You give me the information now?
+ + \ No newline at end of file diff --git a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10803_TheDimensionalWarpPart3/33974-07.html b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10803_TheDimensionalWarpPart3/33974-07.html new file mode 100644 index 0000000000..0bb0b71989 --- /dev/null +++ b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10803_TheDimensionalWarpPart3/33974-07.html @@ -0,0 +1,4 @@ +Resed:
+Good work. You're almost at the finish line.
+The reward is better than the last time. Take it. + \ No newline at end of file diff --git a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10803_TheDimensionalWarpPart3/Q10803_TheDimensionalWarpPart3.java b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10803_TheDimensionalWarpPart3/Q10803_TheDimensionalWarpPart3.java new file mode 100644 index 0000000000..787b66b5ce --- /dev/null +++ b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10803_TheDimensionalWarpPart3/Q10803_TheDimensionalWarpPart3.java @@ -0,0 +1,181 @@ +/* + * 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 . + */ +package quests.Q10803_TheDimensionalWarpPart3; + +import java.util.HashSet; +import java.util.Set; + +import com.l2jmobius.Config; +import com.l2jmobius.gameserver.enums.QuestSound; +import com.l2jmobius.gameserver.model.L2Party; +import com.l2jmobius.gameserver.model.actor.L2Npc; +import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance; +import com.l2jmobius.gameserver.model.holders.NpcLogListHolder; +import com.l2jmobius.gameserver.model.quest.Quest; +import com.l2jmobius.gameserver.model.quest.QuestState; +import com.l2jmobius.gameserver.model.quest.State; + +import quests.Q10802_TheDimensionalWarpPart2.Q10802_TheDimensionalWarpPart2; + +/** + * The Dimensional Warp, Part 3 (10803) + * @URL https://l2wiki.com/The_Dimensional_Warp,_Part_3 + * @author Mobius + */ +public class Q10803_TheDimensionalWarpPart3 extends Quest +{ + // NPC + private static final int RESED = 33974; + // Monsters + private static final int UNWORDLY_ETIN = 23471; + // Others + private static final int MIN_LEVEL = 99; + private static final int BLOODY_ETERNAL_ENHANCEMENT_STONE = 3556; + private static final int WARP_CRYSTAL = 39597; + + public Q10803_TheDimensionalWarpPart3() + { + super(10803); + addStartNpc(RESED); + addTalkId(RESED); + addKillId(UNWORDLY_ETIN); + addCondMinLevel(MIN_LEVEL, "33974-00.htm"); + addCondCompletedQuest(Q10802_TheDimensionalWarpPart2.class.getSimpleName(), ""); + } + + @Override + public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) + { + String htmltext = null; + final QuestState qs = getQuestState(player, false); + if (qs == null) + { + return htmltext; + } + + switch (event) + { + case "33974-02.htm": + case "33974-03.htm": + { + htmltext = event; + break; + } + case "33974-04.htm": + { + qs.startQuest(); + htmltext = event; + break; + } + case "33974-07.html": + { + if (qs.isCond(2)) + { + if (player.getLevel() >= MIN_LEVEL) + { + addExpAndSp(player, 54383249571L, 0); + giveItems(player, BLOODY_ETERNAL_ENHANCEMENT_STONE, 1); + giveItems(player, WARP_CRYSTAL, 300); + qs.exitQuest(false, true); + htmltext = event; + } + else + { + htmltext = getNoQuestLevelRewardMsg(player); + } + } + break; + } + } + return htmltext; + } + + @Override + public String onTalk(L2Npc npc, L2PcInstance player) + { + final QuestState qs = getQuestState(player, true); + String htmltext = getNoQuestMsg(player); + + switch (qs.getState()) + { + case State.CREATED: + { + htmltext = "33974-01.htm"; + break; + } + case State.STARTED: + { + htmltext = (qs.isCond(1)) ? "33974-05.html" : "33974-06.html"; + break; + } + case State.COMPLETED: + { + htmltext = getAlreadyCompletedMsg(player); + break; + } + } + return htmltext; + } + + @Override + public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon) + { + L2Party party = killer.getParty(); + if (party != null) + { + party.getMembers().forEach(p -> onKill(npc, p)); + } + else + { + onKill(npc, killer); + } + return super.onKill(npc, killer, isSummon); + } + + private void onKill(L2Npc npc, L2PcInstance killer) + { + final QuestState qs = getQuestState(killer, false); + + if ((qs != null) && qs.isCond(1) && (npc.calculateDistance3D(killer) <= Config.ALT_PARTY_RANGE)) + { + int killedBugbear = qs.getInt("killed_" + UNWORDLY_ETIN); + if (killedBugbear < 100) + { + qs.set("killed_" + UNWORDLY_ETIN, ++killedBugbear); + playSound(killer, QuestSound.ITEMSOUND_QUEST_ITEMGET); + } + if (killedBugbear >= 100) + { + qs.setCond(2, true); + } + sendNpcLogList(killer); + } + } + + @Override + public Set getNpcLogList(L2PcInstance player) + { + final QuestState qs = getQuestState(player, false); + if ((qs != null) && qs.isCond(1)) + { + final Set holder = new HashSet<>(); + holder.add(new NpcLogListHolder(UNWORDLY_ETIN, false, qs.getInt("killed_" + UNWORDLY_ETIN))); + return holder; + } + return super.getNpcLogList(player); + } +} diff --git a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10804_TheDimensionalWarpPart4/33974-00.htm b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10804_TheDimensionalWarpPart4/33974-00.htm new file mode 100644 index 0000000000..60df561273 --- /dev/null +++ b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10804_TheDimensionalWarpPart4/33974-00.htm @@ -0,0 +1,4 @@ +Resed:
+Are you trying to enter the Dimensional Warp? It's not a place for people like you.
+(Only characters Lv. 99 or above may undertake this quest.) + \ No newline at end of file diff --git a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10804_TheDimensionalWarpPart4/33974-01.htm b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10804_TheDimensionalWarpPart4/33974-01.htm new file mode 100644 index 0000000000..0c799f407c --- /dev/null +++ b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10804_TheDimensionalWarpPart4/33974-01.htm @@ -0,0 +1,5 @@ +Resed:
+Have you been inside Dimensional Warp? My job is to send the explorers to the Dimensional Warp, but I don't have enough information here. I'm continuously collecting more, but it's still not enough.
+I know it won't be easy, but can you do me a favor?
+ + \ No newline at end of file diff --git a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10804_TheDimensionalWarpPart4/33974-02.htm b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10804_TheDimensionalWarpPart4/33974-02.htm new file mode 100644 index 0000000000..b9a34b4c39 --- /dev/null +++ b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10804_TheDimensionalWarpPart4/33974-02.htm @@ -0,0 +1,5 @@ +Resed:
+In the early stages of a Dimensional Warp, Unworldly Golems come out.
+But we still don't have enough information about them. I need more information about them because people run into them the most.
+ + \ No newline at end of file diff --git a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10804_TheDimensionalWarpPart4/33974-03.htm b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10804_TheDimensionalWarpPart4/33974-03.htm new file mode 100644 index 0000000000..54cc3098d0 --- /dev/null +++ b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10804_TheDimensionalWarpPart4/33974-03.htm @@ -0,0 +1,5 @@ +Resed:
+Can we start with 100?
+They come out often, so it won't be too hard. Thank you!
+ + \ No newline at end of file diff --git a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10804_TheDimensionalWarpPart4/33974-04.htm b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10804_TheDimensionalWarpPart4/33974-04.htm new file mode 100644 index 0000000000..e779ceb0ab --- /dev/null +++ b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10804_TheDimensionalWarpPart4/33974-04.htm @@ -0,0 +1,3 @@ +Resed:
+Kill 100 Unworldly Golems and come back to me. + \ No newline at end of file diff --git a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10804_TheDimensionalWarpPart4/33974-05.html b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10804_TheDimensionalWarpPart4/33974-05.html new file mode 100644 index 0000000000..2ab4351dd7 --- /dev/null +++ b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10804_TheDimensionalWarpPart4/33974-05.html @@ -0,0 +1,4 @@ +Resed:
+We still don't have enough information. That's not enough.
+Go kill more Unworldly Golems. + \ No newline at end of file diff --git a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10804_TheDimensionalWarpPart4/33974-06.html b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10804_TheDimensionalWarpPart4/33974-06.html new file mode 100644 index 0000000000..58721db127 --- /dev/null +++ b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10804_TheDimensionalWarpPart4/33974-06.html @@ -0,0 +1,5 @@ +Resed:
+Thank you. This will be enough.
+Can You give me the information now?
+ + \ No newline at end of file diff --git a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10804_TheDimensionalWarpPart4/33974-07.html b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10804_TheDimensionalWarpPart4/33974-07.html new file mode 100644 index 0000000000..0bb0b71989 --- /dev/null +++ b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10804_TheDimensionalWarpPart4/33974-07.html @@ -0,0 +1,4 @@ +Resed:
+Good work. You're almost at the finish line.
+The reward is better than the last time. Take it. + \ No newline at end of file diff --git a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10804_TheDimensionalWarpPart4/Q10804_TheDimensionalWarpPart4.java b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10804_TheDimensionalWarpPart4/Q10804_TheDimensionalWarpPart4.java new file mode 100644 index 0000000000..4cd643fb80 --- /dev/null +++ b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10804_TheDimensionalWarpPart4/Q10804_TheDimensionalWarpPart4.java @@ -0,0 +1,181 @@ +/* + * 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 . + */ +package quests.Q10804_TheDimensionalWarpPart4; + +import java.util.HashSet; +import java.util.Set; + +import com.l2jmobius.Config; +import com.l2jmobius.gameserver.enums.QuestSound; +import com.l2jmobius.gameserver.model.L2Party; +import com.l2jmobius.gameserver.model.actor.L2Npc; +import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance; +import com.l2jmobius.gameserver.model.holders.NpcLogListHolder; +import com.l2jmobius.gameserver.model.quest.Quest; +import com.l2jmobius.gameserver.model.quest.QuestState; +import com.l2jmobius.gameserver.model.quest.State; + +import quests.Q10803_TheDimensionalWarpPart3.Q10803_TheDimensionalWarpPart3; + +/** + * The Dimensional Warp, Part 4 (10804) + * @URL https://l2wiki.com/The_Dimensional_Warp,_Part_4 + * @author Mobius + */ +public class Q10804_TheDimensionalWarpPart4 extends Quest +{ + // NPC + private static final int RESED = 33974; + // Monsters + private static final int UNWORLDLY_GOLEM = 23474; + // Others + private static final int MIN_LEVEL = 99; + private static final int DARK_ETERNAL_ENHANCEMENT_STONE = 35567; + private static final int WARP_CRYSTAL = 39597; + + public Q10804_TheDimensionalWarpPart4() + { + super(10804); + addStartNpc(RESED); + addTalkId(RESED); + addKillId(UNWORLDLY_GOLEM); + addCondMinLevel(MIN_LEVEL, "33974-00.htm"); + addCondCompletedQuest(Q10803_TheDimensionalWarpPart3.class.getSimpleName(), ""); + } + + @Override + public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) + { + String htmltext = null; + final QuestState qs = getQuestState(player, false); + if (qs == null) + { + return htmltext; + } + + switch (event) + { + case "33974-02.htm": + case "33974-03.htm": + { + htmltext = event; + break; + } + case "33974-04.htm": + { + qs.startQuest(); + htmltext = event; + break; + } + case "33974-07.html": + { + if (qs.isCond(2)) + { + if (player.getLevel() >= MIN_LEVEL) + { + addExpAndSp(player, 60425832857L, 0); + giveItems(player, DARK_ETERNAL_ENHANCEMENT_STONE, 1); + giveItems(player, WARP_CRYSTAL, 300); + qs.exitQuest(false, true); + htmltext = event; + } + else + { + htmltext = getNoQuestLevelRewardMsg(player); + } + } + break; + } + } + return htmltext; + } + + @Override + public String onTalk(L2Npc npc, L2PcInstance player) + { + final QuestState qs = getQuestState(player, true); + String htmltext = getNoQuestMsg(player); + + switch (qs.getState()) + { + case State.CREATED: + { + htmltext = "33974-01.htm"; + break; + } + case State.STARTED: + { + htmltext = (qs.isCond(1)) ? "33974-05.html" : "33974-06.html"; + break; + } + case State.COMPLETED: + { + htmltext = getAlreadyCompletedMsg(player); + break; + } + } + return htmltext; + } + + @Override + public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon) + { + L2Party party = killer.getParty(); + if (party != null) + { + party.getMembers().forEach(p -> onKill(npc, p)); + } + else + { + onKill(npc, killer); + } + return super.onKill(npc, killer, isSummon); + } + + private void onKill(L2Npc npc, L2PcInstance killer) + { + final QuestState qs = getQuestState(killer, false); + + if ((qs != null) && qs.isCond(1) && (npc.calculateDistance3D(killer) <= Config.ALT_PARTY_RANGE)) + { + int killedBugbear = qs.getInt("killed_" + UNWORLDLY_GOLEM); + if (killedBugbear < 100) + { + qs.set("killed_" + UNWORLDLY_GOLEM, ++killedBugbear); + playSound(killer, QuestSound.ITEMSOUND_QUEST_ITEMGET); + } + if (killedBugbear >= 100) + { + qs.setCond(2, true); + } + sendNpcLogList(killer); + } + } + + @Override + public Set getNpcLogList(L2PcInstance player) + { + final QuestState qs = getQuestState(player, false); + if ((qs != null) && qs.isCond(1)) + { + final Set holder = new HashSet<>(); + holder.add(new NpcLogListHolder(UNWORLDLY_GOLEM, false, qs.getInt("killed_" + UNWORLDLY_GOLEM))); + return holder; + } + return super.getNpcLogList(player); + } +} diff --git a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10805_TheDimensionalWarpPart5/33974-00.htm b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10805_TheDimensionalWarpPart5/33974-00.htm new file mode 100644 index 0000000000..60df561273 --- /dev/null +++ b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10805_TheDimensionalWarpPart5/33974-00.htm @@ -0,0 +1,4 @@ +Resed:
+Are you trying to enter the Dimensional Warp? It's not a place for people like you.
+(Only characters Lv. 99 or above may undertake this quest.) + \ No newline at end of file diff --git a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10805_TheDimensionalWarpPart5/33974-01.htm b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10805_TheDimensionalWarpPart5/33974-01.htm new file mode 100644 index 0000000000..94efd045d6 --- /dev/null +++ b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10805_TheDimensionalWarpPart5/33974-01.htm @@ -0,0 +1,5 @@ +Resed:
+Have you been inside Dimensional Warp? My job is to send the explorers to the Dimensional Warp, but I don't have enough information here. I'm continuously collecting more, but it's still not enough.
+I know it won't be easy, but can you do me a favor?
+ + \ No newline at end of file diff --git a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10805_TheDimensionalWarpPart5/33974-02.htm b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10805_TheDimensionalWarpPart5/33974-02.htm new file mode 100644 index 0000000000..1a4c02567e --- /dev/null +++ b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10805_TheDimensionalWarpPart5/33974-02.htm @@ -0,0 +1,5 @@ +Resed:
+In the early stages of a Dimensional Warp, Abyssal Golems come out.
+But we still don't have enough information about them. I need more information about them because people run into them the most.
+ + \ No newline at end of file diff --git a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10805_TheDimensionalWarpPart5/33974-03.htm b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10805_TheDimensionalWarpPart5/33974-03.htm new file mode 100644 index 0000000000..bde468aefa --- /dev/null +++ b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10805_TheDimensionalWarpPart5/33974-03.htm @@ -0,0 +1,5 @@ +Resed:
+Can we start with 100?
+They come out often, so it won't be too hard. Thank you!
+ + \ No newline at end of file diff --git a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10805_TheDimensionalWarpPart5/33974-04.htm b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10805_TheDimensionalWarpPart5/33974-04.htm new file mode 100644 index 0000000000..27ef4dd594 --- /dev/null +++ b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10805_TheDimensionalWarpPart5/33974-04.htm @@ -0,0 +1,3 @@ +Resed:
+Kill 100 Abyssal Golems and come back to me. + \ No newline at end of file diff --git a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10805_TheDimensionalWarpPart5/33974-05.html b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10805_TheDimensionalWarpPart5/33974-05.html new file mode 100644 index 0000000000..0e68d1a707 --- /dev/null +++ b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10805_TheDimensionalWarpPart5/33974-05.html @@ -0,0 +1,4 @@ +Resed:
+We still don't have enough information. That's not enough.
+Go kill more Abyssal Golems. + \ No newline at end of file diff --git a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10805_TheDimensionalWarpPart5/33974-06.html b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10805_TheDimensionalWarpPart5/33974-06.html new file mode 100644 index 0000000000..79676ce4e8 --- /dev/null +++ b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10805_TheDimensionalWarpPart5/33974-06.html @@ -0,0 +1,5 @@ +Resed:
+Thank you. This will be enough.
+Can You give me the information now?
+ + \ No newline at end of file diff --git a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10805_TheDimensionalWarpPart5/33974-07.html b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10805_TheDimensionalWarpPart5/33974-07.html new file mode 100644 index 0000000000..0bb0b71989 --- /dev/null +++ b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10805_TheDimensionalWarpPart5/33974-07.html @@ -0,0 +1,4 @@ +Resed:
+Good work. You're almost at the finish line.
+The reward is better than the last time. Take it. + \ No newline at end of file diff --git a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10805_TheDimensionalWarpPart5/Q10805_TheDimensionalWarpPart5.java b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10805_TheDimensionalWarpPart5/Q10805_TheDimensionalWarpPart5.java new file mode 100644 index 0000000000..4fe0016a21 --- /dev/null +++ b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10805_TheDimensionalWarpPart5/Q10805_TheDimensionalWarpPart5.java @@ -0,0 +1,181 @@ +/* + * 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 . + */ +package quests.Q10805_TheDimensionalWarpPart5; + +import java.util.HashSet; +import java.util.Set; + +import com.l2jmobius.Config; +import com.l2jmobius.gameserver.enums.QuestSound; +import com.l2jmobius.gameserver.model.L2Party; +import com.l2jmobius.gameserver.model.actor.L2Npc; +import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance; +import com.l2jmobius.gameserver.model.holders.NpcLogListHolder; +import com.l2jmobius.gameserver.model.quest.Quest; +import com.l2jmobius.gameserver.model.quest.QuestState; +import com.l2jmobius.gameserver.model.quest.State; + +import quests.Q10804_TheDimensionalWarpPart4.Q10804_TheDimensionalWarpPart4; + +/** + * The Dimensional Warp, Part 5 (10805) + * @URL https://l2wiki.com/The_Dimensional_Warp,_Part_5 + * @author Mobius + */ +public class Q10805_TheDimensionalWarpPart5 extends Quest +{ + // NPC + private static final int RESED = 33974; + // Monsters + private static final int ABYSSAL_GOLEM = 23483; + // Others + private static final int MIN_LEVEL = 99; + private static final int DARK_ETERNAL_ENHANCEMENT_STONE = 35567; + private static final int WARP_CRYSTAL = 39597; + + public Q10805_TheDimensionalWarpPart5() + { + super(10805); + addStartNpc(RESED); + addTalkId(RESED); + addKillId(ABYSSAL_GOLEM); + addCondMinLevel(MIN_LEVEL, "33974-00.htm"); + addCondCompletedQuest(Q10804_TheDimensionalWarpPart4.class.getSimpleName(), ""); + } + + @Override + public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) + { + String htmltext = null; + final QuestState qs = getQuestState(player, false); + if (qs == null) + { + return htmltext; + } + + switch (event) + { + case "33974-02.htm": + case "33974-03.htm": + { + htmltext = event; + break; + } + case "33974-04.htm": + { + qs.startQuest(); + htmltext = event; + break; + } + case "33974-07.html": + { + if (qs.isCond(2)) + { + if (player.getLevel() >= MIN_LEVEL) + { + addExpAndSp(player, 66530730240L, 0); + giveItems(player, DARK_ETERNAL_ENHANCEMENT_STONE, 1); + giveItems(player, WARP_CRYSTAL, 300); + qs.exitQuest(false, true); + htmltext = event; + } + else + { + htmltext = getNoQuestLevelRewardMsg(player); + } + } + break; + } + } + return htmltext; + } + + @Override + public String onTalk(L2Npc npc, L2PcInstance player) + { + final QuestState qs = getQuestState(player, true); + String htmltext = getNoQuestMsg(player); + + switch (qs.getState()) + { + case State.CREATED: + { + htmltext = "33974-01.htm"; + break; + } + case State.STARTED: + { + htmltext = (qs.isCond(1)) ? "33974-05.html" : "33974-06.html"; + break; + } + case State.COMPLETED: + { + htmltext = getAlreadyCompletedMsg(player); + break; + } + } + return htmltext; + } + + @Override + public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon) + { + L2Party party = killer.getParty(); + if (party != null) + { + party.getMembers().forEach(p -> onKill(npc, p)); + } + else + { + onKill(npc, killer); + } + return super.onKill(npc, killer, isSummon); + } + + private void onKill(L2Npc npc, L2PcInstance killer) + { + final QuestState qs = getQuestState(killer, false); + + if ((qs != null) && qs.isCond(1) && (npc.calculateDistance3D(killer) <= Config.ALT_PARTY_RANGE)) + { + int killedBugbear = qs.getInt("killed_" + ABYSSAL_GOLEM); + if (killedBugbear < 100) + { + qs.set("killed_" + ABYSSAL_GOLEM, ++killedBugbear); + playSound(killer, QuestSound.ITEMSOUND_QUEST_ITEMGET); + } + if (killedBugbear >= 100) + { + qs.setCond(2, true); + } + sendNpcLogList(killer); + } + } + + @Override + public Set getNpcLogList(L2PcInstance player) + { + final QuestState qs = getQuestState(player, false); + if ((qs != null) && qs.isCond(1)) + { + final Set holder = new HashSet<>(); + holder.add(new NpcLogListHolder(ABYSSAL_GOLEM, false, qs.getInt("killed_" + ABYSSAL_GOLEM))); + return holder; + } + return super.getNpcLogList(player); + } +} diff --git a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10806_TheDimensionalWarpPart6/33974-00.htm b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10806_TheDimensionalWarpPart6/33974-00.htm new file mode 100644 index 0000000000..60df561273 --- /dev/null +++ b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10806_TheDimensionalWarpPart6/33974-00.htm @@ -0,0 +1,4 @@ +Resed:
+Are you trying to enter the Dimensional Warp? It's not a place for people like you.
+(Only characters Lv. 99 or above may undertake this quest.) + \ No newline at end of file diff --git a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10806_TheDimensionalWarpPart6/33974-01.htm b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10806_TheDimensionalWarpPart6/33974-01.htm new file mode 100644 index 0000000000..d51b478618 --- /dev/null +++ b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10806_TheDimensionalWarpPart6/33974-01.htm @@ -0,0 +1,5 @@ +Resed:
+Have you been inside Dimensional Warp? My job is to send the explorers to the Dimensional Warp, but I don't have enough information here. I'm continuously collecting more, but it's still not enough.
+I know it won't be easy, but can you do me a favor?
+ + \ No newline at end of file diff --git a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10806_TheDimensionalWarpPart6/33974-02.htm b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10806_TheDimensionalWarpPart6/33974-02.htm new file mode 100644 index 0000000000..8ecea0f173 --- /dev/null +++ b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10806_TheDimensionalWarpPart6/33974-02.htm @@ -0,0 +1,5 @@ +Resed:
+In the early stages of a Dimensional Warp, Abyssal Berserkers come out.
+But we still don't have enough information about them. I need more information about them because people run into them the most.
+ + \ No newline at end of file diff --git a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10806_TheDimensionalWarpPart6/33974-03.htm b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10806_TheDimensionalWarpPart6/33974-03.htm new file mode 100644 index 0000000000..a052b31368 --- /dev/null +++ b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10806_TheDimensionalWarpPart6/33974-03.htm @@ -0,0 +1,5 @@ +Resed:
+Can we start with 100?
+They come out often, so it won't be too hard. Thank you!
+ + \ No newline at end of file diff --git a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10806_TheDimensionalWarpPart6/33974-04.htm b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10806_TheDimensionalWarpPart6/33974-04.htm new file mode 100644 index 0000000000..fbc9031a8f --- /dev/null +++ b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10806_TheDimensionalWarpPart6/33974-04.htm @@ -0,0 +1,3 @@ +Resed:
+Kill 100 Abyssal Berserkers and come back to me. + \ No newline at end of file diff --git a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10806_TheDimensionalWarpPart6/33974-05.html b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10806_TheDimensionalWarpPart6/33974-05.html new file mode 100644 index 0000000000..998d299659 --- /dev/null +++ b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10806_TheDimensionalWarpPart6/33974-05.html @@ -0,0 +1,4 @@ +Resed:
+We still don't have enough information. That's not enough.
+Go kill more Abyssal Berserkers. + \ No newline at end of file diff --git a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10806_TheDimensionalWarpPart6/33974-06.html b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10806_TheDimensionalWarpPart6/33974-06.html new file mode 100644 index 0000000000..295f620d0c --- /dev/null +++ b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10806_TheDimensionalWarpPart6/33974-06.html @@ -0,0 +1,5 @@ +Resed:
+Thank you. This will be enough.
+Can You give me the information now?
+ + \ No newline at end of file diff --git a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10806_TheDimensionalWarpPart6/33974-07.html b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10806_TheDimensionalWarpPart6/33974-07.html new file mode 100644 index 0000000000..0bb0b71989 --- /dev/null +++ b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10806_TheDimensionalWarpPart6/33974-07.html @@ -0,0 +1,4 @@ +Resed:
+Good work. You're almost at the finish line.
+The reward is better than the last time. Take it. + \ No newline at end of file diff --git a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10806_TheDimensionalWarpPart6/Q10806_TheDimensionalWarpPart6.java b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10806_TheDimensionalWarpPart6/Q10806_TheDimensionalWarpPart6.java new file mode 100644 index 0000000000..9b65bc5a6c --- /dev/null +++ b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10806_TheDimensionalWarpPart6/Q10806_TheDimensionalWarpPart6.java @@ -0,0 +1,179 @@ +/* + * 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 . + */ +package quests.Q10806_TheDimensionalWarpPart6; + +import java.util.HashSet; +import java.util.Set; + +import com.l2jmobius.Config; +import com.l2jmobius.gameserver.enums.QuestSound; +import com.l2jmobius.gameserver.model.L2Party; +import com.l2jmobius.gameserver.model.actor.L2Npc; +import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance; +import com.l2jmobius.gameserver.model.holders.NpcLogListHolder; +import com.l2jmobius.gameserver.model.quest.Quest; +import com.l2jmobius.gameserver.model.quest.QuestState; +import com.l2jmobius.gameserver.model.quest.State; + +import quests.Q10805_TheDimensionalWarpPart5.Q10805_TheDimensionalWarpPart5; + +/** + * The Dimensional Warp, Part 6 (10806) + * @URL https://l2wiki.com/The_Dimensional_Warp,_Part_6 + * @author Mobius + */ +public class Q10806_TheDimensionalWarpPart6 extends Quest +{ + // NPC + private static final int RESED = 33974; + // Monsters + private static final int ABYSSAL_BERSERKER = 23478; + // Others + private static final int MIN_LEVEL = 99; + private static final int WARP_CRYSTAL = 39597; + + public Q10806_TheDimensionalWarpPart6() + { + super(10806); + addStartNpc(RESED); + addTalkId(RESED); + addKillId(ABYSSAL_BERSERKER); + addCondMinLevel(MIN_LEVEL, "33974-00.htm"); + addCondCompletedQuest(Q10805_TheDimensionalWarpPart5.class.getSimpleName(), ""); + } + + @Override + public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) + { + String htmltext = null; + final QuestState qs = getQuestState(player, false); + if (qs == null) + { + return htmltext; + } + + switch (event) + { + case "33974-02.htm": + case "33974-03.htm": + { + htmltext = event; + break; + } + case "33974-04.htm": + { + qs.startQuest(); + htmltext = event; + break; + } + case "33974-07.html": + { + if (qs.isCond(2)) + { + if (player.getLevel() >= MIN_LEVEL) + { + addExpAndSp(player, 73923033600L, 0); + giveItems(player, WARP_CRYSTAL, 300); + qs.exitQuest(false, true); + htmltext = event; + } + else + { + htmltext = getNoQuestLevelRewardMsg(player); + } + } + break; + } + } + return htmltext; + } + + @Override + public String onTalk(L2Npc npc, L2PcInstance player) + { + final QuestState qs = getQuestState(player, true); + String htmltext = getNoQuestMsg(player); + + switch (qs.getState()) + { + case State.CREATED: + { + htmltext = "33974-01.htm"; + break; + } + case State.STARTED: + { + htmltext = (qs.isCond(1)) ? "33974-05.html" : "33974-06.html"; + break; + } + case State.COMPLETED: + { + htmltext = getAlreadyCompletedMsg(player); + break; + } + } + return htmltext; + } + + @Override + public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon) + { + L2Party party = killer.getParty(); + if (party != null) + { + party.getMembers().forEach(p -> onKill(npc, p)); + } + else + { + onKill(npc, killer); + } + return super.onKill(npc, killer, isSummon); + } + + private void onKill(L2Npc npc, L2PcInstance killer) + { + final QuestState qs = getQuestState(killer, false); + + if ((qs != null) && qs.isCond(1) && (npc.calculateDistance3D(killer) <= Config.ALT_PARTY_RANGE)) + { + int killedBugbear = qs.getInt("killed_" + ABYSSAL_BERSERKER); + if (killedBugbear < 100) + { + qs.set("killed_" + ABYSSAL_BERSERKER, ++killedBugbear); + playSound(killer, QuestSound.ITEMSOUND_QUEST_ITEMGET); + } + if (killedBugbear >= 100) + { + qs.setCond(2, true); + } + sendNpcLogList(killer); + } + } + + @Override + public Set getNpcLogList(L2PcInstance player) + { + final QuestState qs = getQuestState(player, false); + if ((qs != null) && qs.isCond(1)) + { + final Set holder = new HashSet<>(); + holder.add(new NpcLogListHolder(ABYSSAL_BERSERKER, false, qs.getInt("killed_" + ABYSSAL_BERSERKER))); + return holder; + } + return super.getNpcLogList(player); + } +} diff --git a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10807_TheDimensionalWarpPart7/33974-00.htm b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10807_TheDimensionalWarpPart7/33974-00.htm new file mode 100644 index 0000000000..60df561273 --- /dev/null +++ b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10807_TheDimensionalWarpPart7/33974-00.htm @@ -0,0 +1,4 @@ +Resed:
+Are you trying to enter the Dimensional Warp? It's not a place for people like you.
+(Only characters Lv. 99 or above may undertake this quest.) + \ No newline at end of file diff --git a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10807_TheDimensionalWarpPart7/33974-01.htm b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10807_TheDimensionalWarpPart7/33974-01.htm new file mode 100644 index 0000000000..c75e1b123e --- /dev/null +++ b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10807_TheDimensionalWarpPart7/33974-01.htm @@ -0,0 +1,5 @@ +Resed:
+Have you been inside Dimensional Warp? My job is to send the explorers to the Dimensional Warp, but I don't have enough information here. I'm continuously collecting more, but it's still not enough.
+I know it won't be easy, but can you do me a favor?
+ + \ No newline at end of file diff --git a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10807_TheDimensionalWarpPart7/33974-02.htm b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10807_TheDimensionalWarpPart7/33974-02.htm new file mode 100644 index 0000000000..afdc867e38 --- /dev/null +++ b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10807_TheDimensionalWarpPart7/33974-02.htm @@ -0,0 +1,5 @@ +Resed:
+In the early stages of a Dimensional Warp, Abyssal Binders come out.
+But we still don't have enough information about them. I need more information about them because people run into them the most.
+ + \ No newline at end of file diff --git a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10807_TheDimensionalWarpPart7/33974-03.htm b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10807_TheDimensionalWarpPart7/33974-03.htm new file mode 100644 index 0000000000..75a1e86195 --- /dev/null +++ b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10807_TheDimensionalWarpPart7/33974-03.htm @@ -0,0 +1,5 @@ +Resed:
+Can we start with 100?
+They come out often, so it won't be too hard. Thank you!
+ + \ No newline at end of file diff --git a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10807_TheDimensionalWarpPart7/33974-04.htm b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10807_TheDimensionalWarpPart7/33974-04.htm new file mode 100644 index 0000000000..efe5447742 --- /dev/null +++ b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10807_TheDimensionalWarpPart7/33974-04.htm @@ -0,0 +1,3 @@ +Resed:
+Kill 100 Abyssal Binders and come back to me. + \ No newline at end of file diff --git a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10807_TheDimensionalWarpPart7/33974-05.html b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10807_TheDimensionalWarpPart7/33974-05.html new file mode 100644 index 0000000000..247b7ae92c --- /dev/null +++ b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10807_TheDimensionalWarpPart7/33974-05.html @@ -0,0 +1,4 @@ +Resed:
+We still don't have enough information. That's not enough.
+Go kill more Abyssal Binders. + \ No newline at end of file diff --git a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10807_TheDimensionalWarpPart7/33974-06.html b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10807_TheDimensionalWarpPart7/33974-06.html new file mode 100644 index 0000000000..731fb678a7 --- /dev/null +++ b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10807_TheDimensionalWarpPart7/33974-06.html @@ -0,0 +1,5 @@ +Resed:
+Thank you. This will be enough.
+Can You give me the information now?
+ + \ No newline at end of file diff --git a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10807_TheDimensionalWarpPart7/33974-07.html b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10807_TheDimensionalWarpPart7/33974-07.html new file mode 100644 index 0000000000..0bb0b71989 --- /dev/null +++ b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10807_TheDimensionalWarpPart7/33974-07.html @@ -0,0 +1,4 @@ +Resed:
+Good work. You're almost at the finish line.
+The reward is better than the last time. Take it. + \ No newline at end of file diff --git a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10807_TheDimensionalWarpPart7/Q10807_TheDimensionalWarpPart7.java b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10807_TheDimensionalWarpPart7/Q10807_TheDimensionalWarpPart7.java new file mode 100644 index 0000000000..3bfffa9350 --- /dev/null +++ b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10807_TheDimensionalWarpPart7/Q10807_TheDimensionalWarpPart7.java @@ -0,0 +1,179 @@ +/* + * 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 . + */ +package quests.Q10807_TheDimensionalWarpPart7; + +import java.util.HashSet; +import java.util.Set; + +import com.l2jmobius.Config; +import com.l2jmobius.gameserver.enums.QuestSound; +import com.l2jmobius.gameserver.model.L2Party; +import com.l2jmobius.gameserver.model.actor.L2Npc; +import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance; +import com.l2jmobius.gameserver.model.holders.NpcLogListHolder; +import com.l2jmobius.gameserver.model.quest.Quest; +import com.l2jmobius.gameserver.model.quest.QuestState; +import com.l2jmobius.gameserver.model.quest.State; + +import quests.Q10806_TheDimensionalWarpPart6.Q10806_TheDimensionalWarpPart6; + +/** + * The Dimensional Warp, Part 7 (10807) + * @URL https://l2wiki.com/The_Dimensional_Warp,_Part_7 + * @author Mobius + */ +public class Q10807_TheDimensionalWarpPart7 extends Quest +{ + // NPC + private static final int RESED = 33974; + // Monsters + private static final int ABYSSAL_BINDER = 23481; + // Others + private static final int MIN_LEVEL = 99; + private static final int WARP_CRYSTAL = 39597; + + public Q10807_TheDimensionalWarpPart7() + { + super(10807); + addStartNpc(RESED); + addTalkId(RESED); + addKillId(ABYSSAL_BINDER); + addCondMinLevel(MIN_LEVEL, "33974-00.htm"); + addCondCompletedQuest(Q10806_TheDimensionalWarpPart6.class.getSimpleName(), ""); + } + + @Override + public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) + { + String htmltext = null; + final QuestState qs = getQuestState(player, false); + if (qs == null) + { + return htmltext; + } + + switch (event) + { + case "33974-02.htm": + case "33974-03.htm": + { + htmltext = event; + break; + } + case "33974-04.htm": + { + qs.startQuest(); + htmltext = event; + break; + } + case "33974-07.html": + { + if (qs.isCond(2)) + { + if (player.getLevel() >= MIN_LEVEL) + { + addExpAndSp(player, 90422325000L, 0); + giveItems(player, WARP_CRYSTAL, 300); + qs.exitQuest(false, true); + htmltext = event; + } + else + { + htmltext = getNoQuestLevelRewardMsg(player); + } + } + break; + } + } + return htmltext; + } + + @Override + public String onTalk(L2Npc npc, L2PcInstance player) + { + final QuestState qs = getQuestState(player, true); + String htmltext = getNoQuestMsg(player); + + switch (qs.getState()) + { + case State.CREATED: + { + htmltext = "33974-01.htm"; + break; + } + case State.STARTED: + { + htmltext = (qs.isCond(1)) ? "33974-05.html" : "33974-06.html"; + break; + } + case State.COMPLETED: + { + htmltext = getAlreadyCompletedMsg(player); + break; + } + } + return htmltext; + } + + @Override + public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon) + { + L2Party party = killer.getParty(); + if (party != null) + { + party.getMembers().forEach(p -> onKill(npc, p)); + } + else + { + onKill(npc, killer); + } + return super.onKill(npc, killer, isSummon); + } + + private void onKill(L2Npc npc, L2PcInstance killer) + { + final QuestState qs = getQuestState(killer, false); + + if ((qs != null) && qs.isCond(1) && (npc.calculateDistance3D(killer) <= Config.ALT_PARTY_RANGE)) + { + int killedBugbear = qs.getInt("killed_" + ABYSSAL_BINDER); + if (killedBugbear < 100) + { + qs.set("killed_" + ABYSSAL_BINDER, ++killedBugbear); + playSound(killer, QuestSound.ITEMSOUND_QUEST_ITEMGET); + } + if (killedBugbear >= 100) + { + qs.setCond(2, true); + } + sendNpcLogList(killer); + } + } + + @Override + public Set getNpcLogList(L2PcInstance player) + { + final QuestState qs = getQuestState(player, false); + if ((qs != null) && qs.isCond(1)) + { + final Set holder = new HashSet<>(); + holder.add(new NpcLogListHolder(ABYSSAL_BINDER, false, qs.getInt("killed_" + ABYSSAL_BINDER))); + return holder; + } + return super.getNpcLogList(player); + } +} diff --git a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/QuestMasterHandler.java b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/QuestMasterHandler.java index eddbaac5cc..c960044f65 100644 --- a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/QuestMasterHandler.java +++ b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/QuestMasterHandler.java @@ -408,6 +408,12 @@ import quests.Q10798_LettersFromTheQueenDragonValley.Q10798_LettersFromTheQueenD import quests.Q10799_StrangeThingsAfootInTheValley.Q10799_StrangeThingsAfootInTheValley; import quests.Q10800_ReconnaissanceAtDragonValley.Q10800_ReconnaissanceAtDragonValley; import quests.Q10801_TheDimensionalWarpPart1.Q10801_TheDimensionalWarpPart1; +import quests.Q10802_TheDimensionalWarpPart2.Q10802_TheDimensionalWarpPart2; +import quests.Q10803_TheDimensionalWarpPart3.Q10803_TheDimensionalWarpPart3; +import quests.Q10804_TheDimensionalWarpPart4.Q10804_TheDimensionalWarpPart4; +import quests.Q10805_TheDimensionalWarpPart5.Q10805_TheDimensionalWarpPart5; +import quests.Q10806_TheDimensionalWarpPart6.Q10806_TheDimensionalWarpPart6; +import quests.Q10807_TheDimensionalWarpPart7.Q10807_TheDimensionalWarpPart7; import quests.Q10811_ExaltedOneWhoFacesTheLimit.Q10811_ExaltedOneWhoFacesTheLimit; import quests.Q10812_FacingSadness.Q10812_FacingSadness; import quests.Q10813_ForGlory.Q10813_ForGlory; @@ -834,6 +840,12 @@ public class QuestMasterHandler Q10799_StrangeThingsAfootInTheValley.class, Q10800_ReconnaissanceAtDragonValley.class, Q10801_TheDimensionalWarpPart1.class, + Q10802_TheDimensionalWarpPart2.class, + Q10803_TheDimensionalWarpPart3.class, + Q10804_TheDimensionalWarpPart4.class, + Q10805_TheDimensionalWarpPart5.class, + Q10806_TheDimensionalWarpPart6.class, + Q10807_TheDimensionalWarpPart7.class, Q10811_ExaltedOneWhoFacesTheLimit.class, Q10812_FacingSadness.class, Q10813_ForGlory.class, diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/MissingQuests.txt b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/MissingQuests.txt index aac7ee5702..c0cbed30ef 100644 --- a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/MissingQuests.txt +++ b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/MissingQuests.txt @@ -231,12 +231,6 @@ 10731 The Minstrel's Song, Part 6 10748 Mysterious Suggestion - 1 10749 Mysterious Suggestion - 2 -10802 The Dimensional Warp, Part 2 -10803 The Dimensional Warp, Part 3 -10804 The Dimensional Warp, Part 4 -10805 The Dimensional Warp, Part 5 -10806 The Dimensional Warp, Part 6 -10807 The Dimensional Warp, Part 7 10844 Bloody Battle - Seizing Supplies 10845 Bloody Battle - Rescue the Smiths 10846 Bloody Battle - Meeting the Commander diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10801_TheDimensionalWarpPart1/Q10801_TheDimensionalWarpPart1.java b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10801_TheDimensionalWarpPart1/Q10801_TheDimensionalWarpPart1.java index f16e4a0045..80f70302f1 100644 --- a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10801_TheDimensionalWarpPart1/Q10801_TheDimensionalWarpPart1.java +++ b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10801_TheDimensionalWarpPart1/Q10801_TheDimensionalWarpPart1.java @@ -41,7 +41,7 @@ public class Q10801_TheDimensionalWarpPart1 extends Quest private static final int RESED = 33974; // Monsters private static final int DIMENSIONAL_BUGBEAR = 23465; - // other + // Others private static final int MIN_LEVEL = 99; private static final int DIMENSIONAL_BRACELET_STAGE_1 = 39747; private static final int WARP_CRYSTAL = 39597; diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10802_TheDimensionalWarpPart2/33974-00.htm b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10802_TheDimensionalWarpPart2/33974-00.htm new file mode 100644 index 0000000000..60df561273 --- /dev/null +++ b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10802_TheDimensionalWarpPart2/33974-00.htm @@ -0,0 +1,4 @@ +Resed:
+Are you trying to enter the Dimensional Warp? It's not a place for people like you.
+(Only characters Lv. 99 or above may undertake this quest.) + \ No newline at end of file diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10802_TheDimensionalWarpPart2/33974-01.htm b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10802_TheDimensionalWarpPart2/33974-01.htm new file mode 100644 index 0000000000..dbbc35f962 --- /dev/null +++ b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10802_TheDimensionalWarpPart2/33974-01.htm @@ -0,0 +1,5 @@ +Resed:
+Have you been inside Dimensional Warp? My job is to send the explorers to the Dimensional Warp, but I don't have enough information here. I'm continuously collecting more, but it's still not enough.
+I know it won't be easy, but can you do me a favor?
+ + \ No newline at end of file diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10802_TheDimensionalWarpPart2/33974-02.htm b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10802_TheDimensionalWarpPart2/33974-02.htm new file mode 100644 index 0000000000..aafbc2ba6f --- /dev/null +++ b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10802_TheDimensionalWarpPart2/33974-02.htm @@ -0,0 +1,5 @@ +Resed:
+In the early stages of a Dimensional Warp, Dimensional Binders come out.
+But we still don't have enough information about them. I need more information about them because people run into them the most.
+ + \ No newline at end of file diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10802_TheDimensionalWarpPart2/33974-03.htm b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10802_TheDimensionalWarpPart2/33974-03.htm new file mode 100644 index 0000000000..36a49fe97d --- /dev/null +++ b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10802_TheDimensionalWarpPart2/33974-03.htm @@ -0,0 +1,5 @@ +Resed:
+Can we start with 100?
+They come out often, so it won't be too hard. Thank you!
+ + \ No newline at end of file diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10802_TheDimensionalWarpPart2/33974-04.htm b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10802_TheDimensionalWarpPart2/33974-04.htm new file mode 100644 index 0000000000..d9ba89a5e4 --- /dev/null +++ b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10802_TheDimensionalWarpPart2/33974-04.htm @@ -0,0 +1,3 @@ +Resed:
+Kill 100 Dimensional Binders and come back to me. + \ No newline at end of file diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10802_TheDimensionalWarpPart2/33974-05.html b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10802_TheDimensionalWarpPart2/33974-05.html new file mode 100644 index 0000000000..4600cd995c --- /dev/null +++ b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10802_TheDimensionalWarpPart2/33974-05.html @@ -0,0 +1,4 @@ +Resed:
+We still don't have enough information. That's not enough.
+Go kill more Dimensional Binders. + \ No newline at end of file diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10802_TheDimensionalWarpPart2/33974-06.html b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10802_TheDimensionalWarpPart2/33974-06.html new file mode 100644 index 0000000000..2076a91123 --- /dev/null +++ b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10802_TheDimensionalWarpPart2/33974-06.html @@ -0,0 +1,5 @@ +Resed:
+Thank you. This will be enough.
+Can You give me the information now?
+ + \ No newline at end of file diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10802_TheDimensionalWarpPart2/33974-07.html b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10802_TheDimensionalWarpPart2/33974-07.html new file mode 100644 index 0000000000..0bb0b71989 --- /dev/null +++ b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10802_TheDimensionalWarpPart2/33974-07.html @@ -0,0 +1,4 @@ +Resed:
+Good work. You're almost at the finish line.
+The reward is better than the last time. Take it. + \ No newline at end of file diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10802_TheDimensionalWarpPart2/Q10802_TheDimensionalWarpPart2.java b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10802_TheDimensionalWarpPart2/Q10802_TheDimensionalWarpPart2.java new file mode 100644 index 0000000000..a6b57f397c --- /dev/null +++ b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10802_TheDimensionalWarpPart2/Q10802_TheDimensionalWarpPart2.java @@ -0,0 +1,179 @@ +/* + * 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 . + */ +package quests.Q10802_TheDimensionalWarpPart2; + +import java.util.HashSet; +import java.util.Set; + +import com.l2jmobius.Config; +import com.l2jmobius.gameserver.enums.QuestSound; +import com.l2jmobius.gameserver.model.L2Party; +import com.l2jmobius.gameserver.model.actor.L2Npc; +import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance; +import com.l2jmobius.gameserver.model.holders.NpcLogListHolder; +import com.l2jmobius.gameserver.model.quest.Quest; +import com.l2jmobius.gameserver.model.quest.QuestState; +import com.l2jmobius.gameserver.model.quest.State; + +import quests.Q10801_TheDimensionalWarpPart1.Q10801_TheDimensionalWarpPart1; + +/** + * The Dimensional Warp, Part 2 (10802) + * @URL https://l2wiki.com/The_Dimensional_Warp,_Part_2 + * @author Mobius + */ +public class Q10802_TheDimensionalWarpPart2 extends Quest +{ + // NPC + private static final int RESED = 33974; + // Monsters + private static final int DIMENSIONAL_BINDER = 23467; + // Others + private static final int MIN_LEVEL = 99; + private static final int WARP_CRYSTAL = 39597; + + public Q10802_TheDimensionalWarpPart2() + { + super(10802); + addStartNpc(RESED); + addTalkId(RESED); + addKillId(DIMENSIONAL_BINDER); + addCondMinLevel(MIN_LEVEL, "33974-00.htm"); + addCondCompletedQuest(Q10801_TheDimensionalWarpPart1.class.getSimpleName(), ""); + } + + @Override + public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) + { + String htmltext = null; + final QuestState qs = getQuestState(player, false); + if (qs == null) + { + return htmltext; + } + + switch (event) + { + case "33974-02.htm": + case "33974-03.htm": + { + htmltext = event; + break; + } + case "33974-04.htm": + { + qs.startQuest(); + htmltext = event; + break; + } + case "33974-07.html": + { + if (qs.isCond(2)) + { + if (player.getLevel() >= MIN_LEVEL) + { + addExpAndSp(player, 49380951086L, 0); + giveItems(player, WARP_CRYSTAL, 300); + qs.exitQuest(false, true); + htmltext = event; + } + else + { + htmltext = getNoQuestLevelRewardMsg(player); + } + } + break; + } + } + return htmltext; + } + + @Override + public String onTalk(L2Npc npc, L2PcInstance player) + { + final QuestState qs = getQuestState(player, true); + String htmltext = getNoQuestMsg(player); + + switch (qs.getState()) + { + case State.CREATED: + { + htmltext = "33974-01.htm"; + break; + } + case State.STARTED: + { + htmltext = (qs.isCond(1)) ? "33974-05.html" : "33974-06.html"; + break; + } + case State.COMPLETED: + { + htmltext = getAlreadyCompletedMsg(player); + break; + } + } + return htmltext; + } + + @Override + public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon) + { + L2Party party = killer.getParty(); + if (party != null) + { + party.getMembers().forEach(p -> onKill(npc, p)); + } + else + { + onKill(npc, killer); + } + return super.onKill(npc, killer, isSummon); + } + + private void onKill(L2Npc npc, L2PcInstance killer) + { + final QuestState qs = getQuestState(killer, false); + + if ((qs != null) && qs.isCond(1) && (npc.calculateDistance3D(killer) <= Config.ALT_PARTY_RANGE)) + { + int killedBugbear = qs.getInt("killed_" + DIMENSIONAL_BINDER); + if (killedBugbear < 100) + { + qs.set("killed_" + DIMENSIONAL_BINDER, ++killedBugbear); + playSound(killer, QuestSound.ITEMSOUND_QUEST_ITEMGET); + } + if (killedBugbear >= 100) + { + qs.setCond(2, true); + } + sendNpcLogList(killer); + } + } + + @Override + public Set getNpcLogList(L2PcInstance player) + { + final QuestState qs = getQuestState(player, false); + if ((qs != null) && qs.isCond(1)) + { + final Set holder = new HashSet<>(); + holder.add(new NpcLogListHolder(DIMENSIONAL_BINDER, false, qs.getInt("killed_" + DIMENSIONAL_BINDER))); + return holder; + } + return super.getNpcLogList(player); + } +} diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10803_TheDimensionalWarpPart3/33974-00.htm b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10803_TheDimensionalWarpPart3/33974-00.htm new file mode 100644 index 0000000000..60df561273 --- /dev/null +++ b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10803_TheDimensionalWarpPart3/33974-00.htm @@ -0,0 +1,4 @@ +Resed:
+Are you trying to enter the Dimensional Warp? It's not a place for people like you.
+(Only characters Lv. 99 or above may undertake this quest.) + \ No newline at end of file diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10803_TheDimensionalWarpPart3/33974-01.htm b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10803_TheDimensionalWarpPart3/33974-01.htm new file mode 100644 index 0000000000..382f41fc38 --- /dev/null +++ b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10803_TheDimensionalWarpPart3/33974-01.htm @@ -0,0 +1,5 @@ +Resed:
+Have you been inside Dimensional Warp? My job is to send the explorers to the Dimensional Warp, but I don't have enough information here. I'm continuously collecting more, but it's still not enough.
+I know it won't be easy, but can you do me a favor?
+ + \ No newline at end of file diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10803_TheDimensionalWarpPart3/33974-02.htm b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10803_TheDimensionalWarpPart3/33974-02.htm new file mode 100644 index 0000000000..0a9f1a8ca8 --- /dev/null +++ b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10803_TheDimensionalWarpPart3/33974-02.htm @@ -0,0 +1,5 @@ +Resed:
+In the early stages of a Dimensional Warp, Unworldly Etins come out.
+But we still don't have enough information about them. I need more information about them because people run into them the most.
+ + \ No newline at end of file diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10803_TheDimensionalWarpPart3/33974-03.htm b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10803_TheDimensionalWarpPart3/33974-03.htm new file mode 100644 index 0000000000..d32288d8be --- /dev/null +++ b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10803_TheDimensionalWarpPart3/33974-03.htm @@ -0,0 +1,5 @@ +Resed:
+Can we start with 100?
+They come out often, so it won't be too hard. Thank you!
+ + \ No newline at end of file diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10803_TheDimensionalWarpPart3/33974-04.htm b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10803_TheDimensionalWarpPart3/33974-04.htm new file mode 100644 index 0000000000..1859f388b6 --- /dev/null +++ b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10803_TheDimensionalWarpPart3/33974-04.htm @@ -0,0 +1,3 @@ +Resed:
+Kill 100 Unworldly Etins and come back to me. + \ No newline at end of file diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10803_TheDimensionalWarpPart3/33974-05.html b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10803_TheDimensionalWarpPart3/33974-05.html new file mode 100644 index 0000000000..2ab774064c --- /dev/null +++ b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10803_TheDimensionalWarpPart3/33974-05.html @@ -0,0 +1,4 @@ +Resed:
+We still don't have enough information. That's not enough.
+Go kill more Unworldly Etins. + \ No newline at end of file diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10803_TheDimensionalWarpPart3/33974-06.html b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10803_TheDimensionalWarpPart3/33974-06.html new file mode 100644 index 0000000000..30d4ab1648 --- /dev/null +++ b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10803_TheDimensionalWarpPart3/33974-06.html @@ -0,0 +1,5 @@ +Resed:
+Thank you. This will be enough.
+Can You give me the information now?
+ + \ No newline at end of file diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10803_TheDimensionalWarpPart3/33974-07.html b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10803_TheDimensionalWarpPart3/33974-07.html new file mode 100644 index 0000000000..0bb0b71989 --- /dev/null +++ b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10803_TheDimensionalWarpPart3/33974-07.html @@ -0,0 +1,4 @@ +Resed:
+Good work. You're almost at the finish line.
+The reward is better than the last time. Take it. + \ No newline at end of file diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10803_TheDimensionalWarpPart3/Q10803_TheDimensionalWarpPart3.java b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10803_TheDimensionalWarpPart3/Q10803_TheDimensionalWarpPart3.java new file mode 100644 index 0000000000..787b66b5ce --- /dev/null +++ b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10803_TheDimensionalWarpPart3/Q10803_TheDimensionalWarpPart3.java @@ -0,0 +1,181 @@ +/* + * 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 . + */ +package quests.Q10803_TheDimensionalWarpPart3; + +import java.util.HashSet; +import java.util.Set; + +import com.l2jmobius.Config; +import com.l2jmobius.gameserver.enums.QuestSound; +import com.l2jmobius.gameserver.model.L2Party; +import com.l2jmobius.gameserver.model.actor.L2Npc; +import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance; +import com.l2jmobius.gameserver.model.holders.NpcLogListHolder; +import com.l2jmobius.gameserver.model.quest.Quest; +import com.l2jmobius.gameserver.model.quest.QuestState; +import com.l2jmobius.gameserver.model.quest.State; + +import quests.Q10802_TheDimensionalWarpPart2.Q10802_TheDimensionalWarpPart2; + +/** + * The Dimensional Warp, Part 3 (10803) + * @URL https://l2wiki.com/The_Dimensional_Warp,_Part_3 + * @author Mobius + */ +public class Q10803_TheDimensionalWarpPart3 extends Quest +{ + // NPC + private static final int RESED = 33974; + // Monsters + private static final int UNWORDLY_ETIN = 23471; + // Others + private static final int MIN_LEVEL = 99; + private static final int BLOODY_ETERNAL_ENHANCEMENT_STONE = 3556; + private static final int WARP_CRYSTAL = 39597; + + public Q10803_TheDimensionalWarpPart3() + { + super(10803); + addStartNpc(RESED); + addTalkId(RESED); + addKillId(UNWORDLY_ETIN); + addCondMinLevel(MIN_LEVEL, "33974-00.htm"); + addCondCompletedQuest(Q10802_TheDimensionalWarpPart2.class.getSimpleName(), ""); + } + + @Override + public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) + { + String htmltext = null; + final QuestState qs = getQuestState(player, false); + if (qs == null) + { + return htmltext; + } + + switch (event) + { + case "33974-02.htm": + case "33974-03.htm": + { + htmltext = event; + break; + } + case "33974-04.htm": + { + qs.startQuest(); + htmltext = event; + break; + } + case "33974-07.html": + { + if (qs.isCond(2)) + { + if (player.getLevel() >= MIN_LEVEL) + { + addExpAndSp(player, 54383249571L, 0); + giveItems(player, BLOODY_ETERNAL_ENHANCEMENT_STONE, 1); + giveItems(player, WARP_CRYSTAL, 300); + qs.exitQuest(false, true); + htmltext = event; + } + else + { + htmltext = getNoQuestLevelRewardMsg(player); + } + } + break; + } + } + return htmltext; + } + + @Override + public String onTalk(L2Npc npc, L2PcInstance player) + { + final QuestState qs = getQuestState(player, true); + String htmltext = getNoQuestMsg(player); + + switch (qs.getState()) + { + case State.CREATED: + { + htmltext = "33974-01.htm"; + break; + } + case State.STARTED: + { + htmltext = (qs.isCond(1)) ? "33974-05.html" : "33974-06.html"; + break; + } + case State.COMPLETED: + { + htmltext = getAlreadyCompletedMsg(player); + break; + } + } + return htmltext; + } + + @Override + public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon) + { + L2Party party = killer.getParty(); + if (party != null) + { + party.getMembers().forEach(p -> onKill(npc, p)); + } + else + { + onKill(npc, killer); + } + return super.onKill(npc, killer, isSummon); + } + + private void onKill(L2Npc npc, L2PcInstance killer) + { + final QuestState qs = getQuestState(killer, false); + + if ((qs != null) && qs.isCond(1) && (npc.calculateDistance3D(killer) <= Config.ALT_PARTY_RANGE)) + { + int killedBugbear = qs.getInt("killed_" + UNWORDLY_ETIN); + if (killedBugbear < 100) + { + qs.set("killed_" + UNWORDLY_ETIN, ++killedBugbear); + playSound(killer, QuestSound.ITEMSOUND_QUEST_ITEMGET); + } + if (killedBugbear >= 100) + { + qs.setCond(2, true); + } + sendNpcLogList(killer); + } + } + + @Override + public Set getNpcLogList(L2PcInstance player) + { + final QuestState qs = getQuestState(player, false); + if ((qs != null) && qs.isCond(1)) + { + final Set holder = new HashSet<>(); + holder.add(new NpcLogListHolder(UNWORDLY_ETIN, false, qs.getInt("killed_" + UNWORDLY_ETIN))); + return holder; + } + return super.getNpcLogList(player); + } +} diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10804_TheDimensionalWarpPart4/33974-00.htm b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10804_TheDimensionalWarpPart4/33974-00.htm new file mode 100644 index 0000000000..60df561273 --- /dev/null +++ b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10804_TheDimensionalWarpPart4/33974-00.htm @@ -0,0 +1,4 @@ +Resed:
+Are you trying to enter the Dimensional Warp? It's not a place for people like you.
+(Only characters Lv. 99 or above may undertake this quest.) + \ No newline at end of file diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10804_TheDimensionalWarpPart4/33974-01.htm b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10804_TheDimensionalWarpPart4/33974-01.htm new file mode 100644 index 0000000000..0c799f407c --- /dev/null +++ b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10804_TheDimensionalWarpPart4/33974-01.htm @@ -0,0 +1,5 @@ +Resed:
+Have you been inside Dimensional Warp? My job is to send the explorers to the Dimensional Warp, but I don't have enough information here. I'm continuously collecting more, but it's still not enough.
+I know it won't be easy, but can you do me a favor?
+ + \ No newline at end of file diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10804_TheDimensionalWarpPart4/33974-02.htm b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10804_TheDimensionalWarpPart4/33974-02.htm new file mode 100644 index 0000000000..b9a34b4c39 --- /dev/null +++ b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10804_TheDimensionalWarpPart4/33974-02.htm @@ -0,0 +1,5 @@ +Resed:
+In the early stages of a Dimensional Warp, Unworldly Golems come out.
+But we still don't have enough information about them. I need more information about them because people run into them the most.
+ + \ No newline at end of file diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10804_TheDimensionalWarpPart4/33974-03.htm b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10804_TheDimensionalWarpPart4/33974-03.htm new file mode 100644 index 0000000000..54cc3098d0 --- /dev/null +++ b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10804_TheDimensionalWarpPart4/33974-03.htm @@ -0,0 +1,5 @@ +Resed:
+Can we start with 100?
+They come out often, so it won't be too hard. Thank you!
+ + \ No newline at end of file diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10804_TheDimensionalWarpPart4/33974-04.htm b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10804_TheDimensionalWarpPart4/33974-04.htm new file mode 100644 index 0000000000..e779ceb0ab --- /dev/null +++ b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10804_TheDimensionalWarpPart4/33974-04.htm @@ -0,0 +1,3 @@ +Resed:
+Kill 100 Unworldly Golems and come back to me. + \ No newline at end of file diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10804_TheDimensionalWarpPart4/33974-05.html b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10804_TheDimensionalWarpPart4/33974-05.html new file mode 100644 index 0000000000..2ab4351dd7 --- /dev/null +++ b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10804_TheDimensionalWarpPart4/33974-05.html @@ -0,0 +1,4 @@ +Resed:
+We still don't have enough information. That's not enough.
+Go kill more Unworldly Golems. + \ No newline at end of file diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10804_TheDimensionalWarpPart4/33974-06.html b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10804_TheDimensionalWarpPart4/33974-06.html new file mode 100644 index 0000000000..58721db127 --- /dev/null +++ b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10804_TheDimensionalWarpPart4/33974-06.html @@ -0,0 +1,5 @@ +Resed:
+Thank you. This will be enough.
+Can You give me the information now?
+ + \ No newline at end of file diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10804_TheDimensionalWarpPart4/33974-07.html b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10804_TheDimensionalWarpPart4/33974-07.html new file mode 100644 index 0000000000..0bb0b71989 --- /dev/null +++ b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10804_TheDimensionalWarpPart4/33974-07.html @@ -0,0 +1,4 @@ +Resed:
+Good work. You're almost at the finish line.
+The reward is better than the last time. Take it. + \ No newline at end of file diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10804_TheDimensionalWarpPart4/Q10804_TheDimensionalWarpPart4.java b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10804_TheDimensionalWarpPart4/Q10804_TheDimensionalWarpPart4.java new file mode 100644 index 0000000000..4cd643fb80 --- /dev/null +++ b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10804_TheDimensionalWarpPart4/Q10804_TheDimensionalWarpPart4.java @@ -0,0 +1,181 @@ +/* + * 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 . + */ +package quests.Q10804_TheDimensionalWarpPart4; + +import java.util.HashSet; +import java.util.Set; + +import com.l2jmobius.Config; +import com.l2jmobius.gameserver.enums.QuestSound; +import com.l2jmobius.gameserver.model.L2Party; +import com.l2jmobius.gameserver.model.actor.L2Npc; +import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance; +import com.l2jmobius.gameserver.model.holders.NpcLogListHolder; +import com.l2jmobius.gameserver.model.quest.Quest; +import com.l2jmobius.gameserver.model.quest.QuestState; +import com.l2jmobius.gameserver.model.quest.State; + +import quests.Q10803_TheDimensionalWarpPart3.Q10803_TheDimensionalWarpPart3; + +/** + * The Dimensional Warp, Part 4 (10804) + * @URL https://l2wiki.com/The_Dimensional_Warp,_Part_4 + * @author Mobius + */ +public class Q10804_TheDimensionalWarpPart4 extends Quest +{ + // NPC + private static final int RESED = 33974; + // Monsters + private static final int UNWORLDLY_GOLEM = 23474; + // Others + private static final int MIN_LEVEL = 99; + private static final int DARK_ETERNAL_ENHANCEMENT_STONE = 35567; + private static final int WARP_CRYSTAL = 39597; + + public Q10804_TheDimensionalWarpPart4() + { + super(10804); + addStartNpc(RESED); + addTalkId(RESED); + addKillId(UNWORLDLY_GOLEM); + addCondMinLevel(MIN_LEVEL, "33974-00.htm"); + addCondCompletedQuest(Q10803_TheDimensionalWarpPart3.class.getSimpleName(), ""); + } + + @Override + public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) + { + String htmltext = null; + final QuestState qs = getQuestState(player, false); + if (qs == null) + { + return htmltext; + } + + switch (event) + { + case "33974-02.htm": + case "33974-03.htm": + { + htmltext = event; + break; + } + case "33974-04.htm": + { + qs.startQuest(); + htmltext = event; + break; + } + case "33974-07.html": + { + if (qs.isCond(2)) + { + if (player.getLevel() >= MIN_LEVEL) + { + addExpAndSp(player, 60425832857L, 0); + giveItems(player, DARK_ETERNAL_ENHANCEMENT_STONE, 1); + giveItems(player, WARP_CRYSTAL, 300); + qs.exitQuest(false, true); + htmltext = event; + } + else + { + htmltext = getNoQuestLevelRewardMsg(player); + } + } + break; + } + } + return htmltext; + } + + @Override + public String onTalk(L2Npc npc, L2PcInstance player) + { + final QuestState qs = getQuestState(player, true); + String htmltext = getNoQuestMsg(player); + + switch (qs.getState()) + { + case State.CREATED: + { + htmltext = "33974-01.htm"; + break; + } + case State.STARTED: + { + htmltext = (qs.isCond(1)) ? "33974-05.html" : "33974-06.html"; + break; + } + case State.COMPLETED: + { + htmltext = getAlreadyCompletedMsg(player); + break; + } + } + return htmltext; + } + + @Override + public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon) + { + L2Party party = killer.getParty(); + if (party != null) + { + party.getMembers().forEach(p -> onKill(npc, p)); + } + else + { + onKill(npc, killer); + } + return super.onKill(npc, killer, isSummon); + } + + private void onKill(L2Npc npc, L2PcInstance killer) + { + final QuestState qs = getQuestState(killer, false); + + if ((qs != null) && qs.isCond(1) && (npc.calculateDistance3D(killer) <= Config.ALT_PARTY_RANGE)) + { + int killedBugbear = qs.getInt("killed_" + UNWORLDLY_GOLEM); + if (killedBugbear < 100) + { + qs.set("killed_" + UNWORLDLY_GOLEM, ++killedBugbear); + playSound(killer, QuestSound.ITEMSOUND_QUEST_ITEMGET); + } + if (killedBugbear >= 100) + { + qs.setCond(2, true); + } + sendNpcLogList(killer); + } + } + + @Override + public Set getNpcLogList(L2PcInstance player) + { + final QuestState qs = getQuestState(player, false); + if ((qs != null) && qs.isCond(1)) + { + final Set holder = new HashSet<>(); + holder.add(new NpcLogListHolder(UNWORLDLY_GOLEM, false, qs.getInt("killed_" + UNWORLDLY_GOLEM))); + return holder; + } + return super.getNpcLogList(player); + } +} diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10805_TheDimensionalWarpPart5/33974-00.htm b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10805_TheDimensionalWarpPart5/33974-00.htm new file mode 100644 index 0000000000..60df561273 --- /dev/null +++ b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10805_TheDimensionalWarpPart5/33974-00.htm @@ -0,0 +1,4 @@ +Resed:
+Are you trying to enter the Dimensional Warp? It's not a place for people like you.
+(Only characters Lv. 99 or above may undertake this quest.) + \ No newline at end of file diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10805_TheDimensionalWarpPart5/33974-01.htm b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10805_TheDimensionalWarpPart5/33974-01.htm new file mode 100644 index 0000000000..94efd045d6 --- /dev/null +++ b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10805_TheDimensionalWarpPart5/33974-01.htm @@ -0,0 +1,5 @@ +Resed:
+Have you been inside Dimensional Warp? My job is to send the explorers to the Dimensional Warp, but I don't have enough information here. I'm continuously collecting more, but it's still not enough.
+I know it won't be easy, but can you do me a favor?
+ + \ No newline at end of file diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10805_TheDimensionalWarpPart5/33974-02.htm b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10805_TheDimensionalWarpPart5/33974-02.htm new file mode 100644 index 0000000000..1a4c02567e --- /dev/null +++ b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10805_TheDimensionalWarpPart5/33974-02.htm @@ -0,0 +1,5 @@ +Resed:
+In the early stages of a Dimensional Warp, Abyssal Golems come out.
+But we still don't have enough information about them. I need more information about them because people run into them the most.
+ + \ No newline at end of file diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10805_TheDimensionalWarpPart5/33974-03.htm b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10805_TheDimensionalWarpPart5/33974-03.htm new file mode 100644 index 0000000000..bde468aefa --- /dev/null +++ b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10805_TheDimensionalWarpPart5/33974-03.htm @@ -0,0 +1,5 @@ +Resed:
+Can we start with 100?
+They come out often, so it won't be too hard. Thank you!
+ + \ No newline at end of file diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10805_TheDimensionalWarpPart5/33974-04.htm b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10805_TheDimensionalWarpPart5/33974-04.htm new file mode 100644 index 0000000000..27ef4dd594 --- /dev/null +++ b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10805_TheDimensionalWarpPart5/33974-04.htm @@ -0,0 +1,3 @@ +Resed:
+Kill 100 Abyssal Golems and come back to me. + \ No newline at end of file diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10805_TheDimensionalWarpPart5/33974-05.html b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10805_TheDimensionalWarpPart5/33974-05.html new file mode 100644 index 0000000000..0e68d1a707 --- /dev/null +++ b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10805_TheDimensionalWarpPart5/33974-05.html @@ -0,0 +1,4 @@ +Resed:
+We still don't have enough information. That's not enough.
+Go kill more Abyssal Golems. + \ No newline at end of file diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10805_TheDimensionalWarpPart5/33974-06.html b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10805_TheDimensionalWarpPart5/33974-06.html new file mode 100644 index 0000000000..79676ce4e8 --- /dev/null +++ b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10805_TheDimensionalWarpPart5/33974-06.html @@ -0,0 +1,5 @@ +Resed:
+Thank you. This will be enough.
+Can You give me the information now?
+ + \ No newline at end of file diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10805_TheDimensionalWarpPart5/33974-07.html b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10805_TheDimensionalWarpPart5/33974-07.html new file mode 100644 index 0000000000..0bb0b71989 --- /dev/null +++ b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10805_TheDimensionalWarpPart5/33974-07.html @@ -0,0 +1,4 @@ +Resed:
+Good work. You're almost at the finish line.
+The reward is better than the last time. Take it. + \ No newline at end of file diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10805_TheDimensionalWarpPart5/Q10805_TheDimensionalWarpPart5.java b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10805_TheDimensionalWarpPart5/Q10805_TheDimensionalWarpPart5.java new file mode 100644 index 0000000000..4fe0016a21 --- /dev/null +++ b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10805_TheDimensionalWarpPart5/Q10805_TheDimensionalWarpPart5.java @@ -0,0 +1,181 @@ +/* + * 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 . + */ +package quests.Q10805_TheDimensionalWarpPart5; + +import java.util.HashSet; +import java.util.Set; + +import com.l2jmobius.Config; +import com.l2jmobius.gameserver.enums.QuestSound; +import com.l2jmobius.gameserver.model.L2Party; +import com.l2jmobius.gameserver.model.actor.L2Npc; +import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance; +import com.l2jmobius.gameserver.model.holders.NpcLogListHolder; +import com.l2jmobius.gameserver.model.quest.Quest; +import com.l2jmobius.gameserver.model.quest.QuestState; +import com.l2jmobius.gameserver.model.quest.State; + +import quests.Q10804_TheDimensionalWarpPart4.Q10804_TheDimensionalWarpPart4; + +/** + * The Dimensional Warp, Part 5 (10805) + * @URL https://l2wiki.com/The_Dimensional_Warp,_Part_5 + * @author Mobius + */ +public class Q10805_TheDimensionalWarpPart5 extends Quest +{ + // NPC + private static final int RESED = 33974; + // Monsters + private static final int ABYSSAL_GOLEM = 23483; + // Others + private static final int MIN_LEVEL = 99; + private static final int DARK_ETERNAL_ENHANCEMENT_STONE = 35567; + private static final int WARP_CRYSTAL = 39597; + + public Q10805_TheDimensionalWarpPart5() + { + super(10805); + addStartNpc(RESED); + addTalkId(RESED); + addKillId(ABYSSAL_GOLEM); + addCondMinLevel(MIN_LEVEL, "33974-00.htm"); + addCondCompletedQuest(Q10804_TheDimensionalWarpPart4.class.getSimpleName(), ""); + } + + @Override + public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) + { + String htmltext = null; + final QuestState qs = getQuestState(player, false); + if (qs == null) + { + return htmltext; + } + + switch (event) + { + case "33974-02.htm": + case "33974-03.htm": + { + htmltext = event; + break; + } + case "33974-04.htm": + { + qs.startQuest(); + htmltext = event; + break; + } + case "33974-07.html": + { + if (qs.isCond(2)) + { + if (player.getLevel() >= MIN_LEVEL) + { + addExpAndSp(player, 66530730240L, 0); + giveItems(player, DARK_ETERNAL_ENHANCEMENT_STONE, 1); + giveItems(player, WARP_CRYSTAL, 300); + qs.exitQuest(false, true); + htmltext = event; + } + else + { + htmltext = getNoQuestLevelRewardMsg(player); + } + } + break; + } + } + return htmltext; + } + + @Override + public String onTalk(L2Npc npc, L2PcInstance player) + { + final QuestState qs = getQuestState(player, true); + String htmltext = getNoQuestMsg(player); + + switch (qs.getState()) + { + case State.CREATED: + { + htmltext = "33974-01.htm"; + break; + } + case State.STARTED: + { + htmltext = (qs.isCond(1)) ? "33974-05.html" : "33974-06.html"; + break; + } + case State.COMPLETED: + { + htmltext = getAlreadyCompletedMsg(player); + break; + } + } + return htmltext; + } + + @Override + public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon) + { + L2Party party = killer.getParty(); + if (party != null) + { + party.getMembers().forEach(p -> onKill(npc, p)); + } + else + { + onKill(npc, killer); + } + return super.onKill(npc, killer, isSummon); + } + + private void onKill(L2Npc npc, L2PcInstance killer) + { + final QuestState qs = getQuestState(killer, false); + + if ((qs != null) && qs.isCond(1) && (npc.calculateDistance3D(killer) <= Config.ALT_PARTY_RANGE)) + { + int killedBugbear = qs.getInt("killed_" + ABYSSAL_GOLEM); + if (killedBugbear < 100) + { + qs.set("killed_" + ABYSSAL_GOLEM, ++killedBugbear); + playSound(killer, QuestSound.ITEMSOUND_QUEST_ITEMGET); + } + if (killedBugbear >= 100) + { + qs.setCond(2, true); + } + sendNpcLogList(killer); + } + } + + @Override + public Set getNpcLogList(L2PcInstance player) + { + final QuestState qs = getQuestState(player, false); + if ((qs != null) && qs.isCond(1)) + { + final Set holder = new HashSet<>(); + holder.add(new NpcLogListHolder(ABYSSAL_GOLEM, false, qs.getInt("killed_" + ABYSSAL_GOLEM))); + return holder; + } + return super.getNpcLogList(player); + } +} diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10806_TheDimensionalWarpPart6/33974-00.htm b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10806_TheDimensionalWarpPart6/33974-00.htm new file mode 100644 index 0000000000..60df561273 --- /dev/null +++ b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10806_TheDimensionalWarpPart6/33974-00.htm @@ -0,0 +1,4 @@ +Resed:
+Are you trying to enter the Dimensional Warp? It's not a place for people like you.
+(Only characters Lv. 99 or above may undertake this quest.) + \ No newline at end of file diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10806_TheDimensionalWarpPart6/33974-01.htm b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10806_TheDimensionalWarpPart6/33974-01.htm new file mode 100644 index 0000000000..d51b478618 --- /dev/null +++ b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10806_TheDimensionalWarpPart6/33974-01.htm @@ -0,0 +1,5 @@ +Resed:
+Have you been inside Dimensional Warp? My job is to send the explorers to the Dimensional Warp, but I don't have enough information here. I'm continuously collecting more, but it's still not enough.
+I know it won't be easy, but can you do me a favor?
+ + \ No newline at end of file diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10806_TheDimensionalWarpPart6/33974-02.htm b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10806_TheDimensionalWarpPart6/33974-02.htm new file mode 100644 index 0000000000..8ecea0f173 --- /dev/null +++ b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10806_TheDimensionalWarpPart6/33974-02.htm @@ -0,0 +1,5 @@ +Resed:
+In the early stages of a Dimensional Warp, Abyssal Berserkers come out.
+But we still don't have enough information about them. I need more information about them because people run into them the most.
+ + \ No newline at end of file diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10806_TheDimensionalWarpPart6/33974-03.htm b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10806_TheDimensionalWarpPart6/33974-03.htm new file mode 100644 index 0000000000..a052b31368 --- /dev/null +++ b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10806_TheDimensionalWarpPart6/33974-03.htm @@ -0,0 +1,5 @@ +Resed:
+Can we start with 100?
+They come out often, so it won't be too hard. Thank you!
+ + \ No newline at end of file diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10806_TheDimensionalWarpPart6/33974-04.htm b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10806_TheDimensionalWarpPart6/33974-04.htm new file mode 100644 index 0000000000..fbc9031a8f --- /dev/null +++ b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10806_TheDimensionalWarpPart6/33974-04.htm @@ -0,0 +1,3 @@ +Resed:
+Kill 100 Abyssal Berserkers and come back to me. + \ No newline at end of file diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10806_TheDimensionalWarpPart6/33974-05.html b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10806_TheDimensionalWarpPart6/33974-05.html new file mode 100644 index 0000000000..998d299659 --- /dev/null +++ b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10806_TheDimensionalWarpPart6/33974-05.html @@ -0,0 +1,4 @@ +Resed:
+We still don't have enough information. That's not enough.
+Go kill more Abyssal Berserkers. + \ No newline at end of file diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10806_TheDimensionalWarpPart6/33974-06.html b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10806_TheDimensionalWarpPart6/33974-06.html new file mode 100644 index 0000000000..295f620d0c --- /dev/null +++ b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10806_TheDimensionalWarpPart6/33974-06.html @@ -0,0 +1,5 @@ +Resed:
+Thank you. This will be enough.
+Can You give me the information now?
+ + \ No newline at end of file diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10806_TheDimensionalWarpPart6/33974-07.html b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10806_TheDimensionalWarpPart6/33974-07.html new file mode 100644 index 0000000000..0bb0b71989 --- /dev/null +++ b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10806_TheDimensionalWarpPart6/33974-07.html @@ -0,0 +1,4 @@ +Resed:
+Good work. You're almost at the finish line.
+The reward is better than the last time. Take it. + \ No newline at end of file diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10806_TheDimensionalWarpPart6/Q10806_TheDimensionalWarpPart6.java b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10806_TheDimensionalWarpPart6/Q10806_TheDimensionalWarpPart6.java new file mode 100644 index 0000000000..9b65bc5a6c --- /dev/null +++ b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10806_TheDimensionalWarpPart6/Q10806_TheDimensionalWarpPart6.java @@ -0,0 +1,179 @@ +/* + * 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 . + */ +package quests.Q10806_TheDimensionalWarpPart6; + +import java.util.HashSet; +import java.util.Set; + +import com.l2jmobius.Config; +import com.l2jmobius.gameserver.enums.QuestSound; +import com.l2jmobius.gameserver.model.L2Party; +import com.l2jmobius.gameserver.model.actor.L2Npc; +import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance; +import com.l2jmobius.gameserver.model.holders.NpcLogListHolder; +import com.l2jmobius.gameserver.model.quest.Quest; +import com.l2jmobius.gameserver.model.quest.QuestState; +import com.l2jmobius.gameserver.model.quest.State; + +import quests.Q10805_TheDimensionalWarpPart5.Q10805_TheDimensionalWarpPart5; + +/** + * The Dimensional Warp, Part 6 (10806) + * @URL https://l2wiki.com/The_Dimensional_Warp,_Part_6 + * @author Mobius + */ +public class Q10806_TheDimensionalWarpPart6 extends Quest +{ + // NPC + private static final int RESED = 33974; + // Monsters + private static final int ABYSSAL_BERSERKER = 23478; + // Others + private static final int MIN_LEVEL = 99; + private static final int WARP_CRYSTAL = 39597; + + public Q10806_TheDimensionalWarpPart6() + { + super(10806); + addStartNpc(RESED); + addTalkId(RESED); + addKillId(ABYSSAL_BERSERKER); + addCondMinLevel(MIN_LEVEL, "33974-00.htm"); + addCondCompletedQuest(Q10805_TheDimensionalWarpPart5.class.getSimpleName(), ""); + } + + @Override + public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) + { + String htmltext = null; + final QuestState qs = getQuestState(player, false); + if (qs == null) + { + return htmltext; + } + + switch (event) + { + case "33974-02.htm": + case "33974-03.htm": + { + htmltext = event; + break; + } + case "33974-04.htm": + { + qs.startQuest(); + htmltext = event; + break; + } + case "33974-07.html": + { + if (qs.isCond(2)) + { + if (player.getLevel() >= MIN_LEVEL) + { + addExpAndSp(player, 73923033600L, 0); + giveItems(player, WARP_CRYSTAL, 300); + qs.exitQuest(false, true); + htmltext = event; + } + else + { + htmltext = getNoQuestLevelRewardMsg(player); + } + } + break; + } + } + return htmltext; + } + + @Override + public String onTalk(L2Npc npc, L2PcInstance player) + { + final QuestState qs = getQuestState(player, true); + String htmltext = getNoQuestMsg(player); + + switch (qs.getState()) + { + case State.CREATED: + { + htmltext = "33974-01.htm"; + break; + } + case State.STARTED: + { + htmltext = (qs.isCond(1)) ? "33974-05.html" : "33974-06.html"; + break; + } + case State.COMPLETED: + { + htmltext = getAlreadyCompletedMsg(player); + break; + } + } + return htmltext; + } + + @Override + public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon) + { + L2Party party = killer.getParty(); + if (party != null) + { + party.getMembers().forEach(p -> onKill(npc, p)); + } + else + { + onKill(npc, killer); + } + return super.onKill(npc, killer, isSummon); + } + + private void onKill(L2Npc npc, L2PcInstance killer) + { + final QuestState qs = getQuestState(killer, false); + + if ((qs != null) && qs.isCond(1) && (npc.calculateDistance3D(killer) <= Config.ALT_PARTY_RANGE)) + { + int killedBugbear = qs.getInt("killed_" + ABYSSAL_BERSERKER); + if (killedBugbear < 100) + { + qs.set("killed_" + ABYSSAL_BERSERKER, ++killedBugbear); + playSound(killer, QuestSound.ITEMSOUND_QUEST_ITEMGET); + } + if (killedBugbear >= 100) + { + qs.setCond(2, true); + } + sendNpcLogList(killer); + } + } + + @Override + public Set getNpcLogList(L2PcInstance player) + { + final QuestState qs = getQuestState(player, false); + if ((qs != null) && qs.isCond(1)) + { + final Set holder = new HashSet<>(); + holder.add(new NpcLogListHolder(ABYSSAL_BERSERKER, false, qs.getInt("killed_" + ABYSSAL_BERSERKER))); + return holder; + } + return super.getNpcLogList(player); + } +} diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10807_TheDimensionalWarpPart7/33974-00.htm b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10807_TheDimensionalWarpPart7/33974-00.htm new file mode 100644 index 0000000000..60df561273 --- /dev/null +++ b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10807_TheDimensionalWarpPart7/33974-00.htm @@ -0,0 +1,4 @@ +Resed:
+Are you trying to enter the Dimensional Warp? It's not a place for people like you.
+(Only characters Lv. 99 or above may undertake this quest.) + \ No newline at end of file diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10807_TheDimensionalWarpPart7/33974-01.htm b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10807_TheDimensionalWarpPart7/33974-01.htm new file mode 100644 index 0000000000..c75e1b123e --- /dev/null +++ b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10807_TheDimensionalWarpPart7/33974-01.htm @@ -0,0 +1,5 @@ +Resed:
+Have you been inside Dimensional Warp? My job is to send the explorers to the Dimensional Warp, but I don't have enough information here. I'm continuously collecting more, but it's still not enough.
+I know it won't be easy, but can you do me a favor?
+ + \ No newline at end of file diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10807_TheDimensionalWarpPart7/33974-02.htm b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10807_TheDimensionalWarpPart7/33974-02.htm new file mode 100644 index 0000000000..afdc867e38 --- /dev/null +++ b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10807_TheDimensionalWarpPart7/33974-02.htm @@ -0,0 +1,5 @@ +Resed:
+In the early stages of a Dimensional Warp, Abyssal Binders come out.
+But we still don't have enough information about them. I need more information about them because people run into them the most.
+ + \ No newline at end of file diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10807_TheDimensionalWarpPart7/33974-03.htm b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10807_TheDimensionalWarpPart7/33974-03.htm new file mode 100644 index 0000000000..75a1e86195 --- /dev/null +++ b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10807_TheDimensionalWarpPart7/33974-03.htm @@ -0,0 +1,5 @@ +Resed:
+Can we start with 100?
+They come out often, so it won't be too hard. Thank you!
+ + \ No newline at end of file diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10807_TheDimensionalWarpPart7/33974-04.htm b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10807_TheDimensionalWarpPart7/33974-04.htm new file mode 100644 index 0000000000..efe5447742 --- /dev/null +++ b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10807_TheDimensionalWarpPart7/33974-04.htm @@ -0,0 +1,3 @@ +Resed:
+Kill 100 Abyssal Binders and come back to me. + \ No newline at end of file diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10807_TheDimensionalWarpPart7/33974-05.html b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10807_TheDimensionalWarpPart7/33974-05.html new file mode 100644 index 0000000000..247b7ae92c --- /dev/null +++ b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10807_TheDimensionalWarpPart7/33974-05.html @@ -0,0 +1,4 @@ +Resed:
+We still don't have enough information. That's not enough.
+Go kill more Abyssal Binders. + \ No newline at end of file diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10807_TheDimensionalWarpPart7/33974-06.html b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10807_TheDimensionalWarpPart7/33974-06.html new file mode 100644 index 0000000000..731fb678a7 --- /dev/null +++ b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10807_TheDimensionalWarpPart7/33974-06.html @@ -0,0 +1,5 @@ +Resed:
+Thank you. This will be enough.
+Can You give me the information now?
+ + \ No newline at end of file diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10807_TheDimensionalWarpPart7/33974-07.html b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10807_TheDimensionalWarpPart7/33974-07.html new file mode 100644 index 0000000000..0bb0b71989 --- /dev/null +++ b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10807_TheDimensionalWarpPart7/33974-07.html @@ -0,0 +1,4 @@ +Resed:
+Good work. You're almost at the finish line.
+The reward is better than the last time. Take it. + \ No newline at end of file diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10807_TheDimensionalWarpPart7/Q10807_TheDimensionalWarpPart7.java b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10807_TheDimensionalWarpPart7/Q10807_TheDimensionalWarpPart7.java new file mode 100644 index 0000000000..3bfffa9350 --- /dev/null +++ b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10807_TheDimensionalWarpPart7/Q10807_TheDimensionalWarpPart7.java @@ -0,0 +1,179 @@ +/* + * 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 . + */ +package quests.Q10807_TheDimensionalWarpPart7; + +import java.util.HashSet; +import java.util.Set; + +import com.l2jmobius.Config; +import com.l2jmobius.gameserver.enums.QuestSound; +import com.l2jmobius.gameserver.model.L2Party; +import com.l2jmobius.gameserver.model.actor.L2Npc; +import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance; +import com.l2jmobius.gameserver.model.holders.NpcLogListHolder; +import com.l2jmobius.gameserver.model.quest.Quest; +import com.l2jmobius.gameserver.model.quest.QuestState; +import com.l2jmobius.gameserver.model.quest.State; + +import quests.Q10806_TheDimensionalWarpPart6.Q10806_TheDimensionalWarpPart6; + +/** + * The Dimensional Warp, Part 7 (10807) + * @URL https://l2wiki.com/The_Dimensional_Warp,_Part_7 + * @author Mobius + */ +public class Q10807_TheDimensionalWarpPart7 extends Quest +{ + // NPC + private static final int RESED = 33974; + // Monsters + private static final int ABYSSAL_BINDER = 23481; + // Others + private static final int MIN_LEVEL = 99; + private static final int WARP_CRYSTAL = 39597; + + public Q10807_TheDimensionalWarpPart7() + { + super(10807); + addStartNpc(RESED); + addTalkId(RESED); + addKillId(ABYSSAL_BINDER); + addCondMinLevel(MIN_LEVEL, "33974-00.htm"); + addCondCompletedQuest(Q10806_TheDimensionalWarpPart6.class.getSimpleName(), ""); + } + + @Override + public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) + { + String htmltext = null; + final QuestState qs = getQuestState(player, false); + if (qs == null) + { + return htmltext; + } + + switch (event) + { + case "33974-02.htm": + case "33974-03.htm": + { + htmltext = event; + break; + } + case "33974-04.htm": + { + qs.startQuest(); + htmltext = event; + break; + } + case "33974-07.html": + { + if (qs.isCond(2)) + { + if (player.getLevel() >= MIN_LEVEL) + { + addExpAndSp(player, 90422325000L, 0); + giveItems(player, WARP_CRYSTAL, 300); + qs.exitQuest(false, true); + htmltext = event; + } + else + { + htmltext = getNoQuestLevelRewardMsg(player); + } + } + break; + } + } + return htmltext; + } + + @Override + public String onTalk(L2Npc npc, L2PcInstance player) + { + final QuestState qs = getQuestState(player, true); + String htmltext = getNoQuestMsg(player); + + switch (qs.getState()) + { + case State.CREATED: + { + htmltext = "33974-01.htm"; + break; + } + case State.STARTED: + { + htmltext = (qs.isCond(1)) ? "33974-05.html" : "33974-06.html"; + break; + } + case State.COMPLETED: + { + htmltext = getAlreadyCompletedMsg(player); + break; + } + } + return htmltext; + } + + @Override + public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon) + { + L2Party party = killer.getParty(); + if (party != null) + { + party.getMembers().forEach(p -> onKill(npc, p)); + } + else + { + onKill(npc, killer); + } + return super.onKill(npc, killer, isSummon); + } + + private void onKill(L2Npc npc, L2PcInstance killer) + { + final QuestState qs = getQuestState(killer, false); + + if ((qs != null) && qs.isCond(1) && (npc.calculateDistance3D(killer) <= Config.ALT_PARTY_RANGE)) + { + int killedBugbear = qs.getInt("killed_" + ABYSSAL_BINDER); + if (killedBugbear < 100) + { + qs.set("killed_" + ABYSSAL_BINDER, ++killedBugbear); + playSound(killer, QuestSound.ITEMSOUND_QUEST_ITEMGET); + } + if (killedBugbear >= 100) + { + qs.setCond(2, true); + } + sendNpcLogList(killer); + } + } + + @Override + public Set getNpcLogList(L2PcInstance player) + { + final QuestState qs = getQuestState(player, false); + if ((qs != null) && qs.isCond(1)) + { + final Set holder = new HashSet<>(); + holder.add(new NpcLogListHolder(ABYSSAL_BINDER, false, qs.getInt("killed_" + ABYSSAL_BINDER))); + return holder; + } + return super.getNpcLogList(player); + } +} diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/QuestMasterHandler.java b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/QuestMasterHandler.java index 019a83fcd3..17770873dc 100644 --- a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/QuestMasterHandler.java +++ b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/QuestMasterHandler.java @@ -357,6 +357,12 @@ import quests.Q10798_LettersFromTheQueenDragonValley.Q10798_LettersFromTheQueenD import quests.Q10799_StrangeThingsAfootInTheValley.Q10799_StrangeThingsAfootInTheValley; import quests.Q10800_ReconnaissanceAtDragonValley.Q10800_ReconnaissanceAtDragonValley; import quests.Q10801_TheDimensionalWarpPart1.Q10801_TheDimensionalWarpPart1; +import quests.Q10802_TheDimensionalWarpPart2.Q10802_TheDimensionalWarpPart2; +import quests.Q10803_TheDimensionalWarpPart3.Q10803_TheDimensionalWarpPart3; +import quests.Q10804_TheDimensionalWarpPart4.Q10804_TheDimensionalWarpPart4; +import quests.Q10805_TheDimensionalWarpPart5.Q10805_TheDimensionalWarpPart5; +import quests.Q10806_TheDimensionalWarpPart6.Q10806_TheDimensionalWarpPart6; +import quests.Q10807_TheDimensionalWarpPart7.Q10807_TheDimensionalWarpPart7; import quests.Q10811_ExaltedOneWhoFacesTheLimit.Q10811_ExaltedOneWhoFacesTheLimit; import quests.Q10812_FacingSadness.Q10812_FacingSadness; import quests.Q10813_ForGlory.Q10813_ForGlory; @@ -732,6 +738,12 @@ public class QuestMasterHandler Q10799_StrangeThingsAfootInTheValley.class, Q10800_ReconnaissanceAtDragonValley.class, Q10801_TheDimensionalWarpPart1.class, + Q10802_TheDimensionalWarpPart2.class, + Q10803_TheDimensionalWarpPart3.class, + Q10804_TheDimensionalWarpPart4.class, + Q10805_TheDimensionalWarpPart5.class, + Q10806_TheDimensionalWarpPart6.class, + Q10807_TheDimensionalWarpPart7.class, Q10811_ExaltedOneWhoFacesTheLimit.class, Q10812_FacingSadness.class, Q10813_ForGlory.class,