Fire Dragon Bride Leona Blackbird:
+Hellbound is too dangerous for you. Please leave.
+(Only characters Lv. 100.)
+
\ No newline at end of file
diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-01.htm b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-01.htm
new file mode 100644
index 0000000000..a7fb6ecd9c
--- /dev/null
+++ b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-01.htm
@@ -0,0 +1,6 @@
+Master Cyphona:
+Ah, adventurer! There you are again. How about helping us some more? if you do, you can deepen the mutual trust with us and Ferin.
+What do you say? if you don't remember what to do, I can tell you again.
+
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-01a.htm b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-01a.htm
new file mode 100644
index 0000000000..397d8fb676
--- /dev/null
+++ b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-01a.htm
@@ -0,0 +1,6 @@
+Master Cyphona:
+Ah, adventurer! There you are again. How about helping us some more?
+What do you say? If you don't remember what the mission was, I can tell you again.
+
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-01b.htm b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-01b.htm
new file mode 100644
index 0000000000..fc7418b997
--- /dev/null
+++ b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-01b.htm
@@ -0,0 +1,6 @@
+Master Cyphona:
+Adventurer! Good to see you. Since you've helped us so much already, how about helping us some more?
+What do you say? If you don't remember what the mission was, I can tell you again.
+
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-01c.htm b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-01c.htm
new file mode 100644
index 0000000000..1f85cc8125
--- /dev/null
+++ b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-01c.htm
@@ -0,0 +1,5 @@
+Master Cyphona:
+I've been waiting for you, adventurer. Well since you are here now, will you listen to me? I know I can trust you, but if you complete this mission, we'll become better allies and your pockets will get heavier. What do you say? Or do you need me to explain the mission again?
+
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-02.htm b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-02.htm
new file mode 100644
index 0000000000..6879bbcabb
--- /dev/null
+++ b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-02.htm
@@ -0,0 +1,4 @@
+Master Cyphona:
+We've begun an investigation in the Garden of Spirits starting from here. However, we are being threatened by the spirits there, so something must be done.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-03.htm b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-03.htm
new file mode 100644
index 0000000000..d6a25e8d70
--- /dev/null
+++ b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-03.htm
@@ -0,0 +1,6 @@
+Master Cyphona:
+We know of a way to defeat those spirits, at least temporarily. This way, we'll be able to put the spirits at rest, even if it's just for a little while.
+Of course, we will give you a reward for your help. And there is one more thing. While you are helping us, you'll build trust with us. The more we trust you, the more rewards we will give you, and there are some secret missions that we only give to those we trust.
+That's about it.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-04.htm b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-04.htm
new file mode 100644
index 0000000000..f3808e4d70
--- /dev/null
+++ b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-04.htm
@@ -0,0 +1,9 @@
+Master Cyphona:
+Good. Let me tell you what to do. Just choose the mission that you are capable of doing.
+Basic Mission - Collect 200 Mutated Spirit's Souls.
+Intermediate Mission - Collect 400 Mutated Spirit's Souls.
+Advanced Mission - Collect 600 Mutated Spirit's Souls.
+
+
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-04.html b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-04.html
new file mode 100644
index 0000000000..e2b6f8efc1
--- /dev/null
+++ b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-04.html
@@ -0,0 +1,6 @@
+Master Cyphona:
+This isn't the first time we've met? You've completed a mission before? I see... Well, I don't really have a good memory.
+If you have completed a mission before, then that means you must have a Mark of Trust. What? You don't have one?
+Then you are either a liar, or you haven't been here in a long time. My trust is something you must continously try to maintain. Will you listen to me?
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-04a.htm b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-04a.htm
new file mode 100644
index 0000000000..fa54a706f8
--- /dev/null
+++ b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-04a.htm
@@ -0,0 +1,9 @@
+Master Cyphona:
+Good. Let me tell you what to do. Just choose the mission that you are capable of doing.
+Basic Mission - Collect 200 Mutated Spirit's Souls.
+Intermediate Mission - Collect 400 Mutated Spirit's Souls.
+Advanced Mission - Collect 600 Mutated Spirit's Souls.
+
+
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-04b.htm b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-04b.htm
new file mode 100644
index 0000000000..e373de00b7
--- /dev/null
+++ b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-04b.htm
@@ -0,0 +1,9 @@
+Master Cyphona:
+Good. Let me tell you what to do. Just choose the mission that you are capable of doing.
+Basic Mission - Collect 150 Mutated Spirit's Souls.
+Intermediate Mission - Collect 300 Mutated Spirit's Souls.
+Advanced Mission - Collect 450 Mutated Spirit's Souls.
+
+
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-05.htm b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-05.htm
new file mode 100644
index 0000000000..9041babe57
--- /dev/null
+++ b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-05.htm
@@ -0,0 +1,3 @@
+Master Cyphona:
+Alright. Here's the mission. Hunt the Kerberos Leger, Kerberos Fort, Kerberos Nero, Fury Sylph Barrena, Fury Sylph Labido, Fury Sylph Purka, Fury Kerberos Leger, and the Fury Kerberos Nero, and collect their Mutated Spirit's Souls as proof. You can get rewards only if you bring at least 200. Of course, you'll get more rewards if you bring more.
+
\ No newline at end of file
diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-05.html b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-05.html
new file mode 100644
index 0000000000..f42c41b57c
--- /dev/null
+++ b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-05.html
@@ -0,0 +1,3 @@
+Master Cyphona:
+Your Unworldly Visitors Faction Level Must be 1 or above may undertake this mission.
+
\ No newline at end of file
diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-05a.html b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-05a.html
new file mode 100644
index 0000000000..9ab05d1b14
--- /dev/null
+++ b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-05a.html
@@ -0,0 +1,3 @@
+Master Cyphona:
+Your Unworldly Visitors Faction Level Must be 3 or above may undertake this mission.
+
\ No newline at end of file
diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-06.html b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-06.html
new file mode 100644
index 0000000000..89f018709e
--- /dev/null
+++ b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-06.html
@@ -0,0 +1,6 @@
+Master Cyphona:
+You have chosen the basic mission to collect 200 Mutated Spirit's Souls. Once you have selected the difficulty of the mission, you must meet the requirements in order to complete it. Choose wisely.
+Are you sure you want to proceed with this mission?
+
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-06a.html b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-06a.html
new file mode 100644
index 0000000000..035e91f528
--- /dev/null
+++ b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-06a.html
@@ -0,0 +1,6 @@
+Master Cyphona:
+You have chosen the intermediate mission to collect 400 Mutated Spirit's Souls. Once you have selected the difficulty of the mission, you must meet the requirements in order to complete it. Choose wisely.
+Are you sure you want to proceed with this mission?
+
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-06b.html b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-06b.html
new file mode 100644
index 0000000000..8e6443ad89
--- /dev/null
+++ b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-06b.html
@@ -0,0 +1,6 @@
+Master Cyphona:
+You have chosen the advanced mission to collect 450 Mutated Spirit's Souls. Once you have selected the difficulty of the mission, you must meet the requirements in order to complete it. Choose wisely.
+Are you sure you want to proceed with this mission?
+
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-07.html b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-07.html
new file mode 100644
index 0000000000..76cd4c2418
--- /dev/null
+++ b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-07.html
@@ -0,0 +1,4 @@
+Master Cyphona:
+Good. Left me explain the details. Go to the Garden of Spirits, defeat the Kerberos Lager, Kerberos Fort, Kerberos Nero, Fury Sylph Barrena, Fury Sylph Labido, Fury Sylph Purka, Fury Kerberos Leger, and Fury Kerberos Nero, and put them to rest.
+As evidence, please bring back 200 Mutated Spirit's Souls. It should be manageable.
+
\ No newline at end of file
diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-07a.html b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-07a.html
new file mode 100644
index 0000000000..349c04b27d
--- /dev/null
+++ b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-07a.html
@@ -0,0 +1,4 @@
+Master Cyphona:
+Good. Left me explain the details. Go to the Garden of Spirits, defeat the Kerberos Lager, Kerberos Fort, Kerberos Nero, Fury Sylph Barrena, Fury Sylph Labido, Fury Sylph Purka, Fury Kerberos Leger, and Fury Kerberos Nero, and put them to rest.
+As evidence, please bring back 400 Mutated Spirit's Souls. It should be manageable.
+
\ No newline at end of file
diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-07b.html b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-07b.html
new file mode 100644
index 0000000000..d943aec768
--- /dev/null
+++ b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-07b.html
@@ -0,0 +1,4 @@
+Master Cyphona:
+Good. Left me explain the details. Go to the Garden of Spirits, defeat the Kerberos Lager, Kerberos Fort, Kerberos Nero, Fury Sylph Barrena, Fury Sylph Labido, Fury Sylph Purka, Fury Kerberos Leger, and Fury Kerberos Nero, and put them to rest.
+As evidence, please bring back 600 Mutated Spirit's Souls. It should be manageable.
+
\ No newline at end of file
diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-07c.html b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-07c.html
new file mode 100644
index 0000000000..5ebd96f89a
--- /dev/null
+++ b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-07c.html
@@ -0,0 +1,5 @@
+Master Cyphona:
+You want to finish already? Well, I can still give you a reward... But it won't be something good. Are you sure?
+
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-08.html b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-08.html
new file mode 100644
index 0000000000..038165ac20
--- /dev/null
+++ b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-08.html
@@ -0,0 +1,3 @@
+Master Cyphona:
+Go to the Garden of Spirits and defeat all type monsters until you collect 200 Mutated Spirit's Souls.
+
\ No newline at end of file
diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-08a.html b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-08a.html
new file mode 100644
index 0000000000..7ea73a66a6
--- /dev/null
+++ b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-08a.html
@@ -0,0 +1,3 @@
+Master Cyphona:
+Go to the Garden of Spirits and defeat all type monsters until you collect 400 Mutated Spirit's Souls.
+
\ No newline at end of file
diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-08b.html b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-08b.html
new file mode 100644
index 0000000000..f7b616df5a
--- /dev/null
+++ b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-08b.html
@@ -0,0 +1,3 @@
+Master Cyphona:
+Go to the Garden of Spirits and defeat all type monsters until you collect 600 Mutated Spirit's Souls.
+
\ No newline at end of file
diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-09.html b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-09.html
new file mode 100644
index 0000000000..8c94161d3a
--- /dev/null
+++ b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-09.html
@@ -0,0 +1,6 @@
+Master Cyphona:
+Toy have collected all of the Mutated Spirit's Souls. You have completed the mission successfully.
+I would like to congratulate you on completing the mission. Here's your reward. If you have a Faction Amity Token, I can give You more rewards.
+
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-09a.html b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-09a.html
new file mode 100644
index 0000000000..91721d4da1
--- /dev/null
+++ b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-09a.html
@@ -0,0 +1,4 @@
+Master Cyphona:
+You completed the mission!
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-09b.html b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-09b.html
new file mode 100644
index 0000000000..4a6e6cb936
--- /dev/null
+++ b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-09b.html
@@ -0,0 +1,4 @@
+Master Cyphona:
+You completed the mission!
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-09c.html b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-09c.html
new file mode 100644
index 0000000000..fb74a1cd53
--- /dev/null
+++ b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-09c.html
@@ -0,0 +1,4 @@
+Master Cyphona:
+You completed the mission!
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-10.html b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-10.html
new file mode 100644
index 0000000000..ec3450a5fc
--- /dev/null
+++ b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-10.html
@@ -0,0 +1,4 @@
+Master Cyphona:
+Here is your reward. This will also help to improve the trust between you and us at the Unworldly Visitors.
+As long as you don't forget us, that is. We thank you for your hard work.
+
\ No newline at end of file
diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-10a.html b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-10a.html
new file mode 100644
index 0000000000..2bf94feff3
--- /dev/null
+++ b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-10a.html
@@ -0,0 +1,3 @@
+Master Cyphona:
+Here's your reward. We'll be able to maintain our trust. As long as you don't forget about us, that is.
+
\ No newline at end of file
diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-10b.html b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-10b.html
new file mode 100644
index 0000000000..c2f962f4f2
--- /dev/null
+++ b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-10b.html
@@ -0,0 +1,3 @@
+Master Cyphona:
+Here's your reward, I'll remember how you've helped us all those times. Here's a higher level Mark of Trust. Thank you for all of your help.
+
\ No newline at end of file
diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-10c.html b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-10c.html
new file mode 100644
index 0000000000..aacd7919d3
--- /dev/null
+++ b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-10c.html
@@ -0,0 +1,3 @@
+Master Cyphona:
+Here's your reward for helping us. Although you didn't get all the Marks, I still remember how you helped us. I have no doubt the trust between us has deepened even more.
+
\ No newline at end of file
diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/Q00924_GiantOfTheRestorationRoom.java b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/Q00924_GiantOfTheRestorationRoom.java
new file mode 100644
index 0000000000..90e05f6829
--- /dev/null
+++ b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/Q00924_GiantOfTheRestorationRoom.java
@@ -0,0 +1,368 @@
+/*
+ * 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.Q00924_GiantOfTheRestorationRoom;
+
+import java.util.HashSet;
+import java.util.Set;
+
+import org.l2jmobius.gameserver.enums.Faction;
+import org.l2jmobius.gameserver.enums.QuestSound;
+import org.l2jmobius.gameserver.enums.QuestType;
+import org.l2jmobius.gameserver.model.actor.Npc;
+import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
+import org.l2jmobius.gameserver.model.holders.NpcLogListHolder;
+import org.l2jmobius.gameserver.model.quest.Quest;
+import org.l2jmobius.gameserver.model.quest.QuestState;
+import org.l2jmobius.gameserver.model.quest.State;
+import org.l2jmobius.gameserver.network.NpcStringId;
+
+/**
+ * Giant of the Restoration Room (924)
+ * @URL https://l2wiki.com/Recovered_Giants
+ * @author Dmitri
+ */
+public class Q00924_GiantOfTheRestorationRoom extends Quest
+{
+ // NPCs
+ private static final int SHUMADRIBA = 34217;
+ // Monsters
+ private static final int[] MONSTERS =
+ {
+ 23727, // Shaqrima Bathus
+ 23728, // Shaqrima Carcass
+ 23729, // Shaqrima Kshana
+ 23750 // Shaqrima Lucas
+ };
+ // Items
+ private static final int BASIC_SUPPLY_BOX = 47359;
+ private static final int INTERMEDIATE_SUPPLY_BOX = 47360;
+ private static final int ADVANCED_SUPPLY_BOX = 47361;
+ // Misc
+ private static final int KILLING_NPCSTRING_ID = NpcStringId.ELIMINATE_THE_GIANT.getId();
+ private static final boolean PARTY_QUEST = true;
+ private static final int MIN_LEVEL = 100;
+
+ public Q00924_GiantOfTheRestorationRoom()
+ {
+ super(924);
+ addStartNpc(SHUMADRIBA);
+ addTalkId(SHUMADRIBA);
+ addKillId(MONSTERS);
+ addCondMinLevel(MIN_LEVEL, "34217-00.htm");
+ }
+
+ @Override
+ public String onAdvEvent(String event, Npc npc, PlayerInstance player)
+ {
+ String htmltext = null;
+ final QuestState qs = getQuestState(player, false);
+ if (qs == null)
+ {
+ return htmltext;
+ }
+
+ switch (event)
+ {
+ case "34217-02.htm":
+ case "34217-03.htm":
+ case "34217-04.htm":
+ case "34217-04a.htm":
+ case "34217-04b.htm":
+ case "34217-06.html":
+ case "34217-06a.html":
+ case "34217-06b.html":
+ {
+ htmltext = event;
+ break;
+ }
+ case "select_mission":
+ {
+ qs.startQuest();
+ if ((player.getFactionLevel(Faction.GIANT_TRACKERS) >= 1) && (player.getFactionLevel(Faction.GIANT_TRACKERS) < 3))
+ {
+ htmltext = "34217-04a.htm";
+ break;
+ }
+ else if (player.getFactionLevel(Faction.GIANT_TRACKERS) >= 3)
+ {
+ htmltext = "34217-04b.htm";
+ break;
+ }
+ htmltext = "34217-04.htm";
+ break;
+ }
+ case "return":
+ {
+ if ((player.getFactionLevel(Faction.GIANT_TRACKERS) >= 1) && (player.getFactionLevel(Faction.GIANT_TRACKERS) < 3))
+ {
+ htmltext = "34217-04a.htm";
+ break;
+ }
+ else if (player.getFactionLevel(Faction.GIANT_TRACKERS) >= 3)
+ {
+ htmltext = "34217-04b.htm";
+ break;
+ }
+ htmltext = "34217-04.htm";
+ break;
+ }
+ case "34217-07.html":
+ {
+ qs.setCond(2, true);
+ htmltext = event;
+ break;
+ }
+ case "34217-07a.html":
+ {
+ qs.setCond(3, true);
+ htmltext = event;
+ break;
+ }
+ case "34217-07b.html":
+ {
+ qs.setCond(4, true);
+ htmltext = event;
+ break;
+ }
+ case "34217-10.html":
+ {
+ final int chance = getRandom(100);
+ switch (qs.getCond())
+ {
+ case 5:
+ {
+ if (player.getLevel() >= MIN_LEVEL)
+ {
+ if (chance < 2)
+ {
+ giveItems(player, ADVANCED_SUPPLY_BOX, 1);
+ }
+ else if (chance < 20)
+ {
+ giveItems(player, INTERMEDIATE_SUPPLY_BOX, 1);
+ }
+ else if (chance < 100)
+ {
+ giveItems(player, BASIC_SUPPLY_BOX, 1);
+ }
+ addExpAndSp(player, 14_831_100_000L, 14_831_100);
+ addFactionPoints(player, Faction.GIANT_TRACKERS, 100);
+ qs.exitQuest(QuestType.DAILY, true);
+ htmltext = event;
+ }
+ else
+ {
+ htmltext = getNoQuestLevelRewardMsg(player);
+ }
+ break;
+ }
+ case 6:
+ {
+ if (player.getLevel() >= MIN_LEVEL)
+ {
+ if (chance < 2)
+ {
+ giveItems(player, ADVANCED_SUPPLY_BOX, 1);
+ }
+ else if (chance < 20)
+ {
+ giveItems(player, BASIC_SUPPLY_BOX, 1);
+ }
+ else if (chance < 100)
+ {
+ giveItems(player, INTERMEDIATE_SUPPLY_BOX, 1);
+ }
+ addExpAndSp(player, 29_662_200_000L, 29_662_200);
+ addFactionPoints(player, Faction.GIANT_TRACKERS, 200);
+ qs.exitQuest(QuestType.DAILY, true);
+ htmltext = event;
+ }
+ else
+ {
+ htmltext = getNoQuestLevelRewardMsg(player);
+ }
+ break;
+ }
+ case 7:
+ {
+ if (player.getLevel() >= MIN_LEVEL)
+ {
+ if (chance < 2)
+ {
+ giveItems(player, BASIC_SUPPLY_BOX, 1);
+ }
+ else if (chance < 20)
+ {
+ giveItems(player, INTERMEDIATE_SUPPLY_BOX, 1);
+ }
+ else if (chance < 100)
+ {
+ giveItems(player, ADVANCED_SUPPLY_BOX, 1);
+ }
+ addExpAndSp(player, 44_493_300_000L, 44_493_300);
+ addFactionPoints(player, Faction.GIANT_TRACKERS, 300);
+ qs.exitQuest(QuestType.DAILY, true);
+ htmltext = event;
+ }
+ else
+ {
+ htmltext = getNoQuestLevelRewardMsg(player);
+ }
+ break;
+ }
+ }
+ break;
+ }
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onTalk(Npc npc, PlayerInstance player)
+ {
+ final QuestState qs = getQuestState(player, true);
+ String htmltext = getNoQuestMsg(player);
+
+ switch (qs.getState())
+ {
+ case State.CREATED:
+ {
+ htmltext = "34217-01.htm";
+ }
+ case State.STARTED:
+ {
+ switch (qs.getCond())
+ {
+ case 1:
+ {
+ if ((player.getFactionLevel(Faction.GIANT_TRACKERS) >= 1) && (player.getFactionLevel(Faction.GIANT_TRACKERS) < 3))
+ {
+ htmltext = "34217-04a.htm";
+ break;
+ }
+ else if (player.getFactionLevel(Faction.GIANT_TRACKERS) >= 3)
+ {
+ htmltext = "34217-04b.htm";
+ break;
+ }
+ htmltext = "34217-04.htm";
+ break;
+ }
+ case 2:
+ {
+ htmltext = "34217-08.html";
+ break;
+ }
+ case 3:
+ {
+ htmltext = "34217-08a.html";
+ break;
+ }
+ case 4:
+ {
+ htmltext = "34217-08b.html";
+ break;
+ }
+ case 5:
+ case 6:
+ case 7:
+ {
+ htmltext = "34217-09.html";
+ break;
+ }
+ }
+ break;
+ }
+ case State.COMPLETED:
+ {
+ if (!qs.isNowAvailable())
+ {
+ htmltext = getAlreadyCompletedMsg(player, QuestType.DAILY);
+ }
+ else
+ {
+ qs.setState(State.CREATED);
+ htmltext = "34217-01.htm";
+ }
+ break;
+ }
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onKill(Npc npc, PlayerInstance killer, boolean isSummon)
+ {
+ final QuestState qs = PARTY_QUEST ? getRandomPartyMemberState(killer, -1, 3, npc) : getQuestState(killer, false);
+ if ((qs != null) && (qs.getCond() > 1))
+ {
+ switch (qs.getCond())
+ {
+ case 2:
+ {
+ final int killedGhosts = qs.getInt("AncientGhosts") + 1;
+ qs.set("AncientGhosts", killedGhosts);
+ playSound(killer, QuestSound.ITEMSOUND_QUEST_ITEMGET);
+
+ if (killedGhosts >= 100)
+ {
+ qs.setCond(5, true);
+ }
+ break;
+ }
+ case 3:
+ {
+ final int killedGhosts = qs.getInt("AncientGhosts") + 1;
+ qs.set("AncientGhosts", killedGhosts);
+ playSound(killer, QuestSound.ITEMSOUND_QUEST_ITEMGET);
+
+ if (killedGhosts >= 200)
+ {
+ qs.setCond(6, true);
+ }
+ break;
+ }
+ case 4:
+ {
+ final int killedGhosts = qs.getInt("AncientGhosts") + 1;
+ qs.set("AncientGhosts", killedGhosts);
+ playSound(killer, QuestSound.ITEMSOUND_QUEST_ITEMGET);
+
+ if (killedGhosts >= 300)
+ {
+ qs.setCond(7, true);
+ }
+ break;
+ }
+ }
+ }
+ return super.onKill(npc, killer, isSummon);
+ }
+
+ @Override
+ public Set getNpcLogList(PlayerInstance player)
+ {
+ final QuestState qs = getQuestState(player, false);
+ if ((qs != null) && (qs.getCond() > 1))
+ {
+ final Set holder = new HashSet<>();
+ holder.add(new NpcLogListHolder(KILLING_NPCSTRING_ID, true, qs.getInt("AncientGhosts")));
+ return holder;
+ }
+ return super.getNpcLogList(player);
+ }
+}
\ No newline at end of file
diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10540_ThwartingMimirsPlan/34237-00.htm b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10540_ThwartingMimirsPlan/34237-00.htm
new file mode 100644
index 0000000000..2ce847f7bd
--- /dev/null
+++ b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10540_ThwartingMimirsPlan/34237-00.htm
@@ -0,0 +1,4 @@
+Krenaht:
+This place is too dangerous for you. Please return to the continent.
+(Only characters Lv. 100.)
+
\ No newline at end of file
diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10540_ThwartingMimirsPlan/34237-01.htm b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10540_ThwartingMimirsPlan/34237-01.htm
new file mode 100644
index 0000000000..5699913e62
--- /dev/null
+++ b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10540_ThwartingMimirsPlan/34237-01.htm
@@ -0,0 +1,4 @@
+Krenaht:
+Beleth...! That man is behind everything that happened here. Only his death will end this nightmare. Please, help me.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10540_ThwartingMimirsPlan/34237-02.htm b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10540_ThwartingMimirsPlan/34237-02.htm
new file mode 100644
index 0000000000..4ca2550c47
--- /dev/null
+++ b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10540_ThwartingMimirsPlan/34237-02.htm
@@ -0,0 +1,4 @@
+Krenaht:
+To interfere with his plans, we began finding and destroying Fragments of Chaos, though the latter did require the Giant's Grinder. Anyway, destroying these will lure Beleth out of safety, and we plan to start the operation as soon as we have enough.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10540_ThwartingMimirsPlan/34237-03.htm b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10540_ThwartingMimirsPlan/34237-03.htm
new file mode 100644
index 0000000000..c3b0bef012
--- /dev/null
+++ b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10540_ThwartingMimirsPlan/34237-03.htm
@@ -0,0 +1,5 @@
+Krenaht:
+The Giant's Grinder is in the heart of Hellbound. I will give a signal when Beleth appears; gather up your allies and let us all take him down once and for all.
+For our dignity.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10540_ThwartingMimirsPlan/34237-04.htm b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10540_ThwartingMimirsPlan/34237-04.htm
new file mode 100644
index 0000000000..32b3ddd37a
--- /dev/null
+++ b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10540_ThwartingMimirsPlan/34237-04.htm
@@ -0,0 +1,4 @@
+Krenaht:
+The Wormhole activates when Beleth appears; use it to go to the heart of Hellbound. There we will face and defeat Beleth together! If nothing else, we must at least take down Darion, his right-hand man.
+If it is the will of you and your fellow warriors, I will also join the battle.
+
\ No newline at end of file
diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10540_ThwartingMimirsPlan/34237-05.html b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10540_ThwartingMimirsPlan/34237-05.html
new file mode 100644
index 0000000000..51e6508fbe
--- /dev/null
+++ b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10540_ThwartingMimirsPlan/34237-05.html
@@ -0,0 +1,4 @@
+Krenaht:
+It may have been an illusion, but let us call it a success.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10540_ThwartingMimirsPlan/34237-06.html b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10540_ThwartingMimirsPlan/34237-06.html
new file mode 100644
index 0000000000..3fda9f375a
--- /dev/null
+++ b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10540_ThwartingMimirsPlan/34237-06.html
@@ -0,0 +1,3 @@
+Krenaht:
+Please take this gift of gratitude.
+
\ No newline at end of file
diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10540_ThwartingMimirsPlan/Q10540_ThwartingMimirsPlan.java b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10540_ThwartingMimirsPlan/Q10540_ThwartingMimirsPlan.java
new file mode 100644
index 0000000000..c4cdbefd6a
--- /dev/null
+++ b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10540_ThwartingMimirsPlan/Q10540_ThwartingMimirsPlan.java
@@ -0,0 +1,140 @@
+/*
+ * 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.Q10540_ThwartingMimirsPlan;
+
+import org.l2jmobius.Config;
+import org.l2jmobius.gameserver.model.actor.Npc;
+import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
+import org.l2jmobius.gameserver.model.quest.Quest;
+import org.l2jmobius.gameserver.model.quest.QuestState;
+import org.l2jmobius.gameserver.model.quest.State;
+import org.l2jmobius.gameserver.util.Util;
+
+/**
+ * Thwarting Mimir's Plan (10540)
+ * @URL https://l2wiki.com/Thwarting_Mimir%27s_Plan
+ * @author Dmitri
+ */
+public class Q10540_ThwartingMimirsPlan extends Quest
+{
+ // NPCs
+ private static final int KRENAHT = 34237;
+ // Boss
+ private static final int MIMIR = 26137;
+ // Misc
+ private static final int MIN_LEVEL = 100;
+ private static final int GIANTS_SCROLL_R_GRADE_WEAPON = 36386;
+
+ public Q10540_ThwartingMimirsPlan()
+ {
+ super(10540);
+ addStartNpc(KRENAHT);
+ addTalkId(KRENAHT);
+ addKillId(MIMIR);
+ addCondMinLevel(MIN_LEVEL, "34237-00.htm");
+ }
+
+ @Override
+ public String onAdvEvent(String event, Npc npc, PlayerInstance player)
+ {
+ final QuestState qs = getQuestState(player, false);
+ if (qs == null)
+ {
+ return null;
+ }
+
+ String htmltext = null;
+ switch (event)
+ {
+ case "34237-02.htm":
+ case "34237-03.htm":
+ {
+ htmltext = event;
+ break;
+ }
+ case "34237-04.htm":
+ {
+ qs.startQuest();
+ htmltext = event;
+ break;
+ }
+ case "34237-06.html":
+ {
+ if (qs.isCond(2))
+ {
+ giveItems(player, GIANTS_SCROLL_R_GRADE_WEAPON, 1);
+ addExpAndSp(player, 3954960000L, 9491880);
+ qs.exitQuest(false, true);
+ htmltext = event;
+ }
+ break;
+ }
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onTalk(Npc npc, PlayerInstance player)
+ {
+ final QuestState qs = getQuestState(player, true);
+ String htmltext = getNoQuestMsg(player);
+
+ switch (qs.getState())
+ {
+ case State.CREATED:
+ {
+ htmltext = "34237-01.htm";
+ break;
+ }
+ case State.STARTED:
+ {
+ if (qs.isCond(1))
+ {
+ htmltext = "34237-04.htm";
+ }
+ else
+ {
+ htmltext = "34237-05.html";
+ }
+ break;
+ }
+ case State.COMPLETED:
+ {
+ htmltext = getAlreadyCompletedMsg(player);
+ break;
+ }
+ }
+ return htmltext;
+ }
+
+ @Override
+ public void actionForEachPlayer(PlayerInstance player, Npc npc, boolean isSummon)
+ {
+ final QuestState qs = getQuestState(player, false);
+ if ((qs != null) && qs.isCond(1) && Util.checkIfInRange(Config.ALT_PARTY_RANGE, npc, player, false))
+ {
+ qs.setCond(2, true);
+ }
+ }
+
+ @Override
+ public String onKill(Npc npc, PlayerInstance killer, boolean isSummon)
+ {
+ executeForEachPlayer(killer, npc, isSummon, true, false);
+ return super.onKill(npc, killer, isSummon);
+ }
+}
\ No newline at end of file
diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10833_PutTheQueenOfSpiritsToSleep/Q10833_PutTheQueenOfSpiritsToSleep.java b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10833_PutTheQueenOfSpiritsToSleep/Q10833_PutTheQueenOfSpiritsToSleep.java
index e291d29351..898a1f2eea 100644
--- a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10833_PutTheQueenOfSpiritsToSleep/Q10833_PutTheQueenOfSpiritsToSleep.java
+++ b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10833_PutTheQueenOfSpiritsToSleep/Q10833_PutTheQueenOfSpiritsToSleep.java
@@ -16,6 +16,7 @@
*/
package quests.Q10833_PutTheQueenOfSpiritsToSleep;
+import org.l2jmobius.gameserver.enums.Faction;
import org.l2jmobius.gameserver.model.actor.Npc;
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
import org.l2jmobius.gameserver.model.quest.Quest;
@@ -35,13 +36,12 @@ public class Q10833_PutTheQueenOfSpiritsToSleep extends Quest
private static final int FERIN = 34054;
private static final int ISABELLA = 26131;
// Items
- private static final int MARK_OF_TRUST_HIGH_GRADE = 45848;
private static final int ISABELLAS_EVIL_THOUGHTS = 45839;
private static final int SOE = 46158;
private static final int ELCYUM_CRYSTAL = 36514;
private static final int GIANTS_CODEX = 46152;
// Misc
- private static final int MIN_LEVEL = 100;
+ private static final int MIN_LEVEL = 102;
public Q10833_PutTheQueenOfSpiritsToSleep()
{
@@ -52,6 +52,7 @@ public class Q10833_PutTheQueenOfSpiritsToSleep extends Quest
registerQuestItems(ISABELLAS_EVIL_THOUGHTS);
addCondMinLevel(MIN_LEVEL, "34054-00.htm");
addCondCompletedQuest(Q10832_EnergyOfSadnessAndAnger.class.getSimpleName(), "34054-00.htm");
+ addFactionLevel(Faction.UNWORLDLY_VISITORS, 6, "34054-00.htm");
}
@Override
@@ -83,7 +84,7 @@ public class Q10833_PutTheQueenOfSpiritsToSleep extends Quest
giveItems(player, GIANTS_CODEX, 1);
giveItems(player, ELCYUM_CRYSTAL, 1);
giveItems(player, SOE, 1);
- addExpAndSp(player, 1637472704L, 14237820);
+ addExpAndSp(player, 22221427950L, 22221360);
qs.exitQuest(false, true);
htmltext = event;
break;
@@ -101,11 +102,6 @@ public class Q10833_PutTheQueenOfSpiritsToSleep extends Quest
{
case State.CREATED:
{
- if (!hasQuestItems(player, MARK_OF_TRUST_HIGH_GRADE))
- {
- htmltext = "noItem.htm";
- break;
- }
htmltext = "34054-01.htm";
break;
}
diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10833_PutTheQueenOfSpiritsToSleep/noItem.htm b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10833_PutTheQueenOfSpiritsToSleep/noItem.htm
deleted file mode 100644
index 3ba66309d6..0000000000
--- a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10833_PutTheQueenOfSpiritsToSleep/noItem.htm
+++ /dev/null
@@ -1,4 +0,0 @@
-Ferin:
-You! Do you even know who you are talking to? Go away!
-(This quest may only be undertaken by characters with a Mark of Trust (High-grade).)
-
\ No newline at end of file
diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34054-00.htm b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34054-00.htm
new file mode 100644
index 0000000000..264b837f17
--- /dev/null
+++ b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34054-00.htm
@@ -0,0 +1,4 @@
+Ferin:
+You think you are enough? Well, I can't agree to that.
+(This quest is for characters level 102 and Unworldly Visitors faction level should be 6.)
+
\ No newline at end of file
diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34054-01.htm b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34054-01.htm
new file mode 100644
index 0000000000..fda0dff0a1
--- /dev/null
+++ b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34054-01.htm
@@ -0,0 +1,4 @@
+Ferin:
+I've done some research with the items we got from defeating El Floato. It looks like the spirits have been affected by the same power that forcefully brought the Garden of Spirits. In other words, they've been forcefully awakened and are now unstable. In order to stabilize themselves, they are affecting their surroundings negatively.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34054-02.htm b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34054-02.htm
new file mode 100644
index 0000000000..2e5abdb92d
--- /dev/null
+++ b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34054-02.htm
@@ -0,0 +1,4 @@
+Ferin:
+However, that's just a description of the phenomena. It doesn't help us in finding out how to go back to our realm. It might be more effective if a creature with a more powerful energy is defeated.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34054-03.htm b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34054-03.htm
new file mode 100644
index 0000000000..4a1ac5614b
--- /dev/null
+++ b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34054-03.htm
@@ -0,0 +1,4 @@
+Ferin:
+You might think that I'm stubborn. But please understand where I'm coming from. Will you help me? Even if it might be dangerous.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34054-04.htm b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34054-04.htm
new file mode 100644
index 0000000000..fa03d04972
--- /dev/null
+++ b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34054-04.htm
@@ -0,0 +1,3 @@
+Ferin:
+Defeat Harpe in the Garden of Spirits to can obtain Sad Energy and Angry Energy. If you bring me those, I'll be able to find out about their sadness and anger. It will be really helpful for my research.
+
\ No newline at end of file
diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34054-05.html b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34054-05.html
new file mode 100644
index 0000000000..4b1d311a70
--- /dev/null
+++ b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34054-05.html
@@ -0,0 +1,3 @@
+Ferin:
+It's said that when you defeat Harpe, you can obtain Sad Energy and Angry Energy. If you bring me those, I'll be able to find out about their sadness and anger. It will be really helpful for my research.
+
\ No newline at end of file
diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34054-06.html b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34054-06.html
new file mode 100644
index 0000000000..62d6c3d580
--- /dev/null
+++ b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34054-06.html
@@ -0,0 +1,4 @@
+Ferin:
+Did you finish the mission? Great.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34054-07.html b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34054-07.html
new file mode 100644
index 0000000000..33b4808a43
--- /dev/null
+++ b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34054-07.html
@@ -0,0 +1,3 @@
+Ferin:
+Great. Ferin will know what to do after seeing the results of the investigation. Go talk to Ferin. Keep in mind that you must build trust first.
+
\ No newline at end of file
diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34054-09.html b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34054-09.html
new file mode 100644
index 0000000000..08fbf732a0
--- /dev/null
+++ b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34054-09.html
@@ -0,0 +1,4 @@
+Ferin:
+Did you finish the mission? Great.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34054-10.html b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34054-10.html
new file mode 100644
index 0000000000..33b4808a43
--- /dev/null
+++ b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34054-10.html
@@ -0,0 +1,3 @@
+Ferin:
+Great. Ferin will know what to do after seeing the results of the investigation. Go talk to Ferin. Keep in mind that you must build trust first.
+
\ No newline at end of file
diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34055-01.html b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34055-01.html
new file mode 100644
index 0000000000..e389377838
--- /dev/null
+++ b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34055-01.html
@@ -0,0 +1,4 @@
+Cyphona:
+Did you finish the mission? Great.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34055-02.html b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34055-02.html
new file mode 100644
index 0000000000..1371f1a7e7
--- /dev/null
+++ b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34055-02.html
@@ -0,0 +1,4 @@
+Cyphona:
+Did you finish the mission? Great.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34055-03.html b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34055-03.html
new file mode 100644
index 0000000000..210b59aad0
--- /dev/null
+++ b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34055-03.html
@@ -0,0 +1,3 @@
+Cyphona:
+Great. Ferin will know what to do after seeing the results of the investigation. Go talk to Ferin. Keep in mind that you must build trust first.
+
\ No newline at end of file
diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34056-01.html b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34056-01.html
new file mode 100644
index 0000000000..17d8d2f5ff
--- /dev/null
+++ b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34056-01.html
@@ -0,0 +1,4 @@
+Belas:
+Did you finish the mission? Great.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34056-02.html b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34056-02.html
new file mode 100644
index 0000000000..cff97244ab
--- /dev/null
+++ b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34056-02.html
@@ -0,0 +1,4 @@
+Belas:
+Did you finish the mission? Great.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34056-03.html b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34056-03.html
new file mode 100644
index 0000000000..be0ec6881b
--- /dev/null
+++ b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34056-03.html
@@ -0,0 +1,3 @@
+Belas:
+Great. Ferin will know what to do after seeing the results of the investigation. Go talk to Ferin. Keep in mind that you must build trust first.
+
\ No newline at end of file
diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34238-01.html b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34238-01.html
new file mode 100644
index 0000000000..53953a2d31
--- /dev/null
+++ b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34238-01.html
@@ -0,0 +1,4 @@
+Eubina:
+Did you finish the mission? Great.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34238-02.html b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34238-02.html
new file mode 100644
index 0000000000..70337cd469
--- /dev/null
+++ b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34238-02.html
@@ -0,0 +1,4 @@
+Eubina:
+Did you finish the mission? Great.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34238-03.html b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34238-03.html
new file mode 100644
index 0000000000..94677730ab
--- /dev/null
+++ b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34238-03.html
@@ -0,0 +1,3 @@
+Eubina:
+Great. Ferin will know what to do after seeing the results of the investigation. Go talk to Ferin. Keep in mind that you must build trust first.
+
\ No newline at end of file
diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34239-01.html b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34239-01.html
new file mode 100644
index 0000000000..0737f45d04
--- /dev/null
+++ b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34239-01.html
@@ -0,0 +1,4 @@
+Rotoeh:
+Did you finish the mission? Great.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34239-02.html b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34239-02.html
new file mode 100644
index 0000000000..aebb815d8b
--- /dev/null
+++ b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34239-02.html
@@ -0,0 +1,4 @@
+Rotoeh:
+Did you finish the mission? Great.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34239-03.html b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34239-03.html
new file mode 100644
index 0000000000..fe84b631cf
--- /dev/null
+++ b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34239-03.html
@@ -0,0 +1,3 @@
+Rotoeh:
+Great. Ferin will know what to do after seeing the results of the investigation. Go talk to Ferin. Keep in mind that you must build trust first.
+
\ No newline at end of file
diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/Q10849_TrialsForAdaptation.java b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/Q10849_TrialsForAdaptation.java
new file mode 100644
index 0000000000..dc778fe19d
--- /dev/null
+++ b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/Q10849_TrialsForAdaptation.java
@@ -0,0 +1,300 @@
+/*
+ * 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.Q10849_TrialsForAdaptation;
+
+import org.l2jmobius.Config;
+import org.l2jmobius.gameserver.enums.Faction;
+import org.l2jmobius.gameserver.enums.QuestSound;
+import org.l2jmobius.gameserver.model.actor.Npc;
+import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
+import org.l2jmobius.gameserver.model.quest.Quest;
+import org.l2jmobius.gameserver.model.quest.QuestState;
+import org.l2jmobius.gameserver.model.quest.State;
+
+/**
+ * Trials for Adaptation (10849)
+ * @URL https://l2wiki.com/Trials_for_Adaptation
+ * @author Dmitri
+ */
+public class Q10849_TrialsForAdaptation extends Quest
+{
+ // NPC
+ private static final int FERIN = 34054;
+ private static final int EUBINA = 34238;
+ private static final int ROTOEH = 34239;
+ private static final int CYPHONA = 34055;
+ private static final int BELAS = 34056;
+ // Monsters
+ private static final int KERBEROS_LAGER_N = 23550; // (night)
+ private static final int KERBEROS_LAGER = 23541;
+ private static final int KERBEROS_FORT_N = 23551; // (night)
+ private static final int KERBEROS_FORT = 23542;
+ private static final int KERBEROS_NERO_N = 23552; // (night)
+ private static final int KERBEROS_NERO = 23543;
+ private static final int FURY_SYLPH_BARRENA_N = 23553; // (night)
+ private static final int FURY_SYLPH_BARRENA = 23544;
+ private static final int FURY_SYLPH_TEMPTRESS_N = 23555; // (night)
+ private static final int FURY_SYLPH_TEMPTRESS = 23546;
+ private static final int FURY_SYLPH_PURKA_N = 23556; // (night)
+ private static final int FURY_SYLPH_PURKA = 23547;
+ private static final int FURY_KERBEROS_LEGER_N = 23557; // (night)
+ private static final int FURY_KERBEROS_LEGER = 23545;
+ private static final int FURY_KERBEROS_NERO_N = 23558; // (night)
+ private static final int FURY_KERBEROS_NERO = 23549;
+ // Items
+ private static final int ENERGY_LADEL_WITH_THE_DAYS = 47189;
+ private static final int ENERGY_LADEL_WITH_THE_NIGHTS = 47190;
+ // Reward
+ private static final int RUNE_STONE = 39738;
+ private static final int SPELLBOOK_WING_HOUND = 47152;
+ // Misc
+ private static final int MIN_LEVEL = 102;
+
+ public Q10849_TrialsForAdaptation()
+ {
+ super(10849);
+ addStartNpc(FERIN);
+ addTalkId(FERIN, EUBINA, ROTOEH, CYPHONA, BELAS);
+ addKillId(KERBEROS_LAGER, KERBEROS_LAGER_N, KERBEROS_FORT, KERBEROS_FORT_N, KERBEROS_NERO, KERBEROS_NERO_N, FURY_SYLPH_BARRENA, FURY_SYLPH_BARRENA_N, FURY_SYLPH_TEMPTRESS, FURY_SYLPH_TEMPTRESS_N, FURY_SYLPH_PURKA, FURY_SYLPH_PURKA_N, FURY_KERBEROS_LEGER, FURY_KERBEROS_LEGER_N, FURY_KERBEROS_NERO, FURY_KERBEROS_NERO_N);
+ registerQuestItems(ENERGY_LADEL_WITH_THE_DAYS, ENERGY_LADEL_WITH_THE_NIGHTS);
+ addCondMinLevel(MIN_LEVEL, "34054-00.htm");
+ addFactionLevel(Faction.UNWORLDLY_VISITORS, 6, "34054-00.htm");
+ }
+
+ @Override
+ public String onAdvEvent(String event, Npc npc, PlayerInstance player)
+ {
+ String htmltext = null;
+ final QuestState qs = getQuestState(player, false);
+ if (qs == null)
+ {
+ return htmltext;
+ }
+
+ switch (event)
+ {
+ case "34054-02.htm":
+ case "34054-03.htm":
+ case "34238-03.html":
+ case "34239-03.html":
+ case "34055-03.html":
+ case "34056-03.html":
+ {
+ htmltext = event;
+ break;
+ }
+ case "34054-04.htm":
+ {
+ qs.startQuest();
+ htmltext = event;
+ break;
+ }
+ case "34054-07.html":
+ {
+ qs.setCond(3, true);
+ htmltext = event;
+ break;
+ }
+ case "34238-02.html":
+ {
+ qs.setCond(4, true);
+ htmltext = event;
+ break;
+ }
+ case "34239-02.html":
+ {
+ qs.setCond(5, true);
+ htmltext = event;
+ break;
+ }
+ case "34055-02.html":
+ {
+ qs.setCond(6, true);
+ htmltext = event;
+ break;
+ }
+ case "34056-02.html":
+ {
+ qs.setCond(7, true);
+ htmltext = event;
+ break;
+ }
+ case "34054-10.html":
+ {
+ if (qs.isCond(7))
+ {
+ giveItems(player, RUNE_STONE, 1);
+ giveItems(player, SPELLBOOK_WING_HOUND, 1);
+ addExpAndSp(player, 444428559000L, 444427200);
+ qs.exitQuest(false, true);
+ htmltext = event;
+ }
+ break;
+ }
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onTalk(Npc npc, PlayerInstance player)
+ {
+ final QuestState qs = getQuestState(player, true);
+ String htmltext = getNoQuestMsg(player);
+
+ switch (qs.getState())
+ {
+ case State.CREATED:
+ {
+ if (npc.getId() == FERIN)
+ {
+ htmltext = "34054-01.htm";
+ }
+ break;
+ }
+ case State.STARTED:
+ {
+ switch (npc.getId())
+ {
+ case FERIN:
+ {
+ if (qs.isCond(1))
+ {
+ htmltext = "34054-05.html";
+ }
+ else if (qs.isCond(2))
+ {
+ htmltext = "34054-06.html";
+ }
+ else if (qs.isCond(3))
+ {
+ htmltext = "34054-07.html";
+ }
+ else if (qs.isCond(7))
+ {
+ htmltext = "34054-09.html";
+ }
+ break;
+ }
+ case EUBINA:
+ {
+ if (qs.isCond(3))
+ {
+ htmltext = "34238-01.html";
+ }
+ else if (qs.isCond(4))
+ {
+ htmltext = "34238-03.html";
+ }
+ break;
+ }
+ case ROTOEH:
+ {
+ if (qs.isCond(4))
+ {
+ htmltext = "34239-01.html";
+ }
+ else if (qs.isCond(5))
+ {
+ htmltext = "34239-03.html";
+ }
+ break;
+ }
+ case CYPHONA:
+ {
+ if (qs.isCond(5))
+ {
+ htmltext = "34055-01.html";
+ }
+ else if (qs.isCond(6))
+ {
+ htmltext = "34055-03.html";
+ }
+ break;
+ }
+ case BELAS:
+ {
+ if (qs.isCond(6))
+ {
+ htmltext = "34056-01.html";
+ }
+ else if (qs.isCond(7))
+ {
+ htmltext = "34056-03.html";
+ }
+ break;
+ }
+ }
+ break;
+ }
+ case State.COMPLETED:
+ {
+ htmltext = getAlreadyCompletedMsg(player);
+ break;
+ }
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onKill(Npc npc, PlayerInstance killer, boolean isSummon)
+ {
+ final QuestState qs = getQuestState(killer, false);
+ if ((qs != null) && qs.isCond(1) && killer.isInsideRadius3D(npc, Config.ALT_PARTY_RANGE))
+ {
+ switch (npc.getId())
+ {
+ case FURY_SYLPH_BARRENA_N:
+ case FURY_SYLPH_TEMPTRESS_N:
+ case FURY_SYLPH_PURKA_N:
+ case FURY_KERBEROS_LEGER_N:
+ case FURY_KERBEROS_NERO_N:
+ case KERBEROS_LAGER_N:
+ case KERBEROS_FORT_N:
+ case KERBEROS_NERO_N:
+ {
+ if (getRandom(100) < 99)
+ {
+ giveItems(killer, ENERGY_LADEL_WITH_THE_NIGHTS, 1);
+ playSound(killer, QuestSound.ITEMSOUND_QUEST_ITEMGET);
+ }
+ break;
+ }
+ case FURY_SYLPH_BARRENA:
+ case FURY_SYLPH_TEMPTRESS:
+ case FURY_SYLPH_PURKA:
+ case FURY_KERBEROS_LEGER:
+ case FURY_KERBEROS_NERO:
+ case KERBEROS_LAGER:
+ case KERBEROS_FORT:
+ case KERBEROS_NERO:
+ {
+ if (getRandom(100) < 99)
+ {
+ giveItems(killer, ENERGY_LADEL_WITH_THE_DAYS, 1);
+ playSound(killer, QuestSound.ITEMSOUND_QUEST_ITEMGET);
+ }
+ break;
+ }
+ }
+ if ((getQuestItemsCount(killer, ENERGY_LADEL_WITH_THE_DAYS) >= 1500) && (getQuestItemsCount(killer, ENERGY_LADEL_WITH_THE_NIGHTS) >= 500))
+ {
+ qs.setCond(2, true);
+ }
+ }
+ return super.onKill(npc, killer, isSummon);
+ }
+}
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 87adfb5e1c..747c444266 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
@@ -204,6 +204,7 @@ import quests.Q00905_RefinedDragonBlood.Q00905_RefinedDragonBlood;
import quests.Q00906_TheCallOfValakas.Q00906_TheCallOfValakas;
import quests.Q00907_DragonTrophyValakas.Q00907_DragonTrophyValakas;
import quests.Q00923_ShinedustExtraction.Q00923_ShinedustExtraction;
+import quests.Q00924_GiantOfTheRestorationRoom.Q00924_GiantOfTheRestorationRoom;
import quests.Q00926_30DaySearchOperation.Q00926_30DaySearchOperation;
import quests.Q00928_100DaySubjugationOperation.Q00928_100DaySubjugationOperation;
import quests.Q00931_MemoriesOfTheWind.Q00931_MemoriesOfTheWind;
@@ -357,6 +358,7 @@ import quests.Q10527_TheAssassinationOfTheKetraOrcCommander.Q10527_TheAssassinat
import quests.Q10528_TheAssassinationOfTheKetraOrcChief.Q10528_TheAssassinationOfTheKetraOrcChief;
import quests.Q10530_KekropusLetterTheDragonsTransition.Q10530_KekropusLetterTheDragonsTransition;
import quests.Q10534_HatchlingResearch.Q10534_HatchlingResearch;
+import quests.Q10540_ThwartingMimirsPlan.Q10540_ThwartingMimirsPlan;
import quests.Q10541_TrainLikeTheRealThing.Q10541_TrainLikeTheRealThing;
import quests.Q10542_SearchingForNewPower.Q10542_SearchingForNewPower;
import quests.Q10543_SheddingWeight.Q10543_SheddingWeight;
@@ -463,6 +465,7 @@ import quests.Q10839_BlackbirdsNameValue.Q10839_BlackbirdsNameValue;
import quests.Q10840_TimeToRecover.Q10840_TimeToRecover;
import quests.Q10841_DeepInsideAteliaFortress.Q10841_DeepInsideAteliaFortress;
import quests.Q10843_AnomalyInTheEnchantedValley.Q10843_AnomalyInTheEnchantedValley;
+import quests.Q10849_TrialsForAdaptation.Q10849_TrialsForAdaptation;
import quests.Q10851_ElvenBotany.Q10851_ElvenBotany;
import quests.Q10856_SuperionAppears.Q10856_SuperionAppears;
import quests.not_done.Q00504_CompetitionForTheBanditStronghold;
@@ -499,7 +502,6 @@ import quests.not_done.Q00911_RedLibraRequestLv2;
import quests.not_done.Q00912_RedLibraRequestLv3;
import quests.not_done.Q00913_RedLibraRequestLv4;
import quests.not_done.Q00914_RedLibraRequestLv5;
-import quests.not_done.Q00924_GiantOfTheRestorationRoom;
import quests.not_done.Q00929_SeekerRescue;
import quests.not_done.Q00930_DisparagingThePhantoms;
import quests.not_done.Q00938_TheFishermansOtherHobby;
@@ -515,14 +517,12 @@ import quests.not_done.Q10532_UncoveringTheConspiracy;
import quests.not_done.Q10537_KamaelDisarray;
import quests.not_done.Q10538_GiantsEvolution;
import quests.not_done.Q10539_EnergySupplyCutoffPlan;
-import quests.not_done.Q10540_ThwartingMimirsPlan;
import quests.not_done.Q10748_MysteriousSuggestion1;
import quests.not_done.Q10749_MysteriousSuggestion2;
import quests.not_done.Q10844_BloodyBattleSeizingSupplies;
import quests.not_done.Q10845_BloodyBattleRescueTheSmiths;
import quests.not_done.Q10846_BloodyBattleMeetingTheCommander;
import quests.not_done.Q10848_TrialsBeforeTheBattle;
-import quests.not_done.Q10849_TrialsForAdaptation;
import quests.not_done.Q10852_TheMotherTreeRevivalProject;
import quests.not_done.Q10853_ToWeakenTheGiants;
import quests.not_done.Q10854_ToSeizeTheFortress;
@@ -758,7 +758,7 @@ public class QuestMasterHandler
Q00913_RedLibraRequestLv4.class, // TODO: Not done.
Q00914_RedLibraRequestLv5.class, // TODO: Not done.
Q00923_ShinedustExtraction.class,
- Q00924_GiantOfTheRestorationRoom.class, // TODO: Not done.
+ Q00924_GiantOfTheRestorationRoom.class,
Q00926_30DaySearchOperation.class,
Q00928_100DaySubjugationOperation.class,
Q00929_SeekerRescue.class, // TODO: Not done.
@@ -927,7 +927,7 @@ public class QuestMasterHandler
Q10537_KamaelDisarray.class, // TODO: Not done.
Q10538_GiantsEvolution.class, // TODO: Not done.
Q10539_EnergySupplyCutoffPlan.class, // TODO: Not done.
- Q10540_ThwartingMimirsPlan.class, // TODO: Not done.
+ Q10540_ThwartingMimirsPlan.class,
Q10541_TrainLikeTheRealThing.class,
Q10542_SearchingForNewPower.class,
Q10543_SheddingWeight.class,
@@ -1040,7 +1040,7 @@ public class QuestMasterHandler
Q10845_BloodyBattleRescueTheSmiths.class, // TODO: Not done.
Q10846_BloodyBattleMeetingTheCommander.class, // TODO: Not done.
Q10848_TrialsBeforeTheBattle.class, // TODO: Not done.
- Q10849_TrialsForAdaptation.class, // TODO: Not done.
+ Q10849_TrialsForAdaptation.class,
Q10851_ElvenBotany.class,
Q10852_TheMotherTreeRevivalProject.class, // TODO: Not done.
Q10853_ToWeakenTheGiants.class, // TODO: Not done.
diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/not_done/Q00924_GiantOfTheRestorationRoom.java b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/not_done/Q00924_GiantOfTheRestorationRoom.java
deleted file mode 100644
index 883bded9b3..0000000000
--- a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/not_done/Q00924_GiantOfTheRestorationRoom.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
- * This file is part of the L2J Mobius project.
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-package quests.not_done;
-
-import org.l2jmobius.Config;
-import org.l2jmobius.gameserver.model.quest.Quest;
-
-/**
- * @author Mobius
- */
-public class Q00924_GiantOfTheRestorationRoom extends Quest
-{
- private static final int START_NPC = 34217;
-
- public Q00924_GiantOfTheRestorationRoom()
- {
- super(924);
- addStartNpc(START_NPC);
- addTalkId(START_NPC);
- addCondMinLevel(Config.PLAYER_MAXIMUM_LEVEL, getNoQuestMsg(null));
- }
-}
diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/not_done/Q10540_ThwartingMimirsPlan.java b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/not_done/Q10540_ThwartingMimirsPlan.java
deleted file mode 100644
index 8ced631154..0000000000
--- a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/not_done/Q10540_ThwartingMimirsPlan.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
- * This file is part of the L2J Mobius project.
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-package quests.not_done;
-
-import org.l2jmobius.Config;
-import org.l2jmobius.gameserver.model.quest.Quest;
-
-/**
- * @author Mobius
- */
-public class Q10540_ThwartingMimirsPlan extends Quest
-{
- private static final int START_NPC = 34237;
-
- public Q10540_ThwartingMimirsPlan()
- {
- super(10540);
- addStartNpc(START_NPC);
- addTalkId(START_NPC);
- addCondMinLevel(Config.PLAYER_MAXIMUM_LEVEL, getNoQuestMsg(null));
- }
-}
diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/not_done/Q10849_TrialsForAdaptation.java b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/not_done/Q10849_TrialsForAdaptation.java
deleted file mode 100644
index 636edba9ac..0000000000
--- a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/not_done/Q10849_TrialsForAdaptation.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
- * This file is part of the L2J Mobius project.
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-package quests.not_done;
-
-import org.l2jmobius.Config;
-import org.l2jmobius.gameserver.model.quest.Quest;
-
-/**
- * @author Mobius
- */
-public class Q10849_TrialsForAdaptation extends Quest
-{
- private static final int START_NPC = 34054;
-
- public Q10849_TrialsForAdaptation()
- {
- super(10849);
- addStartNpc(START_NPC);
- addTalkId(START_NPC);
- addCondMinLevel(Config.PLAYER_MAXIMUM_LEVEL, getNoQuestMsg(null));
- }
-}
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 6fbf33da4a..457dea57b8 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
@@ -108,7 +108,6 @@
918 Red Libra Request - Atelia Fortress
919 Red Libra Request - Superion
922 Hunter Guild Request - Northern Region, Isle of Prayer
-924 Giant of the Restoration Room
925 Hunter Guild Request - Garden of Spirits
929 Seeker Rescue
930 Disparaging the Phantoms
@@ -135,7 +134,6 @@
10537 Kamael Disarray To Retbach
10538 Giant's Evolution Cause of failed evolution
10539 Energy Supply Cutoff Plan Defeat Halisha's Henchman
-10540 Thwarting Mimir's Plan Defeating Mimir
10712 The Minstrel's Song, Part 1
10717 The Minstrel's Song, Part 2
10720 The Minstrel's Song, Part 3
@@ -148,7 +146,6 @@
10845 Bloody Battle - Rescue the Smiths
10846 Bloody Battle - Meeting the Commander
10848 Trials before the Battle
-10849 Trials for Adaptation
10852 The Mother Tree Revival Project
10853 To Weaken the Giants
10854 To Seize the Fortress
diff --git a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-00.htm b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-00.htm
new file mode 100644
index 0000000000..94488269d6
--- /dev/null
+++ b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-00.htm
@@ -0,0 +1,4 @@
+Fire Dragon Bride Leona Blackbird:
+Hellbound is too dangerous for you. Please leave.
+(Only characters Lv. 100.)
+
\ No newline at end of file
diff --git a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-01.htm b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-01.htm
new file mode 100644
index 0000000000..a7fb6ecd9c
--- /dev/null
+++ b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-01.htm
@@ -0,0 +1,6 @@
+Master Cyphona:
+Ah, adventurer! There you are again. How about helping us some more? if you do, you can deepen the mutual trust with us and Ferin.
+What do you say? if you don't remember what to do, I can tell you again.
+
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-01a.htm b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-01a.htm
new file mode 100644
index 0000000000..397d8fb676
--- /dev/null
+++ b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-01a.htm
@@ -0,0 +1,6 @@
+Master Cyphona:
+Ah, adventurer! There you are again. How about helping us some more?
+What do you say? If you don't remember what the mission was, I can tell you again.
+
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-01b.htm b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-01b.htm
new file mode 100644
index 0000000000..fc7418b997
--- /dev/null
+++ b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-01b.htm
@@ -0,0 +1,6 @@
+Master Cyphona:
+Adventurer! Good to see you. Since you've helped us so much already, how about helping us some more?
+What do you say? If you don't remember what the mission was, I can tell you again.
+
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-01c.htm b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-01c.htm
new file mode 100644
index 0000000000..1f85cc8125
--- /dev/null
+++ b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-01c.htm
@@ -0,0 +1,5 @@
+Master Cyphona:
+I've been waiting for you, adventurer. Well since you are here now, will you listen to me? I know I can trust you, but if you complete this mission, we'll become better allies and your pockets will get heavier. What do you say? Or do you need me to explain the mission again?
+
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-02.htm b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-02.htm
new file mode 100644
index 0000000000..6879bbcabb
--- /dev/null
+++ b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-02.htm
@@ -0,0 +1,4 @@
+Master Cyphona:
+We've begun an investigation in the Garden of Spirits starting from here. However, we are being threatened by the spirits there, so something must be done.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-03.htm b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-03.htm
new file mode 100644
index 0000000000..d6a25e8d70
--- /dev/null
+++ b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-03.htm
@@ -0,0 +1,6 @@
+Master Cyphona:
+We know of a way to defeat those spirits, at least temporarily. This way, we'll be able to put the spirits at rest, even if it's just for a little while.
+Of course, we will give you a reward for your help. And there is one more thing. While you are helping us, you'll build trust with us. The more we trust you, the more rewards we will give you, and there are some secret missions that we only give to those we trust.
+That's about it.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-04.htm b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-04.htm
new file mode 100644
index 0000000000..f3808e4d70
--- /dev/null
+++ b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-04.htm
@@ -0,0 +1,9 @@
+Master Cyphona:
+Good. Let me tell you what to do. Just choose the mission that you are capable of doing.
+Basic Mission - Collect 200 Mutated Spirit's Souls.
+Intermediate Mission - Collect 400 Mutated Spirit's Souls.
+Advanced Mission - Collect 600 Mutated Spirit's Souls.
+
+
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-04.html b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-04.html
new file mode 100644
index 0000000000..e2b6f8efc1
--- /dev/null
+++ b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-04.html
@@ -0,0 +1,6 @@
+Master Cyphona:
+This isn't the first time we've met? You've completed a mission before? I see... Well, I don't really have a good memory.
+If you have completed a mission before, then that means you must have a Mark of Trust. What? You don't have one?
+Then you are either a liar, or you haven't been here in a long time. My trust is something you must continously try to maintain. Will you listen to me?
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-04a.htm b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-04a.htm
new file mode 100644
index 0000000000..fa54a706f8
--- /dev/null
+++ b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-04a.htm
@@ -0,0 +1,9 @@
+Master Cyphona:
+Good. Let me tell you what to do. Just choose the mission that you are capable of doing.
+Basic Mission - Collect 200 Mutated Spirit's Souls.
+Intermediate Mission - Collect 400 Mutated Spirit's Souls.
+Advanced Mission - Collect 600 Mutated Spirit's Souls.
+
+
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-04b.htm b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-04b.htm
new file mode 100644
index 0000000000..e373de00b7
--- /dev/null
+++ b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-04b.htm
@@ -0,0 +1,9 @@
+Master Cyphona:
+Good. Let me tell you what to do. Just choose the mission that you are capable of doing.
+Basic Mission - Collect 150 Mutated Spirit's Souls.
+Intermediate Mission - Collect 300 Mutated Spirit's Souls.
+Advanced Mission - Collect 450 Mutated Spirit's Souls.
+
+
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-05.htm b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-05.htm
new file mode 100644
index 0000000000..9041babe57
--- /dev/null
+++ b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-05.htm
@@ -0,0 +1,3 @@
+Master Cyphona:
+Alright. Here's the mission. Hunt the Kerberos Leger, Kerberos Fort, Kerberos Nero, Fury Sylph Barrena, Fury Sylph Labido, Fury Sylph Purka, Fury Kerberos Leger, and the Fury Kerberos Nero, and collect their Mutated Spirit's Souls as proof. You can get rewards only if you bring at least 200. Of course, you'll get more rewards if you bring more.
+
\ No newline at end of file
diff --git a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-05.html b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-05.html
new file mode 100644
index 0000000000..f42c41b57c
--- /dev/null
+++ b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-05.html
@@ -0,0 +1,3 @@
+Master Cyphona:
+Your Unworldly Visitors Faction Level Must be 1 or above may undertake this mission.
+
\ No newline at end of file
diff --git a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-05a.html b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-05a.html
new file mode 100644
index 0000000000..9ab05d1b14
--- /dev/null
+++ b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-05a.html
@@ -0,0 +1,3 @@
+Master Cyphona:
+Your Unworldly Visitors Faction Level Must be 3 or above may undertake this mission.
+
\ No newline at end of file
diff --git a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-06.html b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-06.html
new file mode 100644
index 0000000000..89f018709e
--- /dev/null
+++ b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-06.html
@@ -0,0 +1,6 @@
+Master Cyphona:
+You have chosen the basic mission to collect 200 Mutated Spirit's Souls. Once you have selected the difficulty of the mission, you must meet the requirements in order to complete it. Choose wisely.
+Are you sure you want to proceed with this mission?
+
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-06a.html b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-06a.html
new file mode 100644
index 0000000000..035e91f528
--- /dev/null
+++ b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-06a.html
@@ -0,0 +1,6 @@
+Master Cyphona:
+You have chosen the intermediate mission to collect 400 Mutated Spirit's Souls. Once you have selected the difficulty of the mission, you must meet the requirements in order to complete it. Choose wisely.
+Are you sure you want to proceed with this mission?
+
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-06b.html b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-06b.html
new file mode 100644
index 0000000000..8e6443ad89
--- /dev/null
+++ b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-06b.html
@@ -0,0 +1,6 @@
+Master Cyphona:
+You have chosen the advanced mission to collect 450 Mutated Spirit's Souls. Once you have selected the difficulty of the mission, you must meet the requirements in order to complete it. Choose wisely.
+Are you sure you want to proceed with this mission?
+
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-07.html b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-07.html
new file mode 100644
index 0000000000..76cd4c2418
--- /dev/null
+++ b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-07.html
@@ -0,0 +1,4 @@
+Master Cyphona:
+Good. Left me explain the details. Go to the Garden of Spirits, defeat the Kerberos Lager, Kerberos Fort, Kerberos Nero, Fury Sylph Barrena, Fury Sylph Labido, Fury Sylph Purka, Fury Kerberos Leger, and Fury Kerberos Nero, and put them to rest.
+As evidence, please bring back 200 Mutated Spirit's Souls. It should be manageable.
+
\ No newline at end of file
diff --git a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-07a.html b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-07a.html
new file mode 100644
index 0000000000..349c04b27d
--- /dev/null
+++ b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-07a.html
@@ -0,0 +1,4 @@
+Master Cyphona:
+Good. Left me explain the details. Go to the Garden of Spirits, defeat the Kerberos Lager, Kerberos Fort, Kerberos Nero, Fury Sylph Barrena, Fury Sylph Labido, Fury Sylph Purka, Fury Kerberos Leger, and Fury Kerberos Nero, and put them to rest.
+As evidence, please bring back 400 Mutated Spirit's Souls. It should be manageable.
+
\ No newline at end of file
diff --git a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-07b.html b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-07b.html
new file mode 100644
index 0000000000..d943aec768
--- /dev/null
+++ b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-07b.html
@@ -0,0 +1,4 @@
+Master Cyphona:
+Good. Left me explain the details. Go to the Garden of Spirits, defeat the Kerberos Lager, Kerberos Fort, Kerberos Nero, Fury Sylph Barrena, Fury Sylph Labido, Fury Sylph Purka, Fury Kerberos Leger, and Fury Kerberos Nero, and put them to rest.
+As evidence, please bring back 600 Mutated Spirit's Souls. It should be manageable.
+
\ No newline at end of file
diff --git a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-07c.html b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-07c.html
new file mode 100644
index 0000000000..5ebd96f89a
--- /dev/null
+++ b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-07c.html
@@ -0,0 +1,5 @@
+Master Cyphona:
+You want to finish already? Well, I can still give you a reward... But it won't be something good. Are you sure?
+
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-08.html b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-08.html
new file mode 100644
index 0000000000..038165ac20
--- /dev/null
+++ b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-08.html
@@ -0,0 +1,3 @@
+Master Cyphona:
+Go to the Garden of Spirits and defeat all type monsters until you collect 200 Mutated Spirit's Souls.
+
\ No newline at end of file
diff --git a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-08a.html b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-08a.html
new file mode 100644
index 0000000000..7ea73a66a6
--- /dev/null
+++ b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-08a.html
@@ -0,0 +1,3 @@
+Master Cyphona:
+Go to the Garden of Spirits and defeat all type monsters until you collect 400 Mutated Spirit's Souls.
+
\ No newline at end of file
diff --git a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-08b.html b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-08b.html
new file mode 100644
index 0000000000..f7b616df5a
--- /dev/null
+++ b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-08b.html
@@ -0,0 +1,3 @@
+Master Cyphona:
+Go to the Garden of Spirits and defeat all type monsters until you collect 600 Mutated Spirit's Souls.
+
\ No newline at end of file
diff --git a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-09.html b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-09.html
new file mode 100644
index 0000000000..8c94161d3a
--- /dev/null
+++ b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-09.html
@@ -0,0 +1,6 @@
+Master Cyphona:
+Toy have collected all of the Mutated Spirit's Souls. You have completed the mission successfully.
+I would like to congratulate you on completing the mission. Here's your reward. If you have a Faction Amity Token, I can give You more rewards.
+
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-09a.html b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-09a.html
new file mode 100644
index 0000000000..91721d4da1
--- /dev/null
+++ b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-09a.html
@@ -0,0 +1,4 @@
+Master Cyphona:
+You completed the mission!
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-09b.html b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-09b.html
new file mode 100644
index 0000000000..4a6e6cb936
--- /dev/null
+++ b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-09b.html
@@ -0,0 +1,4 @@
+Master Cyphona:
+You completed the mission!
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-09c.html b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-09c.html
new file mode 100644
index 0000000000..fb74a1cd53
--- /dev/null
+++ b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-09c.html
@@ -0,0 +1,4 @@
+Master Cyphona:
+You completed the mission!
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-10.html b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-10.html
new file mode 100644
index 0000000000..ec3450a5fc
--- /dev/null
+++ b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-10.html
@@ -0,0 +1,4 @@
+Master Cyphona:
+Here is your reward. This will also help to improve the trust between you and us at the Unworldly Visitors.
+As long as you don't forget us, that is. We thank you for your hard work.
+
\ No newline at end of file
diff --git a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-10a.html b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-10a.html
new file mode 100644
index 0000000000..2bf94feff3
--- /dev/null
+++ b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-10a.html
@@ -0,0 +1,3 @@
+Master Cyphona:
+Here's your reward. We'll be able to maintain our trust. As long as you don't forget about us, that is.
+
\ No newline at end of file
diff --git a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-10b.html b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-10b.html
new file mode 100644
index 0000000000..c2f962f4f2
--- /dev/null
+++ b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-10b.html
@@ -0,0 +1,3 @@
+Master Cyphona:
+Here's your reward, I'll remember how you've helped us all those times. Here's a higher level Mark of Trust. Thank you for all of your help.
+
\ No newline at end of file
diff --git a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-10c.html b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-10c.html
new file mode 100644
index 0000000000..aacd7919d3
--- /dev/null
+++ b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-10c.html
@@ -0,0 +1,3 @@
+Master Cyphona:
+Here's your reward for helping us. Although you didn't get all the Marks, I still remember how you helped us. I have no doubt the trust between us has deepened even more.
+
\ No newline at end of file
diff --git a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/Q00924_GiantOfTheRestorationRoom.java b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/Q00924_GiantOfTheRestorationRoom.java
new file mode 100644
index 0000000000..90e05f6829
--- /dev/null
+++ b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/Q00924_GiantOfTheRestorationRoom.java
@@ -0,0 +1,368 @@
+/*
+ * 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.Q00924_GiantOfTheRestorationRoom;
+
+import java.util.HashSet;
+import java.util.Set;
+
+import org.l2jmobius.gameserver.enums.Faction;
+import org.l2jmobius.gameserver.enums.QuestSound;
+import org.l2jmobius.gameserver.enums.QuestType;
+import org.l2jmobius.gameserver.model.actor.Npc;
+import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
+import org.l2jmobius.gameserver.model.holders.NpcLogListHolder;
+import org.l2jmobius.gameserver.model.quest.Quest;
+import org.l2jmobius.gameserver.model.quest.QuestState;
+import org.l2jmobius.gameserver.model.quest.State;
+import org.l2jmobius.gameserver.network.NpcStringId;
+
+/**
+ * Giant of the Restoration Room (924)
+ * @URL https://l2wiki.com/Recovered_Giants
+ * @author Dmitri
+ */
+public class Q00924_GiantOfTheRestorationRoom extends Quest
+{
+ // NPCs
+ private static final int SHUMADRIBA = 34217;
+ // Monsters
+ private static final int[] MONSTERS =
+ {
+ 23727, // Shaqrima Bathus
+ 23728, // Shaqrima Carcass
+ 23729, // Shaqrima Kshana
+ 23750 // Shaqrima Lucas
+ };
+ // Items
+ private static final int BASIC_SUPPLY_BOX = 47359;
+ private static final int INTERMEDIATE_SUPPLY_BOX = 47360;
+ private static final int ADVANCED_SUPPLY_BOX = 47361;
+ // Misc
+ private static final int KILLING_NPCSTRING_ID = NpcStringId.ELIMINATE_THE_GIANT.getId();
+ private static final boolean PARTY_QUEST = true;
+ private static final int MIN_LEVEL = 100;
+
+ public Q00924_GiantOfTheRestorationRoom()
+ {
+ super(924);
+ addStartNpc(SHUMADRIBA);
+ addTalkId(SHUMADRIBA);
+ addKillId(MONSTERS);
+ addCondMinLevel(MIN_LEVEL, "34217-00.htm");
+ }
+
+ @Override
+ public String onAdvEvent(String event, Npc npc, PlayerInstance player)
+ {
+ String htmltext = null;
+ final QuestState qs = getQuestState(player, false);
+ if (qs == null)
+ {
+ return htmltext;
+ }
+
+ switch (event)
+ {
+ case "34217-02.htm":
+ case "34217-03.htm":
+ case "34217-04.htm":
+ case "34217-04a.htm":
+ case "34217-04b.htm":
+ case "34217-06.html":
+ case "34217-06a.html":
+ case "34217-06b.html":
+ {
+ htmltext = event;
+ break;
+ }
+ case "select_mission":
+ {
+ qs.startQuest();
+ if ((player.getFactionLevel(Faction.GIANT_TRACKERS) >= 1) && (player.getFactionLevel(Faction.GIANT_TRACKERS) < 3))
+ {
+ htmltext = "34217-04a.htm";
+ break;
+ }
+ else if (player.getFactionLevel(Faction.GIANT_TRACKERS) >= 3)
+ {
+ htmltext = "34217-04b.htm";
+ break;
+ }
+ htmltext = "34217-04.htm";
+ break;
+ }
+ case "return":
+ {
+ if ((player.getFactionLevel(Faction.GIANT_TRACKERS) >= 1) && (player.getFactionLevel(Faction.GIANT_TRACKERS) < 3))
+ {
+ htmltext = "34217-04a.htm";
+ break;
+ }
+ else if (player.getFactionLevel(Faction.GIANT_TRACKERS) >= 3)
+ {
+ htmltext = "34217-04b.htm";
+ break;
+ }
+ htmltext = "34217-04.htm";
+ break;
+ }
+ case "34217-07.html":
+ {
+ qs.setCond(2, true);
+ htmltext = event;
+ break;
+ }
+ case "34217-07a.html":
+ {
+ qs.setCond(3, true);
+ htmltext = event;
+ break;
+ }
+ case "34217-07b.html":
+ {
+ qs.setCond(4, true);
+ htmltext = event;
+ break;
+ }
+ case "34217-10.html":
+ {
+ final int chance = getRandom(100);
+ switch (qs.getCond())
+ {
+ case 5:
+ {
+ if (player.getLevel() >= MIN_LEVEL)
+ {
+ if (chance < 2)
+ {
+ giveItems(player, ADVANCED_SUPPLY_BOX, 1);
+ }
+ else if (chance < 20)
+ {
+ giveItems(player, INTERMEDIATE_SUPPLY_BOX, 1);
+ }
+ else if (chance < 100)
+ {
+ giveItems(player, BASIC_SUPPLY_BOX, 1);
+ }
+ addExpAndSp(player, 14_831_100_000L, 14_831_100);
+ addFactionPoints(player, Faction.GIANT_TRACKERS, 100);
+ qs.exitQuest(QuestType.DAILY, true);
+ htmltext = event;
+ }
+ else
+ {
+ htmltext = getNoQuestLevelRewardMsg(player);
+ }
+ break;
+ }
+ case 6:
+ {
+ if (player.getLevel() >= MIN_LEVEL)
+ {
+ if (chance < 2)
+ {
+ giveItems(player, ADVANCED_SUPPLY_BOX, 1);
+ }
+ else if (chance < 20)
+ {
+ giveItems(player, BASIC_SUPPLY_BOX, 1);
+ }
+ else if (chance < 100)
+ {
+ giveItems(player, INTERMEDIATE_SUPPLY_BOX, 1);
+ }
+ addExpAndSp(player, 29_662_200_000L, 29_662_200);
+ addFactionPoints(player, Faction.GIANT_TRACKERS, 200);
+ qs.exitQuest(QuestType.DAILY, true);
+ htmltext = event;
+ }
+ else
+ {
+ htmltext = getNoQuestLevelRewardMsg(player);
+ }
+ break;
+ }
+ case 7:
+ {
+ if (player.getLevel() >= MIN_LEVEL)
+ {
+ if (chance < 2)
+ {
+ giveItems(player, BASIC_SUPPLY_BOX, 1);
+ }
+ else if (chance < 20)
+ {
+ giveItems(player, INTERMEDIATE_SUPPLY_BOX, 1);
+ }
+ else if (chance < 100)
+ {
+ giveItems(player, ADVANCED_SUPPLY_BOX, 1);
+ }
+ addExpAndSp(player, 44_493_300_000L, 44_493_300);
+ addFactionPoints(player, Faction.GIANT_TRACKERS, 300);
+ qs.exitQuest(QuestType.DAILY, true);
+ htmltext = event;
+ }
+ else
+ {
+ htmltext = getNoQuestLevelRewardMsg(player);
+ }
+ break;
+ }
+ }
+ break;
+ }
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onTalk(Npc npc, PlayerInstance player)
+ {
+ final QuestState qs = getQuestState(player, true);
+ String htmltext = getNoQuestMsg(player);
+
+ switch (qs.getState())
+ {
+ case State.CREATED:
+ {
+ htmltext = "34217-01.htm";
+ }
+ case State.STARTED:
+ {
+ switch (qs.getCond())
+ {
+ case 1:
+ {
+ if ((player.getFactionLevel(Faction.GIANT_TRACKERS) >= 1) && (player.getFactionLevel(Faction.GIANT_TRACKERS) < 3))
+ {
+ htmltext = "34217-04a.htm";
+ break;
+ }
+ else if (player.getFactionLevel(Faction.GIANT_TRACKERS) >= 3)
+ {
+ htmltext = "34217-04b.htm";
+ break;
+ }
+ htmltext = "34217-04.htm";
+ break;
+ }
+ case 2:
+ {
+ htmltext = "34217-08.html";
+ break;
+ }
+ case 3:
+ {
+ htmltext = "34217-08a.html";
+ break;
+ }
+ case 4:
+ {
+ htmltext = "34217-08b.html";
+ break;
+ }
+ case 5:
+ case 6:
+ case 7:
+ {
+ htmltext = "34217-09.html";
+ break;
+ }
+ }
+ break;
+ }
+ case State.COMPLETED:
+ {
+ if (!qs.isNowAvailable())
+ {
+ htmltext = getAlreadyCompletedMsg(player, QuestType.DAILY);
+ }
+ else
+ {
+ qs.setState(State.CREATED);
+ htmltext = "34217-01.htm";
+ }
+ break;
+ }
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onKill(Npc npc, PlayerInstance killer, boolean isSummon)
+ {
+ final QuestState qs = PARTY_QUEST ? getRandomPartyMemberState(killer, -1, 3, npc) : getQuestState(killer, false);
+ if ((qs != null) && (qs.getCond() > 1))
+ {
+ switch (qs.getCond())
+ {
+ case 2:
+ {
+ final int killedGhosts = qs.getInt("AncientGhosts") + 1;
+ qs.set("AncientGhosts", killedGhosts);
+ playSound(killer, QuestSound.ITEMSOUND_QUEST_ITEMGET);
+
+ if (killedGhosts >= 100)
+ {
+ qs.setCond(5, true);
+ }
+ break;
+ }
+ case 3:
+ {
+ final int killedGhosts = qs.getInt("AncientGhosts") + 1;
+ qs.set("AncientGhosts", killedGhosts);
+ playSound(killer, QuestSound.ITEMSOUND_QUEST_ITEMGET);
+
+ if (killedGhosts >= 200)
+ {
+ qs.setCond(6, true);
+ }
+ break;
+ }
+ case 4:
+ {
+ final int killedGhosts = qs.getInt("AncientGhosts") + 1;
+ qs.set("AncientGhosts", killedGhosts);
+ playSound(killer, QuestSound.ITEMSOUND_QUEST_ITEMGET);
+
+ if (killedGhosts >= 300)
+ {
+ qs.setCond(7, true);
+ }
+ break;
+ }
+ }
+ }
+ return super.onKill(npc, killer, isSummon);
+ }
+
+ @Override
+ public Set getNpcLogList(PlayerInstance player)
+ {
+ final QuestState qs = getQuestState(player, false);
+ if ((qs != null) && (qs.getCond() > 1))
+ {
+ final Set holder = new HashSet<>();
+ holder.add(new NpcLogListHolder(KILLING_NPCSTRING_ID, true, qs.getInt("AncientGhosts")));
+ return holder;
+ }
+ return super.getNpcLogList(player);
+ }
+}
\ No newline at end of file
diff --git a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10540_ThwartingMimirsPlan/34237-00.htm b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10540_ThwartingMimirsPlan/34237-00.htm
new file mode 100644
index 0000000000..2ce847f7bd
--- /dev/null
+++ b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10540_ThwartingMimirsPlan/34237-00.htm
@@ -0,0 +1,4 @@
+Krenaht:
+This place is too dangerous for you. Please return to the continent.
+(Only characters Lv. 100.)
+
\ No newline at end of file
diff --git a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10540_ThwartingMimirsPlan/34237-01.htm b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10540_ThwartingMimirsPlan/34237-01.htm
new file mode 100644
index 0000000000..5699913e62
--- /dev/null
+++ b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10540_ThwartingMimirsPlan/34237-01.htm
@@ -0,0 +1,4 @@
+Krenaht:
+Beleth...! That man is behind everything that happened here. Only his death will end this nightmare. Please, help me.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10540_ThwartingMimirsPlan/34237-02.htm b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10540_ThwartingMimirsPlan/34237-02.htm
new file mode 100644
index 0000000000..4ca2550c47
--- /dev/null
+++ b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10540_ThwartingMimirsPlan/34237-02.htm
@@ -0,0 +1,4 @@
+Krenaht:
+To interfere with his plans, we began finding and destroying Fragments of Chaos, though the latter did require the Giant's Grinder. Anyway, destroying these will lure Beleth out of safety, and we plan to start the operation as soon as we have enough.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10540_ThwartingMimirsPlan/34237-03.htm b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10540_ThwartingMimirsPlan/34237-03.htm
new file mode 100644
index 0000000000..c3b0bef012
--- /dev/null
+++ b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10540_ThwartingMimirsPlan/34237-03.htm
@@ -0,0 +1,5 @@
+Krenaht:
+The Giant's Grinder is in the heart of Hellbound. I will give a signal when Beleth appears; gather up your allies and let us all take him down once and for all.
+For our dignity.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10540_ThwartingMimirsPlan/34237-04.htm b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10540_ThwartingMimirsPlan/34237-04.htm
new file mode 100644
index 0000000000..32b3ddd37a
--- /dev/null
+++ b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10540_ThwartingMimirsPlan/34237-04.htm
@@ -0,0 +1,4 @@
+Krenaht:
+The Wormhole activates when Beleth appears; use it to go to the heart of Hellbound. There we will face and defeat Beleth together! If nothing else, we must at least take down Darion, his right-hand man.
+If it is the will of you and your fellow warriors, I will also join the battle.
+
\ No newline at end of file
diff --git a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10540_ThwartingMimirsPlan/34237-05.html b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10540_ThwartingMimirsPlan/34237-05.html
new file mode 100644
index 0000000000..51e6508fbe
--- /dev/null
+++ b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10540_ThwartingMimirsPlan/34237-05.html
@@ -0,0 +1,4 @@
+Krenaht:
+It may have been an illusion, but let us call it a success.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10540_ThwartingMimirsPlan/34237-06.html b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10540_ThwartingMimirsPlan/34237-06.html
new file mode 100644
index 0000000000..3fda9f375a
--- /dev/null
+++ b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10540_ThwartingMimirsPlan/34237-06.html
@@ -0,0 +1,3 @@
+Krenaht:
+Please take this gift of gratitude.
+
\ No newline at end of file
diff --git a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10540_ThwartingMimirsPlan/Q10540_ThwartingMimirsPlan.java b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10540_ThwartingMimirsPlan/Q10540_ThwartingMimirsPlan.java
new file mode 100644
index 0000000000..c4cdbefd6a
--- /dev/null
+++ b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10540_ThwartingMimirsPlan/Q10540_ThwartingMimirsPlan.java
@@ -0,0 +1,140 @@
+/*
+ * 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.Q10540_ThwartingMimirsPlan;
+
+import org.l2jmobius.Config;
+import org.l2jmobius.gameserver.model.actor.Npc;
+import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
+import org.l2jmobius.gameserver.model.quest.Quest;
+import org.l2jmobius.gameserver.model.quest.QuestState;
+import org.l2jmobius.gameserver.model.quest.State;
+import org.l2jmobius.gameserver.util.Util;
+
+/**
+ * Thwarting Mimir's Plan (10540)
+ * @URL https://l2wiki.com/Thwarting_Mimir%27s_Plan
+ * @author Dmitri
+ */
+public class Q10540_ThwartingMimirsPlan extends Quest
+{
+ // NPCs
+ private static final int KRENAHT = 34237;
+ // Boss
+ private static final int MIMIR = 26137;
+ // Misc
+ private static final int MIN_LEVEL = 100;
+ private static final int GIANTS_SCROLL_R_GRADE_WEAPON = 36386;
+
+ public Q10540_ThwartingMimirsPlan()
+ {
+ super(10540);
+ addStartNpc(KRENAHT);
+ addTalkId(KRENAHT);
+ addKillId(MIMIR);
+ addCondMinLevel(MIN_LEVEL, "34237-00.htm");
+ }
+
+ @Override
+ public String onAdvEvent(String event, Npc npc, PlayerInstance player)
+ {
+ final QuestState qs = getQuestState(player, false);
+ if (qs == null)
+ {
+ return null;
+ }
+
+ String htmltext = null;
+ switch (event)
+ {
+ case "34237-02.htm":
+ case "34237-03.htm":
+ {
+ htmltext = event;
+ break;
+ }
+ case "34237-04.htm":
+ {
+ qs.startQuest();
+ htmltext = event;
+ break;
+ }
+ case "34237-06.html":
+ {
+ if (qs.isCond(2))
+ {
+ giveItems(player, GIANTS_SCROLL_R_GRADE_WEAPON, 1);
+ addExpAndSp(player, 3954960000L, 9491880);
+ qs.exitQuest(false, true);
+ htmltext = event;
+ }
+ break;
+ }
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onTalk(Npc npc, PlayerInstance player)
+ {
+ final QuestState qs = getQuestState(player, true);
+ String htmltext = getNoQuestMsg(player);
+
+ switch (qs.getState())
+ {
+ case State.CREATED:
+ {
+ htmltext = "34237-01.htm";
+ break;
+ }
+ case State.STARTED:
+ {
+ if (qs.isCond(1))
+ {
+ htmltext = "34237-04.htm";
+ }
+ else
+ {
+ htmltext = "34237-05.html";
+ }
+ break;
+ }
+ case State.COMPLETED:
+ {
+ htmltext = getAlreadyCompletedMsg(player);
+ break;
+ }
+ }
+ return htmltext;
+ }
+
+ @Override
+ public void actionForEachPlayer(PlayerInstance player, Npc npc, boolean isSummon)
+ {
+ final QuestState qs = getQuestState(player, false);
+ if ((qs != null) && qs.isCond(1) && Util.checkIfInRange(Config.ALT_PARTY_RANGE, npc, player, false))
+ {
+ qs.setCond(2, true);
+ }
+ }
+
+ @Override
+ public String onKill(Npc npc, PlayerInstance killer, boolean isSummon)
+ {
+ executeForEachPlayer(killer, npc, isSummon, true, false);
+ return super.onKill(npc, killer, isSummon);
+ }
+}
\ No newline at end of file
diff --git a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10833_PutTheQueenOfSpiritsToSleep/Q10833_PutTheQueenOfSpiritsToSleep.java b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10833_PutTheQueenOfSpiritsToSleep/Q10833_PutTheQueenOfSpiritsToSleep.java
index e291d29351..898a1f2eea 100644
--- a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10833_PutTheQueenOfSpiritsToSleep/Q10833_PutTheQueenOfSpiritsToSleep.java
+++ b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10833_PutTheQueenOfSpiritsToSleep/Q10833_PutTheQueenOfSpiritsToSleep.java
@@ -16,6 +16,7 @@
*/
package quests.Q10833_PutTheQueenOfSpiritsToSleep;
+import org.l2jmobius.gameserver.enums.Faction;
import org.l2jmobius.gameserver.model.actor.Npc;
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
import org.l2jmobius.gameserver.model.quest.Quest;
@@ -35,13 +36,12 @@ public class Q10833_PutTheQueenOfSpiritsToSleep extends Quest
private static final int FERIN = 34054;
private static final int ISABELLA = 26131;
// Items
- private static final int MARK_OF_TRUST_HIGH_GRADE = 45848;
private static final int ISABELLAS_EVIL_THOUGHTS = 45839;
private static final int SOE = 46158;
private static final int ELCYUM_CRYSTAL = 36514;
private static final int GIANTS_CODEX = 46152;
// Misc
- private static final int MIN_LEVEL = 100;
+ private static final int MIN_LEVEL = 102;
public Q10833_PutTheQueenOfSpiritsToSleep()
{
@@ -52,6 +52,7 @@ public class Q10833_PutTheQueenOfSpiritsToSleep extends Quest
registerQuestItems(ISABELLAS_EVIL_THOUGHTS);
addCondMinLevel(MIN_LEVEL, "34054-00.htm");
addCondCompletedQuest(Q10832_EnergyOfSadnessAndAnger.class.getSimpleName(), "34054-00.htm");
+ addFactionLevel(Faction.UNWORLDLY_VISITORS, 6, "34054-00.htm");
}
@Override
@@ -83,7 +84,7 @@ public class Q10833_PutTheQueenOfSpiritsToSleep extends Quest
giveItems(player, GIANTS_CODEX, 1);
giveItems(player, ELCYUM_CRYSTAL, 1);
giveItems(player, SOE, 1);
- addExpAndSp(player, 1637472704L, 14237820);
+ addExpAndSp(player, 22221427950L, 22221360);
qs.exitQuest(false, true);
htmltext = event;
break;
@@ -101,11 +102,6 @@ public class Q10833_PutTheQueenOfSpiritsToSleep extends Quest
{
case State.CREATED:
{
- if (!hasQuestItems(player, MARK_OF_TRUST_HIGH_GRADE))
- {
- htmltext = "noItem.htm";
- break;
- }
htmltext = "34054-01.htm";
break;
}
diff --git a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10833_PutTheQueenOfSpiritsToSleep/noItem.htm b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10833_PutTheQueenOfSpiritsToSleep/noItem.htm
deleted file mode 100644
index 3ba66309d6..0000000000
--- a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10833_PutTheQueenOfSpiritsToSleep/noItem.htm
+++ /dev/null
@@ -1,4 +0,0 @@
-Ferin:
-You! Do you even know who you are talking to? Go away!
-(This quest may only be undertaken by characters with a Mark of Trust (High-grade).)
-
\ No newline at end of file
diff --git a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34054-00.htm b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34054-00.htm
new file mode 100644
index 0000000000..264b837f17
--- /dev/null
+++ b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34054-00.htm
@@ -0,0 +1,4 @@
+Ferin:
+You think you are enough? Well, I can't agree to that.
+(This quest is for characters level 102 and Unworldly Visitors faction level should be 6.)
+
\ No newline at end of file
diff --git a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34054-01.htm b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34054-01.htm
new file mode 100644
index 0000000000..fda0dff0a1
--- /dev/null
+++ b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34054-01.htm
@@ -0,0 +1,4 @@
+Ferin:
+I've done some research with the items we got from defeating El Floato. It looks like the spirits have been affected by the same power that forcefully brought the Garden of Spirits. In other words, they've been forcefully awakened and are now unstable. In order to stabilize themselves, they are affecting their surroundings negatively.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34054-02.htm b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34054-02.htm
new file mode 100644
index 0000000000..2e5abdb92d
--- /dev/null
+++ b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34054-02.htm
@@ -0,0 +1,4 @@
+Ferin:
+However, that's just a description of the phenomena. It doesn't help us in finding out how to go back to our realm. It might be more effective if a creature with a more powerful energy is defeated.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34054-03.htm b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34054-03.htm
new file mode 100644
index 0000000000..4a1ac5614b
--- /dev/null
+++ b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34054-03.htm
@@ -0,0 +1,4 @@
+Ferin:
+You might think that I'm stubborn. But please understand where I'm coming from. Will you help me? Even if it might be dangerous.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34054-04.htm b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34054-04.htm
new file mode 100644
index 0000000000..fa03d04972
--- /dev/null
+++ b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34054-04.htm
@@ -0,0 +1,3 @@
+Ferin:
+Defeat Harpe in the Garden of Spirits to can obtain Sad Energy and Angry Energy. If you bring me those, I'll be able to find out about their sadness and anger. It will be really helpful for my research.
+
\ No newline at end of file
diff --git a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34054-05.html b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34054-05.html
new file mode 100644
index 0000000000..4b1d311a70
--- /dev/null
+++ b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34054-05.html
@@ -0,0 +1,3 @@
+Ferin:
+It's said that when you defeat Harpe, you can obtain Sad Energy and Angry Energy. If you bring me those, I'll be able to find out about their sadness and anger. It will be really helpful for my research.
+
\ No newline at end of file
diff --git a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34054-06.html b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34054-06.html
new file mode 100644
index 0000000000..62d6c3d580
--- /dev/null
+++ b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34054-06.html
@@ -0,0 +1,4 @@
+Ferin:
+Did you finish the mission? Great.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34054-07.html b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34054-07.html
new file mode 100644
index 0000000000..33b4808a43
--- /dev/null
+++ b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34054-07.html
@@ -0,0 +1,3 @@
+Ferin:
+Great. Ferin will know what to do after seeing the results of the investigation. Go talk to Ferin. Keep in mind that you must build trust first.
+
\ No newline at end of file
diff --git a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34054-09.html b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34054-09.html
new file mode 100644
index 0000000000..08fbf732a0
--- /dev/null
+++ b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34054-09.html
@@ -0,0 +1,4 @@
+Ferin:
+Did you finish the mission? Great.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34054-10.html b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34054-10.html
new file mode 100644
index 0000000000..33b4808a43
--- /dev/null
+++ b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34054-10.html
@@ -0,0 +1,3 @@
+Ferin:
+Great. Ferin will know what to do after seeing the results of the investigation. Go talk to Ferin. Keep in mind that you must build trust first.
+
\ No newline at end of file
diff --git a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34055-01.html b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34055-01.html
new file mode 100644
index 0000000000..e389377838
--- /dev/null
+++ b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34055-01.html
@@ -0,0 +1,4 @@
+Cyphona:
+Did you finish the mission? Great.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34055-02.html b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34055-02.html
new file mode 100644
index 0000000000..1371f1a7e7
--- /dev/null
+++ b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34055-02.html
@@ -0,0 +1,4 @@
+Cyphona:
+Did you finish the mission? Great.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34055-03.html b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34055-03.html
new file mode 100644
index 0000000000..210b59aad0
--- /dev/null
+++ b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34055-03.html
@@ -0,0 +1,3 @@
+Cyphona:
+Great. Ferin will know what to do after seeing the results of the investigation. Go talk to Ferin. Keep in mind that you must build trust first.
+
\ No newline at end of file
diff --git a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34056-01.html b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34056-01.html
new file mode 100644
index 0000000000..17d8d2f5ff
--- /dev/null
+++ b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34056-01.html
@@ -0,0 +1,4 @@
+Belas:
+Did you finish the mission? Great.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34056-02.html b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34056-02.html
new file mode 100644
index 0000000000..cff97244ab
--- /dev/null
+++ b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34056-02.html
@@ -0,0 +1,4 @@
+Belas:
+Did you finish the mission? Great.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34056-03.html b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34056-03.html
new file mode 100644
index 0000000000..be0ec6881b
--- /dev/null
+++ b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34056-03.html
@@ -0,0 +1,3 @@
+Belas:
+Great. Ferin will know what to do after seeing the results of the investigation. Go talk to Ferin. Keep in mind that you must build trust first.
+
\ No newline at end of file
diff --git a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34238-01.html b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34238-01.html
new file mode 100644
index 0000000000..53953a2d31
--- /dev/null
+++ b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34238-01.html
@@ -0,0 +1,4 @@
+Eubina:
+Did you finish the mission? Great.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34238-02.html b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34238-02.html
new file mode 100644
index 0000000000..70337cd469
--- /dev/null
+++ b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34238-02.html
@@ -0,0 +1,4 @@
+Eubina:
+Did you finish the mission? Great.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34238-03.html b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34238-03.html
new file mode 100644
index 0000000000..94677730ab
--- /dev/null
+++ b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34238-03.html
@@ -0,0 +1,3 @@
+Eubina:
+Great. Ferin will know what to do after seeing the results of the investigation. Go talk to Ferin. Keep in mind that you must build trust first.
+
\ No newline at end of file
diff --git a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34239-01.html b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34239-01.html
new file mode 100644
index 0000000000..0737f45d04
--- /dev/null
+++ b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34239-01.html
@@ -0,0 +1,4 @@
+Rotoeh:
+Did you finish the mission? Great.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34239-02.html b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34239-02.html
new file mode 100644
index 0000000000..aebb815d8b
--- /dev/null
+++ b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34239-02.html
@@ -0,0 +1,4 @@
+Rotoeh:
+Did you finish the mission? Great.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34239-03.html b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34239-03.html
new file mode 100644
index 0000000000..fe84b631cf
--- /dev/null
+++ b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34239-03.html
@@ -0,0 +1,3 @@
+Rotoeh:
+Great. Ferin will know what to do after seeing the results of the investigation. Go talk to Ferin. Keep in mind that you must build trust first.
+
\ No newline at end of file
diff --git a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/Q10849_TrialsForAdaptation.java b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/Q10849_TrialsForAdaptation.java
new file mode 100644
index 0000000000..dc778fe19d
--- /dev/null
+++ b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/Q10849_TrialsForAdaptation.java
@@ -0,0 +1,300 @@
+/*
+ * 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.Q10849_TrialsForAdaptation;
+
+import org.l2jmobius.Config;
+import org.l2jmobius.gameserver.enums.Faction;
+import org.l2jmobius.gameserver.enums.QuestSound;
+import org.l2jmobius.gameserver.model.actor.Npc;
+import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
+import org.l2jmobius.gameserver.model.quest.Quest;
+import org.l2jmobius.gameserver.model.quest.QuestState;
+import org.l2jmobius.gameserver.model.quest.State;
+
+/**
+ * Trials for Adaptation (10849)
+ * @URL https://l2wiki.com/Trials_for_Adaptation
+ * @author Dmitri
+ */
+public class Q10849_TrialsForAdaptation extends Quest
+{
+ // NPC
+ private static final int FERIN = 34054;
+ private static final int EUBINA = 34238;
+ private static final int ROTOEH = 34239;
+ private static final int CYPHONA = 34055;
+ private static final int BELAS = 34056;
+ // Monsters
+ private static final int KERBEROS_LAGER_N = 23550; // (night)
+ private static final int KERBEROS_LAGER = 23541;
+ private static final int KERBEROS_FORT_N = 23551; // (night)
+ private static final int KERBEROS_FORT = 23542;
+ private static final int KERBEROS_NERO_N = 23552; // (night)
+ private static final int KERBEROS_NERO = 23543;
+ private static final int FURY_SYLPH_BARRENA_N = 23553; // (night)
+ private static final int FURY_SYLPH_BARRENA = 23544;
+ private static final int FURY_SYLPH_TEMPTRESS_N = 23555; // (night)
+ private static final int FURY_SYLPH_TEMPTRESS = 23546;
+ private static final int FURY_SYLPH_PURKA_N = 23556; // (night)
+ private static final int FURY_SYLPH_PURKA = 23547;
+ private static final int FURY_KERBEROS_LEGER_N = 23557; // (night)
+ private static final int FURY_KERBEROS_LEGER = 23545;
+ private static final int FURY_KERBEROS_NERO_N = 23558; // (night)
+ private static final int FURY_KERBEROS_NERO = 23549;
+ // Items
+ private static final int ENERGY_LADEL_WITH_THE_DAYS = 47189;
+ private static final int ENERGY_LADEL_WITH_THE_NIGHTS = 47190;
+ // Reward
+ private static final int RUNE_STONE = 39738;
+ private static final int SPELLBOOK_WING_HOUND = 47152;
+ // Misc
+ private static final int MIN_LEVEL = 102;
+
+ public Q10849_TrialsForAdaptation()
+ {
+ super(10849);
+ addStartNpc(FERIN);
+ addTalkId(FERIN, EUBINA, ROTOEH, CYPHONA, BELAS);
+ addKillId(KERBEROS_LAGER, KERBEROS_LAGER_N, KERBEROS_FORT, KERBEROS_FORT_N, KERBEROS_NERO, KERBEROS_NERO_N, FURY_SYLPH_BARRENA, FURY_SYLPH_BARRENA_N, FURY_SYLPH_TEMPTRESS, FURY_SYLPH_TEMPTRESS_N, FURY_SYLPH_PURKA, FURY_SYLPH_PURKA_N, FURY_KERBEROS_LEGER, FURY_KERBEROS_LEGER_N, FURY_KERBEROS_NERO, FURY_KERBEROS_NERO_N);
+ registerQuestItems(ENERGY_LADEL_WITH_THE_DAYS, ENERGY_LADEL_WITH_THE_NIGHTS);
+ addCondMinLevel(MIN_LEVEL, "34054-00.htm");
+ addFactionLevel(Faction.UNWORLDLY_VISITORS, 6, "34054-00.htm");
+ }
+
+ @Override
+ public String onAdvEvent(String event, Npc npc, PlayerInstance player)
+ {
+ String htmltext = null;
+ final QuestState qs = getQuestState(player, false);
+ if (qs == null)
+ {
+ return htmltext;
+ }
+
+ switch (event)
+ {
+ case "34054-02.htm":
+ case "34054-03.htm":
+ case "34238-03.html":
+ case "34239-03.html":
+ case "34055-03.html":
+ case "34056-03.html":
+ {
+ htmltext = event;
+ break;
+ }
+ case "34054-04.htm":
+ {
+ qs.startQuest();
+ htmltext = event;
+ break;
+ }
+ case "34054-07.html":
+ {
+ qs.setCond(3, true);
+ htmltext = event;
+ break;
+ }
+ case "34238-02.html":
+ {
+ qs.setCond(4, true);
+ htmltext = event;
+ break;
+ }
+ case "34239-02.html":
+ {
+ qs.setCond(5, true);
+ htmltext = event;
+ break;
+ }
+ case "34055-02.html":
+ {
+ qs.setCond(6, true);
+ htmltext = event;
+ break;
+ }
+ case "34056-02.html":
+ {
+ qs.setCond(7, true);
+ htmltext = event;
+ break;
+ }
+ case "34054-10.html":
+ {
+ if (qs.isCond(7))
+ {
+ giveItems(player, RUNE_STONE, 1);
+ giveItems(player, SPELLBOOK_WING_HOUND, 1);
+ addExpAndSp(player, 444428559000L, 444427200);
+ qs.exitQuest(false, true);
+ htmltext = event;
+ }
+ break;
+ }
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onTalk(Npc npc, PlayerInstance player)
+ {
+ final QuestState qs = getQuestState(player, true);
+ String htmltext = getNoQuestMsg(player);
+
+ switch (qs.getState())
+ {
+ case State.CREATED:
+ {
+ if (npc.getId() == FERIN)
+ {
+ htmltext = "34054-01.htm";
+ }
+ break;
+ }
+ case State.STARTED:
+ {
+ switch (npc.getId())
+ {
+ case FERIN:
+ {
+ if (qs.isCond(1))
+ {
+ htmltext = "34054-05.html";
+ }
+ else if (qs.isCond(2))
+ {
+ htmltext = "34054-06.html";
+ }
+ else if (qs.isCond(3))
+ {
+ htmltext = "34054-07.html";
+ }
+ else if (qs.isCond(7))
+ {
+ htmltext = "34054-09.html";
+ }
+ break;
+ }
+ case EUBINA:
+ {
+ if (qs.isCond(3))
+ {
+ htmltext = "34238-01.html";
+ }
+ else if (qs.isCond(4))
+ {
+ htmltext = "34238-03.html";
+ }
+ break;
+ }
+ case ROTOEH:
+ {
+ if (qs.isCond(4))
+ {
+ htmltext = "34239-01.html";
+ }
+ else if (qs.isCond(5))
+ {
+ htmltext = "34239-03.html";
+ }
+ break;
+ }
+ case CYPHONA:
+ {
+ if (qs.isCond(5))
+ {
+ htmltext = "34055-01.html";
+ }
+ else if (qs.isCond(6))
+ {
+ htmltext = "34055-03.html";
+ }
+ break;
+ }
+ case BELAS:
+ {
+ if (qs.isCond(6))
+ {
+ htmltext = "34056-01.html";
+ }
+ else if (qs.isCond(7))
+ {
+ htmltext = "34056-03.html";
+ }
+ break;
+ }
+ }
+ break;
+ }
+ case State.COMPLETED:
+ {
+ htmltext = getAlreadyCompletedMsg(player);
+ break;
+ }
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onKill(Npc npc, PlayerInstance killer, boolean isSummon)
+ {
+ final QuestState qs = getQuestState(killer, false);
+ if ((qs != null) && qs.isCond(1) && killer.isInsideRadius3D(npc, Config.ALT_PARTY_RANGE))
+ {
+ switch (npc.getId())
+ {
+ case FURY_SYLPH_BARRENA_N:
+ case FURY_SYLPH_TEMPTRESS_N:
+ case FURY_SYLPH_PURKA_N:
+ case FURY_KERBEROS_LEGER_N:
+ case FURY_KERBEROS_NERO_N:
+ case KERBEROS_LAGER_N:
+ case KERBEROS_FORT_N:
+ case KERBEROS_NERO_N:
+ {
+ if (getRandom(100) < 99)
+ {
+ giveItems(killer, ENERGY_LADEL_WITH_THE_NIGHTS, 1);
+ playSound(killer, QuestSound.ITEMSOUND_QUEST_ITEMGET);
+ }
+ break;
+ }
+ case FURY_SYLPH_BARRENA:
+ case FURY_SYLPH_TEMPTRESS:
+ case FURY_SYLPH_PURKA:
+ case FURY_KERBEROS_LEGER:
+ case FURY_KERBEROS_NERO:
+ case KERBEROS_LAGER:
+ case KERBEROS_FORT:
+ case KERBEROS_NERO:
+ {
+ if (getRandom(100) < 99)
+ {
+ giveItems(killer, ENERGY_LADEL_WITH_THE_DAYS, 1);
+ playSound(killer, QuestSound.ITEMSOUND_QUEST_ITEMGET);
+ }
+ break;
+ }
+ }
+ if ((getQuestItemsCount(killer, ENERGY_LADEL_WITH_THE_DAYS) >= 1500) && (getQuestItemsCount(killer, ENERGY_LADEL_WITH_THE_NIGHTS) >= 500))
+ {
+ qs.setCond(2, true);
+ }
+ }
+ return super.onKill(npc, killer, isSummon);
+ }
+}
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 0203c5d2ec..8112ef9e85 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
@@ -203,6 +203,7 @@ import quests.Q00903_TheCallOfAntharas.Q00903_TheCallOfAntharas;
import quests.Q00905_RefinedDragonBlood.Q00905_RefinedDragonBlood;
import quests.Q00906_TheCallOfValakas.Q00906_TheCallOfValakas;
import quests.Q00923_ShinedustExtraction.Q00923_ShinedustExtraction;
+import quests.Q00924_GiantOfTheRestorationRoom.Q00924_GiantOfTheRestorationRoom;
import quests.Q00926_30DaySearchOperation.Q00926_30DaySearchOperation;
import quests.Q00928_100DaySubjugationOperation.Q00928_100DaySubjugationOperation;
import quests.Q00931_MemoriesOfTheWind.Q00931_MemoriesOfTheWind;
@@ -355,6 +356,7 @@ import quests.Q10527_TheAssassinationOfTheKetraOrcCommander.Q10527_TheAssassinat
import quests.Q10528_TheAssassinationOfTheKetraOrcChief.Q10528_TheAssassinationOfTheKetraOrcChief;
import quests.Q10530_KekropusLetterTheDragonsTransition.Q10530_KekropusLetterTheDragonsTransition;
import quests.Q10534_HatchlingResearch.Q10534_HatchlingResearch;
+import quests.Q10540_ThwartingMimirsPlan.Q10540_ThwartingMimirsPlan;
import quests.Q10541_TrainLikeTheRealThing.Q10541_TrainLikeTheRealThing;
import quests.Q10542_SearchingForNewPower.Q10542_SearchingForNewPower;
import quests.Q10543_SheddingWeight.Q10543_SheddingWeight;
@@ -461,6 +463,7 @@ import quests.Q10839_BlackbirdsNameValue.Q10839_BlackbirdsNameValue;
import quests.Q10840_TimeToRecover.Q10840_TimeToRecover;
import quests.Q10841_DeepInsideAteliaFortress.Q10841_DeepInsideAteliaFortress;
import quests.Q10843_AnomalyInTheEnchantedValley.Q10843_AnomalyInTheEnchantedValley;
+import quests.Q10849_TrialsForAdaptation.Q10849_TrialsForAdaptation;
import quests.Q10851_ElvenBotany.Q10851_ElvenBotany;
import quests.Q10856_SuperionAppears.Q10856_SuperionAppears;
import quests.not_done.Q00504_CompetitionForTheBanditStronghold;
@@ -500,7 +503,6 @@ import quests.not_done.Q00843_GiantEvolutionControl;
import quests.not_done.Q00844_GiantsTreasure;
import quests.not_done.Q00845_SabotageTheEmbryoSupplies;
import quests.not_done.Q00846_BuildingUpStrength;
-import quests.not_done.Q00924_GiantOfTheRestorationRoom;
import quests.not_done.Q00929_SeekerRescue;
import quests.not_done.Q00930_DisparagingThePhantoms;
import quests.not_done.Q00985_AdventureGuildsSpecialRequestLv1;
@@ -524,14 +526,12 @@ import quests.not_done.Q10535_BlacksmithsSoulAwakeningWeapon3;
import quests.not_done.Q10537_KamaelDisarray;
import quests.not_done.Q10538_GiantsEvolution;
import quests.not_done.Q10539_EnergySupplyCutoffPlan;
-import quests.not_done.Q10540_ThwartingMimirsPlan;
import quests.not_done.Q10748_MysteriousSuggestion1;
import quests.not_done.Q10749_MysteriousSuggestion2;
import quests.not_done.Q10844_BloodyBattleSeizingSupplies;
import quests.not_done.Q10845_BloodyBattleRescueTheSmiths;
import quests.not_done.Q10846_BloodyBattleMeetingTheCommander;
import quests.not_done.Q10848_TrialsBeforeTheBattle;
-import quests.not_done.Q10849_TrialsForAdaptation;
import quests.not_done.Q10852_TheMotherTreeRevivalProject;
import quests.not_done.Q10853_ToWeakenTheGiants;
import quests.not_done.Q10854_ToSeizeTheFortress;
@@ -779,7 +779,7 @@ public class QuestMasterHandler
Q00905_RefinedDragonBlood.class,
Q00906_TheCallOfValakas.class,
Q00923_ShinedustExtraction.class,
- Q00924_GiantOfTheRestorationRoom.class, // TODO: Not done.
+ Q00924_GiantOfTheRestorationRoom.class,
Q00926_30DaySearchOperation.class,
Q00928_100DaySubjugationOperation.class,
Q00929_SeekerRescue.class, // TODO: Not done.
@@ -955,7 +955,7 @@ public class QuestMasterHandler
Q10537_KamaelDisarray.class, // TODO: Not done.
Q10538_GiantsEvolution.class, // TODO: Not done.
Q10539_EnergySupplyCutoffPlan.class, // TODO: Not done.
- Q10540_ThwartingMimirsPlan.class, // TODO: Not done.
+ Q10540_ThwartingMimirsPlan.class,
Q10541_TrainLikeTheRealThing.class,
Q10542_SearchingForNewPower.class,
Q10543_SheddingWeight.class,
@@ -1068,7 +1068,7 @@ public class QuestMasterHandler
Q10845_BloodyBattleRescueTheSmiths.class, // TODO: Not done.
Q10846_BloodyBattleMeetingTheCommander.class, // TODO: Not done.
Q10848_TrialsBeforeTheBattle.class, // TODO: Not done.
- Q10849_TrialsForAdaptation.class, // TODO: Not done.
+ Q10849_TrialsForAdaptation.class,
Q10851_ElvenBotany.class,
Q10852_TheMotherTreeRevivalProject.class, // TODO: Not done.
Q10853_ToWeakenTheGiants.class, // TODO: Not done.
diff --git a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/not_done/Q00924_GiantOfTheRestorationRoom.java b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/not_done/Q00924_GiantOfTheRestorationRoom.java
deleted file mode 100644
index 883bded9b3..0000000000
--- a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/not_done/Q00924_GiantOfTheRestorationRoom.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
- * This file is part of the L2J Mobius project.
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-package quests.not_done;
-
-import org.l2jmobius.Config;
-import org.l2jmobius.gameserver.model.quest.Quest;
-
-/**
- * @author Mobius
- */
-public class Q00924_GiantOfTheRestorationRoom extends Quest
-{
- private static final int START_NPC = 34217;
-
- public Q00924_GiantOfTheRestorationRoom()
- {
- super(924);
- addStartNpc(START_NPC);
- addTalkId(START_NPC);
- addCondMinLevel(Config.PLAYER_MAXIMUM_LEVEL, getNoQuestMsg(null));
- }
-}
diff --git a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/not_done/Q10540_ThwartingMimirsPlan.java b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/not_done/Q10540_ThwartingMimirsPlan.java
deleted file mode 100644
index 8ced631154..0000000000
--- a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/not_done/Q10540_ThwartingMimirsPlan.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
- * This file is part of the L2J Mobius project.
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-package quests.not_done;
-
-import org.l2jmobius.Config;
-import org.l2jmobius.gameserver.model.quest.Quest;
-
-/**
- * @author Mobius
- */
-public class Q10540_ThwartingMimirsPlan extends Quest
-{
- private static final int START_NPC = 34237;
-
- public Q10540_ThwartingMimirsPlan()
- {
- super(10540);
- addStartNpc(START_NPC);
- addTalkId(START_NPC);
- addCondMinLevel(Config.PLAYER_MAXIMUM_LEVEL, getNoQuestMsg(null));
- }
-}
diff --git a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/not_done/Q10849_TrialsForAdaptation.java b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/not_done/Q10849_TrialsForAdaptation.java
deleted file mode 100644
index 636edba9ac..0000000000
--- a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/not_done/Q10849_TrialsForAdaptation.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
- * This file is part of the L2J Mobius project.
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-package quests.not_done;
-
-import org.l2jmobius.Config;
-import org.l2jmobius.gameserver.model.quest.Quest;
-
-/**
- * @author Mobius
- */
-public class Q10849_TrialsForAdaptation extends Quest
-{
- private static final int START_NPC = 34054;
-
- public Q10849_TrialsForAdaptation()
- {
- super(10849);
- addStartNpc(START_NPC);
- addTalkId(START_NPC);
- addCondMinLevel(Config.PLAYER_MAXIMUM_LEVEL, getNoQuestMsg(null));
- }
-}
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 ea91d30873..bb059b19d4 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
@@ -71,7 +71,6 @@
734 Red Libra Request - Nightmare Kamaloka
735 Red Libra Request - Embryo Command Post
736 Red Libra Request - Altar of Shilen
-743 At the Altar of Oblivion
744 The Alligator Hunter returns
745 The Outlaws are Incoming
746 The Reason One Cannot Wait
@@ -128,7 +127,6 @@
918 Red Libra Request - Atelia Fortress
919 Red Libra Request - Superion
922 Hunter Guild Request - Northern Region, Isle of Prayer
-924 Giant of the Restoration Room
925 Hunter Guild Request - Garden of Spirits
929 Seeker Rescue
930 Disparaging the Phantoms
@@ -155,7 +153,6 @@
10537 Kamael Disarray To Retbach
10538 Giant's Evolution Cause of failed evolution
10539 Energy Supply Cutoff Plan Defeat Halisha's Henchman
-10540 Thwarting Mimir's Plan Defeating Mimir
10552 Challenge! Balthus Knight!
10553 What Matters More Than Ability
10554 Gift for You
@@ -188,7 +185,6 @@
10845 Bloody Battle - Rescue the Smiths
10846 Bloody Battle - Meeting the Commander
10848 Trials before the Battle
-10849 Trials for Adaptation
10852 The Mother Tree Revival Project
10853 To Weaken the Giants
10854 To Seize the Fortress
diff --git a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q00743_AtTheAltarOfOblivion/34054-00.htm b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q00743_AtTheAltarOfOblivion/34054-00.htm
new file mode 100644
index 0000000000..3dd4107573
--- /dev/null
+++ b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q00743_AtTheAltarOfOblivion/34054-00.htm
@@ -0,0 +1,4 @@
+Ferin:
+You think you are enough? Well, I can't agree to that.
+(This quest is for characters level 100 and higher who have completed the "Unbelievable Sight" quest.)
+
\ No newline at end of file
diff --git a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q00743_AtTheAltarOfOblivion/34054-01.htm b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q00743_AtTheAltarOfOblivion/34054-01.htm
new file mode 100644
index 0000000000..19326eb750
--- /dev/null
+++ b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q00743_AtTheAltarOfOblivion/34054-01.htm
@@ -0,0 +1,4 @@
+Ferin:
+I've done some research with the items we got from defeating El Floato. It looks like the spirits have been affected by the same power that forcefully brought the Garden of Spirits. In other words, they've been forcefully awakened and are now unstable. In order to stabilize themselves, they are affecting their surroundings negatively.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q00743_AtTheAltarOfOblivion/34054-02.htm b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q00743_AtTheAltarOfOblivion/34054-02.htm
new file mode 100644
index 0000000000..42071eb261
--- /dev/null
+++ b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q00743_AtTheAltarOfOblivion/34054-02.htm
@@ -0,0 +1,4 @@
+Ferin:
+However, that's just a description of the phenomena. It doesn't help us in finding out how to go back to our realm. It might be more effective if a creature with a more powerful energy is defeated.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q00743_AtTheAltarOfOblivion/34054-03.htm b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q00743_AtTheAltarOfOblivion/34054-03.htm
new file mode 100644
index 0000000000..6ad7c728f6
--- /dev/null
+++ b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q00743_AtTheAltarOfOblivion/34054-03.htm
@@ -0,0 +1,4 @@
+Ferin:
+You might think that I'm stubborn. But please understand where I'm coming from. Will you help me? Even if it might be dangerous.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q00743_AtTheAltarOfOblivion/34054-04.htm b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q00743_AtTheAltarOfOblivion/34054-04.htm
new file mode 100644
index 0000000000..fa03d04972
--- /dev/null
+++ b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q00743_AtTheAltarOfOblivion/34054-04.htm
@@ -0,0 +1,3 @@
+Ferin:
+Defeat Harpe in the Garden of Spirits to can obtain Sad Energy and Angry Energy. If you bring me those, I'll be able to find out about their sadness and anger. It will be really helpful for my research.
+
\ No newline at end of file
diff --git a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q00743_AtTheAltarOfOblivion/34054-05.html b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q00743_AtTheAltarOfOblivion/34054-05.html
new file mode 100644
index 0000000000..4b1d311a70
--- /dev/null
+++ b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q00743_AtTheAltarOfOblivion/34054-05.html
@@ -0,0 +1,3 @@
+Ferin:
+It's said that when you defeat Harpe, you can obtain Sad Energy and Angry Energy. If you bring me those, I'll be able to find out about their sadness and anger. It will be really helpful for my research.
+
\ No newline at end of file
diff --git a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q00743_AtTheAltarOfOblivion/34054-06.html b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q00743_AtTheAltarOfOblivion/34054-06.html
new file mode 100644
index 0000000000..873deedee9
--- /dev/null
+++ b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q00743_AtTheAltarOfOblivion/34054-06.html
@@ -0,0 +1,4 @@
+Ferin:
+Did you finish the mission? Great.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q00743_AtTheAltarOfOblivion/34054-07.html b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q00743_AtTheAltarOfOblivion/34054-07.html
new file mode 100644
index 0000000000..33b4808a43
--- /dev/null
+++ b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q00743_AtTheAltarOfOblivion/34054-07.html
@@ -0,0 +1,3 @@
+Ferin:
+Great. Ferin will know what to do after seeing the results of the investigation. Go talk to Ferin. Keep in mind that you must build trust first.
+
\ No newline at end of file
diff --git a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q00743_AtTheAltarOfOblivion/Q00743_AtTheAltarOfOblivion.java b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q00743_AtTheAltarOfOblivion/Q00743_AtTheAltarOfOblivion.java
new file mode 100644
index 0000000000..b179fc5190
--- /dev/null
+++ b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q00743_AtTheAltarOfOblivion/Q00743_AtTheAltarOfOblivion.java
@@ -0,0 +1,230 @@
+/*
+ * 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.Q00743_AtTheAltarOfOblivion;
+
+import org.l2jmobius.gameserver.enums.Faction;
+import org.l2jmobius.gameserver.enums.QuestSound;
+import org.l2jmobius.gameserver.enums.QuestType;
+import org.l2jmobius.gameserver.model.actor.Npc;
+import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
+import org.l2jmobius.gameserver.model.events.EventType;
+import org.l2jmobius.gameserver.model.events.ListenerRegisterType;
+import org.l2jmobius.gameserver.model.events.annotations.Id;
+import org.l2jmobius.gameserver.model.events.annotations.RegisterEvent;
+import org.l2jmobius.gameserver.model.events.annotations.RegisterType;
+import org.l2jmobius.gameserver.model.events.impl.creature.player.OnPlayerItemAdd;
+import org.l2jmobius.gameserver.model.quest.Quest;
+import org.l2jmobius.gameserver.model.quest.QuestState;
+import org.l2jmobius.gameserver.model.quest.State;
+
+import quests.Q10832_EnergyOfSadnessAndAnger.Q10832_EnergyOfSadnessAndAnger;
+
+/**
+ * At the Altar of Oblivion (743)
+ * @URL https://l2wiki.com/At_the_Altar_of_Oblivion
+ * @author Dmitri
+ */
+public class Q00743_AtTheAltarOfOblivion extends Quest
+{
+ // NPC
+ private static final int FERIN = 34054;
+ // Monsters
+ private static final int HARPE = 23561;
+ private static final int HARPE1 = 23562;
+ private static final int KERBEROS_LAGER_N = 23550; // (night)
+ private static final int KERBEROS_LAGER = 23541;
+ private static final int KERBEROS_FORT_N = 23551; // (night)
+ private static final int KERBEROS_FORT = 23542;
+ private static final int KERBEROS_NERO_N = 23552; // (night)
+ private static final int KERBEROS_NERO = 23543;
+ private static final int FURY_SYLPH_BARRENA_N = 23553; // (night)
+ private static final int FURY_SYLPH_BARRENA = 23544;
+ private static final int FURY_SYLPH_TEMPTRESS_N = 23555; // (night)
+ private static final int FURY_SYLPH_TEMPTRESS = 23546;
+ private static final int FURY_SYLPH_PURKA_N = 23556; // (night)
+ private static final int FURY_SYLPH_PURKA = 23547;
+ private static final int FURY_KERBEROS_LEGER_N = 23557; // (night)
+ private static final int FURY_KERBEROS_LEGER = 23545;
+ private static final int FURY_KERBEROS_NERO_N = 23558; // (night)
+ private static final int FURY_KERBEROS_NERO = 23549;
+ // Items
+ private static final int ESSENCE_OF_EVIL_THOUGHTS = 48006;
+ // Reward
+ private static final int WIND_CRYSTAL = 47259;
+ // Misc
+ private static final int MIN_LEVEL = 102;
+
+ public Q00743_AtTheAltarOfOblivion()
+ {
+ super(743);
+ addStartNpc(FERIN);
+ addTalkId(FERIN);
+ addKillId(HARPE, HARPE1);
+ addKillId(KERBEROS_LAGER, KERBEROS_LAGER_N, KERBEROS_FORT, KERBEROS_FORT_N, KERBEROS_NERO, KERBEROS_NERO_N, FURY_SYLPH_BARRENA, FURY_SYLPH_BARRENA_N, FURY_SYLPH_TEMPTRESS, FURY_SYLPH_TEMPTRESS_N, FURY_SYLPH_PURKA, FURY_SYLPH_PURKA_N, FURY_KERBEROS_LEGER, FURY_KERBEROS_LEGER_N, FURY_KERBEROS_NERO, FURY_KERBEROS_NERO_N);
+ registerQuestItems(ESSENCE_OF_EVIL_THOUGHTS);
+ addCondMinLevel(MIN_LEVEL, "34054-00.htm");
+ addCondCompletedQuest(Q10832_EnergyOfSadnessAndAnger.class.getSimpleName(), "34054-00.htm");
+ addFactionLevel(Faction.UNWORLDLY_VISITORS, 4, "34054-00.htm");
+ }
+
+ @Override
+ public String onAdvEvent(String event, Npc npc, PlayerInstance player)
+ {
+ String htmltext = null;
+ final QuestState qs = getQuestState(player, false);
+ if (qs == null)
+ {
+ return htmltext;
+ }
+
+ switch (event)
+ {
+ case "34054-02.htm":
+ case "34054-03.htm":
+ {
+ htmltext = event;
+ break;
+ }
+ case "34054-04.htm":
+ {
+ qs.startQuest();
+ htmltext = event;
+ break;
+ }
+ case "34054-07.html":
+ {
+ giveItems(player, WIND_CRYSTAL, 3);
+ addExpAndSp(player, 5555356987L, 5555340);
+ addFactionPoints(player, Faction.UNWORLDLY_VISITORS, 100);
+ qs.exitQuest(false, true);
+ htmltext = event;
+ break;
+ }
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onTalk(Npc npc, PlayerInstance player)
+ {
+ final QuestState qs = getQuestState(player, true);
+ String htmltext = getNoQuestMsg(player);
+
+ switch (qs.getState())
+ {
+ case State.CREATED:
+ {
+ htmltext = "34054-01.htm";
+ break;
+ }
+ case State.STARTED:
+ {
+ if (qs.isCond(1))
+ {
+ htmltext = "34054-05.html";
+ }
+ else
+ {
+ htmltext = "34054-06.html";
+ }
+ break;
+ }
+ case State.COMPLETED:
+ {
+ if (!qs.isNowAvailable())
+ {
+ htmltext = getAlreadyCompletedMsg(player, QuestType.DAILY);
+ }
+ else
+ {
+ qs.setState(State.CREATED);
+ htmltext = "34054-01.htm";
+ }
+ break;
+ }
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onKill(Npc npc, PlayerInstance killer, boolean isSummon)
+ {
+ final QuestState qs = getQuestState(killer, false);
+ if ((qs != null) && qs.isCond(1))
+ {
+ switch (npc.getId())
+ {
+ case FURY_SYLPH_BARRENA_N:
+ case FURY_SYLPH_TEMPTRESS_N:
+ case FURY_SYLPH_PURKA_N:
+ case FURY_KERBEROS_LEGER_N:
+ case FURY_KERBEROS_NERO_N:
+ case KERBEROS_LAGER_N:
+ case KERBEROS_FORT_N:
+ case KERBEROS_NERO_N:
+ {
+ if (getRandom(100) < 2)
+ {
+ final Npc mob = addSpawn(HARPE, npc.getX(), npc.getY(), npc.getZ(), 0, true, 120000);
+ addAttackPlayerDesire(mob, killer, 5);
+ }
+ break;
+ }
+ case FURY_SYLPH_BARRENA:
+ case FURY_SYLPH_TEMPTRESS:
+ case FURY_SYLPH_PURKA:
+ case FURY_KERBEROS_LEGER:
+ case FURY_KERBEROS_NERO:
+ case KERBEROS_LAGER:
+ case KERBEROS_FORT:
+ case KERBEROS_NERO:
+ {
+ if (getRandom(100) < 2)
+ {
+ final Npc mob = addSpawn(HARPE1, npc.getX(), npc.getY(), npc.getZ(), 0, true, 120000);
+ addAttackPlayerDesire(mob, killer, 5);
+ }
+ break;
+ }
+ case HARPE1:
+ case HARPE:
+ {
+ if ((getRandom(100) < 15) && !hasQuestItems(killer, ESSENCE_OF_EVIL_THOUGHTS))
+ {
+ giveItems(killer, ESSENCE_OF_EVIL_THOUGHTS, 1);
+ playSound(killer, QuestSound.ITEMSOUND_QUEST_ITEMGET);
+ }
+ break;
+ }
+ }
+ }
+ return super.onKill(npc, killer, isSummon);
+ }
+
+ @RegisterEvent(EventType.ON_PLAYER_ITEM_ADD)
+ @RegisterType(ListenerRegisterType.ITEM)
+ @Id(ESSENCE_OF_EVIL_THOUGHTS)
+ public void onItemAdd(OnPlayerItemAdd event)
+ {
+ final PlayerInstance player = event.getPlayer();
+ final QuestState qs = getQuestState(player, false);
+ if ((qs != null) && (qs.isCond(1)) && (hasQuestItems(player, ESSENCE_OF_EVIL_THOUGHTS)))
+ {
+ qs.setCond(2, true);
+ }
+ }
+}
\ No newline at end of file
diff --git a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-00.htm b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-00.htm
new file mode 100644
index 0000000000..94488269d6
--- /dev/null
+++ b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-00.htm
@@ -0,0 +1,4 @@
+Fire Dragon Bride Leona Blackbird:
+Hellbound is too dangerous for you. Please leave.
+(Only characters Lv. 100.)
+
\ No newline at end of file
diff --git a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-01.htm b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-01.htm
new file mode 100644
index 0000000000..a7fb6ecd9c
--- /dev/null
+++ b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-01.htm
@@ -0,0 +1,6 @@
+Master Cyphona:
+Ah, adventurer! There you are again. How about helping us some more? if you do, you can deepen the mutual trust with us and Ferin.
+What do you say? if you don't remember what to do, I can tell you again.
+
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-01a.htm b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-01a.htm
new file mode 100644
index 0000000000..397d8fb676
--- /dev/null
+++ b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-01a.htm
@@ -0,0 +1,6 @@
+Master Cyphona:
+Ah, adventurer! There you are again. How about helping us some more?
+What do you say? If you don't remember what the mission was, I can tell you again.
+
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-01b.htm b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-01b.htm
new file mode 100644
index 0000000000..fc7418b997
--- /dev/null
+++ b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-01b.htm
@@ -0,0 +1,6 @@
+Master Cyphona:
+Adventurer! Good to see you. Since you've helped us so much already, how about helping us some more?
+What do you say? If you don't remember what the mission was, I can tell you again.
+
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-01c.htm b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-01c.htm
new file mode 100644
index 0000000000..1f85cc8125
--- /dev/null
+++ b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-01c.htm
@@ -0,0 +1,5 @@
+Master Cyphona:
+I've been waiting for you, adventurer. Well since you are here now, will you listen to me? I know I can trust you, but if you complete this mission, we'll become better allies and your pockets will get heavier. What do you say? Or do you need me to explain the mission again?
+
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-02.htm b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-02.htm
new file mode 100644
index 0000000000..6879bbcabb
--- /dev/null
+++ b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-02.htm
@@ -0,0 +1,4 @@
+Master Cyphona:
+We've begun an investigation in the Garden of Spirits starting from here. However, we are being threatened by the spirits there, so something must be done.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-03.htm b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-03.htm
new file mode 100644
index 0000000000..d6a25e8d70
--- /dev/null
+++ b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-03.htm
@@ -0,0 +1,6 @@
+Master Cyphona:
+We know of a way to defeat those spirits, at least temporarily. This way, we'll be able to put the spirits at rest, even if it's just for a little while.
+Of course, we will give you a reward for your help. And there is one more thing. While you are helping us, you'll build trust with us. The more we trust you, the more rewards we will give you, and there are some secret missions that we only give to those we trust.
+That's about it.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-04.htm b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-04.htm
new file mode 100644
index 0000000000..f3808e4d70
--- /dev/null
+++ b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-04.htm
@@ -0,0 +1,9 @@
+Master Cyphona:
+Good. Let me tell you what to do. Just choose the mission that you are capable of doing.
+Basic Mission - Collect 200 Mutated Spirit's Souls.
+Intermediate Mission - Collect 400 Mutated Spirit's Souls.
+Advanced Mission - Collect 600 Mutated Spirit's Souls.
+
+
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-04.html b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-04.html
new file mode 100644
index 0000000000..e2b6f8efc1
--- /dev/null
+++ b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-04.html
@@ -0,0 +1,6 @@
+Master Cyphona:
+This isn't the first time we've met? You've completed a mission before? I see... Well, I don't really have a good memory.
+If you have completed a mission before, then that means you must have a Mark of Trust. What? You don't have one?
+Then you are either a liar, or you haven't been here in a long time. My trust is something you must continously try to maintain. Will you listen to me?
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-04a.htm b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-04a.htm
new file mode 100644
index 0000000000..fa54a706f8
--- /dev/null
+++ b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-04a.htm
@@ -0,0 +1,9 @@
+Master Cyphona:
+Good. Let me tell you what to do. Just choose the mission that you are capable of doing.
+Basic Mission - Collect 200 Mutated Spirit's Souls.
+Intermediate Mission - Collect 400 Mutated Spirit's Souls.
+Advanced Mission - Collect 600 Mutated Spirit's Souls.
+
+
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-04b.htm b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-04b.htm
new file mode 100644
index 0000000000..e373de00b7
--- /dev/null
+++ b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-04b.htm
@@ -0,0 +1,9 @@
+Master Cyphona:
+Good. Let me tell you what to do. Just choose the mission that you are capable of doing.
+Basic Mission - Collect 150 Mutated Spirit's Souls.
+Intermediate Mission - Collect 300 Mutated Spirit's Souls.
+Advanced Mission - Collect 450 Mutated Spirit's Souls.
+
+
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-05.htm b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-05.htm
new file mode 100644
index 0000000000..9041babe57
--- /dev/null
+++ b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-05.htm
@@ -0,0 +1,3 @@
+Master Cyphona:
+Alright. Here's the mission. Hunt the Kerberos Leger, Kerberos Fort, Kerberos Nero, Fury Sylph Barrena, Fury Sylph Labido, Fury Sylph Purka, Fury Kerberos Leger, and the Fury Kerberos Nero, and collect their Mutated Spirit's Souls as proof. You can get rewards only if you bring at least 200. Of course, you'll get more rewards if you bring more.
+
\ No newline at end of file
diff --git a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-05.html b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-05.html
new file mode 100644
index 0000000000..f42c41b57c
--- /dev/null
+++ b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-05.html
@@ -0,0 +1,3 @@
+Master Cyphona:
+Your Unworldly Visitors Faction Level Must be 1 or above may undertake this mission.
+
\ No newline at end of file
diff --git a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-05a.html b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-05a.html
new file mode 100644
index 0000000000..9ab05d1b14
--- /dev/null
+++ b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-05a.html
@@ -0,0 +1,3 @@
+Master Cyphona:
+Your Unworldly Visitors Faction Level Must be 3 or above may undertake this mission.
+
\ No newline at end of file
diff --git a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-06.html b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-06.html
new file mode 100644
index 0000000000..89f018709e
--- /dev/null
+++ b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-06.html
@@ -0,0 +1,6 @@
+Master Cyphona:
+You have chosen the basic mission to collect 200 Mutated Spirit's Souls. Once you have selected the difficulty of the mission, you must meet the requirements in order to complete it. Choose wisely.
+Are you sure you want to proceed with this mission?
+
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-06a.html b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-06a.html
new file mode 100644
index 0000000000..035e91f528
--- /dev/null
+++ b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-06a.html
@@ -0,0 +1,6 @@
+Master Cyphona:
+You have chosen the intermediate mission to collect 400 Mutated Spirit's Souls. Once you have selected the difficulty of the mission, you must meet the requirements in order to complete it. Choose wisely.
+Are you sure you want to proceed with this mission?
+
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-06b.html b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-06b.html
new file mode 100644
index 0000000000..8e6443ad89
--- /dev/null
+++ b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-06b.html
@@ -0,0 +1,6 @@
+Master Cyphona:
+You have chosen the advanced mission to collect 450 Mutated Spirit's Souls. Once you have selected the difficulty of the mission, you must meet the requirements in order to complete it. Choose wisely.
+Are you sure you want to proceed with this mission?
+
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-07.html b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-07.html
new file mode 100644
index 0000000000..76cd4c2418
--- /dev/null
+++ b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-07.html
@@ -0,0 +1,4 @@
+Master Cyphona:
+Good. Left me explain the details. Go to the Garden of Spirits, defeat the Kerberos Lager, Kerberos Fort, Kerberos Nero, Fury Sylph Barrena, Fury Sylph Labido, Fury Sylph Purka, Fury Kerberos Leger, and Fury Kerberos Nero, and put them to rest.
+As evidence, please bring back 200 Mutated Spirit's Souls. It should be manageable.
+
\ No newline at end of file
diff --git a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-07a.html b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-07a.html
new file mode 100644
index 0000000000..349c04b27d
--- /dev/null
+++ b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-07a.html
@@ -0,0 +1,4 @@
+Master Cyphona:
+Good. Left me explain the details. Go to the Garden of Spirits, defeat the Kerberos Lager, Kerberos Fort, Kerberos Nero, Fury Sylph Barrena, Fury Sylph Labido, Fury Sylph Purka, Fury Kerberos Leger, and Fury Kerberos Nero, and put them to rest.
+As evidence, please bring back 400 Mutated Spirit's Souls. It should be manageable.
+
\ No newline at end of file
diff --git a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-07b.html b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-07b.html
new file mode 100644
index 0000000000..d943aec768
--- /dev/null
+++ b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-07b.html
@@ -0,0 +1,4 @@
+Master Cyphona:
+Good. Left me explain the details. Go to the Garden of Spirits, defeat the Kerberos Lager, Kerberos Fort, Kerberos Nero, Fury Sylph Barrena, Fury Sylph Labido, Fury Sylph Purka, Fury Kerberos Leger, and Fury Kerberos Nero, and put them to rest.
+As evidence, please bring back 600 Mutated Spirit's Souls. It should be manageable.
+
\ No newline at end of file
diff --git a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-07c.html b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-07c.html
new file mode 100644
index 0000000000..5ebd96f89a
--- /dev/null
+++ b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-07c.html
@@ -0,0 +1,5 @@
+Master Cyphona:
+You want to finish already? Well, I can still give you a reward... But it won't be something good. Are you sure?
+
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-08.html b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-08.html
new file mode 100644
index 0000000000..038165ac20
--- /dev/null
+++ b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-08.html
@@ -0,0 +1,3 @@
+Master Cyphona:
+Go to the Garden of Spirits and defeat all type monsters until you collect 200 Mutated Spirit's Souls.
+
\ No newline at end of file
diff --git a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-08a.html b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-08a.html
new file mode 100644
index 0000000000..7ea73a66a6
--- /dev/null
+++ b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-08a.html
@@ -0,0 +1,3 @@
+Master Cyphona:
+Go to the Garden of Spirits and defeat all type monsters until you collect 400 Mutated Spirit's Souls.
+
\ No newline at end of file
diff --git a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-08b.html b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-08b.html
new file mode 100644
index 0000000000..f7b616df5a
--- /dev/null
+++ b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-08b.html
@@ -0,0 +1,3 @@
+Master Cyphona:
+Go to the Garden of Spirits and defeat all type monsters until you collect 600 Mutated Spirit's Souls.
+
\ No newline at end of file
diff --git a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-09.html b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-09.html
new file mode 100644
index 0000000000..8c94161d3a
--- /dev/null
+++ b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-09.html
@@ -0,0 +1,6 @@
+Master Cyphona:
+Toy have collected all of the Mutated Spirit's Souls. You have completed the mission successfully.
+I would like to congratulate you on completing the mission. Here's your reward. If you have a Faction Amity Token, I can give You more rewards.
+
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-09a.html b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-09a.html
new file mode 100644
index 0000000000..91721d4da1
--- /dev/null
+++ b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-09a.html
@@ -0,0 +1,4 @@
+Master Cyphona:
+You completed the mission!
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-09b.html b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-09b.html
new file mode 100644
index 0000000000..4a6e6cb936
--- /dev/null
+++ b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-09b.html
@@ -0,0 +1,4 @@
+Master Cyphona:
+You completed the mission!
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-09c.html b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-09c.html
new file mode 100644
index 0000000000..fb74a1cd53
--- /dev/null
+++ b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-09c.html
@@ -0,0 +1,4 @@
+Master Cyphona:
+You completed the mission!
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-10.html b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-10.html
new file mode 100644
index 0000000000..ec3450a5fc
--- /dev/null
+++ b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-10.html
@@ -0,0 +1,4 @@
+Master Cyphona:
+Here is your reward. This will also help to improve the trust between you and us at the Unworldly Visitors.
+As long as you don't forget us, that is. We thank you for your hard work.
+
\ No newline at end of file
diff --git a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-10a.html b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-10a.html
new file mode 100644
index 0000000000..2bf94feff3
--- /dev/null
+++ b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-10a.html
@@ -0,0 +1,3 @@
+Master Cyphona:
+Here's your reward. We'll be able to maintain our trust. As long as you don't forget about us, that is.
+
\ No newline at end of file
diff --git a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-10b.html b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-10b.html
new file mode 100644
index 0000000000..c2f962f4f2
--- /dev/null
+++ b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-10b.html
@@ -0,0 +1,3 @@
+Master Cyphona:
+Here's your reward, I'll remember how you've helped us all those times. Here's a higher level Mark of Trust. Thank you for all of your help.
+
\ No newline at end of file
diff --git a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-10c.html b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-10c.html
new file mode 100644
index 0000000000..aacd7919d3
--- /dev/null
+++ b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-10c.html
@@ -0,0 +1,3 @@
+Master Cyphona:
+Here's your reward for helping us. Although you didn't get all the Marks, I still remember how you helped us. I have no doubt the trust between us has deepened even more.
+
\ No newline at end of file
diff --git a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/Q00924_GiantOfTheRestorationRoom.java b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/Q00924_GiantOfTheRestorationRoom.java
new file mode 100644
index 0000000000..90e05f6829
--- /dev/null
+++ b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/Q00924_GiantOfTheRestorationRoom.java
@@ -0,0 +1,368 @@
+/*
+ * 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.Q00924_GiantOfTheRestorationRoom;
+
+import java.util.HashSet;
+import java.util.Set;
+
+import org.l2jmobius.gameserver.enums.Faction;
+import org.l2jmobius.gameserver.enums.QuestSound;
+import org.l2jmobius.gameserver.enums.QuestType;
+import org.l2jmobius.gameserver.model.actor.Npc;
+import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
+import org.l2jmobius.gameserver.model.holders.NpcLogListHolder;
+import org.l2jmobius.gameserver.model.quest.Quest;
+import org.l2jmobius.gameserver.model.quest.QuestState;
+import org.l2jmobius.gameserver.model.quest.State;
+import org.l2jmobius.gameserver.network.NpcStringId;
+
+/**
+ * Giant of the Restoration Room (924)
+ * @URL https://l2wiki.com/Recovered_Giants
+ * @author Dmitri
+ */
+public class Q00924_GiantOfTheRestorationRoom extends Quest
+{
+ // NPCs
+ private static final int SHUMADRIBA = 34217;
+ // Monsters
+ private static final int[] MONSTERS =
+ {
+ 23727, // Shaqrima Bathus
+ 23728, // Shaqrima Carcass
+ 23729, // Shaqrima Kshana
+ 23750 // Shaqrima Lucas
+ };
+ // Items
+ private static final int BASIC_SUPPLY_BOX = 47359;
+ private static final int INTERMEDIATE_SUPPLY_BOX = 47360;
+ private static final int ADVANCED_SUPPLY_BOX = 47361;
+ // Misc
+ private static final int KILLING_NPCSTRING_ID = NpcStringId.ELIMINATE_THE_GIANT.getId();
+ private static final boolean PARTY_QUEST = true;
+ private static final int MIN_LEVEL = 100;
+
+ public Q00924_GiantOfTheRestorationRoom()
+ {
+ super(924);
+ addStartNpc(SHUMADRIBA);
+ addTalkId(SHUMADRIBA);
+ addKillId(MONSTERS);
+ addCondMinLevel(MIN_LEVEL, "34217-00.htm");
+ }
+
+ @Override
+ public String onAdvEvent(String event, Npc npc, PlayerInstance player)
+ {
+ String htmltext = null;
+ final QuestState qs = getQuestState(player, false);
+ if (qs == null)
+ {
+ return htmltext;
+ }
+
+ switch (event)
+ {
+ case "34217-02.htm":
+ case "34217-03.htm":
+ case "34217-04.htm":
+ case "34217-04a.htm":
+ case "34217-04b.htm":
+ case "34217-06.html":
+ case "34217-06a.html":
+ case "34217-06b.html":
+ {
+ htmltext = event;
+ break;
+ }
+ case "select_mission":
+ {
+ qs.startQuest();
+ if ((player.getFactionLevel(Faction.GIANT_TRACKERS) >= 1) && (player.getFactionLevel(Faction.GIANT_TRACKERS) < 3))
+ {
+ htmltext = "34217-04a.htm";
+ break;
+ }
+ else if (player.getFactionLevel(Faction.GIANT_TRACKERS) >= 3)
+ {
+ htmltext = "34217-04b.htm";
+ break;
+ }
+ htmltext = "34217-04.htm";
+ break;
+ }
+ case "return":
+ {
+ if ((player.getFactionLevel(Faction.GIANT_TRACKERS) >= 1) && (player.getFactionLevel(Faction.GIANT_TRACKERS) < 3))
+ {
+ htmltext = "34217-04a.htm";
+ break;
+ }
+ else if (player.getFactionLevel(Faction.GIANT_TRACKERS) >= 3)
+ {
+ htmltext = "34217-04b.htm";
+ break;
+ }
+ htmltext = "34217-04.htm";
+ break;
+ }
+ case "34217-07.html":
+ {
+ qs.setCond(2, true);
+ htmltext = event;
+ break;
+ }
+ case "34217-07a.html":
+ {
+ qs.setCond(3, true);
+ htmltext = event;
+ break;
+ }
+ case "34217-07b.html":
+ {
+ qs.setCond(4, true);
+ htmltext = event;
+ break;
+ }
+ case "34217-10.html":
+ {
+ final int chance = getRandom(100);
+ switch (qs.getCond())
+ {
+ case 5:
+ {
+ if (player.getLevel() >= MIN_LEVEL)
+ {
+ if (chance < 2)
+ {
+ giveItems(player, ADVANCED_SUPPLY_BOX, 1);
+ }
+ else if (chance < 20)
+ {
+ giveItems(player, INTERMEDIATE_SUPPLY_BOX, 1);
+ }
+ else if (chance < 100)
+ {
+ giveItems(player, BASIC_SUPPLY_BOX, 1);
+ }
+ addExpAndSp(player, 14_831_100_000L, 14_831_100);
+ addFactionPoints(player, Faction.GIANT_TRACKERS, 100);
+ qs.exitQuest(QuestType.DAILY, true);
+ htmltext = event;
+ }
+ else
+ {
+ htmltext = getNoQuestLevelRewardMsg(player);
+ }
+ break;
+ }
+ case 6:
+ {
+ if (player.getLevel() >= MIN_LEVEL)
+ {
+ if (chance < 2)
+ {
+ giveItems(player, ADVANCED_SUPPLY_BOX, 1);
+ }
+ else if (chance < 20)
+ {
+ giveItems(player, BASIC_SUPPLY_BOX, 1);
+ }
+ else if (chance < 100)
+ {
+ giveItems(player, INTERMEDIATE_SUPPLY_BOX, 1);
+ }
+ addExpAndSp(player, 29_662_200_000L, 29_662_200);
+ addFactionPoints(player, Faction.GIANT_TRACKERS, 200);
+ qs.exitQuest(QuestType.DAILY, true);
+ htmltext = event;
+ }
+ else
+ {
+ htmltext = getNoQuestLevelRewardMsg(player);
+ }
+ break;
+ }
+ case 7:
+ {
+ if (player.getLevel() >= MIN_LEVEL)
+ {
+ if (chance < 2)
+ {
+ giveItems(player, BASIC_SUPPLY_BOX, 1);
+ }
+ else if (chance < 20)
+ {
+ giveItems(player, INTERMEDIATE_SUPPLY_BOX, 1);
+ }
+ else if (chance < 100)
+ {
+ giveItems(player, ADVANCED_SUPPLY_BOX, 1);
+ }
+ addExpAndSp(player, 44_493_300_000L, 44_493_300);
+ addFactionPoints(player, Faction.GIANT_TRACKERS, 300);
+ qs.exitQuest(QuestType.DAILY, true);
+ htmltext = event;
+ }
+ else
+ {
+ htmltext = getNoQuestLevelRewardMsg(player);
+ }
+ break;
+ }
+ }
+ break;
+ }
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onTalk(Npc npc, PlayerInstance player)
+ {
+ final QuestState qs = getQuestState(player, true);
+ String htmltext = getNoQuestMsg(player);
+
+ switch (qs.getState())
+ {
+ case State.CREATED:
+ {
+ htmltext = "34217-01.htm";
+ }
+ case State.STARTED:
+ {
+ switch (qs.getCond())
+ {
+ case 1:
+ {
+ if ((player.getFactionLevel(Faction.GIANT_TRACKERS) >= 1) && (player.getFactionLevel(Faction.GIANT_TRACKERS) < 3))
+ {
+ htmltext = "34217-04a.htm";
+ break;
+ }
+ else if (player.getFactionLevel(Faction.GIANT_TRACKERS) >= 3)
+ {
+ htmltext = "34217-04b.htm";
+ break;
+ }
+ htmltext = "34217-04.htm";
+ break;
+ }
+ case 2:
+ {
+ htmltext = "34217-08.html";
+ break;
+ }
+ case 3:
+ {
+ htmltext = "34217-08a.html";
+ break;
+ }
+ case 4:
+ {
+ htmltext = "34217-08b.html";
+ break;
+ }
+ case 5:
+ case 6:
+ case 7:
+ {
+ htmltext = "34217-09.html";
+ break;
+ }
+ }
+ break;
+ }
+ case State.COMPLETED:
+ {
+ if (!qs.isNowAvailable())
+ {
+ htmltext = getAlreadyCompletedMsg(player, QuestType.DAILY);
+ }
+ else
+ {
+ qs.setState(State.CREATED);
+ htmltext = "34217-01.htm";
+ }
+ break;
+ }
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onKill(Npc npc, PlayerInstance killer, boolean isSummon)
+ {
+ final QuestState qs = PARTY_QUEST ? getRandomPartyMemberState(killer, -1, 3, npc) : getQuestState(killer, false);
+ if ((qs != null) && (qs.getCond() > 1))
+ {
+ switch (qs.getCond())
+ {
+ case 2:
+ {
+ final int killedGhosts = qs.getInt("AncientGhosts") + 1;
+ qs.set("AncientGhosts", killedGhosts);
+ playSound(killer, QuestSound.ITEMSOUND_QUEST_ITEMGET);
+
+ if (killedGhosts >= 100)
+ {
+ qs.setCond(5, true);
+ }
+ break;
+ }
+ case 3:
+ {
+ final int killedGhosts = qs.getInt("AncientGhosts") + 1;
+ qs.set("AncientGhosts", killedGhosts);
+ playSound(killer, QuestSound.ITEMSOUND_QUEST_ITEMGET);
+
+ if (killedGhosts >= 200)
+ {
+ qs.setCond(6, true);
+ }
+ break;
+ }
+ case 4:
+ {
+ final int killedGhosts = qs.getInt("AncientGhosts") + 1;
+ qs.set("AncientGhosts", killedGhosts);
+ playSound(killer, QuestSound.ITEMSOUND_QUEST_ITEMGET);
+
+ if (killedGhosts >= 300)
+ {
+ qs.setCond(7, true);
+ }
+ break;
+ }
+ }
+ }
+ return super.onKill(npc, killer, isSummon);
+ }
+
+ @Override
+ public Set getNpcLogList(PlayerInstance player)
+ {
+ final QuestState qs = getQuestState(player, false);
+ if ((qs != null) && (qs.getCond() > 1))
+ {
+ final Set holder = new HashSet<>();
+ holder.add(new NpcLogListHolder(KILLING_NPCSTRING_ID, true, qs.getInt("AncientGhosts")));
+ return holder;
+ }
+ return super.getNpcLogList(player);
+ }
+}
\ No newline at end of file
diff --git a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10540_ThwartingMimirsPlan/34237-00.htm b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10540_ThwartingMimirsPlan/34237-00.htm
new file mode 100644
index 0000000000..2ce847f7bd
--- /dev/null
+++ b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10540_ThwartingMimirsPlan/34237-00.htm
@@ -0,0 +1,4 @@
+Krenaht:
+This place is too dangerous for you. Please return to the continent.
+(Only characters Lv. 100.)
+
\ No newline at end of file
diff --git a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10540_ThwartingMimirsPlan/34237-01.htm b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10540_ThwartingMimirsPlan/34237-01.htm
new file mode 100644
index 0000000000..5699913e62
--- /dev/null
+++ b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10540_ThwartingMimirsPlan/34237-01.htm
@@ -0,0 +1,4 @@
+Krenaht:
+Beleth...! That man is behind everything that happened here. Only his death will end this nightmare. Please, help me.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10540_ThwartingMimirsPlan/34237-02.htm b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10540_ThwartingMimirsPlan/34237-02.htm
new file mode 100644
index 0000000000..4ca2550c47
--- /dev/null
+++ b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10540_ThwartingMimirsPlan/34237-02.htm
@@ -0,0 +1,4 @@
+Krenaht:
+To interfere with his plans, we began finding and destroying Fragments of Chaos, though the latter did require the Giant's Grinder. Anyway, destroying these will lure Beleth out of safety, and we plan to start the operation as soon as we have enough.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10540_ThwartingMimirsPlan/34237-03.htm b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10540_ThwartingMimirsPlan/34237-03.htm
new file mode 100644
index 0000000000..c3b0bef012
--- /dev/null
+++ b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10540_ThwartingMimirsPlan/34237-03.htm
@@ -0,0 +1,5 @@
+Krenaht:
+The Giant's Grinder is in the heart of Hellbound. I will give a signal when Beleth appears; gather up your allies and let us all take him down once and for all.
+For our dignity.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10540_ThwartingMimirsPlan/34237-04.htm b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10540_ThwartingMimirsPlan/34237-04.htm
new file mode 100644
index 0000000000..32b3ddd37a
--- /dev/null
+++ b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10540_ThwartingMimirsPlan/34237-04.htm
@@ -0,0 +1,4 @@
+Krenaht:
+The Wormhole activates when Beleth appears; use it to go to the heart of Hellbound. There we will face and defeat Beleth together! If nothing else, we must at least take down Darion, his right-hand man.
+If it is the will of you and your fellow warriors, I will also join the battle.
+
\ No newline at end of file
diff --git a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10540_ThwartingMimirsPlan/34237-05.html b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10540_ThwartingMimirsPlan/34237-05.html
new file mode 100644
index 0000000000..51e6508fbe
--- /dev/null
+++ b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10540_ThwartingMimirsPlan/34237-05.html
@@ -0,0 +1,4 @@
+Krenaht:
+It may have been an illusion, but let us call it a success.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10540_ThwartingMimirsPlan/34237-06.html b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10540_ThwartingMimirsPlan/34237-06.html
new file mode 100644
index 0000000000..3fda9f375a
--- /dev/null
+++ b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10540_ThwartingMimirsPlan/34237-06.html
@@ -0,0 +1,3 @@
+Krenaht:
+Please take this gift of gratitude.
+
\ No newline at end of file
diff --git a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10540_ThwartingMimirsPlan/Q10540_ThwartingMimirsPlan.java b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10540_ThwartingMimirsPlan/Q10540_ThwartingMimirsPlan.java
new file mode 100644
index 0000000000..c4cdbefd6a
--- /dev/null
+++ b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10540_ThwartingMimirsPlan/Q10540_ThwartingMimirsPlan.java
@@ -0,0 +1,140 @@
+/*
+ * 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.Q10540_ThwartingMimirsPlan;
+
+import org.l2jmobius.Config;
+import org.l2jmobius.gameserver.model.actor.Npc;
+import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
+import org.l2jmobius.gameserver.model.quest.Quest;
+import org.l2jmobius.gameserver.model.quest.QuestState;
+import org.l2jmobius.gameserver.model.quest.State;
+import org.l2jmobius.gameserver.util.Util;
+
+/**
+ * Thwarting Mimir's Plan (10540)
+ * @URL https://l2wiki.com/Thwarting_Mimir%27s_Plan
+ * @author Dmitri
+ */
+public class Q10540_ThwartingMimirsPlan extends Quest
+{
+ // NPCs
+ private static final int KRENAHT = 34237;
+ // Boss
+ private static final int MIMIR = 26137;
+ // Misc
+ private static final int MIN_LEVEL = 100;
+ private static final int GIANTS_SCROLL_R_GRADE_WEAPON = 36386;
+
+ public Q10540_ThwartingMimirsPlan()
+ {
+ super(10540);
+ addStartNpc(KRENAHT);
+ addTalkId(KRENAHT);
+ addKillId(MIMIR);
+ addCondMinLevel(MIN_LEVEL, "34237-00.htm");
+ }
+
+ @Override
+ public String onAdvEvent(String event, Npc npc, PlayerInstance player)
+ {
+ final QuestState qs = getQuestState(player, false);
+ if (qs == null)
+ {
+ return null;
+ }
+
+ String htmltext = null;
+ switch (event)
+ {
+ case "34237-02.htm":
+ case "34237-03.htm":
+ {
+ htmltext = event;
+ break;
+ }
+ case "34237-04.htm":
+ {
+ qs.startQuest();
+ htmltext = event;
+ break;
+ }
+ case "34237-06.html":
+ {
+ if (qs.isCond(2))
+ {
+ giveItems(player, GIANTS_SCROLL_R_GRADE_WEAPON, 1);
+ addExpAndSp(player, 3954960000L, 9491880);
+ qs.exitQuest(false, true);
+ htmltext = event;
+ }
+ break;
+ }
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onTalk(Npc npc, PlayerInstance player)
+ {
+ final QuestState qs = getQuestState(player, true);
+ String htmltext = getNoQuestMsg(player);
+
+ switch (qs.getState())
+ {
+ case State.CREATED:
+ {
+ htmltext = "34237-01.htm";
+ break;
+ }
+ case State.STARTED:
+ {
+ if (qs.isCond(1))
+ {
+ htmltext = "34237-04.htm";
+ }
+ else
+ {
+ htmltext = "34237-05.html";
+ }
+ break;
+ }
+ case State.COMPLETED:
+ {
+ htmltext = getAlreadyCompletedMsg(player);
+ break;
+ }
+ }
+ return htmltext;
+ }
+
+ @Override
+ public void actionForEachPlayer(PlayerInstance player, Npc npc, boolean isSummon)
+ {
+ final QuestState qs = getQuestState(player, false);
+ if ((qs != null) && qs.isCond(1) && Util.checkIfInRange(Config.ALT_PARTY_RANGE, npc, player, false))
+ {
+ qs.setCond(2, true);
+ }
+ }
+
+ @Override
+ public String onKill(Npc npc, PlayerInstance killer, boolean isSummon)
+ {
+ executeForEachPlayer(killer, npc, isSummon, true, false);
+ return super.onKill(npc, killer, isSummon);
+ }
+}
\ No newline at end of file
diff --git a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10833_PutTheQueenOfSpiritsToSleep/Q10833_PutTheQueenOfSpiritsToSleep.java b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10833_PutTheQueenOfSpiritsToSleep/Q10833_PutTheQueenOfSpiritsToSleep.java
index e291d29351..898a1f2eea 100644
--- a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10833_PutTheQueenOfSpiritsToSleep/Q10833_PutTheQueenOfSpiritsToSleep.java
+++ b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10833_PutTheQueenOfSpiritsToSleep/Q10833_PutTheQueenOfSpiritsToSleep.java
@@ -16,6 +16,7 @@
*/
package quests.Q10833_PutTheQueenOfSpiritsToSleep;
+import org.l2jmobius.gameserver.enums.Faction;
import org.l2jmobius.gameserver.model.actor.Npc;
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
import org.l2jmobius.gameserver.model.quest.Quest;
@@ -35,13 +36,12 @@ public class Q10833_PutTheQueenOfSpiritsToSleep extends Quest
private static final int FERIN = 34054;
private static final int ISABELLA = 26131;
// Items
- private static final int MARK_OF_TRUST_HIGH_GRADE = 45848;
private static final int ISABELLAS_EVIL_THOUGHTS = 45839;
private static final int SOE = 46158;
private static final int ELCYUM_CRYSTAL = 36514;
private static final int GIANTS_CODEX = 46152;
// Misc
- private static final int MIN_LEVEL = 100;
+ private static final int MIN_LEVEL = 102;
public Q10833_PutTheQueenOfSpiritsToSleep()
{
@@ -52,6 +52,7 @@ public class Q10833_PutTheQueenOfSpiritsToSleep extends Quest
registerQuestItems(ISABELLAS_EVIL_THOUGHTS);
addCondMinLevel(MIN_LEVEL, "34054-00.htm");
addCondCompletedQuest(Q10832_EnergyOfSadnessAndAnger.class.getSimpleName(), "34054-00.htm");
+ addFactionLevel(Faction.UNWORLDLY_VISITORS, 6, "34054-00.htm");
}
@Override
@@ -83,7 +84,7 @@ public class Q10833_PutTheQueenOfSpiritsToSleep extends Quest
giveItems(player, GIANTS_CODEX, 1);
giveItems(player, ELCYUM_CRYSTAL, 1);
giveItems(player, SOE, 1);
- addExpAndSp(player, 1637472704L, 14237820);
+ addExpAndSp(player, 22221427950L, 22221360);
qs.exitQuest(false, true);
htmltext = event;
break;
@@ -101,11 +102,6 @@ public class Q10833_PutTheQueenOfSpiritsToSleep extends Quest
{
case State.CREATED:
{
- if (!hasQuestItems(player, MARK_OF_TRUST_HIGH_GRADE))
- {
- htmltext = "noItem.htm";
- break;
- }
htmltext = "34054-01.htm";
break;
}
diff --git a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10833_PutTheQueenOfSpiritsToSleep/noItem.htm b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10833_PutTheQueenOfSpiritsToSleep/noItem.htm
deleted file mode 100644
index 3ba66309d6..0000000000
--- a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10833_PutTheQueenOfSpiritsToSleep/noItem.htm
+++ /dev/null
@@ -1,4 +0,0 @@
-Ferin:
-You! Do you even know who you are talking to? Go away!
-(This quest may only be undertaken by characters with a Mark of Trust (High-grade).)
-
\ No newline at end of file
diff --git a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34054-00.htm b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34054-00.htm
new file mode 100644
index 0000000000..264b837f17
--- /dev/null
+++ b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34054-00.htm
@@ -0,0 +1,4 @@
+Ferin:
+You think you are enough? Well, I can't agree to that.
+(This quest is for characters level 102 and Unworldly Visitors faction level should be 6.)
+
\ No newline at end of file
diff --git a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34054-01.htm b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34054-01.htm
new file mode 100644
index 0000000000..fda0dff0a1
--- /dev/null
+++ b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34054-01.htm
@@ -0,0 +1,4 @@
+Ferin:
+I've done some research with the items we got from defeating El Floato. It looks like the spirits have been affected by the same power that forcefully brought the Garden of Spirits. In other words, they've been forcefully awakened and are now unstable. In order to stabilize themselves, they are affecting their surroundings negatively.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34054-02.htm b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34054-02.htm
new file mode 100644
index 0000000000..2e5abdb92d
--- /dev/null
+++ b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34054-02.htm
@@ -0,0 +1,4 @@
+Ferin:
+However, that's just a description of the phenomena. It doesn't help us in finding out how to go back to our realm. It might be more effective if a creature with a more powerful energy is defeated.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34054-03.htm b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34054-03.htm
new file mode 100644
index 0000000000..4a1ac5614b
--- /dev/null
+++ b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34054-03.htm
@@ -0,0 +1,4 @@
+Ferin:
+You might think that I'm stubborn. But please understand where I'm coming from. Will you help me? Even if it might be dangerous.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34054-04.htm b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34054-04.htm
new file mode 100644
index 0000000000..fa03d04972
--- /dev/null
+++ b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34054-04.htm
@@ -0,0 +1,3 @@
+Ferin:
+Defeat Harpe in the Garden of Spirits to can obtain Sad Energy and Angry Energy. If you bring me those, I'll be able to find out about their sadness and anger. It will be really helpful for my research.
+
\ No newline at end of file
diff --git a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34054-05.html b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34054-05.html
new file mode 100644
index 0000000000..4b1d311a70
--- /dev/null
+++ b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34054-05.html
@@ -0,0 +1,3 @@
+Ferin:
+It's said that when you defeat Harpe, you can obtain Sad Energy and Angry Energy. If you bring me those, I'll be able to find out about their sadness and anger. It will be really helpful for my research.
+
\ No newline at end of file
diff --git a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34054-06.html b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34054-06.html
new file mode 100644
index 0000000000..62d6c3d580
--- /dev/null
+++ b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34054-06.html
@@ -0,0 +1,4 @@
+Ferin:
+Did you finish the mission? Great.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34054-07.html b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34054-07.html
new file mode 100644
index 0000000000..33b4808a43
--- /dev/null
+++ b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34054-07.html
@@ -0,0 +1,3 @@
+Ferin:
+Great. Ferin will know what to do after seeing the results of the investigation. Go talk to Ferin. Keep in mind that you must build trust first.
+
\ No newline at end of file
diff --git a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34054-09.html b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34054-09.html
new file mode 100644
index 0000000000..08fbf732a0
--- /dev/null
+++ b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34054-09.html
@@ -0,0 +1,4 @@
+Ferin:
+Did you finish the mission? Great.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34054-10.html b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34054-10.html
new file mode 100644
index 0000000000..33b4808a43
--- /dev/null
+++ b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34054-10.html
@@ -0,0 +1,3 @@
+Ferin:
+Great. Ferin will know what to do after seeing the results of the investigation. Go talk to Ferin. Keep in mind that you must build trust first.
+
\ No newline at end of file
diff --git a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34055-01.html b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34055-01.html
new file mode 100644
index 0000000000..e389377838
--- /dev/null
+++ b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34055-01.html
@@ -0,0 +1,4 @@
+Cyphona:
+Did you finish the mission? Great.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34055-02.html b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34055-02.html
new file mode 100644
index 0000000000..1371f1a7e7
--- /dev/null
+++ b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34055-02.html
@@ -0,0 +1,4 @@
+Cyphona:
+Did you finish the mission? Great.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34055-03.html b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34055-03.html
new file mode 100644
index 0000000000..210b59aad0
--- /dev/null
+++ b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34055-03.html
@@ -0,0 +1,3 @@
+Cyphona:
+Great. Ferin will know what to do after seeing the results of the investigation. Go talk to Ferin. Keep in mind that you must build trust first.
+
\ No newline at end of file
diff --git a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34056-01.html b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34056-01.html
new file mode 100644
index 0000000000..17d8d2f5ff
--- /dev/null
+++ b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34056-01.html
@@ -0,0 +1,4 @@
+Belas:
+Did you finish the mission? Great.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34056-02.html b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34056-02.html
new file mode 100644
index 0000000000..cff97244ab
--- /dev/null
+++ b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34056-02.html
@@ -0,0 +1,4 @@
+Belas:
+Did you finish the mission? Great.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34056-03.html b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34056-03.html
new file mode 100644
index 0000000000..be0ec6881b
--- /dev/null
+++ b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34056-03.html
@@ -0,0 +1,3 @@
+Belas:
+Great. Ferin will know what to do after seeing the results of the investigation. Go talk to Ferin. Keep in mind that you must build trust first.
+
\ No newline at end of file
diff --git a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34238-01.html b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34238-01.html
new file mode 100644
index 0000000000..53953a2d31
--- /dev/null
+++ b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34238-01.html
@@ -0,0 +1,4 @@
+Eubina:
+Did you finish the mission? Great.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34238-02.html b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34238-02.html
new file mode 100644
index 0000000000..70337cd469
--- /dev/null
+++ b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34238-02.html
@@ -0,0 +1,4 @@
+Eubina:
+Did you finish the mission? Great.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34238-03.html b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34238-03.html
new file mode 100644
index 0000000000..94677730ab
--- /dev/null
+++ b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34238-03.html
@@ -0,0 +1,3 @@
+Eubina:
+Great. Ferin will know what to do after seeing the results of the investigation. Go talk to Ferin. Keep in mind that you must build trust first.
+
\ No newline at end of file
diff --git a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34239-01.html b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34239-01.html
new file mode 100644
index 0000000000..0737f45d04
--- /dev/null
+++ b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34239-01.html
@@ -0,0 +1,4 @@
+Rotoeh:
+Did you finish the mission? Great.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34239-02.html b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34239-02.html
new file mode 100644
index 0000000000..aebb815d8b
--- /dev/null
+++ b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34239-02.html
@@ -0,0 +1,4 @@
+Rotoeh:
+Did you finish the mission? Great.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34239-03.html b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34239-03.html
new file mode 100644
index 0000000000..fe84b631cf
--- /dev/null
+++ b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34239-03.html
@@ -0,0 +1,3 @@
+Rotoeh:
+Great. Ferin will know what to do after seeing the results of the investigation. Go talk to Ferin. Keep in mind that you must build trust first.
+
\ No newline at end of file
diff --git a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/Q10849_TrialsForAdaptation.java b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/Q10849_TrialsForAdaptation.java
new file mode 100644
index 0000000000..dc778fe19d
--- /dev/null
+++ b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/Q10849_TrialsForAdaptation.java
@@ -0,0 +1,300 @@
+/*
+ * 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.Q10849_TrialsForAdaptation;
+
+import org.l2jmobius.Config;
+import org.l2jmobius.gameserver.enums.Faction;
+import org.l2jmobius.gameserver.enums.QuestSound;
+import org.l2jmobius.gameserver.model.actor.Npc;
+import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
+import org.l2jmobius.gameserver.model.quest.Quest;
+import org.l2jmobius.gameserver.model.quest.QuestState;
+import org.l2jmobius.gameserver.model.quest.State;
+
+/**
+ * Trials for Adaptation (10849)
+ * @URL https://l2wiki.com/Trials_for_Adaptation
+ * @author Dmitri
+ */
+public class Q10849_TrialsForAdaptation extends Quest
+{
+ // NPC
+ private static final int FERIN = 34054;
+ private static final int EUBINA = 34238;
+ private static final int ROTOEH = 34239;
+ private static final int CYPHONA = 34055;
+ private static final int BELAS = 34056;
+ // Monsters
+ private static final int KERBEROS_LAGER_N = 23550; // (night)
+ private static final int KERBEROS_LAGER = 23541;
+ private static final int KERBEROS_FORT_N = 23551; // (night)
+ private static final int KERBEROS_FORT = 23542;
+ private static final int KERBEROS_NERO_N = 23552; // (night)
+ private static final int KERBEROS_NERO = 23543;
+ private static final int FURY_SYLPH_BARRENA_N = 23553; // (night)
+ private static final int FURY_SYLPH_BARRENA = 23544;
+ private static final int FURY_SYLPH_TEMPTRESS_N = 23555; // (night)
+ private static final int FURY_SYLPH_TEMPTRESS = 23546;
+ private static final int FURY_SYLPH_PURKA_N = 23556; // (night)
+ private static final int FURY_SYLPH_PURKA = 23547;
+ private static final int FURY_KERBEROS_LEGER_N = 23557; // (night)
+ private static final int FURY_KERBEROS_LEGER = 23545;
+ private static final int FURY_KERBEROS_NERO_N = 23558; // (night)
+ private static final int FURY_KERBEROS_NERO = 23549;
+ // Items
+ private static final int ENERGY_LADEL_WITH_THE_DAYS = 47189;
+ private static final int ENERGY_LADEL_WITH_THE_NIGHTS = 47190;
+ // Reward
+ private static final int RUNE_STONE = 39738;
+ private static final int SPELLBOOK_WING_HOUND = 47152;
+ // Misc
+ private static final int MIN_LEVEL = 102;
+
+ public Q10849_TrialsForAdaptation()
+ {
+ super(10849);
+ addStartNpc(FERIN);
+ addTalkId(FERIN, EUBINA, ROTOEH, CYPHONA, BELAS);
+ addKillId(KERBEROS_LAGER, KERBEROS_LAGER_N, KERBEROS_FORT, KERBEROS_FORT_N, KERBEROS_NERO, KERBEROS_NERO_N, FURY_SYLPH_BARRENA, FURY_SYLPH_BARRENA_N, FURY_SYLPH_TEMPTRESS, FURY_SYLPH_TEMPTRESS_N, FURY_SYLPH_PURKA, FURY_SYLPH_PURKA_N, FURY_KERBEROS_LEGER, FURY_KERBEROS_LEGER_N, FURY_KERBEROS_NERO, FURY_KERBEROS_NERO_N);
+ registerQuestItems(ENERGY_LADEL_WITH_THE_DAYS, ENERGY_LADEL_WITH_THE_NIGHTS);
+ addCondMinLevel(MIN_LEVEL, "34054-00.htm");
+ addFactionLevel(Faction.UNWORLDLY_VISITORS, 6, "34054-00.htm");
+ }
+
+ @Override
+ public String onAdvEvent(String event, Npc npc, PlayerInstance player)
+ {
+ String htmltext = null;
+ final QuestState qs = getQuestState(player, false);
+ if (qs == null)
+ {
+ return htmltext;
+ }
+
+ switch (event)
+ {
+ case "34054-02.htm":
+ case "34054-03.htm":
+ case "34238-03.html":
+ case "34239-03.html":
+ case "34055-03.html":
+ case "34056-03.html":
+ {
+ htmltext = event;
+ break;
+ }
+ case "34054-04.htm":
+ {
+ qs.startQuest();
+ htmltext = event;
+ break;
+ }
+ case "34054-07.html":
+ {
+ qs.setCond(3, true);
+ htmltext = event;
+ break;
+ }
+ case "34238-02.html":
+ {
+ qs.setCond(4, true);
+ htmltext = event;
+ break;
+ }
+ case "34239-02.html":
+ {
+ qs.setCond(5, true);
+ htmltext = event;
+ break;
+ }
+ case "34055-02.html":
+ {
+ qs.setCond(6, true);
+ htmltext = event;
+ break;
+ }
+ case "34056-02.html":
+ {
+ qs.setCond(7, true);
+ htmltext = event;
+ break;
+ }
+ case "34054-10.html":
+ {
+ if (qs.isCond(7))
+ {
+ giveItems(player, RUNE_STONE, 1);
+ giveItems(player, SPELLBOOK_WING_HOUND, 1);
+ addExpAndSp(player, 444428559000L, 444427200);
+ qs.exitQuest(false, true);
+ htmltext = event;
+ }
+ break;
+ }
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onTalk(Npc npc, PlayerInstance player)
+ {
+ final QuestState qs = getQuestState(player, true);
+ String htmltext = getNoQuestMsg(player);
+
+ switch (qs.getState())
+ {
+ case State.CREATED:
+ {
+ if (npc.getId() == FERIN)
+ {
+ htmltext = "34054-01.htm";
+ }
+ break;
+ }
+ case State.STARTED:
+ {
+ switch (npc.getId())
+ {
+ case FERIN:
+ {
+ if (qs.isCond(1))
+ {
+ htmltext = "34054-05.html";
+ }
+ else if (qs.isCond(2))
+ {
+ htmltext = "34054-06.html";
+ }
+ else if (qs.isCond(3))
+ {
+ htmltext = "34054-07.html";
+ }
+ else if (qs.isCond(7))
+ {
+ htmltext = "34054-09.html";
+ }
+ break;
+ }
+ case EUBINA:
+ {
+ if (qs.isCond(3))
+ {
+ htmltext = "34238-01.html";
+ }
+ else if (qs.isCond(4))
+ {
+ htmltext = "34238-03.html";
+ }
+ break;
+ }
+ case ROTOEH:
+ {
+ if (qs.isCond(4))
+ {
+ htmltext = "34239-01.html";
+ }
+ else if (qs.isCond(5))
+ {
+ htmltext = "34239-03.html";
+ }
+ break;
+ }
+ case CYPHONA:
+ {
+ if (qs.isCond(5))
+ {
+ htmltext = "34055-01.html";
+ }
+ else if (qs.isCond(6))
+ {
+ htmltext = "34055-03.html";
+ }
+ break;
+ }
+ case BELAS:
+ {
+ if (qs.isCond(6))
+ {
+ htmltext = "34056-01.html";
+ }
+ else if (qs.isCond(7))
+ {
+ htmltext = "34056-03.html";
+ }
+ break;
+ }
+ }
+ break;
+ }
+ case State.COMPLETED:
+ {
+ htmltext = getAlreadyCompletedMsg(player);
+ break;
+ }
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onKill(Npc npc, PlayerInstance killer, boolean isSummon)
+ {
+ final QuestState qs = getQuestState(killer, false);
+ if ((qs != null) && qs.isCond(1) && killer.isInsideRadius3D(npc, Config.ALT_PARTY_RANGE))
+ {
+ switch (npc.getId())
+ {
+ case FURY_SYLPH_BARRENA_N:
+ case FURY_SYLPH_TEMPTRESS_N:
+ case FURY_SYLPH_PURKA_N:
+ case FURY_KERBEROS_LEGER_N:
+ case FURY_KERBEROS_NERO_N:
+ case KERBEROS_LAGER_N:
+ case KERBEROS_FORT_N:
+ case KERBEROS_NERO_N:
+ {
+ if (getRandom(100) < 99)
+ {
+ giveItems(killer, ENERGY_LADEL_WITH_THE_NIGHTS, 1);
+ playSound(killer, QuestSound.ITEMSOUND_QUEST_ITEMGET);
+ }
+ break;
+ }
+ case FURY_SYLPH_BARRENA:
+ case FURY_SYLPH_TEMPTRESS:
+ case FURY_SYLPH_PURKA:
+ case FURY_KERBEROS_LEGER:
+ case FURY_KERBEROS_NERO:
+ case KERBEROS_LAGER:
+ case KERBEROS_FORT:
+ case KERBEROS_NERO:
+ {
+ if (getRandom(100) < 99)
+ {
+ giveItems(killer, ENERGY_LADEL_WITH_THE_DAYS, 1);
+ playSound(killer, QuestSound.ITEMSOUND_QUEST_ITEMGET);
+ }
+ break;
+ }
+ }
+ if ((getQuestItemsCount(killer, ENERGY_LADEL_WITH_THE_DAYS) >= 1500) && (getQuestItemsCount(killer, ENERGY_LADEL_WITH_THE_NIGHTS) >= 500))
+ {
+ qs.setCond(2, true);
+ }
+ }
+ return super.onKill(npc, killer, isSummon);
+ }
+}
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 33029dc5c8..61d358c1b0 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
@@ -170,6 +170,7 @@ import quests.Q00726_LightWithinTheDarkness.Q00726_LightWithinTheDarkness;
import quests.Q00727_HopeWithinTheDarkness.Q00727_HopeWithinTheDarkness;
import quests.Q00737_ASwordHiddenInASmile.Q00737_ASwordHiddenInASmile;
import quests.Q00738_DimensionalExplorationOfTheUnworldlyVisitors.Q00738_DimensionalExplorationOfTheUnworldlyVisitors;
+import quests.Q00743_AtTheAltarOfOblivion.Q00743_AtTheAltarOfOblivion;
import quests.Q00751_LiberatingTheSpirits.Q00751_LiberatingTheSpirits;
import quests.Q00752_UncoverTheSecret.Q00752_UncoverTheSecret;
import quests.Q00753_ReactingToACrisis.Q00753_ReactingToACrisis;
@@ -210,6 +211,7 @@ import quests.Q00903_TheCallOfAntharas.Q00903_TheCallOfAntharas;
import quests.Q00905_RefinedDragonBlood.Q00905_RefinedDragonBlood;
import quests.Q00906_TheCallOfValakas.Q00906_TheCallOfValakas;
import quests.Q00923_ShinedustExtraction.Q00923_ShinedustExtraction;
+import quests.Q00924_GiantOfTheRestorationRoom.Q00924_GiantOfTheRestorationRoom;
import quests.Q00926_30DaySearchOperation.Q00926_30DaySearchOperation;
import quests.Q00928_100DaySubjugationOperation.Q00928_100DaySubjugationOperation;
import quests.Q00931_MemoriesOfTheWind.Q00931_MemoriesOfTheWind;
@@ -357,6 +359,7 @@ import quests.Q10527_TheAssassinationOfTheKetraOrcCommander.Q10527_TheAssassinat
import quests.Q10528_TheAssassinationOfTheKetraOrcChief.Q10528_TheAssassinationOfTheKetraOrcChief;
import quests.Q10530_KekropusLetterTheDragonsTransition.Q10530_KekropusLetterTheDragonsTransition;
import quests.Q10534_HatchlingResearch.Q10534_HatchlingResearch;
+import quests.Q10540_ThwartingMimirsPlan.Q10540_ThwartingMimirsPlan;
import quests.Q10541_TrainLikeTheRealThing.Q10541_TrainLikeTheRealThing;
import quests.Q10542_SearchingForNewPower.Q10542_SearchingForNewPower;
import quests.Q10543_SheddingWeight.Q10543_SheddingWeight;
@@ -473,6 +476,7 @@ import quests.Q10839_BlackbirdsNameValue.Q10839_BlackbirdsNameValue;
import quests.Q10840_TimeToRecover.Q10840_TimeToRecover;
import quests.Q10841_DeepInsideAteliaFortress.Q10841_DeepInsideAteliaFortress;
import quests.Q10843_AnomalyInTheEnchantedValley.Q10843_AnomalyInTheEnchantedValley;
+import quests.Q10849_TrialsForAdaptation.Q10849_TrialsForAdaptation;
import quests.Q10851_ElvenBotany.Q10851_ElvenBotany;
import quests.Q10856_SuperionAppears.Q10856_SuperionAppears;
import quests.not_done.*;
@@ -662,7 +666,7 @@ public class QuestMasterHandler
Q00727_HopeWithinTheDarkness.class,
Q00737_ASwordHiddenInASmile.class,
Q00738_DimensionalExplorationOfTheUnworldlyVisitors.class,
- Q00743_AtTheAltarOfOblivion.class, // TODO: Not done.
+ Q00743_AtTheAltarOfOblivion.class,
Q00744_TheAlligatorHunterReturns.class, // TODO: Not done.
Q00745_TheOutlawsAreIncoming.class, // TODO: Not done.
Q00746_TheReasonOneCannotWait.class, // TODO: Not done.
@@ -730,7 +734,7 @@ public class QuestMasterHandler
Q00905_RefinedDragonBlood.class,
Q00906_TheCallOfValakas.class,
Q00923_ShinedustExtraction.class,
- Q00924_GiantOfTheRestorationRoom.class, // TODO: Not done.
+ Q00924_GiantOfTheRestorationRoom.class,
Q00926_30DaySearchOperation.class,
Q00928_100DaySubjugationOperation.class,
Q00929_SeekerRescue.class, // TODO: Not done.
@@ -901,7 +905,7 @@ public class QuestMasterHandler
Q10537_KamaelDisarray.class, // TODO: Not done.
Q10538_GiantsEvolution.class, // TODO: Not done.
Q10539_EnergySupplyCutoffPlan.class, // TODO: Not done.
- Q10540_ThwartingMimirsPlan.class, // TODO: Not done.
+ Q10540_ThwartingMimirsPlan.class,
Q10541_TrainLikeTheRealThing.class,
Q10542_SearchingForNewPower.class,
Q10543_SheddingWeight.class,
@@ -1048,7 +1052,7 @@ public class QuestMasterHandler
Q10845_BloodyBattleRescueTheSmiths.class, // TODO: Not done.
Q10846_BloodyBattleMeetingTheCommander.class, // TODO: Not done.
Q10848_TrialsBeforeTheBattle.class, // TODO: Not done.
- Q10849_TrialsForAdaptation.class, // TODO: Not done.
+ Q10849_TrialsForAdaptation.class,
Q10851_ElvenBotany.class,
Q10852_TheMotherTreeRevivalProject.class, // TODO: Not done.
Q10853_ToWeakenTheGiants.class, // TODO: Not done.
diff --git a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/not_done/Q00743_AtTheAltarOfOblivion.java b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/not_done/Q00743_AtTheAltarOfOblivion.java
deleted file mode 100644
index 5abada5823..0000000000
--- a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/not_done/Q00743_AtTheAltarOfOblivion.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
- * This file is part of the L2J Mobius project.
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-package quests.not_done;
-
-import org.l2jmobius.Config;
-import org.l2jmobius.gameserver.model.quest.Quest;
-
-/**
- * @author Mobius
- */
-public class Q00743_AtTheAltarOfOblivion extends Quest
-{
- private static final int START_NPC = 34054;
-
- public Q00743_AtTheAltarOfOblivion()
- {
- super(743);
- addStartNpc(START_NPC);
- addTalkId(START_NPC);
- addCondMinLevel(Config.PLAYER_MAXIMUM_LEVEL, getNoQuestMsg(null));
- }
-}
diff --git a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/not_done/Q00924_GiantOfTheRestorationRoom.java b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/not_done/Q00924_GiantOfTheRestorationRoom.java
deleted file mode 100644
index 883bded9b3..0000000000
--- a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/not_done/Q00924_GiantOfTheRestorationRoom.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
- * This file is part of the L2J Mobius project.
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-package quests.not_done;
-
-import org.l2jmobius.Config;
-import org.l2jmobius.gameserver.model.quest.Quest;
-
-/**
- * @author Mobius
- */
-public class Q00924_GiantOfTheRestorationRoom extends Quest
-{
- private static final int START_NPC = 34217;
-
- public Q00924_GiantOfTheRestorationRoom()
- {
- super(924);
- addStartNpc(START_NPC);
- addTalkId(START_NPC);
- addCondMinLevel(Config.PLAYER_MAXIMUM_LEVEL, getNoQuestMsg(null));
- }
-}
diff --git a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/not_done/Q10540_ThwartingMimirsPlan.java b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/not_done/Q10540_ThwartingMimirsPlan.java
deleted file mode 100644
index 8ced631154..0000000000
--- a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/not_done/Q10540_ThwartingMimirsPlan.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
- * This file is part of the L2J Mobius project.
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-package quests.not_done;
-
-import org.l2jmobius.Config;
-import org.l2jmobius.gameserver.model.quest.Quest;
-
-/**
- * @author Mobius
- */
-public class Q10540_ThwartingMimirsPlan extends Quest
-{
- private static final int START_NPC = 34237;
-
- public Q10540_ThwartingMimirsPlan()
- {
- super(10540);
- addStartNpc(START_NPC);
- addTalkId(START_NPC);
- addCondMinLevel(Config.PLAYER_MAXIMUM_LEVEL, getNoQuestMsg(null));
- }
-}
diff --git a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/not_done/Q10849_TrialsForAdaptation.java b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/not_done/Q10849_TrialsForAdaptation.java
deleted file mode 100644
index 636edba9ac..0000000000
--- a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/not_done/Q10849_TrialsForAdaptation.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
- * This file is part of the L2J Mobius project.
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-package quests.not_done;
-
-import org.l2jmobius.Config;
-import org.l2jmobius.gameserver.model.quest.Quest;
-
-/**
- * @author Mobius
- */
-public class Q10849_TrialsForAdaptation extends Quest
-{
- private static final int START_NPC = 34054;
-
- public Q10849_TrialsForAdaptation()
- {
- super(10849);
- addStartNpc(START_NPC);
- addTalkId(START_NPC);
- addCondMinLevel(Config.PLAYER_MAXIMUM_LEVEL, getNoQuestMsg(null));
- }
-}
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 c6c1096f09..0e064d4be9 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
@@ -82,7 +82,6 @@
734 Red Libra Request - Nightmare Kamaloka
735 Red Libra Request - Embryo Command Post
736 Red Libra Request - Altar of Shilen
-743 At the Altar of Oblivion
744 The Alligator Hunter returns
745 The Outlaws are Incoming
747 Defending the Forsaken Plains
@@ -139,7 +138,6 @@
918 Red Libra Request - Atelia Fortress
919 Red Libra Request - Superion
922 Hunter Guild Request - Northern Region, Isle of Prayer
-924 Giant of the Restoration Room
925 Hunter Guild Request - Garden of Spirits
929 Seeker Rescue
930 Disparaging the Phantoms
@@ -167,7 +165,6 @@
10537 Kamael Disarray To Retbach
10538 Giant's Evolution Cause of failed evolution
10539 Energy Supply Cutoff Plan Defeat Halisha's Henchman
-10540 Thwarting Mimir's Plan Defeating Mimir
10552 Challenge! Balthus Knight!
10553 What Matters More Than Ability
10554 Gift for You
@@ -200,7 +197,6 @@
10845 Bloody Battle - Rescue the Smiths
10846 Bloody Battle - Meeting the Commander
10848 Trials before the Battle
-10849 Trials for Adaptation
10852 The Mother Tree Revival Project
10853 To Weaken the Giants
10854 To Seize the Fortress
diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q00743_AtTheAltarOfOblivion/34054-00.htm b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q00743_AtTheAltarOfOblivion/34054-00.htm
new file mode 100644
index 0000000000..3dd4107573
--- /dev/null
+++ b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q00743_AtTheAltarOfOblivion/34054-00.htm
@@ -0,0 +1,4 @@
+Ferin:
+You think you are enough? Well, I can't agree to that.
+(This quest is for characters level 100 and higher who have completed the "Unbelievable Sight" quest.)
+
\ No newline at end of file
diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q00743_AtTheAltarOfOblivion/34054-01.htm b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q00743_AtTheAltarOfOblivion/34054-01.htm
new file mode 100644
index 0000000000..19326eb750
--- /dev/null
+++ b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q00743_AtTheAltarOfOblivion/34054-01.htm
@@ -0,0 +1,4 @@
+Ferin:
+I've done some research with the items we got from defeating El Floato. It looks like the spirits have been affected by the same power that forcefully brought the Garden of Spirits. In other words, they've been forcefully awakened and are now unstable. In order to stabilize themselves, they are affecting their surroundings negatively.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q00743_AtTheAltarOfOblivion/34054-02.htm b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q00743_AtTheAltarOfOblivion/34054-02.htm
new file mode 100644
index 0000000000..42071eb261
--- /dev/null
+++ b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q00743_AtTheAltarOfOblivion/34054-02.htm
@@ -0,0 +1,4 @@
+Ferin:
+However, that's just a description of the phenomena. It doesn't help us in finding out how to go back to our realm. It might be more effective if a creature with a more powerful energy is defeated.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q00743_AtTheAltarOfOblivion/34054-03.htm b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q00743_AtTheAltarOfOblivion/34054-03.htm
new file mode 100644
index 0000000000..6ad7c728f6
--- /dev/null
+++ b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q00743_AtTheAltarOfOblivion/34054-03.htm
@@ -0,0 +1,4 @@
+Ferin:
+You might think that I'm stubborn. But please understand where I'm coming from. Will you help me? Even if it might be dangerous.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q00743_AtTheAltarOfOblivion/34054-04.htm b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q00743_AtTheAltarOfOblivion/34054-04.htm
new file mode 100644
index 0000000000..fa03d04972
--- /dev/null
+++ b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q00743_AtTheAltarOfOblivion/34054-04.htm
@@ -0,0 +1,3 @@
+Ferin:
+Defeat Harpe in the Garden of Spirits to can obtain Sad Energy and Angry Energy. If you bring me those, I'll be able to find out about their sadness and anger. It will be really helpful for my research.
+
\ No newline at end of file
diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q00743_AtTheAltarOfOblivion/34054-05.html b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q00743_AtTheAltarOfOblivion/34054-05.html
new file mode 100644
index 0000000000..4b1d311a70
--- /dev/null
+++ b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q00743_AtTheAltarOfOblivion/34054-05.html
@@ -0,0 +1,3 @@
+Ferin:
+It's said that when you defeat Harpe, you can obtain Sad Energy and Angry Energy. If you bring me those, I'll be able to find out about their sadness and anger. It will be really helpful for my research.
+
\ No newline at end of file
diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q00743_AtTheAltarOfOblivion/34054-06.html b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q00743_AtTheAltarOfOblivion/34054-06.html
new file mode 100644
index 0000000000..873deedee9
--- /dev/null
+++ b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q00743_AtTheAltarOfOblivion/34054-06.html
@@ -0,0 +1,4 @@
+Ferin:
+Did you finish the mission? Great.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q00743_AtTheAltarOfOblivion/34054-07.html b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q00743_AtTheAltarOfOblivion/34054-07.html
new file mode 100644
index 0000000000..33b4808a43
--- /dev/null
+++ b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q00743_AtTheAltarOfOblivion/34054-07.html
@@ -0,0 +1,3 @@
+Ferin:
+Great. Ferin will know what to do after seeing the results of the investigation. Go talk to Ferin. Keep in mind that you must build trust first.
+
\ No newline at end of file
diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q00743_AtTheAltarOfOblivion/Q00743_AtTheAltarOfOblivion.java b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q00743_AtTheAltarOfOblivion/Q00743_AtTheAltarOfOblivion.java
new file mode 100644
index 0000000000..b179fc5190
--- /dev/null
+++ b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q00743_AtTheAltarOfOblivion/Q00743_AtTheAltarOfOblivion.java
@@ -0,0 +1,230 @@
+/*
+ * 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.Q00743_AtTheAltarOfOblivion;
+
+import org.l2jmobius.gameserver.enums.Faction;
+import org.l2jmobius.gameserver.enums.QuestSound;
+import org.l2jmobius.gameserver.enums.QuestType;
+import org.l2jmobius.gameserver.model.actor.Npc;
+import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
+import org.l2jmobius.gameserver.model.events.EventType;
+import org.l2jmobius.gameserver.model.events.ListenerRegisterType;
+import org.l2jmobius.gameserver.model.events.annotations.Id;
+import org.l2jmobius.gameserver.model.events.annotations.RegisterEvent;
+import org.l2jmobius.gameserver.model.events.annotations.RegisterType;
+import org.l2jmobius.gameserver.model.events.impl.creature.player.OnPlayerItemAdd;
+import org.l2jmobius.gameserver.model.quest.Quest;
+import org.l2jmobius.gameserver.model.quest.QuestState;
+import org.l2jmobius.gameserver.model.quest.State;
+
+import quests.Q10832_EnergyOfSadnessAndAnger.Q10832_EnergyOfSadnessAndAnger;
+
+/**
+ * At the Altar of Oblivion (743)
+ * @URL https://l2wiki.com/At_the_Altar_of_Oblivion
+ * @author Dmitri
+ */
+public class Q00743_AtTheAltarOfOblivion extends Quest
+{
+ // NPC
+ private static final int FERIN = 34054;
+ // Monsters
+ private static final int HARPE = 23561;
+ private static final int HARPE1 = 23562;
+ private static final int KERBEROS_LAGER_N = 23550; // (night)
+ private static final int KERBEROS_LAGER = 23541;
+ private static final int KERBEROS_FORT_N = 23551; // (night)
+ private static final int KERBEROS_FORT = 23542;
+ private static final int KERBEROS_NERO_N = 23552; // (night)
+ private static final int KERBEROS_NERO = 23543;
+ private static final int FURY_SYLPH_BARRENA_N = 23553; // (night)
+ private static final int FURY_SYLPH_BARRENA = 23544;
+ private static final int FURY_SYLPH_TEMPTRESS_N = 23555; // (night)
+ private static final int FURY_SYLPH_TEMPTRESS = 23546;
+ private static final int FURY_SYLPH_PURKA_N = 23556; // (night)
+ private static final int FURY_SYLPH_PURKA = 23547;
+ private static final int FURY_KERBEROS_LEGER_N = 23557; // (night)
+ private static final int FURY_KERBEROS_LEGER = 23545;
+ private static final int FURY_KERBEROS_NERO_N = 23558; // (night)
+ private static final int FURY_KERBEROS_NERO = 23549;
+ // Items
+ private static final int ESSENCE_OF_EVIL_THOUGHTS = 48006;
+ // Reward
+ private static final int WIND_CRYSTAL = 47259;
+ // Misc
+ private static final int MIN_LEVEL = 102;
+
+ public Q00743_AtTheAltarOfOblivion()
+ {
+ super(743);
+ addStartNpc(FERIN);
+ addTalkId(FERIN);
+ addKillId(HARPE, HARPE1);
+ addKillId(KERBEROS_LAGER, KERBEROS_LAGER_N, KERBEROS_FORT, KERBEROS_FORT_N, KERBEROS_NERO, KERBEROS_NERO_N, FURY_SYLPH_BARRENA, FURY_SYLPH_BARRENA_N, FURY_SYLPH_TEMPTRESS, FURY_SYLPH_TEMPTRESS_N, FURY_SYLPH_PURKA, FURY_SYLPH_PURKA_N, FURY_KERBEROS_LEGER, FURY_KERBEROS_LEGER_N, FURY_KERBEROS_NERO, FURY_KERBEROS_NERO_N);
+ registerQuestItems(ESSENCE_OF_EVIL_THOUGHTS);
+ addCondMinLevel(MIN_LEVEL, "34054-00.htm");
+ addCondCompletedQuest(Q10832_EnergyOfSadnessAndAnger.class.getSimpleName(), "34054-00.htm");
+ addFactionLevel(Faction.UNWORLDLY_VISITORS, 4, "34054-00.htm");
+ }
+
+ @Override
+ public String onAdvEvent(String event, Npc npc, PlayerInstance player)
+ {
+ String htmltext = null;
+ final QuestState qs = getQuestState(player, false);
+ if (qs == null)
+ {
+ return htmltext;
+ }
+
+ switch (event)
+ {
+ case "34054-02.htm":
+ case "34054-03.htm":
+ {
+ htmltext = event;
+ break;
+ }
+ case "34054-04.htm":
+ {
+ qs.startQuest();
+ htmltext = event;
+ break;
+ }
+ case "34054-07.html":
+ {
+ giveItems(player, WIND_CRYSTAL, 3);
+ addExpAndSp(player, 5555356987L, 5555340);
+ addFactionPoints(player, Faction.UNWORLDLY_VISITORS, 100);
+ qs.exitQuest(false, true);
+ htmltext = event;
+ break;
+ }
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onTalk(Npc npc, PlayerInstance player)
+ {
+ final QuestState qs = getQuestState(player, true);
+ String htmltext = getNoQuestMsg(player);
+
+ switch (qs.getState())
+ {
+ case State.CREATED:
+ {
+ htmltext = "34054-01.htm";
+ break;
+ }
+ case State.STARTED:
+ {
+ if (qs.isCond(1))
+ {
+ htmltext = "34054-05.html";
+ }
+ else
+ {
+ htmltext = "34054-06.html";
+ }
+ break;
+ }
+ case State.COMPLETED:
+ {
+ if (!qs.isNowAvailable())
+ {
+ htmltext = getAlreadyCompletedMsg(player, QuestType.DAILY);
+ }
+ else
+ {
+ qs.setState(State.CREATED);
+ htmltext = "34054-01.htm";
+ }
+ break;
+ }
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onKill(Npc npc, PlayerInstance killer, boolean isSummon)
+ {
+ final QuestState qs = getQuestState(killer, false);
+ if ((qs != null) && qs.isCond(1))
+ {
+ switch (npc.getId())
+ {
+ case FURY_SYLPH_BARRENA_N:
+ case FURY_SYLPH_TEMPTRESS_N:
+ case FURY_SYLPH_PURKA_N:
+ case FURY_KERBEROS_LEGER_N:
+ case FURY_KERBEROS_NERO_N:
+ case KERBEROS_LAGER_N:
+ case KERBEROS_FORT_N:
+ case KERBEROS_NERO_N:
+ {
+ if (getRandom(100) < 2)
+ {
+ final Npc mob = addSpawn(HARPE, npc.getX(), npc.getY(), npc.getZ(), 0, true, 120000);
+ addAttackPlayerDesire(mob, killer, 5);
+ }
+ break;
+ }
+ case FURY_SYLPH_BARRENA:
+ case FURY_SYLPH_TEMPTRESS:
+ case FURY_SYLPH_PURKA:
+ case FURY_KERBEROS_LEGER:
+ case FURY_KERBEROS_NERO:
+ case KERBEROS_LAGER:
+ case KERBEROS_FORT:
+ case KERBEROS_NERO:
+ {
+ if (getRandom(100) < 2)
+ {
+ final Npc mob = addSpawn(HARPE1, npc.getX(), npc.getY(), npc.getZ(), 0, true, 120000);
+ addAttackPlayerDesire(mob, killer, 5);
+ }
+ break;
+ }
+ case HARPE1:
+ case HARPE:
+ {
+ if ((getRandom(100) < 15) && !hasQuestItems(killer, ESSENCE_OF_EVIL_THOUGHTS))
+ {
+ giveItems(killer, ESSENCE_OF_EVIL_THOUGHTS, 1);
+ playSound(killer, QuestSound.ITEMSOUND_QUEST_ITEMGET);
+ }
+ break;
+ }
+ }
+ }
+ return super.onKill(npc, killer, isSummon);
+ }
+
+ @RegisterEvent(EventType.ON_PLAYER_ITEM_ADD)
+ @RegisterType(ListenerRegisterType.ITEM)
+ @Id(ESSENCE_OF_EVIL_THOUGHTS)
+ public void onItemAdd(OnPlayerItemAdd event)
+ {
+ final PlayerInstance player = event.getPlayer();
+ final QuestState qs = getQuestState(player, false);
+ if ((qs != null) && (qs.isCond(1)) && (hasQuestItems(player, ESSENCE_OF_EVIL_THOUGHTS)))
+ {
+ qs.setCond(2, true);
+ }
+ }
+}
\ No newline at end of file
diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-00.htm b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-00.htm
new file mode 100644
index 0000000000..94488269d6
--- /dev/null
+++ b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-00.htm
@@ -0,0 +1,4 @@
+Fire Dragon Bride Leona Blackbird:
+Hellbound is too dangerous for you. Please leave.
+(Only characters Lv. 100.)
+
\ No newline at end of file
diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-01.htm b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-01.htm
new file mode 100644
index 0000000000..a7fb6ecd9c
--- /dev/null
+++ b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-01.htm
@@ -0,0 +1,6 @@
+Master Cyphona:
+Ah, adventurer! There you are again. How about helping us some more? if you do, you can deepen the mutual trust with us and Ferin.
+What do you say? if you don't remember what to do, I can tell you again.
+
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-01a.htm b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-01a.htm
new file mode 100644
index 0000000000..397d8fb676
--- /dev/null
+++ b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-01a.htm
@@ -0,0 +1,6 @@
+Master Cyphona:
+Ah, adventurer! There you are again. How about helping us some more?
+What do you say? If you don't remember what the mission was, I can tell you again.
+
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-01b.htm b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-01b.htm
new file mode 100644
index 0000000000..fc7418b997
--- /dev/null
+++ b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-01b.htm
@@ -0,0 +1,6 @@
+Master Cyphona:
+Adventurer! Good to see you. Since you've helped us so much already, how about helping us some more?
+What do you say? If you don't remember what the mission was, I can tell you again.
+
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-01c.htm b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-01c.htm
new file mode 100644
index 0000000000..1f85cc8125
--- /dev/null
+++ b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-01c.htm
@@ -0,0 +1,5 @@
+Master Cyphona:
+I've been waiting for you, adventurer. Well since you are here now, will you listen to me? I know I can trust you, but if you complete this mission, we'll become better allies and your pockets will get heavier. What do you say? Or do you need me to explain the mission again?
+
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-02.htm b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-02.htm
new file mode 100644
index 0000000000..6879bbcabb
--- /dev/null
+++ b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-02.htm
@@ -0,0 +1,4 @@
+Master Cyphona:
+We've begun an investigation in the Garden of Spirits starting from here. However, we are being threatened by the spirits there, so something must be done.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-03.htm b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-03.htm
new file mode 100644
index 0000000000..d6a25e8d70
--- /dev/null
+++ b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-03.htm
@@ -0,0 +1,6 @@
+Master Cyphona:
+We know of a way to defeat those spirits, at least temporarily. This way, we'll be able to put the spirits at rest, even if it's just for a little while.
+Of course, we will give you a reward for your help. And there is one more thing. While you are helping us, you'll build trust with us. The more we trust you, the more rewards we will give you, and there are some secret missions that we only give to those we trust.
+That's about it.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-04.htm b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-04.htm
new file mode 100644
index 0000000000..f3808e4d70
--- /dev/null
+++ b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-04.htm
@@ -0,0 +1,9 @@
+Master Cyphona:
+Good. Let me tell you what to do. Just choose the mission that you are capable of doing.
+Basic Mission - Collect 200 Mutated Spirit's Souls.
+Intermediate Mission - Collect 400 Mutated Spirit's Souls.
+Advanced Mission - Collect 600 Mutated Spirit's Souls.
+
+
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-04.html b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-04.html
new file mode 100644
index 0000000000..e2b6f8efc1
--- /dev/null
+++ b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-04.html
@@ -0,0 +1,6 @@
+Master Cyphona:
+This isn't the first time we've met? You've completed a mission before? I see... Well, I don't really have a good memory.
+If you have completed a mission before, then that means you must have a Mark of Trust. What? You don't have one?
+Then you are either a liar, or you haven't been here in a long time. My trust is something you must continously try to maintain. Will you listen to me?
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-04a.htm b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-04a.htm
new file mode 100644
index 0000000000..fa54a706f8
--- /dev/null
+++ b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-04a.htm
@@ -0,0 +1,9 @@
+Master Cyphona:
+Good. Let me tell you what to do. Just choose the mission that you are capable of doing.
+Basic Mission - Collect 200 Mutated Spirit's Souls.
+Intermediate Mission - Collect 400 Mutated Spirit's Souls.
+Advanced Mission - Collect 600 Mutated Spirit's Souls.
+
+
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-04b.htm b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-04b.htm
new file mode 100644
index 0000000000..e373de00b7
--- /dev/null
+++ b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-04b.htm
@@ -0,0 +1,9 @@
+Master Cyphona:
+Good. Let me tell you what to do. Just choose the mission that you are capable of doing.
+Basic Mission - Collect 150 Mutated Spirit's Souls.
+Intermediate Mission - Collect 300 Mutated Spirit's Souls.
+Advanced Mission - Collect 450 Mutated Spirit's Souls.
+
+
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-05.htm b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-05.htm
new file mode 100644
index 0000000000..9041babe57
--- /dev/null
+++ b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-05.htm
@@ -0,0 +1,3 @@
+Master Cyphona:
+Alright. Here's the mission. Hunt the Kerberos Leger, Kerberos Fort, Kerberos Nero, Fury Sylph Barrena, Fury Sylph Labido, Fury Sylph Purka, Fury Kerberos Leger, and the Fury Kerberos Nero, and collect their Mutated Spirit's Souls as proof. You can get rewards only if you bring at least 200. Of course, you'll get more rewards if you bring more.
+
\ No newline at end of file
diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-05.html b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-05.html
new file mode 100644
index 0000000000..f42c41b57c
--- /dev/null
+++ b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-05.html
@@ -0,0 +1,3 @@
+Master Cyphona:
+Your Unworldly Visitors Faction Level Must be 1 or above may undertake this mission.
+
\ No newline at end of file
diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-05a.html b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-05a.html
new file mode 100644
index 0000000000..9ab05d1b14
--- /dev/null
+++ b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-05a.html
@@ -0,0 +1,3 @@
+Master Cyphona:
+Your Unworldly Visitors Faction Level Must be 3 or above may undertake this mission.
+
\ No newline at end of file
diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-06.html b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-06.html
new file mode 100644
index 0000000000..89f018709e
--- /dev/null
+++ b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-06.html
@@ -0,0 +1,6 @@
+Master Cyphona:
+You have chosen the basic mission to collect 200 Mutated Spirit's Souls. Once you have selected the difficulty of the mission, you must meet the requirements in order to complete it. Choose wisely.
+Are you sure you want to proceed with this mission?
+
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-06a.html b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-06a.html
new file mode 100644
index 0000000000..035e91f528
--- /dev/null
+++ b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-06a.html
@@ -0,0 +1,6 @@
+Master Cyphona:
+You have chosen the intermediate mission to collect 400 Mutated Spirit's Souls. Once you have selected the difficulty of the mission, you must meet the requirements in order to complete it. Choose wisely.
+Are you sure you want to proceed with this mission?
+
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-06b.html b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-06b.html
new file mode 100644
index 0000000000..8e6443ad89
--- /dev/null
+++ b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-06b.html
@@ -0,0 +1,6 @@
+Master Cyphona:
+You have chosen the advanced mission to collect 450 Mutated Spirit's Souls. Once you have selected the difficulty of the mission, you must meet the requirements in order to complete it. Choose wisely.
+Are you sure you want to proceed with this mission?
+
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-07.html b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-07.html
new file mode 100644
index 0000000000..76cd4c2418
--- /dev/null
+++ b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-07.html
@@ -0,0 +1,4 @@
+Master Cyphona:
+Good. Left me explain the details. Go to the Garden of Spirits, defeat the Kerberos Lager, Kerberos Fort, Kerberos Nero, Fury Sylph Barrena, Fury Sylph Labido, Fury Sylph Purka, Fury Kerberos Leger, and Fury Kerberos Nero, and put them to rest.
+As evidence, please bring back 200 Mutated Spirit's Souls. It should be manageable.
+
\ No newline at end of file
diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-07a.html b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-07a.html
new file mode 100644
index 0000000000..349c04b27d
--- /dev/null
+++ b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-07a.html
@@ -0,0 +1,4 @@
+Master Cyphona:
+Good. Left me explain the details. Go to the Garden of Spirits, defeat the Kerberos Lager, Kerberos Fort, Kerberos Nero, Fury Sylph Barrena, Fury Sylph Labido, Fury Sylph Purka, Fury Kerberos Leger, and Fury Kerberos Nero, and put them to rest.
+As evidence, please bring back 400 Mutated Spirit's Souls. It should be manageable.
+
\ No newline at end of file
diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-07b.html b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-07b.html
new file mode 100644
index 0000000000..d943aec768
--- /dev/null
+++ b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-07b.html
@@ -0,0 +1,4 @@
+Master Cyphona:
+Good. Left me explain the details. Go to the Garden of Spirits, defeat the Kerberos Lager, Kerberos Fort, Kerberos Nero, Fury Sylph Barrena, Fury Sylph Labido, Fury Sylph Purka, Fury Kerberos Leger, and Fury Kerberos Nero, and put them to rest.
+As evidence, please bring back 600 Mutated Spirit's Souls. It should be manageable.
+
\ No newline at end of file
diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-07c.html b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-07c.html
new file mode 100644
index 0000000000..5ebd96f89a
--- /dev/null
+++ b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-07c.html
@@ -0,0 +1,5 @@
+Master Cyphona:
+You want to finish already? Well, I can still give you a reward... But it won't be something good. Are you sure?
+
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-08.html b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-08.html
new file mode 100644
index 0000000000..038165ac20
--- /dev/null
+++ b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-08.html
@@ -0,0 +1,3 @@
+Master Cyphona:
+Go to the Garden of Spirits and defeat all type monsters until you collect 200 Mutated Spirit's Souls.
+
\ No newline at end of file
diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-08a.html b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-08a.html
new file mode 100644
index 0000000000..7ea73a66a6
--- /dev/null
+++ b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-08a.html
@@ -0,0 +1,3 @@
+Master Cyphona:
+Go to the Garden of Spirits and defeat all type monsters until you collect 400 Mutated Spirit's Souls.
+
\ No newline at end of file
diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-08b.html b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-08b.html
new file mode 100644
index 0000000000..f7b616df5a
--- /dev/null
+++ b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-08b.html
@@ -0,0 +1,3 @@
+Master Cyphona:
+Go to the Garden of Spirits and defeat all type monsters until you collect 600 Mutated Spirit's Souls.
+
\ No newline at end of file
diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-09.html b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-09.html
new file mode 100644
index 0000000000..8c94161d3a
--- /dev/null
+++ b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-09.html
@@ -0,0 +1,6 @@
+Master Cyphona:
+Toy have collected all of the Mutated Spirit's Souls. You have completed the mission successfully.
+I would like to congratulate you on completing the mission. Here's your reward. If you have a Faction Amity Token, I can give You more rewards.
+
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-09a.html b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-09a.html
new file mode 100644
index 0000000000..91721d4da1
--- /dev/null
+++ b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-09a.html
@@ -0,0 +1,4 @@
+Master Cyphona:
+You completed the mission!
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-09b.html b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-09b.html
new file mode 100644
index 0000000000..4a6e6cb936
--- /dev/null
+++ b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-09b.html
@@ -0,0 +1,4 @@
+Master Cyphona:
+You completed the mission!
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-09c.html b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-09c.html
new file mode 100644
index 0000000000..fb74a1cd53
--- /dev/null
+++ b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-09c.html
@@ -0,0 +1,4 @@
+Master Cyphona:
+You completed the mission!
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-10.html b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-10.html
new file mode 100644
index 0000000000..ec3450a5fc
--- /dev/null
+++ b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-10.html
@@ -0,0 +1,4 @@
+Master Cyphona:
+Here is your reward. This will also help to improve the trust between you and us at the Unworldly Visitors.
+As long as you don't forget us, that is. We thank you for your hard work.
+
\ No newline at end of file
diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-10a.html b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-10a.html
new file mode 100644
index 0000000000..2bf94feff3
--- /dev/null
+++ b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-10a.html
@@ -0,0 +1,3 @@
+Master Cyphona:
+Here's your reward. We'll be able to maintain our trust. As long as you don't forget about us, that is.
+
\ No newline at end of file
diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-10b.html b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-10b.html
new file mode 100644
index 0000000000..c2f962f4f2
--- /dev/null
+++ b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-10b.html
@@ -0,0 +1,3 @@
+Master Cyphona:
+Here's your reward, I'll remember how you've helped us all those times. Here's a higher level Mark of Trust. Thank you for all of your help.
+
\ No newline at end of file
diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-10c.html b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-10c.html
new file mode 100644
index 0000000000..aacd7919d3
--- /dev/null
+++ b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-10c.html
@@ -0,0 +1,3 @@
+Master Cyphona:
+Here's your reward for helping us. Although you didn't get all the Marks, I still remember how you helped us. I have no doubt the trust between us has deepened even more.
+
\ No newline at end of file
diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/Q00924_GiantOfTheRestorationRoom.java b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/Q00924_GiantOfTheRestorationRoom.java
new file mode 100644
index 0000000000..90e05f6829
--- /dev/null
+++ b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/Q00924_GiantOfTheRestorationRoom.java
@@ -0,0 +1,368 @@
+/*
+ * 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.Q00924_GiantOfTheRestorationRoom;
+
+import java.util.HashSet;
+import java.util.Set;
+
+import org.l2jmobius.gameserver.enums.Faction;
+import org.l2jmobius.gameserver.enums.QuestSound;
+import org.l2jmobius.gameserver.enums.QuestType;
+import org.l2jmobius.gameserver.model.actor.Npc;
+import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
+import org.l2jmobius.gameserver.model.holders.NpcLogListHolder;
+import org.l2jmobius.gameserver.model.quest.Quest;
+import org.l2jmobius.gameserver.model.quest.QuestState;
+import org.l2jmobius.gameserver.model.quest.State;
+import org.l2jmobius.gameserver.network.NpcStringId;
+
+/**
+ * Giant of the Restoration Room (924)
+ * @URL https://l2wiki.com/Recovered_Giants
+ * @author Dmitri
+ */
+public class Q00924_GiantOfTheRestorationRoom extends Quest
+{
+ // NPCs
+ private static final int SHUMADRIBA = 34217;
+ // Monsters
+ private static final int[] MONSTERS =
+ {
+ 23727, // Shaqrima Bathus
+ 23728, // Shaqrima Carcass
+ 23729, // Shaqrima Kshana
+ 23750 // Shaqrima Lucas
+ };
+ // Items
+ private static final int BASIC_SUPPLY_BOX = 47359;
+ private static final int INTERMEDIATE_SUPPLY_BOX = 47360;
+ private static final int ADVANCED_SUPPLY_BOX = 47361;
+ // Misc
+ private static final int KILLING_NPCSTRING_ID = NpcStringId.ELIMINATE_THE_GIANT.getId();
+ private static final boolean PARTY_QUEST = true;
+ private static final int MIN_LEVEL = 100;
+
+ public Q00924_GiantOfTheRestorationRoom()
+ {
+ super(924);
+ addStartNpc(SHUMADRIBA);
+ addTalkId(SHUMADRIBA);
+ addKillId(MONSTERS);
+ addCondMinLevel(MIN_LEVEL, "34217-00.htm");
+ }
+
+ @Override
+ public String onAdvEvent(String event, Npc npc, PlayerInstance player)
+ {
+ String htmltext = null;
+ final QuestState qs = getQuestState(player, false);
+ if (qs == null)
+ {
+ return htmltext;
+ }
+
+ switch (event)
+ {
+ case "34217-02.htm":
+ case "34217-03.htm":
+ case "34217-04.htm":
+ case "34217-04a.htm":
+ case "34217-04b.htm":
+ case "34217-06.html":
+ case "34217-06a.html":
+ case "34217-06b.html":
+ {
+ htmltext = event;
+ break;
+ }
+ case "select_mission":
+ {
+ qs.startQuest();
+ if ((player.getFactionLevel(Faction.GIANT_TRACKERS) >= 1) && (player.getFactionLevel(Faction.GIANT_TRACKERS) < 3))
+ {
+ htmltext = "34217-04a.htm";
+ break;
+ }
+ else if (player.getFactionLevel(Faction.GIANT_TRACKERS) >= 3)
+ {
+ htmltext = "34217-04b.htm";
+ break;
+ }
+ htmltext = "34217-04.htm";
+ break;
+ }
+ case "return":
+ {
+ if ((player.getFactionLevel(Faction.GIANT_TRACKERS) >= 1) && (player.getFactionLevel(Faction.GIANT_TRACKERS) < 3))
+ {
+ htmltext = "34217-04a.htm";
+ break;
+ }
+ else if (player.getFactionLevel(Faction.GIANT_TRACKERS) >= 3)
+ {
+ htmltext = "34217-04b.htm";
+ break;
+ }
+ htmltext = "34217-04.htm";
+ break;
+ }
+ case "34217-07.html":
+ {
+ qs.setCond(2, true);
+ htmltext = event;
+ break;
+ }
+ case "34217-07a.html":
+ {
+ qs.setCond(3, true);
+ htmltext = event;
+ break;
+ }
+ case "34217-07b.html":
+ {
+ qs.setCond(4, true);
+ htmltext = event;
+ break;
+ }
+ case "34217-10.html":
+ {
+ final int chance = getRandom(100);
+ switch (qs.getCond())
+ {
+ case 5:
+ {
+ if (player.getLevel() >= MIN_LEVEL)
+ {
+ if (chance < 2)
+ {
+ giveItems(player, ADVANCED_SUPPLY_BOX, 1);
+ }
+ else if (chance < 20)
+ {
+ giveItems(player, INTERMEDIATE_SUPPLY_BOX, 1);
+ }
+ else if (chance < 100)
+ {
+ giveItems(player, BASIC_SUPPLY_BOX, 1);
+ }
+ addExpAndSp(player, 14_831_100_000L, 14_831_100);
+ addFactionPoints(player, Faction.GIANT_TRACKERS, 100);
+ qs.exitQuest(QuestType.DAILY, true);
+ htmltext = event;
+ }
+ else
+ {
+ htmltext = getNoQuestLevelRewardMsg(player);
+ }
+ break;
+ }
+ case 6:
+ {
+ if (player.getLevel() >= MIN_LEVEL)
+ {
+ if (chance < 2)
+ {
+ giveItems(player, ADVANCED_SUPPLY_BOX, 1);
+ }
+ else if (chance < 20)
+ {
+ giveItems(player, BASIC_SUPPLY_BOX, 1);
+ }
+ else if (chance < 100)
+ {
+ giveItems(player, INTERMEDIATE_SUPPLY_BOX, 1);
+ }
+ addExpAndSp(player, 29_662_200_000L, 29_662_200);
+ addFactionPoints(player, Faction.GIANT_TRACKERS, 200);
+ qs.exitQuest(QuestType.DAILY, true);
+ htmltext = event;
+ }
+ else
+ {
+ htmltext = getNoQuestLevelRewardMsg(player);
+ }
+ break;
+ }
+ case 7:
+ {
+ if (player.getLevel() >= MIN_LEVEL)
+ {
+ if (chance < 2)
+ {
+ giveItems(player, BASIC_SUPPLY_BOX, 1);
+ }
+ else if (chance < 20)
+ {
+ giveItems(player, INTERMEDIATE_SUPPLY_BOX, 1);
+ }
+ else if (chance < 100)
+ {
+ giveItems(player, ADVANCED_SUPPLY_BOX, 1);
+ }
+ addExpAndSp(player, 44_493_300_000L, 44_493_300);
+ addFactionPoints(player, Faction.GIANT_TRACKERS, 300);
+ qs.exitQuest(QuestType.DAILY, true);
+ htmltext = event;
+ }
+ else
+ {
+ htmltext = getNoQuestLevelRewardMsg(player);
+ }
+ break;
+ }
+ }
+ break;
+ }
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onTalk(Npc npc, PlayerInstance player)
+ {
+ final QuestState qs = getQuestState(player, true);
+ String htmltext = getNoQuestMsg(player);
+
+ switch (qs.getState())
+ {
+ case State.CREATED:
+ {
+ htmltext = "34217-01.htm";
+ }
+ case State.STARTED:
+ {
+ switch (qs.getCond())
+ {
+ case 1:
+ {
+ if ((player.getFactionLevel(Faction.GIANT_TRACKERS) >= 1) && (player.getFactionLevel(Faction.GIANT_TRACKERS) < 3))
+ {
+ htmltext = "34217-04a.htm";
+ break;
+ }
+ else if (player.getFactionLevel(Faction.GIANT_TRACKERS) >= 3)
+ {
+ htmltext = "34217-04b.htm";
+ break;
+ }
+ htmltext = "34217-04.htm";
+ break;
+ }
+ case 2:
+ {
+ htmltext = "34217-08.html";
+ break;
+ }
+ case 3:
+ {
+ htmltext = "34217-08a.html";
+ break;
+ }
+ case 4:
+ {
+ htmltext = "34217-08b.html";
+ break;
+ }
+ case 5:
+ case 6:
+ case 7:
+ {
+ htmltext = "34217-09.html";
+ break;
+ }
+ }
+ break;
+ }
+ case State.COMPLETED:
+ {
+ if (!qs.isNowAvailable())
+ {
+ htmltext = getAlreadyCompletedMsg(player, QuestType.DAILY);
+ }
+ else
+ {
+ qs.setState(State.CREATED);
+ htmltext = "34217-01.htm";
+ }
+ break;
+ }
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onKill(Npc npc, PlayerInstance killer, boolean isSummon)
+ {
+ final QuestState qs = PARTY_QUEST ? getRandomPartyMemberState(killer, -1, 3, npc) : getQuestState(killer, false);
+ if ((qs != null) && (qs.getCond() > 1))
+ {
+ switch (qs.getCond())
+ {
+ case 2:
+ {
+ final int killedGhosts = qs.getInt("AncientGhosts") + 1;
+ qs.set("AncientGhosts", killedGhosts);
+ playSound(killer, QuestSound.ITEMSOUND_QUEST_ITEMGET);
+
+ if (killedGhosts >= 100)
+ {
+ qs.setCond(5, true);
+ }
+ break;
+ }
+ case 3:
+ {
+ final int killedGhosts = qs.getInt("AncientGhosts") + 1;
+ qs.set("AncientGhosts", killedGhosts);
+ playSound(killer, QuestSound.ITEMSOUND_QUEST_ITEMGET);
+
+ if (killedGhosts >= 200)
+ {
+ qs.setCond(6, true);
+ }
+ break;
+ }
+ case 4:
+ {
+ final int killedGhosts = qs.getInt("AncientGhosts") + 1;
+ qs.set("AncientGhosts", killedGhosts);
+ playSound(killer, QuestSound.ITEMSOUND_QUEST_ITEMGET);
+
+ if (killedGhosts >= 300)
+ {
+ qs.setCond(7, true);
+ }
+ break;
+ }
+ }
+ }
+ return super.onKill(npc, killer, isSummon);
+ }
+
+ @Override
+ public Set getNpcLogList(PlayerInstance player)
+ {
+ final QuestState qs = getQuestState(player, false);
+ if ((qs != null) && (qs.getCond() > 1))
+ {
+ final Set holder = new HashSet<>();
+ holder.add(new NpcLogListHolder(KILLING_NPCSTRING_ID, true, qs.getInt("AncientGhosts")));
+ return holder;
+ }
+ return super.getNpcLogList(player);
+ }
+}
\ No newline at end of file
diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10540_ThwartingMimirsPlan/34237-00.htm b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10540_ThwartingMimirsPlan/34237-00.htm
new file mode 100644
index 0000000000..2ce847f7bd
--- /dev/null
+++ b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10540_ThwartingMimirsPlan/34237-00.htm
@@ -0,0 +1,4 @@
+Krenaht:
+This place is too dangerous for you. Please return to the continent.
+(Only characters Lv. 100.)
+
\ No newline at end of file
diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10540_ThwartingMimirsPlan/34237-01.htm b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10540_ThwartingMimirsPlan/34237-01.htm
new file mode 100644
index 0000000000..5699913e62
--- /dev/null
+++ b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10540_ThwartingMimirsPlan/34237-01.htm
@@ -0,0 +1,4 @@
+Krenaht:
+Beleth...! That man is behind everything that happened here. Only his death will end this nightmare. Please, help me.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10540_ThwartingMimirsPlan/34237-02.htm b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10540_ThwartingMimirsPlan/34237-02.htm
new file mode 100644
index 0000000000..4ca2550c47
--- /dev/null
+++ b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10540_ThwartingMimirsPlan/34237-02.htm
@@ -0,0 +1,4 @@
+Krenaht:
+To interfere with his plans, we began finding and destroying Fragments of Chaos, though the latter did require the Giant's Grinder. Anyway, destroying these will lure Beleth out of safety, and we plan to start the operation as soon as we have enough.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10540_ThwartingMimirsPlan/34237-03.htm b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10540_ThwartingMimirsPlan/34237-03.htm
new file mode 100644
index 0000000000..c3b0bef012
--- /dev/null
+++ b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10540_ThwartingMimirsPlan/34237-03.htm
@@ -0,0 +1,5 @@
+Krenaht:
+The Giant's Grinder is in the heart of Hellbound. I will give a signal when Beleth appears; gather up your allies and let us all take him down once and for all.
+For our dignity.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10540_ThwartingMimirsPlan/34237-04.htm b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10540_ThwartingMimirsPlan/34237-04.htm
new file mode 100644
index 0000000000..32b3ddd37a
--- /dev/null
+++ b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10540_ThwartingMimirsPlan/34237-04.htm
@@ -0,0 +1,4 @@
+Krenaht:
+The Wormhole activates when Beleth appears; use it to go to the heart of Hellbound. There we will face and defeat Beleth together! If nothing else, we must at least take down Darion, his right-hand man.
+If it is the will of you and your fellow warriors, I will also join the battle.
+
\ No newline at end of file
diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10540_ThwartingMimirsPlan/34237-05.html b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10540_ThwartingMimirsPlan/34237-05.html
new file mode 100644
index 0000000000..51e6508fbe
--- /dev/null
+++ b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10540_ThwartingMimirsPlan/34237-05.html
@@ -0,0 +1,4 @@
+Krenaht:
+It may have been an illusion, but let us call it a success.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10540_ThwartingMimirsPlan/34237-06.html b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10540_ThwartingMimirsPlan/34237-06.html
new file mode 100644
index 0000000000..3fda9f375a
--- /dev/null
+++ b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10540_ThwartingMimirsPlan/34237-06.html
@@ -0,0 +1,3 @@
+Krenaht:
+Please take this gift of gratitude.
+
\ No newline at end of file
diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10540_ThwartingMimirsPlan/Q10540_ThwartingMimirsPlan.java b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10540_ThwartingMimirsPlan/Q10540_ThwartingMimirsPlan.java
new file mode 100644
index 0000000000..c4cdbefd6a
--- /dev/null
+++ b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10540_ThwartingMimirsPlan/Q10540_ThwartingMimirsPlan.java
@@ -0,0 +1,140 @@
+/*
+ * 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.Q10540_ThwartingMimirsPlan;
+
+import org.l2jmobius.Config;
+import org.l2jmobius.gameserver.model.actor.Npc;
+import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
+import org.l2jmobius.gameserver.model.quest.Quest;
+import org.l2jmobius.gameserver.model.quest.QuestState;
+import org.l2jmobius.gameserver.model.quest.State;
+import org.l2jmobius.gameserver.util.Util;
+
+/**
+ * Thwarting Mimir's Plan (10540)
+ * @URL https://l2wiki.com/Thwarting_Mimir%27s_Plan
+ * @author Dmitri
+ */
+public class Q10540_ThwartingMimirsPlan extends Quest
+{
+ // NPCs
+ private static final int KRENAHT = 34237;
+ // Boss
+ private static final int MIMIR = 26137;
+ // Misc
+ private static final int MIN_LEVEL = 100;
+ private static final int GIANTS_SCROLL_R_GRADE_WEAPON = 36386;
+
+ public Q10540_ThwartingMimirsPlan()
+ {
+ super(10540);
+ addStartNpc(KRENAHT);
+ addTalkId(KRENAHT);
+ addKillId(MIMIR);
+ addCondMinLevel(MIN_LEVEL, "34237-00.htm");
+ }
+
+ @Override
+ public String onAdvEvent(String event, Npc npc, PlayerInstance player)
+ {
+ final QuestState qs = getQuestState(player, false);
+ if (qs == null)
+ {
+ return null;
+ }
+
+ String htmltext = null;
+ switch (event)
+ {
+ case "34237-02.htm":
+ case "34237-03.htm":
+ {
+ htmltext = event;
+ break;
+ }
+ case "34237-04.htm":
+ {
+ qs.startQuest();
+ htmltext = event;
+ break;
+ }
+ case "34237-06.html":
+ {
+ if (qs.isCond(2))
+ {
+ giveItems(player, GIANTS_SCROLL_R_GRADE_WEAPON, 1);
+ addExpAndSp(player, 3954960000L, 9491880);
+ qs.exitQuest(false, true);
+ htmltext = event;
+ }
+ break;
+ }
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onTalk(Npc npc, PlayerInstance player)
+ {
+ final QuestState qs = getQuestState(player, true);
+ String htmltext = getNoQuestMsg(player);
+
+ switch (qs.getState())
+ {
+ case State.CREATED:
+ {
+ htmltext = "34237-01.htm";
+ break;
+ }
+ case State.STARTED:
+ {
+ if (qs.isCond(1))
+ {
+ htmltext = "34237-04.htm";
+ }
+ else
+ {
+ htmltext = "34237-05.html";
+ }
+ break;
+ }
+ case State.COMPLETED:
+ {
+ htmltext = getAlreadyCompletedMsg(player);
+ break;
+ }
+ }
+ return htmltext;
+ }
+
+ @Override
+ public void actionForEachPlayer(PlayerInstance player, Npc npc, boolean isSummon)
+ {
+ final QuestState qs = getQuestState(player, false);
+ if ((qs != null) && qs.isCond(1) && Util.checkIfInRange(Config.ALT_PARTY_RANGE, npc, player, false))
+ {
+ qs.setCond(2, true);
+ }
+ }
+
+ @Override
+ public String onKill(Npc npc, PlayerInstance killer, boolean isSummon)
+ {
+ executeForEachPlayer(killer, npc, isSummon, true, false);
+ return super.onKill(npc, killer, isSummon);
+ }
+}
\ No newline at end of file
diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10833_PutTheQueenOfSpiritsToSleep/Q10833_PutTheQueenOfSpiritsToSleep.java b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10833_PutTheQueenOfSpiritsToSleep/Q10833_PutTheQueenOfSpiritsToSleep.java
index e291d29351..898a1f2eea 100644
--- a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10833_PutTheQueenOfSpiritsToSleep/Q10833_PutTheQueenOfSpiritsToSleep.java
+++ b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10833_PutTheQueenOfSpiritsToSleep/Q10833_PutTheQueenOfSpiritsToSleep.java
@@ -16,6 +16,7 @@
*/
package quests.Q10833_PutTheQueenOfSpiritsToSleep;
+import org.l2jmobius.gameserver.enums.Faction;
import org.l2jmobius.gameserver.model.actor.Npc;
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
import org.l2jmobius.gameserver.model.quest.Quest;
@@ -35,13 +36,12 @@ public class Q10833_PutTheQueenOfSpiritsToSleep extends Quest
private static final int FERIN = 34054;
private static final int ISABELLA = 26131;
// Items
- private static final int MARK_OF_TRUST_HIGH_GRADE = 45848;
private static final int ISABELLAS_EVIL_THOUGHTS = 45839;
private static final int SOE = 46158;
private static final int ELCYUM_CRYSTAL = 36514;
private static final int GIANTS_CODEX = 46152;
// Misc
- private static final int MIN_LEVEL = 100;
+ private static final int MIN_LEVEL = 102;
public Q10833_PutTheQueenOfSpiritsToSleep()
{
@@ -52,6 +52,7 @@ public class Q10833_PutTheQueenOfSpiritsToSleep extends Quest
registerQuestItems(ISABELLAS_EVIL_THOUGHTS);
addCondMinLevel(MIN_LEVEL, "34054-00.htm");
addCondCompletedQuest(Q10832_EnergyOfSadnessAndAnger.class.getSimpleName(), "34054-00.htm");
+ addFactionLevel(Faction.UNWORLDLY_VISITORS, 6, "34054-00.htm");
}
@Override
@@ -83,7 +84,7 @@ public class Q10833_PutTheQueenOfSpiritsToSleep extends Quest
giveItems(player, GIANTS_CODEX, 1);
giveItems(player, ELCYUM_CRYSTAL, 1);
giveItems(player, SOE, 1);
- addExpAndSp(player, 1637472704L, 14237820);
+ addExpAndSp(player, 22221427950L, 22221360);
qs.exitQuest(false, true);
htmltext = event;
break;
@@ -101,11 +102,6 @@ public class Q10833_PutTheQueenOfSpiritsToSleep extends Quest
{
case State.CREATED:
{
- if (!hasQuestItems(player, MARK_OF_TRUST_HIGH_GRADE))
- {
- htmltext = "noItem.htm";
- break;
- }
htmltext = "34054-01.htm";
break;
}
diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10833_PutTheQueenOfSpiritsToSleep/noItem.htm b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10833_PutTheQueenOfSpiritsToSleep/noItem.htm
deleted file mode 100644
index 3ba66309d6..0000000000
--- a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10833_PutTheQueenOfSpiritsToSleep/noItem.htm
+++ /dev/null
@@ -1,4 +0,0 @@
-Ferin:
-You! Do you even know who you are talking to? Go away!
-(This quest may only be undertaken by characters with a Mark of Trust (High-grade).)
-
\ No newline at end of file
diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34054-00.htm b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34054-00.htm
new file mode 100644
index 0000000000..264b837f17
--- /dev/null
+++ b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34054-00.htm
@@ -0,0 +1,4 @@
+Ferin:
+You think you are enough? Well, I can't agree to that.
+(This quest is for characters level 102 and Unworldly Visitors faction level should be 6.)
+
\ No newline at end of file
diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34054-01.htm b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34054-01.htm
new file mode 100644
index 0000000000..fda0dff0a1
--- /dev/null
+++ b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34054-01.htm
@@ -0,0 +1,4 @@
+Ferin:
+I've done some research with the items we got from defeating El Floato. It looks like the spirits have been affected by the same power that forcefully brought the Garden of Spirits. In other words, they've been forcefully awakened and are now unstable. In order to stabilize themselves, they are affecting their surroundings negatively.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34054-02.htm b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34054-02.htm
new file mode 100644
index 0000000000..2e5abdb92d
--- /dev/null
+++ b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34054-02.htm
@@ -0,0 +1,4 @@
+Ferin:
+However, that's just a description of the phenomena. It doesn't help us in finding out how to go back to our realm. It might be more effective if a creature with a more powerful energy is defeated.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34054-03.htm b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34054-03.htm
new file mode 100644
index 0000000000..4a1ac5614b
--- /dev/null
+++ b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34054-03.htm
@@ -0,0 +1,4 @@
+Ferin:
+You might think that I'm stubborn. But please understand where I'm coming from. Will you help me? Even if it might be dangerous.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34054-04.htm b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34054-04.htm
new file mode 100644
index 0000000000..fa03d04972
--- /dev/null
+++ b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34054-04.htm
@@ -0,0 +1,3 @@
+Ferin:
+Defeat Harpe in the Garden of Spirits to can obtain Sad Energy and Angry Energy. If you bring me those, I'll be able to find out about their sadness and anger. It will be really helpful for my research.
+
\ No newline at end of file
diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34054-05.html b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34054-05.html
new file mode 100644
index 0000000000..4b1d311a70
--- /dev/null
+++ b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34054-05.html
@@ -0,0 +1,3 @@
+Ferin:
+It's said that when you defeat Harpe, you can obtain Sad Energy and Angry Energy. If you bring me those, I'll be able to find out about their sadness and anger. It will be really helpful for my research.
+
\ No newline at end of file
diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34054-06.html b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34054-06.html
new file mode 100644
index 0000000000..62d6c3d580
--- /dev/null
+++ b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34054-06.html
@@ -0,0 +1,4 @@
+Ferin:
+Did you finish the mission? Great.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34054-07.html b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34054-07.html
new file mode 100644
index 0000000000..33b4808a43
--- /dev/null
+++ b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34054-07.html
@@ -0,0 +1,3 @@
+Ferin:
+Great. Ferin will know what to do after seeing the results of the investigation. Go talk to Ferin. Keep in mind that you must build trust first.
+
\ No newline at end of file
diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34054-09.html b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34054-09.html
new file mode 100644
index 0000000000..08fbf732a0
--- /dev/null
+++ b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34054-09.html
@@ -0,0 +1,4 @@
+Ferin:
+Did you finish the mission? Great.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34054-10.html b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34054-10.html
new file mode 100644
index 0000000000..33b4808a43
--- /dev/null
+++ b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34054-10.html
@@ -0,0 +1,3 @@
+Ferin:
+Great. Ferin will know what to do after seeing the results of the investigation. Go talk to Ferin. Keep in mind that you must build trust first.
+
\ No newline at end of file
diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34055-01.html b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34055-01.html
new file mode 100644
index 0000000000..e389377838
--- /dev/null
+++ b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34055-01.html
@@ -0,0 +1,4 @@
+Cyphona:
+Did you finish the mission? Great.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34055-02.html b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34055-02.html
new file mode 100644
index 0000000000..1371f1a7e7
--- /dev/null
+++ b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34055-02.html
@@ -0,0 +1,4 @@
+Cyphona:
+Did you finish the mission? Great.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34055-03.html b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34055-03.html
new file mode 100644
index 0000000000..210b59aad0
--- /dev/null
+++ b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34055-03.html
@@ -0,0 +1,3 @@
+Cyphona:
+Great. Ferin will know what to do after seeing the results of the investigation. Go talk to Ferin. Keep in mind that you must build trust first.
+
\ No newline at end of file
diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34056-01.html b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34056-01.html
new file mode 100644
index 0000000000..17d8d2f5ff
--- /dev/null
+++ b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34056-01.html
@@ -0,0 +1,4 @@
+Belas:
+Did you finish the mission? Great.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34056-02.html b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34056-02.html
new file mode 100644
index 0000000000..cff97244ab
--- /dev/null
+++ b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34056-02.html
@@ -0,0 +1,4 @@
+Belas:
+Did you finish the mission? Great.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34056-03.html b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34056-03.html
new file mode 100644
index 0000000000..be0ec6881b
--- /dev/null
+++ b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34056-03.html
@@ -0,0 +1,3 @@
+Belas:
+Great. Ferin will know what to do after seeing the results of the investigation. Go talk to Ferin. Keep in mind that you must build trust first.
+
\ No newline at end of file
diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34238-01.html b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34238-01.html
new file mode 100644
index 0000000000..53953a2d31
--- /dev/null
+++ b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34238-01.html
@@ -0,0 +1,4 @@
+Eubina:
+Did you finish the mission? Great.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34238-02.html b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34238-02.html
new file mode 100644
index 0000000000..70337cd469
--- /dev/null
+++ b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34238-02.html
@@ -0,0 +1,4 @@
+Eubina:
+Did you finish the mission? Great.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34238-03.html b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34238-03.html
new file mode 100644
index 0000000000..94677730ab
--- /dev/null
+++ b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34238-03.html
@@ -0,0 +1,3 @@
+Eubina:
+Great. Ferin will know what to do after seeing the results of the investigation. Go talk to Ferin. Keep in mind that you must build trust first.
+
\ No newline at end of file
diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34239-01.html b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34239-01.html
new file mode 100644
index 0000000000..0737f45d04
--- /dev/null
+++ b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34239-01.html
@@ -0,0 +1,4 @@
+Rotoeh:
+Did you finish the mission? Great.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34239-02.html b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34239-02.html
new file mode 100644
index 0000000000..aebb815d8b
--- /dev/null
+++ b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34239-02.html
@@ -0,0 +1,4 @@
+Rotoeh:
+Did you finish the mission? Great.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34239-03.html b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34239-03.html
new file mode 100644
index 0000000000..fe84b631cf
--- /dev/null
+++ b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34239-03.html
@@ -0,0 +1,3 @@
+Rotoeh:
+Great. Ferin will know what to do after seeing the results of the investigation. Go talk to Ferin. Keep in mind that you must build trust first.
+
\ No newline at end of file
diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/Q10849_TrialsForAdaptation.java b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/Q10849_TrialsForAdaptation.java
new file mode 100644
index 0000000000..dc778fe19d
--- /dev/null
+++ b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/Q10849_TrialsForAdaptation.java
@@ -0,0 +1,300 @@
+/*
+ * 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.Q10849_TrialsForAdaptation;
+
+import org.l2jmobius.Config;
+import org.l2jmobius.gameserver.enums.Faction;
+import org.l2jmobius.gameserver.enums.QuestSound;
+import org.l2jmobius.gameserver.model.actor.Npc;
+import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
+import org.l2jmobius.gameserver.model.quest.Quest;
+import org.l2jmobius.gameserver.model.quest.QuestState;
+import org.l2jmobius.gameserver.model.quest.State;
+
+/**
+ * Trials for Adaptation (10849)
+ * @URL https://l2wiki.com/Trials_for_Adaptation
+ * @author Dmitri
+ */
+public class Q10849_TrialsForAdaptation extends Quest
+{
+ // NPC
+ private static final int FERIN = 34054;
+ private static final int EUBINA = 34238;
+ private static final int ROTOEH = 34239;
+ private static final int CYPHONA = 34055;
+ private static final int BELAS = 34056;
+ // Monsters
+ private static final int KERBEROS_LAGER_N = 23550; // (night)
+ private static final int KERBEROS_LAGER = 23541;
+ private static final int KERBEROS_FORT_N = 23551; // (night)
+ private static final int KERBEROS_FORT = 23542;
+ private static final int KERBEROS_NERO_N = 23552; // (night)
+ private static final int KERBEROS_NERO = 23543;
+ private static final int FURY_SYLPH_BARRENA_N = 23553; // (night)
+ private static final int FURY_SYLPH_BARRENA = 23544;
+ private static final int FURY_SYLPH_TEMPTRESS_N = 23555; // (night)
+ private static final int FURY_SYLPH_TEMPTRESS = 23546;
+ private static final int FURY_SYLPH_PURKA_N = 23556; // (night)
+ private static final int FURY_SYLPH_PURKA = 23547;
+ private static final int FURY_KERBEROS_LEGER_N = 23557; // (night)
+ private static final int FURY_KERBEROS_LEGER = 23545;
+ private static final int FURY_KERBEROS_NERO_N = 23558; // (night)
+ private static final int FURY_KERBEROS_NERO = 23549;
+ // Items
+ private static final int ENERGY_LADEL_WITH_THE_DAYS = 47189;
+ private static final int ENERGY_LADEL_WITH_THE_NIGHTS = 47190;
+ // Reward
+ private static final int RUNE_STONE = 39738;
+ private static final int SPELLBOOK_WING_HOUND = 47152;
+ // Misc
+ private static final int MIN_LEVEL = 102;
+
+ public Q10849_TrialsForAdaptation()
+ {
+ super(10849);
+ addStartNpc(FERIN);
+ addTalkId(FERIN, EUBINA, ROTOEH, CYPHONA, BELAS);
+ addKillId(KERBEROS_LAGER, KERBEROS_LAGER_N, KERBEROS_FORT, KERBEROS_FORT_N, KERBEROS_NERO, KERBEROS_NERO_N, FURY_SYLPH_BARRENA, FURY_SYLPH_BARRENA_N, FURY_SYLPH_TEMPTRESS, FURY_SYLPH_TEMPTRESS_N, FURY_SYLPH_PURKA, FURY_SYLPH_PURKA_N, FURY_KERBEROS_LEGER, FURY_KERBEROS_LEGER_N, FURY_KERBEROS_NERO, FURY_KERBEROS_NERO_N);
+ registerQuestItems(ENERGY_LADEL_WITH_THE_DAYS, ENERGY_LADEL_WITH_THE_NIGHTS);
+ addCondMinLevel(MIN_LEVEL, "34054-00.htm");
+ addFactionLevel(Faction.UNWORLDLY_VISITORS, 6, "34054-00.htm");
+ }
+
+ @Override
+ public String onAdvEvent(String event, Npc npc, PlayerInstance player)
+ {
+ String htmltext = null;
+ final QuestState qs = getQuestState(player, false);
+ if (qs == null)
+ {
+ return htmltext;
+ }
+
+ switch (event)
+ {
+ case "34054-02.htm":
+ case "34054-03.htm":
+ case "34238-03.html":
+ case "34239-03.html":
+ case "34055-03.html":
+ case "34056-03.html":
+ {
+ htmltext = event;
+ break;
+ }
+ case "34054-04.htm":
+ {
+ qs.startQuest();
+ htmltext = event;
+ break;
+ }
+ case "34054-07.html":
+ {
+ qs.setCond(3, true);
+ htmltext = event;
+ break;
+ }
+ case "34238-02.html":
+ {
+ qs.setCond(4, true);
+ htmltext = event;
+ break;
+ }
+ case "34239-02.html":
+ {
+ qs.setCond(5, true);
+ htmltext = event;
+ break;
+ }
+ case "34055-02.html":
+ {
+ qs.setCond(6, true);
+ htmltext = event;
+ break;
+ }
+ case "34056-02.html":
+ {
+ qs.setCond(7, true);
+ htmltext = event;
+ break;
+ }
+ case "34054-10.html":
+ {
+ if (qs.isCond(7))
+ {
+ giveItems(player, RUNE_STONE, 1);
+ giveItems(player, SPELLBOOK_WING_HOUND, 1);
+ addExpAndSp(player, 444428559000L, 444427200);
+ qs.exitQuest(false, true);
+ htmltext = event;
+ }
+ break;
+ }
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onTalk(Npc npc, PlayerInstance player)
+ {
+ final QuestState qs = getQuestState(player, true);
+ String htmltext = getNoQuestMsg(player);
+
+ switch (qs.getState())
+ {
+ case State.CREATED:
+ {
+ if (npc.getId() == FERIN)
+ {
+ htmltext = "34054-01.htm";
+ }
+ break;
+ }
+ case State.STARTED:
+ {
+ switch (npc.getId())
+ {
+ case FERIN:
+ {
+ if (qs.isCond(1))
+ {
+ htmltext = "34054-05.html";
+ }
+ else if (qs.isCond(2))
+ {
+ htmltext = "34054-06.html";
+ }
+ else if (qs.isCond(3))
+ {
+ htmltext = "34054-07.html";
+ }
+ else if (qs.isCond(7))
+ {
+ htmltext = "34054-09.html";
+ }
+ break;
+ }
+ case EUBINA:
+ {
+ if (qs.isCond(3))
+ {
+ htmltext = "34238-01.html";
+ }
+ else if (qs.isCond(4))
+ {
+ htmltext = "34238-03.html";
+ }
+ break;
+ }
+ case ROTOEH:
+ {
+ if (qs.isCond(4))
+ {
+ htmltext = "34239-01.html";
+ }
+ else if (qs.isCond(5))
+ {
+ htmltext = "34239-03.html";
+ }
+ break;
+ }
+ case CYPHONA:
+ {
+ if (qs.isCond(5))
+ {
+ htmltext = "34055-01.html";
+ }
+ else if (qs.isCond(6))
+ {
+ htmltext = "34055-03.html";
+ }
+ break;
+ }
+ case BELAS:
+ {
+ if (qs.isCond(6))
+ {
+ htmltext = "34056-01.html";
+ }
+ else if (qs.isCond(7))
+ {
+ htmltext = "34056-03.html";
+ }
+ break;
+ }
+ }
+ break;
+ }
+ case State.COMPLETED:
+ {
+ htmltext = getAlreadyCompletedMsg(player);
+ break;
+ }
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onKill(Npc npc, PlayerInstance killer, boolean isSummon)
+ {
+ final QuestState qs = getQuestState(killer, false);
+ if ((qs != null) && qs.isCond(1) && killer.isInsideRadius3D(npc, Config.ALT_PARTY_RANGE))
+ {
+ switch (npc.getId())
+ {
+ case FURY_SYLPH_BARRENA_N:
+ case FURY_SYLPH_TEMPTRESS_N:
+ case FURY_SYLPH_PURKA_N:
+ case FURY_KERBEROS_LEGER_N:
+ case FURY_KERBEROS_NERO_N:
+ case KERBEROS_LAGER_N:
+ case KERBEROS_FORT_N:
+ case KERBEROS_NERO_N:
+ {
+ if (getRandom(100) < 99)
+ {
+ giveItems(killer, ENERGY_LADEL_WITH_THE_NIGHTS, 1);
+ playSound(killer, QuestSound.ITEMSOUND_QUEST_ITEMGET);
+ }
+ break;
+ }
+ case FURY_SYLPH_BARRENA:
+ case FURY_SYLPH_TEMPTRESS:
+ case FURY_SYLPH_PURKA:
+ case FURY_KERBEROS_LEGER:
+ case FURY_KERBEROS_NERO:
+ case KERBEROS_LAGER:
+ case KERBEROS_FORT:
+ case KERBEROS_NERO:
+ {
+ if (getRandom(100) < 99)
+ {
+ giveItems(killer, ENERGY_LADEL_WITH_THE_DAYS, 1);
+ playSound(killer, QuestSound.ITEMSOUND_QUEST_ITEMGET);
+ }
+ break;
+ }
+ }
+ if ((getQuestItemsCount(killer, ENERGY_LADEL_WITH_THE_DAYS) >= 1500) && (getQuestItemsCount(killer, ENERGY_LADEL_WITH_THE_NIGHTS) >= 500))
+ {
+ qs.setCond(2, true);
+ }
+ }
+ return super.onKill(npc, killer, isSummon);
+ }
+}
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 2d5152ee22..0cdd83ebb2 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
@@ -142,6 +142,7 @@ import quests.Q00726_LightWithinTheDarkness.Q00726_LightWithinTheDarkness;
import quests.Q00727_HopeWithinTheDarkness.Q00727_HopeWithinTheDarkness;
import quests.Q00737_ASwordHiddenInASmile.Q00737_ASwordHiddenInASmile;
import quests.Q00738_DimensionalExplorationOfTheUnworldlyVisitors.Q00738_DimensionalExplorationOfTheUnworldlyVisitors;
+import quests.Q00743_AtTheAltarOfOblivion.Q00743_AtTheAltarOfOblivion;
import quests.Q00751_LiberatingTheSpirits.Q00751_LiberatingTheSpirits;
import quests.Q00752_UncoverTheSecret.Q00752_UncoverTheSecret;
import quests.Q00753_ReactingToACrisis.Q00753_ReactingToACrisis;
@@ -181,6 +182,7 @@ import quests.Q00903_TheCallOfAntharas.Q00903_TheCallOfAntharas;
import quests.Q00905_RefinedDragonBlood.Q00905_RefinedDragonBlood;
import quests.Q00906_TheCallOfValakas.Q00906_TheCallOfValakas;
import quests.Q00923_ShinedustExtraction.Q00923_ShinedustExtraction;
+import quests.Q00924_GiantOfTheRestorationRoom.Q00924_GiantOfTheRestorationRoom;
import quests.Q00926_30DaySearchOperation.Q00926_30DaySearchOperation;
import quests.Q00928_100DaySubjugationOperation.Q00928_100DaySubjugationOperation;
import quests.Q00931_MemoriesOfTheWind.Q00931_MemoriesOfTheWind;
@@ -311,6 +313,7 @@ import quests.Q10527_TheAssassinationOfTheKetraOrcCommander.Q10527_TheAssassinat
import quests.Q10528_TheAssassinationOfTheKetraOrcChief.Q10528_TheAssassinationOfTheKetraOrcChief;
import quests.Q10530_KekropusLetterTheDragonsTransition.Q10530_KekropusLetterTheDragonsTransition;
import quests.Q10534_HatchlingResearch.Q10534_HatchlingResearch;
+import quests.Q10540_ThwartingMimirsPlan.Q10540_ThwartingMimirsPlan;
import quests.Q10541_TrainLikeTheRealThing.Q10541_TrainLikeTheRealThing;
import quests.Q10542_SearchingForNewPower.Q10542_SearchingForNewPower;
import quests.Q10543_SheddingWeight.Q10543_SheddingWeight;
@@ -423,6 +426,7 @@ import quests.Q10839_BlackbirdsNameValue.Q10839_BlackbirdsNameValue;
import quests.Q10840_TimeToRecover.Q10840_TimeToRecover;
import quests.Q10841_DeepInsideAteliaFortress.Q10841_DeepInsideAteliaFortress;
import quests.Q10843_AnomalyInTheEnchantedValley.Q10843_AnomalyInTheEnchantedValley;
+import quests.Q10849_TrialsForAdaptation.Q10849_TrialsForAdaptation;
import quests.Q10851_ElvenBotany.Q10851_ElvenBotany;
import quests.Q10856_SuperionAppears.Q10856_SuperionAppears;
import quests.custom.Q00589_ASecretChange.Q00589_ASecretChange;
@@ -593,7 +597,7 @@ public class QuestMasterHandler
Q00727_HopeWithinTheDarkness.class,
Q00737_ASwordHiddenInASmile.class,
Q00738_DimensionalExplorationOfTheUnworldlyVisitors.class,
- Q00743_AtTheAltarOfOblivion.class, // TODO: Not done.
+ Q00743_AtTheAltarOfOblivion.class,
Q00744_TheAlligatorHunterReturns.class, // TODO: Not done.
Q00745_TheOutlawsAreIncoming.class, // TODO: Not done.
Q00747_DefendingTheForsakenPlains.class, // TODO: Not done.
@@ -659,7 +663,7 @@ public class QuestMasterHandler
Q00905_RefinedDragonBlood.class,
Q00906_TheCallOfValakas.class,
Q00923_ShinedustExtraction.class,
- Q00924_GiantOfTheRestorationRoom.class, // TODO: Not done.
+ Q00924_GiantOfTheRestorationRoom.class,
Q00926_30DaySearchOperation.class,
Q00928_100DaySubjugationOperation.class,
Q00929_SeekerRescue.class, // TODO: Not done.
@@ -814,7 +818,7 @@ public class QuestMasterHandler
Q10537_KamaelDisarray.class, // TODO: Not done.
Q10538_GiantsEvolution.class, // TODO: Not done.
Q10539_EnergySupplyCutoffPlan.class, // TODO: Not done.
- Q10540_ThwartingMimirsPlan.class, // TODO: Not done.
+ Q10540_ThwartingMimirsPlan.class,
Q10541_TrainLikeTheRealThing.class,
Q10542_SearchingForNewPower.class,
Q10543_SheddingWeight.class,
@@ -957,7 +961,7 @@ public class QuestMasterHandler
Q10845_BloodyBattleRescueTheSmiths.class, // TODO: Not done.
Q10846_BloodyBattleMeetingTheCommander.class, // TODO: Not done.
Q10848_TrialsBeforeTheBattle.class, // TODO: Not done.
- Q10849_TrialsForAdaptation.class, // TODO: Not done.
+ Q10849_TrialsForAdaptation.class,
Q10851_ElvenBotany.class,
Q10852_TheMotherTreeRevivalProject.class, // TODO: Not done.
Q10853_ToWeakenTheGiants.class, // TODO: Not done.
diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/not_done/Q00743_AtTheAltarOfOblivion.java b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/not_done/Q00743_AtTheAltarOfOblivion.java
deleted file mode 100644
index 5abada5823..0000000000
--- a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/not_done/Q00743_AtTheAltarOfOblivion.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
- * This file is part of the L2J Mobius project.
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-package quests.not_done;
-
-import org.l2jmobius.Config;
-import org.l2jmobius.gameserver.model.quest.Quest;
-
-/**
- * @author Mobius
- */
-public class Q00743_AtTheAltarOfOblivion extends Quest
-{
- private static final int START_NPC = 34054;
-
- public Q00743_AtTheAltarOfOblivion()
- {
- super(743);
- addStartNpc(START_NPC);
- addTalkId(START_NPC);
- addCondMinLevel(Config.PLAYER_MAXIMUM_LEVEL, getNoQuestMsg(null));
- }
-}
diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/not_done/Q00924_GiantOfTheRestorationRoom.java b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/not_done/Q00924_GiantOfTheRestorationRoom.java
deleted file mode 100644
index 883bded9b3..0000000000
--- a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/not_done/Q00924_GiantOfTheRestorationRoom.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
- * This file is part of the L2J Mobius project.
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-package quests.not_done;
-
-import org.l2jmobius.Config;
-import org.l2jmobius.gameserver.model.quest.Quest;
-
-/**
- * @author Mobius
- */
-public class Q00924_GiantOfTheRestorationRoom extends Quest
-{
- private static final int START_NPC = 34217;
-
- public Q00924_GiantOfTheRestorationRoom()
- {
- super(924);
- addStartNpc(START_NPC);
- addTalkId(START_NPC);
- addCondMinLevel(Config.PLAYER_MAXIMUM_LEVEL, getNoQuestMsg(null));
- }
-}
diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/not_done/Q10540_ThwartingMimirsPlan.java b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/not_done/Q10540_ThwartingMimirsPlan.java
deleted file mode 100644
index 8ced631154..0000000000
--- a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/not_done/Q10540_ThwartingMimirsPlan.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
- * This file is part of the L2J Mobius project.
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-package quests.not_done;
-
-import org.l2jmobius.Config;
-import org.l2jmobius.gameserver.model.quest.Quest;
-
-/**
- * @author Mobius
- */
-public class Q10540_ThwartingMimirsPlan extends Quest
-{
- private static final int START_NPC = 34237;
-
- public Q10540_ThwartingMimirsPlan()
- {
- super(10540);
- addStartNpc(START_NPC);
- addTalkId(START_NPC);
- addCondMinLevel(Config.PLAYER_MAXIMUM_LEVEL, getNoQuestMsg(null));
- }
-}
diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/not_done/Q10849_TrialsForAdaptation.java b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/not_done/Q10849_TrialsForAdaptation.java
deleted file mode 100644
index 636edba9ac..0000000000
--- a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/not_done/Q10849_TrialsForAdaptation.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
- * This file is part of the L2J Mobius project.
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-package quests.not_done;
-
-import org.l2jmobius.Config;
-import org.l2jmobius.gameserver.model.quest.Quest;
-
-/**
- * @author Mobius
- */
-public class Q10849_TrialsForAdaptation extends Quest
-{
- private static final int START_NPC = 34054;
-
- public Q10849_TrialsForAdaptation()
- {
- super(10849);
- addStartNpc(START_NPC);
- addTalkId(START_NPC);
- addCondMinLevel(Config.PLAYER_MAXIMUM_LEVEL, getNoQuestMsg(null));
- }
-}
diff --git a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/MissingQuests.txt b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/MissingQuests.txt
index 68dfe8e1a0..b7f16b72a1 100644
--- a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/MissingQuests.txt
+++ b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/MissingQuests.txt
@@ -91,7 +91,6 @@
734 Red Libra Request - Nightmare Kamaloka
735 Red Libra Request - Embryo Command Post
736 Red Libra Request - Altar of Shilen
-743 At the Altar of Oblivion
744 The Alligator Hunter returns
745 The Outlaws are Incoming
747 Defending the Forsaken Plains
@@ -148,7 +147,6 @@
918 Red Libra Request - Atelia Fortress
919 Red Libra Request - Superion
922 Hunter Guild Request - Northern Region, Isle of Prayer
-924 Giant of the Restoration Room
925 Hunter Guild Request - Garden of Spirits
929 Seeker Rescue
930 Disparaging the Phantoms
@@ -173,7 +171,6 @@
10537 Kamael Disarray To Retbach
10538 Giant's Evolution Cause of failed evolution
10539 Energy Supply Cutoff Plan Defeat Halisha's Henchman
-10540 Thwarting Mimir's Plan Defeating Mimir
10552 Challenge! Balthus Knight!
10553 What Matters More Than Ability
10554 Gift for You
@@ -208,7 +205,6 @@
10845 Bloody Battle - Rescue the Smiths
10846 Bloody Battle - Meeting the Commander
10848 Trials before the Battle
-10849 Trials for Adaptation
10852 The Mother Tree Revival Project
10853 To Weaken the Giants
10854 To Seize the Fortress
diff --git a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00743_AtTheAltarOfOblivion/34054-00.htm b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00743_AtTheAltarOfOblivion/34054-00.htm
new file mode 100644
index 0000000000..3dd4107573
--- /dev/null
+++ b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00743_AtTheAltarOfOblivion/34054-00.htm
@@ -0,0 +1,4 @@
+Ferin:
+You think you are enough? Well, I can't agree to that.
+(This quest is for characters level 100 and higher who have completed the "Unbelievable Sight" quest.)
+
\ No newline at end of file
diff --git a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00743_AtTheAltarOfOblivion/34054-01.htm b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00743_AtTheAltarOfOblivion/34054-01.htm
new file mode 100644
index 0000000000..19326eb750
--- /dev/null
+++ b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00743_AtTheAltarOfOblivion/34054-01.htm
@@ -0,0 +1,4 @@
+Ferin:
+I've done some research with the items we got from defeating El Floato. It looks like the spirits have been affected by the same power that forcefully brought the Garden of Spirits. In other words, they've been forcefully awakened and are now unstable. In order to stabilize themselves, they are affecting their surroundings negatively.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00743_AtTheAltarOfOblivion/34054-02.htm b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00743_AtTheAltarOfOblivion/34054-02.htm
new file mode 100644
index 0000000000..42071eb261
--- /dev/null
+++ b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00743_AtTheAltarOfOblivion/34054-02.htm
@@ -0,0 +1,4 @@
+Ferin:
+However, that's just a description of the phenomena. It doesn't help us in finding out how to go back to our realm. It might be more effective if a creature with a more powerful energy is defeated.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00743_AtTheAltarOfOblivion/34054-03.htm b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00743_AtTheAltarOfOblivion/34054-03.htm
new file mode 100644
index 0000000000..6ad7c728f6
--- /dev/null
+++ b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00743_AtTheAltarOfOblivion/34054-03.htm
@@ -0,0 +1,4 @@
+Ferin:
+You might think that I'm stubborn. But please understand where I'm coming from. Will you help me? Even if it might be dangerous.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00743_AtTheAltarOfOblivion/34054-04.htm b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00743_AtTheAltarOfOblivion/34054-04.htm
new file mode 100644
index 0000000000..fa03d04972
--- /dev/null
+++ b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00743_AtTheAltarOfOblivion/34054-04.htm
@@ -0,0 +1,3 @@
+Ferin:
+Defeat Harpe in the Garden of Spirits to can obtain Sad Energy and Angry Energy. If you bring me those, I'll be able to find out about their sadness and anger. It will be really helpful for my research.
+
\ No newline at end of file
diff --git a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00743_AtTheAltarOfOblivion/34054-05.html b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00743_AtTheAltarOfOblivion/34054-05.html
new file mode 100644
index 0000000000..4b1d311a70
--- /dev/null
+++ b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00743_AtTheAltarOfOblivion/34054-05.html
@@ -0,0 +1,3 @@
+Ferin:
+It's said that when you defeat Harpe, you can obtain Sad Energy and Angry Energy. If you bring me those, I'll be able to find out about their sadness and anger. It will be really helpful for my research.
+
\ No newline at end of file
diff --git a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00743_AtTheAltarOfOblivion/34054-06.html b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00743_AtTheAltarOfOblivion/34054-06.html
new file mode 100644
index 0000000000..873deedee9
--- /dev/null
+++ b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00743_AtTheAltarOfOblivion/34054-06.html
@@ -0,0 +1,4 @@
+Ferin:
+Did you finish the mission? Great.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00743_AtTheAltarOfOblivion/34054-07.html b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00743_AtTheAltarOfOblivion/34054-07.html
new file mode 100644
index 0000000000..33b4808a43
--- /dev/null
+++ b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00743_AtTheAltarOfOblivion/34054-07.html
@@ -0,0 +1,3 @@
+Ferin:
+Great. Ferin will know what to do after seeing the results of the investigation. Go talk to Ferin. Keep in mind that you must build trust first.
+
\ No newline at end of file
diff --git a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00743_AtTheAltarOfOblivion/Q00743_AtTheAltarOfOblivion.java b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00743_AtTheAltarOfOblivion/Q00743_AtTheAltarOfOblivion.java
new file mode 100644
index 0000000000..b179fc5190
--- /dev/null
+++ b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00743_AtTheAltarOfOblivion/Q00743_AtTheAltarOfOblivion.java
@@ -0,0 +1,230 @@
+/*
+ * 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.Q00743_AtTheAltarOfOblivion;
+
+import org.l2jmobius.gameserver.enums.Faction;
+import org.l2jmobius.gameserver.enums.QuestSound;
+import org.l2jmobius.gameserver.enums.QuestType;
+import org.l2jmobius.gameserver.model.actor.Npc;
+import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
+import org.l2jmobius.gameserver.model.events.EventType;
+import org.l2jmobius.gameserver.model.events.ListenerRegisterType;
+import org.l2jmobius.gameserver.model.events.annotations.Id;
+import org.l2jmobius.gameserver.model.events.annotations.RegisterEvent;
+import org.l2jmobius.gameserver.model.events.annotations.RegisterType;
+import org.l2jmobius.gameserver.model.events.impl.creature.player.OnPlayerItemAdd;
+import org.l2jmobius.gameserver.model.quest.Quest;
+import org.l2jmobius.gameserver.model.quest.QuestState;
+import org.l2jmobius.gameserver.model.quest.State;
+
+import quests.Q10832_EnergyOfSadnessAndAnger.Q10832_EnergyOfSadnessAndAnger;
+
+/**
+ * At the Altar of Oblivion (743)
+ * @URL https://l2wiki.com/At_the_Altar_of_Oblivion
+ * @author Dmitri
+ */
+public class Q00743_AtTheAltarOfOblivion extends Quest
+{
+ // NPC
+ private static final int FERIN = 34054;
+ // Monsters
+ private static final int HARPE = 23561;
+ private static final int HARPE1 = 23562;
+ private static final int KERBEROS_LAGER_N = 23550; // (night)
+ private static final int KERBEROS_LAGER = 23541;
+ private static final int KERBEROS_FORT_N = 23551; // (night)
+ private static final int KERBEROS_FORT = 23542;
+ private static final int KERBEROS_NERO_N = 23552; // (night)
+ private static final int KERBEROS_NERO = 23543;
+ private static final int FURY_SYLPH_BARRENA_N = 23553; // (night)
+ private static final int FURY_SYLPH_BARRENA = 23544;
+ private static final int FURY_SYLPH_TEMPTRESS_N = 23555; // (night)
+ private static final int FURY_SYLPH_TEMPTRESS = 23546;
+ private static final int FURY_SYLPH_PURKA_N = 23556; // (night)
+ private static final int FURY_SYLPH_PURKA = 23547;
+ private static final int FURY_KERBEROS_LEGER_N = 23557; // (night)
+ private static final int FURY_KERBEROS_LEGER = 23545;
+ private static final int FURY_KERBEROS_NERO_N = 23558; // (night)
+ private static final int FURY_KERBEROS_NERO = 23549;
+ // Items
+ private static final int ESSENCE_OF_EVIL_THOUGHTS = 48006;
+ // Reward
+ private static final int WIND_CRYSTAL = 47259;
+ // Misc
+ private static final int MIN_LEVEL = 102;
+
+ public Q00743_AtTheAltarOfOblivion()
+ {
+ super(743);
+ addStartNpc(FERIN);
+ addTalkId(FERIN);
+ addKillId(HARPE, HARPE1);
+ addKillId(KERBEROS_LAGER, KERBEROS_LAGER_N, KERBEROS_FORT, KERBEROS_FORT_N, KERBEROS_NERO, KERBEROS_NERO_N, FURY_SYLPH_BARRENA, FURY_SYLPH_BARRENA_N, FURY_SYLPH_TEMPTRESS, FURY_SYLPH_TEMPTRESS_N, FURY_SYLPH_PURKA, FURY_SYLPH_PURKA_N, FURY_KERBEROS_LEGER, FURY_KERBEROS_LEGER_N, FURY_KERBEROS_NERO, FURY_KERBEROS_NERO_N);
+ registerQuestItems(ESSENCE_OF_EVIL_THOUGHTS);
+ addCondMinLevel(MIN_LEVEL, "34054-00.htm");
+ addCondCompletedQuest(Q10832_EnergyOfSadnessAndAnger.class.getSimpleName(), "34054-00.htm");
+ addFactionLevel(Faction.UNWORLDLY_VISITORS, 4, "34054-00.htm");
+ }
+
+ @Override
+ public String onAdvEvent(String event, Npc npc, PlayerInstance player)
+ {
+ String htmltext = null;
+ final QuestState qs = getQuestState(player, false);
+ if (qs == null)
+ {
+ return htmltext;
+ }
+
+ switch (event)
+ {
+ case "34054-02.htm":
+ case "34054-03.htm":
+ {
+ htmltext = event;
+ break;
+ }
+ case "34054-04.htm":
+ {
+ qs.startQuest();
+ htmltext = event;
+ break;
+ }
+ case "34054-07.html":
+ {
+ giveItems(player, WIND_CRYSTAL, 3);
+ addExpAndSp(player, 5555356987L, 5555340);
+ addFactionPoints(player, Faction.UNWORLDLY_VISITORS, 100);
+ qs.exitQuest(false, true);
+ htmltext = event;
+ break;
+ }
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onTalk(Npc npc, PlayerInstance player)
+ {
+ final QuestState qs = getQuestState(player, true);
+ String htmltext = getNoQuestMsg(player);
+
+ switch (qs.getState())
+ {
+ case State.CREATED:
+ {
+ htmltext = "34054-01.htm";
+ break;
+ }
+ case State.STARTED:
+ {
+ if (qs.isCond(1))
+ {
+ htmltext = "34054-05.html";
+ }
+ else
+ {
+ htmltext = "34054-06.html";
+ }
+ break;
+ }
+ case State.COMPLETED:
+ {
+ if (!qs.isNowAvailable())
+ {
+ htmltext = getAlreadyCompletedMsg(player, QuestType.DAILY);
+ }
+ else
+ {
+ qs.setState(State.CREATED);
+ htmltext = "34054-01.htm";
+ }
+ break;
+ }
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onKill(Npc npc, PlayerInstance killer, boolean isSummon)
+ {
+ final QuestState qs = getQuestState(killer, false);
+ if ((qs != null) && qs.isCond(1))
+ {
+ switch (npc.getId())
+ {
+ case FURY_SYLPH_BARRENA_N:
+ case FURY_SYLPH_TEMPTRESS_N:
+ case FURY_SYLPH_PURKA_N:
+ case FURY_KERBEROS_LEGER_N:
+ case FURY_KERBEROS_NERO_N:
+ case KERBEROS_LAGER_N:
+ case KERBEROS_FORT_N:
+ case KERBEROS_NERO_N:
+ {
+ if (getRandom(100) < 2)
+ {
+ final Npc mob = addSpawn(HARPE, npc.getX(), npc.getY(), npc.getZ(), 0, true, 120000);
+ addAttackPlayerDesire(mob, killer, 5);
+ }
+ break;
+ }
+ case FURY_SYLPH_BARRENA:
+ case FURY_SYLPH_TEMPTRESS:
+ case FURY_SYLPH_PURKA:
+ case FURY_KERBEROS_LEGER:
+ case FURY_KERBEROS_NERO:
+ case KERBEROS_LAGER:
+ case KERBEROS_FORT:
+ case KERBEROS_NERO:
+ {
+ if (getRandom(100) < 2)
+ {
+ final Npc mob = addSpawn(HARPE1, npc.getX(), npc.getY(), npc.getZ(), 0, true, 120000);
+ addAttackPlayerDesire(mob, killer, 5);
+ }
+ break;
+ }
+ case HARPE1:
+ case HARPE:
+ {
+ if ((getRandom(100) < 15) && !hasQuestItems(killer, ESSENCE_OF_EVIL_THOUGHTS))
+ {
+ giveItems(killer, ESSENCE_OF_EVIL_THOUGHTS, 1);
+ playSound(killer, QuestSound.ITEMSOUND_QUEST_ITEMGET);
+ }
+ break;
+ }
+ }
+ }
+ return super.onKill(npc, killer, isSummon);
+ }
+
+ @RegisterEvent(EventType.ON_PLAYER_ITEM_ADD)
+ @RegisterType(ListenerRegisterType.ITEM)
+ @Id(ESSENCE_OF_EVIL_THOUGHTS)
+ public void onItemAdd(OnPlayerItemAdd event)
+ {
+ final PlayerInstance player = event.getPlayer();
+ final QuestState qs = getQuestState(player, false);
+ if ((qs != null) && (qs.isCond(1)) && (hasQuestItems(player, ESSENCE_OF_EVIL_THOUGHTS)))
+ {
+ qs.setCond(2, true);
+ }
+ }
+}
\ No newline at end of file
diff --git a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-00.htm b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-00.htm
new file mode 100644
index 0000000000..94488269d6
--- /dev/null
+++ b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-00.htm
@@ -0,0 +1,4 @@
+Fire Dragon Bride Leona Blackbird:
+Hellbound is too dangerous for you. Please leave.
+(Only characters Lv. 100.)
+
\ No newline at end of file
diff --git a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-01.htm b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-01.htm
new file mode 100644
index 0000000000..a7fb6ecd9c
--- /dev/null
+++ b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-01.htm
@@ -0,0 +1,6 @@
+Master Cyphona:
+Ah, adventurer! There you are again. How about helping us some more? if you do, you can deepen the mutual trust with us and Ferin.
+What do you say? if you don't remember what to do, I can tell you again.
+
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-01a.htm b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-01a.htm
new file mode 100644
index 0000000000..397d8fb676
--- /dev/null
+++ b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-01a.htm
@@ -0,0 +1,6 @@
+Master Cyphona:
+Ah, adventurer! There you are again. How about helping us some more?
+What do you say? If you don't remember what the mission was, I can tell you again.
+
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-01b.htm b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-01b.htm
new file mode 100644
index 0000000000..fc7418b997
--- /dev/null
+++ b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-01b.htm
@@ -0,0 +1,6 @@
+Master Cyphona:
+Adventurer! Good to see you. Since you've helped us so much already, how about helping us some more?
+What do you say? If you don't remember what the mission was, I can tell you again.
+
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-01c.htm b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-01c.htm
new file mode 100644
index 0000000000..1f85cc8125
--- /dev/null
+++ b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-01c.htm
@@ -0,0 +1,5 @@
+Master Cyphona:
+I've been waiting for you, adventurer. Well since you are here now, will you listen to me? I know I can trust you, but if you complete this mission, we'll become better allies and your pockets will get heavier. What do you say? Or do you need me to explain the mission again?
+
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-02.htm b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-02.htm
new file mode 100644
index 0000000000..6879bbcabb
--- /dev/null
+++ b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-02.htm
@@ -0,0 +1,4 @@
+Master Cyphona:
+We've begun an investigation in the Garden of Spirits starting from here. However, we are being threatened by the spirits there, so something must be done.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-03.htm b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-03.htm
new file mode 100644
index 0000000000..d6a25e8d70
--- /dev/null
+++ b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-03.htm
@@ -0,0 +1,6 @@
+Master Cyphona:
+We know of a way to defeat those spirits, at least temporarily. This way, we'll be able to put the spirits at rest, even if it's just for a little while.
+Of course, we will give you a reward for your help. And there is one more thing. While you are helping us, you'll build trust with us. The more we trust you, the more rewards we will give you, and there are some secret missions that we only give to those we trust.
+That's about it.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-04.htm b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-04.htm
new file mode 100644
index 0000000000..f3808e4d70
--- /dev/null
+++ b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-04.htm
@@ -0,0 +1,9 @@
+Master Cyphona:
+Good. Let me tell you what to do. Just choose the mission that you are capable of doing.
+Basic Mission - Collect 200 Mutated Spirit's Souls.
+Intermediate Mission - Collect 400 Mutated Spirit's Souls.
+Advanced Mission - Collect 600 Mutated Spirit's Souls.
+
+
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-04.html b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-04.html
new file mode 100644
index 0000000000..e2b6f8efc1
--- /dev/null
+++ b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-04.html
@@ -0,0 +1,6 @@
+Master Cyphona:
+This isn't the first time we've met? You've completed a mission before? I see... Well, I don't really have a good memory.
+If you have completed a mission before, then that means you must have a Mark of Trust. What? You don't have one?
+Then you are either a liar, or you haven't been here in a long time. My trust is something you must continously try to maintain. Will you listen to me?
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-04a.htm b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-04a.htm
new file mode 100644
index 0000000000..fa54a706f8
--- /dev/null
+++ b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-04a.htm
@@ -0,0 +1,9 @@
+Master Cyphona:
+Good. Let me tell you what to do. Just choose the mission that you are capable of doing.
+Basic Mission - Collect 200 Mutated Spirit's Souls.
+Intermediate Mission - Collect 400 Mutated Spirit's Souls.
+Advanced Mission - Collect 600 Mutated Spirit's Souls.
+
+
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-04b.htm b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-04b.htm
new file mode 100644
index 0000000000..e373de00b7
--- /dev/null
+++ b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-04b.htm
@@ -0,0 +1,9 @@
+Master Cyphona:
+Good. Let me tell you what to do. Just choose the mission that you are capable of doing.
+Basic Mission - Collect 150 Mutated Spirit's Souls.
+Intermediate Mission - Collect 300 Mutated Spirit's Souls.
+Advanced Mission - Collect 450 Mutated Spirit's Souls.
+
+
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-05.htm b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-05.htm
new file mode 100644
index 0000000000..9041babe57
--- /dev/null
+++ b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-05.htm
@@ -0,0 +1,3 @@
+Master Cyphona:
+Alright. Here's the mission. Hunt the Kerberos Leger, Kerberos Fort, Kerberos Nero, Fury Sylph Barrena, Fury Sylph Labido, Fury Sylph Purka, Fury Kerberos Leger, and the Fury Kerberos Nero, and collect their Mutated Spirit's Souls as proof. You can get rewards only if you bring at least 200. Of course, you'll get more rewards if you bring more.
+
\ No newline at end of file
diff --git a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-05.html b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-05.html
new file mode 100644
index 0000000000..f42c41b57c
--- /dev/null
+++ b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-05.html
@@ -0,0 +1,3 @@
+Master Cyphona:
+Your Unworldly Visitors Faction Level Must be 1 or above may undertake this mission.
+
\ No newline at end of file
diff --git a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-05a.html b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-05a.html
new file mode 100644
index 0000000000..9ab05d1b14
--- /dev/null
+++ b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-05a.html
@@ -0,0 +1,3 @@
+Master Cyphona:
+Your Unworldly Visitors Faction Level Must be 3 or above may undertake this mission.
+
\ No newline at end of file
diff --git a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-06.html b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-06.html
new file mode 100644
index 0000000000..89f018709e
--- /dev/null
+++ b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-06.html
@@ -0,0 +1,6 @@
+Master Cyphona:
+You have chosen the basic mission to collect 200 Mutated Spirit's Souls. Once you have selected the difficulty of the mission, you must meet the requirements in order to complete it. Choose wisely.
+Are you sure you want to proceed with this mission?
+
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-06a.html b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-06a.html
new file mode 100644
index 0000000000..035e91f528
--- /dev/null
+++ b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-06a.html
@@ -0,0 +1,6 @@
+Master Cyphona:
+You have chosen the intermediate mission to collect 400 Mutated Spirit's Souls. Once you have selected the difficulty of the mission, you must meet the requirements in order to complete it. Choose wisely.
+Are you sure you want to proceed with this mission?
+
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-06b.html b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-06b.html
new file mode 100644
index 0000000000..8e6443ad89
--- /dev/null
+++ b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-06b.html
@@ -0,0 +1,6 @@
+Master Cyphona:
+You have chosen the advanced mission to collect 450 Mutated Spirit's Souls. Once you have selected the difficulty of the mission, you must meet the requirements in order to complete it. Choose wisely.
+Are you sure you want to proceed with this mission?
+
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-07.html b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-07.html
new file mode 100644
index 0000000000..76cd4c2418
--- /dev/null
+++ b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-07.html
@@ -0,0 +1,4 @@
+Master Cyphona:
+Good. Left me explain the details. Go to the Garden of Spirits, defeat the Kerberos Lager, Kerberos Fort, Kerberos Nero, Fury Sylph Barrena, Fury Sylph Labido, Fury Sylph Purka, Fury Kerberos Leger, and Fury Kerberos Nero, and put them to rest.
+As evidence, please bring back 200 Mutated Spirit's Souls. It should be manageable.
+
\ No newline at end of file
diff --git a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-07a.html b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-07a.html
new file mode 100644
index 0000000000..349c04b27d
--- /dev/null
+++ b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-07a.html
@@ -0,0 +1,4 @@
+Master Cyphona:
+Good. Left me explain the details. Go to the Garden of Spirits, defeat the Kerberos Lager, Kerberos Fort, Kerberos Nero, Fury Sylph Barrena, Fury Sylph Labido, Fury Sylph Purka, Fury Kerberos Leger, and Fury Kerberos Nero, and put them to rest.
+As evidence, please bring back 400 Mutated Spirit's Souls. It should be manageable.
+
\ No newline at end of file
diff --git a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-07b.html b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-07b.html
new file mode 100644
index 0000000000..d943aec768
--- /dev/null
+++ b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-07b.html
@@ -0,0 +1,4 @@
+Master Cyphona:
+Good. Left me explain the details. Go to the Garden of Spirits, defeat the Kerberos Lager, Kerberos Fort, Kerberos Nero, Fury Sylph Barrena, Fury Sylph Labido, Fury Sylph Purka, Fury Kerberos Leger, and Fury Kerberos Nero, and put them to rest.
+As evidence, please bring back 600 Mutated Spirit's Souls. It should be manageable.
+
\ No newline at end of file
diff --git a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-07c.html b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-07c.html
new file mode 100644
index 0000000000..5ebd96f89a
--- /dev/null
+++ b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-07c.html
@@ -0,0 +1,5 @@
+Master Cyphona:
+You want to finish already? Well, I can still give you a reward... But it won't be something good. Are you sure?
+
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-08.html b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-08.html
new file mode 100644
index 0000000000..038165ac20
--- /dev/null
+++ b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-08.html
@@ -0,0 +1,3 @@
+Master Cyphona:
+Go to the Garden of Spirits and defeat all type monsters until you collect 200 Mutated Spirit's Souls.
+
\ No newline at end of file
diff --git a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-08a.html b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-08a.html
new file mode 100644
index 0000000000..7ea73a66a6
--- /dev/null
+++ b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-08a.html
@@ -0,0 +1,3 @@
+Master Cyphona:
+Go to the Garden of Spirits and defeat all type monsters until you collect 400 Mutated Spirit's Souls.
+
\ No newline at end of file
diff --git a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-08b.html b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-08b.html
new file mode 100644
index 0000000000..f7b616df5a
--- /dev/null
+++ b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-08b.html
@@ -0,0 +1,3 @@
+Master Cyphona:
+Go to the Garden of Spirits and defeat all type monsters until you collect 600 Mutated Spirit's Souls.
+
\ No newline at end of file
diff --git a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-09.html b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-09.html
new file mode 100644
index 0000000000..8c94161d3a
--- /dev/null
+++ b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-09.html
@@ -0,0 +1,6 @@
+Master Cyphona:
+Toy have collected all of the Mutated Spirit's Souls. You have completed the mission successfully.
+I would like to congratulate you on completing the mission. Here's your reward. If you have a Faction Amity Token, I can give You more rewards.
+
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-09a.html b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-09a.html
new file mode 100644
index 0000000000..91721d4da1
--- /dev/null
+++ b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-09a.html
@@ -0,0 +1,4 @@
+Master Cyphona:
+You completed the mission!
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-09b.html b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-09b.html
new file mode 100644
index 0000000000..4a6e6cb936
--- /dev/null
+++ b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-09b.html
@@ -0,0 +1,4 @@
+Master Cyphona:
+You completed the mission!
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-09c.html b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-09c.html
new file mode 100644
index 0000000000..fb74a1cd53
--- /dev/null
+++ b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-09c.html
@@ -0,0 +1,4 @@
+Master Cyphona:
+You completed the mission!
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-10.html b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-10.html
new file mode 100644
index 0000000000..ec3450a5fc
--- /dev/null
+++ b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-10.html
@@ -0,0 +1,4 @@
+Master Cyphona:
+Here is your reward. This will also help to improve the trust between you and us at the Unworldly Visitors.
+As long as you don't forget us, that is. We thank you for your hard work.
+
\ No newline at end of file
diff --git a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-10a.html b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-10a.html
new file mode 100644
index 0000000000..2bf94feff3
--- /dev/null
+++ b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-10a.html
@@ -0,0 +1,3 @@
+Master Cyphona:
+Here's your reward. We'll be able to maintain our trust. As long as you don't forget about us, that is.
+
\ No newline at end of file
diff --git a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-10b.html b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-10b.html
new file mode 100644
index 0000000000..c2f962f4f2
--- /dev/null
+++ b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-10b.html
@@ -0,0 +1,3 @@
+Master Cyphona:
+Here's your reward, I'll remember how you've helped us all those times. Here's a higher level Mark of Trust. Thank you for all of your help.
+
\ No newline at end of file
diff --git a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-10c.html b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-10c.html
new file mode 100644
index 0000000000..aacd7919d3
--- /dev/null
+++ b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-10c.html
@@ -0,0 +1,3 @@
+Master Cyphona:
+Here's your reward for helping us. Although you didn't get all the Marks, I still remember how you helped us. I have no doubt the trust between us has deepened even more.
+
\ No newline at end of file
diff --git a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/Q00924_GiantOfTheRestorationRoom.java b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/Q00924_GiantOfTheRestorationRoom.java
new file mode 100644
index 0000000000..90e05f6829
--- /dev/null
+++ b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/Q00924_GiantOfTheRestorationRoom.java
@@ -0,0 +1,368 @@
+/*
+ * 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.Q00924_GiantOfTheRestorationRoom;
+
+import java.util.HashSet;
+import java.util.Set;
+
+import org.l2jmobius.gameserver.enums.Faction;
+import org.l2jmobius.gameserver.enums.QuestSound;
+import org.l2jmobius.gameserver.enums.QuestType;
+import org.l2jmobius.gameserver.model.actor.Npc;
+import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
+import org.l2jmobius.gameserver.model.holders.NpcLogListHolder;
+import org.l2jmobius.gameserver.model.quest.Quest;
+import org.l2jmobius.gameserver.model.quest.QuestState;
+import org.l2jmobius.gameserver.model.quest.State;
+import org.l2jmobius.gameserver.network.NpcStringId;
+
+/**
+ * Giant of the Restoration Room (924)
+ * @URL https://l2wiki.com/Recovered_Giants
+ * @author Dmitri
+ */
+public class Q00924_GiantOfTheRestorationRoom extends Quest
+{
+ // NPCs
+ private static final int SHUMADRIBA = 34217;
+ // Monsters
+ private static final int[] MONSTERS =
+ {
+ 23727, // Shaqrima Bathus
+ 23728, // Shaqrima Carcass
+ 23729, // Shaqrima Kshana
+ 23750 // Shaqrima Lucas
+ };
+ // Items
+ private static final int BASIC_SUPPLY_BOX = 47359;
+ private static final int INTERMEDIATE_SUPPLY_BOX = 47360;
+ private static final int ADVANCED_SUPPLY_BOX = 47361;
+ // Misc
+ private static final int KILLING_NPCSTRING_ID = NpcStringId.ELIMINATE_THE_GIANT.getId();
+ private static final boolean PARTY_QUEST = true;
+ private static final int MIN_LEVEL = 100;
+
+ public Q00924_GiantOfTheRestorationRoom()
+ {
+ super(924);
+ addStartNpc(SHUMADRIBA);
+ addTalkId(SHUMADRIBA);
+ addKillId(MONSTERS);
+ addCondMinLevel(MIN_LEVEL, "34217-00.htm");
+ }
+
+ @Override
+ public String onAdvEvent(String event, Npc npc, PlayerInstance player)
+ {
+ String htmltext = null;
+ final QuestState qs = getQuestState(player, false);
+ if (qs == null)
+ {
+ return htmltext;
+ }
+
+ switch (event)
+ {
+ case "34217-02.htm":
+ case "34217-03.htm":
+ case "34217-04.htm":
+ case "34217-04a.htm":
+ case "34217-04b.htm":
+ case "34217-06.html":
+ case "34217-06a.html":
+ case "34217-06b.html":
+ {
+ htmltext = event;
+ break;
+ }
+ case "select_mission":
+ {
+ qs.startQuest();
+ if ((player.getFactionLevel(Faction.GIANT_TRACKERS) >= 1) && (player.getFactionLevel(Faction.GIANT_TRACKERS) < 3))
+ {
+ htmltext = "34217-04a.htm";
+ break;
+ }
+ else if (player.getFactionLevel(Faction.GIANT_TRACKERS) >= 3)
+ {
+ htmltext = "34217-04b.htm";
+ break;
+ }
+ htmltext = "34217-04.htm";
+ break;
+ }
+ case "return":
+ {
+ if ((player.getFactionLevel(Faction.GIANT_TRACKERS) >= 1) && (player.getFactionLevel(Faction.GIANT_TRACKERS) < 3))
+ {
+ htmltext = "34217-04a.htm";
+ break;
+ }
+ else if (player.getFactionLevel(Faction.GIANT_TRACKERS) >= 3)
+ {
+ htmltext = "34217-04b.htm";
+ break;
+ }
+ htmltext = "34217-04.htm";
+ break;
+ }
+ case "34217-07.html":
+ {
+ qs.setCond(2, true);
+ htmltext = event;
+ break;
+ }
+ case "34217-07a.html":
+ {
+ qs.setCond(3, true);
+ htmltext = event;
+ break;
+ }
+ case "34217-07b.html":
+ {
+ qs.setCond(4, true);
+ htmltext = event;
+ break;
+ }
+ case "34217-10.html":
+ {
+ final int chance = getRandom(100);
+ switch (qs.getCond())
+ {
+ case 5:
+ {
+ if (player.getLevel() >= MIN_LEVEL)
+ {
+ if (chance < 2)
+ {
+ giveItems(player, ADVANCED_SUPPLY_BOX, 1);
+ }
+ else if (chance < 20)
+ {
+ giveItems(player, INTERMEDIATE_SUPPLY_BOX, 1);
+ }
+ else if (chance < 100)
+ {
+ giveItems(player, BASIC_SUPPLY_BOX, 1);
+ }
+ addExpAndSp(player, 14_831_100_000L, 14_831_100);
+ addFactionPoints(player, Faction.GIANT_TRACKERS, 100);
+ qs.exitQuest(QuestType.DAILY, true);
+ htmltext = event;
+ }
+ else
+ {
+ htmltext = getNoQuestLevelRewardMsg(player);
+ }
+ break;
+ }
+ case 6:
+ {
+ if (player.getLevel() >= MIN_LEVEL)
+ {
+ if (chance < 2)
+ {
+ giveItems(player, ADVANCED_SUPPLY_BOX, 1);
+ }
+ else if (chance < 20)
+ {
+ giveItems(player, BASIC_SUPPLY_BOX, 1);
+ }
+ else if (chance < 100)
+ {
+ giveItems(player, INTERMEDIATE_SUPPLY_BOX, 1);
+ }
+ addExpAndSp(player, 29_662_200_000L, 29_662_200);
+ addFactionPoints(player, Faction.GIANT_TRACKERS, 200);
+ qs.exitQuest(QuestType.DAILY, true);
+ htmltext = event;
+ }
+ else
+ {
+ htmltext = getNoQuestLevelRewardMsg(player);
+ }
+ break;
+ }
+ case 7:
+ {
+ if (player.getLevel() >= MIN_LEVEL)
+ {
+ if (chance < 2)
+ {
+ giveItems(player, BASIC_SUPPLY_BOX, 1);
+ }
+ else if (chance < 20)
+ {
+ giveItems(player, INTERMEDIATE_SUPPLY_BOX, 1);
+ }
+ else if (chance < 100)
+ {
+ giveItems(player, ADVANCED_SUPPLY_BOX, 1);
+ }
+ addExpAndSp(player, 44_493_300_000L, 44_493_300);
+ addFactionPoints(player, Faction.GIANT_TRACKERS, 300);
+ qs.exitQuest(QuestType.DAILY, true);
+ htmltext = event;
+ }
+ else
+ {
+ htmltext = getNoQuestLevelRewardMsg(player);
+ }
+ break;
+ }
+ }
+ break;
+ }
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onTalk(Npc npc, PlayerInstance player)
+ {
+ final QuestState qs = getQuestState(player, true);
+ String htmltext = getNoQuestMsg(player);
+
+ switch (qs.getState())
+ {
+ case State.CREATED:
+ {
+ htmltext = "34217-01.htm";
+ }
+ case State.STARTED:
+ {
+ switch (qs.getCond())
+ {
+ case 1:
+ {
+ if ((player.getFactionLevel(Faction.GIANT_TRACKERS) >= 1) && (player.getFactionLevel(Faction.GIANT_TRACKERS) < 3))
+ {
+ htmltext = "34217-04a.htm";
+ break;
+ }
+ else if (player.getFactionLevel(Faction.GIANT_TRACKERS) >= 3)
+ {
+ htmltext = "34217-04b.htm";
+ break;
+ }
+ htmltext = "34217-04.htm";
+ break;
+ }
+ case 2:
+ {
+ htmltext = "34217-08.html";
+ break;
+ }
+ case 3:
+ {
+ htmltext = "34217-08a.html";
+ break;
+ }
+ case 4:
+ {
+ htmltext = "34217-08b.html";
+ break;
+ }
+ case 5:
+ case 6:
+ case 7:
+ {
+ htmltext = "34217-09.html";
+ break;
+ }
+ }
+ break;
+ }
+ case State.COMPLETED:
+ {
+ if (!qs.isNowAvailable())
+ {
+ htmltext = getAlreadyCompletedMsg(player, QuestType.DAILY);
+ }
+ else
+ {
+ qs.setState(State.CREATED);
+ htmltext = "34217-01.htm";
+ }
+ break;
+ }
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onKill(Npc npc, PlayerInstance killer, boolean isSummon)
+ {
+ final QuestState qs = PARTY_QUEST ? getRandomPartyMemberState(killer, -1, 3, npc) : getQuestState(killer, false);
+ if ((qs != null) && (qs.getCond() > 1))
+ {
+ switch (qs.getCond())
+ {
+ case 2:
+ {
+ final int killedGhosts = qs.getInt("AncientGhosts") + 1;
+ qs.set("AncientGhosts", killedGhosts);
+ playSound(killer, QuestSound.ITEMSOUND_QUEST_ITEMGET);
+
+ if (killedGhosts >= 100)
+ {
+ qs.setCond(5, true);
+ }
+ break;
+ }
+ case 3:
+ {
+ final int killedGhosts = qs.getInt("AncientGhosts") + 1;
+ qs.set("AncientGhosts", killedGhosts);
+ playSound(killer, QuestSound.ITEMSOUND_QUEST_ITEMGET);
+
+ if (killedGhosts >= 200)
+ {
+ qs.setCond(6, true);
+ }
+ break;
+ }
+ case 4:
+ {
+ final int killedGhosts = qs.getInt("AncientGhosts") + 1;
+ qs.set("AncientGhosts", killedGhosts);
+ playSound(killer, QuestSound.ITEMSOUND_QUEST_ITEMGET);
+
+ if (killedGhosts >= 300)
+ {
+ qs.setCond(7, true);
+ }
+ break;
+ }
+ }
+ }
+ return super.onKill(npc, killer, isSummon);
+ }
+
+ @Override
+ public Set getNpcLogList(PlayerInstance player)
+ {
+ final QuestState qs = getQuestState(player, false);
+ if ((qs != null) && (qs.getCond() > 1))
+ {
+ final Set holder = new HashSet<>();
+ holder.add(new NpcLogListHolder(KILLING_NPCSTRING_ID, true, qs.getInt("AncientGhosts")));
+ return holder;
+ }
+ return super.getNpcLogList(player);
+ }
+}
\ No newline at end of file
diff --git a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q10540_ThwartingMimirsPlan/34237-00.htm b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q10540_ThwartingMimirsPlan/34237-00.htm
new file mode 100644
index 0000000000..2ce847f7bd
--- /dev/null
+++ b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q10540_ThwartingMimirsPlan/34237-00.htm
@@ -0,0 +1,4 @@
+Krenaht:
+This place is too dangerous for you. Please return to the continent.
+(Only characters Lv. 100.)
+
\ No newline at end of file
diff --git a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q10540_ThwartingMimirsPlan/34237-01.htm b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q10540_ThwartingMimirsPlan/34237-01.htm
new file mode 100644
index 0000000000..5699913e62
--- /dev/null
+++ b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q10540_ThwartingMimirsPlan/34237-01.htm
@@ -0,0 +1,4 @@
+Krenaht:
+Beleth...! That man is behind everything that happened here. Only his death will end this nightmare. Please, help me.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q10540_ThwartingMimirsPlan/34237-02.htm b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q10540_ThwartingMimirsPlan/34237-02.htm
new file mode 100644
index 0000000000..4ca2550c47
--- /dev/null
+++ b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q10540_ThwartingMimirsPlan/34237-02.htm
@@ -0,0 +1,4 @@
+Krenaht:
+To interfere with his plans, we began finding and destroying Fragments of Chaos, though the latter did require the Giant's Grinder. Anyway, destroying these will lure Beleth out of safety, and we plan to start the operation as soon as we have enough.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q10540_ThwartingMimirsPlan/34237-03.htm b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q10540_ThwartingMimirsPlan/34237-03.htm
new file mode 100644
index 0000000000..c3b0bef012
--- /dev/null
+++ b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q10540_ThwartingMimirsPlan/34237-03.htm
@@ -0,0 +1,5 @@
+Krenaht:
+The Giant's Grinder is in the heart of Hellbound. I will give a signal when Beleth appears; gather up your allies and let us all take him down once and for all.
+For our dignity.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q10540_ThwartingMimirsPlan/34237-04.htm b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q10540_ThwartingMimirsPlan/34237-04.htm
new file mode 100644
index 0000000000..32b3ddd37a
--- /dev/null
+++ b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q10540_ThwartingMimirsPlan/34237-04.htm
@@ -0,0 +1,4 @@
+Krenaht:
+The Wormhole activates when Beleth appears; use it to go to the heart of Hellbound. There we will face and defeat Beleth together! If nothing else, we must at least take down Darion, his right-hand man.
+If it is the will of you and your fellow warriors, I will also join the battle.
+
\ No newline at end of file
diff --git a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q10540_ThwartingMimirsPlan/34237-05.html b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q10540_ThwartingMimirsPlan/34237-05.html
new file mode 100644
index 0000000000..51e6508fbe
--- /dev/null
+++ b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q10540_ThwartingMimirsPlan/34237-05.html
@@ -0,0 +1,4 @@
+Krenaht:
+It may have been an illusion, but let us call it a success.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q10540_ThwartingMimirsPlan/34237-06.html b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q10540_ThwartingMimirsPlan/34237-06.html
new file mode 100644
index 0000000000..3fda9f375a
--- /dev/null
+++ b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q10540_ThwartingMimirsPlan/34237-06.html
@@ -0,0 +1,3 @@
+Krenaht:
+Please take this gift of gratitude.
+
\ No newline at end of file
diff --git a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q10540_ThwartingMimirsPlan/Q10540_ThwartingMimirsPlan.java b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q10540_ThwartingMimirsPlan/Q10540_ThwartingMimirsPlan.java
new file mode 100644
index 0000000000..c4cdbefd6a
--- /dev/null
+++ b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q10540_ThwartingMimirsPlan/Q10540_ThwartingMimirsPlan.java
@@ -0,0 +1,140 @@
+/*
+ * 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.Q10540_ThwartingMimirsPlan;
+
+import org.l2jmobius.Config;
+import org.l2jmobius.gameserver.model.actor.Npc;
+import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
+import org.l2jmobius.gameserver.model.quest.Quest;
+import org.l2jmobius.gameserver.model.quest.QuestState;
+import org.l2jmobius.gameserver.model.quest.State;
+import org.l2jmobius.gameserver.util.Util;
+
+/**
+ * Thwarting Mimir's Plan (10540)
+ * @URL https://l2wiki.com/Thwarting_Mimir%27s_Plan
+ * @author Dmitri
+ */
+public class Q10540_ThwartingMimirsPlan extends Quest
+{
+ // NPCs
+ private static final int KRENAHT = 34237;
+ // Boss
+ private static final int MIMIR = 26137;
+ // Misc
+ private static final int MIN_LEVEL = 100;
+ private static final int GIANTS_SCROLL_R_GRADE_WEAPON = 36386;
+
+ public Q10540_ThwartingMimirsPlan()
+ {
+ super(10540);
+ addStartNpc(KRENAHT);
+ addTalkId(KRENAHT);
+ addKillId(MIMIR);
+ addCondMinLevel(MIN_LEVEL, "34237-00.htm");
+ }
+
+ @Override
+ public String onAdvEvent(String event, Npc npc, PlayerInstance player)
+ {
+ final QuestState qs = getQuestState(player, false);
+ if (qs == null)
+ {
+ return null;
+ }
+
+ String htmltext = null;
+ switch (event)
+ {
+ case "34237-02.htm":
+ case "34237-03.htm":
+ {
+ htmltext = event;
+ break;
+ }
+ case "34237-04.htm":
+ {
+ qs.startQuest();
+ htmltext = event;
+ break;
+ }
+ case "34237-06.html":
+ {
+ if (qs.isCond(2))
+ {
+ giveItems(player, GIANTS_SCROLL_R_GRADE_WEAPON, 1);
+ addExpAndSp(player, 3954960000L, 9491880);
+ qs.exitQuest(false, true);
+ htmltext = event;
+ }
+ break;
+ }
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onTalk(Npc npc, PlayerInstance player)
+ {
+ final QuestState qs = getQuestState(player, true);
+ String htmltext = getNoQuestMsg(player);
+
+ switch (qs.getState())
+ {
+ case State.CREATED:
+ {
+ htmltext = "34237-01.htm";
+ break;
+ }
+ case State.STARTED:
+ {
+ if (qs.isCond(1))
+ {
+ htmltext = "34237-04.htm";
+ }
+ else
+ {
+ htmltext = "34237-05.html";
+ }
+ break;
+ }
+ case State.COMPLETED:
+ {
+ htmltext = getAlreadyCompletedMsg(player);
+ break;
+ }
+ }
+ return htmltext;
+ }
+
+ @Override
+ public void actionForEachPlayer(PlayerInstance player, Npc npc, boolean isSummon)
+ {
+ final QuestState qs = getQuestState(player, false);
+ if ((qs != null) && qs.isCond(1) && Util.checkIfInRange(Config.ALT_PARTY_RANGE, npc, player, false))
+ {
+ qs.setCond(2, true);
+ }
+ }
+
+ @Override
+ public String onKill(Npc npc, PlayerInstance killer, boolean isSummon)
+ {
+ executeForEachPlayer(killer, npc, isSummon, true, false);
+ return super.onKill(npc, killer, isSummon);
+ }
+}
\ No newline at end of file
diff --git a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q10833_PutTheQueenOfSpiritsToSleep/Q10833_PutTheQueenOfSpiritsToSleep.java b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q10833_PutTheQueenOfSpiritsToSleep/Q10833_PutTheQueenOfSpiritsToSleep.java
index e291d29351..898a1f2eea 100644
--- a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q10833_PutTheQueenOfSpiritsToSleep/Q10833_PutTheQueenOfSpiritsToSleep.java
+++ b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q10833_PutTheQueenOfSpiritsToSleep/Q10833_PutTheQueenOfSpiritsToSleep.java
@@ -16,6 +16,7 @@
*/
package quests.Q10833_PutTheQueenOfSpiritsToSleep;
+import org.l2jmobius.gameserver.enums.Faction;
import org.l2jmobius.gameserver.model.actor.Npc;
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
import org.l2jmobius.gameserver.model.quest.Quest;
@@ -35,13 +36,12 @@ public class Q10833_PutTheQueenOfSpiritsToSleep extends Quest
private static final int FERIN = 34054;
private static final int ISABELLA = 26131;
// Items
- private static final int MARK_OF_TRUST_HIGH_GRADE = 45848;
private static final int ISABELLAS_EVIL_THOUGHTS = 45839;
private static final int SOE = 46158;
private static final int ELCYUM_CRYSTAL = 36514;
private static final int GIANTS_CODEX = 46152;
// Misc
- private static final int MIN_LEVEL = 100;
+ private static final int MIN_LEVEL = 102;
public Q10833_PutTheQueenOfSpiritsToSleep()
{
@@ -52,6 +52,7 @@ public class Q10833_PutTheQueenOfSpiritsToSleep extends Quest
registerQuestItems(ISABELLAS_EVIL_THOUGHTS);
addCondMinLevel(MIN_LEVEL, "34054-00.htm");
addCondCompletedQuest(Q10832_EnergyOfSadnessAndAnger.class.getSimpleName(), "34054-00.htm");
+ addFactionLevel(Faction.UNWORLDLY_VISITORS, 6, "34054-00.htm");
}
@Override
@@ -83,7 +84,7 @@ public class Q10833_PutTheQueenOfSpiritsToSleep extends Quest
giveItems(player, GIANTS_CODEX, 1);
giveItems(player, ELCYUM_CRYSTAL, 1);
giveItems(player, SOE, 1);
- addExpAndSp(player, 1637472704L, 14237820);
+ addExpAndSp(player, 22221427950L, 22221360);
qs.exitQuest(false, true);
htmltext = event;
break;
@@ -101,11 +102,6 @@ public class Q10833_PutTheQueenOfSpiritsToSleep extends Quest
{
case State.CREATED:
{
- if (!hasQuestItems(player, MARK_OF_TRUST_HIGH_GRADE))
- {
- htmltext = "noItem.htm";
- break;
- }
htmltext = "34054-01.htm";
break;
}
diff --git a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q10833_PutTheQueenOfSpiritsToSleep/noItem.htm b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q10833_PutTheQueenOfSpiritsToSleep/noItem.htm
deleted file mode 100644
index 3ba66309d6..0000000000
--- a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q10833_PutTheQueenOfSpiritsToSleep/noItem.htm
+++ /dev/null
@@ -1,4 +0,0 @@
-Ferin:
-You! Do you even know who you are talking to? Go away!
-(This quest may only be undertaken by characters with a Mark of Trust (High-grade).)
-
\ No newline at end of file
diff --git a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34054-00.htm b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34054-00.htm
new file mode 100644
index 0000000000..264b837f17
--- /dev/null
+++ b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34054-00.htm
@@ -0,0 +1,4 @@
+Ferin:
+You think you are enough? Well, I can't agree to that.
+(This quest is for characters level 102 and Unworldly Visitors faction level should be 6.)
+
\ No newline at end of file
diff --git a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34054-01.htm b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34054-01.htm
new file mode 100644
index 0000000000..fda0dff0a1
--- /dev/null
+++ b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34054-01.htm
@@ -0,0 +1,4 @@
+Ferin:
+I've done some research with the items we got from defeating El Floato. It looks like the spirits have been affected by the same power that forcefully brought the Garden of Spirits. In other words, they've been forcefully awakened and are now unstable. In order to stabilize themselves, they are affecting their surroundings negatively.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34054-02.htm b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34054-02.htm
new file mode 100644
index 0000000000..2e5abdb92d
--- /dev/null
+++ b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34054-02.htm
@@ -0,0 +1,4 @@
+Ferin:
+However, that's just a description of the phenomena. It doesn't help us in finding out how to go back to our realm. It might be more effective if a creature with a more powerful energy is defeated.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34054-03.htm b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34054-03.htm
new file mode 100644
index 0000000000..4a1ac5614b
--- /dev/null
+++ b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34054-03.htm
@@ -0,0 +1,4 @@
+Ferin:
+You might think that I'm stubborn. But please understand where I'm coming from. Will you help me? Even if it might be dangerous.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34054-04.htm b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34054-04.htm
new file mode 100644
index 0000000000..fa03d04972
--- /dev/null
+++ b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34054-04.htm
@@ -0,0 +1,3 @@
+Ferin:
+Defeat Harpe in the Garden of Spirits to can obtain Sad Energy and Angry Energy. If you bring me those, I'll be able to find out about their sadness and anger. It will be really helpful for my research.
+
\ No newline at end of file
diff --git a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34054-05.html b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34054-05.html
new file mode 100644
index 0000000000..4b1d311a70
--- /dev/null
+++ b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34054-05.html
@@ -0,0 +1,3 @@
+Ferin:
+It's said that when you defeat Harpe, you can obtain Sad Energy and Angry Energy. If you bring me those, I'll be able to find out about their sadness and anger. It will be really helpful for my research.
+
\ No newline at end of file
diff --git a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34054-06.html b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34054-06.html
new file mode 100644
index 0000000000..62d6c3d580
--- /dev/null
+++ b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34054-06.html
@@ -0,0 +1,4 @@
+Ferin:
+Did you finish the mission? Great.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34054-07.html b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34054-07.html
new file mode 100644
index 0000000000..33b4808a43
--- /dev/null
+++ b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34054-07.html
@@ -0,0 +1,3 @@
+Ferin:
+Great. Ferin will know what to do after seeing the results of the investigation. Go talk to Ferin. Keep in mind that you must build trust first.
+
\ No newline at end of file
diff --git a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34054-09.html b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34054-09.html
new file mode 100644
index 0000000000..08fbf732a0
--- /dev/null
+++ b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34054-09.html
@@ -0,0 +1,4 @@
+Ferin:
+Did you finish the mission? Great.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34054-10.html b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34054-10.html
new file mode 100644
index 0000000000..33b4808a43
--- /dev/null
+++ b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34054-10.html
@@ -0,0 +1,3 @@
+Ferin:
+Great. Ferin will know what to do after seeing the results of the investigation. Go talk to Ferin. Keep in mind that you must build trust first.
+
\ No newline at end of file
diff --git a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34055-01.html b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34055-01.html
new file mode 100644
index 0000000000..e389377838
--- /dev/null
+++ b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34055-01.html
@@ -0,0 +1,4 @@
+Cyphona:
+Did you finish the mission? Great.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34055-02.html b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34055-02.html
new file mode 100644
index 0000000000..1371f1a7e7
--- /dev/null
+++ b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34055-02.html
@@ -0,0 +1,4 @@
+Cyphona:
+Did you finish the mission? Great.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34055-03.html b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34055-03.html
new file mode 100644
index 0000000000..210b59aad0
--- /dev/null
+++ b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34055-03.html
@@ -0,0 +1,3 @@
+Cyphona:
+Great. Ferin will know what to do after seeing the results of the investigation. Go talk to Ferin. Keep in mind that you must build trust first.
+
\ No newline at end of file
diff --git a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34056-01.html b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34056-01.html
new file mode 100644
index 0000000000..17d8d2f5ff
--- /dev/null
+++ b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34056-01.html
@@ -0,0 +1,4 @@
+Belas:
+Did you finish the mission? Great.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34056-02.html b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34056-02.html
new file mode 100644
index 0000000000..cff97244ab
--- /dev/null
+++ b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34056-02.html
@@ -0,0 +1,4 @@
+Belas:
+Did you finish the mission? Great.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34056-03.html b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34056-03.html
new file mode 100644
index 0000000000..be0ec6881b
--- /dev/null
+++ b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34056-03.html
@@ -0,0 +1,3 @@
+Belas:
+Great. Ferin will know what to do after seeing the results of the investigation. Go talk to Ferin. Keep in mind that you must build trust first.
+
\ No newline at end of file
diff --git a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34238-01.html b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34238-01.html
new file mode 100644
index 0000000000..53953a2d31
--- /dev/null
+++ b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34238-01.html
@@ -0,0 +1,4 @@
+Eubina:
+Did you finish the mission? Great.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34238-02.html b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34238-02.html
new file mode 100644
index 0000000000..70337cd469
--- /dev/null
+++ b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34238-02.html
@@ -0,0 +1,4 @@
+Eubina:
+Did you finish the mission? Great.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34238-03.html b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34238-03.html
new file mode 100644
index 0000000000..94677730ab
--- /dev/null
+++ b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34238-03.html
@@ -0,0 +1,3 @@
+Eubina:
+Great. Ferin will know what to do after seeing the results of the investigation. Go talk to Ferin. Keep in mind that you must build trust first.
+
\ No newline at end of file
diff --git a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34239-01.html b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34239-01.html
new file mode 100644
index 0000000000..0737f45d04
--- /dev/null
+++ b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34239-01.html
@@ -0,0 +1,4 @@
+Rotoeh:
+Did you finish the mission? Great.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34239-02.html b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34239-02.html
new file mode 100644
index 0000000000..aebb815d8b
--- /dev/null
+++ b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34239-02.html
@@ -0,0 +1,4 @@
+Rotoeh:
+Did you finish the mission? Great.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34239-03.html b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34239-03.html
new file mode 100644
index 0000000000..fe84b631cf
--- /dev/null
+++ b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34239-03.html
@@ -0,0 +1,3 @@
+Rotoeh:
+Great. Ferin will know what to do after seeing the results of the investigation. Go talk to Ferin. Keep in mind that you must build trust first.
+
\ No newline at end of file
diff --git a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/Q10849_TrialsForAdaptation.java b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/Q10849_TrialsForAdaptation.java
new file mode 100644
index 0000000000..dc778fe19d
--- /dev/null
+++ b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/Q10849_TrialsForAdaptation.java
@@ -0,0 +1,300 @@
+/*
+ * 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.Q10849_TrialsForAdaptation;
+
+import org.l2jmobius.Config;
+import org.l2jmobius.gameserver.enums.Faction;
+import org.l2jmobius.gameserver.enums.QuestSound;
+import org.l2jmobius.gameserver.model.actor.Npc;
+import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
+import org.l2jmobius.gameserver.model.quest.Quest;
+import org.l2jmobius.gameserver.model.quest.QuestState;
+import org.l2jmobius.gameserver.model.quest.State;
+
+/**
+ * Trials for Adaptation (10849)
+ * @URL https://l2wiki.com/Trials_for_Adaptation
+ * @author Dmitri
+ */
+public class Q10849_TrialsForAdaptation extends Quest
+{
+ // NPC
+ private static final int FERIN = 34054;
+ private static final int EUBINA = 34238;
+ private static final int ROTOEH = 34239;
+ private static final int CYPHONA = 34055;
+ private static final int BELAS = 34056;
+ // Monsters
+ private static final int KERBEROS_LAGER_N = 23550; // (night)
+ private static final int KERBEROS_LAGER = 23541;
+ private static final int KERBEROS_FORT_N = 23551; // (night)
+ private static final int KERBEROS_FORT = 23542;
+ private static final int KERBEROS_NERO_N = 23552; // (night)
+ private static final int KERBEROS_NERO = 23543;
+ private static final int FURY_SYLPH_BARRENA_N = 23553; // (night)
+ private static final int FURY_SYLPH_BARRENA = 23544;
+ private static final int FURY_SYLPH_TEMPTRESS_N = 23555; // (night)
+ private static final int FURY_SYLPH_TEMPTRESS = 23546;
+ private static final int FURY_SYLPH_PURKA_N = 23556; // (night)
+ private static final int FURY_SYLPH_PURKA = 23547;
+ private static final int FURY_KERBEROS_LEGER_N = 23557; // (night)
+ private static final int FURY_KERBEROS_LEGER = 23545;
+ private static final int FURY_KERBEROS_NERO_N = 23558; // (night)
+ private static final int FURY_KERBEROS_NERO = 23549;
+ // Items
+ private static final int ENERGY_LADEL_WITH_THE_DAYS = 47189;
+ private static final int ENERGY_LADEL_WITH_THE_NIGHTS = 47190;
+ // Reward
+ private static final int RUNE_STONE = 39738;
+ private static final int SPELLBOOK_WING_HOUND = 47152;
+ // Misc
+ private static final int MIN_LEVEL = 102;
+
+ public Q10849_TrialsForAdaptation()
+ {
+ super(10849);
+ addStartNpc(FERIN);
+ addTalkId(FERIN, EUBINA, ROTOEH, CYPHONA, BELAS);
+ addKillId(KERBEROS_LAGER, KERBEROS_LAGER_N, KERBEROS_FORT, KERBEROS_FORT_N, KERBEROS_NERO, KERBEROS_NERO_N, FURY_SYLPH_BARRENA, FURY_SYLPH_BARRENA_N, FURY_SYLPH_TEMPTRESS, FURY_SYLPH_TEMPTRESS_N, FURY_SYLPH_PURKA, FURY_SYLPH_PURKA_N, FURY_KERBEROS_LEGER, FURY_KERBEROS_LEGER_N, FURY_KERBEROS_NERO, FURY_KERBEROS_NERO_N);
+ registerQuestItems(ENERGY_LADEL_WITH_THE_DAYS, ENERGY_LADEL_WITH_THE_NIGHTS);
+ addCondMinLevel(MIN_LEVEL, "34054-00.htm");
+ addFactionLevel(Faction.UNWORLDLY_VISITORS, 6, "34054-00.htm");
+ }
+
+ @Override
+ public String onAdvEvent(String event, Npc npc, PlayerInstance player)
+ {
+ String htmltext = null;
+ final QuestState qs = getQuestState(player, false);
+ if (qs == null)
+ {
+ return htmltext;
+ }
+
+ switch (event)
+ {
+ case "34054-02.htm":
+ case "34054-03.htm":
+ case "34238-03.html":
+ case "34239-03.html":
+ case "34055-03.html":
+ case "34056-03.html":
+ {
+ htmltext = event;
+ break;
+ }
+ case "34054-04.htm":
+ {
+ qs.startQuest();
+ htmltext = event;
+ break;
+ }
+ case "34054-07.html":
+ {
+ qs.setCond(3, true);
+ htmltext = event;
+ break;
+ }
+ case "34238-02.html":
+ {
+ qs.setCond(4, true);
+ htmltext = event;
+ break;
+ }
+ case "34239-02.html":
+ {
+ qs.setCond(5, true);
+ htmltext = event;
+ break;
+ }
+ case "34055-02.html":
+ {
+ qs.setCond(6, true);
+ htmltext = event;
+ break;
+ }
+ case "34056-02.html":
+ {
+ qs.setCond(7, true);
+ htmltext = event;
+ break;
+ }
+ case "34054-10.html":
+ {
+ if (qs.isCond(7))
+ {
+ giveItems(player, RUNE_STONE, 1);
+ giveItems(player, SPELLBOOK_WING_HOUND, 1);
+ addExpAndSp(player, 444428559000L, 444427200);
+ qs.exitQuest(false, true);
+ htmltext = event;
+ }
+ break;
+ }
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onTalk(Npc npc, PlayerInstance player)
+ {
+ final QuestState qs = getQuestState(player, true);
+ String htmltext = getNoQuestMsg(player);
+
+ switch (qs.getState())
+ {
+ case State.CREATED:
+ {
+ if (npc.getId() == FERIN)
+ {
+ htmltext = "34054-01.htm";
+ }
+ break;
+ }
+ case State.STARTED:
+ {
+ switch (npc.getId())
+ {
+ case FERIN:
+ {
+ if (qs.isCond(1))
+ {
+ htmltext = "34054-05.html";
+ }
+ else if (qs.isCond(2))
+ {
+ htmltext = "34054-06.html";
+ }
+ else if (qs.isCond(3))
+ {
+ htmltext = "34054-07.html";
+ }
+ else if (qs.isCond(7))
+ {
+ htmltext = "34054-09.html";
+ }
+ break;
+ }
+ case EUBINA:
+ {
+ if (qs.isCond(3))
+ {
+ htmltext = "34238-01.html";
+ }
+ else if (qs.isCond(4))
+ {
+ htmltext = "34238-03.html";
+ }
+ break;
+ }
+ case ROTOEH:
+ {
+ if (qs.isCond(4))
+ {
+ htmltext = "34239-01.html";
+ }
+ else if (qs.isCond(5))
+ {
+ htmltext = "34239-03.html";
+ }
+ break;
+ }
+ case CYPHONA:
+ {
+ if (qs.isCond(5))
+ {
+ htmltext = "34055-01.html";
+ }
+ else if (qs.isCond(6))
+ {
+ htmltext = "34055-03.html";
+ }
+ break;
+ }
+ case BELAS:
+ {
+ if (qs.isCond(6))
+ {
+ htmltext = "34056-01.html";
+ }
+ else if (qs.isCond(7))
+ {
+ htmltext = "34056-03.html";
+ }
+ break;
+ }
+ }
+ break;
+ }
+ case State.COMPLETED:
+ {
+ htmltext = getAlreadyCompletedMsg(player);
+ break;
+ }
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onKill(Npc npc, PlayerInstance killer, boolean isSummon)
+ {
+ final QuestState qs = getQuestState(killer, false);
+ if ((qs != null) && qs.isCond(1) && killer.isInsideRadius3D(npc, Config.ALT_PARTY_RANGE))
+ {
+ switch (npc.getId())
+ {
+ case FURY_SYLPH_BARRENA_N:
+ case FURY_SYLPH_TEMPTRESS_N:
+ case FURY_SYLPH_PURKA_N:
+ case FURY_KERBEROS_LEGER_N:
+ case FURY_KERBEROS_NERO_N:
+ case KERBEROS_LAGER_N:
+ case KERBEROS_FORT_N:
+ case KERBEROS_NERO_N:
+ {
+ if (getRandom(100) < 99)
+ {
+ giveItems(killer, ENERGY_LADEL_WITH_THE_NIGHTS, 1);
+ playSound(killer, QuestSound.ITEMSOUND_QUEST_ITEMGET);
+ }
+ break;
+ }
+ case FURY_SYLPH_BARRENA:
+ case FURY_SYLPH_TEMPTRESS:
+ case FURY_SYLPH_PURKA:
+ case FURY_KERBEROS_LEGER:
+ case FURY_KERBEROS_NERO:
+ case KERBEROS_LAGER:
+ case KERBEROS_FORT:
+ case KERBEROS_NERO:
+ {
+ if (getRandom(100) < 99)
+ {
+ giveItems(killer, ENERGY_LADEL_WITH_THE_DAYS, 1);
+ playSound(killer, QuestSound.ITEMSOUND_QUEST_ITEMGET);
+ }
+ break;
+ }
+ }
+ if ((getQuestItemsCount(killer, ENERGY_LADEL_WITH_THE_DAYS) >= 1500) && (getQuestItemsCount(killer, ENERGY_LADEL_WITH_THE_NIGHTS) >= 500))
+ {
+ qs.setCond(2, true);
+ }
+ }
+ return super.onKill(npc, killer, isSummon);
+ }
+}
diff --git a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/QuestMasterHandler.java b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/QuestMasterHandler.java
index f4f757ef21..1495f8b2a6 100644
--- a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/QuestMasterHandler.java
+++ b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/QuestMasterHandler.java
@@ -142,6 +142,7 @@ import quests.Q00726_LightWithinTheDarkness.Q00726_LightWithinTheDarkness;
import quests.Q00727_HopeWithinTheDarkness.Q00727_HopeWithinTheDarkness;
import quests.Q00737_ASwordHiddenInASmile.Q00737_ASwordHiddenInASmile;
import quests.Q00738_DimensionalExplorationOfTheUnworldlyVisitors.Q00738_DimensionalExplorationOfTheUnworldlyVisitors;
+import quests.Q00743_AtTheAltarOfOblivion.Q00743_AtTheAltarOfOblivion;
import quests.Q00751_LiberatingTheSpirits.Q00751_LiberatingTheSpirits;
import quests.Q00752_UncoverTheSecret.Q00752_UncoverTheSecret;
import quests.Q00753_ReactingToACrisis.Q00753_ReactingToACrisis;
@@ -181,6 +182,7 @@ import quests.Q00903_TheCallOfAntharas.Q00903_TheCallOfAntharas;
import quests.Q00905_RefinedDragonBlood.Q00905_RefinedDragonBlood;
import quests.Q00906_TheCallOfValakas.Q00906_TheCallOfValakas;
import quests.Q00923_ShinedustExtraction.Q00923_ShinedustExtraction;
+import quests.Q00924_GiantOfTheRestorationRoom.Q00924_GiantOfTheRestorationRoom;
import quests.Q00926_30DaySearchOperation.Q00926_30DaySearchOperation;
import quests.Q00928_100DaySubjugationOperation.Q00928_100DaySubjugationOperation;
import quests.Q00931_MemoriesOfTheWind.Q00931_MemoriesOfTheWind;
@@ -310,6 +312,7 @@ import quests.Q10527_TheAssassinationOfTheKetraOrcCommander.Q10527_TheAssassinat
import quests.Q10528_TheAssassinationOfTheKetraOrcChief.Q10528_TheAssassinationOfTheKetraOrcChief;
import quests.Q10530_KekropusLetterTheDragonsTransition.Q10530_KekropusLetterTheDragonsTransition;
import quests.Q10534_HatchlingResearch.Q10534_HatchlingResearch;
+import quests.Q10540_ThwartingMimirsPlan.Q10540_ThwartingMimirsPlan;
import quests.Q10541_TrainLikeTheRealThing.Q10541_TrainLikeTheRealThing;
import quests.Q10542_SearchingForNewPower.Q10542_SearchingForNewPower;
import quests.Q10543_SheddingWeight.Q10543_SheddingWeight;
@@ -422,6 +425,7 @@ import quests.Q10839_BlackbirdsNameValue.Q10839_BlackbirdsNameValue;
import quests.Q10840_TimeToRecover.Q10840_TimeToRecover;
import quests.Q10841_DeepInsideAteliaFortress.Q10841_DeepInsideAteliaFortress;
import quests.Q10843_AnomalyInTheEnchantedValley.Q10843_AnomalyInTheEnchantedValley;
+import quests.Q10849_TrialsForAdaptation.Q10849_TrialsForAdaptation;
import quests.Q10851_ElvenBotany.Q10851_ElvenBotany;
import quests.Q10856_SuperionAppears.Q10856_SuperionAppears;
import quests.custom.Q00529_RegularBarrierMaintenance.Q00529_RegularBarrierMaintenance;
@@ -612,7 +616,7 @@ public class QuestMasterHandler
Q00727_HopeWithinTheDarkness.class,
Q00737_ASwordHiddenInASmile.class,
Q00738_DimensionalExplorationOfTheUnworldlyVisitors.class,
- Q00743_AtTheAltarOfOblivion.class, // TODO: Not done.
+ Q00743_AtTheAltarOfOblivion.class,
Q00744_TheAlligatorHunterReturns.class, // TODO: Not done.
Q00745_TheOutlawsAreIncoming.class, // TODO: Not done.
Q00747_DefendingTheForsakenPlains.class, // TODO: Not done.
@@ -678,7 +682,7 @@ public class QuestMasterHandler
Q00905_RefinedDragonBlood.class,
Q00906_TheCallOfValakas.class,
Q00923_ShinedustExtraction.class,
- Q00924_GiantOfTheRestorationRoom.class, // TODO: Not done.
+ Q00924_GiantOfTheRestorationRoom.class,
Q00926_30DaySearchOperation.class,
Q00928_100DaySubjugationOperation.class,
Q00929_SeekerRescue.class, // TODO: Not done.
@@ -836,7 +840,7 @@ public class QuestMasterHandler
Q10537_KamaelDisarray.class, // TODO: Not done.
Q10538_GiantsEvolution.class, // TODO: Not done.
Q10539_EnergySupplyCutoffPlan.class, // TODO: Not done.
- Q10540_ThwartingMimirsPlan.class, // TODO: Not done.
+ Q10540_ThwartingMimirsPlan.class,
Q10541_TrainLikeTheRealThing.class,
Q10542_SearchingForNewPower.class,
Q10543_SheddingWeight.class,
@@ -979,7 +983,7 @@ public class QuestMasterHandler
Q10845_BloodyBattleRescueTheSmiths.class, // TODO: Not done.
Q10846_BloodyBattleMeetingTheCommander.class, // TODO: Not done.
Q10848_TrialsBeforeTheBattle.class, // TODO: Not done.
- Q10849_TrialsForAdaptation.class, // TODO: Not done.
+ Q10849_TrialsForAdaptation.class,
Q10851_ElvenBotany.class,
Q10852_TheMotherTreeRevivalProject.class, // TODO: Not done.
Q10853_ToWeakenTheGiants.class, // TODO: Not done.
diff --git a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/not_done/Q00743_AtTheAltarOfOblivion.java b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/not_done/Q00743_AtTheAltarOfOblivion.java
deleted file mode 100644
index 5abada5823..0000000000
--- a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/not_done/Q00743_AtTheAltarOfOblivion.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
- * This file is part of the L2J Mobius project.
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-package quests.not_done;
-
-import org.l2jmobius.Config;
-import org.l2jmobius.gameserver.model.quest.Quest;
-
-/**
- * @author Mobius
- */
-public class Q00743_AtTheAltarOfOblivion extends Quest
-{
- private static final int START_NPC = 34054;
-
- public Q00743_AtTheAltarOfOblivion()
- {
- super(743);
- addStartNpc(START_NPC);
- addTalkId(START_NPC);
- addCondMinLevel(Config.PLAYER_MAXIMUM_LEVEL, getNoQuestMsg(null));
- }
-}
diff --git a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/not_done/Q00924_GiantOfTheRestorationRoom.java b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/not_done/Q00924_GiantOfTheRestorationRoom.java
deleted file mode 100644
index 883bded9b3..0000000000
--- a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/not_done/Q00924_GiantOfTheRestorationRoom.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
- * This file is part of the L2J Mobius project.
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-package quests.not_done;
-
-import org.l2jmobius.Config;
-import org.l2jmobius.gameserver.model.quest.Quest;
-
-/**
- * @author Mobius
- */
-public class Q00924_GiantOfTheRestorationRoom extends Quest
-{
- private static final int START_NPC = 34217;
-
- public Q00924_GiantOfTheRestorationRoom()
- {
- super(924);
- addStartNpc(START_NPC);
- addTalkId(START_NPC);
- addCondMinLevel(Config.PLAYER_MAXIMUM_LEVEL, getNoQuestMsg(null));
- }
-}
diff --git a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/not_done/Q10540_ThwartingMimirsPlan.java b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/not_done/Q10540_ThwartingMimirsPlan.java
deleted file mode 100644
index 8ced631154..0000000000
--- a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/not_done/Q10540_ThwartingMimirsPlan.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
- * This file is part of the L2J Mobius project.
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-package quests.not_done;
-
-import org.l2jmobius.Config;
-import org.l2jmobius.gameserver.model.quest.Quest;
-
-/**
- * @author Mobius
- */
-public class Q10540_ThwartingMimirsPlan extends Quest
-{
- private static final int START_NPC = 34237;
-
- public Q10540_ThwartingMimirsPlan()
- {
- super(10540);
- addStartNpc(START_NPC);
- addTalkId(START_NPC);
- addCondMinLevel(Config.PLAYER_MAXIMUM_LEVEL, getNoQuestMsg(null));
- }
-}
diff --git a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/not_done/Q10849_TrialsForAdaptation.java b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/not_done/Q10849_TrialsForAdaptation.java
deleted file mode 100644
index 636edba9ac..0000000000
--- a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/not_done/Q10849_TrialsForAdaptation.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
- * This file is part of the L2J Mobius project.
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-package quests.not_done;
-
-import org.l2jmobius.Config;
-import org.l2jmobius.gameserver.model.quest.Quest;
-
-/**
- * @author Mobius
- */
-public class Q10849_TrialsForAdaptation extends Quest
-{
- private static final int START_NPC = 34054;
-
- public Q10849_TrialsForAdaptation()
- {
- super(10849);
- addStartNpc(START_NPC);
- addTalkId(START_NPC);
- addCondMinLevel(Config.PLAYER_MAXIMUM_LEVEL, getNoQuestMsg(null));
- }
-}
diff --git a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/MissingQuests.txt b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/MissingQuests.txt
index 9c11882aa7..11ec344f3d 100644
--- a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/MissingQuests.txt
+++ b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/MissingQuests.txt
@@ -116,7 +116,6 @@
734 Red Libra Request - Nightmare Kamaloka
735 Red Libra Request - Embryo Command Post
736 Red Libra Request - Altar of Shilen
-743 At the Altar of Oblivion
749 Ties with the Guardians
759 The Dwarven Nightmare Continues
773 To Calm the Flood
@@ -144,7 +143,6 @@
917 Red Libra Request - Garden of Spirits
918 Red Libra Request - Atelia Fortress
919 Red Libra Request - Superion
-924 Recovered Giants
929 Seeker Rescue
930 Disparaging the Phantoms
938 The Fisherman's Other Hobby
@@ -169,9 +167,6 @@
10537 Kamael Disarray
10538 Giant's Evolution
10539 Energy Supply Cutoff Plan
-10540 Thwarting Mimir's Plan
-10552 Thwarting Mimir's Plan
-10553 Thwarting Mimir's Plan
10554 To Weaken the Giants
10555 To Weaken the Giants
10556 To Weaken the Giants
@@ -196,7 +191,6 @@
10599 Thread of Fate Hanging on the Mother Tree
10673 Valentine's Day, Lucy's Reply
10848 Trials before the Battle
-10849 Trials for Adaptation
10852 The Mother Tree Revival Project
10853 To Weaken the Giants
10854 To Seize the Fortress
diff --git a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q00743_AtTheAltarOfOblivion/34054-00.htm b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q00743_AtTheAltarOfOblivion/34054-00.htm
new file mode 100644
index 0000000000..3dd4107573
--- /dev/null
+++ b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q00743_AtTheAltarOfOblivion/34054-00.htm
@@ -0,0 +1,4 @@
+Ferin:
+You think you are enough? Well, I can't agree to that.
+(This quest is for characters level 100 and higher who have completed the "Unbelievable Sight" quest.)
+
\ No newline at end of file
diff --git a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q00743_AtTheAltarOfOblivion/34054-01.htm b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q00743_AtTheAltarOfOblivion/34054-01.htm
new file mode 100644
index 0000000000..19326eb750
--- /dev/null
+++ b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q00743_AtTheAltarOfOblivion/34054-01.htm
@@ -0,0 +1,4 @@
+Ferin:
+I've done some research with the items we got from defeating El Floato. It looks like the spirits have been affected by the same power that forcefully brought the Garden of Spirits. In other words, they've been forcefully awakened and are now unstable. In order to stabilize themselves, they are affecting their surroundings negatively.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q00743_AtTheAltarOfOblivion/34054-02.htm b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q00743_AtTheAltarOfOblivion/34054-02.htm
new file mode 100644
index 0000000000..42071eb261
--- /dev/null
+++ b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q00743_AtTheAltarOfOblivion/34054-02.htm
@@ -0,0 +1,4 @@
+Ferin:
+However, that's just a description of the phenomena. It doesn't help us in finding out how to go back to our realm. It might be more effective if a creature with a more powerful energy is defeated.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q00743_AtTheAltarOfOblivion/34054-03.htm b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q00743_AtTheAltarOfOblivion/34054-03.htm
new file mode 100644
index 0000000000..6ad7c728f6
--- /dev/null
+++ b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q00743_AtTheAltarOfOblivion/34054-03.htm
@@ -0,0 +1,4 @@
+Ferin:
+You might think that I'm stubborn. But please understand where I'm coming from. Will you help me? Even if it might be dangerous.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q00743_AtTheAltarOfOblivion/34054-04.htm b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q00743_AtTheAltarOfOblivion/34054-04.htm
new file mode 100644
index 0000000000..fa03d04972
--- /dev/null
+++ b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q00743_AtTheAltarOfOblivion/34054-04.htm
@@ -0,0 +1,3 @@
+Ferin:
+Defeat Harpe in the Garden of Spirits to can obtain Sad Energy and Angry Energy. If you bring me those, I'll be able to find out about their sadness and anger. It will be really helpful for my research.
+
\ No newline at end of file
diff --git a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q00743_AtTheAltarOfOblivion/34054-05.html b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q00743_AtTheAltarOfOblivion/34054-05.html
new file mode 100644
index 0000000000..4b1d311a70
--- /dev/null
+++ b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q00743_AtTheAltarOfOblivion/34054-05.html
@@ -0,0 +1,3 @@
+Ferin:
+It's said that when you defeat Harpe, you can obtain Sad Energy and Angry Energy. If you bring me those, I'll be able to find out about their sadness and anger. It will be really helpful for my research.
+
\ No newline at end of file
diff --git a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q00743_AtTheAltarOfOblivion/34054-06.html b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q00743_AtTheAltarOfOblivion/34054-06.html
new file mode 100644
index 0000000000..873deedee9
--- /dev/null
+++ b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q00743_AtTheAltarOfOblivion/34054-06.html
@@ -0,0 +1,4 @@
+Ferin:
+Did you finish the mission? Great.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q00743_AtTheAltarOfOblivion/34054-07.html b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q00743_AtTheAltarOfOblivion/34054-07.html
new file mode 100644
index 0000000000..33b4808a43
--- /dev/null
+++ b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q00743_AtTheAltarOfOblivion/34054-07.html
@@ -0,0 +1,3 @@
+Ferin:
+Great. Ferin will know what to do after seeing the results of the investigation. Go talk to Ferin. Keep in mind that you must build trust first.
+
\ No newline at end of file
diff --git a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q00743_AtTheAltarOfOblivion/Q00743_AtTheAltarOfOblivion.java b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q00743_AtTheAltarOfOblivion/Q00743_AtTheAltarOfOblivion.java
new file mode 100644
index 0000000000..b179fc5190
--- /dev/null
+++ b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q00743_AtTheAltarOfOblivion/Q00743_AtTheAltarOfOblivion.java
@@ -0,0 +1,230 @@
+/*
+ * 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.Q00743_AtTheAltarOfOblivion;
+
+import org.l2jmobius.gameserver.enums.Faction;
+import org.l2jmobius.gameserver.enums.QuestSound;
+import org.l2jmobius.gameserver.enums.QuestType;
+import org.l2jmobius.gameserver.model.actor.Npc;
+import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
+import org.l2jmobius.gameserver.model.events.EventType;
+import org.l2jmobius.gameserver.model.events.ListenerRegisterType;
+import org.l2jmobius.gameserver.model.events.annotations.Id;
+import org.l2jmobius.gameserver.model.events.annotations.RegisterEvent;
+import org.l2jmobius.gameserver.model.events.annotations.RegisterType;
+import org.l2jmobius.gameserver.model.events.impl.creature.player.OnPlayerItemAdd;
+import org.l2jmobius.gameserver.model.quest.Quest;
+import org.l2jmobius.gameserver.model.quest.QuestState;
+import org.l2jmobius.gameserver.model.quest.State;
+
+import quests.Q10832_EnergyOfSadnessAndAnger.Q10832_EnergyOfSadnessAndAnger;
+
+/**
+ * At the Altar of Oblivion (743)
+ * @URL https://l2wiki.com/At_the_Altar_of_Oblivion
+ * @author Dmitri
+ */
+public class Q00743_AtTheAltarOfOblivion extends Quest
+{
+ // NPC
+ private static final int FERIN = 34054;
+ // Monsters
+ private static final int HARPE = 23561;
+ private static final int HARPE1 = 23562;
+ private static final int KERBEROS_LAGER_N = 23550; // (night)
+ private static final int KERBEROS_LAGER = 23541;
+ private static final int KERBEROS_FORT_N = 23551; // (night)
+ private static final int KERBEROS_FORT = 23542;
+ private static final int KERBEROS_NERO_N = 23552; // (night)
+ private static final int KERBEROS_NERO = 23543;
+ private static final int FURY_SYLPH_BARRENA_N = 23553; // (night)
+ private static final int FURY_SYLPH_BARRENA = 23544;
+ private static final int FURY_SYLPH_TEMPTRESS_N = 23555; // (night)
+ private static final int FURY_SYLPH_TEMPTRESS = 23546;
+ private static final int FURY_SYLPH_PURKA_N = 23556; // (night)
+ private static final int FURY_SYLPH_PURKA = 23547;
+ private static final int FURY_KERBEROS_LEGER_N = 23557; // (night)
+ private static final int FURY_KERBEROS_LEGER = 23545;
+ private static final int FURY_KERBEROS_NERO_N = 23558; // (night)
+ private static final int FURY_KERBEROS_NERO = 23549;
+ // Items
+ private static final int ESSENCE_OF_EVIL_THOUGHTS = 48006;
+ // Reward
+ private static final int WIND_CRYSTAL = 47259;
+ // Misc
+ private static final int MIN_LEVEL = 102;
+
+ public Q00743_AtTheAltarOfOblivion()
+ {
+ super(743);
+ addStartNpc(FERIN);
+ addTalkId(FERIN);
+ addKillId(HARPE, HARPE1);
+ addKillId(KERBEROS_LAGER, KERBEROS_LAGER_N, KERBEROS_FORT, KERBEROS_FORT_N, KERBEROS_NERO, KERBEROS_NERO_N, FURY_SYLPH_BARRENA, FURY_SYLPH_BARRENA_N, FURY_SYLPH_TEMPTRESS, FURY_SYLPH_TEMPTRESS_N, FURY_SYLPH_PURKA, FURY_SYLPH_PURKA_N, FURY_KERBEROS_LEGER, FURY_KERBEROS_LEGER_N, FURY_KERBEROS_NERO, FURY_KERBEROS_NERO_N);
+ registerQuestItems(ESSENCE_OF_EVIL_THOUGHTS);
+ addCondMinLevel(MIN_LEVEL, "34054-00.htm");
+ addCondCompletedQuest(Q10832_EnergyOfSadnessAndAnger.class.getSimpleName(), "34054-00.htm");
+ addFactionLevel(Faction.UNWORLDLY_VISITORS, 4, "34054-00.htm");
+ }
+
+ @Override
+ public String onAdvEvent(String event, Npc npc, PlayerInstance player)
+ {
+ String htmltext = null;
+ final QuestState qs = getQuestState(player, false);
+ if (qs == null)
+ {
+ return htmltext;
+ }
+
+ switch (event)
+ {
+ case "34054-02.htm":
+ case "34054-03.htm":
+ {
+ htmltext = event;
+ break;
+ }
+ case "34054-04.htm":
+ {
+ qs.startQuest();
+ htmltext = event;
+ break;
+ }
+ case "34054-07.html":
+ {
+ giveItems(player, WIND_CRYSTAL, 3);
+ addExpAndSp(player, 5555356987L, 5555340);
+ addFactionPoints(player, Faction.UNWORLDLY_VISITORS, 100);
+ qs.exitQuest(false, true);
+ htmltext = event;
+ break;
+ }
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onTalk(Npc npc, PlayerInstance player)
+ {
+ final QuestState qs = getQuestState(player, true);
+ String htmltext = getNoQuestMsg(player);
+
+ switch (qs.getState())
+ {
+ case State.CREATED:
+ {
+ htmltext = "34054-01.htm";
+ break;
+ }
+ case State.STARTED:
+ {
+ if (qs.isCond(1))
+ {
+ htmltext = "34054-05.html";
+ }
+ else
+ {
+ htmltext = "34054-06.html";
+ }
+ break;
+ }
+ case State.COMPLETED:
+ {
+ if (!qs.isNowAvailable())
+ {
+ htmltext = getAlreadyCompletedMsg(player, QuestType.DAILY);
+ }
+ else
+ {
+ qs.setState(State.CREATED);
+ htmltext = "34054-01.htm";
+ }
+ break;
+ }
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onKill(Npc npc, PlayerInstance killer, boolean isSummon)
+ {
+ final QuestState qs = getQuestState(killer, false);
+ if ((qs != null) && qs.isCond(1))
+ {
+ switch (npc.getId())
+ {
+ case FURY_SYLPH_BARRENA_N:
+ case FURY_SYLPH_TEMPTRESS_N:
+ case FURY_SYLPH_PURKA_N:
+ case FURY_KERBEROS_LEGER_N:
+ case FURY_KERBEROS_NERO_N:
+ case KERBEROS_LAGER_N:
+ case KERBEROS_FORT_N:
+ case KERBEROS_NERO_N:
+ {
+ if (getRandom(100) < 2)
+ {
+ final Npc mob = addSpawn(HARPE, npc.getX(), npc.getY(), npc.getZ(), 0, true, 120000);
+ addAttackPlayerDesire(mob, killer, 5);
+ }
+ break;
+ }
+ case FURY_SYLPH_BARRENA:
+ case FURY_SYLPH_TEMPTRESS:
+ case FURY_SYLPH_PURKA:
+ case FURY_KERBEROS_LEGER:
+ case FURY_KERBEROS_NERO:
+ case KERBEROS_LAGER:
+ case KERBEROS_FORT:
+ case KERBEROS_NERO:
+ {
+ if (getRandom(100) < 2)
+ {
+ final Npc mob = addSpawn(HARPE1, npc.getX(), npc.getY(), npc.getZ(), 0, true, 120000);
+ addAttackPlayerDesire(mob, killer, 5);
+ }
+ break;
+ }
+ case HARPE1:
+ case HARPE:
+ {
+ if ((getRandom(100) < 15) && !hasQuestItems(killer, ESSENCE_OF_EVIL_THOUGHTS))
+ {
+ giveItems(killer, ESSENCE_OF_EVIL_THOUGHTS, 1);
+ playSound(killer, QuestSound.ITEMSOUND_QUEST_ITEMGET);
+ }
+ break;
+ }
+ }
+ }
+ return super.onKill(npc, killer, isSummon);
+ }
+
+ @RegisterEvent(EventType.ON_PLAYER_ITEM_ADD)
+ @RegisterType(ListenerRegisterType.ITEM)
+ @Id(ESSENCE_OF_EVIL_THOUGHTS)
+ public void onItemAdd(OnPlayerItemAdd event)
+ {
+ final PlayerInstance player = event.getPlayer();
+ final QuestState qs = getQuestState(player, false);
+ if ((qs != null) && (qs.isCond(1)) && (hasQuestItems(player, ESSENCE_OF_EVIL_THOUGHTS)))
+ {
+ qs.setCond(2, true);
+ }
+ }
+}
\ No newline at end of file
diff --git a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-00.htm b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-00.htm
new file mode 100644
index 0000000000..94488269d6
--- /dev/null
+++ b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-00.htm
@@ -0,0 +1,4 @@
+Fire Dragon Bride Leona Blackbird:
+Hellbound is too dangerous for you. Please leave.
+(Only characters Lv. 100.)
+
\ No newline at end of file
diff --git a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-01.htm b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-01.htm
new file mode 100644
index 0000000000..a7fb6ecd9c
--- /dev/null
+++ b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-01.htm
@@ -0,0 +1,6 @@
+Master Cyphona:
+Ah, adventurer! There you are again. How about helping us some more? if you do, you can deepen the mutual trust with us and Ferin.
+What do you say? if you don't remember what to do, I can tell you again.
+
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-01a.htm b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-01a.htm
new file mode 100644
index 0000000000..397d8fb676
--- /dev/null
+++ b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-01a.htm
@@ -0,0 +1,6 @@
+Master Cyphona:
+Ah, adventurer! There you are again. How about helping us some more?
+What do you say? If you don't remember what the mission was, I can tell you again.
+
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-01b.htm b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-01b.htm
new file mode 100644
index 0000000000..fc7418b997
--- /dev/null
+++ b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-01b.htm
@@ -0,0 +1,6 @@
+Master Cyphona:
+Adventurer! Good to see you. Since you've helped us so much already, how about helping us some more?
+What do you say? If you don't remember what the mission was, I can tell you again.
+
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-01c.htm b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-01c.htm
new file mode 100644
index 0000000000..1f85cc8125
--- /dev/null
+++ b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-01c.htm
@@ -0,0 +1,5 @@
+Master Cyphona:
+I've been waiting for you, adventurer. Well since you are here now, will you listen to me? I know I can trust you, but if you complete this mission, we'll become better allies and your pockets will get heavier. What do you say? Or do you need me to explain the mission again?
+
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-02.htm b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-02.htm
new file mode 100644
index 0000000000..6879bbcabb
--- /dev/null
+++ b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-02.htm
@@ -0,0 +1,4 @@
+Master Cyphona:
+We've begun an investigation in the Garden of Spirits starting from here. However, we are being threatened by the spirits there, so something must be done.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-03.htm b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-03.htm
new file mode 100644
index 0000000000..d6a25e8d70
--- /dev/null
+++ b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-03.htm
@@ -0,0 +1,6 @@
+Master Cyphona:
+We know of a way to defeat those spirits, at least temporarily. This way, we'll be able to put the spirits at rest, even if it's just for a little while.
+Of course, we will give you a reward for your help. And there is one more thing. While you are helping us, you'll build trust with us. The more we trust you, the more rewards we will give you, and there are some secret missions that we only give to those we trust.
+That's about it.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-04.htm b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-04.htm
new file mode 100644
index 0000000000..f3808e4d70
--- /dev/null
+++ b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-04.htm
@@ -0,0 +1,9 @@
+Master Cyphona:
+Good. Let me tell you what to do. Just choose the mission that you are capable of doing.
+Basic Mission - Collect 200 Mutated Spirit's Souls.
+Intermediate Mission - Collect 400 Mutated Spirit's Souls.
+Advanced Mission - Collect 600 Mutated Spirit's Souls.
+
+
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-04.html b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-04.html
new file mode 100644
index 0000000000..e2b6f8efc1
--- /dev/null
+++ b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-04.html
@@ -0,0 +1,6 @@
+Master Cyphona:
+This isn't the first time we've met? You've completed a mission before? I see... Well, I don't really have a good memory.
+If you have completed a mission before, then that means you must have a Mark of Trust. What? You don't have one?
+Then you are either a liar, or you haven't been here in a long time. My trust is something you must continously try to maintain. Will you listen to me?
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-04a.htm b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-04a.htm
new file mode 100644
index 0000000000..fa54a706f8
--- /dev/null
+++ b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-04a.htm
@@ -0,0 +1,9 @@
+Master Cyphona:
+Good. Let me tell you what to do. Just choose the mission that you are capable of doing.
+Basic Mission - Collect 200 Mutated Spirit's Souls.
+Intermediate Mission - Collect 400 Mutated Spirit's Souls.
+Advanced Mission - Collect 600 Mutated Spirit's Souls.
+
+
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-04b.htm b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-04b.htm
new file mode 100644
index 0000000000..e373de00b7
--- /dev/null
+++ b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-04b.htm
@@ -0,0 +1,9 @@
+Master Cyphona:
+Good. Let me tell you what to do. Just choose the mission that you are capable of doing.
+Basic Mission - Collect 150 Mutated Spirit's Souls.
+Intermediate Mission - Collect 300 Mutated Spirit's Souls.
+Advanced Mission - Collect 450 Mutated Spirit's Souls.
+
+
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-05.htm b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-05.htm
new file mode 100644
index 0000000000..9041babe57
--- /dev/null
+++ b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-05.htm
@@ -0,0 +1,3 @@
+Master Cyphona:
+Alright. Here's the mission. Hunt the Kerberos Leger, Kerberos Fort, Kerberos Nero, Fury Sylph Barrena, Fury Sylph Labido, Fury Sylph Purka, Fury Kerberos Leger, and the Fury Kerberos Nero, and collect their Mutated Spirit's Souls as proof. You can get rewards only if you bring at least 200. Of course, you'll get more rewards if you bring more.
+
\ No newline at end of file
diff --git a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-05.html b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-05.html
new file mode 100644
index 0000000000..f42c41b57c
--- /dev/null
+++ b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-05.html
@@ -0,0 +1,3 @@
+Master Cyphona:
+Your Unworldly Visitors Faction Level Must be 1 or above may undertake this mission.
+
\ No newline at end of file
diff --git a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-05a.html b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-05a.html
new file mode 100644
index 0000000000..9ab05d1b14
--- /dev/null
+++ b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-05a.html
@@ -0,0 +1,3 @@
+Master Cyphona:
+Your Unworldly Visitors Faction Level Must be 3 or above may undertake this mission.
+
\ No newline at end of file
diff --git a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-06.html b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-06.html
new file mode 100644
index 0000000000..89f018709e
--- /dev/null
+++ b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-06.html
@@ -0,0 +1,6 @@
+Master Cyphona:
+You have chosen the basic mission to collect 200 Mutated Spirit's Souls. Once you have selected the difficulty of the mission, you must meet the requirements in order to complete it. Choose wisely.
+Are you sure you want to proceed with this mission?
+
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-06a.html b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-06a.html
new file mode 100644
index 0000000000..035e91f528
--- /dev/null
+++ b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-06a.html
@@ -0,0 +1,6 @@
+Master Cyphona:
+You have chosen the intermediate mission to collect 400 Mutated Spirit's Souls. Once you have selected the difficulty of the mission, you must meet the requirements in order to complete it. Choose wisely.
+Are you sure you want to proceed with this mission?
+
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-06b.html b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-06b.html
new file mode 100644
index 0000000000..8e6443ad89
--- /dev/null
+++ b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-06b.html
@@ -0,0 +1,6 @@
+Master Cyphona:
+You have chosen the advanced mission to collect 450 Mutated Spirit's Souls. Once you have selected the difficulty of the mission, you must meet the requirements in order to complete it. Choose wisely.
+Are you sure you want to proceed with this mission?
+
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-07.html b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-07.html
new file mode 100644
index 0000000000..76cd4c2418
--- /dev/null
+++ b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-07.html
@@ -0,0 +1,4 @@
+Master Cyphona:
+Good. Left me explain the details. Go to the Garden of Spirits, defeat the Kerberos Lager, Kerberos Fort, Kerberos Nero, Fury Sylph Barrena, Fury Sylph Labido, Fury Sylph Purka, Fury Kerberos Leger, and Fury Kerberos Nero, and put them to rest.
+As evidence, please bring back 200 Mutated Spirit's Souls. It should be manageable.
+
\ No newline at end of file
diff --git a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-07a.html b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-07a.html
new file mode 100644
index 0000000000..349c04b27d
--- /dev/null
+++ b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-07a.html
@@ -0,0 +1,4 @@
+Master Cyphona:
+Good. Left me explain the details. Go to the Garden of Spirits, defeat the Kerberos Lager, Kerberos Fort, Kerberos Nero, Fury Sylph Barrena, Fury Sylph Labido, Fury Sylph Purka, Fury Kerberos Leger, and Fury Kerberos Nero, and put them to rest.
+As evidence, please bring back 400 Mutated Spirit's Souls. It should be manageable.
+
\ No newline at end of file
diff --git a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-07b.html b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-07b.html
new file mode 100644
index 0000000000..d943aec768
--- /dev/null
+++ b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-07b.html
@@ -0,0 +1,4 @@
+Master Cyphona:
+Good. Left me explain the details. Go to the Garden of Spirits, defeat the Kerberos Lager, Kerberos Fort, Kerberos Nero, Fury Sylph Barrena, Fury Sylph Labido, Fury Sylph Purka, Fury Kerberos Leger, and Fury Kerberos Nero, and put them to rest.
+As evidence, please bring back 600 Mutated Spirit's Souls. It should be manageable.
+
\ No newline at end of file
diff --git a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-07c.html b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-07c.html
new file mode 100644
index 0000000000..5ebd96f89a
--- /dev/null
+++ b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-07c.html
@@ -0,0 +1,5 @@
+Master Cyphona:
+You want to finish already? Well, I can still give you a reward... But it won't be something good. Are you sure?
+
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-08.html b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-08.html
new file mode 100644
index 0000000000..038165ac20
--- /dev/null
+++ b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-08.html
@@ -0,0 +1,3 @@
+Master Cyphona:
+Go to the Garden of Spirits and defeat all type monsters until you collect 200 Mutated Spirit's Souls.
+
\ No newline at end of file
diff --git a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-08a.html b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-08a.html
new file mode 100644
index 0000000000..7ea73a66a6
--- /dev/null
+++ b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-08a.html
@@ -0,0 +1,3 @@
+Master Cyphona:
+Go to the Garden of Spirits and defeat all type monsters until you collect 400 Mutated Spirit's Souls.
+
\ No newline at end of file
diff --git a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-08b.html b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-08b.html
new file mode 100644
index 0000000000..f7b616df5a
--- /dev/null
+++ b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-08b.html
@@ -0,0 +1,3 @@
+Master Cyphona:
+Go to the Garden of Spirits and defeat all type monsters until you collect 600 Mutated Spirit's Souls.
+
\ No newline at end of file
diff --git a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-09.html b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-09.html
new file mode 100644
index 0000000000..8c94161d3a
--- /dev/null
+++ b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-09.html
@@ -0,0 +1,6 @@
+Master Cyphona:
+Toy have collected all of the Mutated Spirit's Souls. You have completed the mission successfully.
+I would like to congratulate you on completing the mission. Here's your reward. If you have a Faction Amity Token, I can give You more rewards.
+
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-09a.html b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-09a.html
new file mode 100644
index 0000000000..91721d4da1
--- /dev/null
+++ b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-09a.html
@@ -0,0 +1,4 @@
+Master Cyphona:
+You completed the mission!
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-09b.html b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-09b.html
new file mode 100644
index 0000000000..4a6e6cb936
--- /dev/null
+++ b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-09b.html
@@ -0,0 +1,4 @@
+Master Cyphona:
+You completed the mission!
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-09c.html b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-09c.html
new file mode 100644
index 0000000000..fb74a1cd53
--- /dev/null
+++ b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-09c.html
@@ -0,0 +1,4 @@
+Master Cyphona:
+You completed the mission!
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-10.html b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-10.html
new file mode 100644
index 0000000000..ec3450a5fc
--- /dev/null
+++ b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-10.html
@@ -0,0 +1,4 @@
+Master Cyphona:
+Here is your reward. This will also help to improve the trust between you and us at the Unworldly Visitors.
+As long as you don't forget us, that is. We thank you for your hard work.
+
\ No newline at end of file
diff --git a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-10a.html b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-10a.html
new file mode 100644
index 0000000000..2bf94feff3
--- /dev/null
+++ b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-10a.html
@@ -0,0 +1,3 @@
+Master Cyphona:
+Here's your reward. We'll be able to maintain our trust. As long as you don't forget about us, that is.
+
\ No newline at end of file
diff --git a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-10b.html b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-10b.html
new file mode 100644
index 0000000000..c2f962f4f2
--- /dev/null
+++ b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-10b.html
@@ -0,0 +1,3 @@
+Master Cyphona:
+Here's your reward, I'll remember how you've helped us all those times. Here's a higher level Mark of Trust. Thank you for all of your help.
+
\ No newline at end of file
diff --git a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-10c.html b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-10c.html
new file mode 100644
index 0000000000..aacd7919d3
--- /dev/null
+++ b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/34217-10c.html
@@ -0,0 +1,3 @@
+Master Cyphona:
+Here's your reward for helping us. Although you didn't get all the Marks, I still remember how you helped us. I have no doubt the trust between us has deepened even more.
+
\ No newline at end of file
diff --git a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/Q00924_GiantOfTheRestorationRoom.java b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/Q00924_GiantOfTheRestorationRoom.java
new file mode 100644
index 0000000000..90e05f6829
--- /dev/null
+++ b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q00924_GiantOfTheRestorationRoom/Q00924_GiantOfTheRestorationRoom.java
@@ -0,0 +1,368 @@
+/*
+ * 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.Q00924_GiantOfTheRestorationRoom;
+
+import java.util.HashSet;
+import java.util.Set;
+
+import org.l2jmobius.gameserver.enums.Faction;
+import org.l2jmobius.gameserver.enums.QuestSound;
+import org.l2jmobius.gameserver.enums.QuestType;
+import org.l2jmobius.gameserver.model.actor.Npc;
+import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
+import org.l2jmobius.gameserver.model.holders.NpcLogListHolder;
+import org.l2jmobius.gameserver.model.quest.Quest;
+import org.l2jmobius.gameserver.model.quest.QuestState;
+import org.l2jmobius.gameserver.model.quest.State;
+import org.l2jmobius.gameserver.network.NpcStringId;
+
+/**
+ * Giant of the Restoration Room (924)
+ * @URL https://l2wiki.com/Recovered_Giants
+ * @author Dmitri
+ */
+public class Q00924_GiantOfTheRestorationRoom extends Quest
+{
+ // NPCs
+ private static final int SHUMADRIBA = 34217;
+ // Monsters
+ private static final int[] MONSTERS =
+ {
+ 23727, // Shaqrima Bathus
+ 23728, // Shaqrima Carcass
+ 23729, // Shaqrima Kshana
+ 23750 // Shaqrima Lucas
+ };
+ // Items
+ private static final int BASIC_SUPPLY_BOX = 47359;
+ private static final int INTERMEDIATE_SUPPLY_BOX = 47360;
+ private static final int ADVANCED_SUPPLY_BOX = 47361;
+ // Misc
+ private static final int KILLING_NPCSTRING_ID = NpcStringId.ELIMINATE_THE_GIANT.getId();
+ private static final boolean PARTY_QUEST = true;
+ private static final int MIN_LEVEL = 100;
+
+ public Q00924_GiantOfTheRestorationRoom()
+ {
+ super(924);
+ addStartNpc(SHUMADRIBA);
+ addTalkId(SHUMADRIBA);
+ addKillId(MONSTERS);
+ addCondMinLevel(MIN_LEVEL, "34217-00.htm");
+ }
+
+ @Override
+ public String onAdvEvent(String event, Npc npc, PlayerInstance player)
+ {
+ String htmltext = null;
+ final QuestState qs = getQuestState(player, false);
+ if (qs == null)
+ {
+ return htmltext;
+ }
+
+ switch (event)
+ {
+ case "34217-02.htm":
+ case "34217-03.htm":
+ case "34217-04.htm":
+ case "34217-04a.htm":
+ case "34217-04b.htm":
+ case "34217-06.html":
+ case "34217-06a.html":
+ case "34217-06b.html":
+ {
+ htmltext = event;
+ break;
+ }
+ case "select_mission":
+ {
+ qs.startQuest();
+ if ((player.getFactionLevel(Faction.GIANT_TRACKERS) >= 1) && (player.getFactionLevel(Faction.GIANT_TRACKERS) < 3))
+ {
+ htmltext = "34217-04a.htm";
+ break;
+ }
+ else if (player.getFactionLevel(Faction.GIANT_TRACKERS) >= 3)
+ {
+ htmltext = "34217-04b.htm";
+ break;
+ }
+ htmltext = "34217-04.htm";
+ break;
+ }
+ case "return":
+ {
+ if ((player.getFactionLevel(Faction.GIANT_TRACKERS) >= 1) && (player.getFactionLevel(Faction.GIANT_TRACKERS) < 3))
+ {
+ htmltext = "34217-04a.htm";
+ break;
+ }
+ else if (player.getFactionLevel(Faction.GIANT_TRACKERS) >= 3)
+ {
+ htmltext = "34217-04b.htm";
+ break;
+ }
+ htmltext = "34217-04.htm";
+ break;
+ }
+ case "34217-07.html":
+ {
+ qs.setCond(2, true);
+ htmltext = event;
+ break;
+ }
+ case "34217-07a.html":
+ {
+ qs.setCond(3, true);
+ htmltext = event;
+ break;
+ }
+ case "34217-07b.html":
+ {
+ qs.setCond(4, true);
+ htmltext = event;
+ break;
+ }
+ case "34217-10.html":
+ {
+ final int chance = getRandom(100);
+ switch (qs.getCond())
+ {
+ case 5:
+ {
+ if (player.getLevel() >= MIN_LEVEL)
+ {
+ if (chance < 2)
+ {
+ giveItems(player, ADVANCED_SUPPLY_BOX, 1);
+ }
+ else if (chance < 20)
+ {
+ giveItems(player, INTERMEDIATE_SUPPLY_BOX, 1);
+ }
+ else if (chance < 100)
+ {
+ giveItems(player, BASIC_SUPPLY_BOX, 1);
+ }
+ addExpAndSp(player, 14_831_100_000L, 14_831_100);
+ addFactionPoints(player, Faction.GIANT_TRACKERS, 100);
+ qs.exitQuest(QuestType.DAILY, true);
+ htmltext = event;
+ }
+ else
+ {
+ htmltext = getNoQuestLevelRewardMsg(player);
+ }
+ break;
+ }
+ case 6:
+ {
+ if (player.getLevel() >= MIN_LEVEL)
+ {
+ if (chance < 2)
+ {
+ giveItems(player, ADVANCED_SUPPLY_BOX, 1);
+ }
+ else if (chance < 20)
+ {
+ giveItems(player, BASIC_SUPPLY_BOX, 1);
+ }
+ else if (chance < 100)
+ {
+ giveItems(player, INTERMEDIATE_SUPPLY_BOX, 1);
+ }
+ addExpAndSp(player, 29_662_200_000L, 29_662_200);
+ addFactionPoints(player, Faction.GIANT_TRACKERS, 200);
+ qs.exitQuest(QuestType.DAILY, true);
+ htmltext = event;
+ }
+ else
+ {
+ htmltext = getNoQuestLevelRewardMsg(player);
+ }
+ break;
+ }
+ case 7:
+ {
+ if (player.getLevel() >= MIN_LEVEL)
+ {
+ if (chance < 2)
+ {
+ giveItems(player, BASIC_SUPPLY_BOX, 1);
+ }
+ else if (chance < 20)
+ {
+ giveItems(player, INTERMEDIATE_SUPPLY_BOX, 1);
+ }
+ else if (chance < 100)
+ {
+ giveItems(player, ADVANCED_SUPPLY_BOX, 1);
+ }
+ addExpAndSp(player, 44_493_300_000L, 44_493_300);
+ addFactionPoints(player, Faction.GIANT_TRACKERS, 300);
+ qs.exitQuest(QuestType.DAILY, true);
+ htmltext = event;
+ }
+ else
+ {
+ htmltext = getNoQuestLevelRewardMsg(player);
+ }
+ break;
+ }
+ }
+ break;
+ }
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onTalk(Npc npc, PlayerInstance player)
+ {
+ final QuestState qs = getQuestState(player, true);
+ String htmltext = getNoQuestMsg(player);
+
+ switch (qs.getState())
+ {
+ case State.CREATED:
+ {
+ htmltext = "34217-01.htm";
+ }
+ case State.STARTED:
+ {
+ switch (qs.getCond())
+ {
+ case 1:
+ {
+ if ((player.getFactionLevel(Faction.GIANT_TRACKERS) >= 1) && (player.getFactionLevel(Faction.GIANT_TRACKERS) < 3))
+ {
+ htmltext = "34217-04a.htm";
+ break;
+ }
+ else if (player.getFactionLevel(Faction.GIANT_TRACKERS) >= 3)
+ {
+ htmltext = "34217-04b.htm";
+ break;
+ }
+ htmltext = "34217-04.htm";
+ break;
+ }
+ case 2:
+ {
+ htmltext = "34217-08.html";
+ break;
+ }
+ case 3:
+ {
+ htmltext = "34217-08a.html";
+ break;
+ }
+ case 4:
+ {
+ htmltext = "34217-08b.html";
+ break;
+ }
+ case 5:
+ case 6:
+ case 7:
+ {
+ htmltext = "34217-09.html";
+ break;
+ }
+ }
+ break;
+ }
+ case State.COMPLETED:
+ {
+ if (!qs.isNowAvailable())
+ {
+ htmltext = getAlreadyCompletedMsg(player, QuestType.DAILY);
+ }
+ else
+ {
+ qs.setState(State.CREATED);
+ htmltext = "34217-01.htm";
+ }
+ break;
+ }
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onKill(Npc npc, PlayerInstance killer, boolean isSummon)
+ {
+ final QuestState qs = PARTY_QUEST ? getRandomPartyMemberState(killer, -1, 3, npc) : getQuestState(killer, false);
+ if ((qs != null) && (qs.getCond() > 1))
+ {
+ switch (qs.getCond())
+ {
+ case 2:
+ {
+ final int killedGhosts = qs.getInt("AncientGhosts") + 1;
+ qs.set("AncientGhosts", killedGhosts);
+ playSound(killer, QuestSound.ITEMSOUND_QUEST_ITEMGET);
+
+ if (killedGhosts >= 100)
+ {
+ qs.setCond(5, true);
+ }
+ break;
+ }
+ case 3:
+ {
+ final int killedGhosts = qs.getInt("AncientGhosts") + 1;
+ qs.set("AncientGhosts", killedGhosts);
+ playSound(killer, QuestSound.ITEMSOUND_QUEST_ITEMGET);
+
+ if (killedGhosts >= 200)
+ {
+ qs.setCond(6, true);
+ }
+ break;
+ }
+ case 4:
+ {
+ final int killedGhosts = qs.getInt("AncientGhosts") + 1;
+ qs.set("AncientGhosts", killedGhosts);
+ playSound(killer, QuestSound.ITEMSOUND_QUEST_ITEMGET);
+
+ if (killedGhosts >= 300)
+ {
+ qs.setCond(7, true);
+ }
+ break;
+ }
+ }
+ }
+ return super.onKill(npc, killer, isSummon);
+ }
+
+ @Override
+ public Set getNpcLogList(PlayerInstance player)
+ {
+ final QuestState qs = getQuestState(player, false);
+ if ((qs != null) && (qs.getCond() > 1))
+ {
+ final Set holder = new HashSet<>();
+ holder.add(new NpcLogListHolder(KILLING_NPCSTRING_ID, true, qs.getInt("AncientGhosts")));
+ return holder;
+ }
+ return super.getNpcLogList(player);
+ }
+}
\ No newline at end of file
diff --git a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q10540_ThwartingMimirsPlan/34237-00.htm b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q10540_ThwartingMimirsPlan/34237-00.htm
new file mode 100644
index 0000000000..2ce847f7bd
--- /dev/null
+++ b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q10540_ThwartingMimirsPlan/34237-00.htm
@@ -0,0 +1,4 @@
+Krenaht:
+This place is too dangerous for you. Please return to the continent.
+(Only characters Lv. 100.)
+
\ No newline at end of file
diff --git a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q10540_ThwartingMimirsPlan/34237-01.htm b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q10540_ThwartingMimirsPlan/34237-01.htm
new file mode 100644
index 0000000000..5699913e62
--- /dev/null
+++ b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q10540_ThwartingMimirsPlan/34237-01.htm
@@ -0,0 +1,4 @@
+Krenaht:
+Beleth...! That man is behind everything that happened here. Only his death will end this nightmare. Please, help me.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q10540_ThwartingMimirsPlan/34237-02.htm b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q10540_ThwartingMimirsPlan/34237-02.htm
new file mode 100644
index 0000000000..4ca2550c47
--- /dev/null
+++ b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q10540_ThwartingMimirsPlan/34237-02.htm
@@ -0,0 +1,4 @@
+Krenaht:
+To interfere with his plans, we began finding and destroying Fragments of Chaos, though the latter did require the Giant's Grinder. Anyway, destroying these will lure Beleth out of safety, and we plan to start the operation as soon as we have enough.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q10540_ThwartingMimirsPlan/34237-03.htm b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q10540_ThwartingMimirsPlan/34237-03.htm
new file mode 100644
index 0000000000..c3b0bef012
--- /dev/null
+++ b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q10540_ThwartingMimirsPlan/34237-03.htm
@@ -0,0 +1,5 @@
+Krenaht:
+The Giant's Grinder is in the heart of Hellbound. I will give a signal when Beleth appears; gather up your allies and let us all take him down once and for all.
+For our dignity.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q10540_ThwartingMimirsPlan/34237-04.htm b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q10540_ThwartingMimirsPlan/34237-04.htm
new file mode 100644
index 0000000000..32b3ddd37a
--- /dev/null
+++ b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q10540_ThwartingMimirsPlan/34237-04.htm
@@ -0,0 +1,4 @@
+Krenaht:
+The Wormhole activates when Beleth appears; use it to go to the heart of Hellbound. There we will face and defeat Beleth together! If nothing else, we must at least take down Darion, his right-hand man.
+If it is the will of you and your fellow warriors, I will also join the battle.
+
\ No newline at end of file
diff --git a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q10540_ThwartingMimirsPlan/34237-05.html b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q10540_ThwartingMimirsPlan/34237-05.html
new file mode 100644
index 0000000000..51e6508fbe
--- /dev/null
+++ b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q10540_ThwartingMimirsPlan/34237-05.html
@@ -0,0 +1,4 @@
+Krenaht:
+It may have been an illusion, but let us call it a success.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q10540_ThwartingMimirsPlan/34237-06.html b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q10540_ThwartingMimirsPlan/34237-06.html
new file mode 100644
index 0000000000..3fda9f375a
--- /dev/null
+++ b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q10540_ThwartingMimirsPlan/34237-06.html
@@ -0,0 +1,3 @@
+Krenaht:
+Please take this gift of gratitude.
+
\ No newline at end of file
diff --git a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q10540_ThwartingMimirsPlan/Q10540_ThwartingMimirsPlan.java b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q10540_ThwartingMimirsPlan/Q10540_ThwartingMimirsPlan.java
new file mode 100644
index 0000000000..c4cdbefd6a
--- /dev/null
+++ b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q10540_ThwartingMimirsPlan/Q10540_ThwartingMimirsPlan.java
@@ -0,0 +1,140 @@
+/*
+ * 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.Q10540_ThwartingMimirsPlan;
+
+import org.l2jmobius.Config;
+import org.l2jmobius.gameserver.model.actor.Npc;
+import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
+import org.l2jmobius.gameserver.model.quest.Quest;
+import org.l2jmobius.gameserver.model.quest.QuestState;
+import org.l2jmobius.gameserver.model.quest.State;
+import org.l2jmobius.gameserver.util.Util;
+
+/**
+ * Thwarting Mimir's Plan (10540)
+ * @URL https://l2wiki.com/Thwarting_Mimir%27s_Plan
+ * @author Dmitri
+ */
+public class Q10540_ThwartingMimirsPlan extends Quest
+{
+ // NPCs
+ private static final int KRENAHT = 34237;
+ // Boss
+ private static final int MIMIR = 26137;
+ // Misc
+ private static final int MIN_LEVEL = 100;
+ private static final int GIANTS_SCROLL_R_GRADE_WEAPON = 36386;
+
+ public Q10540_ThwartingMimirsPlan()
+ {
+ super(10540);
+ addStartNpc(KRENAHT);
+ addTalkId(KRENAHT);
+ addKillId(MIMIR);
+ addCondMinLevel(MIN_LEVEL, "34237-00.htm");
+ }
+
+ @Override
+ public String onAdvEvent(String event, Npc npc, PlayerInstance player)
+ {
+ final QuestState qs = getQuestState(player, false);
+ if (qs == null)
+ {
+ return null;
+ }
+
+ String htmltext = null;
+ switch (event)
+ {
+ case "34237-02.htm":
+ case "34237-03.htm":
+ {
+ htmltext = event;
+ break;
+ }
+ case "34237-04.htm":
+ {
+ qs.startQuest();
+ htmltext = event;
+ break;
+ }
+ case "34237-06.html":
+ {
+ if (qs.isCond(2))
+ {
+ giveItems(player, GIANTS_SCROLL_R_GRADE_WEAPON, 1);
+ addExpAndSp(player, 3954960000L, 9491880);
+ qs.exitQuest(false, true);
+ htmltext = event;
+ }
+ break;
+ }
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onTalk(Npc npc, PlayerInstance player)
+ {
+ final QuestState qs = getQuestState(player, true);
+ String htmltext = getNoQuestMsg(player);
+
+ switch (qs.getState())
+ {
+ case State.CREATED:
+ {
+ htmltext = "34237-01.htm";
+ break;
+ }
+ case State.STARTED:
+ {
+ if (qs.isCond(1))
+ {
+ htmltext = "34237-04.htm";
+ }
+ else
+ {
+ htmltext = "34237-05.html";
+ }
+ break;
+ }
+ case State.COMPLETED:
+ {
+ htmltext = getAlreadyCompletedMsg(player);
+ break;
+ }
+ }
+ return htmltext;
+ }
+
+ @Override
+ public void actionForEachPlayer(PlayerInstance player, Npc npc, boolean isSummon)
+ {
+ final QuestState qs = getQuestState(player, false);
+ if ((qs != null) && qs.isCond(1) && Util.checkIfInRange(Config.ALT_PARTY_RANGE, npc, player, false))
+ {
+ qs.setCond(2, true);
+ }
+ }
+
+ @Override
+ public String onKill(Npc npc, PlayerInstance killer, boolean isSummon)
+ {
+ executeForEachPlayer(killer, npc, isSummon, true, false);
+ return super.onKill(npc, killer, isSummon);
+ }
+}
\ No newline at end of file
diff --git a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q10833_PutTheQueenOfSpiritsToSleep/Q10833_PutTheQueenOfSpiritsToSleep.java b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q10833_PutTheQueenOfSpiritsToSleep/Q10833_PutTheQueenOfSpiritsToSleep.java
index e291d29351..898a1f2eea 100644
--- a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q10833_PutTheQueenOfSpiritsToSleep/Q10833_PutTheQueenOfSpiritsToSleep.java
+++ b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q10833_PutTheQueenOfSpiritsToSleep/Q10833_PutTheQueenOfSpiritsToSleep.java
@@ -16,6 +16,7 @@
*/
package quests.Q10833_PutTheQueenOfSpiritsToSleep;
+import org.l2jmobius.gameserver.enums.Faction;
import org.l2jmobius.gameserver.model.actor.Npc;
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
import org.l2jmobius.gameserver.model.quest.Quest;
@@ -35,13 +36,12 @@ public class Q10833_PutTheQueenOfSpiritsToSleep extends Quest
private static final int FERIN = 34054;
private static final int ISABELLA = 26131;
// Items
- private static final int MARK_OF_TRUST_HIGH_GRADE = 45848;
private static final int ISABELLAS_EVIL_THOUGHTS = 45839;
private static final int SOE = 46158;
private static final int ELCYUM_CRYSTAL = 36514;
private static final int GIANTS_CODEX = 46152;
// Misc
- private static final int MIN_LEVEL = 100;
+ private static final int MIN_LEVEL = 102;
public Q10833_PutTheQueenOfSpiritsToSleep()
{
@@ -52,6 +52,7 @@ public class Q10833_PutTheQueenOfSpiritsToSleep extends Quest
registerQuestItems(ISABELLAS_EVIL_THOUGHTS);
addCondMinLevel(MIN_LEVEL, "34054-00.htm");
addCondCompletedQuest(Q10832_EnergyOfSadnessAndAnger.class.getSimpleName(), "34054-00.htm");
+ addFactionLevel(Faction.UNWORLDLY_VISITORS, 6, "34054-00.htm");
}
@Override
@@ -83,7 +84,7 @@ public class Q10833_PutTheQueenOfSpiritsToSleep extends Quest
giveItems(player, GIANTS_CODEX, 1);
giveItems(player, ELCYUM_CRYSTAL, 1);
giveItems(player, SOE, 1);
- addExpAndSp(player, 1637472704L, 14237820);
+ addExpAndSp(player, 22221427950L, 22221360);
qs.exitQuest(false, true);
htmltext = event;
break;
@@ -101,11 +102,6 @@ public class Q10833_PutTheQueenOfSpiritsToSleep extends Quest
{
case State.CREATED:
{
- if (!hasQuestItems(player, MARK_OF_TRUST_HIGH_GRADE))
- {
- htmltext = "noItem.htm";
- break;
- }
htmltext = "34054-01.htm";
break;
}
diff --git a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q10833_PutTheQueenOfSpiritsToSleep/noItem.htm b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q10833_PutTheQueenOfSpiritsToSleep/noItem.htm
deleted file mode 100644
index 3ba66309d6..0000000000
--- a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q10833_PutTheQueenOfSpiritsToSleep/noItem.htm
+++ /dev/null
@@ -1,4 +0,0 @@
-Ferin:
-You! Do you even know who you are talking to? Go away!
-(This quest may only be undertaken by characters with a Mark of Trust (High-grade).)
-
\ No newline at end of file
diff --git a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34054-00.htm b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34054-00.htm
new file mode 100644
index 0000000000..264b837f17
--- /dev/null
+++ b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34054-00.htm
@@ -0,0 +1,4 @@
+Ferin:
+You think you are enough? Well, I can't agree to that.
+(This quest is for characters level 102 and Unworldly Visitors faction level should be 6.)
+
\ No newline at end of file
diff --git a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34054-01.htm b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34054-01.htm
new file mode 100644
index 0000000000..fda0dff0a1
--- /dev/null
+++ b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34054-01.htm
@@ -0,0 +1,4 @@
+Ferin:
+I've done some research with the items we got from defeating El Floato. It looks like the spirits have been affected by the same power that forcefully brought the Garden of Spirits. In other words, they've been forcefully awakened and are now unstable. In order to stabilize themselves, they are affecting their surroundings negatively.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34054-02.htm b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34054-02.htm
new file mode 100644
index 0000000000..2e5abdb92d
--- /dev/null
+++ b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34054-02.htm
@@ -0,0 +1,4 @@
+Ferin:
+However, that's just a description of the phenomena. It doesn't help us in finding out how to go back to our realm. It might be more effective if a creature with a more powerful energy is defeated.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34054-03.htm b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34054-03.htm
new file mode 100644
index 0000000000..4a1ac5614b
--- /dev/null
+++ b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34054-03.htm
@@ -0,0 +1,4 @@
+Ferin:
+You might think that I'm stubborn. But please understand where I'm coming from. Will you help me? Even if it might be dangerous.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34054-04.htm b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34054-04.htm
new file mode 100644
index 0000000000..fa03d04972
--- /dev/null
+++ b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34054-04.htm
@@ -0,0 +1,3 @@
+Ferin:
+Defeat Harpe in the Garden of Spirits to can obtain Sad Energy and Angry Energy. If you bring me those, I'll be able to find out about their sadness and anger. It will be really helpful for my research.
+
\ No newline at end of file
diff --git a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34054-05.html b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34054-05.html
new file mode 100644
index 0000000000..4b1d311a70
--- /dev/null
+++ b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34054-05.html
@@ -0,0 +1,3 @@
+Ferin:
+It's said that when you defeat Harpe, you can obtain Sad Energy and Angry Energy. If you bring me those, I'll be able to find out about their sadness and anger. It will be really helpful for my research.
+
\ No newline at end of file
diff --git a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34054-06.html b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34054-06.html
new file mode 100644
index 0000000000..62d6c3d580
--- /dev/null
+++ b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34054-06.html
@@ -0,0 +1,4 @@
+Ferin:
+Did you finish the mission? Great.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34054-07.html b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34054-07.html
new file mode 100644
index 0000000000..33b4808a43
--- /dev/null
+++ b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34054-07.html
@@ -0,0 +1,3 @@
+Ferin:
+Great. Ferin will know what to do after seeing the results of the investigation. Go talk to Ferin. Keep in mind that you must build trust first.
+
\ No newline at end of file
diff --git a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34054-09.html b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34054-09.html
new file mode 100644
index 0000000000..08fbf732a0
--- /dev/null
+++ b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34054-09.html
@@ -0,0 +1,4 @@
+Ferin:
+Did you finish the mission? Great.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34054-10.html b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34054-10.html
new file mode 100644
index 0000000000..33b4808a43
--- /dev/null
+++ b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34054-10.html
@@ -0,0 +1,3 @@
+Ferin:
+Great. Ferin will know what to do after seeing the results of the investigation. Go talk to Ferin. Keep in mind that you must build trust first.
+
\ No newline at end of file
diff --git a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34055-01.html b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34055-01.html
new file mode 100644
index 0000000000..e389377838
--- /dev/null
+++ b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34055-01.html
@@ -0,0 +1,4 @@
+Cyphona:
+Did you finish the mission? Great.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34055-02.html b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34055-02.html
new file mode 100644
index 0000000000..1371f1a7e7
--- /dev/null
+++ b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34055-02.html
@@ -0,0 +1,4 @@
+Cyphona:
+Did you finish the mission? Great.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34055-03.html b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34055-03.html
new file mode 100644
index 0000000000..210b59aad0
--- /dev/null
+++ b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34055-03.html
@@ -0,0 +1,3 @@
+Cyphona:
+Great. Ferin will know what to do after seeing the results of the investigation. Go talk to Ferin. Keep in mind that you must build trust first.
+
\ No newline at end of file
diff --git a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34056-01.html b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34056-01.html
new file mode 100644
index 0000000000..17d8d2f5ff
--- /dev/null
+++ b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34056-01.html
@@ -0,0 +1,4 @@
+Belas:
+Did you finish the mission? Great.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34056-02.html b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34056-02.html
new file mode 100644
index 0000000000..cff97244ab
--- /dev/null
+++ b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34056-02.html
@@ -0,0 +1,4 @@
+Belas:
+Did you finish the mission? Great.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34056-03.html b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34056-03.html
new file mode 100644
index 0000000000..be0ec6881b
--- /dev/null
+++ b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34056-03.html
@@ -0,0 +1,3 @@
+Belas:
+Great. Ferin will know what to do after seeing the results of the investigation. Go talk to Ferin. Keep in mind that you must build trust first.
+
\ No newline at end of file
diff --git a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34238-01.html b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34238-01.html
new file mode 100644
index 0000000000..53953a2d31
--- /dev/null
+++ b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34238-01.html
@@ -0,0 +1,4 @@
+Eubina:
+Did you finish the mission? Great.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34238-02.html b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34238-02.html
new file mode 100644
index 0000000000..70337cd469
--- /dev/null
+++ b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34238-02.html
@@ -0,0 +1,4 @@
+Eubina:
+Did you finish the mission? Great.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34238-03.html b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34238-03.html
new file mode 100644
index 0000000000..94677730ab
--- /dev/null
+++ b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34238-03.html
@@ -0,0 +1,3 @@
+Eubina:
+Great. Ferin will know what to do after seeing the results of the investigation. Go talk to Ferin. Keep in mind that you must build trust first.
+
\ No newline at end of file
diff --git a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34239-01.html b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34239-01.html
new file mode 100644
index 0000000000..0737f45d04
--- /dev/null
+++ b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34239-01.html
@@ -0,0 +1,4 @@
+Rotoeh:
+Did you finish the mission? Great.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34239-02.html b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34239-02.html
new file mode 100644
index 0000000000..aebb815d8b
--- /dev/null
+++ b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34239-02.html
@@ -0,0 +1,4 @@
+Rotoeh:
+Did you finish the mission? Great.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34239-03.html b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34239-03.html
new file mode 100644
index 0000000000..fe84b631cf
--- /dev/null
+++ b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/34239-03.html
@@ -0,0 +1,3 @@
+Rotoeh:
+Great. Ferin will know what to do after seeing the results of the investigation. Go talk to Ferin. Keep in mind that you must build trust first.
+
\ No newline at end of file
diff --git a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/Q10849_TrialsForAdaptation.java b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/Q10849_TrialsForAdaptation.java
new file mode 100644
index 0000000000..dc778fe19d
--- /dev/null
+++ b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q10849_TrialsForAdaptation/Q10849_TrialsForAdaptation.java
@@ -0,0 +1,300 @@
+/*
+ * 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.Q10849_TrialsForAdaptation;
+
+import org.l2jmobius.Config;
+import org.l2jmobius.gameserver.enums.Faction;
+import org.l2jmobius.gameserver.enums.QuestSound;
+import org.l2jmobius.gameserver.model.actor.Npc;
+import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
+import org.l2jmobius.gameserver.model.quest.Quest;
+import org.l2jmobius.gameserver.model.quest.QuestState;
+import org.l2jmobius.gameserver.model.quest.State;
+
+/**
+ * Trials for Adaptation (10849)
+ * @URL https://l2wiki.com/Trials_for_Adaptation
+ * @author Dmitri
+ */
+public class Q10849_TrialsForAdaptation extends Quest
+{
+ // NPC
+ private static final int FERIN = 34054;
+ private static final int EUBINA = 34238;
+ private static final int ROTOEH = 34239;
+ private static final int CYPHONA = 34055;
+ private static final int BELAS = 34056;
+ // Monsters
+ private static final int KERBEROS_LAGER_N = 23550; // (night)
+ private static final int KERBEROS_LAGER = 23541;
+ private static final int KERBEROS_FORT_N = 23551; // (night)
+ private static final int KERBEROS_FORT = 23542;
+ private static final int KERBEROS_NERO_N = 23552; // (night)
+ private static final int KERBEROS_NERO = 23543;
+ private static final int FURY_SYLPH_BARRENA_N = 23553; // (night)
+ private static final int FURY_SYLPH_BARRENA = 23544;
+ private static final int FURY_SYLPH_TEMPTRESS_N = 23555; // (night)
+ private static final int FURY_SYLPH_TEMPTRESS = 23546;
+ private static final int FURY_SYLPH_PURKA_N = 23556; // (night)
+ private static final int FURY_SYLPH_PURKA = 23547;
+ private static final int FURY_KERBEROS_LEGER_N = 23557; // (night)
+ private static final int FURY_KERBEROS_LEGER = 23545;
+ private static final int FURY_KERBEROS_NERO_N = 23558; // (night)
+ private static final int FURY_KERBEROS_NERO = 23549;
+ // Items
+ private static final int ENERGY_LADEL_WITH_THE_DAYS = 47189;
+ private static final int ENERGY_LADEL_WITH_THE_NIGHTS = 47190;
+ // Reward
+ private static final int RUNE_STONE = 39738;
+ private static final int SPELLBOOK_WING_HOUND = 47152;
+ // Misc
+ private static final int MIN_LEVEL = 102;
+
+ public Q10849_TrialsForAdaptation()
+ {
+ super(10849);
+ addStartNpc(FERIN);
+ addTalkId(FERIN, EUBINA, ROTOEH, CYPHONA, BELAS);
+ addKillId(KERBEROS_LAGER, KERBEROS_LAGER_N, KERBEROS_FORT, KERBEROS_FORT_N, KERBEROS_NERO, KERBEROS_NERO_N, FURY_SYLPH_BARRENA, FURY_SYLPH_BARRENA_N, FURY_SYLPH_TEMPTRESS, FURY_SYLPH_TEMPTRESS_N, FURY_SYLPH_PURKA, FURY_SYLPH_PURKA_N, FURY_KERBEROS_LEGER, FURY_KERBEROS_LEGER_N, FURY_KERBEROS_NERO, FURY_KERBEROS_NERO_N);
+ registerQuestItems(ENERGY_LADEL_WITH_THE_DAYS, ENERGY_LADEL_WITH_THE_NIGHTS);
+ addCondMinLevel(MIN_LEVEL, "34054-00.htm");
+ addFactionLevel(Faction.UNWORLDLY_VISITORS, 6, "34054-00.htm");
+ }
+
+ @Override
+ public String onAdvEvent(String event, Npc npc, PlayerInstance player)
+ {
+ String htmltext = null;
+ final QuestState qs = getQuestState(player, false);
+ if (qs == null)
+ {
+ return htmltext;
+ }
+
+ switch (event)
+ {
+ case "34054-02.htm":
+ case "34054-03.htm":
+ case "34238-03.html":
+ case "34239-03.html":
+ case "34055-03.html":
+ case "34056-03.html":
+ {
+ htmltext = event;
+ break;
+ }
+ case "34054-04.htm":
+ {
+ qs.startQuest();
+ htmltext = event;
+ break;
+ }
+ case "34054-07.html":
+ {
+ qs.setCond(3, true);
+ htmltext = event;
+ break;
+ }
+ case "34238-02.html":
+ {
+ qs.setCond(4, true);
+ htmltext = event;
+ break;
+ }
+ case "34239-02.html":
+ {
+ qs.setCond(5, true);
+ htmltext = event;
+ break;
+ }
+ case "34055-02.html":
+ {
+ qs.setCond(6, true);
+ htmltext = event;
+ break;
+ }
+ case "34056-02.html":
+ {
+ qs.setCond(7, true);
+ htmltext = event;
+ break;
+ }
+ case "34054-10.html":
+ {
+ if (qs.isCond(7))
+ {
+ giveItems(player, RUNE_STONE, 1);
+ giveItems(player, SPELLBOOK_WING_HOUND, 1);
+ addExpAndSp(player, 444428559000L, 444427200);
+ qs.exitQuest(false, true);
+ htmltext = event;
+ }
+ break;
+ }
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onTalk(Npc npc, PlayerInstance player)
+ {
+ final QuestState qs = getQuestState(player, true);
+ String htmltext = getNoQuestMsg(player);
+
+ switch (qs.getState())
+ {
+ case State.CREATED:
+ {
+ if (npc.getId() == FERIN)
+ {
+ htmltext = "34054-01.htm";
+ }
+ break;
+ }
+ case State.STARTED:
+ {
+ switch (npc.getId())
+ {
+ case FERIN:
+ {
+ if (qs.isCond(1))
+ {
+ htmltext = "34054-05.html";
+ }
+ else if (qs.isCond(2))
+ {
+ htmltext = "34054-06.html";
+ }
+ else if (qs.isCond(3))
+ {
+ htmltext = "34054-07.html";
+ }
+ else if (qs.isCond(7))
+ {
+ htmltext = "34054-09.html";
+ }
+ break;
+ }
+ case EUBINA:
+ {
+ if (qs.isCond(3))
+ {
+ htmltext = "34238-01.html";
+ }
+ else if (qs.isCond(4))
+ {
+ htmltext = "34238-03.html";
+ }
+ break;
+ }
+ case ROTOEH:
+ {
+ if (qs.isCond(4))
+ {
+ htmltext = "34239-01.html";
+ }
+ else if (qs.isCond(5))
+ {
+ htmltext = "34239-03.html";
+ }
+ break;
+ }
+ case CYPHONA:
+ {
+ if (qs.isCond(5))
+ {
+ htmltext = "34055-01.html";
+ }
+ else if (qs.isCond(6))
+ {
+ htmltext = "34055-03.html";
+ }
+ break;
+ }
+ case BELAS:
+ {
+ if (qs.isCond(6))
+ {
+ htmltext = "34056-01.html";
+ }
+ else if (qs.isCond(7))
+ {
+ htmltext = "34056-03.html";
+ }
+ break;
+ }
+ }
+ break;
+ }
+ case State.COMPLETED:
+ {
+ htmltext = getAlreadyCompletedMsg(player);
+ break;
+ }
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onKill(Npc npc, PlayerInstance killer, boolean isSummon)
+ {
+ final QuestState qs = getQuestState(killer, false);
+ if ((qs != null) && qs.isCond(1) && killer.isInsideRadius3D(npc, Config.ALT_PARTY_RANGE))
+ {
+ switch (npc.getId())
+ {
+ case FURY_SYLPH_BARRENA_N:
+ case FURY_SYLPH_TEMPTRESS_N:
+ case FURY_SYLPH_PURKA_N:
+ case FURY_KERBEROS_LEGER_N:
+ case FURY_KERBEROS_NERO_N:
+ case KERBEROS_LAGER_N:
+ case KERBEROS_FORT_N:
+ case KERBEROS_NERO_N:
+ {
+ if (getRandom(100) < 99)
+ {
+ giveItems(killer, ENERGY_LADEL_WITH_THE_NIGHTS, 1);
+ playSound(killer, QuestSound.ITEMSOUND_QUEST_ITEMGET);
+ }
+ break;
+ }
+ case FURY_SYLPH_BARRENA:
+ case FURY_SYLPH_TEMPTRESS:
+ case FURY_SYLPH_PURKA:
+ case FURY_KERBEROS_LEGER:
+ case FURY_KERBEROS_NERO:
+ case KERBEROS_LAGER:
+ case KERBEROS_FORT:
+ case KERBEROS_NERO:
+ {
+ if (getRandom(100) < 99)
+ {
+ giveItems(killer, ENERGY_LADEL_WITH_THE_DAYS, 1);
+ playSound(killer, QuestSound.ITEMSOUND_QUEST_ITEMGET);
+ }
+ break;
+ }
+ }
+ if ((getQuestItemsCount(killer, ENERGY_LADEL_WITH_THE_DAYS) >= 1500) && (getQuestItemsCount(killer, ENERGY_LADEL_WITH_THE_NIGHTS) >= 500))
+ {
+ qs.setCond(2, true);
+ }
+ }
+ return super.onKill(npc, killer, isSummon);
+ }
+}
diff --git a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/QuestMasterHandler.java b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/QuestMasterHandler.java
index 7056aab2c1..25dc2b01c0 100644
--- a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/QuestMasterHandler.java
+++ b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/QuestMasterHandler.java
@@ -64,6 +64,7 @@ import quests.Q00726_LightWithinTheDarkness.Q00726_LightWithinTheDarkness;
import quests.Q00727_HopeWithinTheDarkness.Q00727_HopeWithinTheDarkness;
import quests.Q00737_ASwordHiddenInASmile.Q00737_ASwordHiddenInASmile;
import quests.Q00738_DimensionalExplorationOfTheUnworldlyVisitors.Q00738_DimensionalExplorationOfTheUnworldlyVisitors;
+import quests.Q00743_AtTheAltarOfOblivion.Q00743_AtTheAltarOfOblivion;
import quests.Q00752_UncoverTheSecret.Q00752_UncoverTheSecret;
import quests.Q00753_ReactingToACrisis.Q00753_ReactingToACrisis;
import quests.Q00754_AssistingTheRebelForces.Q00754_AssistingTheRebelForces;
@@ -94,6 +95,7 @@ import quests.Q00903_TheCallOfAntharas.Q00903_TheCallOfAntharas;
import quests.Q00905_RefinedDragonBlood.Q00905_RefinedDragonBlood;
import quests.Q00906_TheCallOfValakas.Q00906_TheCallOfValakas;
import quests.Q00923_ShinedustExtraction.Q00923_ShinedustExtraction;
+import quests.Q00924_GiantOfTheRestorationRoom.Q00924_GiantOfTheRestorationRoom;
import quests.Q00926_30DaySearchOperation.Q00926_30DaySearchOperation;
import quests.Q00928_100DaySubjugationOperation.Q00928_100DaySubjugationOperation;
import quests.Q00931_MemoriesOfTheWind.Q00931_MemoriesOfTheWind;
@@ -122,6 +124,7 @@ import quests.Q10459_ASickAmbition.Q10459_ASickAmbition;
import quests.Q10501_ZakenEmbroideredSoulCloak.Q10501_ZakenEmbroideredSoulCloak;
import quests.Q10502_FreyaEmbroideredSoulCloak.Q10502_FreyaEmbroideredSoulCloak;
import quests.Q10503_FrintezzaEmbroideredSoulCloak.Q10503_FrintezzaEmbroideredSoulCloak;
+import quests.Q10540_ThwartingMimirsPlan.Q10540_ThwartingMimirsPlan;
import quests.Q10566_BestChoice.Q10566_BestChoice;
import quests.Q10571_StrategicReconciliation.Q10571_StrategicReconciliation;
import quests.Q10575_LetsGoFishing.Q10575_LetsGoFishing;
@@ -168,6 +171,7 @@ import quests.Q10838_TheReasonForNotBeingAbleToGetOut.Q10838_TheReasonForNotBein
import quests.Q10839_BlackbirdsNameValue.Q10839_BlackbirdsNameValue;
import quests.Q10840_TimeToRecover.Q10840_TimeToRecover;
import quests.Q10843_AnomalyInTheEnchantedValley.Q10843_AnomalyInTheEnchantedValley;
+import quests.Q10849_TrialsForAdaptation.Q10849_TrialsForAdaptation;
import quests.Q10851_ElvenBotany.Q10851_ElvenBotany;
import quests.Q10856_SuperionAppears.Q10856_SuperionAppears;
import quests.Q11025_PathOfDestinyProving.Q11025_PathOfDestinyProving;
@@ -298,7 +302,7 @@ public class QuestMasterHandler
Q00727_HopeWithinTheDarkness.class,
Q00737_ASwordHiddenInASmile.class,
Q00738_DimensionalExplorationOfTheUnworldlyVisitors.class,
- Q00743_AtTheAltarOfOblivion.class, // TODO: Not done.
+ Q00743_AtTheAltarOfOblivion.class,
Q00749_TiesWithTheGuardians.class, // TODO: Not done.
Q00752_UncoverTheSecret.class,
Q00753_ReactingToACrisis.class,
@@ -348,7 +352,7 @@ public class QuestMasterHandler
Q00905_RefinedDragonBlood.class,
Q00906_TheCallOfValakas.class,
Q00923_ShinedustExtraction.class,
- Q00924_GiantOfTheRestorationRoom.class, // TODO: Not done.
+ Q00924_GiantOfTheRestorationRoom.class,
Q00926_30DaySearchOperation.class,
Q00928_100DaySubjugationOperation.class,
Q00929_SeekerRescue.class, // TODO: Not done.
@@ -407,7 +411,7 @@ public class QuestMasterHandler
Q10537_KamaelDisarray.class, // TODO: Not done.
Q10538_GiantsEvolution.class, // TODO: Not done.
Q10539_EnergySupplyCutoffPlan.class, // TODO: Not done.
- Q10540_ThwartingMimirsPlan.class, // TODO: Not done.
+ Q10540_ThwartingMimirsPlan.class,
Q10566_BestChoice.class,
Q10567_SpecialMissionNornilsGarden.class, // TODO: Not done.
Q10568_KamaelsTechnologicalAdvancement.class, // TODO: Not done.
@@ -472,7 +476,7 @@ public class QuestMasterHandler
Q10845_BloodyBattleRescueTheSmiths.class, // TODO: Not done.
Q10846_BloodyBattleMeetingTheCommander.class, // TODO: Not done.
Q10848_TrialsBeforeTheBattle.class, // TODO: Not done.
- Q10849_TrialsForAdaptation.class, // TODO: Not done.
+ Q10849_TrialsForAdaptation.class,
Q10851_ElvenBotany.class,
Q10852_TheMotherTreeRevivalProject.class, // TODO: Not done.
Q10853_ToWeakenTheGiants.class, // TODO: Not done.
diff --git a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/not_done/Q00743_AtTheAltarOfOblivion.java b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/not_done/Q00743_AtTheAltarOfOblivion.java
deleted file mode 100644
index 5abada5823..0000000000
--- a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/not_done/Q00743_AtTheAltarOfOblivion.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
- * This file is part of the L2J Mobius project.
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-package quests.not_done;
-
-import org.l2jmobius.Config;
-import org.l2jmobius.gameserver.model.quest.Quest;
-
-/**
- * @author Mobius
- */
-public class Q00743_AtTheAltarOfOblivion extends Quest
-{
- private static final int START_NPC = 34054;
-
- public Q00743_AtTheAltarOfOblivion()
- {
- super(743);
- addStartNpc(START_NPC);
- addTalkId(START_NPC);
- addCondMinLevel(Config.PLAYER_MAXIMUM_LEVEL, getNoQuestMsg(null));
- }
-}
diff --git a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/not_done/Q00924_GiantOfTheRestorationRoom.java b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/not_done/Q00924_GiantOfTheRestorationRoom.java
deleted file mode 100644
index 883bded9b3..0000000000
--- a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/not_done/Q00924_GiantOfTheRestorationRoom.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
- * This file is part of the L2J Mobius project.
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-package quests.not_done;
-
-import org.l2jmobius.Config;
-import org.l2jmobius.gameserver.model.quest.Quest;
-
-/**
- * @author Mobius
- */
-public class Q00924_GiantOfTheRestorationRoom extends Quest
-{
- private static final int START_NPC = 34217;
-
- public Q00924_GiantOfTheRestorationRoom()
- {
- super(924);
- addStartNpc(START_NPC);
- addTalkId(START_NPC);
- addCondMinLevel(Config.PLAYER_MAXIMUM_LEVEL, getNoQuestMsg(null));
- }
-}
diff --git a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/not_done/Q10540_ThwartingMimirsPlan.java b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/not_done/Q10540_ThwartingMimirsPlan.java
deleted file mode 100644
index 8ced631154..0000000000
--- a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/not_done/Q10540_ThwartingMimirsPlan.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
- * This file is part of the L2J Mobius project.
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-package quests.not_done;
-
-import org.l2jmobius.Config;
-import org.l2jmobius.gameserver.model.quest.Quest;
-
-/**
- * @author Mobius
- */
-public class Q10540_ThwartingMimirsPlan extends Quest
-{
- private static final int START_NPC = 34237;
-
- public Q10540_ThwartingMimirsPlan()
- {
- super(10540);
- addStartNpc(START_NPC);
- addTalkId(START_NPC);
- addCondMinLevel(Config.PLAYER_MAXIMUM_LEVEL, getNoQuestMsg(null));
- }
-}
diff --git a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/not_done/Q10849_TrialsForAdaptation.java b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/not_done/Q10849_TrialsForAdaptation.java
deleted file mode 100644
index 636edba9ac..0000000000
--- a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/not_done/Q10849_TrialsForAdaptation.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
- * This file is part of the L2J Mobius project.
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-package quests.not_done;
-
-import org.l2jmobius.Config;
-import org.l2jmobius.gameserver.model.quest.Quest;
-
-/**
- * @author Mobius
- */
-public class Q10849_TrialsForAdaptation extends Quest
-{
- private static final int START_NPC = 34054;
-
- public Q10849_TrialsForAdaptation()
- {
- super(10849);
- addStartNpc(START_NPC);
- addTalkId(START_NPC);
- addCondMinLevel(Config.PLAYER_MAXIMUM_LEVEL, getNoQuestMsg(null));
- }
-}