Sedrick:
+At some point in their lives, all the knights are at a crossroads. To determine the right path, they go on a pilgrimage.
+Talk to Master Felix from the Village of the Hunters. He left chivalry and went his own way.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00070_SagaOfThePhoenixKnight/30849-02.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00070_SagaOfThePhoenixKnight/30849-02.htm
new file mode 100644
index 0000000000..f7d165a0a8
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00070_SagaOfThePhoenixKnight/30849-02.htm
@@ -0,0 +1,5 @@
+Sedrick:
+My young friend, you do not have enough experience to become a Knight of the Phoenix. I see your passion and I hope that you will keep it in your heart, but it is not enough - only through the experience of battle you can acquire the power that will allow you not to deviate from your faith in the era of untruth.
+Come back when you are a little older and wiser. When you are ready, I will give you a mission to check if you are ready to become a Knight.
+(Quest for characters whose level is 76 or higher.)
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00070_SagaOfThePhoenixKnight/30849-02a.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00070_SagaOfThePhoenixKnight/30849-02a.htm
new file mode 100644
index 0000000000..dc52546c45
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00070_SagaOfThePhoenixKnight/30849-02a.htm
@@ -0,0 +1,5 @@
+Sedrick:
+Have you not already received the title of the Knight of the Phoenix?
+ My brother, you do not have to go through the test of the squire again.
+ Your duty is to fight for your faith and the glory of the lord.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00070_SagaOfThePhoenixKnight/30849-03.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00070_SagaOfThePhoenixKnight/30849-03.htm
new file mode 100644
index 0000000000..4c6d186e61
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00070_SagaOfThePhoenixKnight/30849-03.htm
@@ -0,0 +1,7 @@
+Sedrick:
+Do you want to become a Phoenix Knight?
+Well, then you must pass Saga Phoenix Knight,
+ To prove that you are not just a reckless, quick-tempered warrior, but
+ Warrior with the soul of this Knight. It is a form of ritual and the process of training,
+ They must be performed by all who wish to become a Knight of the Phoenix.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00070_SagaOfThePhoenixKnight/30849-04.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00070_SagaOfThePhoenixKnight/30849-04.htm
new file mode 100644
index 0000000000..08b1d05de7
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00070_SagaOfThePhoenixKnight/30849-04.htm
@@ -0,0 +1,4 @@
+Sedrick
+Congratulations! You have passed all the tests and are ready to receive the profession of the Knight of the Phoenix !!!
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00070_SagaOfThePhoenixKnight/30849-05.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00070_SagaOfThePhoenixKnight/30849-05.htm
new file mode 100644
index 0000000000..fdb32646d5
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00070_SagaOfThePhoenixKnight/30849-05.htm
@@ -0,0 +1,3 @@
+Sedrick
+Congratulations! You have received the profession Phoenix Knight !!!
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00070_SagaOfThePhoenixKnight/30849-checkclass.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00070_SagaOfThePhoenixKnight/30849-checkclass.htm
new file mode 100644
index 0000000000..da94438f66
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00070_SagaOfThePhoenixKnight/30849-checkclass.htm
@@ -0,0 +1,4 @@
+Sedrick:
+I cannot help you, child. Perhaps another can.
+(This quest can only be fulfilled by Paladin.)
+
\ No newline at end of file
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00070_SagaOfThePhoenixKnight/30849-nolvl.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00070_SagaOfThePhoenixKnight/30849-nolvl.htm
new file mode 100644
index 0000000000..116eb01f2b
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00070_SagaOfThePhoenixKnight/30849-nolvl.htm
@@ -0,0 +1,4 @@
+Sedrick:
+Apparently, you have already chosen your path.
+ You do not need to do the Phoenix Knight's task.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00070_SagaOfThePhoenixKnight/30849.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00070_SagaOfThePhoenixKnight/30849.htm
new file mode 100644
index 0000000000..2b26881ef1
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00070_SagaOfThePhoenixKnight/30849.htm
@@ -0,0 +1,4 @@
+Sedrick:
+Do you want to become a Phoenix Knight ?.
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00070_SagaOfThePhoenixKnight/31277-01.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00070_SagaOfThePhoenixKnight/31277-01.htm
new file mode 100644
index 0000000000..d8b4617092
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00070_SagaOfThePhoenixKnight/31277-01.htm
@@ -0,0 +1,3 @@
+Felix:
+To save the daughter of Master Felix, you need a dish, known as the "Ice Flower". He can only cook Gurman Rifken from Aden. Try to contact him
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00070_SagaOfThePhoenixKnight/31277-02.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00070_SagaOfThePhoenixKnight/31277-02.htm
new file mode 100644
index 0000000000..587b17d029
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00070_SagaOfThePhoenixKnight/31277-02.htm
@@ -0,0 +1,4 @@
+Felix:
+Did you bring the "Ice Flower"?
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00070_SagaOfThePhoenixKnight/31277-03.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00070_SagaOfThePhoenixKnight/31277-03.htm
new file mode 100644
index 0000000000..a67c8b99c7
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00070_SagaOfThePhoenixKnight/31277-03.htm
@@ -0,0 +1,3 @@
+Felix:
+You have received the Resonance Amulet. Activate the Stone of Knowledge to the south of the Tower of Insolence.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00070_SagaOfThePhoenixKnight/31277-04.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00070_SagaOfThePhoenixKnight/31277-04.htm
new file mode 100644
index 0000000000..fe64819343
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00070_SagaOfThePhoenixKnight/31277-04.htm
@@ -0,0 +1,4 @@
+Felix:
+Have you come for the third Amulet of Resonance?
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00070_SagaOfThePhoenixKnight/31277-05.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00070_SagaOfThePhoenixKnight/31277-05.htm
new file mode 100644
index 0000000000..c57d0edfc5
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00070_SagaOfThePhoenixKnight/31277-05.htm
@@ -0,0 +1,3 @@
+Felix:
+Master Felix says that the third Amulet of Resonance is in Archon Halisha. To summon him, you need to destroy his minions in the Molten Tops and collect the Halish Badges. Destroy these monsters and call Archon Halisha. The aim of the hunt is the Ranger of the Swamp, Burning Drake, Flamey Ifrit, Ikedith
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00070_SagaOfThePhoenixKnight/31277.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00070_SagaOfThePhoenixKnight/31277.htm
new file mode 100644
index 0000000000..c3079a442f
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00070_SagaOfThePhoenixKnight/31277.htm
@@ -0,0 +1,4 @@
+Felix:
+My daughter is sick and I need your help.
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00070_SagaOfThePhoenixKnight/31631-01.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00070_SagaOfThePhoenixKnight/31631-01.htm
new file mode 100644
index 0000000000..556887ceef
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00070_SagaOfThePhoenixKnight/31631-01.htm
@@ -0,0 +1,3 @@
+Eric Ramshart:
+Now activate the last stone
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00070_SagaOfThePhoenixKnight/31631.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00070_SagaOfThePhoenixKnight/31631.htm
new file mode 100644
index 0000000000..ae51b5174e
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00070_SagaOfThePhoenixKnight/31631.htm
@@ -0,0 +1,4 @@
+Eric Ramshart:
+Thank you! You helped avenge me, I will give you the fourth amulet.
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00070_SagaOfThePhoenixKnight/31646-01.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00070_SagaOfThePhoenixKnight/31646-01.htm
new file mode 100644
index 0000000000..4add183f81
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00070_SagaOfThePhoenixKnight/31646-01.htm
@@ -0,0 +1,3 @@
+Table of Vision 1:
+You brought the amulet and the inscription appeared on the stone - The second Amulet of Resonance is in the Keepers of Forbidden Knowledge next to the second Stone of Knowledge.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00070_SagaOfThePhoenixKnight/31646.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00070_SagaOfThePhoenixKnight/31646.htm
new file mode 100644
index 0000000000..d0aae5bf9d
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00070_SagaOfThePhoenixKnight/31646.htm
@@ -0,0 +1,4 @@
+Table of Vision 1:
+You slash like a stone starts to vibrate
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00070_SagaOfThePhoenixKnight/31647-01.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00070_SagaOfThePhoenixKnight/31647-01.htm
new file mode 100644
index 0000000000..2ff340d2a3
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00070_SagaOfThePhoenixKnight/31647-01.htm
@@ -0,0 +1,3 @@
+Table of Vision 2:
+You slash like a stone starts to vibrate
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00070_SagaOfThePhoenixKnight/31647-02.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00070_SagaOfThePhoenixKnight/31647-02.htm
new file mode 100644
index 0000000000..7014a2b6ed
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00070_SagaOfThePhoenixKnight/31647-02.htm
@@ -0,0 +1,3 @@
+Table of Vision 2:
+Now you can go in search of the third stone
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00070_SagaOfThePhoenixKnight/31647-03.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00070_SagaOfThePhoenixKnight/31647-03.htm
new file mode 100644
index 0000000000..48856a2ee7
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00070_SagaOfThePhoenixKnight/31647-03.htm
@@ -0,0 +1,4 @@
+Table of Vision 2:
+You slash like a stone starts to vibrate
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00070_SagaOfThePhoenixKnight/31647-04.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00070_SagaOfThePhoenixKnight/31647-04.htm
new file mode 100644
index 0000000000..9e09499ea1
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00070_SagaOfThePhoenixKnight/31647-04.htm
@@ -0,0 +1,3 @@
+Table of Vision 2:
+The third Amulet of Resonance is in Master Felix from the Village of the Hunters.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00070_SagaOfThePhoenixKnight/31647.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00070_SagaOfThePhoenixKnight/31647.htm
new file mode 100644
index 0000000000..ca09a50ccb
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00070_SagaOfThePhoenixKnight/31647.htm
@@ -0,0 +1,4 @@
+Table of Vision 2:
+You slash like a stone starts to vibrate
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00070_SagaOfThePhoenixKnight/31651-01.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00070_SagaOfThePhoenixKnight/31651-01.htm
new file mode 100644
index 0000000000..b075a37ea5
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00070_SagaOfThePhoenixKnight/31651-01.htm
@@ -0,0 +1,3 @@
+Table of Vision 3:
+When the activation of the third Stone of Knowledge ended, he showed the location of the next stone. The fourth Stone of Knowledge is on the Speaking Island, and the last Amulet of Resonance is near the stone. Go there.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00070_SagaOfThePhoenixKnight/31651.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00070_SagaOfThePhoenixKnight/31651.htm
new file mode 100644
index 0000000000..d35a02f1f4
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00070_SagaOfThePhoenixKnight/31651.htm
@@ -0,0 +1,4 @@
+Table of Vision 3:
+You slash like a stone starts to vibrate
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00070_SagaOfThePhoenixKnight/31654-01.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00070_SagaOfThePhoenixKnight/31654-01.htm
new file mode 100644
index 0000000000..384a411e6c
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00070_SagaOfThePhoenixKnight/31654-01.htm
@@ -0,0 +1,3 @@
+Table of Vision 4:
+Shadow of Beleth appeared nearby
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00070_SagaOfThePhoenixKnight/31654-02.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00070_SagaOfThePhoenixKnight/31654-02.htm
new file mode 100644
index 0000000000..7025ef15d9
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00070_SagaOfThePhoenixKnight/31654-02.htm
@@ -0,0 +1,4 @@
+Table of Vision 4:
+You slash like a stone starts to vibrate
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00070_SagaOfThePhoenixKnight/31654-03.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00070_SagaOfThePhoenixKnight/31654-03.htm
new file mode 100644
index 0000000000..15b5132a97
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00070_SagaOfThePhoenixKnight/31654-03.htm
@@ -0,0 +1,4 @@
+Table of Vision 4:
+You have successfully activated the last stone
+Never forget what you learned during this pilgrimage. Go to Grand Master Cedric in Aden and tell him about your wanderings.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00070_SagaOfThePhoenixKnight/31654.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00070_SagaOfThePhoenixKnight/31654.htm
new file mode 100644
index 0000000000..ba8b557677
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00070_SagaOfThePhoenixKnight/31654.htm
@@ -0,0 +1,6 @@
+Table of Vision 4:
+You came to the stone and he began to vibrate
+The last amulet is at Shadows of Beleth
+Are you ready to fight him?
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00070_SagaOfThePhoenixKnight/34268-01.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00070_SagaOfThePhoenixKnight/34268-01.htm
new file mode 100644
index 0000000000..5c740b65c1
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00070_SagaOfThePhoenixKnight/34268-01.htm
@@ -0,0 +1,3 @@
+Rifken:
+Gourmet Rifken needed to prepare the dish Fragments of the Crystal of Cold. These fragments can be obtained by destroying the monsters to the southeast of Aden.The aim of the hunt is Ice Monster, Spirit of the Drowned One, Soul of Coldness, Phantom of Solitude, Cold Beast, Spirit of Cold.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00070_SagaOfThePhoenixKnight/34268-02.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00070_SagaOfThePhoenixKnight/34268-02.htm
new file mode 100644
index 0000000000..09a94327fe
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00070_SagaOfThePhoenixKnight/34268-02.htm
@@ -0,0 +1,4 @@
+Rifken:
+Did you get all the ingredients?
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00070_SagaOfThePhoenixKnight/34268-03.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00070_SagaOfThePhoenixKnight/34268-03.htm
new file mode 100644
index 0000000000..8ab04a0925
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00070_SagaOfThePhoenixKnight/34268-03.htm
@@ -0,0 +1,3 @@
+Rifken:
+Rifken prepared the Ice Flower and said that his healing effect is manifested if you apply it to your head. Take the dish to Master Felix in the Village of the Hunters.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00070_SagaOfThePhoenixKnight/34268.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00070_SagaOfThePhoenixKnight/34268.htm
new file mode 100644
index 0000000000..c310d360aa
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00070_SagaOfThePhoenixKnight/34268.htm
@@ -0,0 +1,4 @@
+Rifken:
+I'll help you make "Ice Flower" but I need50 Fragments of the Crystal of Cold.
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00070_SagaOfThePhoenixKnight/Q00070_SagaOfThePhoenixKnight.java b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00070_SagaOfThePhoenixKnight/Q00070_SagaOfThePhoenixKnight.java
new file mode 100644
index 0000000000..e0389865c7
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00070_SagaOfThePhoenixKnight/Q00070_SagaOfThePhoenixKnight.java
@@ -0,0 +1,450 @@
+package quests.Q00070_SagaOfThePhoenixKnight;
+
+import java.util.HashSet;
+import java.util.Set;
+
+import com.l2jmobius.gameserver.model.actor.L2Npc;
+import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
+import com.l2jmobius.gameserver.model.base.ClassId;
+import com.l2jmobius.gameserver.model.holders.NpcLogListHolder;
+import com.l2jmobius.gameserver.model.quest.Quest;
+import com.l2jmobius.gameserver.model.quest.QuestState;
+import com.l2jmobius.gameserver.model.quest.State;
+import com.l2jmobius.gameserver.network.serverpackets.MagicSkillUse;
+import com.l2jmobius.gameserver.util.Util;
+
+//QuangNguyen
+
+public class Q00070_SagaOfThePhoenixKnight extends Quest
+{
+ public final int SEDRICK = 30849;
+ public final int FELIX = 31277;
+ public final int RIFKEN = 34268;
+ public final int ERIC_RAMSHEART = 31631;
+ public final int TABLET_OF_VISION_1 = 31646;
+ public final int TABLET_OF_VISION_2 = 31647;
+ public final int TABLET_OF_VISION_3 = 31651;
+ public final int TABLET_OF_VISION_4 = 31654;
+ // mobs
+ public final int ICE_MONSTER = 27316;
+ public final int SPIRIT_OF_A_DROWNED = 27317;
+ public final int SOUL_OF_COLD = 27318;
+ public final int GHOST_OF_SOLITUDE = 27319;
+ public final int FIEND_OF_COLD = 27320;
+ public final int SPIRIT_OF_COLD = 27321;
+ public final int SPAMPLAND_WATCHMAN = 21650;
+ public final int FLAME_DRAKE = 21651;
+ public final int FIERY_IFRIT = 21652;
+ public final int IKEDIT = 21653;
+ public final int GUARDIAN_OF_FOBIDDEN_KNOWLEDGE = 27214; // check drop item
+ public final int FALLEN_KNIGHT_ADHIL = 27286;
+ public final int HALISHA_ARCHON = 27219; // blazing spawn
+ public final int BELETH_SHADOW = 27278; // blazing spawn
+ // items
+ public final int ICE_CRYSTAL_FRAGMENT = 49804;
+ public final int HALISHA_BADGE = 7485;
+ public final int AMULET_REZONANSA_PERVIY = 7268;
+ public final int AMULET_REZONANSA_VTOROI = 7299;
+ public final int AMULET_REZONANSA_TRETIY = 7330;
+ public final int AMULET_REZONANSA_CHETVERTIY = 7361;
+ public final int PURE_ICE = 7534;
+ // reward
+ public final int BOOKGOLDLION = 90038;
+ private static final String KILL_COUNT_VAR = "KillCount";
+
+ public Q00070_SagaOfThePhoenixKnight()
+ {
+ super(70);
+ addStartNpc(SEDRICK);
+ addTalkId(SEDRICK, FELIX, RIFKEN, ERIC_RAMSHEART, TABLET_OF_VISION_1, TABLET_OF_VISION_2, TABLET_OF_VISION_3, TABLET_OF_VISION_4);
+ addKillId(ICE_MONSTER, SPIRIT_OF_A_DROWNED, SOUL_OF_COLD, GHOST_OF_SOLITUDE, FIEND_OF_COLD);
+ addKillId(SPIRIT_OF_COLD, SPAMPLAND_WATCHMAN, FLAME_DRAKE, FIERY_IFRIT, IKEDIT);
+ addKillId(GUARDIAN_OF_FOBIDDEN_KNOWLEDGE, FALLEN_KNIGHT_ADHIL, HALISHA_ARCHON, BELETH_SHADOW);
+ registerQuestItems(PURE_ICE, ICE_CRYSTAL_FRAGMENT, HALISHA_BADGE);
+ addCondMinLevel(76, "30849-nolvl.htm");
+ addCondClassId(ClassId.PALADIN, "30849-checkclass.htm");
+ }
+
+ @Override
+ public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
+ {
+ final QuestState st = getQuestState(player, false);
+ if (st == null)
+ {
+ return null;
+ }
+ String htmltext = event;
+ switch (event)
+ {
+ case "30849-02a.htm":
+ htmltext = "30849-03.htm";
+ break;
+ case "30849-01a.htm":
+ if (st.getCond() == 0)
+ {
+ st.startQuest();
+ st.setCond(1);
+ }
+ break;
+ case "31277-01.htm":
+ if (st.getCond() == 1)
+ {
+ st.setCond(2);
+ }
+ break;
+ case "34268-01.htm":
+ if (st.getCond() == 2)
+ {
+ st.setCond(3);
+ }
+ break;
+ case "34268-03.htm":
+ if (st.getCond() == 4)
+ {
+ st.setCond(5);
+ }
+ takeItems(player, ICE_CRYSTAL_FRAGMENT, -1);
+ giveItems(player, PURE_ICE, 1);
+ break;
+ case "31277-03.htm":
+ if (st.getCond() == 5)
+ {
+ st.setCond(6);
+ }
+ giveItems(player, AMULET_REZONANSA_PERVIY, 1);
+ takeItems(player, PURE_ICE, -1);
+ break;
+ case "31646-01.htm":
+ if (st.getCond() == 6)
+ {
+ st.setCond(7);
+ }
+ break;
+ case "31647-01.htm":
+ if (st.getCond() == 8)
+ {
+ addSpawn(FALLEN_KNIGHT_ADHIL, npc, true, 0, true);
+ st.setCond(9);
+ }
+ break;
+ case "31647-04.htm":
+ if (st.getCond() == 10)
+ {
+ st.setCond(11);
+ }
+ break;
+ case "31277-05.htm":
+ if (st.getCond() == 11)
+ {
+ st.setCond(12);
+ }
+ break;
+ case "31651-01.htm":
+ if (st.getCond() == 14)
+ {
+ st.setCond(15);
+ }
+ break;
+ case "31654-01.htm":
+ if (st.getCond() == 15)
+ {
+ st.setCond(16);
+ }
+ addSpawn(BELETH_SHADOW, npc, true, 0, true);
+ break;
+ case "31631-01.htm":
+ if (st.getCond() == 16)
+ {
+ st.setCond(17);
+ }
+ giveItems(player, AMULET_REZONANSA_CHETVERTIY, 1);
+ break;
+ case "31654-03.htm":
+ if (st.getCond() == 17)
+ {
+ st.setCond(18);
+ }
+ break;
+ case "30849-05.htm":
+ if (st.getCond() == 18)
+ {
+ if ((player.getLevel() < 76) && (player.getBaseClass() != 5))
+ {
+ htmltext = "30849-nolvl.htm";
+ }
+ addExpAndSp(player, 3100000, 103000);
+ rewardItems(player, BOOKGOLDLION, 1);
+ takeItems(player, AMULET_REZONANSA_PERVIY, -1);
+ takeItems(player, AMULET_REZONANSA_VTOROI, -1);
+ takeItems(player, AMULET_REZONANSA_TRETIY, -1);
+ takeItems(player, AMULET_REZONANSA_CHETVERTIY, -1);
+ takeItems(player, HALISHA_BADGE, -1);
+ st.exitQuest(false, true);
+ player.setClassId(90);
+ player.setBaseClass(90);
+ player.broadcastUserInfo();
+ npc.broadcastPacket(new MagicSkillUse(npc, player, 5103, 1, 1000, 0));
+ }
+ break;
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onTalk(L2Npc npc, L2PcInstance talker)
+ {
+ final QuestState qs = getQuestState(talker, true);
+ String htmltext = getNoQuestMsg(talker);
+
+ switch (qs.getState())
+ {
+ case State.CREATED:
+ {
+ if (npc.getId() == SEDRICK)
+ {
+ htmltext = "30849.htm";
+ }
+ break;
+ }
+ case State.STARTED:
+ {
+ if (npc.getId() == SEDRICK)
+ {
+ if (qs.getCond() == 1)
+ {
+ htmltext = "30849-01a.htm";
+ }
+ if (qs.getCond() == 18)
+ {
+ htmltext = "30849-04.htm";
+ }
+
+ }
+ if (npc.getId() == FELIX)
+ {
+ if (qs.getCond() == 1)
+ {
+ htmltext = "31277.htm";
+ }
+ if (qs.getCond() == 2)
+ {
+ htmltext = "31277-01.htm";
+ }
+ if (qs.getCond() == 5)
+ {
+ htmltext = "31277-02.htm";
+ }
+ if (qs.getCond() == 6)
+ {
+ htmltext = "31277-03.htm";
+ }
+ if (qs.getCond() == 11)
+ {
+ htmltext = "31277-04.htm";
+ }
+ if (qs.getCond() == 12)
+ {
+ htmltext = "31277-05.htm";
+ }
+ }
+ if (npc.getId() == RIFKEN)
+ {
+ if (qs.getCond() == 2)
+ {
+ htmltext = "34268.htm";
+ }
+ if (qs.getCond() == 3)
+ {
+ htmltext = "34268-01.htm";
+ }
+ if (qs.getCond() == 4)
+ {
+ htmltext = "34268-02.htm";
+ }
+ }
+ if (npc.getId() == TABLET_OF_VISION_1)
+ {
+ if (qs.getCond() == 6)
+ {
+ htmltext = "31646.htm";
+ }
+ if (qs.getCond() == 7)
+ {
+ htmltext = "31646-01.htm";
+ }
+ }
+ if (npc.getId() == TABLET_OF_VISION_2)
+ {
+ if (qs.getCond() == 8)
+ {
+ htmltext = "31647.htm";
+ }
+ if (qs.getCond() == 9)
+ {
+ htmltext = "31647-02.htm";
+ }
+ if (qs.getCond() == 10)
+ {
+ htmltext = "31647-03.htm";
+ }
+ if (qs.getCond() == 11)
+ {
+ htmltext = "31647-04.htm";
+ }
+ }
+ if (npc.getId() == TABLET_OF_VISION_3)
+ {
+ if (qs.getCond() == 14)
+ {
+ htmltext = "31651.htm";
+ }
+ if (qs.getCond() == 15)
+ {
+ htmltext = "31651-01.htm";
+ }
+ }
+ if (npc.getId() == TABLET_OF_VISION_4)
+ {
+ if (qs.getCond() == 15)
+ {
+ htmltext = "31654.htm";
+ }
+ if (qs.getCond() == 17)
+ {
+ htmltext = "31654-02.htm";
+ }
+ if (qs.getCond() == 18)
+ {
+ htmltext = "31654-03.htm";
+ }
+
+ }
+ if (npc.getId() == ERIC_RAMSHEART)
+ {
+ if (qs.getCond() == 16)
+ {
+ htmltext = "31631.htm";
+ }
+ if (qs.getCond() == 17)
+ {
+ htmltext = "31631-01.htm";
+ }
+ }
+ break;
+ }
+ case State.COMPLETED:
+ {
+ htmltext = getAlreadyCompletedMsg(talker);
+ break;
+ }
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
+ {
+ final QuestState qs = getQuestState(killer, false);
+ if ((qs != null) && qs.isStarted() && Util.checkIfInRange(1500, npc, killer, true))
+ {
+ switch (npc.getId())
+ {
+ case ICE_MONSTER:
+ case SPIRIT_OF_A_DROWNED:
+ case SOUL_OF_COLD:
+ case FIEND_OF_COLD:
+ case GHOST_OF_SOLITUDE:
+ case SPIRIT_OF_COLD:
+ if (qs.getCond() == 3)
+ {
+ if (getQuestItemsCount(killer, ICE_CRYSTAL_FRAGMENT) < 50)
+ {
+ giveItemRandomly(killer, npc, ICE_CRYSTAL_FRAGMENT, 1, 50, 50, true);
+ }
+ if (getQuestItemsCount(killer, ICE_CRYSTAL_FRAGMENT) >= 50)
+ {
+ qs.setCond(4);
+ }
+ }
+ break;
+ case FALLEN_KNIGHT_ADHIL:
+ if (qs.getCond() == 9)
+ {
+ qs.setCond(10);
+ }
+ break;
+ case SPAMPLAND_WATCHMAN:
+ case FLAME_DRAKE:
+ case FIERY_IFRIT:
+ case IKEDIT:
+ if (qs.getCond() == 12)
+ {
+ if (getQuestItemsCount(killer, HALISHA_BADGE) < 701)
+ {
+ giveItemRandomly(killer, npc, HALISHA_BADGE, 1, 701, 50, true);
+ if (getQuestItemsCount(killer, HALISHA_BADGE) >= 701)
+ {
+ addSpawn(HALISHA_ARCHON, npc, true, 0, true);
+ qs.setCond(13);
+ }
+ }
+ }
+ break;
+ case HALISHA_ARCHON:
+ if (qs.getCond() == 13)
+ {
+ if (!hasQuestItems(killer, AMULET_REZONANSA_TRETIY))
+ {
+ giveItemRandomly(killer, npc, AMULET_REZONANSA_TRETIY, 1, 1, 50, true);
+ }
+ qs.setCond(14);
+ }
+ break;
+ case BELETH_SHADOW:
+ if (qs.getCond() == 16)
+ {
+ addSpawn(ERIC_RAMSHEART, npc, true, 20000, true);
+ }
+ break;
+ }
+
+ if (qs.isCond(7))
+ {
+ int count = qs.getInt(KILL_COUNT_VAR);
+ if (npc.getId() == GUARDIAN_OF_FOBIDDEN_KNOWLEDGE)
+ {
+ if (count < 20)
+ {
+ qs.set(KILL_COUNT_VAR, ++count);
+ sendNpcLogList(killer);
+ }
+ }
+ if (count >= 20)
+ {
+ qs.setCond(8, true);
+ giveItems(killer, AMULET_REZONANSA_VTOROI, 1);
+ }
+ }
+ }
+ return super.onKill(npc, killer, isSummon);
+ }
+
+ @Override
+ public Set getNpcLogList(L2PcInstance player)
+ {
+ final QuestState qs = getQuestState(player, false);
+ if ((qs != null) && qs.isCond(7))
+ {
+ final Set holder = new HashSet<>(1);
+
+ // guardian of forbidden knowledge
+ final int guardiancount = qs.getInt(KILL_COUNT_VAR);
+ if (guardiancount > 0)
+ {
+ holder.add(new NpcLogListHolder(GUARDIAN_OF_FOBIDDEN_KNOWLEDGE, false, guardiancount));
+ }
+ return holder;
+ }
+ return super.getNpcLogList(player);
+ }
+}
\ No newline at end of file
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00071_SagaOfEvasTemplar/Q00071_SagaOfEvasTemplar.java b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00071_SagaOfEvasTemplar/Q00071_SagaOfEvasTemplar.java
new file mode 100644
index 0000000000..57fb17d680
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00071_SagaOfEvasTemplar/Q00071_SagaOfEvasTemplar.java
@@ -0,0 +1,454 @@
+package quests.Q00071_SagaOfEvasTemplar;
+
+import java.util.HashSet;
+import java.util.Set;
+
+import com.l2jmobius.gameserver.model.actor.L2Npc;
+import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
+import com.l2jmobius.gameserver.model.base.ClassId;
+import com.l2jmobius.gameserver.model.holders.NpcLogListHolder;
+import com.l2jmobius.gameserver.model.quest.Quest;
+import com.l2jmobius.gameserver.model.quest.QuestState;
+import com.l2jmobius.gameserver.model.quest.State;
+import com.l2jmobius.gameserver.network.serverpackets.MagicSkillUse;
+import com.l2jmobius.gameserver.util.Util;
+
+//QuangNguyen
+
+public class Q00071_SagaOfEvasTemplar extends Quest
+{
+ public final int SINDEN = 30852;
+ public final int STEDMIEL = 30692;
+ public final int RIFKEN = 34268;
+ public final int CERENAS = 31281;
+ public final int TABLET_OF_VISION_1 = 31646;
+ public final int TABLET_OF_VISION_2 = 31648;
+ public final int TABLET_OF_VISION_3 = 31653;
+ public final int TABLET_OF_VISION_4 = 31655;
+ public final int KNIGHT_KASTIEN = 31638;
+ // mobs
+ public final int ICE_MONSTER = 27316;
+ public final int SPIRIT_OF_A_DROWNED = 27317;
+ public final int SOUL_OF_COLD = 27318;
+ public final int GHOST_OF_SOLITUDE = 27319;
+ public final int FIEND_OF_COLD = 27320;
+ public final int SPIRIT_OF_COLD = 27321;
+ public final int SPAMPLAND_WATCHMAN = 21650;
+ public final int FLAME_DRAKE = 21651;
+ public final int FIERY_IFRIT = 21652;
+ public final int IKEDIT = 21653;
+ public final int GATEKEEPER_OF_THE_HOLY_EDICT = 27215;
+ public final int BOUND_ELF_PANACEA = 27287;
+ public final int HALISHA_ARCHON = 27219;
+ public final int CURSED_KESADEIN = 27279;
+ // items
+ public final int ICE_CRYSTAL_FRAGMENT = 49805;
+ public final int HALISHA_BADGE = 7486;
+ public final int AMULET_REZONANSA_PERVIY = 7269;
+ public final int AMULET_REZONANSA_VTOROI = 7300;
+ public final int AMULET_REZONANSA_TRETIY = 7331;
+ public final int AMULET_REZONANSA_CHETVERTIY = 7362;
+ public final int PURE_ICE = 7535;
+ // reward
+ public final int BOOKPEGASUS = 90039;
+ private static final String KILL_COUNT_VAR = "KillCount";
+
+ public Q00071_SagaOfEvasTemplar()
+ {
+ super(71);
+ addStartNpc(SINDEN);
+ addTalkId(SINDEN, STEDMIEL, RIFKEN, CERENAS, KNIGHT_KASTIEN, TABLET_OF_VISION_1, TABLET_OF_VISION_2, TABLET_OF_VISION_3, TABLET_OF_VISION_4);
+ addKillId(ICE_MONSTER, SPIRIT_OF_A_DROWNED, SOUL_OF_COLD, GHOST_OF_SOLITUDE, FIEND_OF_COLD);
+ addKillId(SPIRIT_OF_COLD, SPAMPLAND_WATCHMAN, FLAME_DRAKE, FIERY_IFRIT, IKEDIT);
+ addKillId(GATEKEEPER_OF_THE_HOLY_EDICT, BOUND_ELF_PANACEA, HALISHA_ARCHON, CURSED_KESADEIN);
+ registerQuestItems(PURE_ICE, ICE_CRYSTAL_FRAGMENT, HALISHA_BADGE);
+ addCondMinLevel(76, "aiken02.htm");
+ addCondClassId(ClassId.TEMPLE_KNIGHT, "aiken03.htm");
+ }
+
+ @Override
+ public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
+ {
+ final QuestState st = getQuestState(player, false);
+ if (st == null)
+ {
+ return null;
+ }
+ String htmltext = event;
+ switch (event)
+ {
+ case "aiken02a.htm":
+ htmltext = "aiken5.htm";
+ break;
+ case "aiken01s.htm":
+ if (st.getCond() == 0)
+ {
+ st.startQuest();
+ st.setCond(1);
+ }
+ break;
+ case "jer2.htm":
+ if (st.getCond() == 1)
+ {
+ st.setCond(2);
+ }
+ break;
+ case "rifken2.htm":
+ if (st.getCond() == 2)
+ {
+ st.setCond(3);
+ }
+ break;
+ case "rifken4.htm":
+ if (st.getCond() == 4)
+ {
+ st.setCond(5);
+ }
+ takeItems(player, ICE_CRYSTAL_FRAGMENT, -1);
+ giveItems(player, PURE_ICE, 1);
+ break;
+ case "jer4.htm":
+ if (st.getCond() == 5)
+ {
+ st.setCond(6);
+ }
+ giveItems(player, AMULET_REZONANSA_PERVIY, 1);
+ takeItems(player, PURE_ICE, -1);
+ break;
+ case "stone12.htm":
+ if (st.getCond() == 6)
+ {
+ st.setCond(7);
+ }
+ break;
+ case "stone22.htm":
+ if (st.getCond() == 8)
+ {
+ addSpawn(BOUND_ELF_PANACEA, npc, true, 0, true);
+ st.setCond(9);
+ }
+ break;
+ case "stone25.htm":
+ if (st.getCond() == 10)
+ {
+ st.setCond(11);
+ }
+ break;
+ case "jer6.htm":
+ if (st.getCond() == 11)
+ {
+ st.setCond(12);
+ }
+ break;
+ case "stone32.htm":
+ if (st.getCond() == 14)
+ {
+ st.setCond(15);
+ }
+ break;
+ case "stone41.htm":
+ if (st.getCond() == 15)
+ {
+ st.setCond(16);
+ }
+ addSpawn(CURSED_KESADEIN, npc, true, 0, true);
+ break;
+ case "erikrams2.htm":
+ if (st.getCond() == 16)
+ {
+ st.setCond(17);
+ }
+ giveItems(player, AMULET_REZONANSA_CHETVERTIY, 1);
+ break;
+ case "stone43.htm":
+ if (st.getCond() == 17)
+ {
+ st.setCond(18);
+ }
+ break;
+ case "aiken7.htm":
+ if (st.getCond() == 18)
+ {
+ if ((player.getLevel() < 76) && (player.getBaseClass() != 20))
+ {
+ htmltext = "30849-nolvl.htm";
+ }
+ addExpAndSp(player, 3100000, 103000);
+ rewardItems(player, BOOKPEGASUS, 1);
+ takeItems(player, AMULET_REZONANSA_PERVIY, -1);
+ takeItems(player, AMULET_REZONANSA_VTOROI, -1);
+ takeItems(player, AMULET_REZONANSA_TRETIY, -1);
+ takeItems(player, AMULET_REZONANSA_CHETVERTIY, -1);
+ takeItems(player, HALISHA_BADGE, -1);
+ st.exitQuest(false, true);
+ player.setClassId(99);
+ player.setBaseClass(99);
+ player.broadcastUserInfo();
+ npc.broadcastPacket(new MagicSkillUse(npc, player, 5103, 1, 1000, 0));
+ }
+ break;
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onTalk(L2Npc npc, L2PcInstance talker)
+ {
+ final QuestState qs = getQuestState(talker, true);
+ String htmltext = getNoQuestMsg(talker);
+
+ switch (qs.getState())
+ {
+ case State.CREATED:
+ {
+ if (npc.getId() == SINDEN)
+ {
+ htmltext = "aiken01.htm";
+ }
+ break;
+ }
+ case State.STARTED:
+ {
+ if (npc.getId() == SINDEN)
+ {
+ if (qs.getCond() == 1)
+ {
+ htmltext = "aiken01s.htm";
+ }
+ if (qs.getCond() == 18)
+ {
+ htmltext = "aiken6.htm";
+ }
+
+ }
+ if (npc.getId() == STEDMIEL)
+ {
+ if (qs.getCond() == 1)
+ {
+ htmltext = "jer1.htm";
+ }
+ if (qs.getCond() == 2)
+ {
+ htmltext = "jer2.htm";
+ }
+ if (qs.getCond() == 5)
+ {
+ htmltext = "jer3.htm";
+ }
+ if (qs.getCond() == 6)
+ {
+ htmltext = "jer4.htm";
+ }
+ }
+ if (npc.getId() == CERENAS)
+ {
+ if (qs.getCond() == 11)
+ {
+ htmltext = "jer5.htm";
+ }
+ if (qs.getCond() == 12)
+ {
+ htmltext = "jer6.htm";
+ }
+ }
+ if (npc.getId() == RIFKEN)
+ {
+ if (qs.getCond() == 2)
+ {
+ htmltext = "rifken1.htm";
+ }
+ if (qs.getCond() == 3)
+ {
+ htmltext = "rifken2.htm";
+ }
+ if (qs.getCond() == 4)
+ {
+ htmltext = "rifken3.htm";
+ }
+ }
+ if (npc.getId() == TABLET_OF_VISION_1)
+ {
+ if (qs.getCond() == 6)
+ {
+ htmltext = "stone11.htm";
+ }
+ if (qs.getCond() == 7)
+ {
+ htmltext = "stone12.htm";
+ }
+ }
+ if (npc.getId() == TABLET_OF_VISION_2)
+ {
+ if (qs.getCond() == 8)
+ {
+ htmltext = "stone21.htm";
+ }
+ if (qs.getCond() == 9)
+ {
+ htmltext = "stone23.htm";
+ }
+ if (qs.getCond() == 10)
+ {
+ htmltext = "stone24.htm";
+ }
+ if (qs.getCond() == 11)
+ {
+ htmltext = "stone25.htm";
+ }
+ }
+ if (npc.getId() == TABLET_OF_VISION_3)
+ {
+ if (qs.getCond() == 14)
+ {
+ htmltext = "stone31.htm";
+ }
+ if (qs.getCond() == 15)
+ {
+ htmltext = "stone32.htm";
+ }
+ }
+ if (npc.getId() == TABLET_OF_VISION_4)
+ {
+ if (qs.getCond() == 15)
+ {
+ htmltext = "stone40.htm";
+ }
+ if (qs.getCond() == 17)
+ {
+ htmltext = "stone42.htm";
+ }
+ if (qs.getCond() == 18)
+ {
+ htmltext = "stone43.htm";
+ }
+
+ }
+ if (npc.getId() == KNIGHT_KASTIEN)
+ {
+ if (qs.getCond() == 16)
+ {
+ htmltext = "erikrams1.htm";
+ }
+ if (qs.getCond() == 17)
+ {
+ htmltext = "erikrams2.htm";
+ }
+ }
+ break;
+ }
+ case State.COMPLETED:
+ {
+ htmltext = getAlreadyCompletedMsg(talker);
+ break;
+ }
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
+ {
+ final QuestState qs = getQuestState(killer, false);
+ if ((qs != null) && qs.isStarted() && Util.checkIfInRange(1500, npc, killer, true))
+ {
+ switch (npc.getId())
+ {
+ case ICE_MONSTER:
+ case SPIRIT_OF_A_DROWNED:
+ case SOUL_OF_COLD:
+ case FIEND_OF_COLD:
+ case GHOST_OF_SOLITUDE:
+ case SPIRIT_OF_COLD:
+ if (qs.getCond() == 3)
+ {
+ if (getQuestItemsCount(killer, ICE_CRYSTAL_FRAGMENT) < 50)
+ {
+ giveItemRandomly(killer, npc, ICE_CRYSTAL_FRAGMENT, 1, 50, 50, true);
+ }
+ if (getQuestItemsCount(killer, ICE_CRYSTAL_FRAGMENT) >= 50)
+ {
+ qs.setCond(4);
+ }
+ }
+ break;
+ case BOUND_ELF_PANACEA:
+ if (qs.getCond() == 9)
+ {
+ qs.setCond(10);
+ }
+ break;
+ case SPAMPLAND_WATCHMAN:
+ case FLAME_DRAKE:
+ case FIERY_IFRIT:
+ case IKEDIT:
+ if (qs.getCond() == 12)
+ {
+ if (getQuestItemsCount(killer, HALISHA_BADGE) < 701)
+ {
+ giveItemRandomly(killer, npc, HALISHA_BADGE, 1, 701, 50, true);
+ if (getQuestItemsCount(killer, HALISHA_BADGE) >= 701)
+ {
+ addSpawn(HALISHA_ARCHON, npc, true, 0, true);
+ qs.setCond(13);
+ }
+ }
+ }
+ break;
+ case HALISHA_ARCHON:
+ if (qs.getCond() == 13)
+ {
+ if (!hasQuestItems(killer, AMULET_REZONANSA_TRETIY))
+ {
+ giveItemRandomly(killer, npc, AMULET_REZONANSA_TRETIY, 1, 1, 50, true);
+ }
+ qs.setCond(14);
+ }
+ break;
+ case CURSED_KESADEIN:
+ if (qs.getCond() == 16)
+ {
+ addSpawn(KNIGHT_KASTIEN, npc, true, 20000, true);
+ }
+ break;
+ }
+
+ if (qs.isCond(7))
+ {
+ int count = qs.getInt(KILL_COUNT_VAR);
+ if (npc.getId() == GATEKEEPER_OF_THE_HOLY_EDICT)
+ {
+ if (count < 20)
+ {
+ qs.set(KILL_COUNT_VAR, ++count);
+ sendNpcLogList(killer);
+ }
+ }
+ if (count >= 20)
+ {
+ qs.setCond(8, true);
+ giveItems(killer, AMULET_REZONANSA_VTOROI, 1);
+ }
+ }
+ }
+ return super.onKill(npc, killer, isSummon);
+ }
+
+ @Override
+ public Set getNpcLogList(L2PcInstance player)
+ {
+ final QuestState qs = getQuestState(player, false);
+ if ((qs != null) && qs.isCond(7))
+ {
+ final Set holder = new HashSet<>(1);
+
+ // guardian of forbidden knowledge
+ final int guardiancount = qs.getInt(KILL_COUNT_VAR);
+ if (guardiancount > 0)
+ {
+ holder.add(new NpcLogListHolder(GATEKEEPER_OF_THE_HOLY_EDICT, false, guardiancount));
+ }
+ return holder;
+ }
+ return super.getNpcLogList(player);
+ }
+}
\ No newline at end of file
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00071_SagaOfEvasTemplar/aiken01.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00071_SagaOfEvasTemplar/aiken01.htm
new file mode 100644
index 0000000000..b854ddce63
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00071_SagaOfEvasTemplar/aiken01.htm
@@ -0,0 +1,6 @@
+
+Sinden:
+
+Do you want to become Eva's Templar?.
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00071_SagaOfEvasTemplar/aiken01s.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00071_SagaOfEvasTemplar/aiken01s.htm
new file mode 100644
index 0000000000..14352a3d56
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00071_SagaOfEvasTemplar/aiken01s.htm
@@ -0,0 +1,5 @@
+
+Sinden:
+
+Master Sinden believes that one day the Elves will have to leave their Tree of Life. He wants you to reflect on this during the pilgrimage. First you need to talk with Master Stedmiel.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00071_SagaOfEvasTemplar/aiken02.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00071_SagaOfEvasTemplar/aiken02.htm
new file mode 100644
index 0000000000..52c39d5c3e
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00071_SagaOfEvasTemplar/aiken02.htm
@@ -0,0 +1,7 @@
+
+Sinden:
+
+My young friend, you do not have enough experience to become Eve's Templar. I see your passion and I hope that you will keep it in your heart, but it is not enough - only through the experience of battle you can acquire the power that will allow you not to deviate from your faith in the era of untruth.
+Come back when you are a little older and wiser. When you are ready, I will give you a mission to check if you are ready to become Eva's Templar.
+(Quest for characters whose level is 76 or higher.)
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00071_SagaOfEvasTemplar/aiken02a.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00071_SagaOfEvasTemplar/aiken02a.htm
new file mode 100644
index 0000000000..16be05124b
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00071_SagaOfEvasTemplar/aiken02a.htm
@@ -0,0 +1,7 @@
+
+Sinden:
+
+Have you not already received the title of Templar of Eve?
+Â My brother, you do not have to go through the test of the squire again.
+Â Your duty is to fight for your faith and the glory of the lord.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00071_SagaOfEvasTemplar/aiken03.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00071_SagaOfEvasTemplar/aiken03.htm
new file mode 100644
index 0000000000..e5b3f34c94
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00071_SagaOfEvasTemplar/aiken03.htm
@@ -0,0 +1,6 @@
+
+Sinden:
+
+Apparently, you have already chosen your path.
+Â You do not need to perform the mission of Eve's Templar.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00071_SagaOfEvasTemplar/aiken5.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00071_SagaOfEvasTemplar/aiken5.htm
new file mode 100644
index 0000000000..c90a1dd63d
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00071_SagaOfEvasTemplar/aiken5.htm
@@ -0,0 +1,9 @@
+
+Sinden:
+
+Do you want to become Eve's Templar?
+Well, then you must pass Saga of Eva's Templar,
+To prove that you are not just a reckless, quick-tempered warrior, but
+Â Warrior with the soul of the present Templar Eve. This is a form of ritual and the process of training,
+Â They must be performed by all who wish to become Eve's Templar.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00071_SagaOfEvasTemplar/aiken6.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00071_SagaOfEvasTemplar/aiken6.htm
new file mode 100644
index 0000000000..bb65f40210
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00071_SagaOfEvasTemplar/aiken6.htm
@@ -0,0 +1,6 @@
+
+Sinden:
+
+Congratulations! You have passed all the tests and are ready to receive the profession of Templar Eve !!!
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00071_SagaOfEvasTemplar/aiken7.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00071_SagaOfEvasTemplar/aiken7.htm
new file mode 100644
index 0000000000..667958010f
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00071_SagaOfEvasTemplar/aiken7.htm
@@ -0,0 +1,5 @@
+
+Sinden:
+
+Congratulations! You have received the profession of Templar Eve !!!
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00071_SagaOfEvasTemplar/erikrams1.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00071_SagaOfEvasTemplar/erikrams1.htm
new file mode 100644
index 0000000000..bbc5667333
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00071_SagaOfEvasTemplar/erikrams1.htm
@@ -0,0 +1,7 @@
+
+Star Knight Castiel:
+
+Thank you! You helped avenge me, I will give you the fourth amulet
+
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00071_SagaOfEvasTemplar/erikrams2.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00071_SagaOfEvasTemplar/erikrams2.htm
new file mode 100644
index 0000000000..7eec10eeab
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00071_SagaOfEvasTemplar/erikrams2.htm
@@ -0,0 +1,5 @@
+
+Star Knight Castiel:
+
+Now activate the last stone
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00071_SagaOfEvasTemplar/jer1.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00071_SagaOfEvasTemplar/jer1.htm
new file mode 100644
index 0000000000..5ab2c72bd7
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00071_SagaOfEvasTemplar/jer1.htm
@@ -0,0 +1,6 @@
+
+Steadmiel:
+
+To start a pilgrimage, you need a special Amulet. To get it, go to Gourmet Rifken in Aden and take some Pure Ice from him.
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00071_SagaOfEvasTemplar/jer2.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00071_SagaOfEvasTemplar/jer2.htm
new file mode 100644
index 0000000000..ccc88aca40
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00071_SagaOfEvasTemplar/jer2.htm
@@ -0,0 +1,5 @@
+
+Steadmiel:
+
+To start a pilgrimage, you need a special Amulet. To get it, go to Gourmet Rifken in Aden and take some Pure Ice from him.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00071_SagaOfEvasTemplar/jer3.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00071_SagaOfEvasTemplar/jer3.htm
new file mode 100644
index 0000000000..424bc1d42a
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00071_SagaOfEvasTemplar/jer3.htm
@@ -0,0 +1,6 @@
+
+Steadmiel:
+
+Did you bring Pure Ice?
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00071_SagaOfEvasTemplar/jer4.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00071_SagaOfEvasTemplar/jer4.htm
new file mode 100644
index 0000000000..d7b9e45298
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00071_SagaOfEvasTemplar/jer4.htm
@@ -0,0 +1,5 @@
+
+Steadmiel:
+
+You have received the Resonance Amulet. Activate the Stone of Knowledge to the south of the Tower of Insolence.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00071_SagaOfEvasTemplar/jer5.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00071_SagaOfEvasTemplar/jer5.htm
new file mode 100644
index 0000000000..fa89463008
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00071_SagaOfEvasTemplar/jer5.htm
@@ -0,0 +1,6 @@
+
+Kerenas:
+
+Have you come for the third Amulet of Resonance?
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00071_SagaOfEvasTemplar/jer6.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00071_SagaOfEvasTemplar/jer6.htm
new file mode 100644
index 0000000000..de0dfd6c15
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00071_SagaOfEvasTemplar/jer6.htm
@@ -0,0 +1,5 @@
+
+Kerenas:
+
+Priest Kerenas says that the third Amulet of Resonance is in Archon Halisha. To summon him, you need to destroy his minions in the Swollen Tops and collect the Halisha Signs. Destroy these monsters and call Archon Halisha. The aim of the hunt is the Ranger of the Swamp, Burning Drake, Flame Iphreet, Ikedith
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00071_SagaOfEvasTemplar/rifken1.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00071_SagaOfEvasTemplar/rifken1.htm
new file mode 100644
index 0000000000..5eec4e45d5
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00071_SagaOfEvasTemplar/rifken1.htm
@@ -0,0 +1,6 @@
+
+Rifken:
+
+To get pure ice, you need Fragments of the Crystal of Cold. They can be obtained by destroying monsters to the southeast of Aden
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00071_SagaOfEvasTemplar/rifken2.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00071_SagaOfEvasTemplar/rifken2.htm
new file mode 100644
index 0000000000..f81e3784ff
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00071_SagaOfEvasTemplar/rifken2.htm
@@ -0,0 +1,5 @@
+
+Rifken:
+
+Obtain Fragments of the Crystal of Cold.. These pieces can be obtained by destroying monsters to the southeast of Aden.The aim of the hunt is the Ice Monster, the Spirit of the Drowned One, the Soul of Cold, the Phantom of Solitude, the Cold Beast, the Spirit of Cold.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00071_SagaOfEvasTemplar/rifken3.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00071_SagaOfEvasTemplar/rifken3.htm
new file mode 100644
index 0000000000..3305ab2bf9
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00071_SagaOfEvasTemplar/rifken3.htm
@@ -0,0 +1,6 @@
+
+Rifken:
+
+Did you get all the ingredients?
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00071_SagaOfEvasTemplar/rifken4.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00071_SagaOfEvasTemplar/rifken4.htm
new file mode 100644
index 0000000000..b248a1ec80
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00071_SagaOfEvasTemplar/rifken4.htm
@@ -0,0 +1,5 @@
+
+Rifken:
+
+Now you have Pure Ice. Take it to Master Steadmiel.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00071_SagaOfEvasTemplar/stone11.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00071_SagaOfEvasTemplar/stone11.htm
new file mode 100644
index 0000000000..0f942675fb
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00071_SagaOfEvasTemplar/stone11.htm
@@ -0,0 +1,5 @@
+
+Stone of knowledge:
+You slash like a stone starts to vibrate
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00071_SagaOfEvasTemplar/stone12.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00071_SagaOfEvasTemplar/stone12.htm
new file mode 100644
index 0000000000..55a9f06759
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00071_SagaOfEvasTemplar/stone12.htm
@@ -0,0 +1,4 @@
+
+Stone of knowledge:
+You brought the amulet and the inscription appeared on the stone - The second Amulet of Resonance is located near the Streets of the Holy Law next to the second Stone of Knowledge.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00071_SagaOfEvasTemplar/stone21.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00071_SagaOfEvasTemplar/stone21.htm
new file mode 100644
index 0000000000..7a57f3c6f4
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00071_SagaOfEvasTemplar/stone21.htm
@@ -0,0 +1,5 @@
+
+Stone of knowledge:
+You slash like a stone starts to vibrate
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00071_SagaOfEvasTemplar/stone22.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00071_SagaOfEvasTemplar/stone22.htm
new file mode 100644
index 0000000000..e2b71a6c17
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00071_SagaOfEvasTemplar/stone22.htm
@@ -0,0 +1,4 @@
+
+Stone of knowledge:
+As soon as you approached the stone, the Captive Elf Panacea appeared. Obviously, he is trying to stop you. Destroy it.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00071_SagaOfEvasTemplar/stone23.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00071_SagaOfEvasTemplar/stone23.htm
new file mode 100644
index 0000000000..d323517e9b
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00071_SagaOfEvasTemplar/stone23.htm
@@ -0,0 +1,4 @@
+
+Stone of knowledge:
+Now you can go in search of the third stone
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00071_SagaOfEvasTemplar/stone24.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00071_SagaOfEvasTemplar/stone24.htm
new file mode 100644
index 0000000000..6bfb681fad
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00071_SagaOfEvasTemplar/stone24.htm
@@ -0,0 +1,5 @@
+
+Stone of knowledge:
+You slash like a stone starts to vibrate
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00071_SagaOfEvasTemplar/stone25.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00071_SagaOfEvasTemplar/stone25.htm
new file mode 100644
index 0000000000..78e1e5a44a
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00071_SagaOfEvasTemplar/stone25.htm
@@ -0,0 +1,4 @@
+
+Stone of knowledge:
+Activating the stone, you learned that the third Amulet of Resonance is at the Priest of Kerenas in the temple of Einhasad Aden. Get him the Resonance Amulet.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00071_SagaOfEvasTemplar/stone31.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00071_SagaOfEvasTemplar/stone31.htm
new file mode 100644
index 0000000000..f429bf6f91
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00071_SagaOfEvasTemplar/stone31.htm
@@ -0,0 +1,5 @@
+
+Stone of knowledge:
+You slash like a stone starts to vibrate
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00071_SagaOfEvasTemplar/stone32.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00071_SagaOfEvasTemplar/stone32.htm
new file mode 100644
index 0000000000..c20fd64faa
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00071_SagaOfEvasTemplar/stone32.htm
@@ -0,0 +1,4 @@
+
+Stone of knowledge:
+When the activation of the third Stone of Knowledge ended, he showed the location of the next stone. The fourth Stone of Knowledge is in the area of the Elven Village, and the last Amulet of Resonance is near the stone. Go there.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00071_SagaOfEvasTemplar/stone40.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00071_SagaOfEvasTemplar/stone40.htm
new file mode 100644
index 0000000000..d93aa8ff1d
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00071_SagaOfEvasTemplar/stone40.htm
@@ -0,0 +1,7 @@
+
+You came to the stone and he began to vibrate
+
+The last amulet is located at Cursed Kesadein
+Are you ready to fight him?
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00071_SagaOfEvasTemplar/stone41.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00071_SagaOfEvasTemplar/stone41.htm
new file mode 100644
index 0000000000..77e9c696e2
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00071_SagaOfEvasTemplar/stone41.htm
@@ -0,0 +1,3 @@
+
+Near the Cursed Kesadein appeared
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00071_SagaOfEvasTemplar/stone42.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00071_SagaOfEvasTemplar/stone42.htm
new file mode 100644
index 0000000000..1648d1c946
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00071_SagaOfEvasTemplar/stone42.htm
@@ -0,0 +1,5 @@
+
+Stone of knowledge:
+You slash like a stone starts to vibrate
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00071_SagaOfEvasTemplar/stone43.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00071_SagaOfEvasTemplar/stone43.htm
new file mode 100644
index 0000000000..0eec4695c6
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00071_SagaOfEvasTemplar/stone43.htm
@@ -0,0 +1,5 @@
+
+Stone of knowledge:
+You successfully activated the last stone
+During the pilgrimage you learned a lot about your people. Go to Master Sinden and tell him about your wanderings.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00072_SagaOfTheSwordMuse/Q00072_SagaOfTheSwordMuse.java b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00072_SagaOfTheSwordMuse/Q00072_SagaOfTheSwordMuse.java
new file mode 100644
index 0000000000..d2b1adbe69
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00072_SagaOfTheSwordMuse/Q00072_SagaOfTheSwordMuse.java
@@ -0,0 +1,454 @@
+package quests.Q00072_SagaOfTheSwordMuse;
+
+import java.util.HashSet;
+import java.util.Set;
+
+import com.l2jmobius.gameserver.model.actor.L2Npc;
+import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
+import com.l2jmobius.gameserver.model.base.ClassId;
+import com.l2jmobius.gameserver.model.holders.NpcLogListHolder;
+import com.l2jmobius.gameserver.model.quest.Quest;
+import com.l2jmobius.gameserver.model.quest.QuestState;
+import com.l2jmobius.gameserver.model.quest.State;
+import com.l2jmobius.gameserver.network.serverpackets.MagicSkillUse;
+import com.l2jmobius.gameserver.util.Util;
+
+//QuangNguyen
+
+public class Q00072_SagaOfTheSwordMuse extends Quest
+{
+ public final int RAIEN = 30853;
+ public final int GALLADUCCI = 30097;
+ public final int RIFKEN = 34268;
+ public final int CERENAS = 31281;
+ public final int TABLET_OF_VISION_1 = 31646;
+ public final int TABLET_OF_VISION_2 = 31649;
+ public final int TABLET_OF_VISION_3 = 31650;
+ public final int TABLET_OF_VISION_4 = 31655;
+ public final int MOON_VOICE_IRENE = 31618;
+ // mobs
+ public final int ICE_MONSTER = 27316;
+ public final int SPIRIT_OF_A_DROWNED = 27317;
+ public final int SOUL_OF_COLD = 27318;
+ public final int GHOST_OF_SOLITUDE = 27319;
+ public final int FIEND_OF_COLD = 27320;
+ public final int SPIRIT_OF_COLD = 27321;
+ public final int SPAMPLAND_WATCHMAN = 21650;
+ public final int FLAME_DRAKE = 21651;
+ public final int FIERY_IFRIT = 21652;
+ public final int IKEDIT = 21653;
+ public final int WATCHER_OF_ANCIENT_PLEDGE = 27216;
+ public final int SWORD_PLAYER_BIEL = 27288;
+ public final int HALISHA_ARCHON = 27219;
+ public final int FALLEN_ANGEL_NARCISSUS = 27280;
+ // items
+ public final int ICE_CRYSTAL_FRAGMENT = 49806;
+ public final int HALISHA_BADGE = 7487;
+ public final int AMULET_REZONANSA_PERVIY = 7270;
+ public final int AMULET_REZONANSA_VTOROI = 7301;
+ public final int AMULET_REZONANSA_TRETIY = 7332;
+ public final int AMULET_REZONANSA_CHETVERTIY = 7363;
+ public final int BITTER_COLD_BEER = 7536;
+ // reward
+ public final int BOOKPEGASUS = 90039;
+ private static final String KILL_COUNT_VAR = "KillCount";
+
+ public Q00072_SagaOfTheSwordMuse()
+ {
+ super(72);
+ addStartNpc(RAIEN);
+ addTalkId(RAIEN, GALLADUCCI, RIFKEN, CERENAS, MOON_VOICE_IRENE, TABLET_OF_VISION_1, TABLET_OF_VISION_2, TABLET_OF_VISION_3, TABLET_OF_VISION_4);
+ addKillId(ICE_MONSTER, SPIRIT_OF_A_DROWNED, SOUL_OF_COLD, GHOST_OF_SOLITUDE, FIEND_OF_COLD);
+ addKillId(SPIRIT_OF_COLD, SPAMPLAND_WATCHMAN, FLAME_DRAKE, FIERY_IFRIT, IKEDIT);
+ addKillId(WATCHER_OF_ANCIENT_PLEDGE, SWORD_PLAYER_BIEL, HALISHA_ARCHON, FALLEN_ANGEL_NARCISSUS);
+ registerQuestItems(BITTER_COLD_BEER, ICE_CRYSTAL_FRAGMENT, HALISHA_BADGE);
+ addCondMinLevel(76, "aiken02.htm");
+ addCondClassId(ClassId.SWORDSINGER, "aiken03.htm");
+ }
+
+ @Override
+ public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
+ {
+ final QuestState st = getQuestState(player, false);
+ if (st == null)
+ {
+ return null;
+ }
+ String htmltext = event;
+ switch (event)
+ {
+ case "aiken02a.htm":
+ htmltext = "aiken5.htm";
+ break;
+ case "aiken01s.htm":
+ if (st.getCond() == 0)
+ {
+ st.startQuest();
+ st.setCond(1);
+ }
+ break;
+ case "jer2.htm":
+ if (st.getCond() == 1)
+ {
+ st.setCond(2);
+ }
+ break;
+ case "rifken2.htm":
+ if (st.getCond() == 2)
+ {
+ st.setCond(3);
+ }
+ break;
+ case "rifken4.htm":
+ if (st.getCond() == 4)
+ {
+ st.setCond(5);
+ }
+ takeItems(player, ICE_CRYSTAL_FRAGMENT, -1);
+ giveItems(player, BITTER_COLD_BEER, 1);
+ break;
+ case "jer4.htm":
+ if (st.getCond() == 5)
+ {
+ st.setCond(6);
+ }
+ giveItems(player, AMULET_REZONANSA_PERVIY, 1);
+ takeItems(player, BITTER_COLD_BEER, -1);
+ break;
+ case "stone12.htm":
+ if (st.getCond() == 6)
+ {
+ st.setCond(7);
+ }
+ break;
+ case "stone22.htm":
+ if (st.getCond() == 8)
+ {
+ addSpawn(SWORD_PLAYER_BIEL, npc, true, 0, true);
+ st.setCond(9);
+ }
+ break;
+ case "stone25.htm":
+ if (st.getCond() == 10)
+ {
+ st.setCond(11);
+ }
+ break;
+ case "jer6.htm":
+ if (st.getCond() == 11)
+ {
+ st.setCond(12);
+ }
+ break;
+ case "stone32.htm":
+ if (st.getCond() == 14)
+ {
+ st.setCond(15);
+ }
+ break;
+ case "stone41.htm":
+ if (st.getCond() == 15)
+ {
+ st.setCond(16);
+ }
+ addSpawn(FALLEN_ANGEL_NARCISSUS, npc, true, 0, true);
+ break;
+ case "erikrams2.htm":
+ if (st.getCond() == 16)
+ {
+ st.setCond(17);
+ }
+ giveItems(player, AMULET_REZONANSA_CHETVERTIY, 1);
+ break;
+ case "stone43.htm":
+ if (st.getCond() == 17)
+ {
+ st.setCond(18);
+ }
+ break;
+ case "aiken7.htm":
+ if (st.getCond() == 18)
+ {
+ if ((player.getLevel() < 76) && (player.getBaseClass() != 21))
+ {
+ htmltext = "30849-nolvl.htm";
+ }
+ addExpAndSp(player, 3100000, 103000);
+ rewardItems(player, BOOKPEGASUS, 1);
+ takeItems(player, AMULET_REZONANSA_PERVIY, -1);
+ takeItems(player, AMULET_REZONANSA_VTOROI, -1);
+ takeItems(player, AMULET_REZONANSA_TRETIY, -1);
+ takeItems(player, AMULET_REZONANSA_CHETVERTIY, -1);
+ takeItems(player, HALISHA_BADGE, -1);
+ st.exitQuest(false, true);
+ player.setClassId(100);
+ player.setBaseClass(100);
+ player.broadcastUserInfo();
+ npc.broadcastPacket(new MagicSkillUse(npc, player, 5103, 1, 1000, 0));
+ }
+ break;
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onTalk(L2Npc npc, L2PcInstance talker)
+ {
+ final QuestState qs = getQuestState(talker, true);
+ String htmltext = getNoQuestMsg(talker);
+
+ switch (qs.getState())
+ {
+ case State.CREATED:
+ {
+ if (npc.getId() == RAIEN)
+ {
+ htmltext = "aiken01.htm";
+ }
+ break;
+ }
+ case State.STARTED:
+ {
+ if (npc.getId() == RAIEN)
+ {
+ if (qs.getCond() == 1)
+ {
+ htmltext = "aiken01s.htm";
+ }
+ if (qs.getCond() == 18)
+ {
+ htmltext = "aiken6.htm";
+ }
+
+ }
+ if (npc.getId() == GALLADUCCI)
+ {
+ if (qs.getCond() == 1)
+ {
+ htmltext = "jer1.htm";
+ }
+ if (qs.getCond() == 2)
+ {
+ htmltext = "jer2.htm";
+ }
+ if (qs.getCond() == 5)
+ {
+ htmltext = "jer3.htm";
+ }
+ if (qs.getCond() == 6)
+ {
+ htmltext = "jer4.htm";
+ }
+ }
+ if (npc.getId() == CERENAS)
+ {
+ if (qs.getCond() == 11)
+ {
+ htmltext = "jer5.htm";
+ }
+ if (qs.getCond() == 12)
+ {
+ htmltext = "jer6.htm";
+ }
+ }
+ if (npc.getId() == RIFKEN)
+ {
+ if (qs.getCond() == 2)
+ {
+ htmltext = "rifken1.htm";
+ }
+ if (qs.getCond() == 3)
+ {
+ htmltext = "rifken2.htm";
+ }
+ if (qs.getCond() == 4)
+ {
+ htmltext = "rifken3.htm";
+ }
+ }
+ if (npc.getId() == TABLET_OF_VISION_1)
+ {
+ if (qs.getCond() == 6)
+ {
+ htmltext = "stone11.htm";
+ }
+ if (qs.getCond() == 7)
+ {
+ htmltext = "stone12.htm";
+ }
+ }
+ if (npc.getId() == TABLET_OF_VISION_2)
+ {
+ if (qs.getCond() == 8)
+ {
+ htmltext = "stone21.htm";
+ }
+ if (qs.getCond() == 9)
+ {
+ htmltext = "stone23.htm";
+ }
+ if (qs.getCond() == 10)
+ {
+ htmltext = "stone24.htm";
+ }
+ if (qs.getCond() == 11)
+ {
+ htmltext = "stone25.htm";
+ }
+ }
+ if (npc.getId() == TABLET_OF_VISION_3)
+ {
+ if (qs.getCond() == 14)
+ {
+ htmltext = "stone31.htm";
+ }
+ if (qs.getCond() == 15)
+ {
+ htmltext = "stone32.htm";
+ }
+ }
+ if (npc.getId() == TABLET_OF_VISION_4)
+ {
+ if (qs.getCond() == 15)
+ {
+ htmltext = "stone40.htm";
+ }
+ if (qs.getCond() == 17)
+ {
+ htmltext = "stone42.htm";
+ }
+ if (qs.getCond() == 18)
+ {
+ htmltext = "stone43.htm";
+ }
+
+ }
+ if (npc.getId() == MOON_VOICE_IRENE)
+ {
+ if (qs.getCond() == 16)
+ {
+ htmltext = "erikrams1.htm";
+ }
+ if (qs.getCond() == 17)
+ {
+ htmltext = "erikrams2.htm";
+ }
+ }
+ break;
+ }
+ case State.COMPLETED:
+ {
+ htmltext = getAlreadyCompletedMsg(talker);
+ break;
+ }
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
+ {
+ final QuestState qs = getQuestState(killer, false);
+ if ((qs != null) && qs.isStarted() && Util.checkIfInRange(1500, npc, killer, true))
+ {
+ switch (npc.getId())
+ {
+ case ICE_MONSTER:
+ case SPIRIT_OF_A_DROWNED:
+ case SOUL_OF_COLD:
+ case FIEND_OF_COLD:
+ case GHOST_OF_SOLITUDE:
+ case SPIRIT_OF_COLD:
+ if (qs.getCond() == 3)
+ {
+ if (getQuestItemsCount(killer, ICE_CRYSTAL_FRAGMENT) < 50)
+ {
+ giveItemRandomly(killer, npc, ICE_CRYSTAL_FRAGMENT, 1, 50, 50, true);
+ }
+ if (getQuestItemsCount(killer, ICE_CRYSTAL_FRAGMENT) >= 50)
+ {
+ qs.setCond(4);
+ }
+ }
+ break;
+ case SWORD_PLAYER_BIEL:
+ if (qs.getCond() == 9)
+ {
+ qs.setCond(10);
+ }
+ break;
+ case SPAMPLAND_WATCHMAN:
+ case FLAME_DRAKE:
+ case FIERY_IFRIT:
+ case IKEDIT:
+ if (qs.getCond() == 12)
+ {
+ if (getQuestItemsCount(killer, HALISHA_BADGE) < 701)
+ {
+ giveItemRandomly(killer, npc, HALISHA_BADGE, 1, 701, 50, true);
+ if (getQuestItemsCount(killer, HALISHA_BADGE) >= 701)
+ {
+ addSpawn(HALISHA_ARCHON, npc, true, 0, true);
+ qs.setCond(13);
+ }
+ }
+ }
+ break;
+ case HALISHA_ARCHON:
+ if (qs.getCond() == 13)
+ {
+ if (!hasQuestItems(killer, AMULET_REZONANSA_TRETIY))
+ {
+ giveItemRandomly(killer, npc, AMULET_REZONANSA_TRETIY, 1, 1, 50, true);
+ }
+ qs.setCond(14);
+ }
+ break;
+ case FALLEN_ANGEL_NARCISSUS:
+ if (qs.getCond() == 16)
+ {
+ addSpawn(MOON_VOICE_IRENE, npc, true, 20000, true);
+ }
+ break;
+ }
+
+ if (qs.isCond(7))
+ {
+ int count = qs.getInt(KILL_COUNT_VAR);
+ if (npc.getId() == WATCHER_OF_ANCIENT_PLEDGE)
+ {
+ if (count < 20)
+ {
+ qs.set(KILL_COUNT_VAR, ++count);
+ sendNpcLogList(killer);
+ }
+ }
+ if (count >= 20)
+ {
+ qs.setCond(8, true);
+ giveItems(killer, AMULET_REZONANSA_VTOROI, 1);
+ }
+ }
+ }
+ return super.onKill(npc, killer, isSummon);
+ }
+
+ @Override
+ public Set getNpcLogList(L2PcInstance player)
+ {
+ final QuestState qs = getQuestState(player, false);
+ if ((qs != null) && qs.isCond(7))
+ {
+ final Set holder = new HashSet<>(1);
+
+ // guardian of forbidden knowledge
+ final int guardiancount = qs.getInt(KILL_COUNT_VAR);
+ if (guardiancount > 0)
+ {
+ holder.add(new NpcLogListHolder(WATCHER_OF_ANCIENT_PLEDGE, false, guardiancount));
+ }
+ return holder;
+ }
+ return super.getNpcLogList(player);
+ }
+}
\ No newline at end of file
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00072_SagaOfTheSwordMuse/aiken01.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00072_SagaOfTheSwordMuse/aiken01.htm
new file mode 100644
index 0000000000..924858fbc0
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00072_SagaOfTheSwordMuse/aiken01.htm
@@ -0,0 +1,6 @@
+
+Ryan:
+
+Do you want to become a Sword Muse ?
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00072_SagaOfTheSwordMuse/aiken01s.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00072_SagaOfTheSwordMuse/aiken01s.htm
new file mode 100644
index 0000000000..1772fa73b7
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00072_SagaOfTheSwordMuse/aiken01s.htm
@@ -0,0 +1,5 @@
+
+Ryan:
+
+Eve only gives the power of her songs to the Elves. Do you want to improve further in the way of her teaching? Then you need to make a pilgrimage ... Go to Giran to the arms dealer Galaducci
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00072_SagaOfTheSwordMuse/aiken02.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00072_SagaOfTheSwordMuse/aiken02.htm
new file mode 100644
index 0000000000..e4053dca82
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00072_SagaOfTheSwordMuse/aiken02.htm
@@ -0,0 +1,7 @@
+
+Ryan:
+
+My young friend, you do not have enough experience to become a Sword Muse. I see your passion and I hope that you will keep it in your heart, but it is not enough - only through the experience of battle you can acquire the power that will allow you not to deviate from your faith in the era of untruth.
+Come back when you are a little older and wiser. When you are ready, I will give you an assignment to check if you are ready to become a Sword Muse.
+(Quest for characters whose level is 76 or higher.)
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00072_SagaOfTheSwordMuse/aiken02a.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00072_SagaOfTheSwordMuse/aiken02a.htm
new file mode 100644
index 0000000000..a46a75bd24
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00072_SagaOfTheSwordMuse/aiken02a.htm
@@ -0,0 +1,7 @@
+
+Ryan:
+
+Have you not already received the title of Sword Muse?
+Â My brother, you do not have to go through the test of the squire again.
+Â Your duty is to fight for your faith and the glory of the lord.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00072_SagaOfTheSwordMuse/aiken03.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00072_SagaOfTheSwordMuse/aiken03.htm
new file mode 100644
index 0000000000..b09281cad1
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00072_SagaOfTheSwordMuse/aiken03.htm
@@ -0,0 +1,6 @@
+
+Ryan:
+
+Apparently, you have already chosen your path.
+Â You do not need to perform the task of the sword muse.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00072_SagaOfTheSwordMuse/aiken5.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00072_SagaOfTheSwordMuse/aiken5.htm
new file mode 100644
index 0000000000..d13be5942c
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00072_SagaOfTheSwordMuse/aiken5.htm
@@ -0,0 +1,9 @@
+
+Ryan:
+
+Do you want to become a Sword Muse?
+ Well, then you must pass Saga of Sword Muse,
+ To prove that you are not just a reckless, quick-tempered warrior, but
+Â A warrior with the soul of a true sword muse. This is a form of ritual and the process of training,
+Â Which all those who wish to become sword muse must perform.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00072_SagaOfTheSwordMuse/aiken6.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00072_SagaOfTheSwordMuse/aiken6.htm
new file mode 100644
index 0000000000..50f5958403
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00072_SagaOfTheSwordMuse/aiken6.htm
@@ -0,0 +1,6 @@
+
+Ryan:
+
+Congratulations! You have passed all the tests and are ready to receive the Sword Muse profession!
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00072_SagaOfTheSwordMuse/aiken7.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00072_SagaOfTheSwordMuse/aiken7.htm
new file mode 100644
index 0000000000..b5fa48f571
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00072_SagaOfTheSwordMuse/aiken7.htm
@@ -0,0 +1,5 @@
+
+Ryan:
+
+Congratulations! You have received the Sword Muse profession!
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00072_SagaOfTheSwordMuse/erikrams1.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00072_SagaOfTheSwordMuse/erikrams1.htm
new file mode 100644
index 0000000000..4a462c0694
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00072_SagaOfTheSwordMuse/erikrams1.htm
@@ -0,0 +1,7 @@
+
+Irene The Voice of the Moon:
+
+Thank you! You helped avenge me, I will give you the fourth amulet
+
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00072_SagaOfTheSwordMuse/erikrams2.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00072_SagaOfTheSwordMuse/erikrams2.htm
new file mode 100644
index 0000000000..72eb3ee0ed
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00072_SagaOfTheSwordMuse/erikrams2.htm
@@ -0,0 +1,5 @@
+
+Irene The Voice of the Moon:
+
+Now activate the last stone
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00072_SagaOfTheSwordMuse/jer1.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00072_SagaOfTheSwordMuse/jer1.htm
new file mode 100644
index 0000000000..8457983542
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00072_SagaOfTheSwordMuse/jer1.htm
@@ -0,0 +1,6 @@
+
+Galaducci:
+
+Merchant Galaducci the Merchant asks him to bring him some Cold Beer. To get it, go to Gourmet Rifken in Aden.
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00072_SagaOfTheSwordMuse/jer2.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00072_SagaOfTheSwordMuse/jer2.htm
new file mode 100644
index 0000000000..a4e3c6a841
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00072_SagaOfTheSwordMuse/jer2.htm
@@ -0,0 +1,5 @@
+
+Galaducci:
+
+Merchant Galaducci the Merchant asks him to bring him some Cold Beer. To get it, go to Gourmet Rifken in Aden.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00072_SagaOfTheSwordMuse/jer3.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00072_SagaOfTheSwordMuse/jer3.htm
new file mode 100644
index 0000000000..d242456a38
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00072_SagaOfTheSwordMuse/jer3.htm
@@ -0,0 +1,6 @@
+
+Galaducci:
+
+Have you brought Cold Beer?
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00072_SagaOfTheSwordMuse/jer4.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00072_SagaOfTheSwordMuse/jer4.htm
new file mode 100644
index 0000000000..622efbf977
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00072_SagaOfTheSwordMuse/jer4.htm
@@ -0,0 +1,5 @@
+
+Galaducci:
+
+You have received the Resonance Amulet. Activate the Stone of Knowledge to the south of the Tower of Insolence.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00072_SagaOfTheSwordMuse/jer5.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00072_SagaOfTheSwordMuse/jer5.htm
new file mode 100644
index 0000000000..d3455c4ea7
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00072_SagaOfTheSwordMuse/jer5.htm
@@ -0,0 +1,6 @@
+
+Kerenas:
+
+Have you come for the third Amulet of Resonance?
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00072_SagaOfTheSwordMuse/jer6.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00072_SagaOfTheSwordMuse/jer6.htm
new file mode 100644
index 0000000000..c0d975eebd
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00072_SagaOfTheSwordMuse/jer6.htm
@@ -0,0 +1,5 @@
+
+Kerenas:
+
+Priest Kerenas says that the third Amulet of Resonance is in Archon Halisha. To summon him, you need to destroy his minions in the Swollen Tops and collect the Halisha Signs. Destroy these monsters and call Archon Halisha. The aim of the hunt is the Ranger of the Swamp, Burning Drake, Flamey Ifrit, Ikedith
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00072_SagaOfTheSwordMuse/rifken1.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00072_SagaOfTheSwordMuse/rifken1.htm
new file mode 100644
index 0000000000..e1a329bc06
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00072_SagaOfTheSwordMuse/rifken1.htm
@@ -0,0 +1,6 @@
+
+Rifken:
+
+Gourmet Rifken for making a Cold Beer needs Fragments of the Crystal of Cold.They can be obtained by destroying monsters to the southeast of Aden
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00072_SagaOfTheSwordMuse/rifken2.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00072_SagaOfTheSwordMuse/rifken2.htm
new file mode 100644
index 0000000000..8c7c873cdf
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00072_SagaOfTheSwordMuse/rifken2.htm
@@ -0,0 +1,5 @@
+
+Rifken:
+
+Obtain Fragments of the Crystal of Cold..These pieces can be obtained by destroying monsters to the southeast of Aden.The aim of the hunt is the Ice Monster, the Spirit of the Drowned One, the Soul of Cold, the Phantom of Solitude, the Behemoth of Coldness, the Spirit of Coldness.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00072_SagaOfTheSwordMuse/rifken3.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00072_SagaOfTheSwordMuse/rifken3.htm
new file mode 100644
index 0000000000..4e58bd7470
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00072_SagaOfTheSwordMuse/rifken3.htm
@@ -0,0 +1,6 @@
+
+Rifken:
+
+Did you get all the ingredients?
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00072_SagaOfTheSwordMuse/rifken4.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00072_SagaOfTheSwordMuse/rifken4.htm
new file mode 100644
index 0000000000..a3a63ea953
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00072_SagaOfTheSwordMuse/rifken4.htm
@@ -0,0 +1,5 @@
+
+Rifken:
+
+Gourmet Rifken cooked Cold Beer. Return to Giran to the Merchant of Galaducci.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00072_SagaOfTheSwordMuse/stone11.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00072_SagaOfTheSwordMuse/stone11.htm
new file mode 100644
index 0000000000..3ff125f2bc
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00072_SagaOfTheSwordMuse/stone11.htm
@@ -0,0 +1,5 @@
+
+Stone of knowledge:
+You slash like a stone starts to vibrate
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00072_SagaOfTheSwordMuse/stone12.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00072_SagaOfTheSwordMuse/stone12.htm
new file mode 100644
index 0000000000..4cb6f531d2
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00072_SagaOfTheSwordMuse/stone12.htm
@@ -0,0 +1,4 @@
+
+Stone of knowledge:
+You brought the amulet and the inscription appeared on the stone - The second Amulet of Resonance is at the Keepers of the Ancient Vow next to the second Stone of Knowledge.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00072_SagaOfTheSwordMuse/stone21.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00072_SagaOfTheSwordMuse/stone21.htm
new file mode 100644
index 0000000000..9510e2b545
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00072_SagaOfTheSwordMuse/stone21.htm
@@ -0,0 +1,5 @@
+
+Stone of knowledge:
+You slash like a stone starts to vibrate
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00072_SagaOfTheSwordMuse/stone22.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00072_SagaOfTheSwordMuse/stone22.htm
new file mode 100644
index 0000000000..a2f57a8c00
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00072_SagaOfTheSwordMuse/stone22.htm
@@ -0,0 +1,4 @@
+
+Stone of knowledge:
+As soon as you came to the stone, the Sword Virtuoso Biel appeared. Obviously, he is trying to stop you. Destroy it.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00072_SagaOfTheSwordMuse/stone23.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00072_SagaOfTheSwordMuse/stone23.htm
new file mode 100644
index 0000000000..d323517e9b
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00072_SagaOfTheSwordMuse/stone23.htm
@@ -0,0 +1,4 @@
+
+Stone of knowledge:
+Now you can go in search of the third stone
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00072_SagaOfTheSwordMuse/stone24.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00072_SagaOfTheSwordMuse/stone24.htm
new file mode 100644
index 0000000000..40fdfdbd5f
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00072_SagaOfTheSwordMuse/stone24.htm
@@ -0,0 +1,5 @@
+
+Stone of knowledge:
+You slash like a stone starts to vibrate
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00072_SagaOfTheSwordMuse/stone25.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00072_SagaOfTheSwordMuse/stone25.htm
new file mode 100644
index 0000000000..78e1e5a44a
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00072_SagaOfTheSwordMuse/stone25.htm
@@ -0,0 +1,4 @@
+
+Stone of knowledge:
+Activating the stone, you learned that the third Amulet of Resonance is at the Priest of Kerenas in the temple of Einhasad Aden. Get him the Resonance Amulet.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00072_SagaOfTheSwordMuse/stone31.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00072_SagaOfTheSwordMuse/stone31.htm
new file mode 100644
index 0000000000..24f7bf7960
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00072_SagaOfTheSwordMuse/stone31.htm
@@ -0,0 +1,5 @@
+
+Stone of knowledge:
+You slash like a stone starts to vibrate
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00072_SagaOfTheSwordMuse/stone32.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00072_SagaOfTheSwordMuse/stone32.htm
new file mode 100644
index 0000000000..60454347b2
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00072_SagaOfTheSwordMuse/stone32.htm
@@ -0,0 +1,4 @@
+
+Stone of knowledge:
+When the activation of the third Stone of Knowledge ended, he showed the location of the next stone. The fourth Stone of Knowledge is in the area of the Elven Village, and the last Amulet of Resonance is near the stone. Go there.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00072_SagaOfTheSwordMuse/stone40.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00072_SagaOfTheSwordMuse/stone40.htm
new file mode 100644
index 0000000000..15aa92d288
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00072_SagaOfTheSwordMuse/stone40.htm
@@ -0,0 +1,7 @@
+
+You came to the stone and he began to vibrate
+
+The last amulet is in the Fallen Angel of Narcissus
+Are you ready to fight him?
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00072_SagaOfTheSwordMuse/stone41.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00072_SagaOfTheSwordMuse/stone41.htm
new file mode 100644
index 0000000000..16a47d2339
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00072_SagaOfTheSwordMuse/stone41.htm
@@ -0,0 +1,3 @@
+
+Nearly appeared the Fallen Angel Narcissus
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00072_SagaOfTheSwordMuse/stone42.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00072_SagaOfTheSwordMuse/stone42.htm
new file mode 100644
index 0000000000..911d2e791f
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00072_SagaOfTheSwordMuse/stone42.htm
@@ -0,0 +1,5 @@
+
+Stone of knowledge:
+You slash like a stone starts to vibrate
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00072_SagaOfTheSwordMuse/stone43.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00072_SagaOfTheSwordMuse/stone43.htm
new file mode 100644
index 0000000000..e6ba8f5e9b
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00072_SagaOfTheSwordMuse/stone43.htm
@@ -0,0 +1,5 @@
+
+Stone of knowledge:
+You successfully activated the last stone
+The great goddess teaches us to comprehend the world through the Song. Go to Master Ryan in Aden and tell her about your wanderings.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00073_SagaOfTheDuelist/30691-01.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00073_SagaOfTheDuelist/30691-01.htm
new file mode 100644
index 0000000000..766ec78a41
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00073_SagaOfTheDuelist/30691-01.htm
@@ -0,0 +1,4 @@
+
+Atebalt:
+Master Aren Atebalt asks to bring him the Champion's Lunch, the delicious dishes that all the Duelists once ate before they went to battle. To get them, contact Gourmet Rifken in Aden.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00073_SagaOfTheDuelist/30691-03.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00073_SagaOfTheDuelist/30691-03.htm
new file mode 100644
index 0000000000..1edb98c3ec
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00073_SagaOfTheDuelist/30691-03.htm
@@ -0,0 +1,5 @@
+
+Atebalt:
+Did you bring the "Champion Lunch"?
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00073_SagaOfTheDuelist/30691-04.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00073_SagaOfTheDuelist/30691-04.htm
new file mode 100644
index 0000000000..4a0e0dae41
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00073_SagaOfTheDuelist/30691-04.htm
@@ -0,0 +1,4 @@
+
+Atebalt:
+You have received the Resonance Amulet. Activate the Stone of Knowledge to the south of the Tower of Insolence.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00073_SagaOfTheDuelist/30691.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00073_SagaOfTheDuelist/30691.htm
new file mode 100644
index 0000000000..cc2510b654
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00073_SagaOfTheDuelist/30691.htm
@@ -0,0 +1,5 @@
+
+Atebalt:
+Before entering the arena, each Duelist must try the Champion's Lunch!
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00073_SagaOfTheDuelist/30849-01a.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00073_SagaOfTheDuelist/30849-01a.htm
new file mode 100644
index 0000000000..c64f125a70
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00073_SagaOfTheDuelist/30849-01a.htm
@@ -0,0 +1,3 @@
+Sedrick:
+Only the strongest Gladiators can become Duelists. Talk to Master Aren Atebalt in the Hunters Village.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00073_SagaOfTheDuelist/30849-02.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00073_SagaOfTheDuelist/30849-02.htm
new file mode 100644
index 0000000000..88a1cc483b
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00073_SagaOfTheDuelist/30849-02.htm
@@ -0,0 +1,5 @@
+Sedrick:
+My young friend, you do not have enough experience to become a Duelist. I see your passion and I hope that you will keep it in your heart, but it is not enough - only through the experience of battle you can acquire the power that will allow you not to deviate from your faith in the era of untruth.
+Come back when you are a little older and wiser. When you are ready, I will give you a mission to check if you are ready to become a Duelist.
+(Quest for characters whose level is 76 or higher.)
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00073_SagaOfTheDuelist/30849-02a.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00073_SagaOfTheDuelist/30849-02a.htm
new file mode 100644
index 0000000000..e5ccba3779
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00073_SagaOfTheDuelist/30849-02a.htm
@@ -0,0 +1,5 @@
+Sedrick:
+Have not you already got the title of a Duelist?
+ My brother, you do not have to go through the test of the squire again.
+ Your duty is to fight for your faith and the glory of the lord.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00073_SagaOfTheDuelist/30849-03.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00073_SagaOfTheDuelist/30849-03.htm
new file mode 100644
index 0000000000..b44bdc86e8
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00073_SagaOfTheDuelist/30849-03.htm
@@ -0,0 +1,7 @@
+Sedrick:
+Do you want to become a Duelist?
+ Well, then you must pass Saga Duelist font>,
+ To prove that you are not just a reckless, quick-tempered warrior, but
+ A warrior with the soul of a real Duelist. It is a form of ritual and the process of training,
+ Which all those who wish to become a Duelist must perform.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00073_SagaOfTheDuelist/30849-04.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00073_SagaOfTheDuelist/30849-04.htm
new file mode 100644
index 0000000000..6059d2cb55
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00073_SagaOfTheDuelist/30849-04.htm
@@ -0,0 +1,4 @@
+Sedrick
+Congratulations! You have passed all the tests and are ready to receive the profession of the Duelist !!!
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00073_SagaOfTheDuelist/30849-05.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00073_SagaOfTheDuelist/30849-05.htm
new file mode 100644
index 0000000000..0eff9b4715
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00073_SagaOfTheDuelist/30849-05.htm
@@ -0,0 +1,3 @@
+Sedrick
+Congratulations! You got the profession of a Duelist !!!
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00073_SagaOfTheDuelist/30849-checkclass.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00073_SagaOfTheDuelist/30849-checkclass.htm
new file mode 100644
index 0000000000..cde12927cd
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00073_SagaOfTheDuelist/30849-checkclass.htm
@@ -0,0 +1,4 @@
+Sedrick:
+I cannot help you, child. Perhaps another can.
+(This quest can only be fulfilled by Duelist.)
+
\ No newline at end of file
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00073_SagaOfTheDuelist/30849-nolvl.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00073_SagaOfTheDuelist/30849-nolvl.htm
new file mode 100644
index 0000000000..615bccb58b
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00073_SagaOfTheDuelist/30849-nolvl.htm
@@ -0,0 +1,4 @@
+Sedrick:
+Apparently, you have already chosen your path.
+ You do not need to perform the Duelist task.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00073_SagaOfTheDuelist/30849.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00073_SagaOfTheDuelist/30849.htm
new file mode 100644
index 0000000000..b5fc88aadc
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00073_SagaOfTheDuelist/30849.htm
@@ -0,0 +1,4 @@
+Sedrick:
+Do you want to become a Duelist ?.
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00073_SagaOfTheDuelist/31277-01.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00073_SagaOfTheDuelist/31277-01.htm
new file mode 100644
index 0000000000..b0b078e659
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00073_SagaOfTheDuelist/31277-01.htm
@@ -0,0 +1,4 @@
+
+Felix:
+Master Felix says that the third Amulet of Resonance is in Archon Halisha. To summon him, you need to destroy his minions in the Swollen Tops and collect the Badges of Halisha. Destroy these monsters and call Archon Halisha. The aim of the hunt is the Ranger of the Swamp, Burning Drake, Flamey Ifrit, Ikedith
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00073_SagaOfTheDuelist/31277.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00073_SagaOfTheDuelist/31277.htm
new file mode 100644
index 0000000000..59aa01f4ae
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00073_SagaOfTheDuelist/31277.htm
@@ -0,0 +1,5 @@
+
+Felix:
+Have you come for the third Amulet of Resonance?
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00073_SagaOfTheDuelist/31639-01.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00073_SagaOfTheDuelist/31639-01.htm
new file mode 100644
index 0000000000..00909cf331
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00073_SagaOfTheDuelist/31639-01.htm
@@ -0,0 +1,3 @@
+Kain Van Halter:
+Now activate the last stone
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00073_SagaOfTheDuelist/31639.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00073_SagaOfTheDuelist/31639.htm
new file mode 100644
index 0000000000..349c3f77d2
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00073_SagaOfTheDuelist/31639.htm
@@ -0,0 +1,4 @@
+Kain Van Halter:
+Thank you! You helped avenge me, I will give you the fourth amulet
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00073_SagaOfTheDuelist/31646-01.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00073_SagaOfTheDuelist/31646-01.htm
new file mode 100644
index 0000000000..4add183f81
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00073_SagaOfTheDuelist/31646-01.htm
@@ -0,0 +1,3 @@
+Table of Vision 1:
+You brought the amulet and the inscription appeared on the stone - The second Amulet of Resonance is in the Keepers of Forbidden Knowledge next to the second Stone of Knowledge.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00073_SagaOfTheDuelist/31646.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00073_SagaOfTheDuelist/31646.htm
new file mode 100644
index 0000000000..e02be6387e
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00073_SagaOfTheDuelist/31646.htm
@@ -0,0 +1,4 @@
+Table of Vision 1:
+You slash like a stone starts to vibrate
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00073_SagaOfTheDuelist/31649-01.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00073_SagaOfTheDuelist/31649-01.htm
new file mode 100644
index 0000000000..2ff340d2a3
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00073_SagaOfTheDuelist/31649-01.htm
@@ -0,0 +1,3 @@
+Table of Vision 2:
+You slash like a stone starts to vibrate
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00073_SagaOfTheDuelist/31649-02.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00073_SagaOfTheDuelist/31649-02.htm
new file mode 100644
index 0000000000..7014a2b6ed
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00073_SagaOfTheDuelist/31649-02.htm
@@ -0,0 +1,3 @@
+Table of Vision 2:
+Now you can go in search of the third stone
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00073_SagaOfTheDuelist/31649-03.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00073_SagaOfTheDuelist/31649-03.htm
new file mode 100644
index 0000000000..1ca7e4ddd4
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00073_SagaOfTheDuelist/31649-03.htm
@@ -0,0 +1,4 @@
+Table of Vision 2:
+You slash like a stone starts to vibrate
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00073_SagaOfTheDuelist/31649-04.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00073_SagaOfTheDuelist/31649-04.htm
new file mode 100644
index 0000000000..9e09499ea1
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00073_SagaOfTheDuelist/31649-04.htm
@@ -0,0 +1,3 @@
+Table of Vision 2:
+The third Amulet of Resonance is in Master Felix from the Village of the Hunters.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00073_SagaOfTheDuelist/31649.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00073_SagaOfTheDuelist/31649.htm
new file mode 100644
index 0000000000..e0cdfaff19
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00073_SagaOfTheDuelist/31649.htm
@@ -0,0 +1,4 @@
+Table of Vision 2:
+You slash like a stone starts to vibrate
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00073_SagaOfTheDuelist/31652-01.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00073_SagaOfTheDuelist/31652-01.htm
new file mode 100644
index 0000000000..b075a37ea5
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00073_SagaOfTheDuelist/31652-01.htm
@@ -0,0 +1,3 @@
+Table of Vision 3:
+When the activation of the third Stone of Knowledge ended, he showed the location of the next stone. The fourth Stone of Knowledge is on the Speaking Island, and the last Amulet of Resonance is near the stone. Go there.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00073_SagaOfTheDuelist/31652.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00073_SagaOfTheDuelist/31652.htm
new file mode 100644
index 0000000000..180457a8b2
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00073_SagaOfTheDuelist/31652.htm
@@ -0,0 +1,4 @@
+Table of Vision 3:
+You slash like a stone starts to vibrate
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00073_SagaOfTheDuelist/31654-01.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00073_SagaOfTheDuelist/31654-01.htm
new file mode 100644
index 0000000000..3f6c58ee1f
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00073_SagaOfTheDuelist/31654-01.htm
@@ -0,0 +1,3 @@
+Table of Vision 4:
+Fallen Angel Metellus appeared nearby
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00073_SagaOfTheDuelist/31654-02.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00073_SagaOfTheDuelist/31654-02.htm
new file mode 100644
index 0000000000..db433eca30
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00073_SagaOfTheDuelist/31654-02.htm
@@ -0,0 +1,4 @@
+Table of Vision 4:
+You slash like a stone starts to vibrate
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00073_SagaOfTheDuelist/31654-03.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00073_SagaOfTheDuelist/31654-03.htm
new file mode 100644
index 0000000000..6b5c4a006f
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00073_SagaOfTheDuelist/31654-03.htm
@@ -0,0 +1,4 @@
+Table of Vision 4:
+You have successfully activated the last stone
+Never forget what you learned during this pilgrimage. Go to Grand Master Sedrick in Aden and tell him about your wanderings.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00073_SagaOfTheDuelist/31654.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00073_SagaOfTheDuelist/31654.htm
new file mode 100644
index 0000000000..3f1a86e4bb
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00073_SagaOfTheDuelist/31654.htm
@@ -0,0 +1,6 @@
+Table of Vision 4:
+You came to the stone and he began to vibrate
+The last amulet is at Fallen Angel Metellus
+Are you ready to fight him?
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00073_SagaOfTheDuelist/34268-01.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00073_SagaOfTheDuelist/34268-01.htm
new file mode 100644
index 0000000000..a8be44eb84
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00073_SagaOfTheDuelist/34268-01.htm
@@ -0,0 +1,3 @@
+Rifken:
+Gourmet Rifken needed to prepare the dish Fragments of the Crystal of Cold. These fragments can be obtained by destroying the monsters to the southeast of Aden. The aim of the hunt is Ice Monster, Spirit of the Drowned One, Soul of Coldness, Phantom of Solitude, Cold Beast, Spirit of Cold.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00073_SagaOfTheDuelist/34268-02.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00073_SagaOfTheDuelist/34268-02.htm
new file mode 100644
index 0000000000..f8a15b530c
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00073_SagaOfTheDuelist/34268-02.htm
@@ -0,0 +1,4 @@
+Rifken:
+Did you get all the ingredients?
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00073_SagaOfTheDuelist/34268-03.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00073_SagaOfTheDuelist/34268-03.htm
new file mode 100644
index 0000000000..aa8af65629
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00073_SagaOfTheDuelist/34268-03.htm
@@ -0,0 +1,3 @@
+Rifken:
+Gourmet Rifken prepared the Champion's Lunch with the help of the extracted ingredients. Return to Hunters Village to Master Arena Atebalt.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00073_SagaOfTheDuelist/34268.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00073_SagaOfTheDuelist/34268.htm
new file mode 100644
index 0000000000..b4fed67d48
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00073_SagaOfTheDuelist/34268.htm
@@ -0,0 +1,4 @@
+Rifken:
+I'll help you make "Ice Flower" but I need50 Fragments of the Crystal of Cold.
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00073_SagaOfTheDuelist/Q00073_SagaOfTheDuelist.java b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00073_SagaOfTheDuelist/Q00073_SagaOfTheDuelist.java
new file mode 100644
index 0000000000..860568dbd7
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00073_SagaOfTheDuelist/Q00073_SagaOfTheDuelist.java
@@ -0,0 +1,454 @@
+package quests.Q00073_SagaOfTheDuelist;
+
+import java.util.HashSet;
+import java.util.Set;
+
+import com.l2jmobius.gameserver.model.actor.L2Npc;
+import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
+import com.l2jmobius.gameserver.model.base.ClassId;
+import com.l2jmobius.gameserver.model.holders.NpcLogListHolder;
+import com.l2jmobius.gameserver.model.quest.Quest;
+import com.l2jmobius.gameserver.model.quest.QuestState;
+import com.l2jmobius.gameserver.model.quest.State;
+import com.l2jmobius.gameserver.network.serverpackets.MagicSkillUse;
+import com.l2jmobius.gameserver.util.Util;
+
+//QuangNguyen
+
+public class Q00073_SagaOfTheDuelist extends Quest
+{
+ public final int SEDRICK = 30849;
+ public final int ATHEBALDT = 30691;
+ public final int FELIX = 31277;
+ public final int RIFKEN = 34268;
+ public final int KAIN_VAN_HALTER = 31639;
+ public final int TABLET_OF_VISION_1 = 31646;
+ public final int TABLET_OF_VISION_2 = 31649;
+ public final int TABLET_OF_VISION_3 = 31652;
+ public final int TABLET_OF_VISION_4 = 31654;
+ // mobs
+ public final int ICE_MONSTER = 27316;
+ public final int SPIRIT_OF_A_DROWNED = 27317;
+ public final int SOUL_OF_COLD = 27318;
+ public final int GHOST_OF_SOLITUDE = 27319;
+ public final int FIEND_OF_COLD = 27320;
+ public final int SPIRIT_OF_COLD = 27321;
+ public final int SPAMPLAND_WATCHMAN = 21650;
+ public final int FLAME_DRAKE = 21651;
+ public final int FIERY_IFRIT = 21652;
+ public final int IKEDIT = 21653;
+ public final int WATCHER_OF_ANCIENT_PLEDGE = 27216;
+ public final int ANCIENT_SWORD_MASTER = 27289;
+ public final int HALISHA_ARCHON = 27219;
+ public final int FALLEN_ANGEL_METELLUS = 27281;
+ // items
+ public final int ICE_CRYSTAL_FRAGMENT = 49807;
+ public final int HALISHA_BADGE = 7488;
+ public final int AMULET_REZONANSA_PERVIY = 7271;
+ public final int AMULET_REZONANSA_VTOROI = 7302;
+ public final int AMULET_REZONANSA_TRETIY = 7333;
+ public final int AMULET_REZONANSA_CHETVERTIY = 7364;
+ public final int MULTIPLE_COURSE_MEAL = 7537;
+ // reward
+ public final int BOOKGOLDLION = 90038;
+ private static final String KILL_COUNT_VAR = "KillCount";
+
+ public Q00073_SagaOfTheDuelist()
+ {
+ super(73);
+ addStartNpc(SEDRICK);
+ addTalkId(SEDRICK, ATHEBALDT, FELIX, RIFKEN, KAIN_VAN_HALTER, TABLET_OF_VISION_1, TABLET_OF_VISION_2, TABLET_OF_VISION_3, TABLET_OF_VISION_4);
+ addKillId(ICE_MONSTER, SPIRIT_OF_A_DROWNED, SOUL_OF_COLD, GHOST_OF_SOLITUDE, FIEND_OF_COLD);
+ addKillId(SPIRIT_OF_COLD, SPAMPLAND_WATCHMAN, FLAME_DRAKE, FIERY_IFRIT, IKEDIT);
+ addKillId(WATCHER_OF_ANCIENT_PLEDGE, ANCIENT_SWORD_MASTER, HALISHA_ARCHON, FALLEN_ANGEL_METELLUS);
+ registerQuestItems(MULTIPLE_COURSE_MEAL, ICE_CRYSTAL_FRAGMENT, HALISHA_BADGE);
+ addCondMinLevel(76, "30849-nolvl.htm");
+ addCondClassId(ClassId.GLADIATOR, "30849-checkclass.htm");
+ }
+
+ @Override
+ public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
+ {
+ final QuestState st = getQuestState(player, false);
+ if (st == null)
+ {
+ return null;
+ }
+ String htmltext = event;
+ switch (event)
+ {
+ case "30849-02a.htm":
+ htmltext = "30849-03.htm";
+ break;
+ case "30849-01a.htm":
+ if (st.getCond() == 0)
+ {
+ st.startQuest();
+ st.setCond(1);
+ }
+ break;
+ case "30691-01.htm":
+ if (st.getCond() == 1)
+ {
+ st.setCond(2);
+ }
+ break;
+ case "34268-01.htm":
+ if (st.getCond() == 2)
+ {
+ st.setCond(3);
+ }
+ break;
+ case "34268-03.htm":
+ if (st.getCond() == 4)
+ {
+ st.setCond(5);
+ }
+ takeItems(player, ICE_CRYSTAL_FRAGMENT, -1);
+ giveItems(player, MULTIPLE_COURSE_MEAL, 1);
+ break;
+ case "30691-04.htm":
+ if (st.getCond() == 5)
+ {
+ st.setCond(6);
+ }
+ giveItems(player, AMULET_REZONANSA_PERVIY, 1);
+ takeItems(player, MULTIPLE_COURSE_MEAL, -1);
+ break;
+ case "31646-01.htm":
+ if (st.getCond() == 6)
+ {
+ st.setCond(7);
+ }
+ break;
+ case "31649-01.htm":
+ if (st.getCond() == 8)
+ {
+ addSpawn(ANCIENT_SWORD_MASTER, npc, true, 0, true);
+ st.setCond(9);
+ }
+ break;
+ case "31649-04.htm":
+ if (st.getCond() == 10)
+ {
+ st.setCond(11);
+ }
+ break;
+ case "31277-01.htm":
+ if (st.getCond() == 11)
+ {
+ st.setCond(12);
+ }
+ break;
+ case "31652-01.htm":
+ if (st.getCond() == 14)
+ {
+ st.setCond(15);
+ }
+ break;
+ case "31654-01.htm":
+ if (st.getCond() == 15)
+ {
+ st.setCond(16);
+ }
+ addSpawn(FALLEN_ANGEL_METELLUS, npc, true, 0, true);
+ break;
+ case "31639-01.htm":
+ if (st.getCond() == 16)
+ {
+ st.setCond(17);
+ }
+ giveItems(player, AMULET_REZONANSA_CHETVERTIY, 1);
+ break;
+ case "31654-03.htm":
+ if (st.getCond() == 17)
+ {
+ st.setCond(18);
+ }
+ break;
+ case "30849-05.htm":
+ if (st.getCond() == 18)
+ {
+ if ((player.getLevel() < 76) && (player.getBaseClass() != 2))
+ {
+ htmltext = "30849-nolvl.htm";
+ }
+ addExpAndSp(player, 3100000, 103000);
+ rewardItems(player, BOOKGOLDLION, 1);
+ takeItems(player, AMULET_REZONANSA_PERVIY, -1);
+ takeItems(player, AMULET_REZONANSA_VTOROI, -1);
+ takeItems(player, AMULET_REZONANSA_TRETIY, -1);
+ takeItems(player, AMULET_REZONANSA_CHETVERTIY, -1);
+ takeItems(player, HALISHA_BADGE, -1);
+ st.exitQuest(false, true);
+ player.setClassId(88);
+ player.setBaseClass(88);
+ player.broadcastUserInfo();
+ npc.broadcastPacket(new MagicSkillUse(npc, player, 5103, 1, 1000, 0));
+ }
+ break;
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onTalk(L2Npc npc, L2PcInstance talker)
+ {
+ final QuestState qs = getQuestState(talker, true);
+ String htmltext = getNoQuestMsg(talker);
+
+ switch (qs.getState())
+ {
+ case State.CREATED:
+ {
+ if (npc.getId() == SEDRICK)
+ {
+ htmltext = "30849.htm";
+ }
+ break;
+ }
+ case State.STARTED:
+ {
+ if (npc.getId() == SEDRICK)
+ {
+ if (qs.getCond() == 1)
+ {
+ htmltext = "30849-01a.htm";
+ }
+ if (qs.getCond() == 18)
+ {
+ htmltext = "30849-04.htm";
+ }
+
+ }
+ if (npc.getId() == ATHEBALDT)
+ {
+ if (qs.getCond() == 1)
+ {
+ htmltext = "30691.htm";
+ }
+ if (qs.getCond() == 2)
+ {
+ htmltext = "30691-01.htm";
+ }
+ if (qs.getCond() == 5)
+ {
+ htmltext = "30691-03.htm";
+ }
+ if (qs.getCond() == 6)
+ {
+ htmltext = "30691-04.htm";
+ }
+ }
+ if (npc.getId() == FELIX)
+ {
+ if (qs.getCond() == 11)
+ {
+ htmltext = "31277.htm";
+ }
+ if (qs.getCond() == 12)
+ {
+ htmltext = "31277-01.htm";
+ }
+ }
+ if (npc.getId() == RIFKEN)
+ {
+ if (qs.getCond() == 2)
+ {
+ htmltext = "34268.htm";
+ }
+ if (qs.getCond() == 3)
+ {
+ htmltext = "34268-01.htm";
+ }
+ if (qs.getCond() == 4)
+ {
+ htmltext = "34268-02.htm";
+ }
+ }
+ if (npc.getId() == TABLET_OF_VISION_1)
+ {
+ if (qs.getCond() == 6)
+ {
+ htmltext = "31646.htm";
+ }
+ if (qs.getCond() == 7)
+ {
+ htmltext = "31646-01.htm";
+ }
+ }
+ if (npc.getId() == TABLET_OF_VISION_2)
+ {
+ if (qs.getCond() == 8)
+ {
+ htmltext = "31649.htm";
+ }
+ if (qs.getCond() == 9)
+ {
+ htmltext = "31649-02.htm";
+ }
+ if (qs.getCond() == 10)
+ {
+ htmltext = "31649-03.htm";
+ }
+ if (qs.getCond() == 11)
+ {
+ htmltext = "31649-04.htm";
+ }
+ }
+ if (npc.getId() == TABLET_OF_VISION_3)
+ {
+ if (qs.getCond() == 14)
+ {
+ htmltext = "31652.htm";
+ }
+ if (qs.getCond() == 15)
+ {
+ htmltext = "31652-01.htm";
+ }
+ }
+ if (npc.getId() == TABLET_OF_VISION_4)
+ {
+ if (qs.getCond() == 15)
+ {
+ htmltext = "31654.htm";
+ }
+ if (qs.getCond() == 17)
+ {
+ htmltext = "31654-02.htm";
+ }
+ if (qs.getCond() == 18)
+ {
+ htmltext = "31654-03.htm";
+ }
+
+ }
+ if (npc.getId() == KAIN_VAN_HALTER)
+ {
+ if (qs.getCond() == 16)
+ {
+ htmltext = "31639.htm";
+ }
+ if (qs.getCond() == 17)
+ {
+ htmltext = "31639-01.htm";
+ }
+ }
+ break;
+ }
+ case State.COMPLETED:
+ {
+ htmltext = getAlreadyCompletedMsg(talker);
+ break;
+ }
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
+ {
+ final QuestState qs = getQuestState(killer, false);
+ if ((qs != null) && qs.isStarted() && Util.checkIfInRange(1500, npc, killer, true))
+ {
+ switch (npc.getId())
+ {
+ case ICE_MONSTER:
+ case SPIRIT_OF_A_DROWNED:
+ case SOUL_OF_COLD:
+ case FIEND_OF_COLD:
+ case GHOST_OF_SOLITUDE:
+ case SPIRIT_OF_COLD:
+ if (qs.getCond() == 3)
+ {
+ if (getQuestItemsCount(killer, ICE_CRYSTAL_FRAGMENT) < 50)
+ {
+ giveItemRandomly(killer, npc, ICE_CRYSTAL_FRAGMENT, 1, 50, 50, true);
+ }
+ if (getQuestItemsCount(killer, ICE_CRYSTAL_FRAGMENT) >= 50)
+ {
+ qs.setCond(4);
+ }
+ }
+ break;
+ case ANCIENT_SWORD_MASTER:
+ if (qs.getCond() == 9)
+ {
+ qs.setCond(10);
+ }
+ break;
+ case SPAMPLAND_WATCHMAN:
+ case FLAME_DRAKE:
+ case FIERY_IFRIT:
+ case IKEDIT:
+ if (qs.getCond() == 12)
+ {
+ if (getQuestItemsCount(killer, HALISHA_BADGE) < 701)
+ {
+ giveItemRandomly(killer, npc, HALISHA_BADGE, 1, 701, 50, true);
+ if (getQuestItemsCount(killer, HALISHA_BADGE) >= 701)
+ {
+ addSpawn(HALISHA_ARCHON, npc, true, 0, true);
+ qs.setCond(13);
+ }
+ }
+ }
+ break;
+ case HALISHA_ARCHON:
+ if (qs.getCond() == 13)
+ {
+ if (!hasQuestItems(killer, AMULET_REZONANSA_TRETIY))
+ {
+ giveItemRandomly(killer, npc, AMULET_REZONANSA_TRETIY, 1, 1, 50, true);
+ }
+ qs.setCond(14);
+ }
+ break;
+ case FALLEN_ANGEL_METELLUS:
+ if (qs.getCond() == 16)
+ {
+ addSpawn(KAIN_VAN_HALTER, npc, true, 20000, true);
+ }
+ break;
+ }
+
+ if (qs.isCond(7))
+ {
+ int count = qs.getInt(KILL_COUNT_VAR);
+ if (npc.getId() == WATCHER_OF_ANCIENT_PLEDGE)
+ {
+ if (count < 20)
+ {
+ qs.set(KILL_COUNT_VAR, ++count);
+ sendNpcLogList(killer);
+ }
+ }
+ if (count >= 20)
+ {
+ qs.setCond(8, true);
+ giveItems(killer, AMULET_REZONANSA_VTOROI, 1);
+ }
+ }
+ }
+ return super.onKill(npc, killer, isSummon);
+ }
+
+ @Override
+ public Set getNpcLogList(L2PcInstance player)
+ {
+ final QuestState qs = getQuestState(player, false);
+ if ((qs != null) && qs.isCond(7))
+ {
+ final Set holder = new HashSet<>(1);
+
+ // guardian of forbidden knowledge
+ final int guardiancount = qs.getInt(KILL_COUNT_VAR);
+ if (guardiancount > 0)
+ {
+ holder.add(new NpcLogListHolder(WATCHER_OF_ANCIENT_PLEDGE, false, guardiancount));
+ }
+ return holder;
+ }
+ return super.getNpcLogList(player);
+ }
+}
\ No newline at end of file
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00074_SagaOfTheDreadnought/Q00074_SagaOfTheDreadnought.java b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00074_SagaOfTheDreadnought/Q00074_SagaOfTheDreadnought.java
new file mode 100644
index 0000000000..3a00c9dbb5
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00074_SagaOfTheDreadnought/Q00074_SagaOfTheDreadnought.java
@@ -0,0 +1,454 @@
+package quests.Q00074_SagaOfTheDreadnought;
+
+import java.util.HashSet;
+import java.util.Set;
+
+import com.l2jmobius.gameserver.model.actor.L2Npc;
+import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
+import com.l2jmobius.gameserver.model.base.ClassId;
+import com.l2jmobius.gameserver.model.holders.NpcLogListHolder;
+import com.l2jmobius.gameserver.model.quest.Quest;
+import com.l2jmobius.gameserver.model.quest.QuestState;
+import com.l2jmobius.gameserver.model.quest.State;
+import com.l2jmobius.gameserver.network.serverpackets.MagicSkillUse;
+import com.l2jmobius.gameserver.util.Util;
+
+//QuangNguyen
+
+public class Q00074_SagaOfTheDreadnought extends Quest
+{
+ public final int AIKEN = 30850;
+ public final int JERONIN = 30121;
+ public final int RIFKEN = 34268;
+ public final int HARDIN = 30832;
+ public final int TABLET_OF_VISION_1 = 31646;
+ public final int TABLET_OF_VISION_2 = 31647;
+ public final int TABLET_OF_VISION_3 = 31652;
+ public final int TABLET_OF_VISION_4 = 31654;
+ public final int KAIN_VAN_HALTER = 31595;
+ // mobs
+ public final int ICE_MONSTER = 27316;
+ public final int SPIRIT_OF_A_DROWNED = 27317;
+ public final int SOUL_OF_COLD = 27318;
+ public final int GHOST_OF_SOLITUDE = 27319;
+ public final int FIEND_OF_COLD = 27320;
+ public final int SPIRIT_OF_COLD = 27321;
+ public final int SPAMPLAND_WATCHMAN = 21650;
+ public final int FLAME_DRAKE = 21651;
+ public final int FIERY_IFRIT = 21652;
+ public final int IKEDIT = 21653;
+ public final int GUARDIAN_OF_FOBIDDEN_KNOWLEDGE = 27214;
+ public final int WHITE_WING_COMMANDER = 27290;
+ public final int HALISHA_ARCHON = 27219;
+ public final int BELETH_SHADOW = 27282;
+ // items
+ public final int ICE_CRYSTAL_FRAGMENT = 49808;
+ public final int HALISHA_BADGE = 7489;
+ public final int AMULET_REZONANSA_PERVIY = 7272;
+ public final int AMULET_REZONANSA_VTOROI = 7303;
+ public final int AMULET_REZONANSA_TRETIY = 7334;
+ public final int AMULET_REZONANSA_CHETVERTIY = 7365;
+ public final int DEAD_SOUL_FISH_SOUP = 7538;
+ // reward
+ public final int BOOKGOLDLION = 90038;
+ private static final String KILL_COUNT_VAR = "KillCount";
+
+ public Q00074_SagaOfTheDreadnought()
+ {
+ super(74);
+ addStartNpc(AIKEN);
+ addTalkId(AIKEN, JERONIN, RIFKEN, HARDIN, KAIN_VAN_HALTER, TABLET_OF_VISION_1, TABLET_OF_VISION_2, TABLET_OF_VISION_3, TABLET_OF_VISION_4);
+ addKillId(ICE_MONSTER, SPIRIT_OF_A_DROWNED, SOUL_OF_COLD, GHOST_OF_SOLITUDE, FIEND_OF_COLD);
+ addKillId(SPIRIT_OF_COLD, SPAMPLAND_WATCHMAN, FLAME_DRAKE, FIERY_IFRIT, IKEDIT);
+ addKillId(GUARDIAN_OF_FOBIDDEN_KNOWLEDGE, WHITE_WING_COMMANDER, HALISHA_ARCHON, BELETH_SHADOW);
+ registerQuestItems(DEAD_SOUL_FISH_SOUP, ICE_CRYSTAL_FRAGMENT, HALISHA_BADGE);
+ addCondMinLevel(76, "aiken02.htm");
+ addCondClassId(ClassId.WARLORD, "aiken03.htm");
+ }
+
+ @Override
+ public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
+ {
+ final QuestState st = getQuestState(player, false);
+ if (st == null)
+ {
+ return null;
+ }
+ String htmltext = event;
+ switch (event)
+ {
+ case "aiken02a.htm":
+ htmltext = "aiken5.htm";
+ break;
+ case "aiken01s.htm":
+ if (st.getCond() == 0)
+ {
+ st.startQuest();
+ st.setCond(1);
+ }
+ break;
+ case "jer2.htm":
+ if (st.getCond() == 1)
+ {
+ st.setCond(2);
+ }
+ break;
+ case "rifken2.htm":
+ if (st.getCond() == 2)
+ {
+ st.setCond(3);
+ }
+ break;
+ case "rifken4.htm":
+ if (st.getCond() == 4)
+ {
+ st.setCond(5);
+ }
+ takeItems(player, ICE_CRYSTAL_FRAGMENT, -1);
+ giveItems(player, DEAD_SOUL_FISH_SOUP, 1);
+ break;
+ case "jer4.htm":
+ if (st.getCond() == 5)
+ {
+ st.setCond(6);
+ }
+ giveItems(player, AMULET_REZONANSA_PERVIY, 1);
+ takeItems(player, DEAD_SOUL_FISH_SOUP, -1);
+ break;
+ case "stone12.htm":
+ if (st.getCond() == 6)
+ {
+ st.setCond(7);
+ }
+ break;
+ case "stone22.htm":
+ if (st.getCond() == 8)
+ {
+ addSpawn(WHITE_WING_COMMANDER, npc, true, 0, true);
+ st.setCond(9);
+ }
+ break;
+ case "stone25.htm":
+ if (st.getCond() == 10)
+ {
+ st.setCond(11);
+ }
+ break;
+ case "jer6.htm":
+ if (st.getCond() == 11)
+ {
+ st.setCond(12);
+ }
+ break;
+ case "stone32.htm":
+ if (st.getCond() == 14)
+ {
+ st.setCond(15);
+ }
+ break;
+ case "stone41.htm":
+ if (st.getCond() == 15)
+ {
+ st.setCond(16);
+ }
+ addSpawn(BELETH_SHADOW, npc, true, 0, true);
+ break;
+ case "erikrams2.htm":
+ if (st.getCond() == 16)
+ {
+ st.setCond(17);
+ }
+ giveItems(player, AMULET_REZONANSA_CHETVERTIY, 1);
+ break;
+ case "stone43.htm":
+ if (st.getCond() == 17)
+ {
+ st.setCond(18);
+ }
+ break;
+ case "aiken7.htm":
+ if (st.getCond() == 18)
+ {
+ if ((player.getLevel() < 76) && (player.getBaseClass() != 3))
+ {
+ htmltext = "30849-nolvl.htm";
+ }
+ addExpAndSp(player, 3100000, 103000);
+ rewardItems(player, BOOKGOLDLION, 1);
+ takeItems(player, AMULET_REZONANSA_PERVIY, -1);
+ takeItems(player, AMULET_REZONANSA_VTOROI, -1);
+ takeItems(player, AMULET_REZONANSA_TRETIY, -1);
+ takeItems(player, AMULET_REZONANSA_CHETVERTIY, -1);
+ takeItems(player, HALISHA_BADGE, -1);
+ st.exitQuest(false, true);
+ player.setClassId(89);
+ player.setBaseClass(89);
+ player.broadcastUserInfo();
+ npc.broadcastPacket(new MagicSkillUse(npc, player, 5103, 1, 1000, 0));
+ }
+ break;
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onTalk(L2Npc npc, L2PcInstance talker)
+ {
+ final QuestState qs = getQuestState(talker, true);
+ String htmltext = getNoQuestMsg(talker);
+
+ switch (qs.getState())
+ {
+ case State.CREATED:
+ {
+ if (npc.getId() == AIKEN)
+ {
+ htmltext = "aiken01.htm";
+ }
+ break;
+ }
+ case State.STARTED:
+ {
+ if (npc.getId() == AIKEN)
+ {
+ if (qs.getCond() == 1)
+ {
+ htmltext = "aiken01s.htm";
+ }
+ if (qs.getCond() == 18)
+ {
+ htmltext = "aiken6.htm";
+ }
+
+ }
+ if (npc.getId() == JERONIN)
+ {
+ if (qs.getCond() == 1)
+ {
+ htmltext = "jer1.htm";
+ }
+ if (qs.getCond() == 2)
+ {
+ htmltext = "jer2.htm";
+ }
+ if (qs.getCond() == 5)
+ {
+ htmltext = "jer3.htm";
+ }
+ if (qs.getCond() == 6)
+ {
+ htmltext = "jer4.htm";
+ }
+ }
+ if (npc.getId() == HARDIN)
+ {
+ if (qs.getCond() == 11)
+ {
+ htmltext = "jer5.htm";
+ }
+ if (qs.getCond() == 12)
+ {
+ htmltext = "jer6.htm";
+ }
+ }
+ if (npc.getId() == RIFKEN)
+ {
+ if (qs.getCond() == 2)
+ {
+ htmltext = "rifken1.htm";
+ }
+ if (qs.getCond() == 3)
+ {
+ htmltext = "rifken2.htm";
+ }
+ if (qs.getCond() == 4)
+ {
+ htmltext = "rifken3.htm";
+ }
+ }
+ if (npc.getId() == TABLET_OF_VISION_1)
+ {
+ if (qs.getCond() == 6)
+ {
+ htmltext = "stone11.htm";
+ }
+ if (qs.getCond() == 7)
+ {
+ htmltext = "stone12.htm";
+ }
+ }
+ if (npc.getId() == TABLET_OF_VISION_2)
+ {
+ if (qs.getCond() == 8)
+ {
+ htmltext = "stone21.htm";
+ }
+ if (qs.getCond() == 9)
+ {
+ htmltext = "stone23.htm";
+ }
+ if (qs.getCond() == 10)
+ {
+ htmltext = "stone24.htm";
+ }
+ if (qs.getCond() == 11)
+ {
+ htmltext = "stone25.htm";
+ }
+ }
+ if (npc.getId() == TABLET_OF_VISION_3)
+ {
+ if (qs.getCond() == 14)
+ {
+ htmltext = "stone31.htm";
+ }
+ if (qs.getCond() == 15)
+ {
+ htmltext = "stone32.htm";
+ }
+ }
+ if (npc.getId() == TABLET_OF_VISION_4)
+ {
+ if (qs.getCond() == 15)
+ {
+ htmltext = "stone40.htm";
+ }
+ if (qs.getCond() == 17)
+ {
+ htmltext = "stone42.htm";
+ }
+ if (qs.getCond() == 18)
+ {
+ htmltext = "stone43.htm";
+ }
+
+ }
+ if (npc.getId() == KAIN_VAN_HALTER)
+ {
+ if (qs.getCond() == 16)
+ {
+ htmltext = "erikrams1.htm";
+ }
+ if (qs.getCond() == 17)
+ {
+ htmltext = "erikrams2.htm";
+ }
+ }
+ break;
+ }
+ case State.COMPLETED:
+ {
+ htmltext = getAlreadyCompletedMsg(talker);
+ break;
+ }
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
+ {
+ final QuestState qs = getQuestState(killer, false);
+ if ((qs != null) && qs.isStarted() && Util.checkIfInRange(1500, npc, killer, true))
+ {
+ switch (npc.getId())
+ {
+ case ICE_MONSTER:
+ case SPIRIT_OF_A_DROWNED:
+ case SOUL_OF_COLD:
+ case FIEND_OF_COLD:
+ case GHOST_OF_SOLITUDE:
+ case SPIRIT_OF_COLD:
+ if (qs.getCond() == 3)
+ {
+ if (getQuestItemsCount(killer, ICE_CRYSTAL_FRAGMENT) < 50)
+ {
+ giveItemRandomly(killer, npc, ICE_CRYSTAL_FRAGMENT, 1, 50, 50, true);
+ }
+ if (getQuestItemsCount(killer, ICE_CRYSTAL_FRAGMENT) >= 50)
+ {
+ qs.setCond(4);
+ }
+ }
+ break;
+ case WHITE_WING_COMMANDER:
+ if (qs.getCond() == 9)
+ {
+ qs.setCond(10);
+ }
+ break;
+ case SPAMPLAND_WATCHMAN:
+ case FLAME_DRAKE:
+ case FIERY_IFRIT:
+ case IKEDIT:
+ if (qs.getCond() == 12)
+ {
+ if (getQuestItemsCount(killer, HALISHA_BADGE) < 701)
+ {
+ giveItemRandomly(killer, npc, HALISHA_BADGE, 1, 701, 50, true);
+ if (getQuestItemsCount(killer, HALISHA_BADGE) >= 701)
+ {
+ addSpawn(HALISHA_ARCHON, npc, true, 0, true);
+ qs.setCond(13);
+ }
+ }
+ }
+ break;
+ case HALISHA_ARCHON:
+ if (qs.getCond() == 13)
+ {
+ if (!hasQuestItems(killer, AMULET_REZONANSA_TRETIY))
+ {
+ giveItemRandomly(killer, npc, AMULET_REZONANSA_TRETIY, 1, 1, 50, true);
+ }
+ qs.setCond(14);
+ }
+ break;
+ case BELETH_SHADOW:
+ if (qs.getCond() == 16)
+ {
+ addSpawn(KAIN_VAN_HALTER, npc, true, 20000, true);
+ }
+ break;
+ }
+
+ if (qs.isCond(7))
+ {
+ int count = qs.getInt(KILL_COUNT_VAR);
+ if (npc.getId() == GUARDIAN_OF_FOBIDDEN_KNOWLEDGE)
+ {
+ if (count < 20)
+ {
+ qs.set(KILL_COUNT_VAR, ++count);
+ sendNpcLogList(killer);
+ }
+ }
+ if (count >= 20)
+ {
+ qs.setCond(8, true);
+ giveItems(killer, AMULET_REZONANSA_VTOROI, 1);
+ }
+ }
+ }
+ return super.onKill(npc, killer, isSummon);
+ }
+
+ @Override
+ public Set getNpcLogList(L2PcInstance player)
+ {
+ final QuestState qs = getQuestState(player, false);
+ if ((qs != null) && qs.isCond(7))
+ {
+ final Set holder = new HashSet<>(1);
+
+ // guardian of forbidden knowledge
+ final int guardiancount = qs.getInt(KILL_COUNT_VAR);
+ if (guardiancount > 0)
+ {
+ holder.add(new NpcLogListHolder(GUARDIAN_OF_FOBIDDEN_KNOWLEDGE, false, guardiancount));
+ }
+ return holder;
+ }
+ return super.getNpcLogList(player);
+ }
+}
\ No newline at end of file
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00074_SagaOfTheDreadnought/aiken01.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00074_SagaOfTheDreadnought/aiken01.htm
new file mode 100644
index 0000000000..9c5b9e33fb
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00074_SagaOfTheDreadnought/aiken01.htm
@@ -0,0 +1,5 @@
+
+Aiken:
+Do you want to become a Dreadnought ?.
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00074_SagaOfTheDreadnought/aiken01s.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00074_SagaOfTheDreadnought/aiken01s.htm
new file mode 100644
index 0000000000..3a21c5579a
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00074_SagaOfTheDreadnought/aiken01s.htm
@@ -0,0 +1,4 @@
+
+Aiken:
+Next to Giran appeared Leon Blackbeard, the Fiery Dragon's Bride, one of the best Spearmen in the world. Ask her about the Chief of the Guard of Jeronin in Giran.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00074_SagaOfTheDreadnought/aiken02.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00074_SagaOfTheDreadnought/aiken02.htm
new file mode 100644
index 0000000000..7bece109f0
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00074_SagaOfTheDreadnought/aiken02.htm
@@ -0,0 +1,6 @@
+
+Aiken:
+My young friend, you do not have enough experience to become a General. I see your passion and I hope that you will keep it in your heart, but it is not enough - only through the experience of battle you can acquire the power that will allow you not to deviate from your faith in the era of untruth.
+Come back when you are a little older and wiser. When you are ready, I will give you an assignment to check if you are ready to become a General.
+(Quest for characters whose level is 76 or higher.)
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00074_SagaOfTheDreadnought/aiken02a.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00074_SagaOfTheDreadnought/aiken02a.htm
new file mode 100644
index 0000000000..18ff68b295
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00074_SagaOfTheDreadnought/aiken02a.htm
@@ -0,0 +1,6 @@
+
+Aiken:
+Have not you already won the title of General?
+ My brother, you do not have to go through the test of squire again.
+ Your duty is to fight for your faith and the glory of the lord.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00074_SagaOfTheDreadnought/aiken03.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00074_SagaOfTheDreadnought/aiken03.htm
new file mode 100644
index 0000000000..473877a472
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00074_SagaOfTheDreadnought/aiken03.htm
@@ -0,0 +1,5 @@
+
+Aiken:
+Apparently, you have already chosen your path.
+ You do not need to perform the task of the commander.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00074_SagaOfTheDreadnought/aiken5.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00074_SagaOfTheDreadnought/aiken5.htm
new file mode 100644
index 0000000000..6c50ede03b
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00074_SagaOfTheDreadnought/aiken5.htm
@@ -0,0 +1,8 @@
+
+Aiken:
+Do you want to become a Dreadnought?
+ Well, then you must pass the Сага Полководца (Saga Dreadnought),
+ To prove that you are not just a reckless, quick-tempered warrior, but
+ Warrior with the soul of this Dreadnought. This is a form of ritual and the process of training,
+ Which all those who wish to become a Dreadnought must fulfill.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00074_SagaOfTheDreadnought/aiken6.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00074_SagaOfTheDreadnought/aiken6.htm
new file mode 100644
index 0000000000..74fad520bd
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00074_SagaOfTheDreadnought/aiken6.htm
@@ -0,0 +1,5 @@
+
+Aiken:
+Congratulations! You have passed all the tests and are ready to receive the profession of the Commander !!!
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00074_SagaOfTheDreadnought/aiken7.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00074_SagaOfTheDreadnought/aiken7.htm
new file mode 100644
index 0000000000..49a0fcde39
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00074_SagaOfTheDreadnought/aiken7.htm
@@ -0,0 +1,5 @@
+
+Aiken:
+Congratulations! You got the profession of the Commander !!!
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00074_SagaOfTheDreadnought/erikrams1.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00074_SagaOfTheDreadnought/erikrams1.htm
new file mode 100644
index 0000000000..b01b96f096
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00074_SagaOfTheDreadnought/erikrams1.htm
@@ -0,0 +1,6 @@
+
+Leona Blackbeard:
+
+Thank you! You helped avenge me, I will give you the fourth amulet
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00074_SagaOfTheDreadnought/erikrams2.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00074_SagaOfTheDreadnought/erikrams2.htm
new file mode 100644
index 0000000000..2d34e53e5c
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00074_SagaOfTheDreadnought/erikrams2.htm
@@ -0,0 +1,5 @@
+
+Leona Blackbeard:
+
+Now activate the last stone
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00074_SagaOfTheDreadnought/jer1.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00074_SagaOfTheDreadnought/jer1.htm
new file mode 100644
index 0000000000..ee08d4146c
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00074_SagaOfTheDreadnought/jer1.htm
@@ -0,0 +1,5 @@
+
+Geronin:
+Chief Guard Jeronin asks to bring him Fish Soup.
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00074_SagaOfTheDreadnought/jer2.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00074_SagaOfTheDreadnought/jer2.htm
new file mode 100644
index 0000000000..879dbfc08f
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00074_SagaOfTheDreadnought/jer2.htm
@@ -0,0 +1,4 @@
+
+Geronin:
+Chief Guard Jeronin asks to bring him Fish Soup. To get it, contact Gourmet Rifken in Aden.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00074_SagaOfTheDreadnought/jer3.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00074_SagaOfTheDreadnought/jer3.htm
new file mode 100644
index 0000000000..6b022a9e75
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00074_SagaOfTheDreadnought/jer3.htm
@@ -0,0 +1,5 @@
+
+Geronin:
+Did you bring the "Fish Soup"?
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00074_SagaOfTheDreadnought/jer4.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00074_SagaOfTheDreadnought/jer4.htm
new file mode 100644
index 0000000000..e4811a5794
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00074_SagaOfTheDreadnought/jer4.htm
@@ -0,0 +1,4 @@
+
+Geronin:
+You have received the Resonance Amulet. Activate the Stone of Knowledge to the south of the Tower of Insolence.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00074_SagaOfTheDreadnought/jer5.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00074_SagaOfTheDreadnought/jer5.htm
new file mode 100644
index 0000000000..0e77a984e2
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00074_SagaOfTheDreadnought/jer5.htm
@@ -0,0 +1,5 @@
+
+Hardin:
+Have you come for the third Amulet of Resonance?
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00074_SagaOfTheDreadnought/jer6.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00074_SagaOfTheDreadnought/jer6.htm
new file mode 100644
index 0000000000..3c9b365e80
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00074_SagaOfTheDreadnought/jer6.htm
@@ -0,0 +1,4 @@
+
+Hardin:
+Hardin says that the third Amulet of Resonance is in Archon Halisha. To summon him, you need to destroy his minions in the Molten Tops and collect the Halisha Signs. Destroy these monsters and call Archon Halisha. The aim of the hunt is the Ranger of the Swamp, Burning Drake, Flamey Ifrit, Ikedith
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00074_SagaOfTheDreadnought/rifken1.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00074_SagaOfTheDreadnought/rifken1.htm
new file mode 100644
index 0000000000..d47f86c48e
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00074_SagaOfTheDreadnought/rifken1.htm
@@ -0,0 +1,5 @@
+
+Rifken:
+I'll help you make "Fish Soup" but I need 50 Fragments of the Chill Crystal.
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00074_SagaOfTheDreadnought/rifken2.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00074_SagaOfTheDreadnought/rifken2.htm
new file mode 100644
index 0000000000..4df815f1ed
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00074_SagaOfTheDreadnought/rifken2.htm
@@ -0,0 +1,4 @@
+
+Rifken:
+Gourmet Rifken needed to prepare the dish Fragments of the Crystal of Cold. These fragments can be obtained by destroying the monsters to the southeast of Aden.The aim of the hunt is Ice Monster, Spirit of the Drowned One, Soul of Coldness, Phantom of Solitude, Cold Beast, Spirit of Cold.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00074_SagaOfTheDreadnought/rifken3.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00074_SagaOfTheDreadnought/rifken3.htm
new file mode 100644
index 0000000000..507c69f48f
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00074_SagaOfTheDreadnought/rifken3.htm
@@ -0,0 +1,5 @@
+
+Rifken:
+Did you get all the ingredients?
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00074_SagaOfTheDreadnought/rifken4.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00074_SagaOfTheDreadnought/rifken4.htm
new file mode 100644
index 0000000000..fa3d0614f9
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00074_SagaOfTheDreadnought/rifken4.htm
@@ -0,0 +1,4 @@
+
+Rifken:
+Gourmet Rifken cooked Fish Soup with the help of extracted ingredients. Take it to the Chief of Guard Jeronin in Giran.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00074_SagaOfTheDreadnought/stone11.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00074_SagaOfTheDreadnought/stone11.htm
new file mode 100644
index 0000000000..bbec83db29
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00074_SagaOfTheDreadnought/stone11.htm
@@ -0,0 +1,6 @@
+
+Stone of knowledge:
+You slash like a stone starts to vibrate
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00074_SagaOfTheDreadnought/stone12.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00074_SagaOfTheDreadnought/stone12.htm
new file mode 100644
index 0000000000..d398312315
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00074_SagaOfTheDreadnought/stone12.htm
@@ -0,0 +1,4 @@
+
+Stone of knowledge:
+You brought an amulet and an inscription appeared on the stone - The second Amulet of Resonance is in the Keepers of Forbidden Knowledge next to the second Stone of Knowledge.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00074_SagaOfTheDreadnought/stone21.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00074_SagaOfTheDreadnought/stone21.htm
new file mode 100644
index 0000000000..e8f40cdbba
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00074_SagaOfTheDreadnought/stone21.htm
@@ -0,0 +1,5 @@
+
+Stone of knowledge:
+You slash like a stone starts to vibrate
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00074_SagaOfTheDreadnought/stone22.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00074_SagaOfTheDreadnought/stone22.htm
new file mode 100644
index 0000000000..fec2c66bac
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00074_SagaOfTheDreadnought/stone22.htm
@@ -0,0 +1,4 @@
+
+Stone of knowledge:
+You slash like a stone starts to vibrate
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00074_SagaOfTheDreadnought/stone23.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00074_SagaOfTheDreadnought/stone23.htm
new file mode 100644
index 0000000000..d323517e9b
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00074_SagaOfTheDreadnought/stone23.htm
@@ -0,0 +1,4 @@
+
+Stone of knowledge:
+Now you can go in search of the third stone
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00074_SagaOfTheDreadnought/stone24.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00074_SagaOfTheDreadnought/stone24.htm
new file mode 100644
index 0000000000..f0b163e917
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00074_SagaOfTheDreadnought/stone24.htm
@@ -0,0 +1,6 @@
+
+Stone of knowledge:
+You slash like a stone starts to vibrate
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00074_SagaOfTheDreadnought/stone25.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00074_SagaOfTheDreadnought/stone25.htm
new file mode 100644
index 0000000000..5bc7d68344
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00074_SagaOfTheDreadnought/stone25.htm
@@ -0,0 +1,4 @@
+
+Stone of knowledge:
+After activating the stone, you learned that the third Amulet of Resonance is in Hardin's Hardin Academy. Get him the Resonance Amulet.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00074_SagaOfTheDreadnought/stone31.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00074_SagaOfTheDreadnought/stone31.htm
new file mode 100644
index 0000000000..64473e7418
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00074_SagaOfTheDreadnought/stone31.htm
@@ -0,0 +1,5 @@
+
+Stone of knowledge:
+You slash like a stone starts to vibrate
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00074_SagaOfTheDreadnought/stone32.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00074_SagaOfTheDreadnought/stone32.htm
new file mode 100644
index 0000000000..b77e015b9e
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00074_SagaOfTheDreadnought/stone32.htm
@@ -0,0 +1,4 @@
+
+Stone of knowledge:
+When the activation of the third Stone of Knowledge ended, he showed the location of the next stone. The fourth Stone of Knowledge is on the Speaking Island, and the last Amulet of Resonance is near the stone. Go there.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00074_SagaOfTheDreadnought/stone40.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00074_SagaOfTheDreadnought/stone40.htm
new file mode 100644
index 0000000000..492190460c
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00074_SagaOfTheDreadnought/stone40.htm
@@ -0,0 +1,7 @@
+
+You came to the stone and he began to vibrate
+
+The last amulet isDark Angel Otiel
+Are you ready to fight him?
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00074_SagaOfTheDreadnought/stone41.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00074_SagaOfTheDreadnought/stone41.htm
new file mode 100644
index 0000000000..0b544fc149
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00074_SagaOfTheDreadnought/stone41.htm
@@ -0,0 +1,3 @@
+
+Nearby appeared the Dark Angel Otiel
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00074_SagaOfTheDreadnought/stone42.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00074_SagaOfTheDreadnought/stone42.htm
new file mode 100644
index 0000000000..7eb786c79b
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00074_SagaOfTheDreadnought/stone42.htm
@@ -0,0 +1,5 @@
+
+Stone of knowledge:
+You slash like a stone starts to vibrate
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00074_SagaOfTheDreadnought/stone43.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00074_SagaOfTheDreadnought/stone43.htm
new file mode 100644
index 0000000000..bf12579994
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00074_SagaOfTheDreadnought/stone43.htm
@@ -0,0 +1,5 @@
+
+Stone of knowledge:
+You successfully activated the last stone
+Spearmen should use the power given to them only for peaceful purposes. Go to Master Aiken in Aden and tell him about your wanderings.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00075_SagaOfTheTitan/Q00075_SagaOfTheTitan.java b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00075_SagaOfTheTitan/Q00075_SagaOfTheTitan.java
new file mode 100644
index 0000000000..d736dc8b11
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00075_SagaOfTheTitan/Q00075_SagaOfTheTitan.java
@@ -0,0 +1,454 @@
+package quests.Q00075_SagaOfTheTitan;
+
+import java.util.HashSet;
+import java.util.Set;
+
+import com.l2jmobius.gameserver.model.actor.L2Npc;
+import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
+import com.l2jmobius.gameserver.model.base.ClassId;
+import com.l2jmobius.gameserver.model.holders.NpcLogListHolder;
+import com.l2jmobius.gameserver.model.quest.Quest;
+import com.l2jmobius.gameserver.model.quest.QuestState;
+import com.l2jmobius.gameserver.model.quest.State;
+import com.l2jmobius.gameserver.network.serverpackets.MagicSkillUse;
+import com.l2jmobius.gameserver.util.Util;
+
+//QuangNguyen
+
+public class Q00075_SagaOfTheTitan extends Quest
+{
+ public final int LADANZA = 30865;
+ public final int GARVARENTZ = 30704;
+ public final int RIFKEN = 34268;
+ public final int LAZENBY = 30706;
+ public final int TABLET_OF_VISION_1 = 31646;
+ public final int TABLET_OF_VISION_2 = 31649;
+ public final int TABLET_OF_VISION_3 = 31651;
+ public final int TABLET_OF_VISION_4 = 31657;
+ public final int SAKE_DUN_ZU_HESTUI = 31607;
+ // mobs
+ public final int ICE_MONSTER = 27316;
+ public final int SPIRIT_OF_A_DROWNED = 27317;
+ public final int SOUL_OF_COLD = 27318;
+ public final int GHOST_OF_SOLITUDE = 27319;
+ public final int FIEND_OF_COLD = 27320;
+ public final int SPIRIT_OF_COLD = 27321;
+ public final int SPAMPLAND_WATCHMAN = 21650;
+ public final int FLAME_DRAKE = 21651;
+ public final int FIERY_IFRIT = 21652;
+ public final int IKEDIT = 21653;
+ public final int WATCHER_OF_THE_ANCIENT_PLEDGE = 27216;
+ public final int FALLEN_NOBLE_ORC__MUHAKR = 27292;
+ public final int HALISHA_ARCHON = 27219;
+ public final int GRANPAPA_ASKALIUS = 27283;
+ // items
+ public final int ICE_CRYSTAL_FRAGMENT = 49809;
+ public final int HALISHA_BADGE = 7490;
+ public final int AMULET_REZONANSA_PERVIY = 7273;
+ public final int AMULET_REZONANSA_VTOROI = 7304;
+ public final int AMULET_REZONANSA_TRETIY = 7335;
+ public final int AMULET_REZONANSA_CHETVERTIY = 7366;
+ public final int BITTER_COLD_VODKA = 7539;
+ // reward
+ public final int BOOKBLACKBEAR = 90042;
+ private static final String KILL_COUNT_VAR = "KillCount";
+
+ public Q00075_SagaOfTheTitan()
+ {
+ super(75);
+ addStartNpc(LADANZA);
+ addTalkId(LADANZA, GARVARENTZ, RIFKEN, LAZENBY, SAKE_DUN_ZU_HESTUI, TABLET_OF_VISION_1, TABLET_OF_VISION_2, TABLET_OF_VISION_3, TABLET_OF_VISION_4);
+ addKillId(ICE_MONSTER, SPIRIT_OF_A_DROWNED, SOUL_OF_COLD, GHOST_OF_SOLITUDE, FIEND_OF_COLD);
+ addKillId(SPIRIT_OF_COLD, SPAMPLAND_WATCHMAN, FLAME_DRAKE, FIERY_IFRIT, IKEDIT);
+ addKillId(WATCHER_OF_THE_ANCIENT_PLEDGE, FALLEN_NOBLE_ORC__MUHAKR, HALISHA_ARCHON, GRANPAPA_ASKALIUS);
+ registerQuestItems(BITTER_COLD_VODKA, ICE_CRYSTAL_FRAGMENT, HALISHA_BADGE);
+ addCondMinLevel(76, "aiken02.htm");
+ addCondClassId(ClassId.DESTROYER, "aiken03.htm");
+ }
+
+ @Override
+ public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
+ {
+ final QuestState st = getQuestState(player, false);
+ if (st == null)
+ {
+ return null;
+ }
+ String htmltext = event;
+ switch (event)
+ {
+ case "aiken02a.htm":
+ htmltext = "aiken5.htm";
+ break;
+ case "aiken01s.htm":
+ if (st.getCond() == 0)
+ {
+ st.startQuest();
+ st.setCond(1);
+ }
+ break;
+ case "jer2.htm":
+ if (st.getCond() == 1)
+ {
+ st.setCond(2);
+ }
+ break;
+ case "rifken2.htm":
+ if (st.getCond() == 2)
+ {
+ st.setCond(3);
+ }
+ break;
+ case "rifken4.htm":
+ if (st.getCond() == 4)
+ {
+ st.setCond(5);
+ }
+ takeItems(player, ICE_CRYSTAL_FRAGMENT, -1);
+ giveItems(player, BITTER_COLD_VODKA, 1);
+ break;
+ case "jer4.htm":
+ if (st.getCond() == 5)
+ {
+ st.setCond(6);
+ }
+ giveItems(player, AMULET_REZONANSA_PERVIY, 1);
+ takeItems(player, BITTER_COLD_VODKA, -1);
+ break;
+ case "stone12.htm":
+ if (st.getCond() == 6)
+ {
+ st.setCond(7);
+ }
+ break;
+ case "stone22.htm":
+ if (st.getCond() == 8)
+ {
+ addSpawn(FALLEN_NOBLE_ORC__MUHAKR, npc, true, 0, true);
+ st.setCond(9);
+ }
+ break;
+ case "stone25.htm":
+ if (st.getCond() == 10)
+ {
+ st.setCond(11);
+ }
+ break;
+ case "jer6.htm":
+ if (st.getCond() == 11)
+ {
+ st.setCond(12);
+ }
+ break;
+ case "stone32.htm":
+ if (st.getCond() == 14)
+ {
+ st.setCond(15);
+ }
+ break;
+ case "stone41.htm":
+ if (st.getCond() == 15)
+ {
+ st.setCond(16);
+ }
+ addSpawn(GRANPAPA_ASKALIUS, npc, true, 0, true);
+ break;
+ case "erikrams2.htm":
+ if (st.getCond() == 16)
+ {
+ st.setCond(17);
+ }
+ giveItems(player, AMULET_REZONANSA_CHETVERTIY, 1);
+ break;
+ case "stone43.htm":
+ if (st.getCond() == 17)
+ {
+ st.setCond(18);
+ }
+ break;
+ case "aiken7.htm":
+ if (st.getCond() == 18)
+ {
+ if ((player.getLevel() < 76) && (player.getBaseClass() != 46))
+ {
+ htmltext = "30849-nolvl.htm";
+ }
+ addExpAndSp(player, 3100000, 103000);
+ rewardItems(player, BOOKBLACKBEAR, 1);
+ takeItems(player, AMULET_REZONANSA_PERVIY, -1);
+ takeItems(player, AMULET_REZONANSA_VTOROI, -1);
+ takeItems(player, AMULET_REZONANSA_TRETIY, -1);
+ takeItems(player, AMULET_REZONANSA_CHETVERTIY, -1);
+ takeItems(player, HALISHA_BADGE, -1);
+ st.exitQuest(false, true);
+ player.setClassId(113);
+ player.setBaseClass(113);
+ player.broadcastUserInfo();
+ npc.broadcastPacket(new MagicSkillUse(npc, player, 5103, 1, 1000, 0));
+ }
+ break;
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onTalk(L2Npc npc, L2PcInstance talker)
+ {
+ final QuestState qs = getQuestState(talker, true);
+ String htmltext = getNoQuestMsg(talker);
+
+ switch (qs.getState())
+ {
+ case State.CREATED:
+ {
+ if (npc.getId() == LADANZA)
+ {
+ htmltext = "aiken01.htm";
+ }
+ break;
+ }
+ case State.STARTED:
+ {
+ if (npc.getId() == LADANZA)
+ {
+ if (qs.getCond() == 1)
+ {
+ htmltext = "aiken01s.htm";
+ }
+ if (qs.getCond() == 18)
+ {
+ htmltext = "aiken6.htm";
+ }
+
+ }
+ if (npc.getId() == GARVARENTZ)
+ {
+ if (qs.getCond() == 1)
+ {
+ htmltext = "jer1.htm";
+ }
+ if (qs.getCond() == 2)
+ {
+ htmltext = "jer2.htm";
+ }
+ if (qs.getCond() == 5)
+ {
+ htmltext = "jer3.htm";
+ }
+ if (qs.getCond() == 6)
+ {
+ htmltext = "jer4.htm";
+ }
+ }
+ if (npc.getId() == LAZENBY)
+ {
+ if (qs.getCond() == 11)
+ {
+ htmltext = "jer5.htm";
+ }
+ if (qs.getCond() == 12)
+ {
+ htmltext = "jer6.htm";
+ }
+ }
+ if (npc.getId() == RIFKEN)
+ {
+ if (qs.getCond() == 2)
+ {
+ htmltext = "rifken1.htm";
+ }
+ if (qs.getCond() == 3)
+ {
+ htmltext = "rifken2.htm";
+ }
+ if (qs.getCond() == 4)
+ {
+ htmltext = "rifken3.htm";
+ }
+ }
+ if (npc.getId() == TABLET_OF_VISION_1)
+ {
+ if (qs.getCond() == 6)
+ {
+ htmltext = "stone11.htm";
+ }
+ if (qs.getCond() == 7)
+ {
+ htmltext = "stone12.htm";
+ }
+ }
+ if (npc.getId() == TABLET_OF_VISION_2)
+ {
+ if (qs.getCond() == 8)
+ {
+ htmltext = "stone21.htm";
+ }
+ if (qs.getCond() == 9)
+ {
+ htmltext = "stone23.htm";
+ }
+ if (qs.getCond() == 10)
+ {
+ htmltext = "stone24.htm";
+ }
+ if (qs.getCond() == 11)
+ {
+ htmltext = "stone25.htm";
+ }
+ }
+ if (npc.getId() == TABLET_OF_VISION_3)
+ {
+ if (qs.getCond() == 14)
+ {
+ htmltext = "stone31.htm";
+ }
+ if (qs.getCond() == 15)
+ {
+ htmltext = "stone32.htm";
+ }
+ }
+ if (npc.getId() == TABLET_OF_VISION_4)
+ {
+ if (qs.getCond() == 15)
+ {
+ htmltext = "stone40.htm";
+ }
+ if (qs.getCond() == 17)
+ {
+ htmltext = "stone42.htm";
+ }
+ if (qs.getCond() == 18)
+ {
+ htmltext = "stone43.htm";
+ }
+
+ }
+ if (npc.getId() == SAKE_DUN_ZU_HESTUI)
+ {
+ if (qs.getCond() == 16)
+ {
+ htmltext = "erikrams1.htm";
+ }
+ if (qs.getCond() == 17)
+ {
+ htmltext = "erikrams2.htm";
+ }
+ }
+ break;
+ }
+ case State.COMPLETED:
+ {
+ htmltext = getAlreadyCompletedMsg(talker);
+ break;
+ }
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
+ {
+ final QuestState qs = getQuestState(killer, false);
+ if ((qs != null) && qs.isStarted() && Util.checkIfInRange(1500, npc, killer, true))
+ {
+ switch (npc.getId())
+ {
+ case ICE_MONSTER:
+ case SPIRIT_OF_A_DROWNED:
+ case SOUL_OF_COLD:
+ case FIEND_OF_COLD:
+ case GHOST_OF_SOLITUDE:
+ case SPIRIT_OF_COLD:
+ if (qs.getCond() == 3)
+ {
+ if (getQuestItemsCount(killer, ICE_CRYSTAL_FRAGMENT) < 50)
+ {
+ giveItemRandomly(killer, npc, ICE_CRYSTAL_FRAGMENT, 1, 50, 50, true);
+ }
+ if (getQuestItemsCount(killer, ICE_CRYSTAL_FRAGMENT) >= 50)
+ {
+ qs.setCond(4);
+ }
+ }
+ break;
+ case FALLEN_NOBLE_ORC__MUHAKR:
+ if (qs.getCond() == 9)
+ {
+ qs.setCond(10);
+ }
+ break;
+ case SPAMPLAND_WATCHMAN:
+ case FLAME_DRAKE:
+ case FIERY_IFRIT:
+ case IKEDIT:
+ if (qs.getCond() == 12)
+ {
+ if (getQuestItemsCount(killer, HALISHA_BADGE) < 701)
+ {
+ giveItemRandomly(killer, npc, HALISHA_BADGE, 1, 701, 50, true);
+ if (getQuestItemsCount(killer, HALISHA_BADGE) >= 701)
+ {
+ addSpawn(HALISHA_ARCHON, npc, true, 0, true);
+ qs.setCond(13);
+ }
+ }
+ }
+ break;
+ case HALISHA_ARCHON:
+ if (qs.getCond() == 13)
+ {
+ if (!hasQuestItems(killer, AMULET_REZONANSA_TRETIY))
+ {
+ giveItemRandomly(killer, npc, AMULET_REZONANSA_TRETIY, 1, 1, 50, true);
+ }
+ qs.setCond(14);
+ }
+ break;
+ case GRANPAPA_ASKALIUS:
+ if (qs.getCond() == 16)
+ {
+ addSpawn(SAKE_DUN_ZU_HESTUI, npc, true, 20000, true);
+ }
+ break;
+ }
+
+ if (qs.isCond(7))
+ {
+ int count = qs.getInt(KILL_COUNT_VAR);
+ if (npc.getId() == WATCHER_OF_THE_ANCIENT_PLEDGE)
+ {
+ if (count < 20)
+ {
+ qs.set(KILL_COUNT_VAR, ++count);
+ sendNpcLogList(killer);
+ }
+ }
+ if (count >= 20)
+ {
+ qs.setCond(8, true);
+ giveItems(killer, AMULET_REZONANSA_VTOROI, 1);
+ }
+ }
+ }
+ return super.onKill(npc, killer, isSummon);
+ }
+
+ @Override
+ public Set getNpcLogList(L2PcInstance player)
+ {
+ final QuestState qs = getQuestState(player, false);
+ if ((qs != null) && qs.isCond(7))
+ {
+ final Set holder = new HashSet<>(1);
+
+ // guardian of forbidden knowledge
+ final int guardiancount = qs.getInt(KILL_COUNT_VAR);
+ if (guardiancount > 0)
+ {
+ holder.add(new NpcLogListHolder(WATCHER_OF_THE_ANCIENT_PLEDGE, false, guardiancount));
+ }
+ return holder;
+ }
+ return super.getNpcLogList(player);
+ }
+}
\ No newline at end of file
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00075_SagaOfTheTitan/aiken01.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00075_SagaOfTheTitan/aiken01.htm
new file mode 100644
index 0000000000..76c4a96ab7
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00075_SagaOfTheTitan/aiken01.htm
@@ -0,0 +1,6 @@
+
+Ladanza:
+
+Do you want to become a Titan ?.
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00075_SagaOfTheTitan/aiken01s.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00075_SagaOfTheTitan/aiken01s.htm
new file mode 100644
index 0000000000..2f4dbca8cd
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00075_SagaOfTheTitan/aiken01s.htm
@@ -0,0 +1,5 @@
+
+Ladanza:
+
+Once upon a time, the Orcs were so strong that they could compete with the Giants. But where did this power go? Talk about this with Pontifex Garwarts in the Hunters' Village Orcs Guild.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00075_SagaOfTheTitan/aiken02.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00075_SagaOfTheTitan/aiken02.htm
new file mode 100644
index 0000000000..5a45cdca42
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00075_SagaOfTheTitan/aiken02.htm
@@ -0,0 +1,7 @@
+
+Ladanza:
+
+My young friend, you do not have enough experience to become a Titan. I see your passion and I hope that you will keep it in your heart, but it is not enough - only through the experience of battle you can acquire the power that will allow you not to deviate from your faith in the era of untruth.
+Come back when you are a little older and wiser. When you are ready, I will give you an assignment to check if you are ready to become Titan.
+(Quest for characters whose level is 76 or higher.)
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00075_SagaOfTheTitan/aiken02a.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00075_SagaOfTheTitan/aiken02a.htm
new file mode 100644
index 0000000000..643eebf4e2
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00075_SagaOfTheTitan/aiken02a.htm
@@ -0,0 +1,7 @@
+
+Ladanza:
+
+Have not you already got the title Titan?
+Â My brother, you do not have to go through the test of squire again.
+Â Your duty is to fight for your faith and the glory of the lord.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00075_SagaOfTheTitan/aiken03.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00075_SagaOfTheTitan/aiken03.htm
new file mode 100644
index 0000000000..50f242b4f9
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00075_SagaOfTheTitan/aiken03.htm
@@ -0,0 +1,6 @@
+
+Ladanza:
+
+Apparently, you have already chosen your path.
+You do not need to perform Titan's task.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00075_SagaOfTheTitan/aiken5.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00075_SagaOfTheTitan/aiken5.htm
new file mode 100644
index 0000000000..d665710998
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00075_SagaOfTheTitan/aiken5.htm
@@ -0,0 +1,9 @@
+
+Ladanza:
+
+Do you want to become a Titan?
+Well, then you must pass Saga of Titan,
+ Â To prove that you are not just a reckless, quick-tempered warrior, but
+Â A warrior with the soul of a true virtuoso. This is a form of ritual and the process of training,
+Â Who must fulfill all who wish to become Titan.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00075_SagaOfTheTitan/aiken6.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00075_SagaOfTheTitan/aiken6.htm
new file mode 100644
index 0000000000..8538ee5550
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00075_SagaOfTheTitan/aiken6.htm
@@ -0,0 +1,6 @@
+
+Ladanza:
+
+Congratulations! You have passed all the tests and are ready to receive the profession of Titanium !!!
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00075_SagaOfTheTitan/aiken7.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00075_SagaOfTheTitan/aiken7.htm
new file mode 100644
index 0000000000..c3c076d865
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00075_SagaOfTheTitan/aiken7.htm
@@ -0,0 +1,5 @@
+
+Ladanza:
+
+Congratulations! You get profession Titan !!!
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00075_SagaOfTheTitan/erikrams1.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00075_SagaOfTheTitan/erikrams1.htm
new file mode 100644
index 0000000000..6b513b90e6
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00075_SagaOfTheTitan/erikrams1.htm
@@ -0,0 +1,7 @@
+
+Seik Dun Zu Hestui:
+
+Thank you! You helped avenge me, I will give you the fourth amulet
+
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00075_SagaOfTheTitan/erikrams2.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00075_SagaOfTheTitan/erikrams2.htm
new file mode 100644
index 0000000000..cc2a966dab
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00075_SagaOfTheTitan/erikrams2.htm
@@ -0,0 +1,5 @@
+
+Seik Dun Zu Hestui:
+
+Now activate the last stone
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00075_SagaOfTheTitan/jer1.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00075_SagaOfTheTitan/jer1.htm
new file mode 100644
index 0000000000..88d579bc66
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00075_SagaOfTheTitan/jer1.htm
@@ -0,0 +1,6 @@
+
+Harvarent:
+
+The Pontiff Garrvance is not determined to talk about this, but may change his mind if you bring him Cold Vodka. To get it, contact Gourmet Rifken in Aden.
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00075_SagaOfTheTitan/jer2.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00075_SagaOfTheTitan/jer2.htm
new file mode 100644
index 0000000000..c694526992
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00075_SagaOfTheTitan/jer2.htm
@@ -0,0 +1,5 @@
+
+Harvarent:
+
+The Pontiff Garrvance is not determined to talk about this, but may change his mind if you bring him Cold Vodka. To get it, contact Gourmet Rifken in Aden.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00075_SagaOfTheTitan/jer3.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00075_SagaOfTheTitan/jer3.htm
new file mode 100644
index 0000000000..cfc20793dc
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00075_SagaOfTheTitan/jer3.htm
@@ -0,0 +1,6 @@
+
+Harvarent:
+
+Did you bring the Cold Vodka?
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00075_SagaOfTheTitan/jer4.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00075_SagaOfTheTitan/jer4.htm
new file mode 100644
index 0000000000..b5b1cdc575
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00075_SagaOfTheTitan/jer4.htm
@@ -0,0 +1,5 @@
+
+Harvarent:
+
+You have received the Resonance Amulet. Activate the Stone of Knowledge south of the Tower of Insolence.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00075_SagaOfTheTitan/jer5.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00075_SagaOfTheTitan/jer5.htm
new file mode 100644
index 0000000000..bd1075ec2e
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00075_SagaOfTheTitan/jer5.htm
@@ -0,0 +1,6 @@
+
+Lazenbay:
+
+Have you come for the third Amulet of Resonance?
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00075_SagaOfTheTitan/jer6.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00075_SagaOfTheTitan/jer6.htm
new file mode 100644
index 0000000000..64e785e324
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00075_SagaOfTheTitan/jer6.htm
@@ -0,0 +1,5 @@
+
+Lazenbay:
+
+Lazenbai says that the third Amulet of Resonance is in Archon Halisha. To summon him, you need to destroy his minions in the Molten Tops and collect the Halisha Signs. Destroy these monsters and call Archon Halisha. The aim of the hunt is the Ranger of the Swamp, Burning Drake, Flamey Ifrit, Ikedith
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00075_SagaOfTheTitan/rifken1.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00075_SagaOfTheTitan/rifken1.htm
new file mode 100644
index 0000000000..de8128183d
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00075_SagaOfTheTitan/rifken1.htm
@@ -0,0 +1,6 @@
+
+Rifken:
+
+Gourmet Rifken for the preparation of Cold Vodka needs the Fragments of the Crystal of Cold. They can be obtained by destroying monsters to the southeast of Aden.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00075_SagaOfTheTitan/rifken2.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00075_SagaOfTheTitan/rifken2.htm
new file mode 100644
index 0000000000..9f9ec1f27a
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00075_SagaOfTheTitan/rifken2.htm
@@ -0,0 +1,5 @@
+
+Rifken:
+
+Obtain Fragments of the Crystal of Cold.. These pieces can be obtained by destroying monsters to the southeast of Aden.The aim of the hunt is the Ice Monster, the Spirit of the Drowned Man, the Soul of Coldness, the Phantom of Solitude, the Cold Beast, the Spirit of Coldness.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00075_SagaOfTheTitan/rifken3.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00075_SagaOfTheTitan/rifken3.htm
new file mode 100644
index 0000000000..44715e2aee
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00075_SagaOfTheTitan/rifken3.htm
@@ -0,0 +1,6 @@
+
+Rifken:
+
+Did you get all the ingredients?
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00075_SagaOfTheTitan/rifken4.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00075_SagaOfTheTitan/rifken4.htm
new file mode 100644
index 0000000000..1eb58a0e4c
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00075_SagaOfTheTitan/rifken4.htm
@@ -0,0 +1,5 @@
+
+Rifken:
+
+Now you have Cold Vodka. Take it to Pontifex Garvarant in the Hunters Village.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00075_SagaOfTheTitan/stone11.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00075_SagaOfTheTitan/stone11.htm
new file mode 100644
index 0000000000..d4b7c8f01d
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00075_SagaOfTheTitan/stone11.htm
@@ -0,0 +1,5 @@
+
+Stone of knowledge:
+You slash like a stone starts to vibrate
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00075_SagaOfTheTitan/stone12.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00075_SagaOfTheTitan/stone12.htm
new file mode 100644
index 0000000000..b46f79f803
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00075_SagaOfTheTitan/stone12.htm
@@ -0,0 +1,4 @@
+
+Stone of knowledge:
+You brought the amulet and the inscription appeared on the stone - The second Amulet of Resonance is at the Warden of the Ancient Vow next to the second Stone of Knowledge.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00075_SagaOfTheTitan/stone21.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00075_SagaOfTheTitan/stone21.htm
new file mode 100644
index 0000000000..99033d637d
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00075_SagaOfTheTitan/stone21.htm
@@ -0,0 +1,5 @@
+
+Stone of knowledge:
+You slash like a stone starts to vibrate
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00075_SagaOfTheTitan/stone22.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00075_SagaOfTheTitan/stone22.htm
new file mode 100644
index 0000000000..f8b4a9e40e
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00075_SagaOfTheTitan/stone22.htm
@@ -0,0 +1,4 @@
+
+Stone of knowledge:
+As soon as you came to the stone, appeared the Fallen Elite Orc Muhark. Obviously, he is trying to stop you. Destroy it.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00075_SagaOfTheTitan/stone23.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00075_SagaOfTheTitan/stone23.htm
new file mode 100644
index 0000000000..d323517e9b
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00075_SagaOfTheTitan/stone23.htm
@@ -0,0 +1,4 @@
+
+Stone of knowledge:
+Now you can go in search of the third stone
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00075_SagaOfTheTitan/stone24.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00075_SagaOfTheTitan/stone24.htm
new file mode 100644
index 0000000000..6c2b9b7bf4
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00075_SagaOfTheTitan/stone24.htm
@@ -0,0 +1,5 @@
+
+Stone of knowledge:
+You slash like a stone starts to vibrate
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00075_SagaOfTheTitan/stone25.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00075_SagaOfTheTitan/stone25.htm
new file mode 100644
index 0000000000..d0056d4440
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00075_SagaOfTheTitan/stone25.htm
@@ -0,0 +1,4 @@
+
+Stone of knowledge:
+After activating the stone, you learned that the third Amulet of Resonance is in Seer Lazenbay in the Hunters' Village Orc Guild. Get him the Resonance Amulet.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00075_SagaOfTheTitan/stone31.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00075_SagaOfTheTitan/stone31.htm
new file mode 100644
index 0000000000..1f68253a8e
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00075_SagaOfTheTitan/stone31.htm
@@ -0,0 +1,5 @@
+
+Stone of knowledge:
+You slash like a stone starts to vibrate
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00075_SagaOfTheTitan/stone32.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00075_SagaOfTheTitan/stone32.htm
new file mode 100644
index 0000000000..e4324fdc5c
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00075_SagaOfTheTitan/stone32.htm
@@ -0,0 +1,4 @@
+
+Stone of knowledge:
+When the activation of the third Stone of Knowledge ended, he showed the location of the next stone. The fourth Stone of Knowledge is in the Orc Village, and the last Resonance Amulet is near the stone. Go there.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00075_SagaOfTheTitan/stone40.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00075_SagaOfTheTitan/stone40.htm
new file mode 100644
index 0000000000..bb9d966e9a
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00075_SagaOfTheTitan/stone40.htm
@@ -0,0 +1,7 @@
+
+You came to the stone and he began to vibrate
+
+The last amulet is at Grandfathers of Askalius
+Are you ready to fight him?
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00075_SagaOfTheTitan/stone41.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00075_SagaOfTheTitan/stone41.htm
new file mode 100644
index 0000000000..480e84db36
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00075_SagaOfTheTitan/stone41.htm
@@ -0,0 +1,3 @@
+
+Nearby there was Grandfather Askalius
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00075_SagaOfTheTitan/stone42.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00075_SagaOfTheTitan/stone42.htm
new file mode 100644
index 0000000000..de8043a808
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00075_SagaOfTheTitan/stone42.htm
@@ -0,0 +1,5 @@
+
+Stone of knowledge:
+You slash like a stone starts to vibrate
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00075_SagaOfTheTitan/stone43.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00075_SagaOfTheTitan/stone43.htm
new file mode 100644
index 0000000000..52ea26d937
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00075_SagaOfTheTitan/stone43.htm
@@ -0,0 +1,5 @@
+
+Stone of knowledge:
+You successfully activated the last stone
+Orcs are the race of Fire. Their power is unlimited! Go back to the Pontiff of Ladanza and tell him about your wanderings.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00076_SagaOfTheGrandKhavatari/Q00076_SagaOfTheGrandKhavatari.java b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00076_SagaOfTheGrandKhavatari/Q00076_SagaOfTheGrandKhavatari.java
new file mode 100644
index 0000000000..ed75e4bd8e
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00076_SagaOfTheGrandKhavatari/Q00076_SagaOfTheGrandKhavatari.java
@@ -0,0 +1,454 @@
+package quests.Q00076_SagaOfTheGrandKhavatari;
+
+import java.util.HashSet;
+import java.util.Set;
+
+import com.l2jmobius.gameserver.model.actor.L2Npc;
+import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
+import com.l2jmobius.gameserver.model.base.ClassId;
+import com.l2jmobius.gameserver.model.holders.NpcLogListHolder;
+import com.l2jmobius.gameserver.model.quest.Quest;
+import com.l2jmobius.gameserver.model.quest.QuestState;
+import com.l2jmobius.gameserver.model.quest.State;
+import com.l2jmobius.gameserver.network.serverpackets.MagicSkillUse;
+import com.l2jmobius.gameserver.util.Util;
+
+//QuangNguyen
+
+public class Q00076_SagaOfTheGrandKhavatari extends Quest
+{
+ public final int MARESTELLA = 30866;
+ public final int DUDA_MARA_TOTEM_SPIRIT = 30593;
+ public final int RIFKEN = 34268;
+ public final int LAZENBY = 30706;
+ public final int TABLET_OF_VISION_1 = 31646;
+ public final int TABLET_OF_VISION_2 = 31649;
+ public final int TABLET_OF_VISION_3 = 31651;
+ public final int TABLET_OF_VISION_4 = 31657;
+ public final int KHAVATARI_KASHU = 31637;
+ // mobs
+ public final int ICE_MONSTER = 27316;
+ public final int SPIRIT_OF_A_DROWNED = 27317;
+ public final int SOUL_OF_COLD = 27318;
+ public final int GHOST_OF_SOLITUDE = 27319;
+ public final int FIEND_OF_COLD = 27320;
+ public final int SPIRIT_OF_COLD = 27321;
+ public final int SPAMPLAND_WATCHMAN = 21650;
+ public final int FLAME_DRAKE = 21651;
+ public final int FIERY_IFRIT = 21652;
+ public final int IKEDIT = 21653;
+ public final int WATCHER_OF_THE_ANCIENT_PLEDGE = 27216;
+ public final int KHAVATARI_URUZ = 27293;
+ public final int HALISHA_ARCHON = 27219;
+ public final int FLAME_EVIL_SPIRIT_AZIRA = 27284;
+ // items
+ public final int ICE_CRYSTAL_FRAGMENT = 49810;
+ public final int HALISHA_BADGE = 7491;
+ public final int AMULET_REZONANSA_PERVIY = 7274;
+ public final int AMULET_REZONANSA_VTOROI = 7305;
+ public final int AMULET_REZONANSA_TRETIY = 7336;
+ public final int AMULET_REZONANSA_CHETVERTIY = 7367;
+ public final int BITTER_COLD_VODKA = 49841;
+ // reward
+ public final int BOOKBLACKBEAR = 90042;
+ private static final String KILL_COUNT_VAR = "KillCount";
+
+ public Q00076_SagaOfTheGrandKhavatari()
+ {
+ super(76);
+ addStartNpc(MARESTELLA);
+ addTalkId(MARESTELLA, DUDA_MARA_TOTEM_SPIRIT, RIFKEN, LAZENBY, KHAVATARI_KASHU, TABLET_OF_VISION_1, TABLET_OF_VISION_2, TABLET_OF_VISION_3, TABLET_OF_VISION_4);
+ addKillId(ICE_MONSTER, SPIRIT_OF_A_DROWNED, SOUL_OF_COLD, GHOST_OF_SOLITUDE, FIEND_OF_COLD);
+ addKillId(SPIRIT_OF_COLD, SPAMPLAND_WATCHMAN, FLAME_DRAKE, FIERY_IFRIT, IKEDIT);
+ addKillId(WATCHER_OF_THE_ANCIENT_PLEDGE, KHAVATARI_URUZ, HALISHA_ARCHON, FLAME_EVIL_SPIRIT_AZIRA);
+ registerQuestItems(BITTER_COLD_VODKA, ICE_CRYSTAL_FRAGMENT, HALISHA_BADGE);
+ addCondMinLevel(76, "aiken02.htm");
+ addCondClassId(ClassId.TYRANT, "aiken03.htm");
+ }
+
+ @Override
+ public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
+ {
+ final QuestState st = getQuestState(player, false);
+ if (st == null)
+ {
+ return null;
+ }
+ String htmltext = event;
+ switch (event)
+ {
+ case "aiken02a.htm":
+ htmltext = "aiken5.htm";
+ break;
+ case "aiken01s.htm":
+ if (st.getCond() == 0)
+ {
+ st.startQuest();
+ st.setCond(1);
+ }
+ break;
+ case "jer2.htm":
+ if (st.getCond() == 1)
+ {
+ st.setCond(2);
+ }
+ break;
+ case "rifken2.htm":
+ if (st.getCond() == 2)
+ {
+ st.setCond(3);
+ }
+ break;
+ case "rifken4.htm":
+ if (st.getCond() == 4)
+ {
+ st.setCond(5);
+ }
+ takeItems(player, ICE_CRYSTAL_FRAGMENT, -1);
+ giveItems(player, BITTER_COLD_VODKA, 1);
+ break;
+ case "jer4.htm":
+ if (st.getCond() == 5)
+ {
+ st.setCond(6);
+ }
+ giveItems(player, AMULET_REZONANSA_PERVIY, 1);
+ takeItems(player, BITTER_COLD_VODKA, -1);
+ break;
+ case "stone12.htm":
+ if (st.getCond() == 6)
+ {
+ st.setCond(7);
+ }
+ break;
+ case "stone22.htm":
+ if (st.getCond() == 8)
+ {
+ addSpawn(KHAVATARI_URUZ, npc, true, 0, true);
+ st.setCond(9);
+ }
+ break;
+ case "stone25.htm":
+ if (st.getCond() == 10)
+ {
+ st.setCond(11);
+ }
+ break;
+ case "jer6.htm":
+ if (st.getCond() == 11)
+ {
+ st.setCond(12);
+ }
+ break;
+ case "stone32.htm":
+ if (st.getCond() == 14)
+ {
+ st.setCond(15);
+ }
+ break;
+ case "stone41.htm":
+ if (st.getCond() == 15)
+ {
+ st.setCond(16);
+ }
+ addSpawn(FLAME_EVIL_SPIRIT_AZIRA, npc, true, 0, true);
+ break;
+ case "erikrams2.htm":
+ if (st.getCond() == 16)
+ {
+ st.setCond(17);
+ }
+ giveItems(player, AMULET_REZONANSA_CHETVERTIY, 1);
+ break;
+ case "stone43.htm":
+ if (st.getCond() == 17)
+ {
+ st.setCond(18);
+ }
+ break;
+ case "aiken7.htm":
+ if (st.getCond() == 18)
+ {
+ if ((player.getLevel() < 76) && (player.getBaseClass() != 48))
+ {
+ htmltext = "30849-nolvl.htm";
+ }
+ addExpAndSp(player, 3100000, 103000);
+ rewardItems(player, BOOKBLACKBEAR, 1);
+ takeItems(player, AMULET_REZONANSA_PERVIY, -1);
+ takeItems(player, AMULET_REZONANSA_VTOROI, -1);
+ takeItems(player, AMULET_REZONANSA_TRETIY, -1);
+ takeItems(player, AMULET_REZONANSA_CHETVERTIY, -1);
+ takeItems(player, HALISHA_BADGE, -1);
+ st.exitQuest(false, true);
+ player.setClassId(114);
+ player.setBaseClass(114);
+ player.broadcastUserInfo();
+ npc.broadcastPacket(new MagicSkillUse(npc, player, 5103, 1, 1000, 0));
+ }
+ break;
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onTalk(L2Npc npc, L2PcInstance talker)
+ {
+ final QuestState qs = getQuestState(talker, true);
+ String htmltext = getNoQuestMsg(talker);
+
+ switch (qs.getState())
+ {
+ case State.CREATED:
+ {
+ if (npc.getId() == MARESTELLA)
+ {
+ htmltext = "aiken01.htm";
+ }
+ break;
+ }
+ case State.STARTED:
+ {
+ if (npc.getId() == MARESTELLA)
+ {
+ if (qs.getCond() == 1)
+ {
+ htmltext = "aiken01s.htm";
+ }
+ if (qs.getCond() == 18)
+ {
+ htmltext = "aiken6.htm";
+ }
+
+ }
+ if (npc.getId() == DUDA_MARA_TOTEM_SPIRIT)
+ {
+ if (qs.getCond() == 1)
+ {
+ htmltext = "jer1.htm";
+ }
+ if (qs.getCond() == 2)
+ {
+ htmltext = "jer2.htm";
+ }
+ if (qs.getCond() == 5)
+ {
+ htmltext = "jer3.htm";
+ }
+ if (qs.getCond() == 6)
+ {
+ htmltext = "jer4.htm";
+ }
+ }
+ if (npc.getId() == LAZENBY)
+ {
+ if (qs.getCond() == 11)
+ {
+ htmltext = "jer5.htm";
+ }
+ if (qs.getCond() == 12)
+ {
+ htmltext = "jer6.htm";
+ }
+ }
+ if (npc.getId() == RIFKEN)
+ {
+ if (qs.getCond() == 2)
+ {
+ htmltext = "rifken1.htm";
+ }
+ if (qs.getCond() == 3)
+ {
+ htmltext = "rifken2.htm";
+ }
+ if (qs.getCond() == 4)
+ {
+ htmltext = "rifken3.htm";
+ }
+ }
+ if (npc.getId() == TABLET_OF_VISION_1)
+ {
+ if (qs.getCond() == 6)
+ {
+ htmltext = "stone11.htm";
+ }
+ if (qs.getCond() == 7)
+ {
+ htmltext = "stone12.htm";
+ }
+ }
+ if (npc.getId() == TABLET_OF_VISION_2)
+ {
+ if (qs.getCond() == 8)
+ {
+ htmltext = "stone21.htm";
+ }
+ if (qs.getCond() == 9)
+ {
+ htmltext = "stone23.htm";
+ }
+ if (qs.getCond() == 10)
+ {
+ htmltext = "stone24.htm";
+ }
+ if (qs.getCond() == 11)
+ {
+ htmltext = "stone25.htm";
+ }
+ }
+ if (npc.getId() == TABLET_OF_VISION_3)
+ {
+ if (qs.getCond() == 14)
+ {
+ htmltext = "stone31.htm";
+ }
+ if (qs.getCond() == 15)
+ {
+ htmltext = "stone32.htm";
+ }
+ }
+ if (npc.getId() == TABLET_OF_VISION_4)
+ {
+ if (qs.getCond() == 15)
+ {
+ htmltext = "stone40.htm";
+ }
+ if (qs.getCond() == 17)
+ {
+ htmltext = "stone42.htm";
+ }
+ if (qs.getCond() == 18)
+ {
+ htmltext = "stone43.htm";
+ }
+
+ }
+ if (npc.getId() == KHAVATARI_KASHU)
+ {
+ if (qs.getCond() == 16)
+ {
+ htmltext = "erikrams1.htm";
+ }
+ if (qs.getCond() == 17)
+ {
+ htmltext = "erikrams2.htm";
+ }
+ }
+ break;
+ }
+ case State.COMPLETED:
+ {
+ htmltext = getAlreadyCompletedMsg(talker);
+ break;
+ }
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
+ {
+ final QuestState qs = getQuestState(killer, false);
+ if ((qs != null) && qs.isStarted() && Util.checkIfInRange(1500, npc, killer, true))
+ {
+ switch (npc.getId())
+ {
+ case ICE_MONSTER:
+ case SPIRIT_OF_A_DROWNED:
+ case SOUL_OF_COLD:
+ case FIEND_OF_COLD:
+ case GHOST_OF_SOLITUDE:
+ case SPIRIT_OF_COLD:
+ if (qs.getCond() == 3)
+ {
+ if (getQuestItemsCount(killer, ICE_CRYSTAL_FRAGMENT) < 50)
+ {
+ giveItemRandomly(killer, npc, ICE_CRYSTAL_FRAGMENT, 1, 50, 50, true);
+ }
+ if (getQuestItemsCount(killer, ICE_CRYSTAL_FRAGMENT) >= 50)
+ {
+ qs.setCond(4);
+ }
+ }
+ break;
+ case KHAVATARI_URUZ:
+ if (qs.getCond() == 9)
+ {
+ qs.setCond(10);
+ }
+ break;
+ case SPAMPLAND_WATCHMAN:
+ case FLAME_DRAKE:
+ case FIERY_IFRIT:
+ case IKEDIT:
+ if (qs.getCond() == 12)
+ {
+ if (getQuestItemsCount(killer, HALISHA_BADGE) < 701)
+ {
+ giveItemRandomly(killer, npc, HALISHA_BADGE, 1, 701, 50, true);
+ if (getQuestItemsCount(killer, HALISHA_BADGE) >= 701)
+ {
+ addSpawn(HALISHA_ARCHON, npc, true, 0, true);
+ qs.setCond(13);
+ }
+ }
+ }
+ break;
+ case HALISHA_ARCHON:
+ if (qs.getCond() == 13)
+ {
+ if (!hasQuestItems(killer, AMULET_REZONANSA_TRETIY))
+ {
+ giveItemRandomly(killer, npc, AMULET_REZONANSA_TRETIY, 1, 1, 50, true);
+ }
+ qs.setCond(14);
+ }
+ break;
+ case FLAME_EVIL_SPIRIT_AZIRA:
+ if (qs.getCond() == 16)
+ {
+ addSpawn(KHAVATARI_KASHU, npc, true, 20000, true);
+ }
+ break;
+ }
+
+ if (qs.isCond(7))
+ {
+ int count = qs.getInt(KILL_COUNT_VAR);
+ if (npc.getId() == WATCHER_OF_THE_ANCIENT_PLEDGE)
+ {
+ if (count < 20)
+ {
+ qs.set(KILL_COUNT_VAR, ++count);
+ sendNpcLogList(killer);
+ }
+ }
+ if (count >= 20)
+ {
+ qs.setCond(8, true);
+ giveItems(killer, AMULET_REZONANSA_VTOROI, 1);
+ }
+ }
+ }
+ return super.onKill(npc, killer, isSummon);
+ }
+
+ @Override
+ public Set getNpcLogList(L2PcInstance player)
+ {
+ final QuestState qs = getQuestState(player, false);
+ if ((qs != null) && qs.isCond(7))
+ {
+ final Set holder = new HashSet<>(1);
+
+ // guardian of forbidden knowledge
+ final int guardiancount = qs.getInt(KILL_COUNT_VAR);
+ if (guardiancount > 0)
+ {
+ holder.add(new NpcLogListHolder(WATCHER_OF_THE_ANCIENT_PLEDGE, false, guardiancount));
+ }
+ return holder;
+ }
+ return super.getNpcLogList(player);
+ }
+}
\ No newline at end of file
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00076_SagaOfTheGrandKhavatari/aiken01.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00076_SagaOfTheGrandKhavatari/aiken01.htm
new file mode 100644
index 0000000000..64ebf3a66e
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00076_SagaOfTheGrandKhavatari/aiken01.htm
@@ -0,0 +1,6 @@
+
+Maristella:
+
+Do you want to become an Grand Khavatari ?
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00076_SagaOfTheGrandKhavatari/aiken01s.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00076_SagaOfTheGrandKhavatari/aiken01s.htm
new file mode 100644
index 0000000000..fd7d8722d2
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00076_SagaOfTheGrandKhavatari/aiken01s.htm
@@ -0,0 +1,5 @@
+
+Maristella:
+
+Criminals will not escape justice. The totem Spirit of Duda-Mar from the Village of Hunters knows where the Avatars Kashu and Uruz are. Talk to him.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00076_SagaOfTheGrandKhavatari/aiken02.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00076_SagaOfTheGrandKhavatari/aiken02.htm
new file mode 100644
index 0000000000..9306166ee2
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00076_SagaOfTheGrandKhavatari/aiken02.htm
@@ -0,0 +1,7 @@
+
+Maristella:
+
+My young friend, you do not have enough experience to become an Grand Khavatari. I see your passion and I hope that you will keep it in your heart, but it is not enough - only through the experience of battle you can acquire the power that will allow you not to deviate from your faith in the era of untruth.
+Come back when you are a little older and wiser. When you are ready, I will give you a mission to check if you are ready to become an Grand Khavatari.
+(Quest for characters whose level is 76 or higher.)
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00076_SagaOfTheGrandKhavatari/aiken02a.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00076_SagaOfTheGrandKhavatari/aiken02a.htm
new file mode 100644
index 0000000000..22eebb4c12
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00076_SagaOfTheGrandKhavatari/aiken02a.htm
@@ -0,0 +1,7 @@
+
+Maristella:
+
+Have not you already got the title Grand Khavatari?
+Â My brother, you do not have to go through the test of the squire again.
+Â Your duty is to fight for your faith and the glory of the lord.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00076_SagaOfTheGrandKhavatari/aiken03.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00076_SagaOfTheGrandKhavatari/aiken03.htm
new file mode 100644
index 0000000000..4e3d7df16a
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00076_SagaOfTheGrandKhavatari/aiken03.htm
@@ -0,0 +1,6 @@
+
+Maristella:
+
+Apparently, you have already chosen your path.
+You do not need to perform the Grand Khavatari task.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00076_SagaOfTheGrandKhavatari/aiken5.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00076_SagaOfTheGrandKhavatari/aiken5.htm
new file mode 100644
index 0000000000..b8b2903ebc
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00076_SagaOfTheGrandKhavatari/aiken5.htm
@@ -0,0 +1,9 @@
+
+Maristella:
+
+Do you want to become an Grand Khavatari?
+ Well, then you must pass Saga of Grand Khavatari,
+ To prove that you are not just a reckless, quick-tempered warrior, but
+Â A warrior with the soul of a true virtuoso. This is a form of ritual and the process of training,
+Â Who must fulfill all who wish to become an Grand Khavatari
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00076_SagaOfTheGrandKhavatari/aiken6.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00076_SagaOfTheGrandKhavatari/aiken6.htm
new file mode 100644
index 0000000000..88ada8f933
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00076_SagaOfTheGrandKhavatari/aiken6.htm
@@ -0,0 +1,6 @@
+
+Maristella:
+
+Congratulations! You have passed all the tests and are ready to receive the profession Grand Khavatari !!!
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00076_SagaOfTheGrandKhavatari/aiken7.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00076_SagaOfTheGrandKhavatari/aiken7.htm
new file mode 100644
index 0000000000..81ae1107eb
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00076_SagaOfTheGrandKhavatari/aiken7.htm
@@ -0,0 +1,5 @@
+
+Maristella:
+
+Congratulations! You have received Profession Grand Khavatari !!!
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00076_SagaOfTheGrandKhavatari/erikrams1.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00076_SagaOfTheGrandKhavatari/erikrams1.htm
new file mode 100644
index 0000000000..782aaa086e
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00076_SagaOfTheGrandKhavatari/erikrams1.htm
@@ -0,0 +1,7 @@
+
+Avatar Kashu:
+
+Thank you! You helped avenge me, I will give you the fourth amulet
+
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00076_SagaOfTheGrandKhavatari/erikrams2.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00076_SagaOfTheGrandKhavatari/erikrams2.htm
new file mode 100644
index 0000000000..9a5cb8a383
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00076_SagaOfTheGrandKhavatari/erikrams2.htm
@@ -0,0 +1,5 @@
+
+Avatar Kashu:
+
+Now activate the last stone
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00076_SagaOfTheGrandKhavatari/jer1.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00076_SagaOfTheGrandKhavatari/jer1.htm
new file mode 100644
index 0000000000..3fa7f786a0
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00076_SagaOfTheGrandKhavatari/jer1.htm
@@ -0,0 +1,6 @@
+
+Totem Spirit of Duda Mara:
+
+The spirit of Duda-Mar thinks that you lack good manners, and orders you to get Cold Vodka. To get it, contact Gourmet Rifken in Aden.
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00076_SagaOfTheGrandKhavatari/jer2.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00076_SagaOfTheGrandKhavatari/jer2.htm
new file mode 100644
index 0000000000..cdaf7c127e
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00076_SagaOfTheGrandKhavatari/jer2.htm
@@ -0,0 +1,5 @@
+
+Totem Spirit of Duda Mara:
+
+The spirit of Duda-Mar thinks that you lack good manners, and orders you to get Cold Vodka. To get it, contact Gourmet Rifken in Aden.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00076_SagaOfTheGrandKhavatari/jer3.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00076_SagaOfTheGrandKhavatari/jer3.htm
new file mode 100644
index 0000000000..c3dde4616e
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00076_SagaOfTheGrandKhavatari/jer3.htm
@@ -0,0 +1,6 @@
+
+Totem Spirit of Duda Mara:
+
+Did you bring the Cold Vodka?
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00076_SagaOfTheGrandKhavatari/jer4.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00076_SagaOfTheGrandKhavatari/jer4.htm
new file mode 100644
index 0000000000..25f740b19a
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00076_SagaOfTheGrandKhavatari/jer4.htm
@@ -0,0 +1,5 @@
+
+Totem Spirit of Duda Mara:
+
+You have received the Resonance Amulet. Activate the Stone of Knowledge to the south of the Tower of Insolence.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00076_SagaOfTheGrandKhavatari/jer5.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00076_SagaOfTheGrandKhavatari/jer5.htm
new file mode 100644
index 0000000000..21579b446e
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00076_SagaOfTheGrandKhavatari/jer5.htm
@@ -0,0 +1,6 @@
+
+Lazenbay:
+
+Have you come for the third Amulet of Resonance?
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00076_SagaOfTheGrandKhavatari/jer6.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00076_SagaOfTheGrandKhavatari/jer6.htm
new file mode 100644
index 0000000000..64e785e324
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00076_SagaOfTheGrandKhavatari/jer6.htm
@@ -0,0 +1,5 @@
+
+Lazenbay:
+
+Lazenbai says that the third Amulet of Resonance is in Archon Halisha. To summon him, you need to destroy his minions in the Molten Tops and collect the Halisha Signs. Destroy these monsters and call Archon Halisha. The aim of the hunt is the Ranger of the Swamp, Burning Drake, Flamey Ifrit, Ikedith
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00076_SagaOfTheGrandKhavatari/rifken1.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00076_SagaOfTheGrandKhavatari/rifken1.htm
new file mode 100644
index 0000000000..324845ec70
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00076_SagaOfTheGrandKhavatari/rifken1.htm
@@ -0,0 +1,6 @@
+
+Rifken:
+
+Gourmet Rifken for the preparation of Cold Vodka needs the Fragments of the Crystal of Cold. They can be obtained by destroying monsters to the southeast of Aden.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00076_SagaOfTheGrandKhavatari/rifken2.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00076_SagaOfTheGrandKhavatari/rifken2.htm
new file mode 100644
index 0000000000..609b14c7e3
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00076_SagaOfTheGrandKhavatari/rifken2.htm
@@ -0,0 +1,5 @@
+
+Rifken:
+
+Obtain Fragments of the Crystal of Cold.. These pieces can be obtained by destroying monsters to the southeast of Aden.The aim of the hunt is the Ice Monster, the Spirit of the Drowned One, the Soul of Cold, the Ghost of Solitude, the Cold Beast, the Spirit of Coldness.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00076_SagaOfTheGrandKhavatari/rifken3.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00076_SagaOfTheGrandKhavatari/rifken3.htm
new file mode 100644
index 0000000000..8733c5b1a4
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00076_SagaOfTheGrandKhavatari/rifken3.htm
@@ -0,0 +1,6 @@
+
+Rifken:
+
+Did you get all the ingredients?
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00076_SagaOfTheGrandKhavatari/rifken4.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00076_SagaOfTheGrandKhavatari/rifken4.htm
new file mode 100644
index 0000000000..6389f97d7b
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00076_SagaOfTheGrandKhavatari/rifken4.htm
@@ -0,0 +1,5 @@
+
+Rifken:
+
+Now you have Cold Vodka. Take it to the Totem Spirit of Duda-Mara in the Village of the Hunters.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00076_SagaOfTheGrandKhavatari/stone11.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00076_SagaOfTheGrandKhavatari/stone11.htm
new file mode 100644
index 0000000000..902fe830d8
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00076_SagaOfTheGrandKhavatari/stone11.htm
@@ -0,0 +1,5 @@
+
+Stone of knowledge:
+You slash like a stone starts to vibrate
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00076_SagaOfTheGrandKhavatari/stone12.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00076_SagaOfTheGrandKhavatari/stone12.htm
new file mode 100644
index 0000000000..72048b21aa
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00076_SagaOfTheGrandKhavatari/stone12.htm
@@ -0,0 +1,4 @@
+
+Stone of knowledge:
+You brought an amulet and an inscription appeared on the stone - The second Amulet of Resonance is located at the Old Testament Void next to the second Stone of Knowledge.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00076_SagaOfTheGrandKhavatari/stone21.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00076_SagaOfTheGrandKhavatari/stone21.htm
new file mode 100644
index 0000000000..0b92ec9aaf
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00076_SagaOfTheGrandKhavatari/stone21.htm
@@ -0,0 +1,5 @@
+
+Stone of knowledge:
+You slash like a stone starts to vibrate
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00076_SagaOfTheGrandKhavatari/stone22.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00076_SagaOfTheGrandKhavatari/stone22.htm
new file mode 100644
index 0000000000..23b39c4afb
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00076_SagaOfTheGrandKhavatari/stone22.htm
@@ -0,0 +1,4 @@
+
+Stone of knowledge:
+As soon as you came to the stone, Avatar Uruz appeared. Obviously, he is trying to stop you. Destroy it.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00076_SagaOfTheGrandKhavatari/stone23.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00076_SagaOfTheGrandKhavatari/stone23.htm
new file mode 100644
index 0000000000..d323517e9b
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00076_SagaOfTheGrandKhavatari/stone23.htm
@@ -0,0 +1,4 @@
+
+Stone of knowledge:
+Now you can go in search of the third stone
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00076_SagaOfTheGrandKhavatari/stone24.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00076_SagaOfTheGrandKhavatari/stone24.htm
new file mode 100644
index 0000000000..a1832905b5
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00076_SagaOfTheGrandKhavatari/stone24.htm
@@ -0,0 +1,5 @@
+
+Stone of knowledge:
+You slash like a stone starts to vibrate
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00076_SagaOfTheGrandKhavatari/stone25.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00076_SagaOfTheGrandKhavatari/stone25.htm
new file mode 100644
index 0000000000..d0056d4440
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00076_SagaOfTheGrandKhavatari/stone25.htm
@@ -0,0 +1,4 @@
+
+Stone of knowledge:
+After activating the stone, you learned that the third Amulet of Resonance is in Seer Lazenbay in the Hunters' Village Orc Guild. Get him the Resonance Amulet.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00076_SagaOfTheGrandKhavatari/stone31.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00076_SagaOfTheGrandKhavatari/stone31.htm
new file mode 100644
index 0000000000..eb91e9c446
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00076_SagaOfTheGrandKhavatari/stone31.htm
@@ -0,0 +1,5 @@
+
+Stone of knowledge:
+You slash like a stone starts to vibrate
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00076_SagaOfTheGrandKhavatari/stone32.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00076_SagaOfTheGrandKhavatari/stone32.htm
new file mode 100644
index 0000000000..e4324fdc5c
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00076_SagaOfTheGrandKhavatari/stone32.htm
@@ -0,0 +1,4 @@
+
+Stone of knowledge:
+When the activation of the third Stone of Knowledge ended, he showed the location of the next stone. The fourth Stone of Knowledge is in the Orc Village, and the last Resonance Amulet is near the stone. Go there.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00076_SagaOfTheGrandKhavatari/stone40.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00076_SagaOfTheGrandKhavatari/stone40.htm
new file mode 100644
index 0000000000..881fb0c181
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00076_SagaOfTheGrandKhavatari/stone40.htm
@@ -0,0 +1,7 @@
+
+You came to the stone and he began to vibrate
+
+The last amulet is in The Evil Fire Spirit of Azira
+Are you ready to fight him?
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00076_SagaOfTheGrandKhavatari/stone41.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00076_SagaOfTheGrandKhavatari/stone41.htm
new file mode 100644
index 0000000000..b2ed11d97c
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00076_SagaOfTheGrandKhavatari/stone41.htm
@@ -0,0 +1,3 @@
+
+Nearby there appeared the Evil Fire Spirit of Azira
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00076_SagaOfTheGrandKhavatari/stone42.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00076_SagaOfTheGrandKhavatari/stone42.htm
new file mode 100644
index 0000000000..0fba0b6ead
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00076_SagaOfTheGrandKhavatari/stone42.htm
@@ -0,0 +1,5 @@
+
+Stone of knowledge:
+You slash like a stone starts to vibrate
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00076_SagaOfTheGrandKhavatari/stone43.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00076_SagaOfTheGrandKhavatari/stone43.htm
new file mode 100644
index 0000000000..6f8782fa2f
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00076_SagaOfTheGrandKhavatari/stone43.htm
@@ -0,0 +1,5 @@
+
+Stone of knowledge:
+You successfully activated the last stone
+The avatars have achieved complete control over their body. Return to Prefect Marestelle and tell him about your wanderings.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00077_SagaOfTheDominator/Q00077_SagaOfTheDominator.java b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00077_SagaOfTheDominator/Q00077_SagaOfTheDominator.java
new file mode 100644
index 0000000000..5c95c91e6f
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00077_SagaOfTheDominator/Q00077_SagaOfTheDominator.java
@@ -0,0 +1,454 @@
+package quests.Q00077_SagaOfTheDominator;
+
+import java.util.HashSet;
+import java.util.Set;
+
+import com.l2jmobius.gameserver.model.actor.L2Npc;
+import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
+import com.l2jmobius.gameserver.model.base.ClassId;
+import com.l2jmobius.gameserver.model.holders.NpcLogListHolder;
+import com.l2jmobius.gameserver.model.quest.Quest;
+import com.l2jmobius.gameserver.model.quest.QuestState;
+import com.l2jmobius.gameserver.model.quest.State;
+import com.l2jmobius.gameserver.network.serverpackets.MagicSkillUse;
+import com.l2jmobius.gameserver.util.Util;
+
+//QuangNguyen
+
+public class Q00077_SagaOfTheDominator extends Quest
+{
+ public final int REVA = 30867;
+ public final int MUCTA = 34265;
+ public final int RIFKEN = 34268;
+ public final int LAZENBY = 30706;
+ public final int TABLET_OF_VISION_1 = 31646;
+ public final int TABLET_OF_VISION_2 = 31649;
+ public final int TABLET_OF_VISION_3 = 31651;
+ public final int TABLET_OF_VISION_4 = 31657;
+ public final int FLAME_SUCCESSOR_AKKAN = 31636;
+ // mobs
+ public final int ICE_MONSTER = 27316;
+ public final int SPIRIT_OF_A_DROWNED = 27317;
+ public final int SOUL_OF_COLD = 27318;
+ public final int GHOST_OF_SOLITUDE = 27319;
+ public final int FIEND_OF_COLD = 27320;
+ public final int SPIRIT_OF_COLD = 27321;
+ public final int SPAMPLAND_WATCHMAN = 21650;
+ public final int FLAME_DRAKE = 21651;
+ public final int FIERY_IFRIT = 21652;
+ public final int IKEDIT = 21653;
+ public final int WATCHER_OF_THE_ANCIENT_PLEDGE = 27216;
+ public final int OVERLORD_ATRUS = 27294;
+ public final int HALISHA_ARCHON = 27219;
+ public final int DEATH_LORD_HALLTE = 27262;
+ // items
+ public final int ICE_CRYSTAL_FRAGMENT = 49811;
+ public final int HALISHA_BADGE = 7492;
+ public final int AMULET_REZONANSA_PERVIY = 7275;
+ public final int AMULET_REZONANSA_VTOROI = 7306;
+ public final int AMULET_REZONANSA_TRETIY = 7337;
+ public final int AMULET_REZONANSA_CHETVERTIY = 7368;
+ public final int BITTER_COLD_VODKA = 49842;
+ // reward
+ public final int BOOKBLACKBEAR = 90042;
+ private static final String KILL_COUNT_VAR = "KillCount";
+
+ public Q00077_SagaOfTheDominator()
+ {
+ super(77);
+ addStartNpc(REVA);
+ addTalkId(REVA, MUCTA, RIFKEN, LAZENBY, FLAME_SUCCESSOR_AKKAN, TABLET_OF_VISION_1, TABLET_OF_VISION_2, TABLET_OF_VISION_3, TABLET_OF_VISION_4);
+ addKillId(ICE_MONSTER, SPIRIT_OF_A_DROWNED, SOUL_OF_COLD, GHOST_OF_SOLITUDE, FIEND_OF_COLD);
+ addKillId(SPIRIT_OF_COLD, SPAMPLAND_WATCHMAN, FLAME_DRAKE, FIERY_IFRIT, IKEDIT);
+ addKillId(WATCHER_OF_THE_ANCIENT_PLEDGE, OVERLORD_ATRUS, HALISHA_ARCHON, DEATH_LORD_HALLTE);
+ registerQuestItems(BITTER_COLD_VODKA, ICE_CRYSTAL_FRAGMENT, HALISHA_BADGE);
+ addCondMinLevel(76, "aiken02.htm");
+ addCondClassId(ClassId.OVERLORD, "aiken03.htm");
+ }
+
+ @Override
+ public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
+ {
+ final QuestState st = getQuestState(player, false);
+ if (st == null)
+ {
+ return null;
+ }
+ String htmltext = event;
+ switch (event)
+ {
+ case "aiken02a.htm":
+ htmltext = "aiken5.htm";
+ break;
+ case "aiken01s.htm":
+ if (st.getCond() == 0)
+ {
+ st.startQuest();
+ st.setCond(1);
+ }
+ break;
+ case "jer2.htm":
+ if (st.getCond() == 1)
+ {
+ st.setCond(2);
+ }
+ break;
+ case "rifken2.htm":
+ if (st.getCond() == 2)
+ {
+ st.setCond(3);
+ }
+ break;
+ case "rifken4.htm":
+ if (st.getCond() == 4)
+ {
+ st.setCond(5);
+ }
+ takeItems(player, ICE_CRYSTAL_FRAGMENT, -1);
+ giveItems(player, BITTER_COLD_VODKA, 1);
+ break;
+ case "jer4.htm":
+ if (st.getCond() == 5)
+ {
+ st.setCond(6);
+ }
+ giveItems(player, AMULET_REZONANSA_PERVIY, 1);
+ takeItems(player, BITTER_COLD_VODKA, -1);
+ break;
+ case "stone12.htm":
+ if (st.getCond() == 6)
+ {
+ st.setCond(7);
+ }
+ break;
+ case "stone22.htm":
+ if (st.getCond() == 8)
+ {
+ addSpawn(OVERLORD_ATRUS, npc, true, 0, true);
+ st.setCond(9);
+ }
+ break;
+ case "stone25.htm":
+ if (st.getCond() == 10)
+ {
+ st.setCond(11);
+ }
+ break;
+ case "jer6.htm":
+ if (st.getCond() == 11)
+ {
+ st.setCond(12);
+ }
+ break;
+ case "stone32.htm":
+ if (st.getCond() == 14)
+ {
+ st.setCond(15);
+ }
+ break;
+ case "stone41.htm":
+ if (st.getCond() == 15)
+ {
+ st.setCond(16);
+ }
+ addSpawn(DEATH_LORD_HALLTE, npc, true, 0, true);
+ break;
+ case "erikrams2.htm":
+ if (st.getCond() == 16)
+ {
+ st.setCond(17);
+ }
+ giveItems(player, AMULET_REZONANSA_CHETVERTIY, 1);
+ break;
+ case "stone43.htm":
+ if (st.getCond() == 17)
+ {
+ st.setCond(18);
+ }
+ break;
+ case "aiken7.htm":
+ if (st.getCond() == 18)
+ {
+ if ((player.getLevel() < 76) && (player.getBaseClass() != 51))
+ {
+ htmltext = "30849-nolvl.htm";
+ }
+ addExpAndSp(player, 3100000, 103000);
+ rewardItems(player, BOOKBLACKBEAR, 1);
+ takeItems(player, AMULET_REZONANSA_PERVIY, -1);
+ takeItems(player, AMULET_REZONANSA_VTOROI, -1);
+ takeItems(player, AMULET_REZONANSA_TRETIY, -1);
+ takeItems(player, AMULET_REZONANSA_CHETVERTIY, -1);
+ takeItems(player, HALISHA_BADGE, -1);
+ st.exitQuest(false, true);
+ player.setClassId(115);
+ player.setBaseClass(115);
+ player.broadcastUserInfo();
+ npc.broadcastPacket(new MagicSkillUse(npc, player, 5103, 1, 1000, 0));
+ }
+ break;
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onTalk(L2Npc npc, L2PcInstance talker)
+ {
+ final QuestState qs = getQuestState(talker, true);
+ String htmltext = getNoQuestMsg(talker);
+
+ switch (qs.getState())
+ {
+ case State.CREATED:
+ {
+ if (npc.getId() == REVA)
+ {
+ htmltext = "aiken01.htm";
+ }
+ break;
+ }
+ case State.STARTED:
+ {
+ if (npc.getId() == REVA)
+ {
+ if (qs.getCond() == 1)
+ {
+ htmltext = "aiken01s.htm";
+ }
+ if (qs.getCond() == 18)
+ {
+ htmltext = "aiken6.htm";
+ }
+
+ }
+ if (npc.getId() == MUCTA)
+ {
+ if (qs.getCond() == 1)
+ {
+ htmltext = "jer1.htm";
+ }
+ if (qs.getCond() == 2)
+ {
+ htmltext = "jer2.htm";
+ }
+ if (qs.getCond() == 5)
+ {
+ htmltext = "jer3.htm";
+ }
+ if (qs.getCond() == 6)
+ {
+ htmltext = "jer4.htm";
+ }
+ }
+ if (npc.getId() == LAZENBY)
+ {
+ if (qs.getCond() == 11)
+ {
+ htmltext = "jer5.htm";
+ }
+ if (qs.getCond() == 12)
+ {
+ htmltext = "jer6.htm";
+ }
+ }
+ if (npc.getId() == RIFKEN)
+ {
+ if (qs.getCond() == 2)
+ {
+ htmltext = "rifken1.htm";
+ }
+ if (qs.getCond() == 3)
+ {
+ htmltext = "rifken2.htm";
+ }
+ if (qs.getCond() == 4)
+ {
+ htmltext = "rifken3.htm";
+ }
+ }
+ if (npc.getId() == TABLET_OF_VISION_1)
+ {
+ if (qs.getCond() == 6)
+ {
+ htmltext = "stone11.htm";
+ }
+ if (qs.getCond() == 7)
+ {
+ htmltext = "stone12.htm";
+ }
+ }
+ if (npc.getId() == TABLET_OF_VISION_2)
+ {
+ if (qs.getCond() == 8)
+ {
+ htmltext = "stone21.htm";
+ }
+ if (qs.getCond() == 9)
+ {
+ htmltext = "stone23.htm";
+ }
+ if (qs.getCond() == 10)
+ {
+ htmltext = "stone24.htm";
+ }
+ if (qs.getCond() == 11)
+ {
+ htmltext = "stone25.htm";
+ }
+ }
+ if (npc.getId() == TABLET_OF_VISION_3)
+ {
+ if (qs.getCond() == 14)
+ {
+ htmltext = "stone31.htm";
+ }
+ if (qs.getCond() == 15)
+ {
+ htmltext = "stone32.htm";
+ }
+ }
+ if (npc.getId() == TABLET_OF_VISION_4)
+ {
+ if (qs.getCond() == 15)
+ {
+ htmltext = "stone40.htm";
+ }
+ if (qs.getCond() == 17)
+ {
+ htmltext = "stone42.htm";
+ }
+ if (qs.getCond() == 18)
+ {
+ htmltext = "stone43.htm";
+ }
+
+ }
+ if (npc.getId() == FLAME_SUCCESSOR_AKKAN)
+ {
+ if (qs.getCond() == 16)
+ {
+ htmltext = "erikrams1.htm";
+ }
+ if (qs.getCond() == 17)
+ {
+ htmltext = "erikrams2.htm";
+ }
+ }
+ break;
+ }
+ case State.COMPLETED:
+ {
+ htmltext = getAlreadyCompletedMsg(talker);
+ break;
+ }
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
+ {
+ final QuestState qs = getQuestState(killer, false);
+ if ((qs != null) && qs.isStarted() && Util.checkIfInRange(1500, npc, killer, true))
+ {
+ switch (npc.getId())
+ {
+ case ICE_MONSTER:
+ case SPIRIT_OF_A_DROWNED:
+ case SOUL_OF_COLD:
+ case FIEND_OF_COLD:
+ case GHOST_OF_SOLITUDE:
+ case SPIRIT_OF_COLD:
+ if (qs.getCond() == 3)
+ {
+ if (getQuestItemsCount(killer, ICE_CRYSTAL_FRAGMENT) < 50)
+ {
+ giveItemRandomly(killer, npc, ICE_CRYSTAL_FRAGMENT, 1, 50, 50, true);
+ }
+ if (getQuestItemsCount(killer, ICE_CRYSTAL_FRAGMENT) >= 50)
+ {
+ qs.setCond(4);
+ }
+ }
+ break;
+ case OVERLORD_ATRUS:
+ if (qs.getCond() == 9)
+ {
+ qs.setCond(10);
+ }
+ break;
+ case SPAMPLAND_WATCHMAN:
+ case FLAME_DRAKE:
+ case FIERY_IFRIT:
+ case IKEDIT:
+ if (qs.getCond() == 12)
+ {
+ if (getQuestItemsCount(killer, HALISHA_BADGE) < 701)
+ {
+ giveItemRandomly(killer, npc, HALISHA_BADGE, 1, 701, 50, true);
+ if (getQuestItemsCount(killer, HALISHA_BADGE) >= 701)
+ {
+ addSpawn(HALISHA_ARCHON, npc, true, 0, true);
+ qs.setCond(13);
+ }
+ }
+ }
+ break;
+ case HALISHA_ARCHON:
+ if (qs.getCond() == 13)
+ {
+ if (!hasQuestItems(killer, AMULET_REZONANSA_TRETIY))
+ {
+ giveItemRandomly(killer, npc, AMULET_REZONANSA_TRETIY, 1, 1, 50, true);
+ }
+ qs.setCond(14);
+ }
+ break;
+ case DEATH_LORD_HALLTE:
+ if (qs.getCond() == 16)
+ {
+ addSpawn(FLAME_SUCCESSOR_AKKAN, npc, true, 20000, true);
+ }
+ break;
+ }
+
+ if (qs.isCond(7))
+ {
+ int count = qs.getInt(KILL_COUNT_VAR);
+ if (npc.getId() == WATCHER_OF_THE_ANCIENT_PLEDGE)
+ {
+ if (count < 20)
+ {
+ qs.set(KILL_COUNT_VAR, ++count);
+ sendNpcLogList(killer);
+ }
+ }
+ if (count >= 20)
+ {
+ qs.setCond(8, true);
+ giveItems(killer, AMULET_REZONANSA_VTOROI, 1);
+ }
+ }
+ }
+ return super.onKill(npc, killer, isSummon);
+ }
+
+ @Override
+ public Set getNpcLogList(L2PcInstance player)
+ {
+ final QuestState qs = getQuestState(player, false);
+ if ((qs != null) && qs.isCond(7))
+ {
+ final Set holder = new HashSet<>(1);
+
+ // guardian of forbidden knowledge
+ final int guardiancount = qs.getInt(KILL_COUNT_VAR);
+ if (guardiancount > 0)
+ {
+ holder.add(new NpcLogListHolder(WATCHER_OF_THE_ANCIENT_PLEDGE, false, guardiancount));
+ }
+ return holder;
+ }
+ return super.getNpcLogList(player);
+ }
+}
\ No newline at end of file
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00077_SagaOfTheDominator/aiken01.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00077_SagaOfTheDominator/aiken01.htm
new file mode 100644
index 0000000000..63dc18a53f
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00077_SagaOfTheDominator/aiken01.htm
@@ -0,0 +1,6 @@
+
+Reva:
+
+Do you want to become Dominator ?
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00077_SagaOfTheDominator/aiken01s.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00077_SagaOfTheDominator/aiken01s.htm
new file mode 100644
index 0000000000..5b75a04380
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00077_SagaOfTheDominator/aiken01s.htm
@@ -0,0 +1,5 @@
+
+Reva:
+
+The heirs of the Flame are gone! One of them, Akkana, was found in the Molten Topahs. Why did he meet the Traitor Orcs? Talk to the Messenger of Orcs, Hames Mukta.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00077_SagaOfTheDominator/aiken02.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00077_SagaOfTheDominator/aiken02.htm
new file mode 100644
index 0000000000..c5211eea51
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00077_SagaOfTheDominator/aiken02.htm
@@ -0,0 +1,7 @@
+
+Reva:
+
+My young friend, you do not have enough experience to become a Dominator. I see your passion and I hope that you will keep it in your heart, but it is not enough - only through the experience of battle you can acquire the power that will allow you not to deviate from your faith in the era of untruth.
+Come back when you are a little older and wiser. When you are ready, I will give you an assignment to check if you are ready to become a Dominator.
+(Quest for characters whose level is 76 or higher.)
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00077_SagaOfTheDominator/aiken02a.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00077_SagaOfTheDominator/aiken02a.htm
new file mode 100644
index 0000000000..4d0c75ccd8
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00077_SagaOfTheDominator/aiken02a.htm
@@ -0,0 +1,7 @@
+
+Reva:
+
+Have not you already got the title Dominator?
+Â My brother, you do not have to go through the test of the squire again.
+Â Your duty is to fight for your faith and the glory of the lord.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00077_SagaOfTheDominator/aiken03.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00077_SagaOfTheDominator/aiken03.htm
new file mode 100644
index 0000000000..7997a2a1c3
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00077_SagaOfTheDominator/aiken03.htm
@@ -0,0 +1,6 @@
+
+Reva:
+
+Apparently, you have already chosen your path.
+You do not need to perform the Dominator task.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00077_SagaOfTheDominator/aiken5.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00077_SagaOfTheDominator/aiken5.htm
new file mode 100644
index 0000000000..419f65f546
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00077_SagaOfTheDominator/aiken5.htm
@@ -0,0 +1,9 @@
+
+Reva:
+
+Do you want to become Dominator?
+ Well, then you must pass Saga of Dominator,
+ To prove that you are not just a reckless, quick-tempered warrior, but
+Â A warrior with the soul of a true virtuoso. This is a form of ritual and the process of training,
+Â Which all those who wish to become Dominator must perform.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00077_SagaOfTheDominator/aiken6.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00077_SagaOfTheDominator/aiken6.htm
new file mode 100644
index 0000000000..6b97f6d17f
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00077_SagaOfTheDominator/aiken6.htm
@@ -0,0 +1,6 @@
+
+Reva:
+
+Congratulations! You have passed all the tests and are ready to receive the profession of Dominator !!!
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00077_SagaOfTheDominator/aiken7.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00077_SagaOfTheDominator/aiken7.htm
new file mode 100644
index 0000000000..b0876e513b
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00077_SagaOfTheDominator/aiken7.htm
@@ -0,0 +1,5 @@
+
+Reva:
+
+Congratulations! You have received the profession Dominator !!!
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00077_SagaOfTheDominator/erikrams1.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00077_SagaOfTheDominator/erikrams1.htm
new file mode 100644
index 0000000000..e5260d2b26
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00077_SagaOfTheDominator/erikrams1.htm
@@ -0,0 +1,7 @@
+
+Heir of the Flame Akkan:
+
+Thank you! You helped avenge me, I will give you the fourth amulet
+
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00077_SagaOfTheDominator/erikrams2.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00077_SagaOfTheDominator/erikrams2.htm
new file mode 100644
index 0000000000..69af4674b8
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00077_SagaOfTheDominator/erikrams2.htm
@@ -0,0 +1,5 @@
+
+Heir of the Flame Akkan:
+
+Now activate the last stone
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00077_SagaOfTheDominator/jer1.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00077_SagaOfTheDominator/jer1.htm
new file mode 100644
index 0000000000..7dc46a1625
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00077_SagaOfTheDominator/jer1.htm
@@ -0,0 +1,6 @@
+
+Mukta:
+
+Messenger of the Orcs Hames Mukta will talk with you only if you bring him Cold Vodka. To get it, contact Gourmet Rifken in Aden.
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00077_SagaOfTheDominator/jer2.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00077_SagaOfTheDominator/jer2.htm
new file mode 100644
index 0000000000..a7fcde3250
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00077_SagaOfTheDominator/jer2.htm
@@ -0,0 +1,5 @@
+
+Mukta:
+
+Messenger of the Orcs Hames Mukta will talk with you only if you bring him Cold Vodka. To get it, contact Gourmet Rifken in Aden.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00077_SagaOfTheDominator/jer3.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00077_SagaOfTheDominator/jer3.htm
new file mode 100644
index 0000000000..5712f355ea
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00077_SagaOfTheDominator/jer3.htm
@@ -0,0 +1,6 @@
+
+Mukta:
+
+Did you bring the Cold Vodka?
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00077_SagaOfTheDominator/jer4.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00077_SagaOfTheDominator/jer4.htm
new file mode 100644
index 0000000000..42a4791132
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00077_SagaOfTheDominator/jer4.htm
@@ -0,0 +1,5 @@
+
+Mukta:
+
+You have received the Resonance Amulet. Activate the Stone of Knowledge to the south of the Tower of Insolence.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00077_SagaOfTheDominator/jer5.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00077_SagaOfTheDominator/jer5.htm
new file mode 100644
index 0000000000..86933aa1b9
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00077_SagaOfTheDominator/jer5.htm
@@ -0,0 +1,6 @@
+
+Lazenbay:
+
+Have you come for the third Amulet of Resonance?
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00077_SagaOfTheDominator/jer6.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00077_SagaOfTheDominator/jer6.htm
new file mode 100644
index 0000000000..27c2ead8bb
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00077_SagaOfTheDominator/jer6.htm
@@ -0,0 +1,5 @@
+
+Lazenbay:
+
+Lazenbai says that the third Amulet of Resonance is in Archon Halisha. To summon him, you need to destroy his minions in the Molten Tops and collect the Halisha Signs. Destroy these monsters and call Archon Halisha. The aim of the hunt is the Ranger of the Swamp, Burning Drake, Flame Iphreet, Ikedith
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00077_SagaOfTheDominator/rifken1.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00077_SagaOfTheDominator/rifken1.htm
new file mode 100644
index 0000000000..faec22c30f
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00077_SagaOfTheDominator/rifken1.htm
@@ -0,0 +1,6 @@
+
+Rifken:
+
+Gourmet Rifken for the preparation of Cold Vodka needs the Fragments of the Crystal of Cold. They can be obtained by destroying monsters to the southeast of Aden.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00077_SagaOfTheDominator/rifken2.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00077_SagaOfTheDominator/rifken2.htm
new file mode 100644
index 0000000000..65f7863279
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00077_SagaOfTheDominator/rifken2.htm
@@ -0,0 +1,5 @@
+
+Rifken:
+
+ObtainFragments of the Crystal of Cold. . These pieces can be obtained by destroying monsters to the southeast of Aden.The aim of the hunt is the Ice Monster, the Spirit of the Drowned One, the Soul of Cold, the Ghost of Solitude, the Cold Beast, the Spirit of Coldness.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00077_SagaOfTheDominator/rifken3.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00077_SagaOfTheDominator/rifken3.htm
new file mode 100644
index 0000000000..09d8c473f6
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00077_SagaOfTheDominator/rifken3.htm
@@ -0,0 +1,6 @@
+
+Rifken:
+
+Did you get all the ingredients?
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00077_SagaOfTheDominator/rifken4.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00077_SagaOfTheDominator/rifken4.htm
new file mode 100644
index 0000000000..ee713857a2
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00077_SagaOfTheDominator/rifken4.htm
@@ -0,0 +1,5 @@
+
+Rifken:
+
+Now you have Cold Vodka. Take it to the Messenger of Orcs Hames Mukte.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00077_SagaOfTheDominator/stone11.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00077_SagaOfTheDominator/stone11.htm
new file mode 100644
index 0000000000..e8779bf122
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00077_SagaOfTheDominator/stone11.htm
@@ -0,0 +1,5 @@
+
+Stone of knowledge:
+You slash like a stone starts to vibrate
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00077_SagaOfTheDominator/stone12.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00077_SagaOfTheDominator/stone12.htm
new file mode 100644
index 0000000000..50b4fcb310
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00077_SagaOfTheDominator/stone12.htm
@@ -0,0 +1,4 @@
+
+Stone of knowledge:
+You brought the amulet and the inscription appeared on the stone - The second Amulet of Resonance is at the Vow of the Ancient Vow next to the second Stone of Knowledge.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00077_SagaOfTheDominator/stone21.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00077_SagaOfTheDominator/stone21.htm
new file mode 100644
index 0000000000..273a42a31c
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00077_SagaOfTheDominator/stone21.htm
@@ -0,0 +1,5 @@
+
+Stone of knowledge:
+You slash like a stone starts to vibrate
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00077_SagaOfTheDominator/stone22.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00077_SagaOfTheDominator/stone22.htm
new file mode 100644
index 0000000000..0019c311e2
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00077_SagaOfTheDominator/stone22.htm
@@ -0,0 +1,4 @@
+
+Stone of knowledge:
+As soon as you approached the stone, the Supreme Shaman Atrus appeared. Obviously, he is trying to stop you. Destroy it.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00077_SagaOfTheDominator/stone23.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00077_SagaOfTheDominator/stone23.htm
new file mode 100644
index 0000000000..d323517e9b
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00077_SagaOfTheDominator/stone23.htm
@@ -0,0 +1,4 @@
+
+Stone of knowledge:
+Now you can go in search of the third stone
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00077_SagaOfTheDominator/stone24.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00077_SagaOfTheDominator/stone24.htm
new file mode 100644
index 0000000000..1803a99591
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00077_SagaOfTheDominator/stone24.htm
@@ -0,0 +1,5 @@
+
+Stone of knowledge:
+You slash like a stone starts to vibrate
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00077_SagaOfTheDominator/stone25.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00077_SagaOfTheDominator/stone25.htm
new file mode 100644
index 0000000000..d0056d4440
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00077_SagaOfTheDominator/stone25.htm
@@ -0,0 +1,4 @@
+
+Stone of knowledge:
+After activating the stone, you learned that the third Amulet of Resonance is in Seer Lazenbay in the Hunters' Village Orc Guild. Get him the Resonance Amulet.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00077_SagaOfTheDominator/stone31.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00077_SagaOfTheDominator/stone31.htm
new file mode 100644
index 0000000000..5dee4752be
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00077_SagaOfTheDominator/stone31.htm
@@ -0,0 +1,5 @@
+
+Stone of knowledge:
+You slash like a stone starts to vibrate
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00077_SagaOfTheDominator/stone32.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00077_SagaOfTheDominator/stone32.htm
new file mode 100644
index 0000000000..e4324fdc5c
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00077_SagaOfTheDominator/stone32.htm
@@ -0,0 +1,4 @@
+
+Stone of knowledge:
+When the activation of the third Stone of Knowledge ended, he showed the location of the next stone. The fourth Stone of Knowledge is in the Orc Village, and the last Resonance Amulet is near the stone. Go there.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00077_SagaOfTheDominator/stone40.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00077_SagaOfTheDominator/stone40.htm
new file mode 100644
index 0000000000..f418e976cb
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00077_SagaOfTheDominator/stone40.htm
@@ -0,0 +1,7 @@
+
+You came to the stone and he began to vibrate
+
+The last amulet is in Lord of Death Hallet
+Are you ready to fight him?
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00077_SagaOfTheDominator/stone41.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00077_SagaOfTheDominator/stone41.htm
new file mode 100644
index 0000000000..e4d486ca32
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00077_SagaOfTheDominator/stone41.htm
@@ -0,0 +1,3 @@
+
+Nearby there appeared Lord of Death Hallet
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00077_SagaOfTheDominator/stone42.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00077_SagaOfTheDominator/stone42.htm
new file mode 100644
index 0000000000..3b7292a217
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00077_SagaOfTheDominator/stone42.htm
@@ -0,0 +1,5 @@
+
+Stone of knowledge:
+You slash like a stone starts to vibrate
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00077_SagaOfTheDominator/stone43.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00077_SagaOfTheDominator/stone43.htm
new file mode 100644
index 0000000000..df08030765
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00077_SagaOfTheDominator/stone43.htm
@@ -0,0 +1,5 @@
+
+Stone of knowledge:
+You successfully activated the last stone
+The ruler is always on the line between responsibility and strength. If he moves too far to one side or the other, his country will be in chaos. Return to Seer Reve and tell him about your wanderings.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00078_SagaOfTheDoomcryer/Q00078_SagaOfTheDoomcryer.java b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00078_SagaOfTheDoomcryer/Q00078_SagaOfTheDoomcryer.java
new file mode 100644
index 0000000000..49ab52ecfe
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00078_SagaOfTheDoomcryer/Q00078_SagaOfTheDoomcryer.java
@@ -0,0 +1,454 @@
+package quests.Q00078_SagaOfTheDoomcryer;
+
+import java.util.HashSet;
+import java.util.Set;
+
+import com.l2jmobius.gameserver.model.actor.L2Npc;
+import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
+import com.l2jmobius.gameserver.model.base.ClassId;
+import com.l2jmobius.gameserver.model.holders.NpcLogListHolder;
+import com.l2jmobius.gameserver.model.quest.Quest;
+import com.l2jmobius.gameserver.model.quest.QuestState;
+import com.l2jmobius.gameserver.model.quest.State;
+import com.l2jmobius.gameserver.network.serverpackets.MagicSkillUse;
+import com.l2jmobius.gameserver.util.Util;
+
+//QuangNguyen
+
+public class Q00078_SagaOfTheDoomcryer extends Quest
+{
+ public final int REVA = 30867;
+ public final int DUDA_MARA_TOTEM_SPIRIT = 30593;
+ public final int RIFKEN = 34268;
+ public final int LAZENBY = 30706;
+ public final int TABLET_OF_VISION_1 = 31646;
+ public final int TABLET_OF_VISION_2 = 31649;
+ public final int TABLET_OF_VISION_3 = 31651;
+ public final int TABLET_OF_VISION_4 = 31657;
+ public final int TAKAI_ZU_DUDA_MARA = 31642;
+ // mobs
+ public final int ICE_MONSTER = 27316;
+ public final int SPIRIT_OF_A_DROWNED = 27317;
+ public final int SOUL_OF_COLD = 27318;
+ public final int GHOST_OF_SOLITUDE = 27319;
+ public final int FIEND_OF_COLD = 27320;
+ public final int SPIRIT_OF_COLD = 27321;
+ public final int SPAMPLAND_WATCHMAN = 21650;
+ public final int FLAME_DRAKE = 21651;
+ public final int FIERY_IFRIT = 21652;
+ public final int IKEDIT = 21653;
+ public final int WATCHER_OF_THE_ANCIENT_PLEDGE = 27216;
+ public final int SHARUSHI_MOUTH_MUDAHA = 27295;
+ public final int HALISHA_ARCHON = 27219;
+ public final int LIZARD_TOTEM_SHARUHI = 27285;
+ // items
+ public final int ICE_CRYSTAL_FRAGMENT = 49812;
+ public final int HALISHA_BADGE = 7493;
+ public final int AMULET_REZONANSA_PERVIY = 7276;
+ public final int AMULET_REZONANSA_VTOROI = 7307;
+ public final int AMULET_REZONANSA_TRETIY = 7338;
+ public final int AMULET_REZONANSA_CHETVERTIY = 7369;
+ public final int BITTER_COLD_VODKA = 49843;
+ // reward
+ public final int BOOKBLACKBEAR = 90042;
+ private static final String KILL_COUNT_VAR = "KillCount";
+
+ public Q00078_SagaOfTheDoomcryer()
+ {
+ super(78);
+ addStartNpc(REVA);
+ addTalkId(REVA, DUDA_MARA_TOTEM_SPIRIT, RIFKEN, LAZENBY, TAKAI_ZU_DUDA_MARA, TABLET_OF_VISION_1, TABLET_OF_VISION_2, TABLET_OF_VISION_3, TABLET_OF_VISION_4);
+ addKillId(ICE_MONSTER, SPIRIT_OF_A_DROWNED, SOUL_OF_COLD, GHOST_OF_SOLITUDE, FIEND_OF_COLD);
+ addKillId(SPIRIT_OF_COLD, SPAMPLAND_WATCHMAN, FLAME_DRAKE, FIERY_IFRIT, IKEDIT);
+ addKillId(WATCHER_OF_THE_ANCIENT_PLEDGE, SHARUSHI_MOUTH_MUDAHA, HALISHA_ARCHON, LIZARD_TOTEM_SHARUHI);
+ registerQuestItems(BITTER_COLD_VODKA, ICE_CRYSTAL_FRAGMENT, HALISHA_BADGE);
+ addCondMinLevel(76, "aiken02.htm");
+ addCondClassId(ClassId.WARCRYER, "aiken03.htm");
+ }
+
+ @Override
+ public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
+ {
+ final QuestState st = getQuestState(player, false);
+ if (st == null)
+ {
+ return null;
+ }
+ String htmltext = event;
+ switch (event)
+ {
+ case "aiken02a.htm":
+ htmltext = "aiken5.htm";
+ break;
+ case "aiken01s.htm":
+ if (st.getCond() == 0)
+ {
+ st.startQuest();
+ st.setCond(1);
+ }
+ break;
+ case "jer2.htm":
+ if (st.getCond() == 1)
+ {
+ st.setCond(2);
+ }
+ break;
+ case "rifken2.htm":
+ if (st.getCond() == 2)
+ {
+ st.setCond(3);
+ }
+ break;
+ case "rifken4.htm":
+ if (st.getCond() == 4)
+ {
+ st.setCond(5);
+ }
+ takeItems(player, ICE_CRYSTAL_FRAGMENT, -1);
+ giveItems(player, BITTER_COLD_VODKA, 1);
+ break;
+ case "jer4.htm":
+ if (st.getCond() == 5)
+ {
+ st.setCond(6);
+ }
+ giveItems(player, AMULET_REZONANSA_PERVIY, 1);
+ takeItems(player, BITTER_COLD_VODKA, -1);
+ break;
+ case "stone12.htm":
+ if (st.getCond() == 6)
+ {
+ st.setCond(7);
+ }
+ break;
+ case "stone22.htm":
+ if (st.getCond() == 8)
+ {
+ addSpawn(SHARUSHI_MOUTH_MUDAHA, npc, true, 0, true);
+ st.setCond(9);
+ }
+ break;
+ case "stone25.htm":
+ if (st.getCond() == 10)
+ {
+ st.setCond(11);
+ }
+ break;
+ case "jer6.htm":
+ if (st.getCond() == 11)
+ {
+ st.setCond(12);
+ }
+ break;
+ case "stone32.htm":
+ if (st.getCond() == 14)
+ {
+ st.setCond(15);
+ }
+ break;
+ case "stone41.htm":
+ if (st.getCond() == 15)
+ {
+ st.setCond(16);
+ }
+ addSpawn(LIZARD_TOTEM_SHARUHI, npc, true, 0, true);
+ break;
+ case "erikrams2.htm":
+ if (st.getCond() == 16)
+ {
+ st.setCond(17);
+ }
+ giveItems(player, AMULET_REZONANSA_CHETVERTIY, 1);
+ break;
+ case "stone43.htm":
+ if (st.getCond() == 17)
+ {
+ st.setCond(18);
+ }
+ break;
+ case "aiken7.htm":
+ if (st.getCond() == 18)
+ {
+ if ((player.getLevel() < 76) && (player.getBaseClass() != 52))
+ {
+ htmltext = "30849-nolvl.htm";
+ }
+ addExpAndSp(player, 3100000, 103000);
+ rewardItems(player, BOOKBLACKBEAR, 1);
+ takeItems(player, AMULET_REZONANSA_PERVIY, -1);
+ takeItems(player, AMULET_REZONANSA_VTOROI, -1);
+ takeItems(player, AMULET_REZONANSA_TRETIY, -1);
+ takeItems(player, AMULET_REZONANSA_CHETVERTIY, -1);
+ takeItems(player, HALISHA_BADGE, -1);
+ st.exitQuest(false, true);
+ player.setClassId(116);
+ player.setBaseClass(116);
+ player.broadcastUserInfo();
+ npc.broadcastPacket(new MagicSkillUse(npc, player, 5103, 1, 1000, 0));
+ }
+ break;
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onTalk(L2Npc npc, L2PcInstance talker)
+ {
+ final QuestState qs = getQuestState(talker, true);
+ String htmltext = getNoQuestMsg(talker);
+
+ switch (qs.getState())
+ {
+ case State.CREATED:
+ {
+ if (npc.getId() == REVA)
+ {
+ htmltext = "aiken01.htm";
+ }
+ break;
+ }
+ case State.STARTED:
+ {
+ if (npc.getId() == REVA)
+ {
+ if (qs.getCond() == 1)
+ {
+ htmltext = "aiken01s.htm";
+ }
+ if (qs.getCond() == 18)
+ {
+ htmltext = "aiken6.htm";
+ }
+
+ }
+ if (npc.getId() == DUDA_MARA_TOTEM_SPIRIT)
+ {
+ if (qs.getCond() == 1)
+ {
+ htmltext = "jer1.htm";
+ }
+ if (qs.getCond() == 2)
+ {
+ htmltext = "jer2.htm";
+ }
+ if (qs.getCond() == 5)
+ {
+ htmltext = "jer3.htm";
+ }
+ if (qs.getCond() == 6)
+ {
+ htmltext = "jer4.htm";
+ }
+ }
+ if (npc.getId() == LAZENBY)
+ {
+ if (qs.getCond() == 11)
+ {
+ htmltext = "jer5.htm";
+ }
+ if (qs.getCond() == 12)
+ {
+ htmltext = "jer6.htm";
+ }
+ }
+ if (npc.getId() == RIFKEN)
+ {
+ if (qs.getCond() == 2)
+ {
+ htmltext = "rifken1.htm";
+ }
+ if (qs.getCond() == 3)
+ {
+ htmltext = "rifken2.htm";
+ }
+ if (qs.getCond() == 4)
+ {
+ htmltext = "rifken3.htm";
+ }
+ }
+ if (npc.getId() == TABLET_OF_VISION_1)
+ {
+ if (qs.getCond() == 6)
+ {
+ htmltext = "stone11.htm";
+ }
+ if (qs.getCond() == 7)
+ {
+ htmltext = "stone12.htm";
+ }
+ }
+ if (npc.getId() == TABLET_OF_VISION_2)
+ {
+ if (qs.getCond() == 8)
+ {
+ htmltext = "stone21.htm";
+ }
+ if (qs.getCond() == 9)
+ {
+ htmltext = "stone23.htm";
+ }
+ if (qs.getCond() == 10)
+ {
+ htmltext = "stone24.htm";
+ }
+ if (qs.getCond() == 11)
+ {
+ htmltext = "stone25.htm";
+ }
+ }
+ if (npc.getId() == TABLET_OF_VISION_3)
+ {
+ if (qs.getCond() == 14)
+ {
+ htmltext = "stone31.htm";
+ }
+ if (qs.getCond() == 15)
+ {
+ htmltext = "stone32.htm";
+ }
+ }
+ if (npc.getId() == TABLET_OF_VISION_4)
+ {
+ if (qs.getCond() == 15)
+ {
+ htmltext = "stone40.htm";
+ }
+ if (qs.getCond() == 17)
+ {
+ htmltext = "stone42.htm";
+ }
+ if (qs.getCond() == 18)
+ {
+ htmltext = "stone43.htm";
+ }
+
+ }
+ if (npc.getId() == TAKAI_ZU_DUDA_MARA)
+ {
+ if (qs.getCond() == 16)
+ {
+ htmltext = "erikrams1.htm";
+ }
+ if (qs.getCond() == 17)
+ {
+ htmltext = "erikrams2.htm";
+ }
+ }
+ break;
+ }
+ case State.COMPLETED:
+ {
+ htmltext = getAlreadyCompletedMsg(talker);
+ break;
+ }
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
+ {
+ final QuestState qs = getQuestState(killer, false);
+ if ((qs != null) && qs.isStarted() && Util.checkIfInRange(1500, npc, killer, true))
+ {
+ switch (npc.getId())
+ {
+ case ICE_MONSTER:
+ case SPIRIT_OF_A_DROWNED:
+ case SOUL_OF_COLD:
+ case FIEND_OF_COLD:
+ case GHOST_OF_SOLITUDE:
+ case SPIRIT_OF_COLD:
+ if (qs.getCond() == 3)
+ {
+ if (getQuestItemsCount(killer, ICE_CRYSTAL_FRAGMENT) < 50)
+ {
+ giveItemRandomly(killer, npc, ICE_CRYSTAL_FRAGMENT, 1, 50, 50, true);
+ }
+ if (getQuestItemsCount(killer, ICE_CRYSTAL_FRAGMENT) >= 50)
+ {
+ qs.setCond(4);
+ }
+ }
+ break;
+ case SHARUSHI_MOUTH_MUDAHA:
+ if (qs.getCond() == 9)
+ {
+ qs.setCond(10);
+ }
+ break;
+ case SPAMPLAND_WATCHMAN:
+ case FLAME_DRAKE:
+ case FIERY_IFRIT:
+ case IKEDIT:
+ if (qs.getCond() == 12)
+ {
+ if (getQuestItemsCount(killer, HALISHA_BADGE) < 701)
+ {
+ giveItemRandomly(killer, npc, HALISHA_BADGE, 1, 701, 50, true);
+ if (getQuestItemsCount(killer, HALISHA_BADGE) >= 701)
+ {
+ addSpawn(HALISHA_ARCHON, npc, true, 0, true);
+ qs.setCond(13);
+ }
+ }
+ }
+ break;
+ case HALISHA_ARCHON:
+ if (qs.getCond() == 13)
+ {
+ if (!hasQuestItems(killer, AMULET_REZONANSA_TRETIY))
+ {
+ giveItemRandomly(killer, npc, AMULET_REZONANSA_TRETIY, 1, 1, 50, true);
+ }
+ qs.setCond(14);
+ }
+ break;
+ case LIZARD_TOTEM_SHARUHI:
+ if (qs.getCond() == 16)
+ {
+ addSpawn(TAKAI_ZU_DUDA_MARA, npc, true, 20000, true);
+ }
+ break;
+ }
+
+ if (qs.isCond(7))
+ {
+ int count = qs.getInt(KILL_COUNT_VAR);
+ if (npc.getId() == WATCHER_OF_THE_ANCIENT_PLEDGE)
+ {
+ if (count < 20)
+ {
+ qs.set(KILL_COUNT_VAR, ++count);
+ sendNpcLogList(killer);
+ }
+ }
+ if (count >= 20)
+ {
+ qs.setCond(8, true);
+ giveItems(killer, AMULET_REZONANSA_VTOROI, 1);
+ }
+ }
+ }
+ return super.onKill(npc, killer, isSummon);
+ }
+
+ @Override
+ public Set getNpcLogList(L2PcInstance player)
+ {
+ final QuestState qs = getQuestState(player, false);
+ if ((qs != null) && qs.isCond(7))
+ {
+ final Set holder = new HashSet<>(1);
+
+ // guardian of forbidden knowledge
+ final int guardiancount = qs.getInt(KILL_COUNT_VAR);
+ if (guardiancount > 0)
+ {
+ holder.add(new NpcLogListHolder(WATCHER_OF_THE_ANCIENT_PLEDGE, false, guardiancount));
+ }
+ return holder;
+ }
+ return super.getNpcLogList(player);
+ }
+}
\ No newline at end of file
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00078_SagaOfTheDoomcryer/aiken01.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00078_SagaOfTheDoomcryer/aiken01.htm
new file mode 100644
index 0000000000..7c36e16d26
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00078_SagaOfTheDoomcryer/aiken01.htm
@@ -0,0 +1,6 @@
+
+Reva:
+
+Do you want to become the Doomcryer ?
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00078_SagaOfTheDoomcryer/aiken01s.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00078_SagaOfTheDoomcryer/aiken01s.htm
new file mode 100644
index 0000000000..187e2fad8e
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00078_SagaOfTheDoomcryer/aiken01s.htm
@@ -0,0 +1,5 @@
+
+Reva:
+
+The visionary Tarkai Zu Duda-Mara left to prepare for the Great Winter. Before leaving, he punished you to talk to the Totem Spirit of Duda-Mar.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00078_SagaOfTheDoomcryer/aiken02.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00078_SagaOfTheDoomcryer/aiken02.htm
new file mode 100644
index 0000000000..eaafe40636
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00078_SagaOfTheDoomcryer/aiken02.htm
@@ -0,0 +1,7 @@
+
+Reva:
+
+My young friend, you do not have enough experience to become the Doomcryer. I see your passion and I hope that you will keep it in your heart, but it is not enough - only through the experience of battle you can acquire the power that will allow you not to deviate from your faith in the era of untruth.
+Come back when you are a little older and wiser. When you are ready, I will give you a mission to check if you are ready to become the Doomcryer.
+(Quest for characters whose level is 76 or higher.)
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00078_SagaOfTheDoomcryer/aiken02a.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00078_SagaOfTheDoomcryer/aiken02a.htm
new file mode 100644
index 0000000000..9b9cc7628e
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00078_SagaOfTheDoomcryer/aiken02a.htm
@@ -0,0 +1,7 @@
+
+Reva:
+
+Have you not already received the title of the Doomcryer?
+Â My brother, you do not have to go through the test of the squire again.
+Â Your duty is to fight for your faith and the glory of the lord.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00078_SagaOfTheDoomcryer/aiken03.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00078_SagaOfTheDoomcryer/aiken03.htm
new file mode 100644
index 0000000000..3ca3b3150c
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00078_SagaOfTheDoomcryer/aiken03.htm
@@ -0,0 +1,6 @@
+
+Reva:
+
+Apparently, you have already chosen your path.
+You do not need to perform the task of the Doomcryer.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00078_SagaOfTheDoomcryer/aiken5.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00078_SagaOfTheDoomcryer/aiken5.htm
new file mode 100644
index 0000000000..a3effadd07
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00078_SagaOfTheDoomcryer/aiken5.htm
@@ -0,0 +1,9 @@
+
+Reva:
+
+Do you want to become the Doomcryer?
+ Well, then you must pass Saga of Doomcryer,
+ To prove that you are not just a reckless, quick-tempered warrior, but
+Â A warrior with the soul of a true virtuoso. This is a form of ritual and the process of training,
+Â Which all those who wish to become the Doomcryer must perform.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00078_SagaOfTheDoomcryer/aiken6.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00078_SagaOfTheDoomcryer/aiken6.htm
new file mode 100644
index 0000000000..e693db5b55
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00078_SagaOfTheDoomcryer/aiken6.htm
@@ -0,0 +1,6 @@
+
+Reva:
+
+Congratulations! You have passed all the tests and are ready to receive the profession of the Doomcryer !!!
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00078_SagaOfTheDoomcryer/aiken7.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00078_SagaOfTheDoomcryer/aiken7.htm
new file mode 100644
index 0000000000..db0b8a23ea
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00078_SagaOfTheDoomcryer/aiken7.htm
@@ -0,0 +1,5 @@
+
+Reva:
+
+Congratulations! You received the profession of the Doomcryer !!!
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00078_SagaOfTheDoomcryer/erikrams1.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00078_SagaOfTheDoomcryer/erikrams1.htm
new file mode 100644
index 0000000000..414c4c8738
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00078_SagaOfTheDoomcryer/erikrams1.htm
@@ -0,0 +1,7 @@
+
+Tarkai Zu Duda Mara:
+
+Thank you! You helped avenge me, I will give you the fourth amulet
+
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00078_SagaOfTheDoomcryer/erikrams2.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00078_SagaOfTheDoomcryer/erikrams2.htm
new file mode 100644
index 0000000000..fb6091053f
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00078_SagaOfTheDoomcryer/erikrams2.htm
@@ -0,0 +1,5 @@
+
+Tarkai Zu Duda Mara:
+
+Now activate the last stone
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00078_SagaOfTheDoomcryer/jer1.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00078_SagaOfTheDoomcryer/jer1.htm
new file mode 100644
index 0000000000..800cf953ee
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00078_SagaOfTheDoomcryer/jer1.htm
@@ -0,0 +1,6 @@
+
+Totem Spirit of Duda Mara:
+
+The totem Spirit of Duda-Mar asks to bring him Cold Vodka. To get it, contact Gourmet Rifken in Aden.
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00078_SagaOfTheDoomcryer/jer2.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00078_SagaOfTheDoomcryer/jer2.htm
new file mode 100644
index 0000000000..0930318f5c
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00078_SagaOfTheDoomcryer/jer2.htm
@@ -0,0 +1,5 @@
+
+Totem Spirit of Duda Mara:
+
+The totem Spirit of Duda-Mar asks to bring him Cold Vodka. To get it, contact Gourmet Rifken in Aden.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00078_SagaOfTheDoomcryer/jer3.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00078_SagaOfTheDoomcryer/jer3.htm
new file mode 100644
index 0000000000..a1166d417a
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00078_SagaOfTheDoomcryer/jer3.htm
@@ -0,0 +1,6 @@
+
+Totem Spirit of Duda Mara:
+
+Did you bring the Cold Vodka?
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00078_SagaOfTheDoomcryer/jer4.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00078_SagaOfTheDoomcryer/jer4.htm
new file mode 100644
index 0000000000..25f740b19a
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00078_SagaOfTheDoomcryer/jer4.htm
@@ -0,0 +1,5 @@
+
+Totem Spirit of Duda Mara:
+
+You have received the Resonance Amulet. Activate the Stone of Knowledge to the south of the Tower of Insolence.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00078_SagaOfTheDoomcryer/jer5.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00078_SagaOfTheDoomcryer/jer5.htm
new file mode 100644
index 0000000000..4c9ccf7f82
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00078_SagaOfTheDoomcryer/jer5.htm
@@ -0,0 +1,6 @@
+
+Lazenbay:
+
+Have you come for the third Amulet of Resonance?
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00078_SagaOfTheDoomcryer/jer6.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00078_SagaOfTheDoomcryer/jer6.htm
new file mode 100644
index 0000000000..27c2ead8bb
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00078_SagaOfTheDoomcryer/jer6.htm
@@ -0,0 +1,5 @@
+
+Lazenbay:
+
+Lazenbai says that the third Amulet of Resonance is in Archon Halisha. To summon him, you need to destroy his minions in the Molten Tops and collect the Halisha Signs. Destroy these monsters and call Archon Halisha. The aim of the hunt is the Ranger of the Swamp, Burning Drake, Flame Iphreet, Ikedith
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00078_SagaOfTheDoomcryer/rifken1.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00078_SagaOfTheDoomcryer/rifken1.htm
new file mode 100644
index 0000000000..eb9f942b30
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00078_SagaOfTheDoomcryer/rifken1.htm
@@ -0,0 +1,6 @@
+
+Rifken:
+
+Gourmet Rifken for the preparation of Cold Vodka needs the Fragments of the Crystal of Cold. They can be obtained by destroying monsters to the southeast of Aden.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00078_SagaOfTheDoomcryer/rifken2.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00078_SagaOfTheDoomcryer/rifken2.htm
new file mode 100644
index 0000000000..fc8f8f952f
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00078_SagaOfTheDoomcryer/rifken2.htm
@@ -0,0 +1,5 @@
+
+Rifken:
+
+Obtain Fragments of the Crystal of Cold. These pieces can be obtained by destroying monsters to the southeast of Aden.The aim of the hunt is the Ice Monster, the Spirit of the Drowned One, the Soul of Cold, the Ghost of Solitude, the Cold Beast, the Spirit of Coldness.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00078_SagaOfTheDoomcryer/rifken3.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00078_SagaOfTheDoomcryer/rifken3.htm
new file mode 100644
index 0000000000..7cbdb76b57
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00078_SagaOfTheDoomcryer/rifken3.htm
@@ -0,0 +1,6 @@
+
+Rifken:
+
+Did you get all the ingredients?
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00078_SagaOfTheDoomcryer/rifken4.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00078_SagaOfTheDoomcryer/rifken4.htm
new file mode 100644
index 0000000000..2fbb617e0e
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00078_SagaOfTheDoomcryer/rifken4.htm
@@ -0,0 +1,5 @@
+
+Rifken:
+
+Now you have Cold Vodka. Take it to the Totem Spirit of Duda-Mar in the Village of the Hunters.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00078_SagaOfTheDoomcryer/stone11.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00078_SagaOfTheDoomcryer/stone11.htm
new file mode 100644
index 0000000000..eb93ae9024
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00078_SagaOfTheDoomcryer/stone11.htm
@@ -0,0 +1,5 @@
+
+Stone of knowledge:
+You slash like a stone starts to vibrate
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00078_SagaOfTheDoomcryer/stone12.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00078_SagaOfTheDoomcryer/stone12.htm
new file mode 100644
index 0000000000..50b4fcb310
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00078_SagaOfTheDoomcryer/stone12.htm
@@ -0,0 +1,4 @@
+
+Stone of knowledge:
+You brought the amulet and the inscription appeared on the stone - The second Amulet of Resonance is at the Vow of the Ancient Vow next to the second Stone of Knowledge.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00078_SagaOfTheDoomcryer/stone21.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00078_SagaOfTheDoomcryer/stone21.htm
new file mode 100644
index 0000000000..b4610e217a
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00078_SagaOfTheDoomcryer/stone21.htm
@@ -0,0 +1,5 @@
+
+Stone of knowledge:
+You slash like a stone starts to vibrate
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00078_SagaOfTheDoomcryer/stone22.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00078_SagaOfTheDoomcryer/stone22.htm
new file mode 100644
index 0000000000..3732355c9b
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00078_SagaOfTheDoomcryer/stone22.htm
@@ -0,0 +1,4 @@
+
+Stone of knowledge:
+As soon as you approached the stone, the Voice of Sharuhi Madakh appeared. Obviously, he is trying to stop you. Destroy it.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00078_SagaOfTheDoomcryer/stone23.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00078_SagaOfTheDoomcryer/stone23.htm
new file mode 100644
index 0000000000..d323517e9b
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00078_SagaOfTheDoomcryer/stone23.htm
@@ -0,0 +1,4 @@
+
+Stone of knowledge:
+Now you can go in search of the third stone
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00078_SagaOfTheDoomcryer/stone24.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00078_SagaOfTheDoomcryer/stone24.htm
new file mode 100644
index 0000000000..760fcfe72d
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00078_SagaOfTheDoomcryer/stone24.htm
@@ -0,0 +1,5 @@
+
+Stone of knowledge:
+You slash like a stone starts to vibrate
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00078_SagaOfTheDoomcryer/stone25.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00078_SagaOfTheDoomcryer/stone25.htm
new file mode 100644
index 0000000000..d0056d4440
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00078_SagaOfTheDoomcryer/stone25.htm
@@ -0,0 +1,4 @@
+
+Stone of knowledge:
+After activating the stone, you learned that the third Amulet of Resonance is in Seer Lazenbay in the Hunters' Village Orc Guild. Get him the Resonance Amulet.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00078_SagaOfTheDoomcryer/stone31.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00078_SagaOfTheDoomcryer/stone31.htm
new file mode 100644
index 0000000000..e3fe20b176
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00078_SagaOfTheDoomcryer/stone31.htm
@@ -0,0 +1,5 @@
+
+Stone of knowledge:
+You slash like a stone starts to vibrate
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00078_SagaOfTheDoomcryer/stone32.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00078_SagaOfTheDoomcryer/stone32.htm
new file mode 100644
index 0000000000..e4324fdc5c
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00078_SagaOfTheDoomcryer/stone32.htm
@@ -0,0 +1,4 @@
+
+Stone of knowledge:
+When the activation of the third Stone of Knowledge ended, he showed the location of the next stone. The fourth Stone of Knowledge is in the Orc Village, and the last Resonance Amulet is near the stone. Go there.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00078_SagaOfTheDoomcryer/stone40.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00078_SagaOfTheDoomcryer/stone40.htm
new file mode 100644
index 0000000000..3526bf587f
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00078_SagaOfTheDoomcryer/stone40.htm
@@ -0,0 +1,7 @@
+
+You came to the stone and he began to vibrate
+
+The last amulet is at Sharukas Lizard Totem
+Are you ready to fight him?
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00078_SagaOfTheDoomcryer/stone41.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00078_SagaOfTheDoomcryer/stone41.htm
new file mode 100644
index 0000000000..b47443c695
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00078_SagaOfTheDoomcryer/stone41.htm
@@ -0,0 +1,3 @@
+
+A totem of the Sharuhi Lizardmen appeared nearby
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00078_SagaOfTheDoomcryer/stone42.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00078_SagaOfTheDoomcryer/stone42.htm
new file mode 100644
index 0000000000..cc155bdbf8
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00078_SagaOfTheDoomcryer/stone42.htm
@@ -0,0 +1,5 @@
+
+Stone of knowledge:
+You slash like a stone starts to vibrate
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00078_SagaOfTheDoomcryer/stone43.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00078_SagaOfTheDoomcryer/stone43.htm
new file mode 100644
index 0000000000..2a22214829
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00078_SagaOfTheDoomcryer/stone43.htm
@@ -0,0 +1,5 @@
+
+Stone of knowledge:
+You successfully activated the last stone
+The Messenger of War must be able to communicate with the spirits of ancestors. It is more important for him to understand souls than to memorize spells and teach skills. This force is vital if we want to survive the Great Winter. Return to Seer Reve and tell him about your wanderings.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00079_SagaOfTheAdventurer/Q00079_SagaOfTheAdventurer.java b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00079_SagaOfTheAdventurer/Q00079_SagaOfTheAdventurer.java
new file mode 100644
index 0000000000..865245bfd6
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00079_SagaOfTheAdventurer/Q00079_SagaOfTheAdventurer.java
@@ -0,0 +1,454 @@
+package quests.Q00079_SagaOfTheAdventurer;
+
+import java.util.HashSet;
+import java.util.Set;
+
+import com.l2jmobius.gameserver.model.actor.L2Npc;
+import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
+import com.l2jmobius.gameserver.model.base.ClassId;
+import com.l2jmobius.gameserver.model.holders.NpcLogListHolder;
+import com.l2jmobius.gameserver.model.quest.Quest;
+import com.l2jmobius.gameserver.model.quest.QuestState;
+import com.l2jmobius.gameserver.model.quest.State;
+import com.l2jmobius.gameserver.network.serverpackets.MagicSkillUse;
+import com.l2jmobius.gameserver.util.Util;
+
+//QuangNguyen
+
+public class Q00079_SagaOfTheAdventurer extends Quest
+{
+ public final int BLACK_CAT = 31603;
+ public final int NAZEPH = 34266;
+ public final int TAVOZ = 34269;
+ public final int HERMIT = 31616;
+ public final int TABLET_OF_VISION_1 = 31646;
+ public final int TABLET_OF_VISION_2 = 31647;
+ public final int TABLET_OF_VISION_3 = 31653;
+ public final int TABLET_OF_VISION_4 = 31654;
+ public final int ERICA_KEN_WEBER = 31619;
+ // mobs
+ public final int ICE_MONSTER = 27316;
+ public final int SPIRIT_OF_A_DROWNED = 27317;
+ public final int SOUL_OF_COLD = 27318;
+ public final int GHOST_OF_SOLITUDE = 27319;
+ public final int FIEND_OF_COLD = 27320;
+ public final int SPIRIT_OF_COLD = 27321;
+ public final int SPAMPLAND_WATCHMAN = 21650;
+ public final int FLAME_DRAKE = 21651;
+ public final int FIERY_IFRIT = 21652;
+ public final int IKEDIT = 21653;
+ public final int GUARDIAN_OF_FOBIDDEN_KNOWLEDGE = 27214;
+ public final int STONE_WATCHMAN_EZEKIEL = 27296;
+ public final int HALISHA_ARCHON = 27219;
+ public final int STONE_GUARDIAN_AZRAEL = 27302;
+ // items
+ public final int ICE_CRYSTAL_FRAGMENT = 49813;
+ public final int HALISHA_BADGE = 7494;
+ public final int AMULET_REZONANSA_PERVIY = 7277;
+ public final int AMULET_REZONANSA_VTOROI = 7308;
+ public final int AMULET_REZONANSA_TRETIY = 7339;
+ public final int AMULET_REZONANSA_CHETVERTIY = 7370;
+ public final int ICE_WINE = 7516;
+ // reward
+ public final int BOOKGOLDLION = 90038;
+ private static final String KILL_COUNT_VAR = "KillCount";
+
+ public Q00079_SagaOfTheAdventurer()
+ {
+ super(79);
+ addStartNpc(BLACK_CAT);
+ addTalkId(BLACK_CAT, NAZEPH, TAVOZ, HERMIT, ERICA_KEN_WEBER, TABLET_OF_VISION_1, TABLET_OF_VISION_2, TABLET_OF_VISION_3, TABLET_OF_VISION_4);
+ addKillId(ICE_MONSTER, SPIRIT_OF_A_DROWNED, SOUL_OF_COLD, GHOST_OF_SOLITUDE, FIEND_OF_COLD);
+ addKillId(SPIRIT_OF_COLD, SPAMPLAND_WATCHMAN, FLAME_DRAKE, FIERY_IFRIT, IKEDIT);
+ addKillId(GUARDIAN_OF_FOBIDDEN_KNOWLEDGE, STONE_WATCHMAN_EZEKIEL, HALISHA_ARCHON, STONE_GUARDIAN_AZRAEL);
+ registerQuestItems(ICE_WINE, ICE_CRYSTAL_FRAGMENT, HALISHA_BADGE);
+ addCondMinLevel(76, "aiken02.htm");
+ addCondClassId(ClassId.TREASURE_HUNTER, "aiken03.htm");
+ }
+
+ @Override
+ public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
+ {
+ final QuestState st = getQuestState(player, false);
+ if (st == null)
+ {
+ return null;
+ }
+ String htmltext = event;
+ switch (event)
+ {
+ case "aiken02a.htm":
+ htmltext = "aiken5.htm";
+ break;
+ case "aiken01s.htm":
+ if (st.getCond() == 0)
+ {
+ st.startQuest();
+ st.setCond(1);
+ }
+ break;
+ case "jer2.htm":
+ if (st.getCond() == 1)
+ {
+ st.setCond(2);
+ }
+ break;
+ case "rifken2.htm":
+ if (st.getCond() == 2)
+ {
+ st.setCond(3);
+ }
+ break;
+ case "rifken4.htm":
+ if (st.getCond() == 4)
+ {
+ st.setCond(5);
+ }
+ takeItems(player, ICE_CRYSTAL_FRAGMENT, -1);
+ giveItems(player, ICE_WINE, 1);
+ break;
+ case "jer4.htm":
+ if (st.getCond() == 5)
+ {
+ st.setCond(6);
+ }
+ giveItems(player, AMULET_REZONANSA_PERVIY, 1);
+ takeItems(player, ICE_WINE, -1);
+ break;
+ case "stone12.htm":
+ if (st.getCond() == 6)
+ {
+ st.setCond(7);
+ }
+ break;
+ case "stone22.htm":
+ if (st.getCond() == 8)
+ {
+ addSpawn(STONE_WATCHMAN_EZEKIEL, npc, true, 0, true);
+ st.setCond(9);
+ }
+ break;
+ case "stone25.htm":
+ if (st.getCond() == 10)
+ {
+ st.setCond(11);
+ }
+ break;
+ case "jer6.htm":
+ if (st.getCond() == 11)
+ {
+ st.setCond(12);
+ }
+ break;
+ case "stone32.htm":
+ if (st.getCond() == 14)
+ {
+ st.setCond(15);
+ }
+ break;
+ case "stone41.htm":
+ if (st.getCond() == 15)
+ {
+ st.setCond(16);
+ }
+ addSpawn(STONE_GUARDIAN_AZRAEL, npc, true, 0, true);
+ break;
+ case "erikrams2.htm":
+ if (st.getCond() == 16)
+ {
+ st.setCond(17);
+ }
+ giveItems(player, AMULET_REZONANSA_CHETVERTIY, 1);
+ break;
+ case "stone43.htm":
+ if (st.getCond() == 17)
+ {
+ st.setCond(18);
+ }
+ break;
+ case "aiken7.htm":
+ if (st.getCond() == 18)
+ {
+ if ((player.getLevel() < 76) && (player.getBaseClass() != 8))
+ {
+ htmltext = "30849-nolvl.htm";
+ }
+ addExpAndSp(player, 3100000, 103000);
+ rewardItems(player, BOOKGOLDLION, 1);
+ takeItems(player, AMULET_REZONANSA_PERVIY, -1);
+ takeItems(player, AMULET_REZONANSA_VTOROI, -1);
+ takeItems(player, AMULET_REZONANSA_TRETIY, -1);
+ takeItems(player, AMULET_REZONANSA_CHETVERTIY, -1);
+ takeItems(player, HALISHA_BADGE, -1);
+ st.exitQuest(false, true);
+ player.setClassId(93);
+ player.setBaseClass(93);
+ player.broadcastUserInfo();
+ npc.broadcastPacket(new MagicSkillUse(npc, player, 5103, 1, 1000, 0));
+ }
+ break;
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onTalk(L2Npc npc, L2PcInstance talker)
+ {
+ final QuestState qs = getQuestState(talker, true);
+ String htmltext = getNoQuestMsg(talker);
+
+ switch (qs.getState())
+ {
+ case State.CREATED:
+ {
+ if (npc.getId() == BLACK_CAT)
+ {
+ htmltext = "aiken01.htm";
+ }
+ break;
+ }
+ case State.STARTED:
+ {
+ if (npc.getId() == BLACK_CAT)
+ {
+ if (qs.getCond() == 1)
+ {
+ htmltext = "aiken01s.htm";
+ }
+ if (qs.getCond() == 18)
+ {
+ htmltext = "aiken6.htm";
+ }
+
+ }
+ if (npc.getId() == NAZEPH)
+ {
+ if (qs.getCond() == 1)
+ {
+ htmltext = "jer1.htm";
+ }
+ if (qs.getCond() == 2)
+ {
+ htmltext = "jer2.htm";
+ }
+ if (qs.getCond() == 5)
+ {
+ htmltext = "jer3.htm";
+ }
+ if (qs.getCond() == 6)
+ {
+ htmltext = "jer4.htm";
+ }
+ }
+ if (npc.getId() == HERMIT)
+ {
+ if (qs.getCond() == 11)
+ {
+ htmltext = "jer5.htm";
+ }
+ if (qs.getCond() == 12)
+ {
+ htmltext = "jer6.htm";
+ }
+ }
+ if (npc.getId() == TAVOZ)
+ {
+ if (qs.getCond() == 2)
+ {
+ htmltext = "rifken1.htm";
+ }
+ if (qs.getCond() == 3)
+ {
+ htmltext = "rifken2.htm";
+ }
+ if (qs.getCond() == 4)
+ {
+ htmltext = "rifken3.htm";
+ }
+ }
+ if (npc.getId() == TABLET_OF_VISION_1)
+ {
+ if (qs.getCond() == 6)
+ {
+ htmltext = "stone11.htm";
+ }
+ if (qs.getCond() == 7)
+ {
+ htmltext = "stone12.htm";
+ }
+ }
+ if (npc.getId() == TABLET_OF_VISION_2)
+ {
+ if (qs.getCond() == 8)
+ {
+ htmltext = "stone21.htm";
+ }
+ if (qs.getCond() == 9)
+ {
+ htmltext = "stone23.htm";
+ }
+ if (qs.getCond() == 10)
+ {
+ htmltext = "stone24.htm";
+ }
+ if (qs.getCond() == 11)
+ {
+ htmltext = "stone25.htm";
+ }
+ }
+ if (npc.getId() == TABLET_OF_VISION_3)
+ {
+ if (qs.getCond() == 14)
+ {
+ htmltext = "stone31.htm";
+ }
+ if (qs.getCond() == 15)
+ {
+ htmltext = "stone32.htm";
+ }
+ }
+ if (npc.getId() == TABLET_OF_VISION_4)
+ {
+ if (qs.getCond() == 15)
+ {
+ htmltext = "stone40.htm";
+ }
+ if (qs.getCond() == 17)
+ {
+ htmltext = "stone42.htm";
+ }
+ if (qs.getCond() == 18)
+ {
+ htmltext = "stone43.htm";
+ }
+
+ }
+ if (npc.getId() == ERICA_KEN_WEBER)
+ {
+ if (qs.getCond() == 16)
+ {
+ htmltext = "erikrams1.htm";
+ }
+ if (qs.getCond() == 17)
+ {
+ htmltext = "erikrams2.htm";
+ }
+ }
+ break;
+ }
+ case State.COMPLETED:
+ {
+ htmltext = getAlreadyCompletedMsg(talker);
+ break;
+ }
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
+ {
+ final QuestState qs = getQuestState(killer, false);
+ if ((qs != null) && qs.isStarted() && Util.checkIfInRange(1500, npc, killer, true))
+ {
+ switch (npc.getId())
+ {
+ case ICE_MONSTER:
+ case SPIRIT_OF_A_DROWNED:
+ case SOUL_OF_COLD:
+ case FIEND_OF_COLD:
+ case GHOST_OF_SOLITUDE:
+ case SPIRIT_OF_COLD:
+ if (qs.getCond() == 3)
+ {
+ if (getQuestItemsCount(killer, ICE_CRYSTAL_FRAGMENT) < 50)
+ {
+ giveItemRandomly(killer, npc, ICE_CRYSTAL_FRAGMENT, 1, 50, 50, true);
+ }
+ if (getQuestItemsCount(killer, ICE_CRYSTAL_FRAGMENT) >= 50)
+ {
+ qs.setCond(4);
+ }
+ }
+ break;
+ case STONE_WATCHMAN_EZEKIEL:
+ if (qs.getCond() == 9)
+ {
+ qs.setCond(10);
+ }
+ break;
+ case SPAMPLAND_WATCHMAN:
+ case FLAME_DRAKE:
+ case FIERY_IFRIT:
+ case IKEDIT:
+ if (qs.getCond() == 12)
+ {
+ if (getQuestItemsCount(killer, HALISHA_BADGE) < 701)
+ {
+ giveItemRandomly(killer, npc, HALISHA_BADGE, 1, 701, 50, true);
+ if (getQuestItemsCount(killer, HALISHA_BADGE) >= 701)
+ {
+ addSpawn(HALISHA_ARCHON, npc, true, 0, true);
+ qs.setCond(13);
+ }
+ }
+ }
+ break;
+ case HALISHA_ARCHON:
+ if (qs.getCond() == 13)
+ {
+ if (!hasQuestItems(killer, AMULET_REZONANSA_TRETIY))
+ {
+ giveItemRandomly(killer, npc, AMULET_REZONANSA_TRETIY, 1, 1, 50, true);
+ }
+ qs.setCond(14);
+ }
+ break;
+ case STONE_GUARDIAN_AZRAEL:
+ if (qs.getCond() == 16)
+ {
+ addSpawn(ERICA_KEN_WEBER, npc, true, 20000, true);
+ }
+ break;
+ }
+
+ if (qs.isCond(7))
+ {
+ int count = qs.getInt(KILL_COUNT_VAR);
+ if (npc.getId() == GUARDIAN_OF_FOBIDDEN_KNOWLEDGE)
+ {
+ if (count < 20)
+ {
+ qs.set(KILL_COUNT_VAR, ++count);
+ sendNpcLogList(killer);
+ }
+ }
+ if (count >= 20)
+ {
+ qs.setCond(8, true);
+ giveItems(killer, AMULET_REZONANSA_VTOROI, 1);
+ }
+ }
+ }
+ return super.onKill(npc, killer, isSummon);
+ }
+
+ @Override
+ public Set getNpcLogList(L2PcInstance player)
+ {
+ final QuestState qs = getQuestState(player, false);
+ if ((qs != null) && qs.isCond(7))
+ {
+ final Set holder = new HashSet<>(1);
+
+ // guardian of forbidden knowledge
+ final int guardiancount = qs.getInt(KILL_COUNT_VAR);
+ if (guardiancount > 0)
+ {
+ holder.add(new NpcLogListHolder(GUARDIAN_OF_FOBIDDEN_KNOWLEDGE, false, guardiancount));
+ }
+ return holder;
+ }
+ return super.getNpcLogList(player);
+ }
+}
\ No newline at end of file
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00079_SagaOfTheAdventurer/aiken01.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00079_SagaOfTheAdventurer/aiken01.htm
new file mode 100644
index 0000000000..5ea681005f
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00079_SagaOfTheAdventurer/aiken01.htm
@@ -0,0 +1,5 @@
+
+Black Cat:
+Do you want to become an Adventurer ?.
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00079_SagaOfTheAdventurer/aiken01s.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00079_SagaOfTheAdventurer/aiken01s.htm
new file mode 100644
index 0000000000..dd8d31f286
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00079_SagaOfTheAdventurer/aiken01s.htm
@@ -0,0 +1,4 @@
+
+Black Cat:
+According to the Black Cat, in order to acquire the Forbidden Force, you must first meet with the drunkard Nasef in Aden.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00079_SagaOfTheAdventurer/aiken02.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00079_SagaOfTheAdventurer/aiken02.htm
new file mode 100644
index 0000000000..40d02c954d
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00079_SagaOfTheAdventurer/aiken02.htm
@@ -0,0 +1,6 @@
+
+Black Cat:
+My young friend, you do not have enough experience to become an Adventurer. I see your passion and I hope that you will keep it in your heart, but it is not enough - only through the experience of battle you can acquire the power that will allow you not to deviate from your faith in the era of untruth.
+Come back when you are a little older and wiser. When you are ready, I will give you an assignment to check if you are ready to become an Adventurer.
+(Quest for characters whose level is 76 or higher.)
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00079_SagaOfTheAdventurer/aiken02a.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00079_SagaOfTheAdventurer/aiken02a.htm
new file mode 100644
index 0000000000..e184ffca96
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00079_SagaOfTheAdventurer/aiken02a.htm
@@ -0,0 +1,6 @@
+
+Black Cat:
+Have not you already got the Adventurer title?
+ My brother, you do not have to go through the test of squire again.
+ Your duty is to fight for your faith and the glory of the lord.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00079_SagaOfTheAdventurer/aiken03.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00079_SagaOfTheAdventurer/aiken03.htm
new file mode 100644
index 0000000000..96e861b390
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00079_SagaOfTheAdventurer/aiken03.htm
@@ -0,0 +1,5 @@
+
+Black Cat:
+Apparently, you have already chosen your path.
+ You do not need to perform the Adventurer's task.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00079_SagaOfTheAdventurer/aiken5.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00079_SagaOfTheAdventurer/aiken5.htm
new file mode 100644
index 0000000000..6c55c83163
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00079_SagaOfTheAdventurer/aiken5.htm
@@ -0,0 +1,9 @@
+
+
+Black Cat:
+Do you want to become an Adventurer?
+ Well, then you must pass Saga Adventurer,
+To prove that you are not just a reckless, quick-tempered warrior, but
+ Warrior with the soul of this Adventurer. This is a form of ritual and the process of training,
+ Which all those who wish to become an Adventurer must perform.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00079_SagaOfTheAdventurer/aiken6.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00079_SagaOfTheAdventurer/aiken6.htm
new file mode 100644
index 0000000000..e93e581b6c
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00079_SagaOfTheAdventurer/aiken6.htm
@@ -0,0 +1,5 @@
+
+Black Cat:
+Congratulations! You have passed all the tests and are ready to receive the Adventurer's profession !!!
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00079_SagaOfTheAdventurer/aiken7.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00079_SagaOfTheAdventurer/aiken7.htm
new file mode 100644
index 0000000000..a736e712aa
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00079_SagaOfTheAdventurer/aiken7.htm
@@ -0,0 +1,5 @@
+
+Black Cat
+Congratulations! You received the Adventurer's profession !!!
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00079_SagaOfTheAdventurer/erikrams1.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00079_SagaOfTheAdventurer/erikrams1.htm
new file mode 100644
index 0000000000..c3cbe24421
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00079_SagaOfTheAdventurer/erikrams1.htm
@@ -0,0 +1,7 @@
+
+Erika Ken Weber:
+
+Thank you! You helped avenge me, I will give you the fourth amulet
+
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00079_SagaOfTheAdventurer/erikrams2.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00079_SagaOfTheAdventurer/erikrams2.htm
new file mode 100644
index 0000000000..a7fb786116
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00079_SagaOfTheAdventurer/erikrams2.htm
@@ -0,0 +1,5 @@
+
+Erika Ken Weber:
+
+Now activate the last stone
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00079_SagaOfTheAdventurer/jer1.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00079_SagaOfTheAdventurer/jer1.htm
new file mode 100644
index 0000000000..7a3efbb454
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00079_SagaOfTheAdventurer/jer1.htm
@@ -0,0 +1,5 @@
+
+Nasef:
+Nasef refuses to talk to you without any refreshing drink.
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00079_SagaOfTheAdventurer/jer2.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00079_SagaOfTheAdventurer/jer2.htm
new file mode 100644
index 0000000000..1eba03a26f
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00079_SagaOfTheAdventurer/jer2.htm
@@ -0,0 +1,4 @@
+
+Nasef:
+Refer to Brewer Tavoz, who lives in Aden.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00079_SagaOfTheAdventurer/jer3.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00079_SagaOfTheAdventurer/jer3.htm
new file mode 100644
index 0000000000..1737c04989
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00079_SagaOfTheAdventurer/jer3.htm
@@ -0,0 +1,5 @@
+
+Nasef:
+Did you bring the "Refreshing Drink"?
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00079_SagaOfTheAdventurer/jer4.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00079_SagaOfTheAdventurer/jer4.htm
new file mode 100644
index 0000000000..849a7906f5
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00079_SagaOfTheAdventurer/jer4.htm
@@ -0,0 +1,4 @@
+
+Nasef:
+You have received the Resonance Amulet. Activate the Stone of Knowledge to the south of the Tower of Insolence.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00079_SagaOfTheAdventurer/jer5.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00079_SagaOfTheAdventurer/jer5.htm
new file mode 100644
index 0000000000..31266de213
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00079_SagaOfTheAdventurer/jer5.htm
@@ -0,0 +1,5 @@
+
+The Hermit:
+Have you come for the third Amulet of Resonance?
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00079_SagaOfTheAdventurer/jer6.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00079_SagaOfTheAdventurer/jer6.htm
new file mode 100644
index 0000000000..6803765abd
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00079_SagaOfTheAdventurer/jer6.htm
@@ -0,0 +1,4 @@
+
+The Hermit:
+The hermit says that the third Amulet of Resonance is in Archon Halisha.To summon him, you need to destroy his minions in the Molten Tops and collect the Halisha Signs. Destroy these monsters and call Archon Halisha. The aim of the hunt is the Ranger of the Swamp, Burning Drake, Flamey Ifrit, Ikedith
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00079_SagaOfTheAdventurer/rifken1.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00079_SagaOfTheAdventurer/rifken1.htm
new file mode 100644
index 0000000000..7c9ff1d816
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00079_SagaOfTheAdventurer/rifken1.htm
@@ -0,0 +1,5 @@
+
+Tawoz:
+I'll help you make a "Refreshing Drink" but I need 50 Fragments of the Chill Crystal.
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00079_SagaOfTheAdventurer/rifken2.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00079_SagaOfTheAdventurer/rifken2.htm
new file mode 100644
index 0000000000..b095d19525
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00079_SagaOfTheAdventurer/rifken2.htm
@@ -0,0 +1,4 @@
+
+Tawoz:
+Brewer Tavozu for making Ice Wine needed Shards of the Crystal of Cold. These fragments can be obtained by destroying monsters to the southeast of Aden.The aim of the hunt is the Ice Monster , Spirit of the Drowned Man, Soul of Coldness, Phantom of Solitude, Cold Beast, Spirit of Cold.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00079_SagaOfTheAdventurer/rifken3.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00079_SagaOfTheAdventurer/rifken3.htm
new file mode 100644
index 0000000000..16e19141d9
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00079_SagaOfTheAdventurer/rifken3.htm
@@ -0,0 +1,5 @@
+
+Tawoz:
+Did you get all the ingredients?
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00079_SagaOfTheAdventurer/rifken4.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00079_SagaOfTheAdventurer/rifken4.htm
new file mode 100644
index 0000000000..349c322d2a
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00079_SagaOfTheAdventurer/rifken4.htm
@@ -0,0 +1,4 @@
+
+Tawoz:
+Brewer Tawoz prepared Ice Wine. Give it to Nazeef.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00079_SagaOfTheAdventurer/stone11.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00079_SagaOfTheAdventurer/stone11.htm
new file mode 100644
index 0000000000..f813051217
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00079_SagaOfTheAdventurer/stone11.htm
@@ -0,0 +1,5 @@
+
+Stone of knowledge:
+You slash like a stone starts to vibrate
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00079_SagaOfTheAdventurer/stone12.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00079_SagaOfTheAdventurer/stone12.htm
new file mode 100644
index 0000000000..b17dd64241
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00079_SagaOfTheAdventurer/stone12.htm
@@ -0,0 +1,4 @@
+
+Stone of knowledge:
+You brought the amulet and the inscription appeared on the stone - The second Amulet of Resonance is at the Keepers of Forbidden Knowledge next to the second Stone of Knowledge.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00079_SagaOfTheAdventurer/stone21.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00079_SagaOfTheAdventurer/stone21.htm
new file mode 100644
index 0000000000..bc190cb64b
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00079_SagaOfTheAdventurer/stone21.htm
@@ -0,0 +1,5 @@
+
+Stone of knowledge:
+You slash like a stone starts to vibrate
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00079_SagaOfTheAdventurer/stone22.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00079_SagaOfTheAdventurer/stone22.htm
new file mode 100644
index 0000000000..fec2c66bac
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00079_SagaOfTheAdventurer/stone22.htm
@@ -0,0 +1,4 @@
+
+Stone of knowledge:
+You slash like a stone starts to vibrate
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00079_SagaOfTheAdventurer/stone23.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00079_SagaOfTheAdventurer/stone23.htm
new file mode 100644
index 0000000000..d323517e9b
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00079_SagaOfTheAdventurer/stone23.htm
@@ -0,0 +1,4 @@
+
+Stone of knowledge:
+Now you can go in search of the third stone
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00079_SagaOfTheAdventurer/stone24.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00079_SagaOfTheAdventurer/stone24.htm
new file mode 100644
index 0000000000..546434ed51
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00079_SagaOfTheAdventurer/stone24.htm
@@ -0,0 +1,5 @@
+
+Stone of knowledge:
+You slash like a stone starts to vibrate
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00079_SagaOfTheAdventurer/stone25.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00079_SagaOfTheAdventurer/stone25.htm
new file mode 100644
index 0000000000..9451cde0d7
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00079_SagaOfTheAdventurer/stone25.htm
@@ -0,0 +1,4 @@
+
+Stone of knowledge:
+After activating the stone, you learned that the third Amulet of Resonance is in the Hermit in the Valley of Death. Get him the Resonance Amulet.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00079_SagaOfTheAdventurer/stone31.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00079_SagaOfTheAdventurer/stone31.htm
new file mode 100644
index 0000000000..636115d3d6
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00079_SagaOfTheAdventurer/stone31.htm
@@ -0,0 +1,6 @@
+
+Stone of knowledge:
+You slash like a stone starts to vibrate
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00079_SagaOfTheAdventurer/stone32.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00079_SagaOfTheAdventurer/stone32.htm
new file mode 100644
index 0000000000..b77e015b9e
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00079_SagaOfTheAdventurer/stone32.htm
@@ -0,0 +1,4 @@
+
+Stone of knowledge:
+When the activation of the third Stone of Knowledge ended, he showed the location of the next stone. The fourth Stone of Knowledge is on the Speaking Island, and the last Amulet of Resonance is near the stone. Go there.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00079_SagaOfTheAdventurer/stone40.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00079_SagaOfTheAdventurer/stone40.htm
new file mode 100644
index 0000000000..6c272466be
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00079_SagaOfTheAdventurer/stone40.htm
@@ -0,0 +1,7 @@
+
+You came to the stone and he began to vibrate
+
+The last amulet is in the Azrael Stone Keeper
+Are you ready to fight him?
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00079_SagaOfTheAdventurer/stone41.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00079_SagaOfTheAdventurer/stone41.htm
new file mode 100644
index 0000000000..68de5867d7
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00079_SagaOfTheAdventurer/stone41.htm
@@ -0,0 +1,3 @@
+
+Nearby there was the Guardian of the Stone Azrael
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00079_SagaOfTheAdventurer/stone42.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00079_SagaOfTheAdventurer/stone42.htm
new file mode 100644
index 0000000000..11d0a7edb6
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00079_SagaOfTheAdventurer/stone42.htm
@@ -0,0 +1,6 @@
+
+Stone of knowledge:
+You slash like a stone starts to vibrate
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00079_SagaOfTheAdventurer/stone43.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00079_SagaOfTheAdventurer/stone43.htm
new file mode 100644
index 0000000000..2c398c8653
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00079_SagaOfTheAdventurer/stone43.htm
@@ -0,0 +1,5 @@
+
+Stone of knowledge:
+You successfully activated the last stone
+You have found all the Stones of Knowledge. Return to the Black Cat and tell her about what you have learned.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00080_SagaOfTheWindRider/Q00080_SagaOfTheWindRider.java b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00080_SagaOfTheWindRider/Q00080_SagaOfTheWindRider.java
new file mode 100644
index 0000000000..9980b898e0
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00080_SagaOfTheWindRider/Q00080_SagaOfTheWindRider.java
@@ -0,0 +1,454 @@
+package quests.Q00080_SagaOfTheWindRider;
+
+import java.util.HashSet;
+import java.util.Set;
+
+import com.l2jmobius.gameserver.model.actor.L2Npc;
+import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
+import com.l2jmobius.gameserver.model.base.ClassId;
+import com.l2jmobius.gameserver.model.holders.NpcLogListHolder;
+import com.l2jmobius.gameserver.model.quest.Quest;
+import com.l2jmobius.gameserver.model.quest.QuestState;
+import com.l2jmobius.gameserver.model.quest.State;
+import com.l2jmobius.gameserver.network.serverpackets.MagicSkillUse;
+import com.l2jmobius.gameserver.util.Util;
+
+//QuangNguyen
+
+public class Q00080_SagaOfTheWindRider extends Quest
+{
+ public final int BLACK_CAT = 31603;
+ public final int LORENZO = 30840;
+ public final int RIFKEN = 34268;
+ public final int HERMIT = 31616;
+ public final int TABLET_OF_VISION_1 = 31646;
+ public final int TABLET_OF_VISION_2 = 31647;
+ public final int TABLET_OF_VISION_3 = 31653;
+ public final int TABLET_OF_VISION_4 = 31655;
+ public final int WANDERER_STARIS = 31612;
+ // mobs
+ public final int ICE_MONSTER = 27316;
+ public final int SPIRIT_OF_A_DROWNED = 27317;
+ public final int SOUL_OF_COLD = 27318;
+ public final int GHOST_OF_SOLITUDE = 27319;
+ public final int FIEND_OF_COLD = 27320;
+ public final int SPIRIT_OF_COLD = 27321;
+ public final int SPAMPLAND_WATCHMAN = 21650;
+ public final int FLAME_DRAKE = 21651;
+ public final int FIERY_IFRIT = 21652;
+ public final int IKEDIT = 21653;
+ public final int GUARDIAN_OF_FOBIDDEN_KNOWLEDGE = 27214;
+ public final int STONE_WATCHMAN_AZEKIEL = 27296;
+ public final int HALISHA_ARCHON = 27219;
+ public final int STONE_GUARDIAN_AZRAEL = 27302;
+ // items
+ public final int ICE_CRYSTAL_FRAGMENT = 49814;
+ public final int HALISHA_BADGE = 7495;
+ public final int AMULET_REZONANSA_PERVIY = 7278;
+ public final int AMULET_REZONANSA_VTOROI = 7309;
+ public final int AMULET_REZONANSA_TRETIY = 7341;
+ public final int AMULET_REZONANSA_CHETVERTIY = 7372;
+ public final int RIFKEN_DISH = 49839;
+ // reward
+ public final int BOOKPEGASUS = 90039;
+ private static final String KILL_COUNT_VAR = "KillCount";
+
+ public Q00080_SagaOfTheWindRider()
+ {
+ super(80);
+ addStartNpc(BLACK_CAT);
+ addTalkId(BLACK_CAT, LORENZO, RIFKEN, HERMIT, WANDERER_STARIS, TABLET_OF_VISION_1, TABLET_OF_VISION_2, TABLET_OF_VISION_3, TABLET_OF_VISION_4);
+ addKillId(ICE_MONSTER, SPIRIT_OF_A_DROWNED, SOUL_OF_COLD, GHOST_OF_SOLITUDE, FIEND_OF_COLD);
+ addKillId(SPIRIT_OF_COLD, SPAMPLAND_WATCHMAN, FLAME_DRAKE, FIERY_IFRIT, IKEDIT);
+ addKillId(GUARDIAN_OF_FOBIDDEN_KNOWLEDGE, STONE_WATCHMAN_AZEKIEL, HALISHA_ARCHON, STONE_GUARDIAN_AZRAEL);
+ registerQuestItems(RIFKEN_DISH, ICE_CRYSTAL_FRAGMENT, HALISHA_BADGE);
+ addCondMinLevel(76, "aiken02.htm");
+ addCondClassId(ClassId.PLAINS_WALKER, "aiken03.htm");
+ }
+
+ @Override
+ public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
+ {
+ final QuestState st = getQuestState(player, false);
+ if (st == null)
+ {
+ return null;
+ }
+ String htmltext = event;
+ switch (event)
+ {
+ case "aiken02a.htm":
+ htmltext = "aiken5.htm";
+ break;
+ case "aiken01s.htm":
+ if (st.getCond() == 0)
+ {
+ st.startQuest();
+ st.setCond(1);
+ }
+ break;
+ case "jer2.htm":
+ if (st.getCond() == 1)
+ {
+ st.setCond(2);
+ }
+ break;
+ case "rifken2.htm":
+ if (st.getCond() == 2)
+ {
+ st.setCond(3);
+ }
+ break;
+ case "rifken4.htm":
+ if (st.getCond() == 4)
+ {
+ st.setCond(5);
+ }
+ takeItems(player, ICE_CRYSTAL_FRAGMENT, -1);
+ giveItems(player, RIFKEN_DISH, 1);
+ break;
+ case "jer4.htm":
+ if (st.getCond() == 5)
+ {
+ st.setCond(6);
+ }
+ giveItems(player, AMULET_REZONANSA_PERVIY, 1);
+ takeItems(player, RIFKEN_DISH, -1);
+ break;
+ case "stone12.htm":
+ if (st.getCond() == 6)
+ {
+ st.setCond(7);
+ }
+ break;
+ case "stone22.htm":
+ if (st.getCond() == 8)
+ {
+ addSpawn(STONE_WATCHMAN_AZEKIEL, npc, true, 0, true);
+ st.setCond(9);
+ }
+ break;
+ case "stone25.htm":
+ if (st.getCond() == 10)
+ {
+ st.setCond(11);
+ }
+ break;
+ case "jer6.htm":
+ if (st.getCond() == 11)
+ {
+ st.setCond(12);
+ }
+ break;
+ case "stone32.htm":
+ if (st.getCond() == 14)
+ {
+ st.setCond(15);
+ }
+ break;
+ case "stone41.htm":
+ if (st.getCond() == 15)
+ {
+ st.setCond(16);
+ }
+ addSpawn(STONE_GUARDIAN_AZRAEL, npc, true, 0, true);
+ break;
+ case "erikrams2.htm":
+ if (st.getCond() == 16)
+ {
+ st.setCond(17);
+ }
+ giveItems(player, AMULET_REZONANSA_CHETVERTIY, 1);
+ break;
+ case "stone43.htm":
+ if (st.getCond() == 17)
+ {
+ st.setCond(18);
+ }
+ break;
+ case "aiken7.htm":
+ if (st.getCond() == 18)
+ {
+ if ((player.getLevel() < 76) && (player.getBaseClass() != 23))
+ {
+ htmltext = "30849-nolvl.htm";
+ }
+ addExpAndSp(player, 3100000, 103000);
+ rewardItems(player, BOOKPEGASUS, 1);
+ takeItems(player, AMULET_REZONANSA_PERVIY, -1);
+ takeItems(player, AMULET_REZONANSA_VTOROI, -1);
+ takeItems(player, AMULET_REZONANSA_TRETIY, -1);
+ takeItems(player, AMULET_REZONANSA_CHETVERTIY, -1);
+ takeItems(player, HALISHA_BADGE, -1);
+ st.exitQuest(false, true);
+ player.setClassId(101);
+ player.setBaseClass(101);
+ player.broadcastUserInfo();
+ npc.broadcastPacket(new MagicSkillUse(npc, player, 5103, 1, 1000, 0));
+ }
+ break;
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onTalk(L2Npc npc, L2PcInstance talker)
+ {
+ final QuestState qs = getQuestState(talker, true);
+ String htmltext = getNoQuestMsg(talker);
+
+ switch (qs.getState())
+ {
+ case State.CREATED:
+ {
+ if (npc.getId() == BLACK_CAT)
+ {
+ htmltext = "aiken01.htm";
+ }
+ break;
+ }
+ case State.STARTED:
+ {
+ if (npc.getId() == BLACK_CAT)
+ {
+ if (qs.getCond() == 1)
+ {
+ htmltext = "aiken01s.htm";
+ }
+ if (qs.getCond() == 18)
+ {
+ htmltext = "aiken6.htm";
+ }
+
+ }
+ if (npc.getId() == LORENZO)
+ {
+ if (qs.getCond() == 1)
+ {
+ htmltext = "jer1.htm";
+ }
+ if (qs.getCond() == 2)
+ {
+ htmltext = "jer2.htm";
+ }
+ if (qs.getCond() == 5)
+ {
+ htmltext = "jer3.htm";
+ }
+ if (qs.getCond() == 6)
+ {
+ htmltext = "jer4.htm";
+ }
+ }
+ if (npc.getId() == HERMIT)
+ {
+ if (qs.getCond() == 11)
+ {
+ htmltext = "jer5.htm";
+ }
+ if (qs.getCond() == 12)
+ {
+ htmltext = "jer6.htm";
+ }
+ }
+ if (npc.getId() == RIFKEN)
+ {
+ if (qs.getCond() == 2)
+ {
+ htmltext = "rifken1.htm";
+ }
+ if (qs.getCond() == 3)
+ {
+ htmltext = "rifken2.htm";
+ }
+ if (qs.getCond() == 4)
+ {
+ htmltext = "rifken3.htm";
+ }
+ }
+ if (npc.getId() == TABLET_OF_VISION_1)
+ {
+ if (qs.getCond() == 6)
+ {
+ htmltext = "stone11.htm";
+ }
+ if (qs.getCond() == 7)
+ {
+ htmltext = "stone12.htm";
+ }
+ }
+ if (npc.getId() == TABLET_OF_VISION_2)
+ {
+ if (qs.getCond() == 8)
+ {
+ htmltext = "stone21.htm";
+ }
+ if (qs.getCond() == 9)
+ {
+ htmltext = "stone23.htm";
+ }
+ if (qs.getCond() == 10)
+ {
+ htmltext = "stone24.htm";
+ }
+ if (qs.getCond() == 11)
+ {
+ htmltext = "stone25.htm";
+ }
+ }
+ if (npc.getId() == TABLET_OF_VISION_3)
+ {
+ if (qs.getCond() == 14)
+ {
+ htmltext = "stone31.htm";
+ }
+ if (qs.getCond() == 15)
+ {
+ htmltext = "stone32.htm";
+ }
+ }
+ if (npc.getId() == TABLET_OF_VISION_4)
+ {
+ if (qs.getCond() == 15)
+ {
+ htmltext = "stone40.htm";
+ }
+ if (qs.getCond() == 17)
+ {
+ htmltext = "stone42.htm";
+ }
+ if (qs.getCond() == 18)
+ {
+ htmltext = "stone43.htm";
+ }
+
+ }
+ if (npc.getId() == WANDERER_STARIS)
+ {
+ if (qs.getCond() == 16)
+ {
+ htmltext = "erikrams1.htm";
+ }
+ if (qs.getCond() == 17)
+ {
+ htmltext = "erikrams2.htm";
+ }
+ }
+ break;
+ }
+ case State.COMPLETED:
+ {
+ htmltext = getAlreadyCompletedMsg(talker);
+ break;
+ }
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
+ {
+ final QuestState qs = getQuestState(killer, false);
+ if ((qs != null) && qs.isStarted() && Util.checkIfInRange(1500, npc, killer, true))
+ {
+ switch (npc.getId())
+ {
+ case ICE_MONSTER:
+ case SPIRIT_OF_A_DROWNED:
+ case SOUL_OF_COLD:
+ case FIEND_OF_COLD:
+ case GHOST_OF_SOLITUDE:
+ case SPIRIT_OF_COLD:
+ if (qs.getCond() == 3)
+ {
+ if (getQuestItemsCount(killer, ICE_CRYSTAL_FRAGMENT) < 50)
+ {
+ giveItemRandomly(killer, npc, ICE_CRYSTAL_FRAGMENT, 1, 50, 50, true);
+ }
+ if (getQuestItemsCount(killer, ICE_CRYSTAL_FRAGMENT) >= 50)
+ {
+ qs.setCond(4);
+ }
+ }
+ break;
+ case STONE_WATCHMAN_AZEKIEL:
+ if (qs.getCond() == 9)
+ {
+ qs.setCond(10);
+ }
+ break;
+ case SPAMPLAND_WATCHMAN:
+ case FLAME_DRAKE:
+ case FIERY_IFRIT:
+ case IKEDIT:
+ if (qs.getCond() == 12)
+ {
+ if (getQuestItemsCount(killer, HALISHA_BADGE) < 701)
+ {
+ giveItemRandomly(killer, npc, HALISHA_BADGE, 1, 701, 50, true);
+ if (getQuestItemsCount(killer, HALISHA_BADGE) >= 701)
+ {
+ addSpawn(HALISHA_ARCHON, npc, true, 0, true);
+ qs.setCond(13);
+ }
+ }
+ }
+ break;
+ case HALISHA_ARCHON:
+ if (qs.getCond() == 13)
+ {
+ if (!hasQuestItems(killer, AMULET_REZONANSA_TRETIY))
+ {
+ giveItemRandomly(killer, npc, AMULET_REZONANSA_TRETIY, 1, 1, 50, true);
+ }
+ qs.setCond(14);
+ }
+ break;
+ case STONE_GUARDIAN_AZRAEL:
+ if (qs.getCond() == 16)
+ {
+ addSpawn(WANDERER_STARIS, npc, true, 20000, true);
+ }
+ break;
+ }
+
+ if (qs.isCond(7))
+ {
+ int count = qs.getInt(KILL_COUNT_VAR);
+ if (npc.getId() == GUARDIAN_OF_FOBIDDEN_KNOWLEDGE)
+ {
+ if (count < 20)
+ {
+ qs.set(KILL_COUNT_VAR, ++count);
+ sendNpcLogList(killer);
+ }
+ }
+ if (count >= 20)
+ {
+ qs.setCond(8, true);
+ giveItems(killer, AMULET_REZONANSA_VTOROI, 1);
+ }
+ }
+ }
+ return super.onKill(npc, killer, isSummon);
+ }
+
+ @Override
+ public Set getNpcLogList(L2PcInstance player)
+ {
+ final QuestState qs = getQuestState(player, false);
+ if ((qs != null) && qs.isCond(7))
+ {
+ final Set holder = new HashSet<>(1);
+
+ // guardian of forbidden knowledge
+ final int guardiancount = qs.getInt(KILL_COUNT_VAR);
+ if (guardiancount > 0)
+ {
+ holder.add(new NpcLogListHolder(GUARDIAN_OF_FOBIDDEN_KNOWLEDGE, false, guardiancount));
+ }
+ return holder;
+ }
+ return super.getNpcLogList(player);
+ }
+}
\ No newline at end of file
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00080_SagaOfTheWindRider/aiken01.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00080_SagaOfTheWindRider/aiken01.htm
new file mode 100644
index 0000000000..5241e76349
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00080_SagaOfTheWindRider/aiken01.htm
@@ -0,0 +1,6 @@
+
+Black cat:
+
+Do you want to become a Wind Rider ?.
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00080_SagaOfTheWindRider/aiken01s.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00080_SagaOfTheWindRider/aiken01s.htm
new file mode 100644
index 0000000000..41c5be169c
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00080_SagaOfTheWindRider/aiken01s.htm
@@ -0,0 +1,5 @@
+
+Black cat:
+
+According to the Black Cat, in order to acquire the Forbidden Force, you must first meet with the Merchant of the Magical Books of Lorenzo in Aden.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00080_SagaOfTheWindRider/aiken02.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00080_SagaOfTheWindRider/aiken02.htm
new file mode 100644
index 0000000000..ee2d06f073
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00080_SagaOfTheWindRider/aiken02.htm
@@ -0,0 +1,7 @@
+
+Black cat:
+
+My young friend, you do not have enough experience to become a Wind Rider. I see your passion and I hope that you will keep it in your heart, but it is not enough - only through the experience of battle you can acquire the power that will allow you not to deviate from your faith in the era of untruth.
+Come back when you are a little older and wiser. When you are ready, I will give you an assignment to check if you are ready to become a Wind Walker.
+(Quest for characters whose level is 76 or higher.)
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00080_SagaOfTheWindRider/aiken02a.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00080_SagaOfTheWindRider/aiken02a.htm
new file mode 100644
index 0000000000..cd6ec7a7cf
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00080_SagaOfTheWindRider/aiken02a.htm
@@ -0,0 +1,7 @@
+
+Black cat:
+
+Have not you already won the title of Wind Rider?
+ My brother, you do not have to go through the test of the squire again.
+ Your duty is to fight for your faith and the glory of the lord.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00080_SagaOfTheWindRider/aiken03.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00080_SagaOfTheWindRider/aiken03.htm
new file mode 100644
index 0000000000..c1e813a0f4
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00080_SagaOfTheWindRider/aiken03.htm
@@ -0,0 +1,6 @@
+
+Black cat:
+
+Apparently, you have already chosen your path.
+You do not need to do the Wind Rider.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00080_SagaOfTheWindRider/aiken5.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00080_SagaOfTheWindRider/aiken5.htm
new file mode 100644
index 0000000000..b53088c851
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00080_SagaOfTheWindRider/aiken5.htm
@@ -0,0 +1,9 @@
+
+Black cat:
+
+Do you want to become a Wind Rider?
+ Well, then you must pass Saga of Wind Rider,
+ To prove that you are not just a reckless, quick-tempered warrior, but
+ A warrior with the soul of a true virtuoso. This is a form of ritual and the process of training,
+ Which all those who wish to become a Wind Rider should perform.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00080_SagaOfTheWindRider/aiken6.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00080_SagaOfTheWindRider/aiken6.htm
new file mode 100644
index 0000000000..807ba8175f
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00080_SagaOfTheWindRider/aiken6.htm
@@ -0,0 +1,6 @@
+
+Black cat:
+
+Congratulations! You have passed all the tests and are ready to receive the profession of the Wind Rider !!!
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00080_SagaOfTheWindRider/aiken7.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00080_SagaOfTheWindRider/aiken7.htm
new file mode 100644
index 0000000000..20a3eb5389
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00080_SagaOfTheWindRider/aiken7.htm
@@ -0,0 +1,5 @@
+
+Black cat:
+
+Congratulations! You have received the profession of the Wind Rider !!!
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00080_SagaOfTheWindRider/erikrams1.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00080_SagaOfTheWindRider/erikrams1.htm
new file mode 100644
index 0000000000..28e3862b68
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00080_SagaOfTheWindRider/erikrams1.htm
@@ -0,0 +1,7 @@
+
+Eternal Wanderer:
+
+Thank you! You helped avenge me, I will give you the fourth amulet
+
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00080_SagaOfTheWindRider/erikrams2.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00080_SagaOfTheWindRider/erikrams2.htm
new file mode 100644
index 0000000000..a52ee782f9
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00080_SagaOfTheWindRider/erikrams2.htm
@@ -0,0 +1,5 @@
+
+Eternal Wanderer:
+
+Now activate the last stone
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00080_SagaOfTheWindRider/jer1.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00080_SagaOfTheWindRider/jer1.htm
new file mode 100644
index 0000000000..3f295bf975
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00080_SagaOfTheWindRider/jer1.htm
@@ -0,0 +1,6 @@
+
+Lorenzo:
+
+The Lorenzo Magazine Trader wants to try Rifken's dish in exchange for information. Gourmet Rifken is located in Aden.
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00080_SagaOfTheWindRider/jer2.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00080_SagaOfTheWindRider/jer2.htm
new file mode 100644
index 0000000000..4040ba53f2
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00080_SagaOfTheWindRider/jer2.htm
@@ -0,0 +1,5 @@
+
+Lorenzo:
+
+The Lorenzo Magazine Trader wants to try Rifken's dish in exchange for information. Gourmet Rifken is located in Aden.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00080_SagaOfTheWindRider/jer3.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00080_SagaOfTheWindRider/jer3.htm
new file mode 100644
index 0000000000..f487a8806d
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00080_SagaOfTheWindRider/jer3.htm
@@ -0,0 +1,6 @@
+
+Lorenzo:
+
+Did you bring the Dish?
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00080_SagaOfTheWindRider/jer4.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00080_SagaOfTheWindRider/jer4.htm
new file mode 100644
index 0000000000..e8a8a3dfdf
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00080_SagaOfTheWindRider/jer4.htm
@@ -0,0 +1,5 @@
+
+Lorenzo:
+
+You have received the Resonance Amulet. Activate the Stone of Knowledge to the south of the Tower of Insolence.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00080_SagaOfTheWindRider/jer5.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00080_SagaOfTheWindRider/jer5.htm
new file mode 100644
index 0000000000..be680e36be
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00080_SagaOfTheWindRider/jer5.htm
@@ -0,0 +1,6 @@
+
+Hermit
+
+Have you come for the third Amulet of Resonance?
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00080_SagaOfTheWindRider/jer6.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00080_SagaOfTheWindRider/jer6.htm
new file mode 100644
index 0000000000..f3c3a3284b
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00080_SagaOfTheWindRider/jer6.htm
@@ -0,0 +1,5 @@
+
+Hermit:
+
+The hermit says that the third Amulet of Resonance is in Archon Halisha. To summon him, you need to destroy his minions in the Molten Tops and collect the Halisha Signs. Destroy these monsters and call Archon Halisha. The aim of the hunt is the Ranger of the Swamp, Burning Drake, Flamey Ifrit, Ikedith
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00080_SagaOfTheWindRider/rifken1.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00080_SagaOfTheWindRider/rifken1.htm
new file mode 100644
index 0000000000..80ced85f4d
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00080_SagaOfTheWindRider/rifken1.htm
@@ -0,0 +1,6 @@
+
+Rifken:
+
+Gourmet Rifken needed to prepare the Dishes Fragments of the Crystal of Cold.They can be obtained by destroying monsters to the southeast of Aden
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00080_SagaOfTheWindRider/rifken2.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00080_SagaOfTheWindRider/rifken2.htm
new file mode 100644
index 0000000000..1ff22969c8
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00080_SagaOfTheWindRider/rifken2.htm
@@ -0,0 +1,5 @@
+
+Rifken:
+
+Obtain Fragments of the Crystal of Cold.These pieces can be obtained by destroying monsters to the southeast of Aden.The aim of the hunt is the Ice Monster, the Spirit of the Drowned One, the Soul of Cold, the Phantom of Solitude, the Cold Beast, the Spirit of Cold.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00080_SagaOfTheWindRider/rifken3.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00080_SagaOfTheWindRider/rifken3.htm
new file mode 100644
index 0000000000..4f279fafaf
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00080_SagaOfTheWindRider/rifken3.htm
@@ -0,0 +1,6 @@
+
+Rifken:
+
+Did you get all the ingredients?
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00080_SagaOfTheWindRider/rifken4.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00080_SagaOfTheWindRider/rifken4.htm
new file mode 100644
index 0000000000..d0ba5cb16b
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00080_SagaOfTheWindRider/rifken4.htm
@@ -0,0 +1,5 @@
+
+Rifken:
+
+Gourmet Rifken asks to hand over the dish to the Lorenzo Magical Books Trader.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00080_SagaOfTheWindRider/stone11.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00080_SagaOfTheWindRider/stone11.htm
new file mode 100644
index 0000000000..7a58fc21e0
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00080_SagaOfTheWindRider/stone11.htm
@@ -0,0 +1,5 @@
+
+Stone of knowledge:
+You slash like a stone starts to vibrate
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00080_SagaOfTheWindRider/stone12.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00080_SagaOfTheWindRider/stone12.htm
new file mode 100644
index 0000000000..43fbf4faea
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00080_SagaOfTheWindRider/stone12.htm
@@ -0,0 +1,4 @@
+
+Stone of knowledge:
+You brought the amulet and the inscription appeared on the stone - The second Amulet of Resonance is in the Keepers of Forbidden Knowledge next to the second Stone of Knowledge.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00080_SagaOfTheWindRider/stone21.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00080_SagaOfTheWindRider/stone21.htm
new file mode 100644
index 0000000000..9d89f4aeff
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00080_SagaOfTheWindRider/stone21.htm
@@ -0,0 +1,5 @@
+
+Stone of knowledge:
+You slash like a stone starts to vibrate
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00080_SagaOfTheWindRider/stone22.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00080_SagaOfTheWindRider/stone22.htm
new file mode 100644
index 0000000000..314eb9cc40
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00080_SagaOfTheWindRider/stone22.htm
@@ -0,0 +1,4 @@
+
+Stone of knowledge:
+As soon as you have approached the stone, the Earthen Stone Erector has appeared. Obviously, he is trying to stop you. Destroy it.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00080_SagaOfTheWindRider/stone23.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00080_SagaOfTheWindRider/stone23.htm
new file mode 100644
index 0000000000..d323517e9b
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00080_SagaOfTheWindRider/stone23.htm
@@ -0,0 +1,4 @@
+
+Stone of knowledge:
+Now you can go in search of the third stone
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00080_SagaOfTheWindRider/stone24.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00080_SagaOfTheWindRider/stone24.htm
new file mode 100644
index 0000000000..f70270e6f2
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00080_SagaOfTheWindRider/stone24.htm
@@ -0,0 +1,5 @@
+
+Stone of knowledge:
+You slash like a stone starts to vibrate
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00080_SagaOfTheWindRider/stone25.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00080_SagaOfTheWindRider/stone25.htm
new file mode 100644
index 0000000000..2c5696e57e
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00080_SagaOfTheWindRider/stone25.htm
@@ -0,0 +1,4 @@
+
+Stone of knowledge:
+After activating the stone, you learned that the third Amulet of Resonance is in the Hermit in the Valley of Death. Get him the Resonance Amulet.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00080_SagaOfTheWindRider/stone31.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00080_SagaOfTheWindRider/stone31.htm
new file mode 100644
index 0000000000..b0a2648061
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00080_SagaOfTheWindRider/stone31.htm
@@ -0,0 +1,5 @@
+
+Stone of knowledge:
+You slash like a stone starts to vibrate
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00080_SagaOfTheWindRider/stone32.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00080_SagaOfTheWindRider/stone32.htm
new file mode 100644
index 0000000000..2a10d6d59f
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00080_SagaOfTheWindRider/stone32.htm
@@ -0,0 +1,4 @@
+
+Stone of knowledge:
+When the activation of the third Stone of Knowledge ended, he showed the location of the next stone. The fourth Stone of Knowledge is in the area of ​​the Elven Village, and the last Amulet of Resonance is near the stone. Go there.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00080_SagaOfTheWindRider/stone40.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00080_SagaOfTheWindRider/stone40.htm
new file mode 100644
index 0000000000..e14dbb2cbd
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00080_SagaOfTheWindRider/stone40.htm
@@ -0,0 +1,6 @@
+
+You came to the stone and he began to vibrate
+The last amulet is in theStone Guardian Azrael
+Are you ready to fight him?
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00080_SagaOfTheWindRider/stone41.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00080_SagaOfTheWindRider/stone41.htm
new file mode 100644
index 0000000000..68de5867d7
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00080_SagaOfTheWindRider/stone41.htm
@@ -0,0 +1,3 @@
+
+Nearby there was the Guardian of the Stone Azrael
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00080_SagaOfTheWindRider/stone42.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00080_SagaOfTheWindRider/stone42.htm
new file mode 100644
index 0000000000..7ebbf76d49
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00080_SagaOfTheWindRider/stone42.htm
@@ -0,0 +1,5 @@
+
+Stone of knowledge:
+You slash like a stone starts to vibrate
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00080_SagaOfTheWindRider/stone43.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00080_SagaOfTheWindRider/stone43.htm
new file mode 100644
index 0000000000..2c398c8653
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00080_SagaOfTheWindRider/stone43.htm
@@ -0,0 +1,5 @@
+
+Stone of knowledge:
+You successfully activated the last stone
+You have found all the Stones of Knowledge. Return to the Black Cat and tell her about what you have learned.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00081_SagaOfTheGhostHunter/Q00081_SagaOfTheGhostHunter.java b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00081_SagaOfTheGhostHunter/Q00081_SagaOfTheGhostHunter.java
new file mode 100644
index 0000000000..63cff0c936
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00081_SagaOfTheGhostHunter/Q00081_SagaOfTheGhostHunter.java
@@ -0,0 +1,454 @@
+package quests.Q00081_SagaOfTheGhostHunter;
+
+import java.util.HashSet;
+import java.util.Set;
+
+import com.l2jmobius.gameserver.model.actor.L2Npc;
+import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
+import com.l2jmobius.gameserver.model.base.ClassId;
+import com.l2jmobius.gameserver.model.holders.NpcLogListHolder;
+import com.l2jmobius.gameserver.model.quest.Quest;
+import com.l2jmobius.gameserver.model.quest.QuestState;
+import com.l2jmobius.gameserver.model.quest.State;
+import com.l2jmobius.gameserver.network.serverpackets.MagicSkillUse;
+import com.l2jmobius.gameserver.util.Util;
+
+//QuangNguyen
+
+public class Q00081_SagaOfTheGhostHunter extends Quest
+{
+ public final int BLACK_CAT = 31603;
+ public final int GHEST = 30863;
+ public final int RIFKEN = 34268;
+ public final int HERMIT = 31616;
+ public final int TABLET_OF_VISION_1 = 31646;
+ public final int TABLET_OF_VISION_2 = 31647;
+ public final int TABLET_OF_VISION_3 = 31653;
+ public final int TABLET_OF_VISION_4 = 31656;
+ public final int ARIA_FRUSTMASTER = 31617;
+ // mobs
+ public final int ICE_MONSTER = 27316;
+ public final int SPIRIT_OF_A_DROWNED = 27317;
+ public final int SOUL_OF_COLD = 27318;
+ public final int GHOST_OF_SOLITUDE = 27319;
+ public final int FIEND_OF_COLD = 27320;
+ public final int SPIRIT_OF_COLD = 27321;
+ public final int SPAMPLAND_WATCHMAN = 21650;
+ public final int FLAME_DRAKE = 21651;
+ public final int FIERY_IFRIT = 21652;
+ public final int IKEDIT = 21653;
+ public final int GUARDIAN_OF_FOBIDDEN_KNOWLEDGE = 27214;
+ public final int STONE_WATCHMAN_AZEKIEL = 27296;
+ public final int HALISHA_ARCHON = 27219;
+ public final int STONE_GUARDIAN_AZRAEL = 27302;
+ // items
+ public final int ICE_CRYSTAL_FRAGMENT = 49815;
+ public final int HALISHA_BADGE = 7496;
+ public final int AMULET_REZONANSA_PERVIY = 7279;
+ public final int AMULET_REZONANSA_VTOROI = 7310;
+ public final int AMULET_REZONANSA_TRETIY = 7341;
+ public final int AMULET_REZONANSA_CHETVERTIY = 7372;
+ public final int RIFKEN_RECIPE_BOOK = 49840;
+ // reward
+ public final int BOOKSABERTOOTH = 90040;
+ private static final String KILL_COUNT_VAR = "KillCount";
+
+ public Q00081_SagaOfTheGhostHunter()
+ {
+ super(81);
+ addStartNpc(BLACK_CAT);
+ addTalkId(BLACK_CAT, GHEST, RIFKEN, HERMIT, ARIA_FRUSTMASTER, TABLET_OF_VISION_1, TABLET_OF_VISION_2, TABLET_OF_VISION_3, TABLET_OF_VISION_4);
+ addKillId(ICE_MONSTER, SPIRIT_OF_A_DROWNED, SOUL_OF_COLD, GHOST_OF_SOLITUDE, FIEND_OF_COLD);
+ addKillId(SPIRIT_OF_COLD, SPAMPLAND_WATCHMAN, FLAME_DRAKE, FIERY_IFRIT, IKEDIT);
+ addKillId(GUARDIAN_OF_FOBIDDEN_KNOWLEDGE, STONE_WATCHMAN_AZEKIEL, HALISHA_ARCHON, STONE_GUARDIAN_AZRAEL);
+ registerQuestItems(RIFKEN_RECIPE_BOOK, ICE_CRYSTAL_FRAGMENT, HALISHA_BADGE);
+ addCondMinLevel(76, "aiken02.htm");
+ addCondClassId(ClassId.ABYSS_WALKER, "aiken03.htm");
+ }
+
+ @Override
+ public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
+ {
+ final QuestState st = getQuestState(player, false);
+ if (st == null)
+ {
+ return null;
+ }
+ String htmltext = event;
+ switch (event)
+ {
+ case "aiken02a.htm":
+ htmltext = "aiken5.htm";
+ break;
+ case "aiken01s.htm":
+ if (st.getCond() == 0)
+ {
+ st.startQuest();
+ st.setCond(1);
+ }
+ break;
+ case "jer2.htm":
+ if (st.getCond() == 1)
+ {
+ st.setCond(2);
+ }
+ break;
+ case "rifken2.htm":
+ if (st.getCond() == 2)
+ {
+ st.setCond(3);
+ }
+ break;
+ case "rifken4.htm":
+ if (st.getCond() == 4)
+ {
+ st.setCond(5);
+ }
+ takeItems(player, ICE_CRYSTAL_FRAGMENT, -1);
+ giveItems(player, RIFKEN_RECIPE_BOOK, 1);
+ break;
+ case "jer4.htm":
+ if (st.getCond() == 5)
+ {
+ st.setCond(6);
+ }
+ giveItems(player, AMULET_REZONANSA_PERVIY, 1);
+ takeItems(player, RIFKEN_RECIPE_BOOK, -1);
+ break;
+ case "stone12.htm":
+ if (st.getCond() == 6)
+ {
+ st.setCond(7);
+ }
+ break;
+ case "stone22.htm":
+ if (st.getCond() == 8)
+ {
+ addSpawn(STONE_WATCHMAN_AZEKIEL, npc, true, 0, true);
+ st.setCond(9);
+ }
+ break;
+ case "stone25.htm":
+ if (st.getCond() == 10)
+ {
+ st.setCond(11);
+ }
+ break;
+ case "jer6.htm":
+ if (st.getCond() == 11)
+ {
+ st.setCond(12);
+ }
+ break;
+ case "stone32.htm":
+ if (st.getCond() == 14)
+ {
+ st.setCond(15);
+ }
+ break;
+ case "stone41.htm":
+ if (st.getCond() == 15)
+ {
+ st.setCond(16);
+ }
+ addSpawn(STONE_GUARDIAN_AZRAEL, npc, true, 0, true);
+ break;
+ case "erikrams2.htm":
+ if (st.getCond() == 16)
+ {
+ st.setCond(17);
+ }
+ giveItems(player, AMULET_REZONANSA_CHETVERTIY, 1);
+ break;
+ case "stone43.htm":
+ if (st.getCond() == 17)
+ {
+ st.setCond(18);
+ }
+ break;
+ case "aiken7.htm":
+ if (st.getCond() == 18)
+ {
+ if ((player.getLevel() < 76) && (player.getBaseClass() != 36))
+ {
+ htmltext = "30849-nolvl.htm";
+ }
+ addExpAndSp(player, 3100000, 103000);
+ rewardItems(player, BOOKSABERTOOTH, 1);
+ takeItems(player, AMULET_REZONANSA_PERVIY, -1);
+ takeItems(player, AMULET_REZONANSA_VTOROI, -1);
+ takeItems(player, AMULET_REZONANSA_TRETIY, -1);
+ takeItems(player, AMULET_REZONANSA_CHETVERTIY, -1);
+ takeItems(player, HALISHA_BADGE, -1);
+ st.exitQuest(false, true);
+ player.setClassId(108);
+ player.setBaseClass(108);
+ player.broadcastUserInfo();
+ npc.broadcastPacket(new MagicSkillUse(npc, player, 5103, 1, 1000, 0));
+ }
+ break;
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onTalk(L2Npc npc, L2PcInstance talker)
+ {
+ final QuestState qs = getQuestState(talker, true);
+ String htmltext = getNoQuestMsg(talker);
+
+ switch (qs.getState())
+ {
+ case State.CREATED:
+ {
+ if (npc.getId() == BLACK_CAT)
+ {
+ htmltext = "aiken01.htm";
+ }
+ break;
+ }
+ case State.STARTED:
+ {
+ if (npc.getId() == BLACK_CAT)
+ {
+ if (qs.getCond() == 1)
+ {
+ htmltext = "aiken01s.htm";
+ }
+ if (qs.getCond() == 18)
+ {
+ htmltext = "aiken6.htm";
+ }
+
+ }
+ if (npc.getId() == GHEST)
+ {
+ if (qs.getCond() == 1)
+ {
+ htmltext = "jer1.htm";
+ }
+ if (qs.getCond() == 2)
+ {
+ htmltext = "jer2.htm";
+ }
+ if (qs.getCond() == 5)
+ {
+ htmltext = "jer3.htm";
+ }
+ if (qs.getCond() == 6)
+ {
+ htmltext = "jer4.htm";
+ }
+ }
+ if (npc.getId() == HERMIT)
+ {
+ if (qs.getCond() == 11)
+ {
+ htmltext = "jer5.htm";
+ }
+ if (qs.getCond() == 12)
+ {
+ htmltext = "jer6.htm";
+ }
+ }
+ if (npc.getId() == RIFKEN)
+ {
+ if (qs.getCond() == 2)
+ {
+ htmltext = "rifken1.htm";
+ }
+ if (qs.getCond() == 3)
+ {
+ htmltext = "rifken2.htm";
+ }
+ if (qs.getCond() == 4)
+ {
+ htmltext = "rifken3.htm";
+ }
+ }
+ if (npc.getId() == TABLET_OF_VISION_1)
+ {
+ if (qs.getCond() == 6)
+ {
+ htmltext = "stone11.htm";
+ }
+ if (qs.getCond() == 7)
+ {
+ htmltext = "stone12.htm";
+ }
+ }
+ if (npc.getId() == TABLET_OF_VISION_2)
+ {
+ if (qs.getCond() == 8)
+ {
+ htmltext = "stone21.htm";
+ }
+ if (qs.getCond() == 9)
+ {
+ htmltext = "stone23.htm";
+ }
+ if (qs.getCond() == 10)
+ {
+ htmltext = "stone24.htm";
+ }
+ if (qs.getCond() == 11)
+ {
+ htmltext = "stone25.htm";
+ }
+ }
+ if (npc.getId() == TABLET_OF_VISION_3)
+ {
+ if (qs.getCond() == 14)
+ {
+ htmltext = "stone31.htm";
+ }
+ if (qs.getCond() == 15)
+ {
+ htmltext = "stone32.htm";
+ }
+ }
+ if (npc.getId() == TABLET_OF_VISION_4)
+ {
+ if (qs.getCond() == 15)
+ {
+ htmltext = "stone40.htm";
+ }
+ if (qs.getCond() == 17)
+ {
+ htmltext = "stone42.htm";
+ }
+ if (qs.getCond() == 18)
+ {
+ htmltext = "stone43.htm";
+ }
+
+ }
+ if (npc.getId() == ARIA_FRUSTMASTER)
+ {
+ if (qs.getCond() == 16)
+ {
+ htmltext = "erikrams1.htm";
+ }
+ if (qs.getCond() == 17)
+ {
+ htmltext = "erikrams2.htm";
+ }
+ }
+ break;
+ }
+ case State.COMPLETED:
+ {
+ htmltext = getAlreadyCompletedMsg(talker);
+ break;
+ }
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
+ {
+ final QuestState qs = getQuestState(killer, false);
+ if ((qs != null) && qs.isStarted() && Util.checkIfInRange(1500, npc, killer, true))
+ {
+ switch (npc.getId())
+ {
+ case ICE_MONSTER:
+ case SPIRIT_OF_A_DROWNED:
+ case SOUL_OF_COLD:
+ case FIEND_OF_COLD:
+ case GHOST_OF_SOLITUDE:
+ case SPIRIT_OF_COLD:
+ if (qs.getCond() == 3)
+ {
+ if (getQuestItemsCount(killer, ICE_CRYSTAL_FRAGMENT) < 50)
+ {
+ giveItemRandomly(killer, npc, ICE_CRYSTAL_FRAGMENT, 1, 50, 50, true);
+ }
+ if (getQuestItemsCount(killer, ICE_CRYSTAL_FRAGMENT) >= 50)
+ {
+ qs.setCond(4);
+ }
+ }
+ break;
+ case STONE_WATCHMAN_AZEKIEL:
+ if (qs.getCond() == 9)
+ {
+ qs.setCond(10);
+ }
+ break;
+ case SPAMPLAND_WATCHMAN:
+ case FLAME_DRAKE:
+ case FIERY_IFRIT:
+ case IKEDIT:
+ if (qs.getCond() == 12)
+ {
+ if (getQuestItemsCount(killer, HALISHA_BADGE) < 701)
+ {
+ giveItemRandomly(killer, npc, HALISHA_BADGE, 1, 701, 50, true);
+ if (getQuestItemsCount(killer, HALISHA_BADGE) >= 701)
+ {
+ addSpawn(HALISHA_ARCHON, npc, true, 0, true);
+ qs.setCond(13);
+ }
+ }
+ }
+ break;
+ case HALISHA_ARCHON:
+ if (qs.getCond() == 13)
+ {
+ if (!hasQuestItems(killer, AMULET_REZONANSA_TRETIY))
+ {
+ giveItemRandomly(killer, npc, AMULET_REZONANSA_TRETIY, 1, 1, 50, true);
+ }
+ qs.setCond(14);
+ }
+ break;
+ case STONE_GUARDIAN_AZRAEL:
+ if (qs.getCond() == 16)
+ {
+ addSpawn(ARIA_FRUSTMASTER, npc, true, 20000, true);
+ }
+ break;
+ }
+
+ if (qs.isCond(7))
+ {
+ int count = qs.getInt(KILL_COUNT_VAR);
+ if (npc.getId() == GUARDIAN_OF_FOBIDDEN_KNOWLEDGE)
+ {
+ if (count < 20)
+ {
+ qs.set(KILL_COUNT_VAR, ++count);
+ sendNpcLogList(killer);
+ }
+ }
+ if (count >= 20)
+ {
+ qs.setCond(8, true);
+ giveItems(killer, AMULET_REZONANSA_VTOROI, 1);
+ }
+ }
+ }
+ return super.onKill(npc, killer, isSummon);
+ }
+
+ @Override
+ public Set getNpcLogList(L2PcInstance player)
+ {
+ final QuestState qs = getQuestState(player, false);
+ if ((qs != null) && qs.isCond(7))
+ {
+ final Set holder = new HashSet<>(1);
+
+ // guardian of forbidden knowledge
+ final int guardiancount = qs.getInt(KILL_COUNT_VAR);
+ if (guardiancount > 0)
+ {
+ holder.add(new NpcLogListHolder(GUARDIAN_OF_FOBIDDEN_KNOWLEDGE, false, guardiancount));
+ }
+ return holder;
+ }
+ return super.getNpcLogList(player);
+ }
+}
\ No newline at end of file
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00081_SagaOfTheGhostHunter/aiken01.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00081_SagaOfTheGhostHunter/aiken01.htm
new file mode 100644
index 0000000000..58b0af513b
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00081_SagaOfTheGhostHunter/aiken01.htm
@@ -0,0 +1,6 @@
+
+Black Cat:
+
+Do you want to become a Ghost Hunter ?.
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00081_SagaOfTheGhostHunter/aiken01s.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00081_SagaOfTheGhostHunter/aiken01s.htm
new file mode 100644
index 0000000000..0b3309ab8b
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00081_SagaOfTheGhostHunter/aiken01s.htm
@@ -0,0 +1,5 @@
+
+Black Cat:
+
+According to the Black Cat, in order to acquire the Forbidden Force, you must first meet Master Gestom in the Dark Elven Guild of Aden.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00081_SagaOfTheGhostHunter/aiken02.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00081_SagaOfTheGhostHunter/aiken02.htm
new file mode 100644
index 0000000000..b059e0ca9f
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00081_SagaOfTheGhostHunter/aiken02.htm
@@ -0,0 +1,7 @@
+
+Black Cat:
+
+My young friend, you do not have enough experience to become a Ghost Hunter. I see your passion and I hope that you will keep it in your heart, but it is not enough - only through the experience of battle you can acquire the power that will allow you not to deviate from your faith in the era of untruth.
+Come back when you are a little older and wiser. When you are ready, I will give you an assignment to check if you are ready to become a Ghost Hunter.
+(Quest for characters whose level is 76 or higher.)
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00081_SagaOfTheGhostHunter/aiken02a.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00081_SagaOfTheGhostHunter/aiken02a.htm
new file mode 100644
index 0000000000..28593a7082
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00081_SagaOfTheGhostHunter/aiken02a.htm
@@ -0,0 +1,7 @@
+
+Black Cat:
+
+Have not you already won the title of the Ghost Hunter?
+Â My brother, you do not have to go through the test of the squire again.
+Â Your duty is to fight for your faith and the glory of the lord.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00081_SagaOfTheGhostHunter/aiken03.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00081_SagaOfTheGhostHunter/aiken03.htm
new file mode 100644
index 0000000000..4a64da3953
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00081_SagaOfTheGhostHunter/aiken03.htm
@@ -0,0 +1,6 @@
+
+Black Cat:
+
+Apparently, you have already chosen your path.
+You do not need to perform the mission of the Ghost Hunter.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00081_SagaOfTheGhostHunter/aiken5.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00081_SagaOfTheGhostHunter/aiken5.htm
new file mode 100644
index 0000000000..d911244fba
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00081_SagaOfTheGhostHunter/aiken5.htm
@@ -0,0 +1,9 @@
+
+Black Cat:
+
+Do you want to become a Ghost Hunter?
+ Well, then you must pass Saga of Ghost Hunter,
+ To prove that you are not just a reckless, quick-tempered warrior, but
+Â A warrior with the soul of a true virtuoso. This is a form of ritual and the process of training,
+Â Which all those who wish to become a Ghost Hunter must perform.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00081_SagaOfTheGhostHunter/aiken6.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00081_SagaOfTheGhostHunter/aiken6.htm
new file mode 100644
index 0000000000..352ea54cee
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00081_SagaOfTheGhostHunter/aiken6.htm
@@ -0,0 +1,6 @@
+
+Black Cat:
+
+Congratulations! You have passed all the tests and are ready to receive the profession of Ghost Hunter !!!
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00081_SagaOfTheGhostHunter/aiken7.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00081_SagaOfTheGhostHunter/aiken7.htm
new file mode 100644
index 0000000000..65dc2f43a8
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00081_SagaOfTheGhostHunter/aiken7.htm
@@ -0,0 +1,5 @@
+
+Black Cat:
+
+Congratulations! You got the profession of the Ghost Hunter !!!
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00081_SagaOfTheGhostHunter/erikrams1.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00081_SagaOfTheGhostHunter/erikrams1.htm
new file mode 100644
index 0000000000..af7ccbc843
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00081_SagaOfTheGhostHunter/erikrams1.htm
@@ -0,0 +1,7 @@
+
+Aria Festmatter:
+
+Thank you! You helped avenge me, I will give you the fourth amulet
+
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00081_SagaOfTheGhostHunter/erikrams2.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00081_SagaOfTheGhostHunter/erikrams2.htm
new file mode 100644
index 0000000000..d160593a0e
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00081_SagaOfTheGhostHunter/erikrams2.htm
@@ -0,0 +1,5 @@
+
+Aria Festmatter:
+
+Now activate the last stone
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00081_SagaOfTheGhostHunter/jer1.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00081_SagaOfTheGhostHunter/jer1.htm
new file mode 100644
index 0000000000..e606af524a
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00081_SagaOfTheGhostHunter/jer1.htm
@@ -0,0 +1,6 @@
+
+Gest:
+
+Master Guest wants to get a book of recipes Gourmet Rifken.
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00081_SagaOfTheGhostHunter/jer2.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00081_SagaOfTheGhostHunter/jer2.htm
new file mode 100644
index 0000000000..f550bc1ae1
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00081_SagaOfTheGhostHunter/jer2.htm
@@ -0,0 +1,5 @@
+
+Gest:
+
+Go to Aden to the Gourmet Rifken.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00081_SagaOfTheGhostHunter/jer3.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00081_SagaOfTheGhostHunter/jer3.htm
new file mode 100644
index 0000000000..60c775c48b
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00081_SagaOfTheGhostHunter/jer3.htm
@@ -0,0 +1,6 @@
+
+Gest:
+
+Did you bring the Recipe Book?
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00081_SagaOfTheGhostHunter/jer4.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00081_SagaOfTheGhostHunter/jer4.htm
new file mode 100644
index 0000000000..2e397f7ced
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00081_SagaOfTheGhostHunter/jer4.htm
@@ -0,0 +1,5 @@
+
+Gest:
+
+You have received the Resonance Amulet. Activate the Stone of Knowledge to the south of the Tower of Insolence.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00081_SagaOfTheGhostHunter/jer5.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00081_SagaOfTheGhostHunter/jer5.htm
new file mode 100644
index 0000000000..b7c2a0c818
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00081_SagaOfTheGhostHunter/jer5.htm
@@ -0,0 +1,6 @@
+
+Hermit:
+
+Have you come for the third Amulet of Resonance?
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00081_SagaOfTheGhostHunter/jer6.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00081_SagaOfTheGhostHunter/jer6.htm
new file mode 100644
index 0000000000..4328c0afec
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00081_SagaOfTheGhostHunter/jer6.htm
@@ -0,0 +1,5 @@
+
+Hermit:
+
+The hermit says that the third Amulet of Resonance is in Archon Halisha. To summon him, you need to destroy his minions in the Molten Tops and collect the Halisha Signs. Destroy these monsters and call Archon Halisha. The aim of the hunt is the Ranger of the Swamp, Burning Drake, Flame Iphreet, Ikedith
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00081_SagaOfTheGhostHunter/rifken1.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00081_SagaOfTheGhostHunter/rifken1.htm
new file mode 100644
index 0000000000..8bcb740c36
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00081_SagaOfTheGhostHunter/rifken1.htm
@@ -0,0 +1,6 @@
+
+Rifken:
+
+Gourmet Rifken asks to collect Fragments of the Crystal of Cold. They can be obtained by destroying monsters to the southeast of Aden
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00081_SagaOfTheGhostHunter/rifken2.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00081_SagaOfTheGhostHunter/rifken2.htm
new file mode 100644
index 0000000000..9d07fc119a
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00081_SagaOfTheGhostHunter/rifken2.htm
@@ -0,0 +1,5 @@
+
+Rifken:
+
+Obtain Fragments of the Crystal of Cold.These pieces can be obtained by destroying monsters to the southeast of Aden.The aim of the hunt is the Ice Monster, the Spirit of the Drowned One, the Soul of Cold, the Ghost of Solitude, the Cold Beast, the Spirit of Coldness.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00081_SagaOfTheGhostHunter/rifken3.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00081_SagaOfTheGhostHunter/rifken3.htm
new file mode 100644
index 0000000000..d9bc036779
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00081_SagaOfTheGhostHunter/rifken3.htm
@@ -0,0 +1,6 @@
+
+Rifken:
+
+Did you get all the ingredients?
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00081_SagaOfTheGhostHunter/rifken4.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00081_SagaOfTheGhostHunter/rifken4.htm
new file mode 100644
index 0000000000..ed8b61a1f2
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00081_SagaOfTheGhostHunter/rifken4.htm
@@ -0,0 +1,5 @@
+
+Rifken:
+
+You received a book of recipes Gourmet Rifken in exchange for the Fragments of the Crystal of Cold. Take it to Master Gesta.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00081_SagaOfTheGhostHunter/stone11.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00081_SagaOfTheGhostHunter/stone11.htm
new file mode 100644
index 0000000000..deda523c03
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00081_SagaOfTheGhostHunter/stone11.htm
@@ -0,0 +1,5 @@
+
+Stone of knowledge:
+You slash like a stone starts to vibrate
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00081_SagaOfTheGhostHunter/stone12.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00081_SagaOfTheGhostHunter/stone12.htm
new file mode 100644
index 0000000000..43fbf4faea
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00081_SagaOfTheGhostHunter/stone12.htm
@@ -0,0 +1,4 @@
+
+Stone of knowledge:
+You brought the amulet and the inscription appeared on the stone - The second Amulet of Resonance is in the Keepers of Forbidden Knowledge next to the second Stone of Knowledge.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00081_SagaOfTheGhostHunter/stone21.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00081_SagaOfTheGhostHunter/stone21.htm
new file mode 100644
index 0000000000..bbae9670d8
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00081_SagaOfTheGhostHunter/stone21.htm
@@ -0,0 +1,5 @@
+
+Stone of knowledge:
+You slash like a stone starts to vibrate
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00081_SagaOfTheGhostHunter/stone22.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00081_SagaOfTheGhostHunter/stone22.htm
new file mode 100644
index 0000000000..314eb9cc40
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00081_SagaOfTheGhostHunter/stone22.htm
@@ -0,0 +1,4 @@
+
+Stone of knowledge:
+As soon as you have approached the stone, the Earthen Stone Erector has appeared. Obviously, he is trying to stop you. Destroy it.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00081_SagaOfTheGhostHunter/stone23.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00081_SagaOfTheGhostHunter/stone23.htm
new file mode 100644
index 0000000000..d323517e9b
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00081_SagaOfTheGhostHunter/stone23.htm
@@ -0,0 +1,4 @@
+
+Stone of knowledge:
+Now you can go in search of the third stone
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00081_SagaOfTheGhostHunter/stone24.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00081_SagaOfTheGhostHunter/stone24.htm
new file mode 100644
index 0000000000..5ba979d2f4
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00081_SagaOfTheGhostHunter/stone24.htm
@@ -0,0 +1,5 @@
+
+Stone of knowledge:
+You slash like a stone starts to vibrate
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00081_SagaOfTheGhostHunter/stone25.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00081_SagaOfTheGhostHunter/stone25.htm
new file mode 100644
index 0000000000..2c5696e57e
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00081_SagaOfTheGhostHunter/stone25.htm
@@ -0,0 +1,4 @@
+
+Stone of knowledge:
+After activating the stone, you learned that the third Amulet of Resonance is in the Hermit in the Valley of Death. Get him the Resonance Amulet.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00081_SagaOfTheGhostHunter/stone31.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00081_SagaOfTheGhostHunter/stone31.htm
new file mode 100644
index 0000000000..e9d8e40a12
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00081_SagaOfTheGhostHunter/stone31.htm
@@ -0,0 +1,5 @@
+
+Stone of knowledge:
+You slash like a stone starts to vibrate
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00081_SagaOfTheGhostHunter/stone32.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00081_SagaOfTheGhostHunter/stone32.htm
new file mode 100644
index 0000000000..55b4dac06c
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00081_SagaOfTheGhostHunter/stone32.htm
@@ -0,0 +1,4 @@
+
+Stone of knowledge:
+When the activation of the third Stone of Knowledge ended, he showed the location of the next stone. The fourth Stone of Knowledge is in the area of the Village of Dark Elves, and the last Amulet of Resonance is near the stone. Go there.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00081_SagaOfTheGhostHunter/stone40.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00081_SagaOfTheGhostHunter/stone40.htm
new file mode 100644
index 0000000000..71deb138d4
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00081_SagaOfTheGhostHunter/stone40.htm
@@ -0,0 +1,7 @@
+
+You came to the stone and he began to vibrate
+
+The last amulet is in the Azrael Stone Keeper
+Are you ready to fight him?
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00081_SagaOfTheGhostHunter/stone41.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00081_SagaOfTheGhostHunter/stone41.htm
new file mode 100644
index 0000000000..68de5867d7
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00081_SagaOfTheGhostHunter/stone41.htm
@@ -0,0 +1,3 @@
+
+Nearby there was the Guardian of the Stone Azrael
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00081_SagaOfTheGhostHunter/stone42.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00081_SagaOfTheGhostHunter/stone42.htm
new file mode 100644
index 0000000000..ccd706da96
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00081_SagaOfTheGhostHunter/stone42.htm
@@ -0,0 +1,5 @@
+
+Stone of knowledge:
+You slash like a stone starts to vibrate
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00081_SagaOfTheGhostHunter/stone43.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00081_SagaOfTheGhostHunter/stone43.htm
new file mode 100644
index 0000000000..81682b7448
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00081_SagaOfTheGhostHunter/stone43.htm
@@ -0,0 +1,5 @@
+
+Stone of knowledge:
+You successfully activated the last stone
+You have found all the Stones of Knowledge. Return to the Black Cat and tell her about what you have learned.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00082_SagaOfTheSagittarius/Q00082_SagaOfTheSagittarius.java b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00082_SagaOfTheSagittarius/Q00082_SagaOfTheSagittarius.java
new file mode 100644
index 0000000000..dabe3fc0cf
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00082_SagaOfTheSagittarius/Q00082_SagaOfTheSagittarius.java
@@ -0,0 +1,454 @@
+package quests.Q00082_SagaOfTheSagittarius;
+
+import java.util.HashSet;
+import java.util.Set;
+
+import com.l2jmobius.gameserver.model.actor.L2Npc;
+import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
+import com.l2jmobius.gameserver.model.base.ClassId;
+import com.l2jmobius.gameserver.model.holders.NpcLogListHolder;
+import com.l2jmobius.gameserver.model.quest.Quest;
+import com.l2jmobius.gameserver.model.quest.QuestState;
+import com.l2jmobius.gameserver.model.quest.State;
+import com.l2jmobius.gameserver.network.serverpackets.MagicSkillUse;
+import com.l2jmobius.gameserver.util.Util;
+
+//QuangNguyen
+
+public class Q00082_SagaOfTheSagittarius extends Quest
+{
+ public final int BERNARD = 30702;
+ public final int GRIMST = 31604;
+ public final int BROOME = 34270;
+ public final int PILGRIM_OF_DARKNESS = 31641;
+ public final int TABLET_OF_VISION_1 = 31646;
+ public final int TABLET_OF_VISION_2 = 31647;
+ public final int TABLET_OF_VISION_3 = 31653;
+ public final int TABLET_OF_VISION_4 = 31654;
+ public final int WINTER_HUNTER_KADYTH = 31633;
+ // mobs
+ public final int ICE_MONSTER = 27316;
+ public final int SPIRIT_OF_A_DROWNED = 27317;
+ public final int SOUL_OF_COLD = 27318;
+ public final int GHOST_OF_SOLITUDE = 27319;
+ public final int FIEND_OF_COLD = 27320;
+ public final int SPIRIT_OF_COLD = 27321;
+ public final int SPAMPLAND_WATCHMAN = 21650;
+ public final int FLAME_DRAKE = 21651;
+ public final int FIERY_IFRIT = 21652;
+ public final int IKEDIT = 21653;
+ public final int GUARDIAN_OF_FOBIDDEN_KNOWLEDGE = 27214;
+ public final int STONE_WATCHMAN_EZEKIEL = 27296;
+ public final int HALISHA_ARCHON = 27219;
+ public final int STONE_GUARDIAN_AZRAEL = 27302;
+ // items
+ public final int ICE_CRYSTAL_FRAGMENT = 49816;
+ public final int HALISHA_BADGE = 7497;
+ public final int AMULET_REZONANSA_PERVIY = 7280;
+ public final int AMULET_REZONANSA_VTOROI = 7311;
+ public final int AMULET_REZONANSA_TRETIY = 7342;
+ public final int AMULET_REZONANSA_CHETVERTIY = 7373;
+ public final int SUMMER_SLUSHIE = 7519;
+ // reward
+ public final int BOOKGOLDLION = 90038;
+ private static final String KILL_COUNT_VAR = "KillCount";
+
+ public Q00082_SagaOfTheSagittarius()
+ {
+ super(82);
+ addStartNpc(BERNARD);
+ addTalkId(BERNARD, GRIMST, BROOME, PILGRIM_OF_DARKNESS, WINTER_HUNTER_KADYTH, TABLET_OF_VISION_1, TABLET_OF_VISION_2, TABLET_OF_VISION_3, TABLET_OF_VISION_4);
+ addKillId(ICE_MONSTER, SPIRIT_OF_A_DROWNED, SOUL_OF_COLD, GHOST_OF_SOLITUDE, FIEND_OF_COLD);
+ addKillId(SPIRIT_OF_COLD, SPAMPLAND_WATCHMAN, FLAME_DRAKE, FIERY_IFRIT, IKEDIT);
+ addKillId(GUARDIAN_OF_FOBIDDEN_KNOWLEDGE, STONE_WATCHMAN_EZEKIEL, HALISHA_ARCHON, STONE_GUARDIAN_AZRAEL);
+ registerQuestItems(SUMMER_SLUSHIE, ICE_CRYSTAL_FRAGMENT, HALISHA_BADGE);
+ addCondMinLevel(76, "aiken02.htm");
+ addCondClassId(ClassId.HAWKEYE, "aiken03.htm");
+ }
+
+ @Override
+ public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
+ {
+ final QuestState st = getQuestState(player, false);
+ if (st == null)
+ {
+ return null;
+ }
+ String htmltext = event;
+ switch (event)
+ {
+ case "aiken02a.htm":
+ htmltext = "aiken5.htm";
+ break;
+ case "aiken01s.htm":
+ if (st.getCond() == 0)
+ {
+ st.startQuest();
+ st.setCond(1);
+ }
+ break;
+ case "jer2.htm":
+ if (st.getCond() == 1)
+ {
+ st.setCond(2);
+ }
+ break;
+ case "rifken2.htm":
+ if (st.getCond() == 2)
+ {
+ st.setCond(3);
+ }
+ break;
+ case "rifken4.htm":
+ if (st.getCond() == 4)
+ {
+ st.setCond(5);
+ }
+ takeItems(player, ICE_CRYSTAL_FRAGMENT, -1);
+ giveItems(player, SUMMER_SLUSHIE, 1);
+ break;
+ case "jer4.htm":
+ if (st.getCond() == 5)
+ {
+ st.setCond(6);
+ }
+ giveItems(player, AMULET_REZONANSA_PERVIY, 1);
+ takeItems(player, SUMMER_SLUSHIE, -1);
+ break;
+ case "stone12.htm":
+ if (st.getCond() == 6)
+ {
+ st.setCond(7);
+ }
+ break;
+ case "stone22.htm":
+ if (st.getCond() == 8)
+ {
+ addSpawn(STONE_WATCHMAN_EZEKIEL, npc, true, 0, true);
+ st.setCond(9);
+ }
+ break;
+ case "stone25.htm":
+ if (st.getCond() == 10)
+ {
+ st.setCond(11);
+ }
+ break;
+ case "jer6.htm":
+ if (st.getCond() == 11)
+ {
+ st.setCond(12);
+ }
+ break;
+ case "stone32.htm":
+ if (st.getCond() == 14)
+ {
+ st.setCond(15);
+ }
+ break;
+ case "stone41.htm":
+ if (st.getCond() == 15)
+ {
+ st.setCond(16);
+ }
+ addSpawn(STONE_GUARDIAN_AZRAEL, npc, true, 0, true);
+ break;
+ case "erikrams2.htm":
+ if (st.getCond() == 16)
+ {
+ st.setCond(17);
+ }
+ giveItems(player, AMULET_REZONANSA_CHETVERTIY, 1);
+ break;
+ case "stone43.htm":
+ if (st.getCond() == 17)
+ {
+ st.setCond(18);
+ }
+ break;
+ case "aiken7.htm":
+ if (st.getCond() == 18)
+ {
+ if ((player.getLevel() < 76) && (player.getBaseClass() != 9))
+ {
+ htmltext = "30849-nolvl.htm";
+ }
+ addExpAndSp(player, 3100000, 103000);
+ rewardItems(player, BOOKGOLDLION, 1);
+ takeItems(player, AMULET_REZONANSA_PERVIY, -1);
+ takeItems(player, AMULET_REZONANSA_VTOROI, -1);
+ takeItems(player, AMULET_REZONANSA_TRETIY, -1);
+ takeItems(player, AMULET_REZONANSA_CHETVERTIY, -1);
+ takeItems(player, HALISHA_BADGE, -1);
+ st.exitQuest(false, true);
+ player.setClassId(92);
+ player.setBaseClass(92);
+ player.broadcastUserInfo();
+ npc.broadcastPacket(new MagicSkillUse(npc, player, 5103, 1, 1000, 0));
+ }
+ break;
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onTalk(L2Npc npc, L2PcInstance talker)
+ {
+ final QuestState qs = getQuestState(talker, true);
+ String htmltext = getNoQuestMsg(talker);
+
+ switch (qs.getState())
+ {
+ case State.CREATED:
+ {
+ if (npc.getId() == BERNARD)
+ {
+ htmltext = "aiken01.htm";
+ }
+ break;
+ }
+ case State.STARTED:
+ {
+ if (npc.getId() == BERNARD)
+ {
+ if (qs.getCond() == 1)
+ {
+ htmltext = "aiken01s.htm";
+ }
+ if (qs.getCond() == 18)
+ {
+ htmltext = "aiken6.htm";
+ }
+
+ }
+ if (npc.getId() == GRIMST)
+ {
+ if (qs.getCond() == 1)
+ {
+ htmltext = "jer1.htm";
+ }
+ if (qs.getCond() == 2)
+ {
+ htmltext = "jer2.htm";
+ }
+ if (qs.getCond() == 5)
+ {
+ htmltext = "jer3.htm";
+ }
+ if (qs.getCond() == 6)
+ {
+ htmltext = "jer4.htm";
+ }
+ }
+ if (npc.getId() == PILGRIM_OF_DARKNESS)
+ {
+ if (qs.getCond() == 11)
+ {
+ htmltext = "jer5.htm";
+ }
+ if (qs.getCond() == 12)
+ {
+ htmltext = "jer6.htm";
+ }
+ }
+ if (npc.getId() == BROOME)
+ {
+ if (qs.getCond() == 2)
+ {
+ htmltext = "rifken1.htm";
+ }
+ if (qs.getCond() == 3)
+ {
+ htmltext = "rifken2.htm";
+ }
+ if (qs.getCond() == 4)
+ {
+ htmltext = "rifken3.htm";
+ }
+ }
+ if (npc.getId() == TABLET_OF_VISION_1)
+ {
+ if (qs.getCond() == 6)
+ {
+ htmltext = "stone11.htm";
+ }
+ if (qs.getCond() == 7)
+ {
+ htmltext = "stone12.htm";
+ }
+ }
+ if (npc.getId() == TABLET_OF_VISION_2)
+ {
+ if (qs.getCond() == 8)
+ {
+ htmltext = "stone21.htm";
+ }
+ if (qs.getCond() == 9)
+ {
+ htmltext = "stone23.htm";
+ }
+ if (qs.getCond() == 10)
+ {
+ htmltext = "stone24.htm";
+ }
+ if (qs.getCond() == 11)
+ {
+ htmltext = "stone25.htm";
+ }
+ }
+ if (npc.getId() == TABLET_OF_VISION_3)
+ {
+ if (qs.getCond() == 14)
+ {
+ htmltext = "stone31.htm";
+ }
+ if (qs.getCond() == 15)
+ {
+ htmltext = "stone32.htm";
+ }
+ }
+ if (npc.getId() == TABLET_OF_VISION_4)
+ {
+ if (qs.getCond() == 15)
+ {
+ htmltext = "stone40.htm";
+ }
+ if (qs.getCond() == 17)
+ {
+ htmltext = "stone42.htm";
+ }
+ if (qs.getCond() == 18)
+ {
+ htmltext = "stone43.htm";
+ }
+
+ }
+ if (npc.getId() == WINTER_HUNTER_KADYTH)
+ {
+ if (qs.getCond() == 16)
+ {
+ htmltext = "erikrams1.htm";
+ }
+ if (qs.getCond() == 17)
+ {
+ htmltext = "erikrams2.htm";
+ }
+ }
+ break;
+ }
+ case State.COMPLETED:
+ {
+ htmltext = getAlreadyCompletedMsg(talker);
+ break;
+ }
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
+ {
+ final QuestState qs = getQuestState(killer, false);
+ if ((qs != null) && qs.isStarted() && Util.checkIfInRange(1500, npc, killer, true))
+ {
+ switch (npc.getId())
+ {
+ case ICE_MONSTER:
+ case SPIRIT_OF_A_DROWNED:
+ case SOUL_OF_COLD:
+ case FIEND_OF_COLD:
+ case GHOST_OF_SOLITUDE:
+ case SPIRIT_OF_COLD:
+ if (qs.getCond() == 3)
+ {
+ if (getQuestItemsCount(killer, ICE_CRYSTAL_FRAGMENT) < 50)
+ {
+ giveItemRandomly(killer, npc, ICE_CRYSTAL_FRAGMENT, 1, 50, 50, true);
+ }
+ if (getQuestItemsCount(killer, ICE_CRYSTAL_FRAGMENT) >= 50)
+ {
+ qs.setCond(4);
+ }
+ }
+ break;
+ case STONE_WATCHMAN_EZEKIEL:
+ if (qs.getCond() == 9)
+ {
+ qs.setCond(10);
+ }
+ break;
+ case SPAMPLAND_WATCHMAN:
+ case FLAME_DRAKE:
+ case FIERY_IFRIT:
+ case IKEDIT:
+ if (qs.getCond() == 12)
+ {
+ if (getQuestItemsCount(killer, HALISHA_BADGE) < 701)
+ {
+ giveItemRandomly(killer, npc, HALISHA_BADGE, 1, 701, 50, true);
+ if (getQuestItemsCount(killer, HALISHA_BADGE) >= 701)
+ {
+ addSpawn(HALISHA_ARCHON, npc, true, 0, true);
+ qs.setCond(13);
+ }
+ }
+ }
+ break;
+ case HALISHA_ARCHON:
+ if (qs.getCond() == 13)
+ {
+ if (!hasQuestItems(killer, AMULET_REZONANSA_TRETIY))
+ {
+ giveItemRandomly(killer, npc, AMULET_REZONANSA_TRETIY, 1, 1, 50, true);
+ }
+ qs.setCond(14);
+ }
+ break;
+ case STONE_GUARDIAN_AZRAEL:
+ if (qs.getCond() == 16)
+ {
+ addSpawn(WINTER_HUNTER_KADYTH, npc, true, 20000, true);
+ }
+ break;
+ }
+
+ if (qs.isCond(7))
+ {
+ int count = qs.getInt(KILL_COUNT_VAR);
+ if (npc.getId() == GUARDIAN_OF_FOBIDDEN_KNOWLEDGE)
+ {
+ if (count < 20)
+ {
+ qs.set(KILL_COUNT_VAR, ++count);
+ sendNpcLogList(killer);
+ }
+ }
+ if (count >= 20)
+ {
+ qs.setCond(8, true);
+ giveItems(killer, AMULET_REZONANSA_VTOROI, 1);
+ }
+ }
+ }
+ return super.onKill(npc, killer, isSummon);
+ }
+
+ @Override
+ public Set getNpcLogList(L2PcInstance player)
+ {
+ final QuestState qs = getQuestState(player, false);
+ if ((qs != null) && qs.isCond(7))
+ {
+ final Set holder = new HashSet<>(1);
+
+ // guardian of forbidden knowledge
+ final int guardiancount = qs.getInt(KILL_COUNT_VAR);
+ if (guardiancount > 0)
+ {
+ holder.add(new NpcLogListHolder(GUARDIAN_OF_FOBIDDEN_KNOWLEDGE, false, guardiancount));
+ }
+ return holder;
+ }
+ return super.getNpcLogList(player);
+ }
+}
\ No newline at end of file
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00082_SagaOfTheSagittarius/aiken01.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00082_SagaOfTheSagittarius/aiken01.htm
new file mode 100644
index 0000000000..515eae2e5e
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00082_SagaOfTheSagittarius/aiken01.htm
@@ -0,0 +1,5 @@
+
+Bernard:
+Do you want to become a Sagittarius ?.
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00082_SagaOfTheSagittarius/aiken01s.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00082_SagaOfTheSagittarius/aiken01s.htm
new file mode 100644
index 0000000000..cd5c3358be
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00082_SagaOfTheSagittarius/aiken01s.htm
@@ -0,0 +1,4 @@
+
+Bernard:
+Bernard orders you to return the stolen sniper's bow, the symbol of the guild. First you need to talk with Trader Information Grimstom in the Hunters Village.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00082_SagaOfTheSagittarius/aiken02.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00082_SagaOfTheSagittarius/aiken02.htm
new file mode 100644
index 0000000000..abecb02fb6
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00082_SagaOfTheSagittarius/aiken02.htm
@@ -0,0 +1,6 @@
+
+Bernard:
+My young friend, you do not have enough experience to become a Sagittarius. I see your passion and I hope that you will keep it in your heart, but it is not enough - only through the experience of battle you can acquire the power that will allow you not to deviate from your faith in the era of untruth.
+Come back when you are a little older and wiser. When you are ready, I will give you an assignment to check if you are ready to become a Sniper.
+(Quest for characters whose level is 76 or higher.)
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00082_SagaOfTheSagittarius/aiken02a.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00082_SagaOfTheSagittarius/aiken02a.htm
new file mode 100644
index 0000000000..9dd523ad9f
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00082_SagaOfTheSagittarius/aiken02a.htm
@@ -0,0 +1,6 @@
+
+Bernard:
+Have not you already got the title Sagittarius?
+ My brother, you do not have to go through the test of the squire again.
+ Your duty is to fight for your faith and the glory of the lord.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00082_SagaOfTheSagittarius/aiken03.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00082_SagaOfTheSagittarius/aiken03.htm
new file mode 100644
index 0000000000..739894b9ae
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00082_SagaOfTheSagittarius/aiken03.htm
@@ -0,0 +1,5 @@
+
+Bernard:
+Apparently, you have already chosen your path.
+ You do not need to perform the Sagittarius task.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00082_SagaOfTheSagittarius/aiken5.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00082_SagaOfTheSagittarius/aiken5.htm
new file mode 100644
index 0000000000..3612818e60
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00082_SagaOfTheSagittarius/aiken5.htm
@@ -0,0 +1,8 @@
+
+Bernard:
+Do you want to become a Sagittarius?
+ Well, then you must pass Saga of the Sagittarius,
+To prove that you are not just a reckless, quick-tempered warrior, but
+ Warrior with the soul of this Sagittarius. This is a form of ritual and the process of training,
+ Which must be performed by all who wish to become a Sniper.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00082_SagaOfTheSagittarius/aiken6.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00082_SagaOfTheSagittarius/aiken6.htm
new file mode 100644
index 0000000000..4227b155e5
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00082_SagaOfTheSagittarius/aiken6.htm
@@ -0,0 +1,5 @@
+
+Bernard:
+Congratulations! You have passed all the tests and are ready to receive the profession Sagittarius !!!
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00082_SagaOfTheSagittarius/aiken7.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00082_SagaOfTheSagittarius/aiken7.htm
new file mode 100644
index 0000000000..610bab1a0c
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00082_SagaOfTheSagittarius/aiken7.htm
@@ -0,0 +1,5 @@
+
+Bernard:
+Congratulations! You got the Sagittaris profession !!!
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00082_SagaOfTheSagittarius/erikrams1.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00082_SagaOfTheSagittarius/erikrams1.htm
new file mode 100644
index 0000000000..ab858d6470
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00082_SagaOfTheSagittarius/erikrams1.htm
@@ -0,0 +1,7 @@
+
+Winter Hunter Cadet:
+
+Thank you! You helped avenge me, I will give you the fourth amulet
+
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00082_SagaOfTheSagittarius/erikrams2.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00082_SagaOfTheSagittarius/erikrams2.htm
new file mode 100644
index 0000000000..35a26a6ffd
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00082_SagaOfTheSagittarius/erikrams2.htm
@@ -0,0 +1,5 @@
+
+Winter Hunter Cadet
+
+Now activate the last stone
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00082_SagaOfTheSagittarius/jer1.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00082_SagaOfTheSagittarius/jer1.htm
new file mode 100644
index 0000000000..199481496d
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00082_SagaOfTheSagittarius/jer1.htm
@@ -0,0 +1,5 @@
+
+Grimst:
+Merchant Information Grimst in exchange for information about the robber first requires you to find out what Brook Information Broker is looking for and get this merchandise.
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00082_SagaOfTheSagittarius/jer2.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00082_SagaOfTheSagittarius/jer2.htm
new file mode 100644
index 0000000000..b8155a0244
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00082_SagaOfTheSagittarius/jer2.htm
@@ -0,0 +1,4 @@
+
+Grimst:
+Broome Information Broker is in the Blazing Swamp.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00082_SagaOfTheSagittarius/jer3.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00082_SagaOfTheSagittarius/jer3.htm
new file mode 100644
index 0000000000..4ad6d5306b
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00082_SagaOfTheSagittarius/jer3.htm
@@ -0,0 +1,5 @@
+
+Grimst:
+Did you bring the "Information"?
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00082_SagaOfTheSagittarius/jer4.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00082_SagaOfTheSagittarius/jer4.htm
new file mode 100644
index 0000000000..cabfa9afd0
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00082_SagaOfTheSagittarius/jer4.htm
@@ -0,0 +1,4 @@
+
+Grimst:
+You have received the Resonance Amulet. Activate the Stone of Knowledge to the south of the Tower of Insolence.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00082_SagaOfTheSagittarius/jer5.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00082_SagaOfTheSagittarius/jer5.htm
new file mode 100644
index 0000000000..c197d2e505
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00082_SagaOfTheSagittarius/jer5.htm
@@ -0,0 +1,5 @@
+
+The Dark Pilgrim:
+Have you come for the third Amulet of Resonance?
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00082_SagaOfTheSagittarius/jer6.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00082_SagaOfTheSagittarius/jer6.htm
new file mode 100644
index 0000000000..992178db2e
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00082_SagaOfTheSagittarius/jer6.htm
@@ -0,0 +1,4 @@
+
+The Dark Pilgrim:
+The Dark Pilgrim says that the third Amulet of Resonance is in Archon Halisha. To summon him, you must destroy his minions in the Molten Tops and collect the Halisha Signs. Destroy these monsters and call Archon Halisha. The aim of the hunt is the Ranger of the Swamp, Burning Drake, Flamey Ifrit, Ikedith
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00082_SagaOfTheSagittarius/rifken1.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00082_SagaOfTheSagittarius/rifken1.htm
new file mode 100644
index 0000000000..fb90d89305
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00082_SagaOfTheSagittarius/rifken1.htm
@@ -0,0 +1,5 @@
+
+Broome:
+I will share with you the information but I need "Sweet Ice" from 50 Fragments of the Crystal of Cold.
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00082_SagaOfTheSagittarius/rifken2.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00082_SagaOfTheSagittarius/rifken2.htm
new file mode 100644
index 0000000000..d56648491c
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00082_SagaOfTheSagittarius/rifken2.htm
@@ -0,0 +1,4 @@
+
+Broome:
+Broom for making Sweet Ice requires Crystal of Cold Fragments. These pieces can be obtained by destroying monsters to the southeast of Aden.The aim of the hunt is Ice Monster, Spirit of the Drowned One, Soul of Coldness, Phantom of Solitude, Cold Beast, Spirit of Cold.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00082_SagaOfTheSagittarius/rifken3.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00082_SagaOfTheSagittarius/rifken3.htm
new file mode 100644
index 0000000000..b738d35c9e
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00082_SagaOfTheSagittarius/rifken3.htm
@@ -0,0 +1,5 @@
+
+Broome:
+Did you get all the ingredients?
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00082_SagaOfTheSagittarius/rifken4.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00082_SagaOfTheSagittarius/rifken4.htm
new file mode 100644
index 0000000000..a1128857fe
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00082_SagaOfTheSagittarius/rifken4.htm
@@ -0,0 +1,4 @@
+
+Broome:
+Now you have Sweet Ice. Return to the Merchant Information Grimst.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00082_SagaOfTheSagittarius/stone11.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00082_SagaOfTheSagittarius/stone11.htm
new file mode 100644
index 0000000000..298647d2b1
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00082_SagaOfTheSagittarius/stone11.htm
@@ -0,0 +1,5 @@
+
+Stone of knowledge:
+You slash like a stone starts to vibrate
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00082_SagaOfTheSagittarius/stone12.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00082_SagaOfTheSagittarius/stone12.htm
new file mode 100644
index 0000000000..b17dd64241
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00082_SagaOfTheSagittarius/stone12.htm
@@ -0,0 +1,4 @@
+
+Stone of knowledge:
+You brought the amulet and the inscription appeared on the stone - The second Amulet of Resonance is at the Keepers of Forbidden Knowledge next to the second Stone of Knowledge.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00082_SagaOfTheSagittarius/stone21.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00082_SagaOfTheSagittarius/stone21.htm
new file mode 100644
index 0000000000..54fed4d342
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00082_SagaOfTheSagittarius/stone21.htm
@@ -0,0 +1,5 @@
+
+Stone of knowledge:
+You slash like a stone starts to vibrate
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00082_SagaOfTheSagittarius/stone22.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00082_SagaOfTheSagittarius/stone22.htm
new file mode 100644
index 0000000000..178a114109
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00082_SagaOfTheSagittarius/stone22.htm
@@ -0,0 +1,4 @@
+
+Stone of knowledge:
+As soon as you have approached the stone, the Earthen Stone Erector has appeared. Obviously, he is trying to stop you. Destroy it.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00082_SagaOfTheSagittarius/stone23.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00082_SagaOfTheSagittarius/stone23.htm
new file mode 100644
index 0000000000..16e642ed5c
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00082_SagaOfTheSagittarius/stone23.htm
@@ -0,0 +1,4 @@
+
+Stone of knowledge:
+Now you can go to search for the third stone
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00082_SagaOfTheSagittarius/stone24.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00082_SagaOfTheSagittarius/stone24.htm
new file mode 100644
index 0000000000..2fb71f63c6
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00082_SagaOfTheSagittarius/stone24.htm
@@ -0,0 +1,5 @@
+
+Stone of knowledge:
+You slash like a stone starts to vibrate
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00082_SagaOfTheSagittarius/stone25.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00082_SagaOfTheSagittarius/stone25.htm
new file mode 100644
index 0000000000..8d460c76d2
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00082_SagaOfTheSagittarius/stone25.htm
@@ -0,0 +1,4 @@
+
+Stone of knowledge:
+Activating the stone, you learned that the third Amulet of Resonance is at the Dark Pilgrim on the Field of Brani. Get him the Resonance Amulet.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00082_SagaOfTheSagittarius/stone31.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00082_SagaOfTheSagittarius/stone31.htm
new file mode 100644
index 0000000000..00c5ca0130
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00082_SagaOfTheSagittarius/stone31.htm
@@ -0,0 +1,5 @@
+
+Stone of knowledge:
+You slash like a stone starts to vibrate
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00082_SagaOfTheSagittarius/stone32.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00082_SagaOfTheSagittarius/stone32.htm
new file mode 100644
index 0000000000..b77e015b9e
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00082_SagaOfTheSagittarius/stone32.htm
@@ -0,0 +1,4 @@
+
+Stone of knowledge:
+When the activation of the third Stone of Knowledge ended, he showed the location of the next stone. The fourth Stone of Knowledge is on the Speaking Island, and the last Amulet of Resonance is near the stone. Go there.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00082_SagaOfTheSagittarius/stone40.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00082_SagaOfTheSagittarius/stone40.htm
new file mode 100644
index 0000000000..e92f835b8b
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00082_SagaOfTheSagittarius/stone40.htm
@@ -0,0 +1,7 @@
+
+You came to the stone and he began to vibrate
+
+The last amulet is in the Azrael Stone Keeper
+Are you ready to fight him?
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00082_SagaOfTheSagittarius/stone41.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00082_SagaOfTheSagittarius/stone41.htm
new file mode 100644
index 0000000000..68de5867d7
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00082_SagaOfTheSagittarius/stone41.htm
@@ -0,0 +1,3 @@
+
+Nearby there was the Guardian of the Stone Azrael
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00082_SagaOfTheSagittarius/stone42.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00082_SagaOfTheSagittarius/stone42.htm
new file mode 100644
index 0000000000..fe5e61ffb2
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00082_SagaOfTheSagittarius/stone42.htm
@@ -0,0 +1,5 @@
+
+Stone of knowledge:
+You slash like a stone starts to vibrate
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00082_SagaOfTheSagittarius/stone43.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00082_SagaOfTheSagittarius/stone43.htm
new file mode 100644
index 0000000000..4ffecb5ca3
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00082_SagaOfTheSagittarius/stone43.htm
@@ -0,0 +1,5 @@
+
+Stone of knowledge:
+You successfully activated the last stone
+You have found all the Stones of Knowledge. Go back to Bernard and tell him about what you've learned.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00083_SagaOfTheMoonlightSentinel/Q00083_SagaOfTheMoonlightSentinel.java b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00083_SagaOfTheMoonlightSentinel/Q00083_SagaOfTheMoonlightSentinel.java
new file mode 100644
index 0000000000..893dcdd476
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00083_SagaOfTheMoonlightSentinel/Q00083_SagaOfTheMoonlightSentinel.java
@@ -0,0 +1,454 @@
+package quests.Q00083_SagaOfTheMoonlightSentinel;
+
+import java.util.HashSet;
+import java.util.Set;
+
+import com.l2jmobius.gameserver.model.actor.L2Npc;
+import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
+import com.l2jmobius.gameserver.model.base.ClassId;
+import com.l2jmobius.gameserver.model.holders.NpcLogListHolder;
+import com.l2jmobius.gameserver.model.quest.Quest;
+import com.l2jmobius.gameserver.model.quest.QuestState;
+import com.l2jmobius.gameserver.model.quest.State;
+import com.l2jmobius.gameserver.network.serverpackets.MagicSkillUse;
+import com.l2jmobius.gameserver.util.Util;
+
+//QuangNguyen
+
+public class Q00083_SagaOfTheMoonlightSentinel extends Quest
+{
+ public final int BERNARD = 30702;
+ public final int GRIMST = 31604;
+ public final int BROOME = 34270;
+ public final int PILGRIM_OF_DARKNESS = 31641;
+ public final int TABLET_OF_VISION_1 = 31646;
+ public final int TABLET_OF_VISION_2 = 31647;
+ public final int TABLET_OF_VISION_3 = 31653;
+ public final int TABLET_OF_VISION_4 = 31655;
+ public final int WINTER_HUNTER_KADYTH = 31633;
+ // mobs
+ public final int ICE_MONSTER = 27316;
+ public final int SPIRIT_OF_A_DROWNED = 27317;
+ public final int SOUL_OF_COLD = 27318;
+ public final int GHOST_OF_SOLITUDE = 27319;
+ public final int FIEND_OF_COLD = 27320;
+ public final int SPIRIT_OF_COLD = 27321;
+ public final int SPAMPLAND_WATCHMAN = 21650;
+ public final int FLAME_DRAKE = 21651;
+ public final int FIERY_IFRIT = 21652;
+ public final int IKEDIT = 21653;
+ public final int GUARDIAN_OF_FOBIDDEN_KNOWLEDGE = 27214;
+ public final int STONE_WATCHMAN_AZEKIEL = 27296;
+ public final int HALISHA_ARCHON = 27219;
+ public final int STONE_GUARDIAN_AZRAEL = 27302;
+ // items
+ public final int ICE_CRYSTAL_FRAGMENT = 49817;
+ public final int HALISHA_BADGE = 7498;
+ public final int AMULET_REZONANSA_PERVIY = 7281;
+ public final int AMULET_REZONANSA_VTOROI = 7312;
+ public final int AMULET_REZONANSA_TRETIY = 7343;
+ public final int AMULET_REZONANSA_CHETVERTIY = 7374;
+ public final int ICE_CREAM = 7520;
+ // reward
+ public final int BOOKPEGASUS = 90039;
+ private static final String KILL_COUNT_VAR = "KillCount";
+
+ public Q00083_SagaOfTheMoonlightSentinel()
+ {
+ super(83);
+ addStartNpc(BERNARD);
+ addTalkId(BERNARD, GRIMST, BROOME, PILGRIM_OF_DARKNESS, WINTER_HUNTER_KADYTH, TABLET_OF_VISION_1, TABLET_OF_VISION_2, TABLET_OF_VISION_3, TABLET_OF_VISION_4);
+ addKillId(ICE_MONSTER, SPIRIT_OF_A_DROWNED, SOUL_OF_COLD, GHOST_OF_SOLITUDE, FIEND_OF_COLD);
+ addKillId(SPIRIT_OF_COLD, SPAMPLAND_WATCHMAN, FLAME_DRAKE, FIERY_IFRIT, IKEDIT);
+ addKillId(GUARDIAN_OF_FOBIDDEN_KNOWLEDGE, STONE_WATCHMAN_AZEKIEL, HALISHA_ARCHON, STONE_GUARDIAN_AZRAEL);
+ registerQuestItems(ICE_CREAM, ICE_CRYSTAL_FRAGMENT, HALISHA_BADGE);
+ addCondMinLevel(76, "aiken02.htm");
+ addCondClassId(ClassId.SILVER_RANGER, "aiken03.htm");
+ }
+
+ @Override
+ public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
+ {
+ final QuestState st = getQuestState(player, false);
+ if (st == null)
+ {
+ return null;
+ }
+ String htmltext = event;
+ switch (event)
+ {
+ case "aiken02a.htm":
+ htmltext = "aiken5.htm";
+ break;
+ case "aiken01s.htm":
+ if (st.getCond() == 0)
+ {
+ st.startQuest();
+ st.setCond(1);
+ }
+ break;
+ case "jer2.htm":
+ if (st.getCond() == 1)
+ {
+ st.setCond(2);
+ }
+ break;
+ case "rifken2.htm":
+ if (st.getCond() == 2)
+ {
+ st.setCond(3);
+ }
+ break;
+ case "rifken4.htm":
+ if (st.getCond() == 4)
+ {
+ st.setCond(5);
+ }
+ takeItems(player, ICE_CRYSTAL_FRAGMENT, -1);
+ giveItems(player, ICE_CREAM, 1);
+ break;
+ case "jer4.htm":
+ if (st.getCond() == 5)
+ {
+ st.setCond(6);
+ }
+ giveItems(player, AMULET_REZONANSA_PERVIY, 1);
+ takeItems(player, ICE_CREAM, -1);
+ break;
+ case "stone12.htm":
+ if (st.getCond() == 6)
+ {
+ st.setCond(7);
+ }
+ break;
+ case "stone22.htm":
+ if (st.getCond() == 8)
+ {
+ addSpawn(STONE_WATCHMAN_AZEKIEL, npc, true, 0, true);
+ st.setCond(9);
+ }
+ break;
+ case "stone25.htm":
+ if (st.getCond() == 10)
+ {
+ st.setCond(11);
+ }
+ break;
+ case "jer6.htm":
+ if (st.getCond() == 11)
+ {
+ st.setCond(12);
+ }
+ break;
+ case "stone32.htm":
+ if (st.getCond() == 14)
+ {
+ st.setCond(15);
+ }
+ break;
+ case "stone41.htm":
+ if (st.getCond() == 15)
+ {
+ st.setCond(16);
+ }
+ addSpawn(STONE_GUARDIAN_AZRAEL, npc, true, 0, true);
+ break;
+ case "erikrams2.htm":
+ if (st.getCond() == 16)
+ {
+ st.setCond(17);
+ }
+ giveItems(player, AMULET_REZONANSA_CHETVERTIY, 1);
+ break;
+ case "stone43.htm":
+ if (st.getCond() == 17)
+ {
+ st.setCond(18);
+ }
+ break;
+ case "aiken7.htm":
+ if (st.getCond() == 18)
+ {
+ if ((player.getLevel() < 76) && (player.getBaseClass() != 24))
+ {
+ htmltext = "30849-nolvl.htm";
+ }
+ addExpAndSp(player, 3100000, 103000);
+ rewardItems(player, BOOKPEGASUS, 1);
+ takeItems(player, AMULET_REZONANSA_PERVIY, -1);
+ takeItems(player, AMULET_REZONANSA_VTOROI, -1);
+ takeItems(player, AMULET_REZONANSA_TRETIY, -1);
+ takeItems(player, AMULET_REZONANSA_CHETVERTIY, -1);
+ takeItems(player, HALISHA_BADGE, -1);
+ st.exitQuest(false, true);
+ player.setClassId(102);
+ player.setBaseClass(102);
+ player.broadcastUserInfo();
+ npc.broadcastPacket(new MagicSkillUse(npc, player, 5103, 1, 1000, 0));
+ }
+ break;
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onTalk(L2Npc npc, L2PcInstance talker)
+ {
+ final QuestState qs = getQuestState(talker, true);
+ String htmltext = getNoQuestMsg(talker);
+
+ switch (qs.getState())
+ {
+ case State.CREATED:
+ {
+ if (npc.getId() == BERNARD)
+ {
+ htmltext = "aiken01.htm";
+ }
+ break;
+ }
+ case State.STARTED:
+ {
+ if (npc.getId() == BERNARD)
+ {
+ if (qs.getCond() == 1)
+ {
+ htmltext = "aiken01s.htm";
+ }
+ if (qs.getCond() == 18)
+ {
+ htmltext = "aiken6.htm";
+ }
+
+ }
+ if (npc.getId() == GRIMST)
+ {
+ if (qs.getCond() == 1)
+ {
+ htmltext = "jer1.htm";
+ }
+ if (qs.getCond() == 2)
+ {
+ htmltext = "jer2.htm";
+ }
+ if (qs.getCond() == 5)
+ {
+ htmltext = "jer3.htm";
+ }
+ if (qs.getCond() == 6)
+ {
+ htmltext = "jer4.htm";
+ }
+ }
+ if (npc.getId() == PILGRIM_OF_DARKNESS)
+ {
+ if (qs.getCond() == 11)
+ {
+ htmltext = "jer5.htm";
+ }
+ if (qs.getCond() == 12)
+ {
+ htmltext = "jer6.htm";
+ }
+ }
+ if (npc.getId() == BROOME)
+ {
+ if (qs.getCond() == 2)
+ {
+ htmltext = "rifken1.htm";
+ }
+ if (qs.getCond() == 3)
+ {
+ htmltext = "rifken2.htm";
+ }
+ if (qs.getCond() == 4)
+ {
+ htmltext = "rifken3.htm";
+ }
+ }
+ if (npc.getId() == TABLET_OF_VISION_1)
+ {
+ if (qs.getCond() == 6)
+ {
+ htmltext = "stone11.htm";
+ }
+ if (qs.getCond() == 7)
+ {
+ htmltext = "stone12.htm";
+ }
+ }
+ if (npc.getId() == TABLET_OF_VISION_2)
+ {
+ if (qs.getCond() == 8)
+ {
+ htmltext = "stone21.htm";
+ }
+ if (qs.getCond() == 9)
+ {
+ htmltext = "stone23.htm";
+ }
+ if (qs.getCond() == 10)
+ {
+ htmltext = "stone24.htm";
+ }
+ if (qs.getCond() == 11)
+ {
+ htmltext = "stone25.htm";
+ }
+ }
+ if (npc.getId() == TABLET_OF_VISION_3)
+ {
+ if (qs.getCond() == 14)
+ {
+ htmltext = "stone31.htm";
+ }
+ if (qs.getCond() == 15)
+ {
+ htmltext = "stone32.htm";
+ }
+ }
+ if (npc.getId() == TABLET_OF_VISION_4)
+ {
+ if (qs.getCond() == 15)
+ {
+ htmltext = "stone40.htm";
+ }
+ if (qs.getCond() == 17)
+ {
+ htmltext = "stone42.htm";
+ }
+ if (qs.getCond() == 18)
+ {
+ htmltext = "stone43.htm";
+ }
+
+ }
+ if (npc.getId() == WINTER_HUNTER_KADYTH)
+ {
+ if (qs.getCond() == 16)
+ {
+ htmltext = "erikrams1.htm";
+ }
+ if (qs.getCond() == 17)
+ {
+ htmltext = "erikrams2.htm";
+ }
+ }
+ break;
+ }
+ case State.COMPLETED:
+ {
+ htmltext = getAlreadyCompletedMsg(talker);
+ break;
+ }
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
+ {
+ final QuestState qs = getQuestState(killer, false);
+ if ((qs != null) && qs.isStarted() && Util.checkIfInRange(1500, npc, killer, true))
+ {
+ switch (npc.getId())
+ {
+ case ICE_MONSTER:
+ case SPIRIT_OF_A_DROWNED:
+ case SOUL_OF_COLD:
+ case FIEND_OF_COLD:
+ case GHOST_OF_SOLITUDE:
+ case SPIRIT_OF_COLD:
+ if (qs.getCond() == 3)
+ {
+ if (getQuestItemsCount(killer, ICE_CRYSTAL_FRAGMENT) < 50)
+ {
+ giveItemRandomly(killer, npc, ICE_CRYSTAL_FRAGMENT, 1, 50, 50, true);
+ }
+ if (getQuestItemsCount(killer, ICE_CRYSTAL_FRAGMENT) >= 50)
+ {
+ qs.setCond(4);
+ }
+ }
+ break;
+ case STONE_WATCHMAN_AZEKIEL:
+ if (qs.getCond() == 9)
+ {
+ qs.setCond(10);
+ }
+ break;
+ case SPAMPLAND_WATCHMAN:
+ case FLAME_DRAKE:
+ case FIERY_IFRIT:
+ case IKEDIT:
+ if (qs.getCond() == 12)
+ {
+ if (getQuestItemsCount(killer, HALISHA_BADGE) < 701)
+ {
+ giveItemRandomly(killer, npc, HALISHA_BADGE, 1, 701, 50, true);
+ if (getQuestItemsCount(killer, HALISHA_BADGE) >= 701)
+ {
+ addSpawn(HALISHA_ARCHON, npc, true, 0, true);
+ qs.setCond(13);
+ }
+ }
+ }
+ break;
+ case HALISHA_ARCHON:
+ if (qs.getCond() == 13)
+ {
+ if (!hasQuestItems(killer, AMULET_REZONANSA_TRETIY))
+ {
+ giveItemRandomly(killer, npc, AMULET_REZONANSA_TRETIY, 1, 1, 50, true);
+ }
+ qs.setCond(14);
+ }
+ break;
+ case STONE_GUARDIAN_AZRAEL:
+ if (qs.getCond() == 16)
+ {
+ addSpawn(WINTER_HUNTER_KADYTH, npc, true, 20000, true);
+ }
+ break;
+ }
+
+ if (qs.isCond(7))
+ {
+ int count = qs.getInt(KILL_COUNT_VAR);
+ if (npc.getId() == GUARDIAN_OF_FOBIDDEN_KNOWLEDGE)
+ {
+ if (count < 20)
+ {
+ qs.set(KILL_COUNT_VAR, ++count);
+ sendNpcLogList(killer);
+ }
+ }
+ if (count >= 20)
+ {
+ qs.setCond(8, true);
+ giveItems(killer, AMULET_REZONANSA_VTOROI, 1);
+ }
+ }
+ }
+ return super.onKill(npc, killer, isSummon);
+ }
+
+ @Override
+ public Set getNpcLogList(L2PcInstance player)
+ {
+ final QuestState qs = getQuestState(player, false);
+ if ((qs != null) && qs.isCond(7))
+ {
+ final Set holder = new HashSet<>(1);
+
+ // guardian of forbidden knowledge
+ final int guardiancount = qs.getInt(KILL_COUNT_VAR);
+ if (guardiancount > 0)
+ {
+ holder.add(new NpcLogListHolder(GUARDIAN_OF_FOBIDDEN_KNOWLEDGE, false, guardiancount));
+ }
+ return holder;
+ }
+ return super.getNpcLogList(player);
+ }
+}
\ No newline at end of file
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00083_SagaOfTheMoonlightSentinel/aiken01.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00083_SagaOfTheMoonlightSentinel/aiken01.htm
new file mode 100644
index 0000000000..7ae9e23413
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00083_SagaOfTheMoonlightSentinel/aiken01.htm
@@ -0,0 +1,6 @@
+
+Bernard:
+
+Do you want to become the Moonlight Sentinel?.
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00083_SagaOfTheMoonlightSentinel/aiken01s.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00083_SagaOfTheMoonlightSentinel/aiken01s.htm
new file mode 100644
index 0000000000..651ee6c86d
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00083_SagaOfTheMoonlightSentinel/aiken01s.htm
@@ -0,0 +1,5 @@
+
+Bernard:
+
+Bernard orders you to return the stolen sniper's bow, the symbol of the guild. First you need to talk with Trader Information Grimstom in the Hunters Village.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00083_SagaOfTheMoonlightSentinel/aiken02.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00083_SagaOfTheMoonlightSentinel/aiken02.htm
new file mode 100644
index 0000000000..ce6725f5d6
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00083_SagaOfTheMoonlightSentinel/aiken02.htm
@@ -0,0 +1,7 @@
+
+Bernard:
+
+My young friend, you do not have enough experience to become the Moonlight Sentinel. I see your passion and I hope that you will keep it in your heart, but it is not enough - only through the experience of battle you can acquire the power that will allow you not to deviate from your faith in the era of untruth.
+Come back when you are a little older and wiser. When you are ready, I will give you a mission to check if you are ready to become the Moonlight Sentinel.
+(Quest for characters whose level is 76 or higher.)
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00083_SagaOfTheMoonlightSentinel/aiken02a.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00083_SagaOfTheMoonlightSentinel/aiken02a.htm
new file mode 100644
index 0000000000..fd5c5aaef7
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00083_SagaOfTheMoonlightSentinel/aiken02a.htm
@@ -0,0 +1,7 @@
+
+Bernard:
+
+Have you not already received the title of Moonlight Sentinel?
+Â My brother, you do not have to go through the test of the squire again.
+Â Your duty is to fight for your faith and the glory of the lord.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00083_SagaOfTheMoonlightSentinel/aiken03.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00083_SagaOfTheMoonlightSentinel/aiken03.htm
new file mode 100644
index 0000000000..7189361a20
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00083_SagaOfTheMoonlightSentinel/aiken03.htm
@@ -0,0 +1,6 @@
+
+Bernard:
+
+Apparently, you have already chosen your path.
+You do not need to perform the task of Moonlight Sentinel.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00083_SagaOfTheMoonlightSentinel/aiken5.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00083_SagaOfTheMoonlightSentinel/aiken5.htm
new file mode 100644
index 0000000000..b80141da9b
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00083_SagaOfTheMoonlightSentinel/aiken5.htm
@@ -0,0 +1,9 @@
+
+Bernard:
+
+Do you want to become the Moonlight Sentinel?
+ Well, then you must pass Saga of Moonlight Sentinel,
+ To prove that you are not just a reckless, quick-tempered warrior, but
+Â A warrior with the soul of a true virtuoso. This is a form of ritual and the process of training,
+Â Which all those who wish to become the Moonlight Sentinel must perform.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00083_SagaOfTheMoonlightSentinel/aiken6.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00083_SagaOfTheMoonlightSentinel/aiken6.htm
new file mode 100644
index 0000000000..5901e9c6d5
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00083_SagaOfTheMoonlightSentinel/aiken6.htm
@@ -0,0 +1,6 @@
+
+Bernard:
+
+Congratulations! You have passed all the tests and are ready to receive the profession of the Moonlight Sentinel !!!
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00083_SagaOfTheMoonlightSentinel/aiken7.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00083_SagaOfTheMoonlightSentinel/aiken7.htm
new file mode 100644
index 0000000000..c98cf8f055
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00083_SagaOfTheMoonlightSentinel/aiken7.htm
@@ -0,0 +1,5 @@
+
+Bernard:
+
+Congratulations! You received the profession of the Moonlight Sentinel !!!
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00083_SagaOfTheMoonlightSentinel/erikrams1.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00083_SagaOfTheMoonlightSentinel/erikrams1.htm
new file mode 100644
index 0000000000..da2fb98cf0
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00083_SagaOfTheMoonlightSentinel/erikrams1.htm
@@ -0,0 +1,7 @@
+
+Winter Hunter Cadit:
+
+Thank you! You helped avenge me, I will give you the fourth amulet
+
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00083_SagaOfTheMoonlightSentinel/erikrams2.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00083_SagaOfTheMoonlightSentinel/erikrams2.htm
new file mode 100644
index 0000000000..33ecc8ac50
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00083_SagaOfTheMoonlightSentinel/erikrams2.htm
@@ -0,0 +1,5 @@
+
+Winter Hunter Cadit:
+
+Now activate the last stone
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00083_SagaOfTheMoonlightSentinel/jer1.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00083_SagaOfTheMoonlightSentinel/jer1.htm
new file mode 100644
index 0000000000..6aa8e0bb02
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00083_SagaOfTheMoonlightSentinel/jer1.htm
@@ -0,0 +1,6 @@
+
+Grimst:
+
+Merchant Information Grimst in exchange for information about the robber asks to find out and obtain the goods needed by the Information Broker Information Broome. Talk to Broome in the Blazing Swamp.
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00083_SagaOfTheMoonlightSentinel/jer2.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00083_SagaOfTheMoonlightSentinel/jer2.htm
new file mode 100644
index 0000000000..42e649601a
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00083_SagaOfTheMoonlightSentinel/jer2.htm
@@ -0,0 +1,5 @@
+
+Grimst:
+
+Talk to Broome in the Blazing Swamp.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00083_SagaOfTheMoonlightSentinel/jer3.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00083_SagaOfTheMoonlightSentinel/jer3.htm
new file mode 100644
index 0000000000..c78e784604
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00083_SagaOfTheMoonlightSentinel/jer3.htm
@@ -0,0 +1,6 @@
+
+Grimst:
+
+Did you bring Ice Cream?
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00083_SagaOfTheMoonlightSentinel/jer4.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00083_SagaOfTheMoonlightSentinel/jer4.htm
new file mode 100644
index 0000000000..9d7f394d71
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00083_SagaOfTheMoonlightSentinel/jer4.htm
@@ -0,0 +1,5 @@
+
+Grimst:
+
+You have received the Resonance Amulet. Activate the Stone of Knowledge to the south of the Tower of Insolence.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00083_SagaOfTheMoonlightSentinel/jer5.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00083_SagaOfTheMoonlightSentinel/jer5.htm
new file mode 100644
index 0000000000..15f0ca12ac
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00083_SagaOfTheMoonlightSentinel/jer5.htm
@@ -0,0 +1,6 @@
+
+Dark Pilgrim:
+
+Have you come for the third Amulet of Resonance?
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00083_SagaOfTheMoonlightSentinel/jer6.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00083_SagaOfTheMoonlightSentinel/jer6.htm
new file mode 100644
index 0000000000..d7991cbf08
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00083_SagaOfTheMoonlightSentinel/jer6.htm
@@ -0,0 +1,5 @@
+
+Dark Pilgrim:
+
+The hermit says that the third Amulet of Resonance is in Archon Halisha. To summon him, you need to destroy his minions in the Molten Tops and collect the Halisha Signs. Destroy these monsters and call Archon Halisha. The aim of the hunt is the Ranger of the Swamp, Burning Drake, Flamey Ifrit, Ikedith
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00083_SagaOfTheMoonlightSentinel/rifken1.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00083_SagaOfTheMoonlightSentinel/rifken1.htm
new file mode 100644
index 0000000000..ef374d4a4d
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00083_SagaOfTheMoonlightSentinel/rifken1.htm
@@ -0,0 +1,6 @@
+
+Broom:
+
+Information Broker wants Ice Cream, and he asks to collect Fragments of the Crystal of Cold. They can be obtained by destroying monsters to the southeast of Aden
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00083_SagaOfTheMoonlightSentinel/rifken2.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00083_SagaOfTheMoonlightSentinel/rifken2.htm
new file mode 100644
index 0000000000..c8ca3dbf36
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00083_SagaOfTheMoonlightSentinel/rifken2.htm
@@ -0,0 +1,5 @@
+
+Broom:
+
+Obtain Fragments of the Crystal of Cold. These pieces can be obtained by destroying monsters to the southeast of Aden.The aim of the hunt is the Ice Monster, the Spirit of the Drowned One, the Soul of Cold, the Ghost of Solitude, the Cold Beast, the Spirit of Coldness.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00083_SagaOfTheMoonlightSentinel/rifken3.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00083_SagaOfTheMoonlightSentinel/rifken3.htm
new file mode 100644
index 0000000000..f3052081e1
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00083_SagaOfTheMoonlightSentinel/rifken3.htm
@@ -0,0 +1,6 @@
+
+Broom:
+
+Did you get all the ingredients?
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00083_SagaOfTheMoonlightSentinel/rifken4.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00083_SagaOfTheMoonlightSentinel/rifken4.htm
new file mode 100644
index 0000000000..203e970ece
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00083_SagaOfTheMoonlightSentinel/rifken4.htm
@@ -0,0 +1,5 @@
+
+Broom:
+
+Now you have Ice Cream. Return to the Merchant Information Grimst.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00083_SagaOfTheMoonlightSentinel/stone11.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00083_SagaOfTheMoonlightSentinel/stone11.htm
new file mode 100644
index 0000000000..45551729b2
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00083_SagaOfTheMoonlightSentinel/stone11.htm
@@ -0,0 +1,5 @@
+
+Stone of knowledge:
+You slash like a stone starts to vibrate
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00083_SagaOfTheMoonlightSentinel/stone12.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00083_SagaOfTheMoonlightSentinel/stone12.htm
new file mode 100644
index 0000000000..43fbf4faea
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00083_SagaOfTheMoonlightSentinel/stone12.htm
@@ -0,0 +1,4 @@
+
+Stone of knowledge:
+You brought the amulet and the inscription appeared on the stone - The second Amulet of Resonance is in the Keepers of Forbidden Knowledge next to the second Stone of Knowledge.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00083_SagaOfTheMoonlightSentinel/stone21.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00083_SagaOfTheMoonlightSentinel/stone21.htm
new file mode 100644
index 0000000000..293ef1da29
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00083_SagaOfTheMoonlightSentinel/stone21.htm
@@ -0,0 +1,5 @@
+
+Stone of knowledge:
+You slash like a stone starts to vibrate
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00083_SagaOfTheMoonlightSentinel/stone22.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00083_SagaOfTheMoonlightSentinel/stone22.htm
new file mode 100644
index 0000000000..314eb9cc40
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00083_SagaOfTheMoonlightSentinel/stone22.htm
@@ -0,0 +1,4 @@
+
+Stone of knowledge:
+As soon as you have approached the stone, the Earthen Stone Erector has appeared. Obviously, he is trying to stop you. Destroy it.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00083_SagaOfTheMoonlightSentinel/stone23.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00083_SagaOfTheMoonlightSentinel/stone23.htm
new file mode 100644
index 0000000000..d323517e9b
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00083_SagaOfTheMoonlightSentinel/stone23.htm
@@ -0,0 +1,4 @@
+
+Stone of knowledge:
+Now you can go in search of the third stone
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00083_SagaOfTheMoonlightSentinel/stone24.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00083_SagaOfTheMoonlightSentinel/stone24.htm
new file mode 100644
index 0000000000..b2e23b7a5b
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00083_SagaOfTheMoonlightSentinel/stone24.htm
@@ -0,0 +1,5 @@
+
+Stone of knowledge:
+You slash like a stone starts to vibrate
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00083_SagaOfTheMoonlightSentinel/stone25.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00083_SagaOfTheMoonlightSentinel/stone25.htm
new file mode 100644
index 0000000000..0386e5f484
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00083_SagaOfTheMoonlightSentinel/stone25.htm
@@ -0,0 +1,4 @@
+
+Stone of knowledge:
+Activating the stone, you learned that the third Amulet of Resonance is at the Dark Pilgrim on the Field of Brani. Get him the Resonance Amulet.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00083_SagaOfTheMoonlightSentinel/stone31.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00083_SagaOfTheMoonlightSentinel/stone31.htm
new file mode 100644
index 0000000000..2b52584ed8
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00083_SagaOfTheMoonlightSentinel/stone31.htm
@@ -0,0 +1,5 @@
+
+Stone of knowledge:
+You slash like a stone starts to vibrate
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00083_SagaOfTheMoonlightSentinel/stone32.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00083_SagaOfTheMoonlightSentinel/stone32.htm
new file mode 100644
index 0000000000..60454347b2
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00083_SagaOfTheMoonlightSentinel/stone32.htm
@@ -0,0 +1,4 @@
+
+Stone of knowledge:
+When the activation of the third Stone of Knowledge ended, he showed the location of the next stone. The fourth Stone of Knowledge is in the area of the Elven Village, and the last Amulet of Resonance is near the stone. Go there.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00083_SagaOfTheMoonlightSentinel/stone40.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00083_SagaOfTheMoonlightSentinel/stone40.htm
new file mode 100644
index 0000000000..2aa08172ff
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00083_SagaOfTheMoonlightSentinel/stone40.htm
@@ -0,0 +1,7 @@
+
+You came to the stone and he began to vibrate
+
+The last amulet is in the Stone Guardian Azrael
+Are you ready to fight him?
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00083_SagaOfTheMoonlightSentinel/stone41.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00083_SagaOfTheMoonlightSentinel/stone41.htm
new file mode 100644
index 0000000000..68de5867d7
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00083_SagaOfTheMoonlightSentinel/stone41.htm
@@ -0,0 +1,3 @@
+
+Nearby there was the Guardian of the Stone Azrael
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00083_SagaOfTheMoonlightSentinel/stone42.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00083_SagaOfTheMoonlightSentinel/stone42.htm
new file mode 100644
index 0000000000..f349bb8b6b
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00083_SagaOfTheMoonlightSentinel/stone42.htm
@@ -0,0 +1,5 @@
+
+Stone of knowledge:
+You slash like a stone starts to vibrate
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00083_SagaOfTheMoonlightSentinel/stone43.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00083_SagaOfTheMoonlightSentinel/stone43.htm
new file mode 100644
index 0000000000..a2ec07bb6f
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00083_SagaOfTheMoonlightSentinel/stone43.htm
@@ -0,0 +1,5 @@
+
+Stone of knowledge:
+You successfully activated the last stone
+You have found all the Stones of Knowledge. Go back to Bernard and tell him about what you've learned.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00084_SagaOfTheGhostSentinel/Q00084_SagaOfTheGhostSentinel.java b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00084_SagaOfTheGhostSentinel/Q00084_SagaOfTheGhostSentinel.java
new file mode 100644
index 0000000000..3f9639d0bb
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00084_SagaOfTheGhostSentinel/Q00084_SagaOfTheGhostSentinel.java
@@ -0,0 +1,454 @@
+package quests.Q00084_SagaOfTheGhostSentinel;
+
+import java.util.HashSet;
+import java.util.Set;
+
+import com.l2jmobius.gameserver.model.actor.L2Npc;
+import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
+import com.l2jmobius.gameserver.model.base.ClassId;
+import com.l2jmobius.gameserver.model.holders.NpcLogListHolder;
+import com.l2jmobius.gameserver.model.quest.Quest;
+import com.l2jmobius.gameserver.model.quest.QuestState;
+import com.l2jmobius.gameserver.model.quest.State;
+import com.l2jmobius.gameserver.network.serverpackets.MagicSkillUse;
+import com.l2jmobius.gameserver.util.Util;
+
+//QuangNguyen
+
+public class Q00084_SagaOfTheGhostSentinel extends Quest
+{
+ public final int BERNARD = 30702;
+ public final int GRIMST = 31604;
+ public final int ALEXIS = 30842;
+ public final int PILGRIM_OF_DARKNESS = 31641;
+ public final int TABLET_OF_VISION_1 = 31646;
+ public final int TABLET_OF_VISION_2 = 31647;
+ public final int TABLET_OF_VISION_3 = 31652;
+ public final int TABLET_OF_VISION_4 = 31656;
+ public final int FRANZ = 31644;
+ // mobs
+ public final int ICE_MONSTER = 27316;
+ public final int SPIRIT_OF_A_DROWNED = 27317;
+ public final int SOUL_OF_COLD = 27318;
+ public final int GHOST_OF_SOLITUDE = 27319;
+ public final int FIEND_OF_COLD = 27320;
+ public final int SPIRIT_OF_COLD = 27321;
+ public final int SPAMPLAND_WATCHMAN = 21650;
+ public final int FLAME_DRAKE = 21651;
+ public final int FIERY_IFRIT = 21652;
+ public final int IKEDIT = 21653;
+ public final int GUARDIAN_OF_FOBIDDEN_KNOWLEDGE = 27214;
+ public final int STONE_WATCHMAN_AZEKIEL = 27296;
+ public final int HALISHA_ARCHON = 27219;
+ public final int FALLEN_ANGEL_TANAKIA = 27274;
+ // items
+ public final int ICE_CRYSTAL_FRAGMENT = 49818;
+ public final int HALISHA_BADGE = 7499;
+ public final int AMULET_REZONANSA_PERVIY = 7282;
+ public final int AMULET_REZONANSA_VTOROI = 7313;
+ public final int AMULET_REZONANSA_TRETIY = 7344;
+ public final int AMULET_REZONANSA_CHETVERTIY = 7375;
+ public final int ICE_CRYSTAL_GEMSTONE = 7521;
+ // reward
+ public final int BOOKSABERTOOTH = 90040;
+ private static final String KILL_COUNT_VAR = "KillCount";
+
+ public Q00084_SagaOfTheGhostSentinel()
+ {
+ super(84);
+ addStartNpc(BERNARD);
+ addTalkId(BERNARD, GRIMST, ALEXIS, PILGRIM_OF_DARKNESS, FRANZ, TABLET_OF_VISION_1, TABLET_OF_VISION_2, TABLET_OF_VISION_3, TABLET_OF_VISION_4);
+ addKillId(ICE_MONSTER, SPIRIT_OF_A_DROWNED, SOUL_OF_COLD, GHOST_OF_SOLITUDE, FIEND_OF_COLD);
+ addKillId(SPIRIT_OF_COLD, SPAMPLAND_WATCHMAN, FLAME_DRAKE, FIERY_IFRIT, IKEDIT);
+ addKillId(GUARDIAN_OF_FOBIDDEN_KNOWLEDGE, STONE_WATCHMAN_AZEKIEL, HALISHA_ARCHON, FALLEN_ANGEL_TANAKIA);
+ registerQuestItems(ICE_CRYSTAL_GEMSTONE, ICE_CRYSTAL_FRAGMENT, HALISHA_BADGE);
+ addCondMinLevel(76, "aiken02.htm");
+ addCondClassId(ClassId.PHANTOM_RANGER, "aiken03.htm");
+ }
+
+ @Override
+ public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
+ {
+ final QuestState st = getQuestState(player, false);
+ if (st == null)
+ {
+ return null;
+ }
+ String htmltext = event;
+ switch (event)
+ {
+ case "aiken02a.htm":
+ htmltext = "aiken5.htm";
+ break;
+ case "aiken01s.htm":
+ if (st.getCond() == 0)
+ {
+ st.startQuest();
+ st.setCond(1);
+ }
+ break;
+ case "jer2.htm":
+ if (st.getCond() == 1)
+ {
+ st.setCond(2);
+ }
+ break;
+ case "rifken2.htm":
+ if (st.getCond() == 2)
+ {
+ st.setCond(3);
+ }
+ break;
+ case "rifken4.htm":
+ if (st.getCond() == 4)
+ {
+ st.setCond(5);
+ }
+ takeItems(player, ICE_CRYSTAL_FRAGMENT, -1);
+ giveItems(player, ICE_CRYSTAL_GEMSTONE, 1);
+ break;
+ case "jer4.htm":
+ if (st.getCond() == 5)
+ {
+ st.setCond(6);
+ }
+ giveItems(player, AMULET_REZONANSA_PERVIY, 1);
+ takeItems(player, ICE_CRYSTAL_GEMSTONE, -1);
+ break;
+ case "stone12.htm":
+ if (st.getCond() == 6)
+ {
+ st.setCond(7);
+ }
+ break;
+ case "stone22.htm":
+ if (st.getCond() == 8)
+ {
+ addSpawn(STONE_WATCHMAN_AZEKIEL, npc, true, 0, true);
+ st.setCond(9);
+ }
+ break;
+ case "stone25.htm":
+ if (st.getCond() == 10)
+ {
+ st.setCond(11);
+ }
+ break;
+ case "jer6.htm":
+ if (st.getCond() == 11)
+ {
+ st.setCond(12);
+ }
+ break;
+ case "stone32.htm":
+ if (st.getCond() == 14)
+ {
+ st.setCond(15);
+ }
+ break;
+ case "stone41.htm":
+ if (st.getCond() == 15)
+ {
+ st.setCond(16);
+ }
+ addSpawn(FALLEN_ANGEL_TANAKIA, npc, true, 0, true);
+ break;
+ case "erikrams2.htm":
+ if (st.getCond() == 16)
+ {
+ st.setCond(17);
+ }
+ giveItems(player, AMULET_REZONANSA_CHETVERTIY, 1);
+ break;
+ case "stone43.htm":
+ if (st.getCond() == 17)
+ {
+ st.setCond(18);
+ }
+ break;
+ case "aiken7.htm":
+ if (st.getCond() == 18)
+ {
+ if ((player.getLevel() < 76) && (player.getBaseClass() != 37))
+ {
+ htmltext = "30849-nolvl.htm";
+ }
+ addExpAndSp(player, 3100000, 103000);
+ rewardItems(player, BOOKSABERTOOTH, 1);
+ takeItems(player, AMULET_REZONANSA_PERVIY, -1);
+ takeItems(player, AMULET_REZONANSA_VTOROI, -1);
+ takeItems(player, AMULET_REZONANSA_TRETIY, -1);
+ takeItems(player, AMULET_REZONANSA_CHETVERTIY, -1);
+ takeItems(player, HALISHA_BADGE, -1);
+ st.exitQuest(false, true);
+ player.setClassId(109);
+ player.setBaseClass(109);
+ player.broadcastUserInfo();
+ npc.broadcastPacket(new MagicSkillUse(npc, player, 5103, 1, 1000, 0));
+ }
+ break;
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onTalk(L2Npc npc, L2PcInstance talker)
+ {
+ final QuestState qs = getQuestState(talker, true);
+ String htmltext = getNoQuestMsg(talker);
+
+ switch (qs.getState())
+ {
+ case State.CREATED:
+ {
+ if (npc.getId() == BERNARD)
+ {
+ htmltext = "aiken01.htm";
+ }
+ break;
+ }
+ case State.STARTED:
+ {
+ if (npc.getId() == BERNARD)
+ {
+ if (qs.getCond() == 1)
+ {
+ htmltext = "aiken01s.htm";
+ }
+ if (qs.getCond() == 18)
+ {
+ htmltext = "aiken6.htm";
+ }
+
+ }
+ if (npc.getId() == GRIMST)
+ {
+ if (qs.getCond() == 1)
+ {
+ htmltext = "jer1.htm";
+ }
+ if (qs.getCond() == 2)
+ {
+ htmltext = "jer2.htm";
+ }
+ if (qs.getCond() == 5)
+ {
+ htmltext = "jer3.htm";
+ }
+ if (qs.getCond() == 6)
+ {
+ htmltext = "jer4.htm";
+ }
+ }
+ if (npc.getId() == PILGRIM_OF_DARKNESS)
+ {
+ if (qs.getCond() == 11)
+ {
+ htmltext = "jer5.htm";
+ }
+ if (qs.getCond() == 12)
+ {
+ htmltext = "jer6.htm";
+ }
+ }
+ if (npc.getId() == ALEXIS)
+ {
+ if (qs.getCond() == 2)
+ {
+ htmltext = "rifken1.htm";
+ }
+ if (qs.getCond() == 3)
+ {
+ htmltext = "rifken2.htm";
+ }
+ if (qs.getCond() == 4)
+ {
+ htmltext = "rifken3.htm";
+ }
+ }
+ if (npc.getId() == TABLET_OF_VISION_1)
+ {
+ if (qs.getCond() == 6)
+ {
+ htmltext = "stone11.htm";
+ }
+ if (qs.getCond() == 7)
+ {
+ htmltext = "stone12.htm";
+ }
+ }
+ if (npc.getId() == TABLET_OF_VISION_2)
+ {
+ if (qs.getCond() == 8)
+ {
+ htmltext = "stone21.htm";
+ }
+ if (qs.getCond() == 9)
+ {
+ htmltext = "stone23.htm";
+ }
+ if (qs.getCond() == 10)
+ {
+ htmltext = "stone24.htm";
+ }
+ if (qs.getCond() == 11)
+ {
+ htmltext = "stone25.htm";
+ }
+ }
+ if (npc.getId() == TABLET_OF_VISION_3)
+ {
+ if (qs.getCond() == 14)
+ {
+ htmltext = "stone31.htm";
+ }
+ if (qs.getCond() == 15)
+ {
+ htmltext = "stone32.htm";
+ }
+ }
+ if (npc.getId() == TABLET_OF_VISION_4)
+ {
+ if (qs.getCond() == 15)
+ {
+ htmltext = "stone40.htm";
+ }
+ if (qs.getCond() == 17)
+ {
+ htmltext = "stone42.htm";
+ }
+ if (qs.getCond() == 18)
+ {
+ htmltext = "stone43.htm";
+ }
+
+ }
+ if (npc.getId() == FRANZ)
+ {
+ if (qs.getCond() == 16)
+ {
+ htmltext = "erikrams1.htm";
+ }
+ if (qs.getCond() == 17)
+ {
+ htmltext = "erikrams2.htm";
+ }
+ }
+ break;
+ }
+ case State.COMPLETED:
+ {
+ htmltext = getAlreadyCompletedMsg(talker);
+ break;
+ }
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
+ {
+ final QuestState qs = getQuestState(killer, false);
+ if ((qs != null) && qs.isStarted() && Util.checkIfInRange(1500, npc, killer, true))
+ {
+ switch (npc.getId())
+ {
+ case ICE_MONSTER:
+ case SPIRIT_OF_A_DROWNED:
+ case SOUL_OF_COLD:
+ case FIEND_OF_COLD:
+ case GHOST_OF_SOLITUDE:
+ case SPIRIT_OF_COLD:
+ if (qs.getCond() == 3)
+ {
+ if (getQuestItemsCount(killer, ICE_CRYSTAL_FRAGMENT) < 50)
+ {
+ giveItemRandomly(killer, npc, ICE_CRYSTAL_FRAGMENT, 1, 50, 50, true);
+ }
+ if (getQuestItemsCount(killer, ICE_CRYSTAL_FRAGMENT) >= 50)
+ {
+ qs.setCond(4);
+ }
+ }
+ break;
+ case STONE_WATCHMAN_AZEKIEL:
+ if (qs.getCond() == 9)
+ {
+ qs.setCond(10);
+ }
+ break;
+ case SPAMPLAND_WATCHMAN:
+ case FLAME_DRAKE:
+ case FIERY_IFRIT:
+ case IKEDIT:
+ if (qs.getCond() == 12)
+ {
+ if (getQuestItemsCount(killer, HALISHA_BADGE) < 701)
+ {
+ giveItemRandomly(killer, npc, HALISHA_BADGE, 1, 701, 50, true);
+ if (getQuestItemsCount(killer, HALISHA_BADGE) >= 701)
+ {
+ addSpawn(HALISHA_ARCHON, npc, true, 0, true);
+ qs.setCond(13);
+ }
+ }
+ }
+ break;
+ case HALISHA_ARCHON:
+ if (qs.getCond() == 13)
+ {
+ if (!hasQuestItems(killer, AMULET_REZONANSA_TRETIY))
+ {
+ giveItemRandomly(killer, npc, AMULET_REZONANSA_TRETIY, 1, 1, 50, true);
+ }
+ qs.setCond(14);
+ }
+ break;
+ case FALLEN_ANGEL_TANAKIA:
+ if (qs.getCond() == 16)
+ {
+ addSpawn(FRANZ, npc, true, 20000, true);
+ }
+ break;
+ }
+
+ if (qs.isCond(7))
+ {
+ int count = qs.getInt(KILL_COUNT_VAR);
+ if (npc.getId() == GUARDIAN_OF_FOBIDDEN_KNOWLEDGE)
+ {
+ if (count < 20)
+ {
+ qs.set(KILL_COUNT_VAR, ++count);
+ sendNpcLogList(killer);
+ }
+ }
+ if (count >= 20)
+ {
+ qs.setCond(8, true);
+ giveItems(killer, AMULET_REZONANSA_VTOROI, 1);
+ }
+ }
+ }
+ return super.onKill(npc, killer, isSummon);
+ }
+
+ @Override
+ public Set getNpcLogList(L2PcInstance player)
+ {
+ final QuestState qs = getQuestState(player, false);
+ if ((qs != null) && qs.isCond(7))
+ {
+ final Set holder = new HashSet<>(1);
+
+ // guardian of forbidden knowledge
+ final int guardiancount = qs.getInt(KILL_COUNT_VAR);
+ if (guardiancount > 0)
+ {
+ holder.add(new NpcLogListHolder(GUARDIAN_OF_FOBIDDEN_KNOWLEDGE, false, guardiancount));
+ }
+ return holder;
+ }
+ return super.getNpcLogList(player);
+ }
+}
\ No newline at end of file
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00084_SagaOfTheGhostSentinel/aiken01.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00084_SagaOfTheGhostSentinel/aiken01.htm
new file mode 100644
index 0000000000..1790be22e3
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00084_SagaOfTheGhostSentinel/aiken01.htm
@@ -0,0 +1,6 @@
+
+Bernard:
+
+Do you want to become a Ghost Sentinel ?.
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00084_SagaOfTheGhostSentinel/aiken01s.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00084_SagaOfTheGhostSentinel/aiken01s.htm
new file mode 100644
index 0000000000..651ee6c86d
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00084_SagaOfTheGhostSentinel/aiken01s.htm
@@ -0,0 +1,5 @@
+
+Bernard:
+
+Bernard orders you to return the stolen sniper's bow, the symbol of the guild. First you need to talk with Trader Information Grimstom in the Hunters Village.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00084_SagaOfTheGhostSentinel/aiken02.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00084_SagaOfTheGhostSentinel/aiken02.htm
new file mode 100644
index 0000000000..f761f97e88
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00084_SagaOfTheGhostSentinel/aiken02.htm
@@ -0,0 +1,7 @@
+
+Bernard:
+
+My young friend, you do not have enough experience to become a Ghost Sentinel. I see your passion and I hope that you will keep it in your heart, but it is not enough - only through the experience of battle you can acquire the power that will allow you not to deviate from your faith in the era of untruth.
+Come back when you are a little older and wiser. When you are ready, I will give you a mission to check if you are ready to become a Ghost Sentinel.
+(Quest for characters whose level is 76 or higher.)
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00084_SagaOfTheGhostSentinel/aiken02a.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00084_SagaOfTheGhostSentinel/aiken02a.htm
new file mode 100644
index 0000000000..7d3ef42951
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00084_SagaOfTheGhostSentinel/aiken02a.htm
@@ -0,0 +1,7 @@
+
+Bernard:
+
+Have not you already won the title of Ghost Sentinel?
+Â My brother, you do not have to go through the test of the squire again.
+Â Your duty is to fight for your faith and the glory of the lord.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00084_SagaOfTheGhostSentinel/aiken03.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00084_SagaOfTheGhostSentinel/aiken03.htm
new file mode 100644
index 0000000000..75e2c6f298
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00084_SagaOfTheGhostSentinel/aiken03.htm
@@ -0,0 +1,6 @@
+
+Bernard:
+
+Apparently, you have already chosen your path.
+You do not need to do the Ghost Sentinel saga.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00084_SagaOfTheGhostSentinel/aiken5.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00084_SagaOfTheGhostSentinel/aiken5.htm
new file mode 100644
index 0000000000..695e710143
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00084_SagaOfTheGhostSentinel/aiken5.htm
@@ -0,0 +1,9 @@
+
+Bernard:
+
+Do you want to become a Ghost Sentinel?
+ Well, then you must pass Saga of Ghost Sentinel,
+ To prove that you are not just a reckless, quick-tempered warrior, but
+Â A warrior with the soul of a true virtuoso. This is a form of ritual and the process of training,
+Â Which all those who wish to become a Ghost Sentinel must perform.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00084_SagaOfTheGhostSentinel/aiken6.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00084_SagaOfTheGhostSentinel/aiken6.htm
new file mode 100644
index 0000000000..5273549f1e
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00084_SagaOfTheGhostSentinel/aiken6.htm
@@ -0,0 +1,6 @@
+
+Bernard:
+
+Congratulations! You have passed all the tests and are ready to receive the profession of Ghost Sentinel !!!
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00084_SagaOfTheGhostSentinel/aiken7.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00084_SagaOfTheGhostSentinel/aiken7.htm
new file mode 100644
index 0000000000..15bc335041
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00084_SagaOfTheGhostSentinel/aiken7.htm
@@ -0,0 +1,5 @@
+
+Bernard:
+
+Congratulations! You got the profession of the Ghost Sentinel !!!
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00084_SagaOfTheGhostSentinel/erikrams1.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00084_SagaOfTheGhostSentinel/erikrams1.htm
new file mode 100644
index 0000000000..917a4b3063
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00084_SagaOfTheGhostSentinel/erikrams1.htm
@@ -0,0 +1,7 @@
+
+Franz:
+
+Thank you! You helped avenge me, I will give you the fourth amulet
+
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00084_SagaOfTheGhostSentinel/erikrams2.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00084_SagaOfTheGhostSentinel/erikrams2.htm
new file mode 100644
index 0000000000..9954508deb
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00084_SagaOfTheGhostSentinel/erikrams2.htm
@@ -0,0 +1,5 @@
+
+Franz:
+
+Now activate the last stone
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00084_SagaOfTheGhostSentinel/jer1.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00084_SagaOfTheGhostSentinel/jer1.htm
new file mode 100644
index 0000000000..ccd94324bf
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00084_SagaOfTheGhostSentinel/jer1.htm
@@ -0,0 +1,6 @@
+
+Grimst:
+
+Grimst refuses to help you if you do not fulfill his request. He wants to give someone a bribe, and for this he needs an Ice Gem. He advises you to contact Jeweler Alexis from Aden.
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00084_SagaOfTheGhostSentinel/jer2.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00084_SagaOfTheGhostSentinel/jer2.htm
new file mode 100644
index 0000000000..181ae2dca3
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00084_SagaOfTheGhostSentinel/jer2.htm
@@ -0,0 +1,5 @@
+
+Grimst:
+
+Refer to Jeweler Alexis from Aden.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00084_SagaOfTheGhostSentinel/jer3.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00084_SagaOfTheGhostSentinel/jer3.htm
new file mode 100644
index 0000000000..10f3bb9254
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00084_SagaOfTheGhostSentinel/jer3.htm
@@ -0,0 +1,6 @@
+
+Grimst:
+
+Did you bring the Frozen Gem?
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00084_SagaOfTheGhostSentinel/jer4.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00084_SagaOfTheGhostSentinel/jer4.htm
new file mode 100644
index 0000000000..9d7f394d71
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00084_SagaOfTheGhostSentinel/jer4.htm
@@ -0,0 +1,5 @@
+
+Grimst:
+
+You have received the Resonance Amulet. Activate the Stone of Knowledge to the south of the Tower of Insolence.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00084_SagaOfTheGhostSentinel/jer5.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00084_SagaOfTheGhostSentinel/jer5.htm
new file mode 100644
index 0000000000..607d1d668f
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00084_SagaOfTheGhostSentinel/jer5.htm
@@ -0,0 +1,6 @@
+
+Dark Pilgrim:
+
+Have you come for the third Amulet of Resonance?
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00084_SagaOfTheGhostSentinel/jer6.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00084_SagaOfTheGhostSentinel/jer6.htm
new file mode 100644
index 0000000000..5a87b4e8ae
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00084_SagaOfTheGhostSentinel/jer6.htm
@@ -0,0 +1,5 @@
+
+Dark Pilgrim:
+
+The Dark Pilgrim says that the third Amulet of Resonance is in Archon Halisha. To summon him, you need to destroy his minions in the Molten Tops and collect the Badges of Halisha. Destroy these monsters and call Archon Halisha. The aim of the hunt is the Ranger of the Swamp, Burning Drake, Flame Iphreet, Ikedith
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00084_SagaOfTheGhostSentinel/rifken1.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00084_SagaOfTheGhostSentinel/rifken1.htm
new file mode 100644
index 0000000000..9527f9bb8f
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00084_SagaOfTheGhostSentinel/rifken1.htm
@@ -0,0 +1,6 @@
+
+Alexis:
+
+Jeweler Alexis for making Ice Gem is necessary Crystals Fragments of Cold. They can be obtained by destroying monsters to the southeast of Aden
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00084_SagaOfTheGhostSentinel/rifken2.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00084_SagaOfTheGhostSentinel/rifken2.htm
new file mode 100644
index 0000000000..560c3dde43
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00084_SagaOfTheGhostSentinel/rifken2.htm
@@ -0,0 +1,5 @@
+
+Alexis:
+
+Obtain Fragments Crystal of Cold.These pieces can be obtained by destroying monsters to the southeast of Aden.The aim of the hunt is the Ice Monster, the Spirit of the Drowned One, the Soul of Cold, the Ghost of Solitude, the Cold Beast, the Spirit of Coldness.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00084_SagaOfTheGhostSentinel/rifken3.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00084_SagaOfTheGhostSentinel/rifken3.htm
new file mode 100644
index 0000000000..00cb050468
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00084_SagaOfTheGhostSentinel/rifken3.htm
@@ -0,0 +1,6 @@
+
+Alexis:
+
+Did you get all the ingredients?
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00084_SagaOfTheGhostSentinel/rifken4.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00084_SagaOfTheGhostSentinel/rifken4.htm
new file mode 100644
index 0000000000..38fc4c3c3c
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00084_SagaOfTheGhostSentinel/rifken4.htm
@@ -0,0 +1,5 @@
+
+Alexis:
+
+Now you have the Ice Gem. Return to the Merchant Information Grimst.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00084_SagaOfTheGhostSentinel/stone11.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00084_SagaOfTheGhostSentinel/stone11.htm
new file mode 100644
index 0000000000..a2ff73767f
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00084_SagaOfTheGhostSentinel/stone11.htm
@@ -0,0 +1,5 @@
+
+Stone of knowledge:
+You slash like a stone starts to vibrate
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00084_SagaOfTheGhostSentinel/stone12.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00084_SagaOfTheGhostSentinel/stone12.htm
new file mode 100644
index 0000000000..43fbf4faea
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00084_SagaOfTheGhostSentinel/stone12.htm
@@ -0,0 +1,4 @@
+
+Stone of knowledge:
+You brought the amulet and the inscription appeared on the stone - The second Amulet of Resonance is in the Keepers of Forbidden Knowledge next to the second Stone of Knowledge.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00084_SagaOfTheGhostSentinel/stone21.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00084_SagaOfTheGhostSentinel/stone21.htm
new file mode 100644
index 0000000000..779e0bb92a
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00084_SagaOfTheGhostSentinel/stone21.htm
@@ -0,0 +1,5 @@
+
+Stone of knowledge:
+You slash like a stone starts to vibrate
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00084_SagaOfTheGhostSentinel/stone22.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00084_SagaOfTheGhostSentinel/stone22.htm
new file mode 100644
index 0000000000..314eb9cc40
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00084_SagaOfTheGhostSentinel/stone22.htm
@@ -0,0 +1,4 @@
+
+Stone of knowledge:
+As soon as you have approached the stone, the Earthen Stone Erector has appeared. Obviously, he is trying to stop you. Destroy it.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00084_SagaOfTheGhostSentinel/stone23.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00084_SagaOfTheGhostSentinel/stone23.htm
new file mode 100644
index 0000000000..d323517e9b
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00084_SagaOfTheGhostSentinel/stone23.htm
@@ -0,0 +1,4 @@
+
+Stone of knowledge:
+Now you can go in search of the third stone
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00084_SagaOfTheGhostSentinel/stone24.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00084_SagaOfTheGhostSentinel/stone24.htm
new file mode 100644
index 0000000000..7a2c7bed54
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00084_SagaOfTheGhostSentinel/stone24.htm
@@ -0,0 +1,5 @@
+
+Stone of knowledge:
+You slash like a stone starts to vibrate
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00084_SagaOfTheGhostSentinel/stone25.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00084_SagaOfTheGhostSentinel/stone25.htm
new file mode 100644
index 0000000000..0386e5f484
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00084_SagaOfTheGhostSentinel/stone25.htm
@@ -0,0 +1,4 @@
+
+Stone of knowledge:
+Activating the stone, you learned that the third Amulet of Resonance is at the Dark Pilgrim on the Field of Brani. Get him the Resonance Amulet.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00084_SagaOfTheGhostSentinel/stone31.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00084_SagaOfTheGhostSentinel/stone31.htm
new file mode 100644
index 0000000000..6025c928f8
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00084_SagaOfTheGhostSentinel/stone31.htm
@@ -0,0 +1,5 @@
+
+Stone of knowledge:
+You slash like a stone starts to vibrate
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00084_SagaOfTheGhostSentinel/stone32.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00084_SagaOfTheGhostSentinel/stone32.htm
new file mode 100644
index 0000000000..55b4dac06c
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00084_SagaOfTheGhostSentinel/stone32.htm
@@ -0,0 +1,4 @@
+
+Stone of knowledge:
+When the activation of the third Stone of Knowledge ended, he showed the location of the next stone. The fourth Stone of Knowledge is in the area of the Village of Dark Elves, and the last Amulet of Resonance is near the stone. Go there.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00084_SagaOfTheGhostSentinel/stone40.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00084_SagaOfTheGhostSentinel/stone40.htm
new file mode 100644
index 0000000000..695ff42beb
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00084_SagaOfTheGhostSentinel/stone40.htm
@@ -0,0 +1,7 @@
+
+You came to the stone and he began to vibrate
+
+The last amulet is in Fallen Angel Tanaka
+Are you ready to fight him?
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00084_SagaOfTheGhostSentinel/stone41.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00084_SagaOfTheGhostSentinel/stone41.htm
new file mode 100644
index 0000000000..3111257667
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00084_SagaOfTheGhostSentinel/stone41.htm
@@ -0,0 +1,3 @@
+
+Nearly appeared the Fallen Angel Tanaka
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00084_SagaOfTheGhostSentinel/stone42.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00084_SagaOfTheGhostSentinel/stone42.htm
new file mode 100644
index 0000000000..0b07b30685
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00084_SagaOfTheGhostSentinel/stone42.htm
@@ -0,0 +1,5 @@
+
+Stone of knowledge:
+You slash like a stone starts to vibrate
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00084_SagaOfTheGhostSentinel/stone43.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00084_SagaOfTheGhostSentinel/stone43.htm
new file mode 100644
index 0000000000..a2ec07bb6f
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00084_SagaOfTheGhostSentinel/stone43.htm
@@ -0,0 +1,5 @@
+
+Stone of knowledge:
+You successfully activated the last stone
+You have found all the Stones of Knowledge. Go back to Bernard and tell him about what you've learned.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00085_SagaOfTheCardinal/Q00085_SagaOfTheCardinal.java b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00085_SagaOfTheCardinal/Q00085_SagaOfTheCardinal.java
new file mode 100644
index 0000000000..c55b93986a
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00085_SagaOfTheCardinal/Q00085_SagaOfTheCardinal.java
@@ -0,0 +1,462 @@
+package quests.Q00085_SagaOfTheCardinal;
+
+import java.util.HashSet;
+import java.util.Set;
+
+import com.l2jmobius.gameserver.model.actor.L2Npc;
+import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
+import com.l2jmobius.gameserver.model.base.ClassId;
+import com.l2jmobius.gameserver.model.holders.NpcLogListHolder;
+import com.l2jmobius.gameserver.model.quest.Quest;
+import com.l2jmobius.gameserver.model.quest.QuestState;
+import com.l2jmobius.gameserver.model.quest.State;
+import com.l2jmobius.gameserver.network.serverpackets.MagicSkillUse;
+import com.l2jmobius.gameserver.util.Util;
+
+//QuangNguyen
+
+public class Q00085_SagaOfTheCardinal extends Quest
+{
+ public final int ORVEN = 30857;
+ public final int SERESIN = 30657;
+ public final int RIFKEN = 34268;
+ public final int LEONARD = 30861;
+ public final int TABLET_OF_VISION_1 = 31646;
+ public final int TABLET_OF_VISION_2 = 31648;
+ public final int TABLET_OF_VISION_3 = 31650;
+ public final int TABLET_OF_VISION_4 = 31654;
+ public final int WINTER_HUNTER_KADYTH = 31633;
+ // mobs
+ public final int ICE_MONSTER = 27316;
+ public final int SPIRIT_OF_A_DROWNED = 27317;
+ public final int SOUL_OF_COLD = 27318;
+ public final int GHOST_OF_SOLITUDE = 27319;
+ public final int FIEND_OF_COLD = 27320;
+ public final int SPIRIT_OF_COLD = 27321;
+ public final int SPAMPLAND_WATCHMAN = 21650;
+ public final int FLAME_DRAKE = 21651;
+ public final int FIERY_IFRIT = 21652;
+ public final int IKEDIT = 21653;
+ public final int GATEKEEPER_OF_THE_HOLY_EDICT = 27215;
+ public final int FALLEN_ANGEL_HAURES = 27266;
+ public final int HALISHA_ARCHON = 27219;
+ public final int STONE_GUARDIAN_AZRAEL = 27302;
+ // items
+ public final int ICE_CRYSTAL_FRAGMENT = 49819;
+ public final int HALISHA_BADGE = 7500;
+ public final int AMULET_REZONANSA_PERVIY = 7283;
+ public final int AMULET_REZONANSA_VTOROI = 7314;
+ public final int AMULET_REZONANSA_TRETIY = 7345;
+ public final int AMULET_REZONANSA_CHETVERTIY = 7376;
+ public final int FOOD_SACK = 49835;
+ // reward
+ public final int BOOKGOLDLION = 90038;
+ private static final String KILL_COUNT_VAR = "KillCount";
+
+ public Q00085_SagaOfTheCardinal()
+ {
+ super(85);
+ addStartNpc(ORVEN);
+ addTalkId(ORVEN, SERESIN, RIFKEN, LEONARD, WINTER_HUNTER_KADYTH, TABLET_OF_VISION_1, TABLET_OF_VISION_2, TABLET_OF_VISION_3, TABLET_OF_VISION_4);
+ addKillId(ICE_MONSTER, SPIRIT_OF_A_DROWNED, SOUL_OF_COLD, GHOST_OF_SOLITUDE, FIEND_OF_COLD);
+ addKillId(SPIRIT_OF_COLD, SPAMPLAND_WATCHMAN, FLAME_DRAKE, FIERY_IFRIT, IKEDIT);
+ addKillId(GATEKEEPER_OF_THE_HOLY_EDICT, FALLEN_ANGEL_HAURES, HALISHA_ARCHON, STONE_GUARDIAN_AZRAEL);
+ registerQuestItems(FOOD_SACK, ICE_CRYSTAL_FRAGMENT, HALISHA_BADGE);
+ addCondMinLevel(76, "aiken02.htm");
+ addCondClassId(ClassId.BISHOP, "aiken03.htm");
+ }
+
+ @Override
+ public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
+ {
+ final QuestState st = getQuestState(player, false);
+ if (st == null)
+ {
+ return null;
+ }
+ String htmltext = event;
+ switch (event)
+ {
+ case "aiken02a.htm":
+ htmltext = "aiken5.htm";
+ break;
+ case "aiken01s.htm":
+ if (st.getCond() == 0)
+ {
+ st.startQuest();
+ st.setCond(1);
+ }
+ break;
+ case "jer2.htm":
+ if (st.getCond() == 1)
+ {
+ st.setCond(2);
+ }
+ break;
+ case "rifken2.htm":
+ if (st.getCond() == 2)
+ {
+ st.setCond(3);
+ }
+ break;
+ case "rifken4.htm":
+ if (st.getCond() == 4)
+ {
+ st.setCond(5);
+ }
+ takeItems(player, ICE_CRYSTAL_FRAGMENT, -1);
+ giveItems(player, FOOD_SACK, 1);
+ break;
+ case "jer4.htm":
+ if (st.getCond() == 5)
+ {
+ st.setCond(6);
+ }
+ giveItems(player, AMULET_REZONANSA_PERVIY, 1);
+ takeItems(player, FOOD_SACK, -1);
+ break;
+ case "stone12.htm":
+ if (st.getCond() == 6)
+ {
+ st.setCond(7);
+ }
+ break;
+ case "stone22.htm":
+ if (st.getCond() == 8)
+ {
+ addSpawn(FALLEN_ANGEL_HAURES, npc, true, 0, true);
+ st.setCond(9);
+ }
+ break;
+ case "stone25.htm":
+ if (st.getCond() == 10)
+ {
+ st.setCond(11);
+ }
+ break;
+ case "jer6.htm":
+ if (st.getCond() == 11)
+ {
+ st.setCond(12);
+ }
+ break;
+ case "stone32.htm":
+ if (st.getCond() == 14)
+ {
+ st.setCond(15);
+ }
+ break;
+ case "stone41.htm":
+ if (st.getCond() == 15)
+ {
+ st.setCond(16);
+ }
+ addSpawn(STONE_GUARDIAN_AZRAEL, npc, true, 0, true);
+ break;
+ case "erikrams2.htm":
+ if (st.getCond() == 16)
+ {
+ st.setCond(17);
+ }
+ giveItems(player, AMULET_REZONANSA_CHETVERTIY, 1);
+ break;
+ case "stone43.htm":
+ if (st.getCond() == 17)
+ {
+ st.setCond(18);
+ }
+ break;
+ case "aiken7.htm":
+ if (st.getCond() == 18)
+ {
+ if ((player.getLevel() < 76) && (player.getBaseClass() != 16))
+ {
+ htmltext = "30849-nolvl.htm";
+ }
+ addExpAndSp(player, 3100000, 103000);
+ rewardItems(player, BOOKGOLDLION, 1);
+ takeItems(player, AMULET_REZONANSA_PERVIY, -1);
+ takeItems(player, AMULET_REZONANSA_VTOROI, -1);
+ takeItems(player, AMULET_REZONANSA_TRETIY, -1);
+ takeItems(player, AMULET_REZONANSA_CHETVERTIY, -1);
+ takeItems(player, HALISHA_BADGE, -1);
+ st.exitQuest(false, true);
+ player.setClassId(97);
+ player.setBaseClass(97);
+ player.broadcastUserInfo();
+ npc.broadcastPacket(new MagicSkillUse(npc, player, 5103, 1, 1000, 0));
+ }
+ break;
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onTalk(L2Npc npc, L2PcInstance talker)
+ {
+ final QuestState qs = getQuestState(talker, true);
+ String htmltext = getNoQuestMsg(talker);
+
+ switch (qs.getState())
+ {
+ case State.CREATED:
+ {
+ if (npc.getId() == ORVEN)
+ {
+ htmltext = "aiken01.htm";
+ }
+ break;
+ }
+ case State.STARTED:
+ {
+ if (npc.getId() == ORVEN)
+ {
+ if (qs.getCond() == 1)
+ {
+ htmltext = "aiken01s.htm";
+ }
+ if (qs.getCond() == 18)
+ {
+ htmltext = "aiken6.htm";
+ }
+
+ }
+ if (npc.getId() == SERESIN)
+ {
+ if (qs.getCond() == 1)
+ {
+ htmltext = "jer1.htm";
+ }
+ if (qs.getCond() == 2)
+ {
+ htmltext = "jer2.htm";
+ }
+ if (qs.getCond() == 5)
+ {
+ htmltext = "jer3.htm";
+ }
+ if (qs.getCond() == 6)
+ {
+ htmltext = "jer4.htm";
+ }
+ if (qs.getCond() == 11)
+ {
+ htmltext = "jer5.htm";
+ }
+ if (qs.getCond() == 12)
+ {
+ htmltext = "jer6.htm";
+ }
+ }
+ if (npc.getId() == LEONARD)
+ {
+ if (qs.getCond() == 11)
+ {
+ htmltext = "jer5.htm";
+ }
+ if (qs.getCond() == 12)
+ {
+ htmltext = "jer6.htm";
+ }
+ }
+ if (npc.getId() == RIFKEN)
+ {
+ if (qs.getCond() == 2)
+ {
+ htmltext = "rifken1.htm";
+ }
+ if (qs.getCond() == 3)
+ {
+ htmltext = "rifken2.htm";
+ }
+ if (qs.getCond() == 4)
+ {
+ htmltext = "rifken3.htm";
+ }
+ }
+ if (npc.getId() == TABLET_OF_VISION_1)
+ {
+ if (qs.getCond() == 6)
+ {
+ htmltext = "stone11.htm";
+ }
+ if (qs.getCond() == 7)
+ {
+ htmltext = "stone12.htm";
+ }
+ }
+ if (npc.getId() == TABLET_OF_VISION_2)
+ {
+ if (qs.getCond() == 8)
+ {
+ htmltext = "stone21.htm";
+ }
+ if (qs.getCond() == 9)
+ {
+ htmltext = "stone23.htm";
+ }
+ if (qs.getCond() == 10)
+ {
+ htmltext = "stone24.htm";
+ }
+ if (qs.getCond() == 11)
+ {
+ htmltext = "stone25.htm";
+ }
+ }
+ if (npc.getId() == TABLET_OF_VISION_3)
+ {
+ if (qs.getCond() == 14)
+ {
+ htmltext = "stone31.htm";
+ }
+ if (qs.getCond() == 15)
+ {
+ htmltext = "stone32.htm";
+ }
+ }
+ if (npc.getId() == TABLET_OF_VISION_4)
+ {
+ if (qs.getCond() == 15)
+ {
+ htmltext = "stone40.htm";
+ }
+ if (qs.getCond() == 17)
+ {
+ htmltext = "stone42.htm";
+ }
+ if (qs.getCond() == 18)
+ {
+ htmltext = "stone43.htm";
+ }
+
+ }
+ if (npc.getId() == WINTER_HUNTER_KADYTH)
+ {
+ if (qs.getCond() == 16)
+ {
+ htmltext = "erikrams1.htm";
+ }
+ if (qs.getCond() == 17)
+ {
+ htmltext = "erikrams2.htm";
+ }
+ }
+ break;
+ }
+ case State.COMPLETED:
+ {
+ htmltext = getAlreadyCompletedMsg(talker);
+ break;
+ }
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
+ {
+ final QuestState qs = getQuestState(killer, false);
+ if ((qs != null) && qs.isStarted() && Util.checkIfInRange(1500, npc, killer, true))
+ {
+ switch (npc.getId())
+ {
+ case ICE_MONSTER:
+ case SPIRIT_OF_A_DROWNED:
+ case SOUL_OF_COLD:
+ case FIEND_OF_COLD:
+ case GHOST_OF_SOLITUDE:
+ case SPIRIT_OF_COLD:
+ if (qs.getCond() == 3)
+ {
+ if (getQuestItemsCount(killer, ICE_CRYSTAL_FRAGMENT) < 50)
+ {
+ giveItemRandomly(killer, npc, ICE_CRYSTAL_FRAGMENT, 1, 50, 50, true);
+ }
+ if (getQuestItemsCount(killer, ICE_CRYSTAL_FRAGMENT) >= 50)
+ {
+ qs.setCond(4);
+ }
+ }
+ break;
+ case FALLEN_ANGEL_HAURES:
+ if (qs.getCond() == 9)
+ {
+ qs.setCond(10);
+ }
+ break;
+ case SPAMPLAND_WATCHMAN:
+ case FLAME_DRAKE:
+ case FIERY_IFRIT:
+ case IKEDIT:
+ if (qs.getCond() == 12)
+ {
+ if (getQuestItemsCount(killer, HALISHA_BADGE) < 701)
+ {
+ giveItemRandomly(killer, npc, HALISHA_BADGE, 1, 701, 50, true);
+ if (getQuestItemsCount(killer, HALISHA_BADGE) >= 701)
+ {
+ addSpawn(HALISHA_ARCHON, npc, true, 0, true);
+ qs.setCond(13);
+ }
+ }
+ }
+ break;
+ case HALISHA_ARCHON:
+ if (qs.getCond() == 13)
+ {
+ if (!hasQuestItems(killer, AMULET_REZONANSA_TRETIY))
+ {
+ giveItemRandomly(killer, npc, AMULET_REZONANSA_TRETIY, 1, 1, 50, true);
+ }
+ qs.setCond(14);
+ }
+ break;
+ case STONE_GUARDIAN_AZRAEL:
+ if (qs.getCond() == 16)
+ {
+ addSpawn(WINTER_HUNTER_KADYTH, npc, true, 20000, true);
+ }
+ break;
+ }
+
+ if (qs.isCond(7))
+ {
+ int count = qs.getInt(KILL_COUNT_VAR);
+ if (npc.getId() == GATEKEEPER_OF_THE_HOLY_EDICT)
+ {
+ if (count < 20)
+ {
+ qs.set(KILL_COUNT_VAR, ++count);
+ sendNpcLogList(killer);
+ }
+ }
+ if (count >= 20)
+ {
+ qs.setCond(8, true);
+ giveItems(killer, AMULET_REZONANSA_VTOROI, 1);
+ }
+ }
+ }
+ return super.onKill(npc, killer, isSummon);
+ }
+
+ @Override
+ public Set getNpcLogList(L2PcInstance player)
+ {
+ final QuestState qs = getQuestState(player, false);
+ if ((qs != null) && qs.isCond(7))
+ {
+ final Set holder = new HashSet<>(1);
+
+ // guardian of forbidden knowledge
+ final int guardiancount = qs.getInt(KILL_COUNT_VAR);
+ if (guardiancount > 0)
+ {
+ holder.add(new NpcLogListHolder(GATEKEEPER_OF_THE_HOLY_EDICT, false, guardiancount));
+ }
+ return holder;
+ }
+ return super.getNpcLogList(player);
+ }
+}
\ No newline at end of file
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00085_SagaOfTheCardinal/aiken01.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00085_SagaOfTheCardinal/aiken01.htm
new file mode 100644
index 0000000000..26ed896567
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00085_SagaOfTheCardinal/aiken01.htm
@@ -0,0 +1,5 @@
+
+Orven:
+Do you want to become a Cardinal ?.
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00085_SagaOfTheCardinal/aiken01s.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00085_SagaOfTheCardinal/aiken01s.htm
new file mode 100644
index 0000000000..6c35c1fadc
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00085_SagaOfTheCardinal/aiken01s.htm
@@ -0,0 +1,4 @@
+
+Orven:
+High Priest Orven advises to meet with Cardinal Seresin in Oren.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00085_SagaOfTheCardinal/aiken02.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00085_SagaOfTheCardinal/aiken02.htm
new file mode 100644
index 0000000000..b3c85e75c7
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00085_SagaOfTheCardinal/aiken02.htm
@@ -0,0 +1,6 @@
+
+Orven:
+My young friend, you do not have enough experience to become a Cardinal. I see your passion and I hope that you will keep it in your heart, but it is not enough - only through the experience of battle you can acquire the power that will allow you not to deviate from your faith in the era of untruth.
+Come back when you are a little older and wiser. When you are ready, I will give you an assignment to check if you are ready to become a Cardinal.
+(Quest for characters whose level is 76 or higher.)
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00085_SagaOfTheCardinal/aiken02a.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00085_SagaOfTheCardinal/aiken02a.htm
new file mode 100644
index 0000000000..27b77a287e
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00085_SagaOfTheCardinal/aiken02a.htm
@@ -0,0 +1,6 @@
+
+Orven:
+Have you not already received the title of Cardinal?
+ My brother, you do not have to go through the test of the squire again.
+ Your duty is to fight for your faith and the glory of the lord.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00085_SagaOfTheCardinal/aiken03.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00085_SagaOfTheCardinal/aiken03.htm
new file mode 100644
index 0000000000..741d6fa395
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00085_SagaOfTheCardinal/aiken03.htm
@@ -0,0 +1,5 @@
+
+Orven:
+Apparently, you have already chosen your path.
+ You do not need to carry out the Cardinal mission.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00085_SagaOfTheCardinal/aiken5.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00085_SagaOfTheCardinal/aiken5.htm
new file mode 100644
index 0000000000..d280258390
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00085_SagaOfTheCardinal/aiken5.htm
@@ -0,0 +1,8 @@
+
+Orven:
+Do you want to become a Cardinal?
+ Well, then you must pass Saga Cardinal,
+To prove that you are not just a reckless, quick-tempered warrior, but
+ Warrior with the soul of this Cardinal. This is a form of ritual and the process of training,
+ Who must fulfill all who wish to become Cardinal.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00085_SagaOfTheCardinal/aiken6.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00085_SagaOfTheCardinal/aiken6.htm
new file mode 100644
index 0000000000..a8421ffa61
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00085_SagaOfTheCardinal/aiken6.htm
@@ -0,0 +1,5 @@
+
+Orven:
+Congratulations! You have passed all the tests and are ready to receive the profession of Cardinal !!!
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00085_SagaOfTheCardinal/aiken7.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00085_SagaOfTheCardinal/aiken7.htm
new file mode 100644
index 0000000000..a53b277d95
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00085_SagaOfTheCardinal/aiken7.htm
@@ -0,0 +1,5 @@
+
+Orven:
+Congratulations! You got the profession of Cardinal !!!
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00085_SagaOfTheCardinal/erikrams1.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00085_SagaOfTheCardinal/erikrams1.htm
new file mode 100644
index 0000000000..dd7aec14c5
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00085_SagaOfTheCardinal/erikrams1.htm
@@ -0,0 +1,7 @@
+
+Winter Hunter Cadet:
+
+Thank you! You helped avenge me, I will give you the fourth amulet
+
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00085_SagaOfTheCardinal/erikrams2.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00085_SagaOfTheCardinal/erikrams2.htm
new file mode 100644
index 0000000000..6b779eb0ba
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00085_SagaOfTheCardinal/erikrams2.htm
@@ -0,0 +1,5 @@
+
+Winter Hunter Cadet:
+
+Now activate the last stone
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00085_SagaOfTheCardinal/jer1.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00085_SagaOfTheCardinal/jer1.htm
new file mode 100644
index 0000000000..022a11893f
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00085_SagaOfTheCardinal/jer1.htm
@@ -0,0 +1,5 @@
+
+Seresin:
+Cardinal Seresin asks to go to the Gourmet Rifken and get food to feed the poor.
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00085_SagaOfTheCardinal/jer2.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00085_SagaOfTheCardinal/jer2.htm
new file mode 100644
index 0000000000..7f14573217
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00085_SagaOfTheCardinal/jer2.htm
@@ -0,0 +1,4 @@
+
+Seresin:
+Cardinal Seresin asks to go to the Gourmet Rifken and get food to feed the poor.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00085_SagaOfTheCardinal/jer3.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00085_SagaOfTheCardinal/jer3.htm
new file mode 100644
index 0000000000..000c315701
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00085_SagaOfTheCardinal/jer3.htm
@@ -0,0 +1,5 @@
+
+Seresin:
+Did you bring food?
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00085_SagaOfTheCardinal/jer4.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00085_SagaOfTheCardinal/jer4.htm
new file mode 100644
index 0000000000..54bb312faf
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00085_SagaOfTheCardinal/jer4.htm
@@ -0,0 +1,4 @@
+
+Seresin:
+You have received the Resonance Amulet. Activate the Stone of Knowledge to the south of the Tower of Insolence.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00085_SagaOfTheCardinal/jer5.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00085_SagaOfTheCardinal/jer5.htm
new file mode 100644
index 0000000000..3fc02274fd
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00085_SagaOfTheCardinal/jer5.htm
@@ -0,0 +1,5 @@
+
+Leonard:
+Have you come for the third Amulet of Resonance?
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00085_SagaOfTheCardinal/jer6.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00085_SagaOfTheCardinal/jer6.htm
new file mode 100644
index 0000000000..c275e83412
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00085_SagaOfTheCardinal/jer6.htm
@@ -0,0 +1,4 @@
+
+Leonard:
+Priest Leonard says that the third Amulet of Resonance is in Archon Halisha. To summon him, you need to destroy his minions in the Swollen Tops and collect the Badges of Halisha. Destroy these monsters and call Archon Halisha. The aim of the hunt is the Ranger of the Swamp, Burning Drake, Flame Iphreet, Ikedith
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00085_SagaOfTheCardinal/rifken1.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00085_SagaOfTheCardinal/rifken1.htm
new file mode 100644
index 0000000000..d3fd33edbe
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00085_SagaOfTheCardinal/rifken1.htm
@@ -0,0 +1,5 @@
+
+Rifken:
+To ensure that Gourmet Rifken's dishes are not spoiled, 50 Fragments of the Chill Crystal are needed. They can be obtained by destroying monsters to the southeast of Aden.
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00085_SagaOfTheCardinal/rifken2.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00085_SagaOfTheCardinal/rifken2.htm
new file mode 100644
index 0000000000..84b792cd8e
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00085_SagaOfTheCardinal/rifken2.htm
@@ -0,0 +1,4 @@
+
+Rifken:
+Obtain Fragments of the Crystal of Cold.These pieces can be obtained by destroying monsters to the southeast of Aden.The aim of the hunt is the Ice Monster, the Spirit of the Drowned One, the Soul of Cold, the Phantom of Solitude, the Cold Beast, the Spirit of Cold.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00085_SagaOfTheCardinal/rifken3.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00085_SagaOfTheCardinal/rifken3.htm
new file mode 100644
index 0000000000..9a88f48cab
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00085_SagaOfTheCardinal/rifken3.htm
@@ -0,0 +1,5 @@
+
+Rifken:
+Did you get all the ingredients?
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00085_SagaOfTheCardinal/rifken4.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00085_SagaOfTheCardinal/rifken4.htm
new file mode 100644
index 0000000000..dfb7aa8460
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00085_SagaOfTheCardinal/rifken4.htm
@@ -0,0 +1,4 @@
+
+Rifken:
+Now you have a Basket of Meals. Return to Oren to Cardinal Seresin
+
\ No newline at end of file
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00085_SagaOfTheCardinal/stone11.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00085_SagaOfTheCardinal/stone11.htm
new file mode 100644
index 0000000000..57ef2a097b
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00085_SagaOfTheCardinal/stone11.htm
@@ -0,0 +1,5 @@
+
+Stone of knowledge:
+You slash like a stone starts to vibrate
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00085_SagaOfTheCardinal/stone12.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00085_SagaOfTheCardinal/stone12.htm
new file mode 100644
index 0000000000..5009e55924
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00085_SagaOfTheCardinal/stone12.htm
@@ -0,0 +1,4 @@
+
+Stone of knowledge:
+You brought the amulet and the inscription appeared on the stone - The second Amulet of Resonance is located near the St Lawyer next to the second Stone of Knowledge.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00085_SagaOfTheCardinal/stone21.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00085_SagaOfTheCardinal/stone21.htm
new file mode 100644
index 0000000000..7711e3a6db
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00085_SagaOfTheCardinal/stone21.htm
@@ -0,0 +1,5 @@
+
+Stone of knowledge:
+You slash like a stone starts to vibrate
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00085_SagaOfTheCardinal/stone22.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00085_SagaOfTheCardinal/stone22.htm
new file mode 100644
index 0000000000..c5fae199b9
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00085_SagaOfTheCardinal/stone22.htm
@@ -0,0 +1,4 @@
+
+Stone of knowledge:
+As soon as you approached the stone, the Fallen Angel Khaures appeared. Obviously, he is trying to stop you. Destroy it.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00085_SagaOfTheCardinal/stone23.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00085_SagaOfTheCardinal/stone23.htm
new file mode 100644
index 0000000000..d323517e9b
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00085_SagaOfTheCardinal/stone23.htm
@@ -0,0 +1,4 @@
+
+Stone of knowledge:
+Now you can go in search of the third stone
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00085_SagaOfTheCardinal/stone24.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00085_SagaOfTheCardinal/stone24.htm
new file mode 100644
index 0000000000..fe77fa80f9
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00085_SagaOfTheCardinal/stone24.htm
@@ -0,0 +1,5 @@
+
+Stone of knowledge:
+You slash like a stone starts to vibrate
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00085_SagaOfTheCardinal/stone25.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00085_SagaOfTheCardinal/stone25.htm
new file mode 100644
index 0000000000..7a813b7474
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00085_SagaOfTheCardinal/stone25.htm
@@ -0,0 +1,4 @@
+
+Stone of knowledge:
+Activating the stone, you learned that the third Amulet of Resonance is at the Temple Priest Leonhard Einhasad. Get him the Resonance Amulet.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00085_SagaOfTheCardinal/stone31.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00085_SagaOfTheCardinal/stone31.htm
new file mode 100644
index 0000000000..a66e0444fb
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00085_SagaOfTheCardinal/stone31.htm
@@ -0,0 +1,5 @@
+
+Stone of knowledge:
+You slash like a stone starts to vibrate
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00085_SagaOfTheCardinal/stone32.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00085_SagaOfTheCardinal/stone32.htm
new file mode 100644
index 0000000000..b77e015b9e
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00085_SagaOfTheCardinal/stone32.htm
@@ -0,0 +1,4 @@
+
+Stone of knowledge:
+When the activation of the third Stone of Knowledge ended, he showed the location of the next stone. The fourth Stone of Knowledge is on the Speaking Island, and the last Amulet of Resonance is near the stone. Go there.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00085_SagaOfTheCardinal/stone40.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00085_SagaOfTheCardinal/stone40.htm
new file mode 100644
index 0000000000..7759658b73
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00085_SagaOfTheCardinal/stone40.htm
@@ -0,0 +1,7 @@
+
+You came to the stone and he began to vibrate
+
+The last amulet is in the Azrael Stone Keeper
+Are you ready to fight him?
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00085_SagaOfTheCardinal/stone41.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00085_SagaOfTheCardinal/stone41.htm
new file mode 100644
index 0000000000..68de5867d7
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00085_SagaOfTheCardinal/stone41.htm
@@ -0,0 +1,3 @@
+
+Nearby there was the Guardian of the Stone Azrael
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00085_SagaOfTheCardinal/stone42.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00085_SagaOfTheCardinal/stone42.htm
new file mode 100644
index 0000000000..232f7ab201
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00085_SagaOfTheCardinal/stone42.htm
@@ -0,0 +1,5 @@
+
+Stone of knowledge:
+You slash like a stone starts to vibrate
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00085_SagaOfTheCardinal/stone43.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00085_SagaOfTheCardinal/stone43.htm
new file mode 100644
index 0000000000..670577c756
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00085_SagaOfTheCardinal/stone43.htm
@@ -0,0 +1,5 @@
+
+Stone of knowledge:
+You successfully activated the last stone
+Return to Orven and tell him about your journey.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00086_SagaOfTheHierophant/Q00086_SagaOfTheHierophant.java b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00086_SagaOfTheHierophant/Q00086_SagaOfTheHierophant.java
new file mode 100644
index 0000000000..14dca03e47
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00086_SagaOfTheHierophant/Q00086_SagaOfTheHierophant.java
@@ -0,0 +1,462 @@
+package quests.Q00086_SagaOfTheHierophant;
+
+import java.util.HashSet;
+import java.util.Set;
+
+import com.l2jmobius.gameserver.model.actor.L2Npc;
+import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
+import com.l2jmobius.gameserver.model.base.ClassId;
+import com.l2jmobius.gameserver.model.holders.NpcLogListHolder;
+import com.l2jmobius.gameserver.model.quest.Quest;
+import com.l2jmobius.gameserver.model.quest.QuestState;
+import com.l2jmobius.gameserver.model.quest.State;
+import com.l2jmobius.gameserver.network.serverpackets.MagicSkillUse;
+import com.l2jmobius.gameserver.util.Util;
+
+//QuangNguyen
+
+public class Q00086_SagaOfTheHierophant extends Quest
+{
+ public final int ORVEN = 30857;
+ public final int SERESIN = 30657;
+ public final int RIFKEN = 34268;
+ public final int LEONARD = 30861;
+ public final int TABLET_OF_VISION_1 = 31646;
+ public final int TABLET_OF_VISION_2 = 31648;
+ public final int TABLET_OF_VISION_3 = 31650;
+ public final int TABLET_OF_VISION_4 = 31654;
+ public final int SUNSET_GUIDE_LUNA = 31591;
+ // mobs
+ public final int ICE_MONSTER = 27316;
+ public final int SPIRIT_OF_A_DROWNED = 27317;
+ public final int SOUL_OF_COLD = 27318;
+ public final int GHOST_OF_SOLITUDE = 27319;
+ public final int FIEND_OF_COLD = 27320;
+ public final int SPIRIT_OF_COLD = 27321;
+ public final int SPAMPLAND_WATCHMAN = 21650;
+ public final int FLAME_DRAKE = 21651;
+ public final int FIERY_IFRIT = 21652;
+ public final int IKEDIT = 21653;
+ public final int GATEKEEPER_OF_THE_HOLY_EDICT = 27215;
+ public final int FALLEN_ANGEL_NAVERIUS = 27269;
+ public final int HALISHA_ARCHON = 27219;
+ public final int FALLEN_ANGEL_TANAKIA = 27274;
+ // items
+ public final int ICE_CRYSTAL_FRAGMENT = 49820;
+ public final int HALISHA_BADGE = 7501;
+ public final int AMULET_REZONANSA_PERVIY = 7284;
+ public final int AMULET_REZONANSA_VTOROI = 7315;
+ public final int AMULET_REZONANSA_TRETIY = 7346;
+ public final int AMULET_REZONANSA_CHETVERTIY = 7377;
+ public final int FOOD_SACK = 49836;
+ // reward
+ public final int BOOKGOLDLION = 90038;
+ private static final String KILL_COUNT_VAR = "KillCount";
+
+ public Q00086_SagaOfTheHierophant()
+ {
+ super(86);
+ addStartNpc(ORVEN);
+ addTalkId(ORVEN, SERESIN, RIFKEN, LEONARD, SUNSET_GUIDE_LUNA, TABLET_OF_VISION_1, TABLET_OF_VISION_2, TABLET_OF_VISION_3, TABLET_OF_VISION_4);
+ addKillId(ICE_MONSTER, SPIRIT_OF_A_DROWNED, SOUL_OF_COLD, GHOST_OF_SOLITUDE, FIEND_OF_COLD);
+ addKillId(SPIRIT_OF_COLD, SPAMPLAND_WATCHMAN, FLAME_DRAKE, FIERY_IFRIT, IKEDIT);
+ addKillId(GATEKEEPER_OF_THE_HOLY_EDICT, FALLEN_ANGEL_NAVERIUS, HALISHA_ARCHON, FALLEN_ANGEL_TANAKIA);
+ registerQuestItems(FOOD_SACK, ICE_CRYSTAL_FRAGMENT, HALISHA_BADGE);
+ addCondMinLevel(76, "aiken02.htm");
+ addCondClassId(ClassId.PROPHET, "aiken03.htm");
+ }
+
+ @Override
+ public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
+ {
+ final QuestState st = getQuestState(player, false);
+ if (st == null)
+ {
+ return null;
+ }
+ String htmltext = event;
+ switch (event)
+ {
+ case "aiken02a.htm":
+ htmltext = "aiken5.htm";
+ break;
+ case "aiken01s.htm":
+ if (st.getCond() == 0)
+ {
+ st.startQuest();
+ st.setCond(1);
+ }
+ break;
+ case "jer2.htm":
+ if (st.getCond() == 1)
+ {
+ st.setCond(2);
+ }
+ break;
+ case "rifken2.htm":
+ if (st.getCond() == 2)
+ {
+ st.setCond(3);
+ }
+ break;
+ case "rifken4.htm":
+ if (st.getCond() == 4)
+ {
+ st.setCond(5);
+ }
+ takeItems(player, ICE_CRYSTAL_FRAGMENT, -1);
+ giveItems(player, FOOD_SACK, 1);
+ break;
+ case "jer4.htm":
+ if (st.getCond() == 5)
+ {
+ st.setCond(6);
+ }
+ giveItems(player, AMULET_REZONANSA_PERVIY, 1);
+ takeItems(player, FOOD_SACK, -1);
+ break;
+ case "stone12.htm":
+ if (st.getCond() == 6)
+ {
+ st.setCond(7);
+ }
+ break;
+ case "stone22.htm":
+ if (st.getCond() == 8)
+ {
+ addSpawn(FALLEN_ANGEL_NAVERIUS, npc, true, 0, true);
+ st.setCond(9);
+ }
+ break;
+ case "stone25.htm":
+ if (st.getCond() == 10)
+ {
+ st.setCond(11);
+ }
+ break;
+ case "jer6.htm":
+ if (st.getCond() == 11)
+ {
+ st.setCond(12);
+ }
+ break;
+ case "stone32.htm":
+ if (st.getCond() == 14)
+ {
+ st.setCond(15);
+ }
+ break;
+ case "stone41.htm":
+ if (st.getCond() == 15)
+ {
+ st.setCond(16);
+ }
+ addSpawn(FALLEN_ANGEL_TANAKIA, npc, true, 0, true);
+ break;
+ case "erikrams2.htm":
+ if (st.getCond() == 16)
+ {
+ st.setCond(17);
+ }
+ giveItems(player, AMULET_REZONANSA_CHETVERTIY, 1);
+ break;
+ case "stone43.htm":
+ if (st.getCond() == 17)
+ {
+ st.setCond(18);
+ }
+ break;
+ case "aiken7.htm":
+ if (st.getCond() == 18)
+ {
+ if ((player.getLevel() < 76) && (player.getBaseClass() != 17))
+ {
+ htmltext = "30849-nolvl.htm";
+ }
+ addExpAndSp(player, 3100000, 103000);
+ rewardItems(player, BOOKGOLDLION, 1);
+ takeItems(player, AMULET_REZONANSA_PERVIY, -1);
+ takeItems(player, AMULET_REZONANSA_VTOROI, -1);
+ takeItems(player, AMULET_REZONANSA_TRETIY, -1);
+ takeItems(player, AMULET_REZONANSA_CHETVERTIY, -1);
+ takeItems(player, HALISHA_BADGE, -1);
+ st.exitQuest(false, true);
+ player.setClassId(98);
+ player.setBaseClass(98);
+ player.broadcastUserInfo();
+ npc.broadcastPacket(new MagicSkillUse(npc, player, 5103, 1, 1000, 0));
+ }
+ break;
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onTalk(L2Npc npc, L2PcInstance talker)
+ {
+ final QuestState qs = getQuestState(talker, true);
+ String htmltext = getNoQuestMsg(talker);
+
+ switch (qs.getState())
+ {
+ case State.CREATED:
+ {
+ if (npc.getId() == ORVEN)
+ {
+ htmltext = "aiken01.htm";
+ }
+ break;
+ }
+ case State.STARTED:
+ {
+ if (npc.getId() == ORVEN)
+ {
+ if (qs.getCond() == 1)
+ {
+ htmltext = "aiken01s.htm";
+ }
+ if (qs.getCond() == 18)
+ {
+ htmltext = "aiken6.htm";
+ }
+
+ }
+ if (npc.getId() == SERESIN)
+ {
+ if (qs.getCond() == 1)
+ {
+ htmltext = "jer1.htm";
+ }
+ if (qs.getCond() == 2)
+ {
+ htmltext = "jer2.htm";
+ }
+ if (qs.getCond() == 5)
+ {
+ htmltext = "jer3.htm";
+ }
+ if (qs.getCond() == 6)
+ {
+ htmltext = "jer4.htm";
+ }
+ if (qs.getCond() == 11)
+ {
+ htmltext = "jer5.htm";
+ }
+ if (qs.getCond() == 12)
+ {
+ htmltext = "jer6.htm";
+ }
+ }
+ if (npc.getId() == LEONARD)
+ {
+ if (qs.getCond() == 11)
+ {
+ htmltext = "jer5.htm";
+ }
+ if (qs.getCond() == 12)
+ {
+ htmltext = "jer6.htm";
+ }
+ }
+ if (npc.getId() == RIFKEN)
+ {
+ if (qs.getCond() == 2)
+ {
+ htmltext = "rifken1.htm";
+ }
+ if (qs.getCond() == 3)
+ {
+ htmltext = "rifken2.htm";
+ }
+ if (qs.getCond() == 4)
+ {
+ htmltext = "rifken3.htm";
+ }
+ }
+ if (npc.getId() == TABLET_OF_VISION_1)
+ {
+ if (qs.getCond() == 6)
+ {
+ htmltext = "stone11.htm";
+ }
+ if (qs.getCond() == 7)
+ {
+ htmltext = "stone12.htm";
+ }
+ }
+ if (npc.getId() == TABLET_OF_VISION_2)
+ {
+ if (qs.getCond() == 8)
+ {
+ htmltext = "stone21.htm";
+ }
+ if (qs.getCond() == 9)
+ {
+ htmltext = "stone23.htm";
+ }
+ if (qs.getCond() == 10)
+ {
+ htmltext = "stone24.htm";
+ }
+ if (qs.getCond() == 11)
+ {
+ htmltext = "stone25.htm";
+ }
+ }
+ if (npc.getId() == TABLET_OF_VISION_3)
+ {
+ if (qs.getCond() == 14)
+ {
+ htmltext = "stone31.htm";
+ }
+ if (qs.getCond() == 15)
+ {
+ htmltext = "stone32.htm";
+ }
+ }
+ if (npc.getId() == TABLET_OF_VISION_4)
+ {
+ if (qs.getCond() == 15)
+ {
+ htmltext = "stone40.htm";
+ }
+ if (qs.getCond() == 17)
+ {
+ htmltext = "stone42.htm";
+ }
+ if (qs.getCond() == 18)
+ {
+ htmltext = "stone43.htm";
+ }
+
+ }
+ if (npc.getId() == SUNSET_GUIDE_LUNA)
+ {
+ if (qs.getCond() == 16)
+ {
+ htmltext = "erikrams1.htm";
+ }
+ if (qs.getCond() == 17)
+ {
+ htmltext = "erikrams2.htm";
+ }
+ }
+ break;
+ }
+ case State.COMPLETED:
+ {
+ htmltext = getAlreadyCompletedMsg(talker);
+ break;
+ }
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
+ {
+ final QuestState qs = getQuestState(killer, false);
+ if ((qs != null) && qs.isStarted() && Util.checkIfInRange(1500, npc, killer, true))
+ {
+ switch (npc.getId())
+ {
+ case ICE_MONSTER:
+ case SPIRIT_OF_A_DROWNED:
+ case SOUL_OF_COLD:
+ case FIEND_OF_COLD:
+ case GHOST_OF_SOLITUDE:
+ case SPIRIT_OF_COLD:
+ if (qs.getCond() == 3)
+ {
+ if (getQuestItemsCount(killer, ICE_CRYSTAL_FRAGMENT) < 50)
+ {
+ giveItemRandomly(killer, npc, ICE_CRYSTAL_FRAGMENT, 1, 50, 50, true);
+ }
+ if (getQuestItemsCount(killer, ICE_CRYSTAL_FRAGMENT) >= 50)
+ {
+ qs.setCond(4);
+ }
+ }
+ break;
+ case FALLEN_ANGEL_NAVERIUS:
+ if (qs.getCond() == 9)
+ {
+ qs.setCond(10);
+ }
+ break;
+ case SPAMPLAND_WATCHMAN:
+ case FLAME_DRAKE:
+ case FIERY_IFRIT:
+ case IKEDIT:
+ if (qs.getCond() == 12)
+ {
+ if (getQuestItemsCount(killer, HALISHA_BADGE) < 701)
+ {
+ giveItemRandomly(killer, npc, HALISHA_BADGE, 1, 701, 50, true);
+ if (getQuestItemsCount(killer, HALISHA_BADGE) >= 701)
+ {
+ addSpawn(HALISHA_ARCHON, npc, true, 0, true);
+ qs.setCond(13);
+ }
+ }
+ }
+ break;
+ case HALISHA_ARCHON:
+ if (qs.getCond() == 13)
+ {
+ if (!hasQuestItems(killer, AMULET_REZONANSA_TRETIY))
+ {
+ giveItemRandomly(killer, npc, AMULET_REZONANSA_TRETIY, 1, 1, 50, true);
+ }
+ qs.setCond(14);
+ }
+ break;
+ case FALLEN_ANGEL_TANAKIA:
+ if (qs.getCond() == 16)
+ {
+ addSpawn(SUNSET_GUIDE_LUNA, npc, true, 20000, true);
+ }
+ break;
+ }
+
+ if (qs.isCond(7))
+ {
+ int count = qs.getInt(KILL_COUNT_VAR);
+ if (npc.getId() == GATEKEEPER_OF_THE_HOLY_EDICT)
+ {
+ if (count < 20)
+ {
+ qs.set(KILL_COUNT_VAR, ++count);
+ sendNpcLogList(killer);
+ }
+ }
+ if (count >= 20)
+ {
+ qs.setCond(8, true);
+ giveItems(killer, AMULET_REZONANSA_VTOROI, 1);
+ }
+ }
+ }
+ return super.onKill(npc, killer, isSummon);
+ }
+
+ @Override
+ public Set getNpcLogList(L2PcInstance player)
+ {
+ final QuestState qs = getQuestState(player, false);
+ if ((qs != null) && qs.isCond(7))
+ {
+ final Set holder = new HashSet<>(1);
+
+ // guardian of forbidden knowledge
+ final int guardiancount = qs.getInt(KILL_COUNT_VAR);
+ if (guardiancount > 0)
+ {
+ holder.add(new NpcLogListHolder(GATEKEEPER_OF_THE_HOLY_EDICT, false, guardiancount));
+ }
+ return holder;
+ }
+ return super.getNpcLogList(player);
+ }
+}
\ No newline at end of file
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00086_SagaOfTheHierophant/aiken01.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00086_SagaOfTheHierophant/aiken01.htm
new file mode 100644
index 0000000000..c1724e0fd0
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00086_SagaOfTheHierophant/aiken01.htm
@@ -0,0 +1,5 @@
+
+Orven:
+Do you want to become an Hierophant ?.
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00086_SagaOfTheHierophant/aiken01s.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00086_SagaOfTheHierophant/aiken01s.htm
new file mode 100644
index 0000000000..6c35c1fadc
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00086_SagaOfTheHierophant/aiken01s.htm
@@ -0,0 +1,4 @@
+
+Orven:
+High Priest Orven advises to meet with Cardinal Seresin in Oren.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00086_SagaOfTheHierophant/aiken02.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00086_SagaOfTheHierophant/aiken02.htm
new file mode 100644
index 0000000000..675ecdee2c
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00086_SagaOfTheHierophant/aiken02.htm
@@ -0,0 +1,6 @@
+
+Orven:
+My young friend, you do not have enough experience to become an Hierophant. I see your passion and I hope that you will keep it in your heart, but it is not enough - only through the experience of battle you can acquire the power that will allow you not to deviate from your faith in the era of untruth.
+Come back when you are a little older and wiser. When you are ready, I will give you a mission to check if you are ready to become an apostle.
+(Quest for characters whose level is 76 or higher.)
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00086_SagaOfTheHierophant/aiken02a.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00086_SagaOfTheHierophant/aiken02a.htm
new file mode 100644
index 0000000000..bd58deda30
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00086_SagaOfTheHierophant/aiken02a.htm
@@ -0,0 +1,6 @@
+
+Orven:
+Have you not already received the title of Hierophant?
+ My brother, you do not have to go through the test of the squire again.
+ Your duty is to fight for your faith and the glory of the lord.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00086_SagaOfTheHierophant/aiken03.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00086_SagaOfTheHierophant/aiken03.htm
new file mode 100644
index 0000000000..cf04b7e81f
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00086_SagaOfTheHierophant/aiken03.htm
@@ -0,0 +1,5 @@
+
+Orven:
+Apparently, you have already chosen your path.
+ You do not need to perform the task of the Hierophant.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00086_SagaOfTheHierophant/aiken5.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00086_SagaOfTheHierophant/aiken5.htm
new file mode 100644
index 0000000000..b0f2e2ba2d
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00086_SagaOfTheHierophant/aiken5.htm
@@ -0,0 +1,8 @@
+
+Orven:
+Do you want to become an Hierophant?
+ Well, then you must pass Saga of the Hierophant,
+ To prove that you are not just a reckless, quick-tempered warrior, but
+ Warrior with the soul of the real Hierophant. This is a form of ritual and the process of training,
+ Which all those who wish to become an apostle must perform.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00086_SagaOfTheHierophant/aiken6.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00086_SagaOfTheHierophant/aiken6.htm
new file mode 100644
index 0000000000..afdacc86ca
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00086_SagaOfTheHierophant/aiken6.htm
@@ -0,0 +1,5 @@
+
+Orven:
+Congratulations! You have passed all the tests and are ready to receive the profession of the Hierophant !!!
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00086_SagaOfTheHierophant/aiken7.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00086_SagaOfTheHierophant/aiken7.htm
new file mode 100644
index 0000000000..c578605032
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00086_SagaOfTheHierophant/aiken7.htm
@@ -0,0 +1,5 @@
+
+Orven:
+Congratulations! You have received the Hierophant profession !!!
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00086_SagaOfTheHierophant/erikrams1.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00086_SagaOfTheHierophant/erikrams1.htm
new file mode 100644
index 0000000000..a9638553d7
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00086_SagaOfTheHierophant/erikrams1.htm
@@ -0,0 +1,7 @@
+
+Moon Explorer Sunset:
+
+Thank you! You helped avenge me, I will give you the fourth amulet
+
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00086_SagaOfTheHierophant/erikrams2.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00086_SagaOfTheHierophant/erikrams2.htm
new file mode 100644
index 0000000000..f7daf6ef4b
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00086_SagaOfTheHierophant/erikrams2.htm
@@ -0,0 +1,5 @@
+
+Moon Explorer Sunset:
+
+Now activate the last stone
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00086_SagaOfTheHierophant/jer1.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00086_SagaOfTheHierophant/jer1.htm
new file mode 100644
index 0000000000..2c70cefaa3
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00086_SagaOfTheHierophant/jer1.htm
@@ -0,0 +1,5 @@
+
+Seresin:
+Cardinal Seresin asks to go to the Gourmet Rifken and get food to feed the poor.
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00086_SagaOfTheHierophant/jer2.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00086_SagaOfTheHierophant/jer2.htm
new file mode 100644
index 0000000000..7f14573217
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00086_SagaOfTheHierophant/jer2.htm
@@ -0,0 +1,4 @@
+
+Seresin:
+Cardinal Seresin asks to go to the Gourmet Rifken and get food to feed the poor.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00086_SagaOfTheHierophant/jer3.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00086_SagaOfTheHierophant/jer3.htm
new file mode 100644
index 0000000000..7d03334362
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00086_SagaOfTheHierophant/jer3.htm
@@ -0,0 +1,5 @@
+
+Seresin:
+Did you bring food?
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00086_SagaOfTheHierophant/jer4.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00086_SagaOfTheHierophant/jer4.htm
new file mode 100644
index 0000000000..54bb312faf
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00086_SagaOfTheHierophant/jer4.htm
@@ -0,0 +1,4 @@
+
+Seresin:
+You have received the Resonance Amulet. Activate the Stone of Knowledge to the south of the Tower of Insolence.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00086_SagaOfTheHierophant/jer5.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00086_SagaOfTheHierophant/jer5.htm
new file mode 100644
index 0000000000..875bcc342a
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00086_SagaOfTheHierophant/jer5.htm
@@ -0,0 +1,5 @@
+
+Leonard:
+Have you come for the third Amulet of Resonance?
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00086_SagaOfTheHierophant/jer6.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00086_SagaOfTheHierophant/jer6.htm
new file mode 100644
index 0000000000..9f6ef51091
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00086_SagaOfTheHierophant/jer6.htm
@@ -0,0 +1,4 @@
+
+Leonard:
+Priest Leonard says that the third Amulet of Resonance is in Archon Halisha. To summon him, you need to destroy his minions in the Swollen Tops and collect the Badges of Halisha. Destroy these monsters and call Archon Halisha. The aim of the hunt is the Ranger of the Swamp, Burning Drake, Flame Iphreet, Ikedith
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00086_SagaOfTheHierophant/rifken1.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00086_SagaOfTheHierophant/rifken1.htm
new file mode 100644
index 0000000000..22c61b39d9
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00086_SagaOfTheHierophant/rifken1.htm
@@ -0,0 +1,5 @@
+
+Rifken:
+To ensure that Gourmet Rifken's dishes are not spoiled, 50 Fragments of the Chill Crystal are needed. They can be obtained by destroying monsters to the southeast of Aden.
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00086_SagaOfTheHierophant/rifken2.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00086_SagaOfTheHierophant/rifken2.htm
new file mode 100644
index 0000000000..84b792cd8e
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00086_SagaOfTheHierophant/rifken2.htm
@@ -0,0 +1,4 @@
+
+Rifken:
+Obtain Fragments of the Crystal of Cold.These pieces can be obtained by destroying monsters to the southeast of Aden.The aim of the hunt is the Ice Monster, the Spirit of the Drowned One, the Soul of Cold, the Phantom of Solitude, the Cold Beast, the Spirit of Cold.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00086_SagaOfTheHierophant/rifken3.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00086_SagaOfTheHierophant/rifken3.htm
new file mode 100644
index 0000000000..725e0a4f31
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00086_SagaOfTheHierophant/rifken3.htm
@@ -0,0 +1,5 @@
+
+Rifken:
+Did you get all the ingredients?
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00086_SagaOfTheHierophant/rifken4.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00086_SagaOfTheHierophant/rifken4.htm
new file mode 100644
index 0000000000..7f660fbb68
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00086_SagaOfTheHierophant/rifken4.htm
@@ -0,0 +1,4 @@
+
+Rifken:
+Now you have a Basket of Meals. Return to Oren to Cardinal Seresin.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00086_SagaOfTheHierophant/stone11.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00086_SagaOfTheHierophant/stone11.htm
new file mode 100644
index 0000000000..5a9ed86f29
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00086_SagaOfTheHierophant/stone11.htm
@@ -0,0 +1,5 @@
+
+Stone of knowledge:
+You slash like a stone starts to vibrate
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00086_SagaOfTheHierophant/stone12.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00086_SagaOfTheHierophant/stone12.htm
new file mode 100644
index 0000000000..a8b546eb71
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00086_SagaOfTheHierophant/stone12.htm
@@ -0,0 +1,4 @@
+
+Stone of knowledge:
+You brought the amulet and the inscription appeared on the stone - The second Amulet of Resonance is located near the St Lawyer next to the second Stone of Knowledge.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00086_SagaOfTheHierophant/stone21.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00086_SagaOfTheHierophant/stone21.htm
new file mode 100644
index 0000000000..d93bf1794f
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00086_SagaOfTheHierophant/stone21.htm
@@ -0,0 +1,5 @@
+
+Stone of knowledge:
+You slash like a stone starts to vibrate
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00086_SagaOfTheHierophant/stone22.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00086_SagaOfTheHierophant/stone22.htm
new file mode 100644
index 0000000000..421f94e331
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00086_SagaOfTheHierophant/stone22.htm
@@ -0,0 +1,4 @@
+
+Stone of knowledge:
+As soon as you came to the stone, the Fallen Angel Nawerious appeared. Obviously, he is trying to stop you. Destroy it.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00086_SagaOfTheHierophant/stone23.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00086_SagaOfTheHierophant/stone23.htm
new file mode 100644
index 0000000000..d323517e9b
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00086_SagaOfTheHierophant/stone23.htm
@@ -0,0 +1,4 @@
+
+Stone of knowledge:
+Now you can go in search of the third stone
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00086_SagaOfTheHierophant/stone24.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00086_SagaOfTheHierophant/stone24.htm
new file mode 100644
index 0000000000..2962435021
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00086_SagaOfTheHierophant/stone24.htm
@@ -0,0 +1,5 @@
+
+Stone of knowledge:
+You slash like a stone starts to vibrate
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00086_SagaOfTheHierophant/stone25.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00086_SagaOfTheHierophant/stone25.htm
new file mode 100644
index 0000000000..7a813b7474
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00086_SagaOfTheHierophant/stone25.htm
@@ -0,0 +1,4 @@
+
+Stone of knowledge:
+Activating the stone, you learned that the third Amulet of Resonance is at the Temple Priest Leonhard Einhasad. Get him the Resonance Amulet.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00086_SagaOfTheHierophant/stone31.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00086_SagaOfTheHierophant/stone31.htm
new file mode 100644
index 0000000000..93f1ba5fa4
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00086_SagaOfTheHierophant/stone31.htm
@@ -0,0 +1,5 @@
+
+Stone of knowledge:
+You slash like a stone starts to vibrate
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00086_SagaOfTheHierophant/stone32.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00086_SagaOfTheHierophant/stone32.htm
new file mode 100644
index 0000000000..b77e015b9e
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00086_SagaOfTheHierophant/stone32.htm
@@ -0,0 +1,4 @@
+
+Stone of knowledge:
+When the activation of the third Stone of Knowledge ended, he showed the location of the next stone. The fourth Stone of Knowledge is on the Speaking Island, and the last Amulet of Resonance is near the stone. Go there.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00086_SagaOfTheHierophant/stone40.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00086_SagaOfTheHierophant/stone40.htm
new file mode 100644
index 0000000000..16fe206b3b
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00086_SagaOfTheHierophant/stone40.htm
@@ -0,0 +1,7 @@
+
+You came to the stone and he began to vibrate
+
+The last amulet is in Stone Guardian Tanaka
+Are you ready to fight him?
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00086_SagaOfTheHierophant/stone41.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00086_SagaOfTheHierophant/stone41.htm
new file mode 100644
index 0000000000..bbf3f59183
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00086_SagaOfTheHierophant/stone41.htm
@@ -0,0 +1,3 @@
+
+A Guardian of the Stone of Tanaka appeared nearby
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00086_SagaOfTheHierophant/stone42.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00086_SagaOfTheHierophant/stone42.htm
new file mode 100644
index 0000000000..8df730ccdd
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00086_SagaOfTheHierophant/stone42.htm
@@ -0,0 +1,5 @@
+
+Stone of knowledge:
+You slash like a stone starts to vibrate
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00086_SagaOfTheHierophant/stone43.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00086_SagaOfTheHierophant/stone43.htm
new file mode 100644
index 0000000000..670577c756
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00086_SagaOfTheHierophant/stone43.htm
@@ -0,0 +1,5 @@
+
+Stone of knowledge:
+You successfully activated the last stone
+Return to Orven and tell him about your journey.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00087_SagaOfEvasSaint/Q00087_SagaOfEvasSaint.java b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00087_SagaOfEvasSaint/Q00087_SagaOfEvasSaint.java
new file mode 100644
index 0000000000..42179bce2a
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00087_SagaOfEvasSaint/Q00087_SagaOfEvasSaint.java
@@ -0,0 +1,454 @@
+package quests.Q00087_SagaOfEvasSaint;
+
+import java.util.HashSet;
+import java.util.Set;
+
+import com.l2jmobius.gameserver.model.actor.L2Npc;
+import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
+import com.l2jmobius.gameserver.model.base.ClassId;
+import com.l2jmobius.gameserver.model.holders.NpcLogListHolder;
+import com.l2jmobius.gameserver.model.quest.Quest;
+import com.l2jmobius.gameserver.model.quest.QuestState;
+import com.l2jmobius.gameserver.model.quest.State;
+import com.l2jmobius.gameserver.network.serverpackets.MagicSkillUse;
+import com.l2jmobius.gameserver.util.Util;
+
+//QuangNguyen
+
+public class Q00087_SagaOfEvasSaint extends Quest
+{
+ public final int ORVEN = 30857;
+ public final int SERESIN = 30657;
+ public final int RIFKEN = 34268;
+ public final int VIVIAN = 30859;
+ public final int TABLET_OF_VISION_1 = 31646;
+ public final int TABLET_OF_VISION_2 = 31648;
+ public final int TABLET_OF_VISION_3 = 31650;
+ public final int TABLET_OF_VISION_4 = 31655;
+ public final int ELIKIA = 31620;
+ // mobs
+ public final int ICE_MONSTER = 27316;
+ public final int SPIRIT_OF_A_DROWNED = 27317;
+ public final int SOUL_OF_COLD = 27318;
+ public final int GHOST_OF_SOLITUDE = 27319;
+ public final int FIEND_OF_COLD = 27320;
+ public final int SPIRIT_OF_COLD = 27321;
+ public final int SPAMPLAND_WATCHMAN = 21650;
+ public final int FLAME_DRAKE = 21651;
+ public final int FIERY_IFRIT = 21652;
+ public final int IKEDIT = 21653;
+ public final int GATEKEEPER_OF_THE_HOLY_EDICT = 27215;
+ public final int FALLEN_ANGEL_NAVERIUS = 27266;
+ public final int HALISHA_ARCHON = 27219;
+ public final int FALLEN_ANGEL_TANAKIA = 27274;
+ // items
+ public final int ICE_CRYSTAL_FRAGMENT = 49821;
+ public final int HALISHA_BADGE = 7502;
+ public final int AMULET_REZONANSA_PERVIY = 7285;
+ public final int AMULET_REZONANSA_VTOROI = 7316;
+ public final int AMULET_REZONANSA_TRETIY = 7347;
+ public final int AMULET_REZONANSA_CHETVERTIY = 7378;
+ public final int FOOD_SACK = 49837;
+ // reward
+ public final int BOOKPEGASUS = 90039;
+ private static final String KILL_COUNT_VAR = "KillCount";
+
+ public Q00087_SagaOfEvasSaint()
+ {
+ super(87);
+ addStartNpc(ORVEN);
+ addTalkId(ORVEN, SERESIN, RIFKEN, VIVIAN, ELIKIA, TABLET_OF_VISION_1, TABLET_OF_VISION_2, TABLET_OF_VISION_3, TABLET_OF_VISION_4);
+ addKillId(ICE_MONSTER, SPIRIT_OF_A_DROWNED, SOUL_OF_COLD, GHOST_OF_SOLITUDE, FIEND_OF_COLD);
+ addKillId(SPIRIT_OF_COLD, SPAMPLAND_WATCHMAN, FLAME_DRAKE, FIERY_IFRIT, IKEDIT);
+ addKillId(GATEKEEPER_OF_THE_HOLY_EDICT, FALLEN_ANGEL_NAVERIUS, HALISHA_ARCHON, FALLEN_ANGEL_TANAKIA);
+ registerQuestItems(FOOD_SACK, ICE_CRYSTAL_FRAGMENT, HALISHA_BADGE);
+ addCondMinLevel(76, "aiken02.htm");
+ addCondClassId(ClassId.ELDER, "aiken03.htm");
+ }
+
+ @Override
+ public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
+ {
+ final QuestState st = getQuestState(player, false);
+ if (st == null)
+ {
+ return null;
+ }
+ String htmltext = event;
+ switch (event)
+ {
+ case "aiken02a.htm":
+ htmltext = "aiken5.htm";
+ break;
+ case "aiken01s.htm":
+ if (st.getCond() == 0)
+ {
+ st.startQuest();
+ st.setCond(1);
+ }
+ break;
+ case "jer2.htm":
+ if (st.getCond() == 1)
+ {
+ st.setCond(2);
+ }
+ break;
+ case "rifken2.htm":
+ if (st.getCond() == 2)
+ {
+ st.setCond(3);
+ }
+ break;
+ case "rifken4.htm":
+ if (st.getCond() == 4)
+ {
+ st.setCond(5);
+ }
+ takeItems(player, ICE_CRYSTAL_FRAGMENT, -1);
+ giveItems(player, FOOD_SACK, 1);
+ break;
+ case "jer4.htm":
+ if (st.getCond() == 5)
+ {
+ st.setCond(6);
+ }
+ giveItems(player, AMULET_REZONANSA_PERVIY, 1);
+ takeItems(player, FOOD_SACK, -1);
+ break;
+ case "stone12.htm":
+ if (st.getCond() == 6)
+ {
+ st.setCond(7);
+ }
+ break;
+ case "stone22.htm":
+ if (st.getCond() == 8)
+ {
+ addSpawn(FALLEN_ANGEL_NAVERIUS, npc, true, 0, true);
+ st.setCond(9);
+ }
+ break;
+ case "stone25.htm":
+ if (st.getCond() == 10)
+ {
+ st.setCond(11);
+ }
+ break;
+ case "jer6.htm":
+ if (st.getCond() == 11)
+ {
+ st.setCond(12);
+ }
+ break;
+ case "stone32.htm":
+ if (st.getCond() == 14)
+ {
+ st.setCond(15);
+ }
+ break;
+ case "stone41.htm":
+ if (st.getCond() == 15)
+ {
+ st.setCond(16);
+ }
+ addSpawn(FALLEN_ANGEL_TANAKIA, npc, true, 0, true);
+ break;
+ case "erikrams2.htm":
+ if (st.getCond() == 16)
+ {
+ st.setCond(17);
+ }
+ giveItems(player, AMULET_REZONANSA_CHETVERTIY, 1);
+ break;
+ case "stone43.htm":
+ if (st.getCond() == 17)
+ {
+ st.setCond(18);
+ }
+ break;
+ case "aiken7.htm":
+ if (st.getCond() == 18)
+ {
+ if ((player.getLevel() < 76) && (player.getBaseClass() != 30))
+ {
+ htmltext = "30849-nolvl.htm";
+ }
+ addExpAndSp(player, 3100000, 103000);
+ rewardItems(player, BOOKPEGASUS, 1);
+ takeItems(player, AMULET_REZONANSA_PERVIY, -1);
+ takeItems(player, AMULET_REZONANSA_VTOROI, -1);
+ takeItems(player, AMULET_REZONANSA_TRETIY, -1);
+ takeItems(player, AMULET_REZONANSA_CHETVERTIY, -1);
+ takeItems(player, HALISHA_BADGE, -1);
+ st.exitQuest(false, true);
+ player.setClassId(105);
+ player.setBaseClass(105);
+ player.broadcastUserInfo();
+ npc.broadcastPacket(new MagicSkillUse(npc, player, 5103, 1, 1000, 0));
+ }
+ break;
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onTalk(L2Npc npc, L2PcInstance talker)
+ {
+ final QuestState qs = getQuestState(talker, true);
+ String htmltext = getNoQuestMsg(talker);
+
+ switch (qs.getState())
+ {
+ case State.CREATED:
+ {
+ if (npc.getId() == ORVEN)
+ {
+ htmltext = "aiken01.htm";
+ }
+ break;
+ }
+ case State.STARTED:
+ {
+ if (npc.getId() == ORVEN)
+ {
+ if (qs.getCond() == 1)
+ {
+ htmltext = "aiken01s.htm";
+ }
+ if (qs.getCond() == 18)
+ {
+ htmltext = "aiken6.htm";
+ }
+
+ }
+ if (npc.getId() == SERESIN)
+ {
+ if (qs.getCond() == 1)
+ {
+ htmltext = "jer1.htm";
+ }
+ if (qs.getCond() == 2)
+ {
+ htmltext = "jer2.htm";
+ }
+ if (qs.getCond() == 5)
+ {
+ htmltext = "jer3.htm";
+ }
+ if (qs.getCond() == 6)
+ {
+ htmltext = "jer4.htm";
+ }
+ }
+ if (npc.getId() == VIVIAN)
+ {
+ if (qs.getCond() == 11)
+ {
+ htmltext = "jer5.htm";
+ }
+ if (qs.getCond() == 12)
+ {
+ htmltext = "jer6.htm";
+ }
+ }
+ if (npc.getId() == RIFKEN)
+ {
+ if (qs.getCond() == 2)
+ {
+ htmltext = "rifken1.htm";
+ }
+ if (qs.getCond() == 3)
+ {
+ htmltext = "rifken2.htm";
+ }
+ if (qs.getCond() == 4)
+ {
+ htmltext = "rifken3.htm";
+ }
+ }
+ if (npc.getId() == TABLET_OF_VISION_1)
+ {
+ if (qs.getCond() == 6)
+ {
+ htmltext = "stone11.htm";
+ }
+ if (qs.getCond() == 7)
+ {
+ htmltext = "stone12.htm";
+ }
+ }
+ if (npc.getId() == TABLET_OF_VISION_2)
+ {
+ if (qs.getCond() == 8)
+ {
+ htmltext = "stone21.htm";
+ }
+ if (qs.getCond() == 9)
+ {
+ htmltext = "stone23.htm";
+ }
+ if (qs.getCond() == 10)
+ {
+ htmltext = "stone24.htm";
+ }
+ if (qs.getCond() == 11)
+ {
+ htmltext = "stone25.htm";
+ }
+ }
+ if (npc.getId() == TABLET_OF_VISION_3)
+ {
+ if (qs.getCond() == 14)
+ {
+ htmltext = "stone31.htm";
+ }
+ if (qs.getCond() == 15)
+ {
+ htmltext = "stone32.htm";
+ }
+ }
+ if (npc.getId() == TABLET_OF_VISION_4)
+ {
+ if (qs.getCond() == 15)
+ {
+ htmltext = "stone40.htm";
+ }
+ if (qs.getCond() == 17)
+ {
+ htmltext = "stone42.htm";
+ }
+ if (qs.getCond() == 18)
+ {
+ htmltext = "stone43.htm";
+ }
+
+ }
+ if (npc.getId() == ELIKIA)
+ {
+ if (qs.getCond() == 16)
+ {
+ htmltext = "erikrams1.htm";
+ }
+ if (qs.getCond() == 17)
+ {
+ htmltext = "erikrams2.htm";
+ }
+ }
+ break;
+ }
+ case State.COMPLETED:
+ {
+ htmltext = getAlreadyCompletedMsg(talker);
+ break;
+ }
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
+ {
+ final QuestState qs = getQuestState(killer, false);
+ if ((qs != null) && qs.isStarted() && Util.checkIfInRange(1500, npc, killer, true))
+ {
+ switch (npc.getId())
+ {
+ case ICE_MONSTER:
+ case SPIRIT_OF_A_DROWNED:
+ case SOUL_OF_COLD:
+ case FIEND_OF_COLD:
+ case GHOST_OF_SOLITUDE:
+ case SPIRIT_OF_COLD:
+ if (qs.getCond() == 3)
+ {
+ if (getQuestItemsCount(killer, ICE_CRYSTAL_FRAGMENT) < 50)
+ {
+ giveItemRandomly(killer, npc, ICE_CRYSTAL_FRAGMENT, 1, 50, 50, true);
+ }
+ if (getQuestItemsCount(killer, ICE_CRYSTAL_FRAGMENT) >= 50)
+ {
+ qs.setCond(4);
+ }
+ }
+ break;
+ case FALLEN_ANGEL_NAVERIUS:
+ if (qs.getCond() == 9)
+ {
+ qs.setCond(10);
+ }
+ break;
+ case SPAMPLAND_WATCHMAN:
+ case FLAME_DRAKE:
+ case FIERY_IFRIT:
+ case IKEDIT:
+ if (qs.getCond() == 12)
+ {
+ if (getQuestItemsCount(killer, HALISHA_BADGE) < 701)
+ {
+ giveItemRandomly(killer, npc, HALISHA_BADGE, 1, 701, 50, true);
+ if (getQuestItemsCount(killer, HALISHA_BADGE) >= 701)
+ {
+ addSpawn(HALISHA_ARCHON, npc, true, 0, true);
+ qs.setCond(13);
+ }
+ }
+ }
+ break;
+ case HALISHA_ARCHON:
+ if (qs.getCond() == 13)
+ {
+ if (!hasQuestItems(killer, AMULET_REZONANSA_TRETIY))
+ {
+ giveItemRandomly(killer, npc, AMULET_REZONANSA_TRETIY, 1, 1, 50, true);
+ }
+ qs.setCond(14);
+ }
+ break;
+ case FALLEN_ANGEL_TANAKIA:
+ if (qs.getCond() == 16)
+ {
+ addSpawn(ELIKIA, npc, true, 20000, true);
+ }
+ break;
+ }
+
+ if (qs.isCond(7))
+ {
+ int count = qs.getInt(KILL_COUNT_VAR);
+ if (npc.getId() == GATEKEEPER_OF_THE_HOLY_EDICT)
+ {
+ if (count < 20)
+ {
+ qs.set(KILL_COUNT_VAR, ++count);
+ sendNpcLogList(killer);
+ }
+ }
+ if (count >= 20)
+ {
+ qs.setCond(8, true);
+ giveItems(killer, AMULET_REZONANSA_VTOROI, 1);
+ }
+ }
+ }
+ return super.onKill(npc, killer, isSummon);
+ }
+
+ @Override
+ public Set getNpcLogList(L2PcInstance player)
+ {
+ final QuestState qs = getQuestState(player, false);
+ if ((qs != null) && qs.isCond(7))
+ {
+ final Set holder = new HashSet<>(1);
+
+ // guardian of forbidden knowledge
+ final int guardiancount = qs.getInt(KILL_COUNT_VAR);
+ if (guardiancount > 0)
+ {
+ holder.add(new NpcLogListHolder(GATEKEEPER_OF_THE_HOLY_EDICT, false, guardiancount));
+ }
+ return holder;
+ }
+ return super.getNpcLogList(player);
+ }
+}
\ No newline at end of file
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00087_SagaOfEvasSaint/aiken01.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00087_SagaOfEvasSaint/aiken01.htm
new file mode 100644
index 0000000000..aa8194a640
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00087_SagaOfEvasSaint/aiken01.htm
@@ -0,0 +1,6 @@
+
+Orven:
+
+Do you want to become a Priest of Evas Saint ?.
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00087_SagaOfEvasSaint/aiken01s.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00087_SagaOfEvasSaint/aiken01s.htm
new file mode 100644
index 0000000000..002004a6c9
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00087_SagaOfEvasSaint/aiken01s.htm
@@ -0,0 +1,5 @@
+
+Orven:
+
+High Priest Orven advises to meet with Cardinal Seresin in Oren.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00087_SagaOfEvasSaint/aiken02.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00087_SagaOfEvasSaint/aiken02.htm
new file mode 100644
index 0000000000..9f2849ba28
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00087_SagaOfEvasSaint/aiken02.htm
@@ -0,0 +1,7 @@
+
+Orven:
+
+My young friend, you do not have enough experience to become a Priest of Eva. I see your passion and I hope that you will keep it in your heart, but it is not enough - only through the experience of battle you can acquire the power that will allow you not to deviate from your faith in the era of untruth.
+Come back when you are a little older and wiser. When you are ready, I will give you a mission to check if you are ready to become a Priest of Eve.
+(Quest for characters whose level is 76 or higher.)
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00087_SagaOfEvasSaint/aiken02a.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00087_SagaOfEvasSaint/aiken02a.htm
new file mode 100644
index 0000000000..76a5b40828
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00087_SagaOfEvasSaint/aiken02a.htm
@@ -0,0 +1,7 @@
+
+Orven:
+
+Have you not already won the title of Priest of Eva?
+ My brother, you do not have to go through the test of the squire again.
+ Your duty is to fight for your faith and the glory of the lord.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00087_SagaOfEvasSaint/aiken03.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00087_SagaOfEvasSaint/aiken03.htm
new file mode 100644
index 0000000000..8fa4bd79ff
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00087_SagaOfEvasSaint/aiken03.htm
@@ -0,0 +1,6 @@
+
+Orven:
+
+Apparently, you have already chosen your path.
+ You do not need to carry out the task of the Priest of Evas Saint.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00087_SagaOfEvasSaint/aiken5.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00087_SagaOfEvasSaint/aiken5.htm
new file mode 100644
index 0000000000..d40a29f55c
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00087_SagaOfEvasSaint/aiken5.htm
@@ -0,0 +1,9 @@
+
+Orven:
+
+Do you want to become a Priest of Eve?
+ Well, then you must pass Saga Eva's Saint,
+ To prove that you are not just a reckless, quick-tempered warrior, but
+ Warrior with the soul of the real Priest of Eva. This is a form of ritual and the process of training,
+ Who must fulfill all who wish to become a Priest of Eve.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00087_SagaOfEvasSaint/aiken6.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00087_SagaOfEvasSaint/aiken6.htm
new file mode 100644
index 0000000000..cbe3ea8614
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00087_SagaOfEvasSaint/aiken6.htm
@@ -0,0 +1,6 @@
+
+Orven:
+
+Congratulations! You have passed all the tests and are ready to receive the profession Priest of Eva !!!
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00087_SagaOfEvasSaint/aiken7.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00087_SagaOfEvasSaint/aiken7.htm
new file mode 100644
index 0000000000..a0823b4f85
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00087_SagaOfEvasSaint/aiken7.htm
@@ -0,0 +1,6 @@
+
+Orven:
+
+Congratulations! You have received the profession Priest Eva !!!
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00087_SagaOfEvasSaint/erikrams1.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00087_SagaOfEvasSaint/erikrams1.htm
new file mode 100644
index 0000000000..bb08a0de5c
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00087_SagaOfEvasSaint/erikrams1.htm
@@ -0,0 +1,7 @@
+
+Elrica:
+
+Thank you! You helped avenge me, I will give you the fourth amulet
+
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00087_SagaOfEvasSaint/erikrams2.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00087_SagaOfEvasSaint/erikrams2.htm
new file mode 100644
index 0000000000..20db1f799c
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00087_SagaOfEvasSaint/erikrams2.htm
@@ -0,0 +1,5 @@
+
+Elrica:
+
+Now activate the last stone
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00087_SagaOfEvasSaint/jer1.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00087_SagaOfEvasSaint/jer1.htm
new file mode 100644
index 0000000000..7fd6726169
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00087_SagaOfEvasSaint/jer1.htm
@@ -0,0 +1,6 @@
+
+Seresin:
+
+Cardinal Seresin asks to go to the Gourmet Rifken and get food to feed the poor.
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00087_SagaOfEvasSaint/jer2.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00087_SagaOfEvasSaint/jer2.htm
new file mode 100644
index 0000000000..620a9d6b8e
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00087_SagaOfEvasSaint/jer2.htm
@@ -0,0 +1,5 @@
+
+Seresin:
+
+Cardinal Seresin asks to go to the Gourmet Rifken and get food to feed the poor.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00087_SagaOfEvasSaint/jer3.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00087_SagaOfEvasSaint/jer3.htm
new file mode 100644
index 0000000000..1253e5f374
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00087_SagaOfEvasSaint/jer3.htm
@@ -0,0 +1,6 @@
+
+Seresin:
+
+Did you bring food?
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00087_SagaOfEvasSaint/jer4.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00087_SagaOfEvasSaint/jer4.htm
new file mode 100644
index 0000000000..adb291d47a
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00087_SagaOfEvasSaint/jer4.htm
@@ -0,0 +1,5 @@
+
+Seresin:
+
+You have received the Resonance Amulet. Activate the Stone of Knowledge to the south of the Tower of Insolence.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00087_SagaOfEvasSaint/jer5.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00087_SagaOfEvasSaint/jer5.htm
new file mode 100644
index 0000000000..c2ea2b660a
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00087_SagaOfEvasSaint/jer5.htm
@@ -0,0 +1,6 @@
+
+Vivian:
+
+Have you come for the third Amulet of Resonance?
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00087_SagaOfEvasSaint/jer6.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00087_SagaOfEvasSaint/jer6.htm
new file mode 100644
index 0000000000..c5faa38c19
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00087_SagaOfEvasSaint/jer6.htm
@@ -0,0 +1,5 @@
+
+Vivian:
+
+Priestess Vivian says that the third Amulet of Resonance is in Archon Halisha. To summon him, you need to destroy his minions in the Molten Tops and collect the Badges of Halisha. Destroy these monsters and call Archon Halisha. The aim of the hunt is the Ranger of the Swamp, Burning Drake, Flame Iphreet, Ikedith
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00087_SagaOfEvasSaint/rifken1.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00087_SagaOfEvasSaint/rifken1.htm
new file mode 100644
index 0000000000..e6b9ac8b97
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00087_SagaOfEvasSaint/rifken1.htm
@@ -0,0 +1,6 @@
+
+Rifken:
+
+To ensure that Rifken's Gourmet dishes do not deteriorate, we need Crystal of Cold Fragments. They can be obtained by destroying monsters to the southeast of Aden
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00087_SagaOfEvasSaint/rifken2.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00087_SagaOfEvasSaint/rifken2.htm
new file mode 100644
index 0000000000..8e66baebc7
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00087_SagaOfEvasSaint/rifken2.htm
@@ -0,0 +1,6 @@
+
+Rifken:
+
+Obtain Fragments of the Crystal of Cold..
+These pieces can be obtained by destroying monsters to the southeast of Aden.The aim of the hunt is the Ice Monster, the Spirit of the Drowned One, the Soul of Cold, the Ghost of Solitude, the Cold Beast, the Spirit of Coldness.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00087_SagaOfEvasSaint/rifken3.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00087_SagaOfEvasSaint/rifken3.htm
new file mode 100644
index 0000000000..a603aae564
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00087_SagaOfEvasSaint/rifken3.htm
@@ -0,0 +1,6 @@
+
+Rifken:
+
+Did you get all the ingredients?
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00087_SagaOfEvasSaint/rifken4.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00087_SagaOfEvasSaint/rifken4.htm
new file mode 100644
index 0000000000..e86466c248
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00087_SagaOfEvasSaint/rifken4.htm
@@ -0,0 +1,5 @@
+
+Rifken:
+
+Now you have a basket of food. Return to Oren to Cardinal Seresin.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00087_SagaOfEvasSaint/stone11.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00087_SagaOfEvasSaint/stone11.htm
new file mode 100644
index 0000000000..6a419b5072
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00087_SagaOfEvasSaint/stone11.htm
@@ -0,0 +1,5 @@
+
+Stone of knowledge:
+You slash like a stone starts to vibrate
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00087_SagaOfEvasSaint/stone12.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00087_SagaOfEvasSaint/stone12.htm
new file mode 100644
index 0000000000..3168598ef0
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00087_SagaOfEvasSaint/stone12.htm
@@ -0,0 +1,4 @@
+
+Stone of knowledge:
+You brought the amulet and the inscription appeared on the stone - The second Amulet of Resonance is at the St Lawrence Streets next to the second Stone of Knowledge.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00087_SagaOfEvasSaint/stone21.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00087_SagaOfEvasSaint/stone21.htm
new file mode 100644
index 0000000000..ba25c4702c
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00087_SagaOfEvasSaint/stone21.htm
@@ -0,0 +1,5 @@
+
+Stone of knowledge:
+You slash like a stone starts to vibrate
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00087_SagaOfEvasSaint/stone22.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00087_SagaOfEvasSaint/stone22.htm
new file mode 100644
index 0000000000..c5fae199b9
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00087_SagaOfEvasSaint/stone22.htm
@@ -0,0 +1,4 @@
+
+Stone of knowledge:
+As soon as you approached the stone, the Fallen Angel Khaures appeared. Obviously, he is trying to stop you. Destroy it.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00087_SagaOfEvasSaint/stone23.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00087_SagaOfEvasSaint/stone23.htm
new file mode 100644
index 0000000000..d323517e9b
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00087_SagaOfEvasSaint/stone23.htm
@@ -0,0 +1,4 @@
+
+Stone of knowledge:
+Now you can go in search of the third stone
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00087_SagaOfEvasSaint/stone24.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00087_SagaOfEvasSaint/stone24.htm
new file mode 100644
index 0000000000..c79855edc6
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00087_SagaOfEvasSaint/stone24.htm
@@ -0,0 +1,5 @@
+
+Stone of knowledge:
+You slash like a stone starts to vibrate
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00087_SagaOfEvasSaint/stone25.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00087_SagaOfEvasSaint/stone25.htm
new file mode 100644
index 0000000000..20dadb01f7
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00087_SagaOfEvasSaint/stone25.htm
@@ -0,0 +1,4 @@
+
+Stone of knowledge:
+After activating the stone, you learned that the third Amulet of Resonance is at the Temple Priest Einhasad Vivian. Get her the Resonance Amulet.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00087_SagaOfEvasSaint/stone31.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00087_SagaOfEvasSaint/stone31.htm
new file mode 100644
index 0000000000..044f74bf07
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00087_SagaOfEvasSaint/stone31.htm
@@ -0,0 +1,5 @@
+
+Stone of knowledge:
+You slash like a stone starts to vibrate
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00087_SagaOfEvasSaint/stone32.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00087_SagaOfEvasSaint/stone32.htm
new file mode 100644
index 0000000000..924bc28401
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00087_SagaOfEvasSaint/stone32.htm
@@ -0,0 +1,4 @@
+
+Stone of knowledge:
+When the activation of the third Stone of Knowledge ended, he showed the location of the next stone. The fourth Stone of Knowledge is in the area of ​​the Elven Village, and the last Amulet of Resonance is near the stone. Go there.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00087_SagaOfEvasSaint/stone40.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00087_SagaOfEvasSaint/stone40.htm
new file mode 100644
index 0000000000..6f1ac41f28
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00087_SagaOfEvasSaint/stone40.htm
@@ -0,0 +1,7 @@
+
+You came to the stone and he began to vibrate
+
+The last amulet is in the Fallen Angel Tanaka
+Are you ready to fight him?
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00087_SagaOfEvasSaint/stone41.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00087_SagaOfEvasSaint/stone41.htm
new file mode 100644
index 0000000000..3111257667
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00087_SagaOfEvasSaint/stone41.htm
@@ -0,0 +1,3 @@
+
+Nearly appeared the Fallen Angel Tanaka
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00087_SagaOfEvasSaint/stone42.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00087_SagaOfEvasSaint/stone42.htm
new file mode 100644
index 0000000000..acf46b0770
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00087_SagaOfEvasSaint/stone42.htm
@@ -0,0 +1,5 @@
+
+Stone of knowledge:
+You slash like a stone starts to vibrate
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00087_SagaOfEvasSaint/stone43.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00087_SagaOfEvasSaint/stone43.htm
new file mode 100644
index 0000000000..670577c756
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00087_SagaOfEvasSaint/stone43.htm
@@ -0,0 +1,5 @@
+
+Stone of knowledge:
+You successfully activated the last stone
+Return to Orven and tell him about your journey.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00088_SagaOfTheArchmage/Q00088_SagaOfTheArchmage.java b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00088_SagaOfTheArchmage/Q00088_SagaOfTheArchmage.java
new file mode 100644
index 0000000000..9620f79f2f
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00088_SagaOfTheArchmage/Q00088_SagaOfTheArchmage.java
@@ -0,0 +1,450 @@
+package quests.Q00088_SagaOfTheArchmage;
+
+import java.util.HashSet;
+import java.util.Set;
+
+import com.l2jmobius.gameserver.model.actor.L2Npc;
+import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
+import com.l2jmobius.gameserver.model.base.ClassId;
+import com.l2jmobius.gameserver.model.holders.NpcLogListHolder;
+import com.l2jmobius.gameserver.model.quest.Quest;
+import com.l2jmobius.gameserver.model.quest.QuestState;
+import com.l2jmobius.gameserver.model.quest.State;
+import com.l2jmobius.gameserver.network.serverpackets.MagicSkillUse;
+import com.l2jmobius.gameserver.util.Util;
+
+//QuangNguyen
+
+public class Q00088_SagaOfTheArchmage extends Quest
+{
+ public final int VALLERIA = 30176;
+ public final int DESMOND = 30855;
+ public final int BROOME = 34270;
+ public final int TABLET_OF_VISION_1 = 31646;
+ public final int TABLET_OF_VISION_2 = 31649;
+ public final int TABLET_OF_VISION_3 = 31652;
+ public final int TABLET_OF_VISION_4 = 31654;
+ public final int DIVIANNE = 31590;
+ // mobs
+ public final int ICE_MONSTER = 27316;
+ public final int SPIRIT_OF_A_DROWNED = 27317;
+ public final int SOUL_OF_COLD = 27318;
+ public final int GHOST_OF_SOLITUDE = 27319;
+ public final int FIEND_OF_COLD = 27320;
+ public final int SPIRIT_OF_COLD = 27321;
+ public final int SPAMPLAND_WATCHMAN = 21650;
+ public final int FLAME_DRAKE = 21651;
+ public final int FIERY_IFRIT = 21652;
+ public final int IKEDIT = 21653;
+ public final int WATCHER_OF_THE_ANCIENT_PLEDGE = 27216;
+ public final int FALLEN_ANGEL_ALLECTOR = 27250;
+ public final int HALISHA_ARCHON = 27219;
+ public final int UNKNOWN_STOPPER = 27254;
+ // items
+ public final int ICE_CRYSTAL_FRAGMENT = 49822;
+ public final int HALISHA_BADGE = 7503;
+ public final int AMULET_REZONANSA_PERVIY = 7286;
+ public final int AMULET_REZONANSA_VTOROI = 7317;
+ public final int AMULET_REZONANSA_TRETIY = 7348;
+ public final int AMULET_REZONANSA_CHETVERTIY = 7379;
+ public final int INVESTIGATIVE_REPORT = 7529;
+ // reward
+ public final int BOOKGOLDLION = 90038;
+ private static final String KILL_COUNT_VAR = "KillCount";
+
+ public Q00088_SagaOfTheArchmage()
+ {
+ super(88);
+ addStartNpc(VALLERIA);
+ addTalkId(VALLERIA, DESMOND, BROOME, DIVIANNE, TABLET_OF_VISION_1, TABLET_OF_VISION_2, TABLET_OF_VISION_3, TABLET_OF_VISION_4);
+ addKillId(ICE_MONSTER, SPIRIT_OF_A_DROWNED, SOUL_OF_COLD, GHOST_OF_SOLITUDE, FIEND_OF_COLD);
+ addKillId(SPIRIT_OF_COLD, SPAMPLAND_WATCHMAN, FLAME_DRAKE, FIERY_IFRIT, IKEDIT);
+ addKillId(WATCHER_OF_THE_ANCIENT_PLEDGE, FALLEN_ANGEL_ALLECTOR, HALISHA_ARCHON, UNKNOWN_STOPPER);
+ registerQuestItems(INVESTIGATIVE_REPORT, ICE_CRYSTAL_FRAGMENT, HALISHA_BADGE);
+ addCondMinLevel(76, "aiken02.htm");
+ addCondClassId(ClassId.SORCERER, "aiken03.htm");
+ }
+
+ @Override
+ public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
+ {
+ final QuestState st = getQuestState(player, false);
+ if (st == null)
+ {
+ return null;
+ }
+ String htmltext = event;
+ switch (event)
+ {
+ case "aiken02a.htm":
+ htmltext = "aiken5.htm";
+ break;
+ case "aiken01s.htm":
+ if (st.getCond() == 0)
+ {
+ st.startQuest();
+ st.setCond(1);
+ }
+ break;
+ case "jer2.htm":
+ if (st.getCond() == 1)
+ {
+ st.setCond(2);
+ }
+ break;
+ case "rifken2.htm":
+ if (st.getCond() == 2)
+ {
+ st.setCond(3);
+ }
+ break;
+ case "rifken4.htm":
+ if (st.getCond() == 4)
+ {
+ st.setCond(5);
+ }
+ takeItems(player, ICE_CRYSTAL_FRAGMENT, -1);
+ giveItems(player, INVESTIGATIVE_REPORT, 1);
+ break;
+ case "jer4.htm":
+ if (st.getCond() == 5)
+ {
+ st.setCond(6);
+ }
+ giveItems(player, AMULET_REZONANSA_PERVIY, 1);
+ takeItems(player, INVESTIGATIVE_REPORT, -1);
+ break;
+ case "stone12.htm":
+ if (st.getCond() == 6)
+ {
+ st.setCond(7);
+ }
+ break;
+ case "stone22.htm":
+ if (st.getCond() == 8)
+ {
+ addSpawn(FALLEN_ANGEL_ALLECTOR, npc, true, 0, true);
+ st.setCond(9);
+ }
+ break;
+ case "stone25.htm":
+ if (st.getCond() == 10)
+ {
+ st.setCond(11);
+ }
+ break;
+ case "jer6.htm":
+ if (st.getCond() == 11)
+ {
+ st.setCond(12);
+ }
+ break;
+ case "stone32.htm":
+ if (st.getCond() == 14)
+ {
+ st.setCond(15);
+ }
+ break;
+ case "stone41.htm":
+ if (st.getCond() == 15)
+ {
+ st.setCond(16);
+ }
+ addSpawn(UNKNOWN_STOPPER, npc, true, 0, true);
+ break;
+ case "erikrams2.htm":
+ if (st.getCond() == 16)
+ {
+ st.setCond(17);
+ }
+ giveItems(player, AMULET_REZONANSA_CHETVERTIY, 1);
+ break;
+ case "stone43.htm":
+ if (st.getCond() == 17)
+ {
+ st.setCond(18);
+ }
+ break;
+ case "aiken7.htm":
+ if (st.getCond() == 18)
+ {
+ if ((player.getLevel() < 76) && (player.getBaseClass() != 12))
+ {
+ htmltext = "30849-nolvl.htm";
+ }
+ addExpAndSp(player, 3100000, 103000);
+ rewardItems(player, BOOKGOLDLION, 1);
+ takeItems(player, AMULET_REZONANSA_PERVIY, -1);
+ takeItems(player, AMULET_REZONANSA_VTOROI, -1);
+ takeItems(player, AMULET_REZONANSA_TRETIY, -1);
+ takeItems(player, AMULET_REZONANSA_CHETVERTIY, -1);
+ takeItems(player, HALISHA_BADGE, -1);
+ st.exitQuest(false, true);
+ player.setClassId(94);
+ player.setBaseClass(94);
+ player.broadcastUserInfo();
+ npc.broadcastPacket(new MagicSkillUse(npc, player, 5103, 1, 1000, 0));
+ }
+ break;
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onTalk(L2Npc npc, L2PcInstance talker)
+ {
+ final QuestState qs = getQuestState(talker, true);
+ String htmltext = getNoQuestMsg(talker);
+
+ switch (qs.getState())
+ {
+ case State.CREATED:
+ {
+ if (npc.getId() == VALLERIA)
+ {
+ htmltext = "aiken01.htm";
+ }
+ break;
+ }
+ case State.STARTED:
+ {
+ if (npc.getId() == VALLERIA)
+ {
+ if (qs.getCond() == 1)
+ {
+ htmltext = "aiken01s.htm";
+ }
+ if (qs.getCond() == 18)
+ {
+ htmltext = "aiken6.htm";
+ }
+
+ }
+ if (npc.getId() == DESMOND)
+ {
+ if (qs.getCond() == 1)
+ {
+ htmltext = "jer1.htm";
+ }
+ if (qs.getCond() == 2)
+ {
+ htmltext = "jer2.htm";
+ }
+ if (qs.getCond() == 5)
+ {
+ htmltext = "jer3.htm";
+ }
+ if (qs.getCond() == 6)
+ {
+ htmltext = "jer4.htm";
+ }
+ if (qs.getCond() == 11)
+ {
+ htmltext = "jer5.htm";
+ }
+ if (qs.getCond() == 12)
+ {
+ htmltext = "jer6.htm";
+ }
+ }
+ if (npc.getId() == BROOME)
+ {
+ if (qs.getCond() == 2)
+ {
+ htmltext = "rifken1.htm";
+ }
+ if (qs.getCond() == 3)
+ {
+ htmltext = "rifken2.htm";
+ }
+ if (qs.getCond() == 4)
+ {
+ htmltext = "rifken3.htm";
+ }
+ }
+ if (npc.getId() == TABLET_OF_VISION_1)
+ {
+ if (qs.getCond() == 6)
+ {
+ htmltext = "stone11.htm";
+ }
+ if (qs.getCond() == 7)
+ {
+ htmltext = "stone12.htm";
+ }
+ }
+ if (npc.getId() == TABLET_OF_VISION_2)
+ {
+ if (qs.getCond() == 8)
+ {
+ htmltext = "stone21.htm";
+ }
+ if (qs.getCond() == 9)
+ {
+ htmltext = "stone23.htm";
+ }
+ if (qs.getCond() == 10)
+ {
+ htmltext = "stone24.htm";
+ }
+ if (qs.getCond() == 11)
+ {
+ htmltext = "stone25.htm";
+ }
+ }
+ if (npc.getId() == TABLET_OF_VISION_3)
+ {
+ if (qs.getCond() == 14)
+ {
+ htmltext = "stone31.htm";
+ }
+ if (qs.getCond() == 15)
+ {
+ htmltext = "stone32.htm";
+ }
+ }
+ if (npc.getId() == TABLET_OF_VISION_4)
+ {
+ if (qs.getCond() == 15)
+ {
+ htmltext = "stone40.htm";
+ }
+ if (qs.getCond() == 17)
+ {
+ htmltext = "stone42.htm";
+ }
+ if (qs.getCond() == 18)
+ {
+ htmltext = "stone43.htm";
+ }
+
+ }
+ if (npc.getId() == DIVIANNE)
+ {
+ if (qs.getCond() == 16)
+ {
+ htmltext = "erikrams1.htm";
+ }
+ if (qs.getCond() == 17)
+ {
+ htmltext = "erikrams2.htm";
+ }
+ }
+ break;
+ }
+ case State.COMPLETED:
+ {
+ htmltext = getAlreadyCompletedMsg(talker);
+ break;
+ }
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
+ {
+ final QuestState qs = getQuestState(killer, false);
+ if ((qs != null) && qs.isStarted() && Util.checkIfInRange(1500, npc, killer, true))
+ {
+ switch (npc.getId())
+ {
+ case ICE_MONSTER:
+ case SPIRIT_OF_A_DROWNED:
+ case SOUL_OF_COLD:
+ case FIEND_OF_COLD:
+ case GHOST_OF_SOLITUDE:
+ case SPIRIT_OF_COLD:
+ if (qs.getCond() == 3)
+ {
+ if (getQuestItemsCount(killer, ICE_CRYSTAL_FRAGMENT) < 50)
+ {
+ giveItemRandomly(killer, npc, ICE_CRYSTAL_FRAGMENT, 1, 50, 50, true);
+ }
+ if (getQuestItemsCount(killer, ICE_CRYSTAL_FRAGMENT) >= 50)
+ {
+ qs.setCond(4);
+ }
+ }
+ break;
+ case FALLEN_ANGEL_ALLECTOR:
+ if (qs.getCond() == 9)
+ {
+ qs.setCond(10);
+ }
+ break;
+ case SPAMPLAND_WATCHMAN:
+ case FLAME_DRAKE:
+ case FIERY_IFRIT:
+ case IKEDIT:
+ if (qs.getCond() == 12)
+ {
+ if (getQuestItemsCount(killer, HALISHA_BADGE) < 701)
+ {
+ giveItemRandomly(killer, npc, HALISHA_BADGE, 1, 701, 50, true);
+ if (getQuestItemsCount(killer, HALISHA_BADGE) >= 701)
+ {
+ addSpawn(HALISHA_ARCHON, npc, true, 0, true);
+ qs.setCond(13);
+ }
+ }
+ }
+ break;
+ case HALISHA_ARCHON:
+ if (qs.getCond() == 13)
+ {
+ if (!hasQuestItems(killer, AMULET_REZONANSA_TRETIY))
+ {
+ giveItemRandomly(killer, npc, AMULET_REZONANSA_TRETIY, 1, 1, 50, true);
+ }
+ qs.setCond(14);
+ }
+ break;
+ case UNKNOWN_STOPPER:
+ if (qs.getCond() == 16)
+ {
+ addSpawn(DIVIANNE, npc, true, 20000, true);
+ }
+ break;
+ }
+
+ if (qs.isCond(7))
+ {
+ int count = qs.getInt(KILL_COUNT_VAR);
+ if (npc.getId() == WATCHER_OF_THE_ANCIENT_PLEDGE)
+ {
+ if (count < 20)
+ {
+ qs.set(KILL_COUNT_VAR, ++count);
+ sendNpcLogList(killer);
+ }
+ }
+ if (count >= 20)
+ {
+ qs.setCond(8, true);
+ giveItems(killer, AMULET_REZONANSA_VTOROI, 1);
+ }
+ }
+ }
+ return super.onKill(npc, killer, isSummon);
+ }
+
+ @Override
+ public Set getNpcLogList(L2PcInstance player)
+ {
+ final QuestState qs = getQuestState(player, false);
+ if ((qs != null) && qs.isCond(7))
+ {
+ final Set holder = new HashSet<>(1);
+
+ // guardian of forbidden knowledge
+ final int guardiancount = qs.getInt(KILL_COUNT_VAR);
+ if (guardiancount > 0)
+ {
+ holder.add(new NpcLogListHolder(WATCHER_OF_THE_ANCIENT_PLEDGE, false, guardiancount));
+ }
+ return holder;
+ }
+ return super.getNpcLogList(player);
+ }
+}
\ No newline at end of file
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00088_SagaOfTheArchmage/aiken01.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00088_SagaOfTheArchmage/aiken01.htm
new file mode 100644
index 0000000000..07d5bd9d36
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00088_SagaOfTheArchmage/aiken01.htm
@@ -0,0 +1,5 @@
+
+Valeriya:
+Do you want to become an Archmage ?
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00088_SagaOfTheArchmage/aiken01s.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00088_SagaOfTheArchmage/aiken01s.htm
new file mode 100644
index 0000000000..6353d7b917
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00088_SagaOfTheArchmage/aiken01s.htm
@@ -0,0 +1,4 @@
+
+Valeriya:
+To become an Archmage, you need to acquire the power sealed in the Stones of Knowledge. First go to Magister Desmond in Aden.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00088_SagaOfTheArchmage/aiken02.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00088_SagaOfTheArchmage/aiken02.htm
new file mode 100644
index 0000000000..aec1e013a5
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00088_SagaOfTheArchmage/aiken02.htm
@@ -0,0 +1,6 @@
+
+Valeriya:
+My young friend, you do not have enough experience to become an Archmage. I see your passion and I hope that you will keep it in your heart, but it is not enough - only through the experience of battle you can acquire the power that will allow you not to deviate from your faith in the era of untruth.
+Come back when you are a little older and wiser. When you are ready, I will give you a mission to check if you are ready to become an Archmage.
+(Quest for characters whose level is 76 or higher.)
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00088_SagaOfTheArchmage/aiken02a.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00088_SagaOfTheArchmage/aiken02a.htm
new file mode 100644
index 0000000000..7d1bd6b6e2
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00088_SagaOfTheArchmage/aiken02a.htm
@@ -0,0 +1,6 @@
+
+Valeriya:
+Have you not already received the title of Archmage?
+ My brother, you do not have to go through the test of the squire again.
+ Your duty is to fight for your faith and the glory of the lord.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00088_SagaOfTheArchmage/aiken03.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00088_SagaOfTheArchmage/aiken03.htm
new file mode 100644
index 0000000000..194e1fa536
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00088_SagaOfTheArchmage/aiken03.htm
@@ -0,0 +1,5 @@
+
+Valeriya:
+Apparently, you have already chosen your path.
+ You do not need to perform the task of the Archmage.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00088_SagaOfTheArchmage/aiken5.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00088_SagaOfTheArchmage/aiken5.htm
new file mode 100644
index 0000000000..2a6d2f4c07
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00088_SagaOfTheArchmage/aiken5.htm
@@ -0,0 +1,8 @@
+
+Valeriya:
+Do you want to become an Archmage?
+ Well, then you must pass Saga Archemage,
+ To prove that you are not just a reckless, quick-tempered warrior, but
+ Warrior with the soul of the present Archmage. This is a form of ritual and the process of training,
+ Which must be performed by all who wish to become a Archemage..
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00088_SagaOfTheArchmage/aiken6.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00088_SagaOfTheArchmage/aiken6.htm
new file mode 100644
index 0000000000..b972625c9e
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00088_SagaOfTheArchmage/aiken6.htm
@@ -0,0 +1,5 @@
+
+Valeriya:
+Congratulations! You have passed all the tests and are ready to receive the profession of the Archmage !!!
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00088_SagaOfTheArchmage/aiken7.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00088_SagaOfTheArchmage/aiken7.htm
new file mode 100644
index 0000000000..e4d22d70cb
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00088_SagaOfTheArchmage/aiken7.htm
@@ -0,0 +1,5 @@
+
+Valeriya:
+Congratulations! You have received the profession of Archmage !!!
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00088_SagaOfTheArchmage/erikrams1.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00088_SagaOfTheArchmage/erikrams1.htm
new file mode 100644
index 0000000000..3a3b36b793
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00088_SagaOfTheArchmage/erikrams1.htm
@@ -0,0 +1,7 @@
+
+Devian:
+
+Thank you! You helped avenge me, I will give you the fourth amulet
+
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00088_SagaOfTheArchmage/erikrams2.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00088_SagaOfTheArchmage/erikrams2.htm
new file mode 100644
index 0000000000..ad49299b9d
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00088_SagaOfTheArchmage/erikrams2.htm
@@ -0,0 +1,5 @@
+
+Devian:
+
+Now activate the last stone
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00088_SagaOfTheArchmage/jer1.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00088_SagaOfTheArchmage/jer1.htm
new file mode 100644
index 0000000000..1e5b0081f6
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00088_SagaOfTheArchmage/jer1.htm
@@ -0,0 +1,5 @@
+
+Desmond:
+Master Desmond asks you to go to the Merchant Information Broome in Swamped Swamp and take his Research Report.
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00088_SagaOfTheArchmage/jer2.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00088_SagaOfTheArchmage/jer2.htm
new file mode 100644
index 0000000000..9ce21a9f5d
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00088_SagaOfTheArchmage/jer2.htm
@@ -0,0 +1,4 @@
+
+Desmond:
+Go to the Information Broker Information Broker in the Blazing Swamp
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00088_SagaOfTheArchmage/jer3.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00088_SagaOfTheArchmage/jer3.htm
new file mode 100644
index 0000000000..0fe624a9b1
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00088_SagaOfTheArchmage/jer3.htm
@@ -0,0 +1,5 @@
+
+Desmond:
+Did you bring the "Information"?
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00088_SagaOfTheArchmage/jer4.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00088_SagaOfTheArchmage/jer4.htm
new file mode 100644
index 0000000000..5ec7bfbaef
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00088_SagaOfTheArchmage/jer4.htm
@@ -0,0 +1,4 @@
+
+Desmond:
+You have received the Resonance Amulet. Activate the Stone of Knowledge to the south of the Tower of Insolence.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00088_SagaOfTheArchmage/jer5.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00088_SagaOfTheArchmage/jer5.htm
new file mode 100644
index 0000000000..4324ed204c
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00088_SagaOfTheArchmage/jer5.htm
@@ -0,0 +1,5 @@
+
+Desmond:
+Have you come for the third Amulet of Resonance?
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00088_SagaOfTheArchmage/jer6.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00088_SagaOfTheArchmage/jer6.htm
new file mode 100644
index 0000000000..81405579a1
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00088_SagaOfTheArchmage/jer6.htm
@@ -0,0 +1,4 @@
+
+Desmond:
+Master Desmond says that the third Amulet of Resonance is in Archon Halisha. To summon him, you need to destroy his minions in the Molten Tops and collect the Badges of Halisha. Destroy these monsters and call Archon Halisha. The aim of the hunt is the Ranger of the Swamp, Burning Drake, Flame Iphreet, Ikedith
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00088_SagaOfTheArchmage/rifken1.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00088_SagaOfTheArchmage/rifken1.htm
new file mode 100644
index 0000000000..9b5dffcabf
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00088_SagaOfTheArchmage/rifken1.htm
@@ -0,0 +1,5 @@
+
+Broome:
+I will share with you the information but I need 50 Fragments of the Crystal of Cold.
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00088_SagaOfTheArchmage/rifken2.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00088_SagaOfTheArchmage/rifken2.htm
new file mode 100644
index 0000000000..4b68a09299
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00088_SagaOfTheArchmage/rifken2.htm
@@ -0,0 +1,4 @@
+
+Broome:
+Broome Information Broker requires to bring Crystal Fragments of Shard.in exchange for a Study Report. These fragments can be obtained by destroying monsters to the southeast of Aden.Objective Hunting - Ice Monster, Spirit of the Drowned One, Soul of Cold, Ghost of Solitude, Cold Beast, Spirit of Cold.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00088_SagaOfTheArchmage/rifken3.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00088_SagaOfTheArchmage/rifken3.htm
new file mode 100644
index 0000000000..0bcb3d4f73
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00088_SagaOfTheArchmage/rifken3.htm
@@ -0,0 +1,5 @@
+
+Broome:
+Did you get all the ingredients?
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00088_SagaOfTheArchmage/rifken4.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00088_SagaOfTheArchmage/rifken4.htm
new file mode 100644
index 0000000000..eb0a37f02b
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00088_SagaOfTheArchmage/rifken4.htm
@@ -0,0 +1,4 @@
+
+Broome:
+You have received the Study Report from the Merchant with Broome Information. Return to Magister Desmond in Aden.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00088_SagaOfTheArchmage/stone11.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00088_SagaOfTheArchmage/stone11.htm
new file mode 100644
index 0000000000..d18f363eb5
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00088_SagaOfTheArchmage/stone11.htm
@@ -0,0 +1,5 @@
+
+Stone of knowledge:
+You slash like a stone starts to vibrate
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00088_SagaOfTheArchmage/stone12.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00088_SagaOfTheArchmage/stone12.htm
new file mode 100644
index 0000000000..029bb8776d
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00088_SagaOfTheArchmage/stone12.htm
@@ -0,0 +1,4 @@
+
+Stone of knowledge:
+You brought the amulet and the inscription appeared on the stone - The second Amulet of Resonance is at the Vaults of the Ancient Vow next to the second Stone of Knowledge.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00088_SagaOfTheArchmage/stone21.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00088_SagaOfTheArchmage/stone21.htm
new file mode 100644
index 0000000000..a4fa1ad1ae
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00088_SagaOfTheArchmage/stone21.htm
@@ -0,0 +1,5 @@
+
+Stone of knowledge:
+You slash like a stone starts to vibrate
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00088_SagaOfTheArchmage/stone22.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00088_SagaOfTheArchmage/stone22.htm
new file mode 100644
index 0000000000..867a01b434
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00088_SagaOfTheArchmage/stone22.htm
@@ -0,0 +1,4 @@
+
+Stone of knowledge:
+As soon as you came to the stone, the Fallen Angel Alector appeared. Obviously, he is trying to stop you. Destroy it.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00088_SagaOfTheArchmage/stone23.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00088_SagaOfTheArchmage/stone23.htm
new file mode 100644
index 0000000000..d323517e9b
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00088_SagaOfTheArchmage/stone23.htm
@@ -0,0 +1,4 @@
+
+Stone of knowledge:
+Now you can go in search of the third stone
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00088_SagaOfTheArchmage/stone24.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00088_SagaOfTheArchmage/stone24.htm
new file mode 100644
index 0000000000..acfd73c516
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00088_SagaOfTheArchmage/stone24.htm
@@ -0,0 +1,5 @@
+
+Stone of knowledge:
+You slash like a stone starts to vibrate
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00088_SagaOfTheArchmage/stone25.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00088_SagaOfTheArchmage/stone25.htm
new file mode 100644
index 0000000000..a24d5ac7ef
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00088_SagaOfTheArchmage/stone25.htm
@@ -0,0 +1,4 @@
+
+Stone of knowledge:
+After activating the stone, you learned that the third Amulet of Resonance is in the possession of the Master of Desmond from the Guild of Magicians of Aden. Get him the Resonance Amulet.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00088_SagaOfTheArchmage/stone31.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00088_SagaOfTheArchmage/stone31.htm
new file mode 100644
index 0000000000..52fd10516a
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00088_SagaOfTheArchmage/stone31.htm
@@ -0,0 +1,5 @@
+
+Stone of knowledge:
+You slash like a stone starts to vibrate
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00088_SagaOfTheArchmage/stone32.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00088_SagaOfTheArchmage/stone32.htm
new file mode 100644
index 0000000000..b77e015b9e
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00088_SagaOfTheArchmage/stone32.htm
@@ -0,0 +1,4 @@
+
+Stone of knowledge:
+When the activation of the third Stone of Knowledge ended, he showed the location of the next stone. The fourth Stone of Knowledge is on the Speaking Island, and the last Amulet of Resonance is near the stone. Go there.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00088_SagaOfTheArchmage/stone40.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00088_SagaOfTheArchmage/stone40.htm
new file mode 100644
index 0000000000..4803d12be8
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00088_SagaOfTheArchmage/stone40.htm
@@ -0,0 +1,8 @@
+
+
+You came to the stone and he began to vibrate
+
+The last amulet is in The Mysterious Demon
+Are you ready to fight him?
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00088_SagaOfTheArchmage/stone41.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00088_SagaOfTheArchmage/stone41.htm
new file mode 100644
index 0000000000..68de5867d7
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00088_SagaOfTheArchmage/stone41.htm
@@ -0,0 +1,3 @@
+
+Nearby there was the Guardian of the Stone Azrael
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00088_SagaOfTheArchmage/stone42.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00088_SagaOfTheArchmage/stone42.htm
new file mode 100644
index 0000000000..9d2ccdc448
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00088_SagaOfTheArchmage/stone42.htm
@@ -0,0 +1,5 @@
+
+Stone of knowledge:
+You slash like a stone starts to vibrate
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00088_SagaOfTheArchmage/stone43.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00088_SagaOfTheArchmage/stone43.htm
new file mode 100644
index 0000000000..08487ecca3
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00088_SagaOfTheArchmage/stone43.htm
@@ -0,0 +1,5 @@
+
+Stone of knowledge:
+You successfully activated the last stone
+You have found all the Stones of Knowledge. Return to the Grand Master of Valeria in the Tower of Ivory.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00089_SagaOfTheMysticMuse/Q00089_SagaOfTheMysticMuse.java b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00089_SagaOfTheMysticMuse/Q00089_SagaOfTheMysticMuse.java
new file mode 100644
index 0000000000..b06af57ffb
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00089_SagaOfTheMysticMuse/Q00089_SagaOfTheMysticMuse.java
@@ -0,0 +1,450 @@
+package quests.Q00089_SagaOfTheMysticMuse;
+
+import java.util.HashSet;
+import java.util.Set;
+
+import com.l2jmobius.gameserver.model.actor.L2Npc;
+import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
+import com.l2jmobius.gameserver.model.base.ClassId;
+import com.l2jmobius.gameserver.model.holders.NpcLogListHolder;
+import com.l2jmobius.gameserver.model.quest.Quest;
+import com.l2jmobius.gameserver.model.quest.QuestState;
+import com.l2jmobius.gameserver.model.quest.State;
+import com.l2jmobius.gameserver.network.serverpackets.MagicSkillUse;
+import com.l2jmobius.gameserver.util.Util;
+
+//QuangNguyen
+
+public class Q00089_SagaOfTheMysticMuse extends Quest
+{
+ public final int AKENIAS = 30174;
+ public final int WINONIN = 30856;
+ public final int BROOME = 34270;
+ public final int TABLET_OF_VISION_1 = 31646;
+ public final int TABLET_OF_VISION_2 = 31649;
+ public final int TABLET_OF_VISION_3 = 31652;
+ public final int TABLET_OF_VISION_4 = 31655;
+ public final int SILVER_FAYSHAR = 31643;
+ // mobs
+ public final int ICE_MONSTER = 27316;
+ public final int SPIRIT_OF_A_DROWNED = 27317;
+ public final int SOUL_OF_COLD = 27318;
+ public final int GHOST_OF_SOLITUDE = 27319;
+ public final int FIEND_OF_COLD = 27320;
+ public final int SPIRIT_OF_COLD = 27321;
+ public final int SPAMPLAND_WATCHMAN = 21650;
+ public final int FLAME_DRAKE = 21651;
+ public final int FIERY_IFRIT = 21652;
+ public final int IKEDIT = 21653;
+ public final int WATCHER_OF_THE_ANCIENT_PLEDGE = 27216;
+ public final int FALLEN_ANGEL_ALLECTOR = 27250;
+ public final int HALISHA_ARCHON = 27219;
+ public final int UNKNOWN_STOPPER = 27254;
+ // items
+ public final int ICE_CRYSTAL_FRAGMENT = 49823;
+ public final int HALISHA_BADGE = 7504;
+ public final int AMULET_REZONANSA_PERVIY = 7287;
+ public final int AMULET_REZONANSA_VTOROI = 7318;
+ public final int AMULET_REZONANSA_TRETIY = 7349;
+ public final int AMULET_REZONANSA_CHETVERTIY = 7380;
+ public final int INVESTIGATIVE_REPORT = 7530;
+ // reward
+ public final int BOOKPEGASUS = 90039;
+ private static final String KILL_COUNT_VAR = "KillCount";
+
+ public Q00089_SagaOfTheMysticMuse()
+ {
+ super(89);
+ addStartNpc(AKENIAS);
+ addTalkId(AKENIAS, WINONIN, BROOME, SILVER_FAYSHAR, TABLET_OF_VISION_1, TABLET_OF_VISION_2, TABLET_OF_VISION_3, TABLET_OF_VISION_4);
+ addKillId(ICE_MONSTER, SPIRIT_OF_A_DROWNED, SOUL_OF_COLD, GHOST_OF_SOLITUDE, FIEND_OF_COLD);
+ addKillId(SPIRIT_OF_COLD, SPAMPLAND_WATCHMAN, FLAME_DRAKE, FIERY_IFRIT, IKEDIT);
+ addKillId(WATCHER_OF_THE_ANCIENT_PLEDGE, FALLEN_ANGEL_ALLECTOR, HALISHA_ARCHON, UNKNOWN_STOPPER);
+ registerQuestItems(INVESTIGATIVE_REPORT, ICE_CRYSTAL_FRAGMENT, HALISHA_BADGE);
+ addCondMinLevel(76, "aiken02.htm");
+ addCondClassId(ClassId.SPELLSINGER, "aiken03.htm");
+ }
+
+ @Override
+ public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
+ {
+ final QuestState st = getQuestState(player, false);
+ if (st == null)
+ {
+ return null;
+ }
+ String htmltext = event;
+ switch (event)
+ {
+ case "aiken02a.htm":
+ htmltext = "aiken5.htm";
+ break;
+ case "aiken01s.htm":
+ if (st.getCond() == 0)
+ {
+ st.startQuest();
+ st.setCond(1);
+ }
+ break;
+ case "jer2.htm":
+ if (st.getCond() == 1)
+ {
+ st.setCond(2);
+ }
+ break;
+ case "rifken2.htm":
+ if (st.getCond() == 2)
+ {
+ st.setCond(3);
+ }
+ break;
+ case "rifken4.htm":
+ if (st.getCond() == 4)
+ {
+ st.setCond(5);
+ }
+ takeItems(player, ICE_CRYSTAL_FRAGMENT, -1);
+ giveItems(player, INVESTIGATIVE_REPORT, 1);
+ break;
+ case "jer4.htm":
+ if (st.getCond() == 5)
+ {
+ st.setCond(6);
+ }
+ giveItems(player, AMULET_REZONANSA_PERVIY, 1);
+ takeItems(player, INVESTIGATIVE_REPORT, -1);
+ break;
+ case "stone12.htm":
+ if (st.getCond() == 6)
+ {
+ st.setCond(7);
+ }
+ break;
+ case "stone22.htm":
+ if (st.getCond() == 8)
+ {
+ addSpawn(FALLEN_ANGEL_ALLECTOR, npc, true, 0, true);
+ st.setCond(9);
+ }
+ break;
+ case "stone25.htm":
+ if (st.getCond() == 10)
+ {
+ st.setCond(11);
+ }
+ break;
+ case "jer6.htm":
+ if (st.getCond() == 11)
+ {
+ st.setCond(12);
+ }
+ break;
+ case "stone32.htm":
+ if (st.getCond() == 14)
+ {
+ st.setCond(15);
+ }
+ break;
+ case "stone41.htm":
+ if (st.getCond() == 15)
+ {
+ st.setCond(16);
+ }
+ addSpawn(UNKNOWN_STOPPER, npc, true, 0, true);
+ break;
+ case "erikrams2.htm":
+ if (st.getCond() == 16)
+ {
+ st.setCond(17);
+ }
+ giveItems(player, AMULET_REZONANSA_CHETVERTIY, 1);
+ break;
+ case "stone43.htm":
+ if (st.getCond() == 17)
+ {
+ st.setCond(18);
+ }
+ break;
+ case "aiken7.htm":
+ if (st.getCond() == 18)
+ {
+ if ((player.getLevel() < 76) && (player.getBaseClass() != 27))
+ {
+ htmltext = "30849-nolvl.htm";
+ }
+ addExpAndSp(player, 3100000, 103000);
+ rewardItems(player, BOOKPEGASUS, 1);
+ takeItems(player, AMULET_REZONANSA_PERVIY, -1);
+ takeItems(player, AMULET_REZONANSA_VTOROI, -1);
+ takeItems(player, AMULET_REZONANSA_TRETIY, -1);
+ takeItems(player, AMULET_REZONANSA_CHETVERTIY, -1);
+ takeItems(player, HALISHA_BADGE, -1);
+ st.exitQuest(false, true);
+ player.setClassId(103);
+ player.setBaseClass(103);
+ player.broadcastUserInfo();
+ npc.broadcastPacket(new MagicSkillUse(npc, player, 5103, 1, 1000, 0));
+ }
+ break;
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onTalk(L2Npc npc, L2PcInstance talker)
+ {
+ final QuestState qs = getQuestState(talker, true);
+ String htmltext = getNoQuestMsg(talker);
+
+ switch (qs.getState())
+ {
+ case State.CREATED:
+ {
+ if (npc.getId() == AKENIAS)
+ {
+ htmltext = "aiken01.htm";
+ }
+ break;
+ }
+ case State.STARTED:
+ {
+ if (npc.getId() == AKENIAS)
+ {
+ if (qs.getCond() == 1)
+ {
+ htmltext = "aiken01s.htm";
+ }
+ if (qs.getCond() == 18)
+ {
+ htmltext = "aiken6.htm";
+ }
+
+ }
+ if (npc.getId() == WINONIN)
+ {
+ if (qs.getCond() == 1)
+ {
+ htmltext = "jer1.htm";
+ }
+ if (qs.getCond() == 2)
+ {
+ htmltext = "jer2.htm";
+ }
+ if (qs.getCond() == 5)
+ {
+ htmltext = "jer3.htm";
+ }
+ if (qs.getCond() == 6)
+ {
+ htmltext = "jer4.htm";
+ }
+ if (qs.getCond() == 11)
+ {
+ htmltext = "jer5.htm";
+ }
+ if (qs.getCond() == 12)
+ {
+ htmltext = "jer6.htm";
+ }
+ }
+ if (npc.getId() == BROOME)
+ {
+ if (qs.getCond() == 2)
+ {
+ htmltext = "rifken1.htm";
+ }
+ if (qs.getCond() == 3)
+ {
+ htmltext = "rifken2.htm";
+ }
+ if (qs.getCond() == 4)
+ {
+ htmltext = "rifken3.htm";
+ }
+ }
+ if (npc.getId() == TABLET_OF_VISION_1)
+ {
+ if (qs.getCond() == 6)
+ {
+ htmltext = "stone11.htm";
+ }
+ if (qs.getCond() == 7)
+ {
+ htmltext = "stone12.htm";
+ }
+ }
+ if (npc.getId() == TABLET_OF_VISION_2)
+ {
+ if (qs.getCond() == 8)
+ {
+ htmltext = "stone21.htm";
+ }
+ if (qs.getCond() == 9)
+ {
+ htmltext = "stone23.htm";
+ }
+ if (qs.getCond() == 10)
+ {
+ htmltext = "stone24.htm";
+ }
+ if (qs.getCond() == 11)
+ {
+ htmltext = "stone25.htm";
+ }
+ }
+ if (npc.getId() == TABLET_OF_VISION_3)
+ {
+ if (qs.getCond() == 14)
+ {
+ htmltext = "stone31.htm";
+ }
+ if (qs.getCond() == 15)
+ {
+ htmltext = "stone32.htm";
+ }
+ }
+ if (npc.getId() == TABLET_OF_VISION_4)
+ {
+ if (qs.getCond() == 15)
+ {
+ htmltext = "stone40.htm";
+ }
+ if (qs.getCond() == 17)
+ {
+ htmltext = "stone42.htm";
+ }
+ if (qs.getCond() == 18)
+ {
+ htmltext = "stone43.htm";
+ }
+
+ }
+ if (npc.getId() == SILVER_FAYSHAR)
+ {
+ if (qs.getCond() == 16)
+ {
+ htmltext = "erikrams1.htm";
+ }
+ if (qs.getCond() == 17)
+ {
+ htmltext = "erikrams2.htm";
+ }
+ }
+ break;
+ }
+ case State.COMPLETED:
+ {
+ htmltext = getAlreadyCompletedMsg(talker);
+ break;
+ }
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
+ {
+ final QuestState qs = getQuestState(killer, false);
+ if ((qs != null) && qs.isStarted() && Util.checkIfInRange(1500, npc, killer, true))
+ {
+ switch (npc.getId())
+ {
+ case ICE_MONSTER:
+ case SPIRIT_OF_A_DROWNED:
+ case SOUL_OF_COLD:
+ case FIEND_OF_COLD:
+ case GHOST_OF_SOLITUDE:
+ case SPIRIT_OF_COLD:
+ if (qs.getCond() == 3)
+ {
+ if (getQuestItemsCount(killer, ICE_CRYSTAL_FRAGMENT) < 50)
+ {
+ giveItemRandomly(killer, npc, ICE_CRYSTAL_FRAGMENT, 1, 50, 50, true);
+ }
+ if (getQuestItemsCount(killer, ICE_CRYSTAL_FRAGMENT) >= 50)
+ {
+ qs.setCond(4);
+ }
+ }
+ break;
+ case FALLEN_ANGEL_ALLECTOR:
+ if (qs.getCond() == 9)
+ {
+ qs.setCond(10);
+ }
+ break;
+ case SPAMPLAND_WATCHMAN:
+ case FLAME_DRAKE:
+ case FIERY_IFRIT:
+ case IKEDIT:
+ if (qs.getCond() == 12)
+ {
+ if (getQuestItemsCount(killer, HALISHA_BADGE) < 701)
+ {
+ giveItemRandomly(killer, npc, HALISHA_BADGE, 1, 701, 50, true);
+ if (getQuestItemsCount(killer, HALISHA_BADGE) >= 701)
+ {
+ addSpawn(HALISHA_ARCHON, npc, true, 0, true);
+ qs.setCond(13);
+ }
+ }
+ }
+ break;
+ case HALISHA_ARCHON:
+ if (qs.getCond() == 13)
+ {
+ if (!hasQuestItems(killer, AMULET_REZONANSA_TRETIY))
+ {
+ giveItemRandomly(killer, npc, AMULET_REZONANSA_TRETIY, 1, 1, 50, true);
+ }
+ qs.setCond(14);
+ }
+ break;
+ case UNKNOWN_STOPPER:
+ if (qs.getCond() == 16)
+ {
+ addSpawn(SILVER_FAYSHAR, npc, true, 20000, true);
+ }
+ break;
+ }
+
+ if (qs.isCond(7))
+ {
+ int count = qs.getInt(KILL_COUNT_VAR);
+ if (npc.getId() == WATCHER_OF_THE_ANCIENT_PLEDGE)
+ {
+ if (count < 20)
+ {
+ qs.set(KILL_COUNT_VAR, ++count);
+ sendNpcLogList(killer);
+ }
+ }
+ if (count >= 20)
+ {
+ qs.setCond(8, true);
+ giveItems(killer, AMULET_REZONANSA_VTOROI, 1);
+ }
+ }
+ }
+ return super.onKill(npc, killer, isSummon);
+ }
+
+ @Override
+ public Set getNpcLogList(L2PcInstance player)
+ {
+ final QuestState qs = getQuestState(player, false);
+ if ((qs != null) && qs.isCond(7))
+ {
+ final Set holder = new HashSet<>(1);
+
+ // guardian of forbidden knowledge
+ final int guardiancount = qs.getInt(KILL_COUNT_VAR);
+ if (guardiancount > 0)
+ {
+ holder.add(new NpcLogListHolder(WATCHER_OF_THE_ANCIENT_PLEDGE, false, guardiancount));
+ }
+ return holder;
+ }
+ return super.getNpcLogList(player);
+ }
+}
\ No newline at end of file
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00089_SagaOfTheMysticMuse/aiken01.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00089_SagaOfTheMysticMuse/aiken01.htm
new file mode 100644
index 0000000000..f3cb228f2a
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00089_SagaOfTheMysticMuse/aiken01.htm
@@ -0,0 +1,5 @@
+
+Arkenias:
+Do you want to become a Mystic Muse ?
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00089_SagaOfTheMysticMuse/aiken01s.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00089_SagaOfTheMysticMuse/aiken01s.htm
new file mode 100644
index 0000000000..93bd18addb
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00089_SagaOfTheMysticMuse/aiken01s.htm
@@ -0,0 +1,4 @@
+
+Arkenias:
+To become a Magister of Magic, you need to acquire the power sealed in the Stones of Knowledge. First, go to the Great Magister Vinonin from the Guild of the Magicians of Aden.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00089_SagaOfTheMysticMuse/aiken02.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00089_SagaOfTheMysticMuse/aiken02.htm
new file mode 100644
index 0000000000..a68ff7841e
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00089_SagaOfTheMysticMuse/aiken02.htm
@@ -0,0 +1,6 @@
+
+Arkenias:
+My young friend, you do not have enough experience to become a Mystic Muse. I see your passion and I hope that you will keep it in your heart, but it is not enough - only through the experience of battle you can acquire the power that will allow you not to deviate from your faith in the era of untruth.
+Come back when you are a little older and wiser. When you are ready, I will give you a mission to check if you are ready to become a Mystic Muse.
+(Quest for characters whose level is 76 or higher.)
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00089_SagaOfTheMysticMuse/aiken02a.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00089_SagaOfTheMysticMuse/aiken02a.htm
new file mode 100644
index 0000000000..42e998d751
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00089_SagaOfTheMysticMuse/aiken02a.htm
@@ -0,0 +1,6 @@
+
+Arkenias:
+Have you not already received the title of Mystic Muse?
+ My brother, you do not have to go through the test of the squire again.
+ Your duty is to fight for your faith and the glory of the lord.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00089_SagaOfTheMysticMuse/aiken03.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00089_SagaOfTheMysticMuse/aiken03.htm
new file mode 100644
index 0000000000..850c0913d2
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00089_SagaOfTheMysticMuse/aiken03.htm
@@ -0,0 +1,5 @@
+
+Arkenias:
+Apparently, you have already chosen your path.
+ You do not need to do the Mystic Muse.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00089_SagaOfTheMysticMuse/aiken5.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00089_SagaOfTheMysticMuse/aiken5.htm
new file mode 100644
index 0000000000..db0ca6d379
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00089_SagaOfTheMysticMuse/aiken5.htm
@@ -0,0 +1,8 @@
+
+Arkenias:
+Do you want to become a Mystic Muse?
+ Well, then you must pass Saga Mystic Muse,
+To prove that you are not just a reckless, quick-tempered warrior, but
+ A warrior with the soul of a true Mystic Muse. This is a form of ritual and the process of training,
+ Who must fulfill all who wish to become a Mystic Muse.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00089_SagaOfTheMysticMuse/aiken6.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00089_SagaOfTheMysticMuse/aiken6.htm
new file mode 100644
index 0000000000..3f91f34a81
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00089_SagaOfTheMysticMuse/aiken6.htm
@@ -0,0 +1,5 @@
+
+Arkenias:
+Congratulations! You have passed all the tests and are ready to receive the profession of Mystic Muse !!!
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00089_SagaOfTheMysticMuse/aiken7.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00089_SagaOfTheMysticMuse/aiken7.htm
new file mode 100644
index 0000000000..c9f1f282b7
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00089_SagaOfTheMysticMuse/aiken7.htm
@@ -0,0 +1,4 @@
+
+Arkenias:
+Congratulations! You have received the profession of Mystic Muse !!!
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00089_SagaOfTheMysticMuse/erikrams1.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00089_SagaOfTheMysticMuse/erikrams1.htm
new file mode 100644
index 0000000000..068f7a6a73
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00089_SagaOfTheMysticMuse/erikrams1.htm
@@ -0,0 +1,7 @@
+
+Silver Face:
+
+Thank you! You helped avenge me, I will give you the fourth amulet
+
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00089_SagaOfTheMysticMuse/erikrams2.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00089_SagaOfTheMysticMuse/erikrams2.htm
new file mode 100644
index 0000000000..38c42747e9
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00089_SagaOfTheMysticMuse/erikrams2.htm
@@ -0,0 +1,5 @@
+
+Silver Face:
+
+Now activate the last stone
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00089_SagaOfTheMysticMuse/jer1.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00089_SagaOfTheMysticMuse/jer1.htm
new file mode 100644
index 0000000000..3c6f094945
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00089_SagaOfTheMysticMuse/jer1.htm
@@ -0,0 +1,5 @@
+
+Vinonin:
+Grand Master Vinonin asks you to go to the Merchant Information Broome in the Sweltered Swamp and take the Study Report from him.
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00089_SagaOfTheMysticMuse/jer2.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00089_SagaOfTheMysticMuse/jer2.htm
new file mode 100644
index 0000000000..6e65d6538c
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00089_SagaOfTheMysticMuse/jer2.htm
@@ -0,0 +1,4 @@
+
+Vinonin:
+Grand Master Vinonin asks you to go to the Merchant Information Broome in the Sweltered Swamp and take the Study Report from him.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00089_SagaOfTheMysticMuse/jer3.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00089_SagaOfTheMysticMuse/jer3.htm
new file mode 100644
index 0000000000..84520c5833
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00089_SagaOfTheMysticMuse/jer3.htm
@@ -0,0 +1,5 @@
+
+Vinonin:
+Did you bring the Report?
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00089_SagaOfTheMysticMuse/jer4.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00089_SagaOfTheMysticMuse/jer4.htm
new file mode 100644
index 0000000000..e20ea45c3e
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00089_SagaOfTheMysticMuse/jer4.htm
@@ -0,0 +1,4 @@
+
+Vinonin:
+You have received the Resonance Amulet. Activate the Stone of Knowledge to the south of the Tower of Insolence.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00089_SagaOfTheMysticMuse/jer5.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00089_SagaOfTheMysticMuse/jer5.htm
new file mode 100644
index 0000000000..8dd41e9bad
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00089_SagaOfTheMysticMuse/jer5.htm
@@ -0,0 +1,5 @@
+
+Vinonin:
+Have you come for the third Amulet of Resonance?
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00089_SagaOfTheMysticMuse/jer6.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00089_SagaOfTheMysticMuse/jer6.htm
new file mode 100644
index 0000000000..8b34e7db26
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00089_SagaOfTheMysticMuse/jer6.htm
@@ -0,0 +1,4 @@
+
+Vinonin:
+The Grand Master Vinonin says that the third Amulet of Resonance is in Archon Halisha. To summon him, you need to destroy his minions in the Molten Tops and collect the Halisha Signs. Destroy these monsters and call Archon Halisha. The aim of the hunt is the Ranger of the Swamp, Burning Drake, Flame Iphreet, Ikedith
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00089_SagaOfTheMysticMuse/rifken1.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00089_SagaOfTheMysticMuse/rifken1.htm
new file mode 100644
index 0000000000..014ee9d25b
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00089_SagaOfTheMysticMuse/rifken1.htm
@@ -0,0 +1,5 @@
+
+Broome:
+Broome Information Broker requires to bring Crystal Fragments of the Cold. in exchange for the Study Report. They can be obtained by destroying monsters to the southeast of Aden.
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00089_SagaOfTheMysticMuse/rifken2.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00089_SagaOfTheMysticMuse/rifken2.htm
new file mode 100644
index 0000000000..01a69b6132
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00089_SagaOfTheMysticMuse/rifken2.htm
@@ -0,0 +1,4 @@
+
+Broome:
+Obtain Fragments of the Crystal of Cold.. These pieces can be obtained by destroying monsters to the southeast of Aden.The aim of the hunt is the Ice Monster, the Spirit of the Drowned One, the Soul of Cold, the Ghost of Solitude, the Cold Beast, the Spirit of Coldness.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00089_SagaOfTheMysticMuse/rifken3.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00089_SagaOfTheMysticMuse/rifken3.htm
new file mode 100644
index 0000000000..d3c8a3ec78
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00089_SagaOfTheMysticMuse/rifken3.htm
@@ -0,0 +1,5 @@
+
+Broome:
+Did you get all the ingredients?
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00089_SagaOfTheMysticMuse/rifken4.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00089_SagaOfTheMysticMuse/rifken4.htm
new file mode 100644
index 0000000000..04f7c5bef6
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00089_SagaOfTheMysticMuse/rifken4.htm
@@ -0,0 +1,4 @@
+
+Rifken:
+You have received the Study Report from the Merchant with Broome Information. Return to Grand Master Vinonin in Aden.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00089_SagaOfTheMysticMuse/stone11.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00089_SagaOfTheMysticMuse/stone11.htm
new file mode 100644
index 0000000000..928b513670
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00089_SagaOfTheMysticMuse/stone11.htm
@@ -0,0 +1,5 @@
+
+Stone of knowledge:
+You slash like a stone starts to vibrate
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00089_SagaOfTheMysticMuse/stone12.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00089_SagaOfTheMysticMuse/stone12.htm
new file mode 100644
index 0000000000..76a8dcefa5
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00089_SagaOfTheMysticMuse/stone12.htm
@@ -0,0 +1,4 @@
+
+Stone of knowledge:
+You brought the amulet and the inscription appeared on the stone - The second Amulet of Resonance is at the Vow of the Ancient Vow next to the second Stone of Knowledge.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00089_SagaOfTheMysticMuse/stone21.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00089_SagaOfTheMysticMuse/stone21.htm
new file mode 100644
index 0000000000..0f737a2b37
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00089_SagaOfTheMysticMuse/stone21.htm
@@ -0,0 +1,5 @@
+
+Stone of knowledge:
+You slash like a stone starts to vibrate
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00089_SagaOfTheMysticMuse/stone22.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00089_SagaOfTheMysticMuse/stone22.htm
new file mode 100644
index 0000000000..bde3e8c3b4
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00089_SagaOfTheMysticMuse/stone22.htm
@@ -0,0 +1,4 @@
+
+Stone of knowledge:
+As soon as you came to the stone, the Fallen Angel Alector appeared. Obviously, he is trying to stop you. Destroy it.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00089_SagaOfTheMysticMuse/stone23.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00089_SagaOfTheMysticMuse/stone23.htm
new file mode 100644
index 0000000000..d323517e9b
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00089_SagaOfTheMysticMuse/stone23.htm
@@ -0,0 +1,4 @@
+
+Stone of knowledge:
+Now you can go in search of the third stone
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00089_SagaOfTheMysticMuse/stone24.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00089_SagaOfTheMysticMuse/stone24.htm
new file mode 100644
index 0000000000..70c3f9e051
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00089_SagaOfTheMysticMuse/stone24.htm
@@ -0,0 +1,5 @@
+
+Stone of knowledge:
+You slash like a stone starts to vibrate
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00089_SagaOfTheMysticMuse/stone25.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00089_SagaOfTheMysticMuse/stone25.htm
new file mode 100644
index 0000000000..35d23a2de8
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00089_SagaOfTheMysticMuse/stone25.htm
@@ -0,0 +1,4 @@
+
+Stone of knowledge:
+After activating the stone, you learned that the third Amulet of Resonance is located at the Grand Master Vinonin of the Guild of the Magicians of Aden. Get her the Resonance Amulet.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00089_SagaOfTheMysticMuse/stone31.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00089_SagaOfTheMysticMuse/stone31.htm
new file mode 100644
index 0000000000..6570e4c594
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00089_SagaOfTheMysticMuse/stone31.htm
@@ -0,0 +1,5 @@
+
+Stone of knowledge:
+You slash like a stone starts to vibrate
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00089_SagaOfTheMysticMuse/stone32.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00089_SagaOfTheMysticMuse/stone32.htm
new file mode 100644
index 0000000000..2a10d6d59f
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00089_SagaOfTheMysticMuse/stone32.htm
@@ -0,0 +1,4 @@
+
+Stone of knowledge:
+When the activation of the third Stone of Knowledge ended, he showed the location of the next stone. The fourth Stone of Knowledge is in the area of ​​the Elven Village, and the last Amulet of Resonance is near the stone. Go there.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00089_SagaOfTheMysticMuse/stone40.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00089_SagaOfTheMysticMuse/stone40.htm
new file mode 100644
index 0000000000..e16b6d4aa3
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00089_SagaOfTheMysticMuse/stone40.htm
@@ -0,0 +1,8 @@
+
+Stone of knowledge:
+You slash like a stone starts to vibrate
+
+The last amulet is in The Mysterious Demon
+Are you ready to fight him?
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00089_SagaOfTheMysticMuse/stone41.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00089_SagaOfTheMysticMuse/stone41.htm
new file mode 100644
index 0000000000..678ebe3bec
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00089_SagaOfTheMysticMuse/stone41.htm
@@ -0,0 +1,3 @@
+
+A mysterious demon appeared nearby
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00089_SagaOfTheMysticMuse/stone42.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00089_SagaOfTheMysticMuse/stone42.htm
new file mode 100644
index 0000000000..ae3a6665d2
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00089_SagaOfTheMysticMuse/stone42.htm
@@ -0,0 +1,5 @@
+
+Stone of knowledge:
+You slash like a stone starts to vibrate
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00089_SagaOfTheMysticMuse/stone43.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00089_SagaOfTheMysticMuse/stone43.htm
new file mode 100644
index 0000000000..475191369c
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00089_SagaOfTheMysticMuse/stone43.htm
@@ -0,0 +1,5 @@
+
+Stone of knowledge:
+You successfully activated the last stone
+You have found all the Stones of Knowledge. Return to Grand Magister Arkenias in the Ivory Tower.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00090_SagaOfTheStormScreamer/Q00090_SagaOfTheStormScreamer.java b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00090_SagaOfTheStormScreamer/Q00090_SagaOfTheStormScreamer.java
new file mode 100644
index 0000000000..e16ee182c3
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00090_SagaOfTheStormScreamer/Q00090_SagaOfTheStormScreamer.java
@@ -0,0 +1,450 @@
+package quests.Q00090_SagaOfTheStormScreamer;
+
+import java.util.HashSet;
+import java.util.Set;
+
+import com.l2jmobius.gameserver.model.actor.L2Npc;
+import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
+import com.l2jmobius.gameserver.model.base.ClassId;
+import com.l2jmobius.gameserver.model.holders.NpcLogListHolder;
+import com.l2jmobius.gameserver.model.quest.Quest;
+import com.l2jmobius.gameserver.model.quest.QuestState;
+import com.l2jmobius.gameserver.model.quest.State;
+import com.l2jmobius.gameserver.network.serverpackets.MagicSkillUse;
+import com.l2jmobius.gameserver.util.Util;
+
+//QuangNguyen
+
+public class Q00090_SagaOfTheStormScreamer extends Quest
+{
+ public final int FAIREN = 30175;
+ public final int HANELLINE = 30864;
+ public final int BROOME = 34270;
+ public final int TABLET_OF_VISION_1 = 31646;
+ public final int TABLET_OF_VISION_2 = 31649;
+ public final int TABLET_OF_VISION_3 = 31652;
+ public final int TABLET_OF_VISION_4 = 31656;
+ public final int MEDINA_BLACKHEART = 31598;
+ // mobs
+ public final int ICE_MONSTER = 27316;
+ public final int SPIRIT_OF_A_DROWNED = 27317;
+ public final int SOUL_OF_COLD = 27318;
+ public final int GHOST_OF_SOLITUDE = 27319;
+ public final int FIEND_OF_COLD = 27320;
+ public final int SPIRIT_OF_COLD = 27321;
+ public final int SPAMPLAND_WATCHMAN = 21650;
+ public final int FLAME_DRAKE = 21651;
+ public final int FIERY_IFRIT = 21652;
+ public final int IKEDIT = 21653;
+ public final int WATCHER_OF_THE_ANCIENT_PLEDGE = 27216;
+ public final int FALLEN_ANGEL_ALLECTOR = 27250;
+ public final int HALISHA_ARCHON = 27219;
+ public final int UNKNOWN_STOPPER = 27254;
+ // items
+ public final int ICE_CRYSTAL_FRAGMENT = 49824;
+ public final int HALISHA_BADGE = 7505;
+ public final int AMULET_REZONANSA_PERVIY = 7288;
+ public final int AMULET_REZONANSA_VTOROI = 7319;
+ public final int AMULET_REZONANSA_TRETIY = 7350;
+ public final int AMULET_REZONANSA_CHETVERTIY = 7381;
+ public final int INVESTIGATIVE_REPORT = 7531;
+ // reward
+ public final int BOOKSABERTOOTH = 90040;
+ private static final String KILL_COUNT_VAR = "KillCount";
+
+ public Q00090_SagaOfTheStormScreamer()
+ {
+ super(90);
+ addStartNpc(FAIREN);
+ addTalkId(FAIREN, HANELLINE, BROOME, MEDINA_BLACKHEART, TABLET_OF_VISION_1, TABLET_OF_VISION_2, TABLET_OF_VISION_3, TABLET_OF_VISION_4);
+ addKillId(ICE_MONSTER, SPIRIT_OF_A_DROWNED, SOUL_OF_COLD, GHOST_OF_SOLITUDE, FIEND_OF_COLD);
+ addKillId(SPIRIT_OF_COLD, SPAMPLAND_WATCHMAN, FLAME_DRAKE, FIERY_IFRIT, IKEDIT);
+ addKillId(WATCHER_OF_THE_ANCIENT_PLEDGE, FALLEN_ANGEL_ALLECTOR, HALISHA_ARCHON, UNKNOWN_STOPPER);
+ registerQuestItems(INVESTIGATIVE_REPORT, ICE_CRYSTAL_FRAGMENT, HALISHA_BADGE);
+ addCondMinLevel(76, "aiken02.htm");
+ addCondClassId(ClassId.SPELLHOWLER, "aiken03.htm");
+ }
+
+ @Override
+ public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
+ {
+ final QuestState st = getQuestState(player, false);
+ if (st == null)
+ {
+ return null;
+ }
+ String htmltext = event;
+ switch (event)
+ {
+ case "aiken02a.htm":
+ htmltext = "aiken5.htm";
+ break;
+ case "aiken01s.htm":
+ if (st.getCond() == 0)
+ {
+ st.startQuest();
+ st.setCond(1);
+ }
+ break;
+ case "jer2.htm":
+ if (st.getCond() == 1)
+ {
+ st.setCond(2);
+ }
+ break;
+ case "rifken2.htm":
+ if (st.getCond() == 2)
+ {
+ st.setCond(3);
+ }
+ break;
+ case "rifken4.htm":
+ if (st.getCond() == 4)
+ {
+ st.setCond(5);
+ }
+ takeItems(player, ICE_CRYSTAL_FRAGMENT, -1);
+ giveItems(player, INVESTIGATIVE_REPORT, 1);
+ break;
+ case "jer4.htm":
+ if (st.getCond() == 5)
+ {
+ st.setCond(6);
+ }
+ giveItems(player, AMULET_REZONANSA_PERVIY, 1);
+ takeItems(player, INVESTIGATIVE_REPORT, -1);
+ break;
+ case "stone12.htm":
+ if (st.getCond() == 6)
+ {
+ st.setCond(7);
+ }
+ break;
+ case "stone22.htm":
+ if (st.getCond() == 8)
+ {
+ addSpawn(FALLEN_ANGEL_ALLECTOR, npc, true, 0, true);
+ st.setCond(9);
+ }
+ break;
+ case "stone25.htm":
+ if (st.getCond() == 10)
+ {
+ st.setCond(11);
+ }
+ break;
+ case "jer6.htm":
+ if (st.getCond() == 11)
+ {
+ st.setCond(12);
+ }
+ break;
+ case "stone32.htm":
+ if (st.getCond() == 14)
+ {
+ st.setCond(15);
+ }
+ break;
+ case "stone41.htm":
+ if (st.getCond() == 15)
+ {
+ st.setCond(16);
+ }
+ addSpawn(UNKNOWN_STOPPER, npc, true, 0, true);
+ break;
+ case "erikrams2.htm":
+ if (st.getCond() == 16)
+ {
+ st.setCond(17);
+ }
+ giveItems(player, AMULET_REZONANSA_CHETVERTIY, 1);
+ break;
+ case "stone43.htm":
+ if (st.getCond() == 17)
+ {
+ st.setCond(18);
+ }
+ break;
+ case "aiken7.htm":
+ if (st.getCond() == 18)
+ {
+ if ((player.getLevel() < 76) && (player.getBaseClass() != 40))
+ {
+ htmltext = "30849-nolvl.htm";
+ }
+ addExpAndSp(player, 3100000, 103000);
+ rewardItems(player, BOOKSABERTOOTH, 1);
+ takeItems(player, AMULET_REZONANSA_PERVIY, -1);
+ takeItems(player, AMULET_REZONANSA_VTOROI, -1);
+ takeItems(player, AMULET_REZONANSA_TRETIY, -1);
+ takeItems(player, AMULET_REZONANSA_CHETVERTIY, -1);
+ takeItems(player, HALISHA_BADGE, -1);
+ st.exitQuest(false, true);
+ player.setClassId(110);
+ player.setBaseClass(110);
+ player.broadcastUserInfo();
+ npc.broadcastPacket(new MagicSkillUse(npc, player, 5103, 1, 1000, 0));
+ }
+ break;
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onTalk(L2Npc npc, L2PcInstance talker)
+ {
+ final QuestState qs = getQuestState(talker, true);
+ String htmltext = getNoQuestMsg(talker);
+
+ switch (qs.getState())
+ {
+ case State.CREATED:
+ {
+ if (npc.getId() == FAIREN)
+ {
+ htmltext = "aiken01.htm";
+ }
+ break;
+ }
+ case State.STARTED:
+ {
+ if (npc.getId() == FAIREN)
+ {
+ if (qs.getCond() == 1)
+ {
+ htmltext = "aiken01s.htm";
+ }
+ if (qs.getCond() == 18)
+ {
+ htmltext = "aiken6.htm";
+ }
+
+ }
+ if (npc.getId() == HANELLINE)
+ {
+ if (qs.getCond() == 1)
+ {
+ htmltext = "jer1.htm";
+ }
+ if (qs.getCond() == 2)
+ {
+ htmltext = "jer2.htm";
+ }
+ if (qs.getCond() == 5)
+ {
+ htmltext = "jer3.htm";
+ }
+ if (qs.getCond() == 6)
+ {
+ htmltext = "jer4.htm";
+ }
+ if (qs.getCond() == 11)
+ {
+ htmltext = "jer5.htm";
+ }
+ if (qs.getCond() == 12)
+ {
+ htmltext = "jer6.htm";
+ }
+ }
+ if (npc.getId() == BROOME)
+ {
+ if (qs.getCond() == 2)
+ {
+ htmltext = "rifken1.htm";
+ }
+ if (qs.getCond() == 3)
+ {
+ htmltext = "rifken2.htm";
+ }
+ if (qs.getCond() == 4)
+ {
+ htmltext = "rifken3.htm";
+ }
+ }
+ if (npc.getId() == TABLET_OF_VISION_1)
+ {
+ if (qs.getCond() == 6)
+ {
+ htmltext = "stone11.htm";
+ }
+ if (qs.getCond() == 7)
+ {
+ htmltext = "stone12.htm";
+ }
+ }
+ if (npc.getId() == TABLET_OF_VISION_2)
+ {
+ if (qs.getCond() == 8)
+ {
+ htmltext = "stone21.htm";
+ }
+ if (qs.getCond() == 9)
+ {
+ htmltext = "stone23.htm";
+ }
+ if (qs.getCond() == 10)
+ {
+ htmltext = "stone24.htm";
+ }
+ if (qs.getCond() == 11)
+ {
+ htmltext = "stone25.htm";
+ }
+ }
+ if (npc.getId() == TABLET_OF_VISION_3)
+ {
+ if (qs.getCond() == 14)
+ {
+ htmltext = "stone31.htm";
+ }
+ if (qs.getCond() == 15)
+ {
+ htmltext = "stone32.htm";
+ }
+ }
+ if (npc.getId() == TABLET_OF_VISION_4)
+ {
+ if (qs.getCond() == 15)
+ {
+ htmltext = "stone40.htm";
+ }
+ if (qs.getCond() == 17)
+ {
+ htmltext = "stone42.htm";
+ }
+ if (qs.getCond() == 18)
+ {
+ htmltext = "stone43.htm";
+ }
+
+ }
+ if (npc.getId() == MEDINA_BLACKHEART)
+ {
+ if (qs.getCond() == 16)
+ {
+ htmltext = "erikrams1.htm";
+ }
+ if (qs.getCond() == 17)
+ {
+ htmltext = "erikrams2.htm";
+ }
+ }
+ break;
+ }
+ case State.COMPLETED:
+ {
+ htmltext = getAlreadyCompletedMsg(talker);
+ break;
+ }
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
+ {
+ final QuestState qs = getQuestState(killer, false);
+ if ((qs != null) && qs.isStarted() && Util.checkIfInRange(1500, npc, killer, true))
+ {
+ switch (npc.getId())
+ {
+ case ICE_MONSTER:
+ case SPIRIT_OF_A_DROWNED:
+ case SOUL_OF_COLD:
+ case FIEND_OF_COLD:
+ case GHOST_OF_SOLITUDE:
+ case SPIRIT_OF_COLD:
+ if (qs.getCond() == 3)
+ {
+ if (getQuestItemsCount(killer, ICE_CRYSTAL_FRAGMENT) < 50)
+ {
+ giveItemRandomly(killer, npc, ICE_CRYSTAL_FRAGMENT, 1, 50, 50, true);
+ }
+ if (getQuestItemsCount(killer, ICE_CRYSTAL_FRAGMENT) >= 50)
+ {
+ qs.setCond(4);
+ }
+ }
+ break;
+ case FALLEN_ANGEL_ALLECTOR:
+ if (qs.getCond() == 9)
+ {
+ qs.setCond(10);
+ }
+ break;
+ case SPAMPLAND_WATCHMAN:
+ case FLAME_DRAKE:
+ case FIERY_IFRIT:
+ case IKEDIT:
+ if (qs.getCond() == 12)
+ {
+ if (getQuestItemsCount(killer, HALISHA_BADGE) < 701)
+ {
+ giveItemRandomly(killer, npc, HALISHA_BADGE, 1, 701, 50, true);
+ if (getQuestItemsCount(killer, HALISHA_BADGE) >= 701)
+ {
+ addSpawn(HALISHA_ARCHON, npc, true, 0, true);
+ qs.setCond(13);
+ }
+ }
+ }
+ break;
+ case HALISHA_ARCHON:
+ if (qs.getCond() == 13)
+ {
+ if (!hasQuestItems(killer, AMULET_REZONANSA_TRETIY))
+ {
+ giveItemRandomly(killer, npc, AMULET_REZONANSA_TRETIY, 1, 1, 50, true);
+ }
+ qs.setCond(14);
+ }
+ break;
+ case UNKNOWN_STOPPER:
+ if (qs.getCond() == 16)
+ {
+ addSpawn(MEDINA_BLACKHEART, npc, true, 20000, true);
+ }
+ break;
+ }
+
+ if (qs.isCond(7))
+ {
+ int count = qs.getInt(KILL_COUNT_VAR);
+ if (npc.getId() == WATCHER_OF_THE_ANCIENT_PLEDGE)
+ {
+ if (count < 20)
+ {
+ qs.set(KILL_COUNT_VAR, ++count);
+ sendNpcLogList(killer);
+ }
+ }
+ if (count >= 20)
+ {
+ qs.setCond(8, true);
+ giveItems(killer, AMULET_REZONANSA_VTOROI, 1);
+ }
+ }
+ }
+ return super.onKill(npc, killer, isSummon);
+ }
+
+ @Override
+ public Set getNpcLogList(L2PcInstance player)
+ {
+ final QuestState qs = getQuestState(player, false);
+ if ((qs != null) && qs.isCond(7))
+ {
+ final Set holder = new HashSet<>(1);
+
+ // guardian of forbidden knowledge
+ final int guardiancount = qs.getInt(KILL_COUNT_VAR);
+ if (guardiancount > 0)
+ {
+ holder.add(new NpcLogListHolder(WATCHER_OF_THE_ANCIENT_PLEDGE, false, guardiancount));
+ }
+ return holder;
+ }
+ return super.getNpcLogList(player);
+ }
+}
\ No newline at end of file
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00090_SagaOfTheStormScreamer/aiken01.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00090_SagaOfTheStormScreamer/aiken01.htm
new file mode 100644
index 0000000000..679dadc411
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00090_SagaOfTheStormScreamer/aiken01.htm
@@ -0,0 +1,6 @@
+
+Fairen:
+
+Do you want to become a Storm Screamer ?.
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00090_SagaOfTheStormScreamer/aiken01s.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00090_SagaOfTheStormScreamer/aiken01s.htm
new file mode 100644
index 0000000000..0fc8d6267e
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00090_SagaOfTheStormScreamer/aiken01s.htm
@@ -0,0 +1,5 @@
+
+Fairen:
+
+To become the Lord of the Storm, you need to gain strength sealed in the Stones of Knowledge. First go to Master Hanelin in Aden.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00090_SagaOfTheStormScreamer/aiken02.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00090_SagaOfTheStormScreamer/aiken02.htm
new file mode 100644
index 0000000000..4052f1dd17
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00090_SagaOfTheStormScreamer/aiken02.htm
@@ -0,0 +1,7 @@
+
+Fairen:
+
+My young friend, you do not have enough experience to become the Storm Screamer. I see your passion and I hope that you will keep it in your heart, but it is not enough - only through the experience of battle you can acquire the power that will allow you not to deviate from your faith in the era of untruth.
+Come back when you are a little older and wiser. When you are ready, I will give you an assignment to check if you are ready to become a Storm Screamer.
+(Quest for characters whose level is 76 or higher.)
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00090_SagaOfTheStormScreamer/aiken02a.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00090_SagaOfTheStormScreamer/aiken02a.htm
new file mode 100644
index 0000000000..f4d1018415
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00090_SagaOfTheStormScreamer/aiken02a.htm
@@ -0,0 +1,7 @@
+
+Fairen:
+
+Have not you already got the title of Storm Screamer?
+Â My brother, you do not have to go through the test of the squire again.
+Â Your duty is to fight for your faith and the glory of the lord.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00090_SagaOfTheStormScreamer/aiken03.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00090_SagaOfTheStormScreamer/aiken03.htm
new file mode 100644
index 0000000000..ed476fbeb4
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00090_SagaOfTheStormScreamer/aiken03.htm
@@ -0,0 +1,6 @@
+
+Fairen:
+
+Apparently, you have already chosen your path.
+You do not need to do the Storm Screamer.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00090_SagaOfTheStormScreamer/aiken5.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00090_SagaOfTheStormScreamer/aiken5.htm
new file mode 100644
index 0000000000..83df0e93c2
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00090_SagaOfTheStormScreamer/aiken5.htm
@@ -0,0 +1,9 @@
+
+Fairen:
+
+Do you want to become the Storm Screamer?
+ Well, then you must pass Saga of Storm Screamer,
+ To prove that you are not just a reckless, quick-tempered warrior, but
+Â A warrior with the soul of a true virtuoso. This is a form of ritual and the process of training,
+Â They must be performed by all who wish to become the Storm Screamer.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00090_SagaOfTheStormScreamer/aiken6.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00090_SagaOfTheStormScreamer/aiken6.htm
new file mode 100644
index 0000000000..b83920aac6
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00090_SagaOfTheStormScreamer/aiken6.htm
@@ -0,0 +1,6 @@
+
+Fairen:
+
+Congratulations! You have passed all the tests and are ready to receive the profession of Storm Screamer !!!
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00090_SagaOfTheStormScreamer/aiken7.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00090_SagaOfTheStormScreamer/aiken7.htm
new file mode 100644
index 0000000000..c60bf1a2f7
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00090_SagaOfTheStormScreamer/aiken7.htm
@@ -0,0 +1,5 @@
+
+Fairen:
+
+Congratulations! You have received the Profession of the Storm Screamer !!!
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00090_SagaOfTheStormScreamer/erikrams1.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00090_SagaOfTheStormScreamer/erikrams1.htm
new file mode 100644
index 0000000000..eb5a7dd911
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00090_SagaOfTheStormScreamer/erikrams1.htm
@@ -0,0 +1,7 @@
+
+Medina Blackhart:
+
+Thank you! You helped avenge me, I will give you the fourth amulet
+
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00090_SagaOfTheStormScreamer/erikrams2.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00090_SagaOfTheStormScreamer/erikrams2.htm
new file mode 100644
index 0000000000..59bdc2aacc
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00090_SagaOfTheStormScreamer/erikrams2.htm
@@ -0,0 +1,5 @@
+
+Medina Blackhart:
+
+Now activate the last stone
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00090_SagaOfTheStormScreamer/jer1.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00090_SagaOfTheStormScreamer/jer1.htm
new file mode 100644
index 0000000000..aac7b86baf
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00090_SagaOfTheStormScreamer/jer1.htm
@@ -0,0 +1,6 @@
+
+Hanelin:
+
+Master Hanelin asks you to go to the Information Broker to the Broome in the Molten Swamp and take the Study Report from him
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00090_SagaOfTheStormScreamer/jer2.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00090_SagaOfTheStormScreamer/jer2.htm
new file mode 100644
index 0000000000..7414cf074c
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00090_SagaOfTheStormScreamer/jer2.htm
@@ -0,0 +1,5 @@
+
+Hanelin:
+
+Master Khanelin asks you to go to the Information Broker to the Broome in the Molten Swamp and take the Study Report from him.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00090_SagaOfTheStormScreamer/jer3.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00090_SagaOfTheStormScreamer/jer3.htm
new file mode 100644
index 0000000000..9b680bdf82
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00090_SagaOfTheStormScreamer/jer3.htm
@@ -0,0 +1,6 @@
+
+Hanelin:
+
+Did you bring the Report?
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00090_SagaOfTheStormScreamer/jer4.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00090_SagaOfTheStormScreamer/jer4.htm
new file mode 100644
index 0000000000..161a4b08bf
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00090_SagaOfTheStormScreamer/jer4.htm
@@ -0,0 +1,5 @@
+
+Hanelin:
+
+You have received the Resonance Amulet. Activate the Stone of Knowledge to the south of the Tower of Insolence.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00090_SagaOfTheStormScreamer/jer5.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00090_SagaOfTheStormScreamer/jer5.htm
new file mode 100644
index 0000000000..12087dc8a8
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00090_SagaOfTheStormScreamer/jer5.htm
@@ -0,0 +1,6 @@
+
+Hanelin:
+
+Have you come for the third Amulet of Resonance?
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00090_SagaOfTheStormScreamer/jer6.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00090_SagaOfTheStormScreamer/jer6.htm
new file mode 100644
index 0000000000..c4f33a656d
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00090_SagaOfTheStormScreamer/jer6.htm
@@ -0,0 +1,5 @@
+
+Hanelin:
+
+Khanelin says that the third Amulet of Resonance is in Archon Halisha. To summon him, you need to destroy his minions in the Molten Tops and collect the Halisha Signs. Destroy these monsters and call Archon Halisha. The aim of the hunt is the Ranger of the Swamp, Burning Drake, Flamey Ifrit, Ikedith
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00090_SagaOfTheStormScreamer/rifken1.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00090_SagaOfTheStormScreamer/rifken1.htm
new file mode 100644
index 0000000000..3f4c50662a
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00090_SagaOfTheStormScreamer/rifken1.htm
@@ -0,0 +1,6 @@
+
+Broom:
+
+Brook Information Broker requires you to bring Shards of the Crystal of Cold in exchange for the Study Report. They can be obtained by destroying monsters to the southeast of Aden.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00090_SagaOfTheStormScreamer/rifken2.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00090_SagaOfTheStormScreamer/rifken2.htm
new file mode 100644
index 0000000000..8041432e26
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00090_SagaOfTheStormScreamer/rifken2.htm
@@ -0,0 +1,5 @@
+
+Broom:
+
+Obtain Fragments of the Crystal of Cold. These pieces can be obtained by destroying monsters to the southeast of Aden.The aim of the hunt is the Ice Monster, the Spirit of the Drowned One, the Soul of Cold, the Ghost of Solitude, the Cold Beast, the Spirit of Coldness.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00090_SagaOfTheStormScreamer/rifken3.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00090_SagaOfTheStormScreamer/rifken3.htm
new file mode 100644
index 0000000000..ae80875314
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00090_SagaOfTheStormScreamer/rifken3.htm
@@ -0,0 +1,6 @@
+
+Broom:
+
+Did you get all the ingredients?
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00090_SagaOfTheStormScreamer/rifken4.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00090_SagaOfTheStormScreamer/rifken4.htm
new file mode 100644
index 0000000000..f6bafca0fb
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00090_SagaOfTheStormScreamer/rifken4.htm
@@ -0,0 +1,5 @@
+
+Broom:
+
+You have received the Study Report from the Merchant with Broome Information. Return to Magister Khanelin in Aden.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00090_SagaOfTheStormScreamer/stone11.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00090_SagaOfTheStormScreamer/stone11.htm
new file mode 100644
index 0000000000..ebe7e8a030
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00090_SagaOfTheStormScreamer/stone11.htm
@@ -0,0 +1,5 @@
+
+Stone of knowledge:
+You slash like a stone starts to vibrate
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00090_SagaOfTheStormScreamer/stone12.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00090_SagaOfTheStormScreamer/stone12.htm
new file mode 100644
index 0000000000..b46f79f803
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00090_SagaOfTheStormScreamer/stone12.htm
@@ -0,0 +1,4 @@
+
+Stone of knowledge:
+You brought the amulet and the inscription appeared on the stone - The second Amulet of Resonance is at the Warden of the Ancient Vow next to the second Stone of Knowledge.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00090_SagaOfTheStormScreamer/stone21.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00090_SagaOfTheStormScreamer/stone21.htm
new file mode 100644
index 0000000000..97be5a1c32
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00090_SagaOfTheStormScreamer/stone21.htm
@@ -0,0 +1,5 @@
+
+Stone of knowledge:
+You slash like a stone starts to vibrate
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00090_SagaOfTheStormScreamer/stone22.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00090_SagaOfTheStormScreamer/stone22.htm
new file mode 100644
index 0000000000..bde3e8c3b4
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00090_SagaOfTheStormScreamer/stone22.htm
@@ -0,0 +1,4 @@
+
+Stone of knowledge:
+As soon as you came to the stone, the Fallen Angel Alector appeared. Obviously, he is trying to stop you. Destroy it.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00090_SagaOfTheStormScreamer/stone23.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00090_SagaOfTheStormScreamer/stone23.htm
new file mode 100644
index 0000000000..d323517e9b
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00090_SagaOfTheStormScreamer/stone23.htm
@@ -0,0 +1,4 @@
+
+Stone of knowledge:
+Now you can go in search of the third stone
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00090_SagaOfTheStormScreamer/stone24.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00090_SagaOfTheStormScreamer/stone24.htm
new file mode 100644
index 0000000000..e8b4f07c11
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00090_SagaOfTheStormScreamer/stone24.htm
@@ -0,0 +1,5 @@
+
+Stone of knowledge:
+You slash like a stone starts to vibrate
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00090_SagaOfTheStormScreamer/stone25.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00090_SagaOfTheStormScreamer/stone25.htm
new file mode 100644
index 0000000000..2d30d3f261
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00090_SagaOfTheStormScreamer/stone25.htm
@@ -0,0 +1,4 @@
+
+Stone of knowledge:
+After activating the stone, you learned that the third Amulet of Resonance is located at Master Khanelin from the Guild of Magicians of Aden. Get her the Resonance Amulet.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00090_SagaOfTheStormScreamer/stone31.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00090_SagaOfTheStormScreamer/stone31.htm
new file mode 100644
index 0000000000..319245250c
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00090_SagaOfTheStormScreamer/stone31.htm
@@ -0,0 +1,5 @@
+
+Stone of knowledge:
+You slash like a stone starts to vibrate
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00090_SagaOfTheStormScreamer/stone32.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00090_SagaOfTheStormScreamer/stone32.htm
new file mode 100644
index 0000000000..55b4dac06c
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00090_SagaOfTheStormScreamer/stone32.htm
@@ -0,0 +1,4 @@
+
+Stone of knowledge:
+When the activation of the third Stone of Knowledge ended, he showed the location of the next stone. The fourth Stone of Knowledge is in the area of the Village of Dark Elves, and the last Amulet of Resonance is near the stone. Go there.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00090_SagaOfTheStormScreamer/stone40.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00090_SagaOfTheStormScreamer/stone40.htm
new file mode 100644
index 0000000000..5d06ab7e6f
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00090_SagaOfTheStormScreamer/stone40.htm
@@ -0,0 +1,7 @@
+
+You came to the stone and he began to vibrate
+
+The last amulet is in Mysterious Demon
+Are you ready to fight him?
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00090_SagaOfTheStormScreamer/stone41.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00090_SagaOfTheStormScreamer/stone41.htm
new file mode 100644
index 0000000000..12e9fbede8
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00090_SagaOfTheStormScreamer/stone41.htm
@@ -0,0 +1,3 @@
+
+A Mysterious Demon appeared nearby
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00090_SagaOfTheStormScreamer/stone42.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00090_SagaOfTheStormScreamer/stone42.htm
new file mode 100644
index 0000000000..d3900b383f
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00090_SagaOfTheStormScreamer/stone42.htm
@@ -0,0 +1,5 @@
+
+Stone of knowledge:
+You slash like a stone starts to vibrate
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00090_SagaOfTheStormScreamer/stone43.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00090_SagaOfTheStormScreamer/stone43.htm
new file mode 100644
index 0000000000..dd3a9883ec
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00090_SagaOfTheStormScreamer/stone43.htm
@@ -0,0 +1,5 @@
+
+Stone of knowledge:
+You successfully activated the last stone
+You have found all the Stones of Knowledge. Return to Grand Magister Fahren in the Ivory Tower.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00091_SagaOfTheArcanaLord/Q00091_SagaOfTheArcanaLord.java b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00091_SagaOfTheArcanaLord/Q00091_SagaOfTheArcanaLord.java
new file mode 100644
index 0000000000..646e234a74
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00091_SagaOfTheArcanaLord/Q00091_SagaOfTheArcanaLord.java
@@ -0,0 +1,462 @@
+package quests.Q00091_SagaOfTheArcanaLord;
+
+import java.util.HashSet;
+import java.util.Set;
+
+import com.l2jmobius.gameserver.model.actor.L2Npc;
+import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
+import com.l2jmobius.gameserver.model.base.ClassId;
+import com.l2jmobius.gameserver.model.holders.NpcLogListHolder;
+import com.l2jmobius.gameserver.model.quest.Quest;
+import com.l2jmobius.gameserver.model.quest.QuestState;
+import com.l2jmobius.gameserver.model.quest.State;
+import com.l2jmobius.gameserver.network.serverpackets.MagicSkillUse;
+import com.l2jmobius.gameserver.util.Util;
+
+//QuangNguyen
+
+public class Q00091_SagaOfTheArcanaLord extends Quest
+{
+ public final int KINSLEY = 31605;
+ public final int SPARKY_THE_CAT = 31585;
+ public final int KEATS = 31622;
+ public final int BELINDA = 31608;
+ public final int TABLET_OF_VISION_1 = 31646;
+ public final int TABLET_OF_VISION_2 = 31647;
+ public final int TABLET_OF_VISION_3 = 31650;
+ public final int TABLET_OF_VISION_4 = 31654;
+ public final int SPARKY_THE_CAT_1 = 31586;
+ // mobs
+ public final int ICE_MONSTER = 27316;
+ public final int SPIRIT_OF_A_DROWNED = 27317;
+ public final int SOUL_OF_COLD = 27318;
+ public final int GHOST_OF_SOLITUDE = 27319;
+ public final int FIEND_OF_COLD = 27320;
+ public final int SPIRIT_OF_COLD = 27321;
+ public final int SPAMPLAND_WATCHMAN = 21650;
+ public final int FLAME_DRAKE = 21651;
+ public final int FIERY_IFRIT = 21652;
+ public final int IKEDIT = 21653;
+ public final int GUARDIAN_OF_FORBIDDEN_KNOWLEDGE = 27214;
+ public final int VISION_GUARDIAN_SHAKIEL = 27313;
+ public final int HALISHA_ARCHON = 27219;
+ public final int KITANIS_VAN_HACKEN = 27310;
+ // items
+ public final int ICE_CRYSTAL_FRAGMENT = 49825;
+ public final int HALISHA_BADGE = 7506;
+ public final int AMULET_REZONANSA_PERVIY = 7289;
+ public final int AMULET_REZONANSA_VTOROI = 7320;
+ public final int AMULET_REZONANSA_TRETIY = 7351;
+ public final int AMULET_REZONANSA_CHETVERTIY = 7382;
+ public final int SUMMONER_KEAT_LETTER = 7604;
+ // reward
+ public final int BOOKGOLDLION = 90038;
+ private static final String KILL_COUNT_VAR = "KillCount";
+
+ public Q00091_SagaOfTheArcanaLord()
+ {
+ super(91);
+ addStartNpc(KINSLEY);
+ addTalkId(KINSLEY, SPARKY_THE_CAT, KEATS, BELINDA, SPARKY_THE_CAT_1, TABLET_OF_VISION_1, TABLET_OF_VISION_2, TABLET_OF_VISION_3, TABLET_OF_VISION_4);
+ addKillId(ICE_MONSTER, SPIRIT_OF_A_DROWNED, SOUL_OF_COLD, GHOST_OF_SOLITUDE, FIEND_OF_COLD);
+ addKillId(SPIRIT_OF_COLD, SPAMPLAND_WATCHMAN, FLAME_DRAKE, FIERY_IFRIT, IKEDIT);
+ addKillId(GUARDIAN_OF_FORBIDDEN_KNOWLEDGE, VISION_GUARDIAN_SHAKIEL, HALISHA_ARCHON, KITANIS_VAN_HACKEN);
+ registerQuestItems(SUMMONER_KEAT_LETTER, ICE_CRYSTAL_FRAGMENT, HALISHA_BADGE);
+ addCondMinLevel(76, "aiken02.htm");
+ addCondClassId(ClassId.WARLOCK, "aiken03.htm");
+ }
+
+ @Override
+ public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
+ {
+ final QuestState st = getQuestState(player, false);
+ if (st == null)
+ {
+ return null;
+ }
+ String htmltext = event;
+ switch (event)
+ {
+ case "aiken02a.htm":
+ htmltext = "aiken5.htm";
+ break;
+ case "aiken01s.htm":
+ if (st.getCond() == 0)
+ {
+ st.startQuest();
+ st.setCond(1);
+ }
+ break;
+ case "jer2.htm":
+ if (st.getCond() == 1)
+ {
+ st.setCond(2);
+ }
+ break;
+ case "rifken2.htm":
+ if (st.getCond() == 2)
+ {
+ st.setCond(3);
+ }
+ break;
+ case "rifken4.htm":
+ if (st.getCond() == 4)
+ {
+ st.setCond(5);
+ }
+ takeItems(player, ICE_CRYSTAL_FRAGMENT, -1);
+ giveItems(player, SUMMONER_KEAT_LETTER, 1);
+ break;
+ case "jer4.htm":
+ if (st.getCond() == 5)
+ {
+ st.setCond(6);
+ }
+ giveItems(player, AMULET_REZONANSA_PERVIY, 1);
+ takeItems(player, SUMMONER_KEAT_LETTER, -1);
+ break;
+ case "stone12.htm":
+ if (st.getCond() == 6)
+ {
+ st.setCond(7);
+ }
+ break;
+ case "stone22.htm":
+ if (st.getCond() == 8)
+ {
+ addSpawn(VISION_GUARDIAN_SHAKIEL, npc, true, 0, true);
+ st.setCond(9);
+ }
+ break;
+ case "stone25.htm":
+ if (st.getCond() == 10)
+ {
+ st.setCond(11);
+ }
+ break;
+ case "jer6.htm":
+ if (st.getCond() == 11)
+ {
+ st.setCond(12);
+ }
+ break;
+ case "stone32.htm":
+ if (st.getCond() == 14)
+ {
+ st.setCond(15);
+ }
+ break;
+ case "stone41.htm":
+ if (st.getCond() == 15)
+ {
+ st.setCond(16);
+ }
+ addSpawn(KITANIS_VAN_HACKEN, npc, true, 0, true);
+ break;
+ case "erikrams2.htm":
+ if (st.getCond() == 16)
+ {
+ st.setCond(17);
+ }
+ giveItems(player, AMULET_REZONANSA_CHETVERTIY, 1);
+ break;
+ case "stone43.htm":
+ if (st.getCond() == 17)
+ {
+ st.setCond(18);
+ }
+ break;
+ case "aiken7.htm":
+ if (st.getCond() == 18)
+ {
+ if ((player.getLevel() < 76) && (player.getBaseClass() != 14))
+ {
+ htmltext = "30849-nolvl.htm";
+ }
+ addExpAndSp(player, 3100000, 103000);
+ rewardItems(player, BOOKGOLDLION, 1);
+ takeItems(player, AMULET_REZONANSA_PERVIY, -1);
+ takeItems(player, AMULET_REZONANSA_VTOROI, -1);
+ takeItems(player, AMULET_REZONANSA_TRETIY, -1);
+ takeItems(player, AMULET_REZONANSA_CHETVERTIY, -1);
+ takeItems(player, HALISHA_BADGE, -1);
+ st.exitQuest(false, true);
+ player.setClassId(96);
+ player.setBaseClass(96);
+ player.broadcastUserInfo();
+ npc.broadcastPacket(new MagicSkillUse(npc, player, 5103, 1, 1000, 0));
+ }
+ break;
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onTalk(L2Npc npc, L2PcInstance talker)
+ {
+ final QuestState qs = getQuestState(talker, true);
+ String htmltext = getNoQuestMsg(talker);
+
+ switch (qs.getState())
+ {
+ case State.CREATED:
+ {
+ if (npc.getId() == KINSLEY)
+ {
+ htmltext = "aiken01.htm";
+ }
+ break;
+ }
+ case State.STARTED:
+ {
+ if (npc.getId() == KINSLEY)
+ {
+ if (qs.getCond() == 1)
+ {
+ htmltext = "aiken01s.htm";
+ }
+ if (qs.getCond() == 18)
+ {
+ htmltext = "aiken6.htm";
+ }
+
+ }
+ if (npc.getId() == SPARKY_THE_CAT)
+ {
+ if (qs.getCond() == 1)
+ {
+ htmltext = "jer1.htm";
+ }
+ if (qs.getCond() == 2)
+ {
+ htmltext = "jer2.htm";
+ }
+ if (qs.getCond() == 5)
+ {
+ htmltext = "jer3.htm";
+ }
+ if (qs.getCond() == 6)
+ {
+ htmltext = "jer4.htm";
+ }
+ if (qs.getCond() == 11)
+ {
+ htmltext = "jer5.htm";
+ }
+ if (qs.getCond() == 12)
+ {
+ htmltext = "jer6.htm";
+ }
+ }
+ if (npc.getId() == BELINDA)
+ {
+ if (qs.getCond() == 11)
+ {
+ htmltext = "jer5.htm";
+ }
+ if (qs.getCond() == 12)
+ {
+ htmltext = "jer6.htm";
+ }
+ }
+ if (npc.getId() == KEATS)
+ {
+ if (qs.getCond() == 2)
+ {
+ htmltext = "rifken1.htm";
+ }
+ if (qs.getCond() == 3)
+ {
+ htmltext = "rifken2.htm";
+ }
+ if (qs.getCond() == 4)
+ {
+ htmltext = "rifken3.htm";
+ }
+ }
+ if (npc.getId() == TABLET_OF_VISION_1)
+ {
+ if (qs.getCond() == 6)
+ {
+ htmltext = "stone11.htm";
+ }
+ if (qs.getCond() == 7)
+ {
+ htmltext = "stone12.htm";
+ }
+ }
+ if (npc.getId() == TABLET_OF_VISION_2)
+ {
+ if (qs.getCond() == 8)
+ {
+ htmltext = "stone21.htm";
+ }
+ if (qs.getCond() == 9)
+ {
+ htmltext = "stone23.htm";
+ }
+ if (qs.getCond() == 10)
+ {
+ htmltext = "stone24.htm";
+ }
+ if (qs.getCond() == 11)
+ {
+ htmltext = "stone25.htm";
+ }
+ }
+ if (npc.getId() == TABLET_OF_VISION_3)
+ {
+ if (qs.getCond() == 14)
+ {
+ htmltext = "stone31.htm";
+ }
+ if (qs.getCond() == 15)
+ {
+ htmltext = "stone32.htm";
+ }
+ }
+ if (npc.getId() == TABLET_OF_VISION_4)
+ {
+ if (qs.getCond() == 15)
+ {
+ htmltext = "stone40.htm";
+ }
+ if (qs.getCond() == 17)
+ {
+ htmltext = "stone42.htm";
+ }
+ if (qs.getCond() == 18)
+ {
+ htmltext = "stone43.htm";
+ }
+
+ }
+ if (npc.getId() == SPARKY_THE_CAT_1)
+ {
+ if (qs.getCond() == 16)
+ {
+ htmltext = "erikrams1.htm";
+ }
+ if (qs.getCond() == 17)
+ {
+ htmltext = "erikrams2.htm";
+ }
+ }
+ break;
+ }
+ case State.COMPLETED:
+ {
+ htmltext = getAlreadyCompletedMsg(talker);
+ break;
+ }
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
+ {
+ final QuestState qs = getQuestState(killer, false);
+ if ((qs != null) && qs.isStarted() && Util.checkIfInRange(1500, npc, killer, true))
+ {
+ switch (npc.getId())
+ {
+ case ICE_MONSTER:
+ case SPIRIT_OF_A_DROWNED:
+ case SOUL_OF_COLD:
+ case FIEND_OF_COLD:
+ case GHOST_OF_SOLITUDE:
+ case SPIRIT_OF_COLD:
+ if (qs.getCond() == 3)
+ {
+ if (getQuestItemsCount(killer, ICE_CRYSTAL_FRAGMENT) < 50)
+ {
+ giveItemRandomly(killer, npc, ICE_CRYSTAL_FRAGMENT, 1, 50, 50, true);
+ }
+ if (getQuestItemsCount(killer, ICE_CRYSTAL_FRAGMENT) >= 50)
+ {
+ qs.setCond(4);
+ }
+ }
+ break;
+ case VISION_GUARDIAN_SHAKIEL:
+ if (qs.getCond() == 9)
+ {
+ qs.setCond(10);
+ }
+ break;
+ case SPAMPLAND_WATCHMAN:
+ case FLAME_DRAKE:
+ case FIERY_IFRIT:
+ case IKEDIT:
+ if (qs.getCond() == 12)
+ {
+ if (getQuestItemsCount(killer, HALISHA_BADGE) < 701)
+ {
+ giveItemRandomly(killer, npc, HALISHA_BADGE, 1, 701, 50, true);
+ if (getQuestItemsCount(killer, HALISHA_BADGE) >= 701)
+ {
+ addSpawn(HALISHA_ARCHON, npc, true, 0, true);
+ qs.setCond(13);
+ }
+ }
+ }
+ break;
+ case HALISHA_ARCHON:
+ if (qs.getCond() == 13)
+ {
+ if (!hasQuestItems(killer, AMULET_REZONANSA_TRETIY))
+ {
+ giveItemRandomly(killer, npc, AMULET_REZONANSA_TRETIY, 1, 1, 50, true);
+ }
+ qs.setCond(14);
+ }
+ break;
+ case KITANIS_VAN_HACKEN:
+ if (qs.getCond() == 16)
+ {
+ addSpawn(SPARKY_THE_CAT_1, npc, true, 20000, true);
+ }
+ break;
+ }
+
+ if (qs.isCond(7))
+ {
+ int count = qs.getInt(KILL_COUNT_VAR);
+ if (npc.getId() == GUARDIAN_OF_FORBIDDEN_KNOWLEDGE)
+ {
+ if (count < 20)
+ {
+ qs.set(KILL_COUNT_VAR, ++count);
+ sendNpcLogList(killer);
+ }
+ }
+ if (count >= 20)
+ {
+ qs.setCond(8, true);
+ giveItems(killer, AMULET_REZONANSA_VTOROI, 1);
+ }
+ }
+ }
+ return super.onKill(npc, killer, isSummon);
+ }
+
+ @Override
+ public Set getNpcLogList(L2PcInstance player)
+ {
+ final QuestState qs = getQuestState(player, false);
+ if ((qs != null) && qs.isCond(7))
+ {
+ final Set holder = new HashSet<>(1);
+
+ // guardian of forbidden knowledge
+ final int guardiancount = qs.getInt(KILL_COUNT_VAR);
+ if (guardiancount > 0)
+ {
+ holder.add(new NpcLogListHolder(GUARDIAN_OF_FORBIDDEN_KNOWLEDGE, false, guardiancount));
+ }
+ return holder;
+ }
+ return super.getNpcLogList(player);
+ }
+}
\ No newline at end of file
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00091_SagaOfTheArcanaLord/aiken01.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00091_SagaOfTheArcanaLord/aiken01.htm
new file mode 100644
index 0000000000..cd2049370d
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00091_SagaOfTheArcanaLord/aiken01.htm
@@ -0,0 +1,5 @@
+
+Kingsley:
+Do you want to become an Arcana Lord ?.
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00091_SagaOfTheArcanaLord/aiken01s.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00091_SagaOfTheArcanaLord/aiken01s.htm
new file mode 100644
index 0000000000..7b074b53a6
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00091_SagaOfTheArcanaLord/aiken01s.htm
@@ -0,0 +1,4 @@
+
+Kingsley:
+During the test on the Arcana Lord Keats disappeared without a trace. His servant, Sparky's Cat, is now in the Tower of Ivory. Find out from him what happened.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00091_SagaOfTheArcanaLord/aiken02.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00091_SagaOfTheArcanaLord/aiken02.htm
new file mode 100644
index 0000000000..ae00ea0ae7
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00091_SagaOfTheArcanaLord/aiken02.htm
@@ -0,0 +1,6 @@
+
+Kingsley:
+My young friend, you do not have enough experience to become a Arcana Lord. I see your passion and I hope that you will keep it in your heart, but it is not enough - only through the experience of battle you can acquire the power that will allow you not to deviate from your faith in the era of untruth.
+Come back when you are a little older and wiser. When you are ready, I will give you an assignment to check if you are ready to become a Arcana Lord.
+(Quest for characters whose level is 76 or higher.)
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00091_SagaOfTheArcanaLord/aiken02a.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00091_SagaOfTheArcanaLord/aiken02a.htm
new file mode 100644
index 0000000000..29cfbdf2d0
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00091_SagaOfTheArcanaLord/aiken02a.htm
@@ -0,0 +1,6 @@
+
+Kingsley:
+Have not you already won the title of Arcana Lord?
+ My brother, you do not have to go through the test of the squire again.
+ Your duty is to fight for your faith and the glory of the lord.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00091_SagaOfTheArcanaLord/aiken03.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00091_SagaOfTheArcanaLord/aiken03.htm
new file mode 100644
index 0000000000..d88fda2064
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00091_SagaOfTheArcanaLord/aiken03.htm
@@ -0,0 +1,5 @@
+
+Kingsley:
+Apparently, you have already chosen your path.
+ You do not need to perform the Arcana Lord task.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00091_SagaOfTheArcanaLord/aiken5.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00091_SagaOfTheArcanaLord/aiken5.htm
new file mode 100644
index 0000000000..896e0931ae
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00091_SagaOfTheArcanaLord/aiken5.htm
@@ -0,0 +1,8 @@
+
+Kingsley:
+Do you want to become a Arcana Lord?
+ Well, then you must pass Saga ArcanaLord,
+To prove that you are not just a reckless, quick-tempered warrior, but
+ Warrior with the soul of the present Arcana Lord. This is a form of ritual and the process of training,
+ Who must fulfill all who wish to become Arcana Lord.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00091_SagaOfTheArcanaLord/aiken6.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00091_SagaOfTheArcanaLord/aiken6.htm
new file mode 100644
index 0000000000..eed1dcba40
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00091_SagaOfTheArcanaLord/aiken6.htm
@@ -0,0 +1,5 @@
+
+Kingsley:
+Congratulations! You have passed all the tests and are ready to receive the Profession of the Arcana Lord !!!
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00091_SagaOfTheArcanaLord/aiken7.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00091_SagaOfTheArcanaLord/aiken7.htm
new file mode 100644
index 0000000000..67c3a86f5c
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00091_SagaOfTheArcanaLord/aiken7.htm
@@ -0,0 +1,6 @@
+
+
+Kingsley:
+Congratulations! You have received the Profession of the Arcana Lord !!!
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00091_SagaOfTheArcanaLord/erikrams1.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00091_SagaOfTheArcanaLord/erikrams1.htm
new file mode 100644
index 0000000000..f1cb3a3ce4
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00091_SagaOfTheArcanaLord/erikrams1.htm
@@ -0,0 +1,7 @@
+
+Hindemith:
+
+Thank you! You helped avenge me, I will give you the fourth amulet
+
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00091_SagaOfTheArcanaLord/erikrams2.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00091_SagaOfTheArcanaLord/erikrams2.htm
new file mode 100644
index 0000000000..0652f19866
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00091_SagaOfTheArcanaLord/erikrams2.htm
@@ -0,0 +1,5 @@
+
+Hindemith:
+
+Now activate the last stone
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00091_SagaOfTheArcanaLord/jer1.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00091_SagaOfTheArcanaLord/jer1.htm
new file mode 100644
index 0000000000..07b599f2aa
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00091_SagaOfTheArcanaLord/jer1.htm
@@ -0,0 +1,5 @@
+
+Cat Sparkles:
+Keats was cursed and turned into a frog. Trying to remove the curse, he went to Aden. Find him and help him get rid of the curse.
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00091_SagaOfTheArcanaLord/jer2.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00091_SagaOfTheArcanaLord/jer2.htm
new file mode 100644
index 0000000000..4d95f1bf75
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00091_SagaOfTheArcanaLord/jer2.htm
@@ -0,0 +1,4 @@
+
+Cat Sparkles:
+Find Keats in Aden.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00091_SagaOfTheArcanaLord/jer3.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00091_SagaOfTheArcanaLord/jer3.htm
new file mode 100644
index 0000000000..dd6e3a2c07
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00091_SagaOfTheArcanaLord/jer3.htm
@@ -0,0 +1,5 @@
+
+Cat Sparkles:
+Did you bring the "Information"?
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00091_SagaOfTheArcanaLord/jer4.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00091_SagaOfTheArcanaLord/jer4.htm
new file mode 100644
index 0000000000..794c2c4e28
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00091_SagaOfTheArcanaLord/jer4.htm
@@ -0,0 +1,4 @@
+
+Cat Sparkles:
+You have received the Resonance Amulet. Activate the Stone of Knowledge to the south of the Tower of Insolence.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00091_SagaOfTheArcanaLord/jer5.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00091_SagaOfTheArcanaLord/jer5.htm
new file mode 100644
index 0000000000..6ce99233e5
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00091_SagaOfTheArcanaLord/jer5.htm
@@ -0,0 +1,5 @@
+
+Belinda:
+Have you come for the third Amulet of Resonance?
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00091_SagaOfTheArcanaLord/jer6.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00091_SagaOfTheArcanaLord/jer6.htm
new file mode 100644
index 0000000000..4611c0cfe2
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00091_SagaOfTheArcanaLord/jer6.htm
@@ -0,0 +1,4 @@
+
+Belinda:
+The summoner Belinda says that the third Amulet of Resonance is in Archon Halisha. To summon him, you must destroy his minions in the Molten Tops and collect the Halisha Signs. Destroy these monsters and call Archon Halisha. The aim of the hunt is the Ranger of the Swamp, Burning Drake, Flamey Ifrit, Ikedith
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00091_SagaOfTheArcanaLord/rifken1.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00091_SagaOfTheArcanaLord/rifken1.htm
new file mode 100644
index 0000000000..4f1e5a0d3d
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00091_SagaOfTheArcanaLord/rifken1.htm
@@ -0,0 +1,5 @@
+
+Keats:
+To remove the curse from Keats, you need 50 Fragments of the Chill Crystal.They can be obtained by destroying monsters to the southeast of Aden.
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00091_SagaOfTheArcanaLord/rifken2.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00091_SagaOfTheArcanaLord/rifken2.htm
new file mode 100644
index 0000000000..999bc5e42c
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00091_SagaOfTheArcanaLord/rifken2.htm
@@ -0,0 +1,5 @@
+
+Keats:
+Obtain Fragments of the Crystal of Cold..
+These pieces can be obtained by destroying monsters to the southeast of Aden..The aim of the hunt is the Ice Monster, the Spirit of the Drowned One, the Soul of Coldness, the Phantom of Solitude, the Cold Beast, the Spirit of Cold.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00091_SagaOfTheArcanaLord/rifken3.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00091_SagaOfTheArcanaLord/rifken3.htm
new file mode 100644
index 0000000000..2ca6ecf497
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00091_SagaOfTheArcanaLord/rifken3.htm
@@ -0,0 +1,5 @@
+
+Keats:
+Did you get all the ingredients?
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00091_SagaOfTheArcanaLord/rifken4.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00091_SagaOfTheArcanaLord/rifken4.htm
new file mode 100644
index 0000000000..4a9744fc4c
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00091_SagaOfTheArcanaLord/rifken4.htm
@@ -0,0 +1,4 @@
+
+Keats:
+You did not manage to remove the curse, but Keats still agreed to help you. Bring his letter to Cat Sparky in the Ivory Tower.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00091_SagaOfTheArcanaLord/stone11.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00091_SagaOfTheArcanaLord/stone11.htm
new file mode 100644
index 0000000000..3c26df72b4
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00091_SagaOfTheArcanaLord/stone11.htm
@@ -0,0 +1,5 @@
+
+Stone of knowledge:
+You slash like a stone starts to vibrate
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00091_SagaOfTheArcanaLord/stone12.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00091_SagaOfTheArcanaLord/stone12.htm
new file mode 100644
index 0000000000..37bb1427f3
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00091_SagaOfTheArcanaLord/stone12.htm
@@ -0,0 +1,4 @@
+
+Stone of knowledge:
+You brought the amulet and the inscription appeared on the stone - The second Amulet of Resonance is at the Keeper of Forbidden Knowledge next to the second Stone of Knowledge.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00091_SagaOfTheArcanaLord/stone21.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00091_SagaOfTheArcanaLord/stone21.htm
new file mode 100644
index 0000000000..aa8b5f04d9
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00091_SagaOfTheArcanaLord/stone21.htm
@@ -0,0 +1,5 @@
+
+Stone of knowledge:
+You slash like a stone starts to vibrat
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00091_SagaOfTheArcanaLord/stone22.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00091_SagaOfTheArcanaLord/stone22.htm
new file mode 100644
index 0000000000..691c631c57
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00091_SagaOfTheArcanaLord/stone22.htm
@@ -0,0 +1,4 @@
+
+Stone of knowledge:
+As soon as you approached the stone, Shakiel the Visionary Guardian appeared. Obviously, he is trying to stop you. Destroy it.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00091_SagaOfTheArcanaLord/stone23.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00091_SagaOfTheArcanaLord/stone23.htm
new file mode 100644
index 0000000000..d323517e9b
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00091_SagaOfTheArcanaLord/stone23.htm
@@ -0,0 +1,4 @@
+
+Stone of knowledge:
+Now you can go in search of the third stone
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00091_SagaOfTheArcanaLord/stone24.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00091_SagaOfTheArcanaLord/stone24.htm
new file mode 100644
index 0000000000..fd53607348
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00091_SagaOfTheArcanaLord/stone24.htm
@@ -0,0 +1,5 @@
+
+Stone of knowledge:
+You slash like a stone starts to vibrate
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00091_SagaOfTheArcanaLord/stone25.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00091_SagaOfTheArcanaLord/stone25.htm
new file mode 100644
index 0000000000..0f19287b21
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00091_SagaOfTheArcanaLord/stone25.htm
@@ -0,0 +1,4 @@
+
+Stone of knowledge:
+After activating the stone, you learned that the third Amulet of Resonance is from the Summoner Belinda of the Guild of the Magicians of Aden. Get her the Resonance Amulet.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00091_SagaOfTheArcanaLord/stone31.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00091_SagaOfTheArcanaLord/stone31.htm
new file mode 100644
index 0000000000..727a123fbf
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00091_SagaOfTheArcanaLord/stone31.htm
@@ -0,0 +1,5 @@
+
+Stone of knowledge:
+You slash like a stone starts to vibrate
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00091_SagaOfTheArcanaLord/stone32.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00091_SagaOfTheArcanaLord/stone32.htm
new file mode 100644
index 0000000000..b77e015b9e
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00091_SagaOfTheArcanaLord/stone32.htm
@@ -0,0 +1,4 @@
+
+Stone of knowledge:
+When the activation of the third Stone of Knowledge ended, he showed the location of the next stone. The fourth Stone of Knowledge is on the Speaking Island, and the last Amulet of Resonance is near the stone. Go there.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00091_SagaOfTheArcanaLord/stone40.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00091_SagaOfTheArcanaLord/stone40.htm
new file mode 100644
index 0000000000..9a41acc0bd
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00091_SagaOfTheArcanaLord/stone40.htm
@@ -0,0 +1,7 @@
+
+You came to the stone and he began to vibrate
+
+The last amulet is at Kitanis Van Haken
+Are you ready to fight him?
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00091_SagaOfTheArcanaLord/stone41.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00091_SagaOfTheArcanaLord/stone41.htm
new file mode 100644
index 0000000000..fcbed65e32
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00091_SagaOfTheArcanaLord/stone41.htm
@@ -0,0 +1,4 @@
+
+
+Kitanis Van Haken appeared nearby
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00091_SagaOfTheArcanaLord/stone42.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00091_SagaOfTheArcanaLord/stone42.htm
new file mode 100644
index 0000000000..04422e1c3c
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00091_SagaOfTheArcanaLord/stone42.htm
@@ -0,0 +1,5 @@
+
+Stone of knowledge:
+You slash like a stone starts to vibrate
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00091_SagaOfTheArcanaLord/stone43.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00091_SagaOfTheArcanaLord/stone43.htm
new file mode 100644
index 0000000000..44d9dcb94c
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00091_SagaOfTheArcanaLord/stone43.htm
@@ -0,0 +1,5 @@
+
+Stone of knowledge:
+You successfully activated the last stone
+Activating the last Stone of Cognition, you completed your pilgrimage and gained the strength of the Arcana Lord. Return to Kinsley's Great Summoner in the Ivory Tower.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00092_SagaOfTheElementalMaster/Q00092_SagaOfTheElementalMaster.java b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00092_SagaOfTheElementalMaster/Q00092_SagaOfTheElementalMaster.java
new file mode 100644
index 0000000000..ceedc5b979
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00092_SagaOfTheElementalMaster/Q00092_SagaOfTheElementalMaster.java
@@ -0,0 +1,450 @@
+package quests.Q00092_SagaOfTheElementalMaster;
+
+import java.util.HashSet;
+import java.util.Set;
+
+import com.l2jmobius.gameserver.model.actor.L2Npc;
+import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
+import com.l2jmobius.gameserver.model.base.ClassId;
+import com.l2jmobius.gameserver.model.holders.NpcLogListHolder;
+import com.l2jmobius.gameserver.model.quest.Quest;
+import com.l2jmobius.gameserver.model.quest.QuestState;
+import com.l2jmobius.gameserver.model.quest.State;
+import com.l2jmobius.gameserver.network.serverpackets.MagicSkillUse;
+import com.l2jmobius.gameserver.util.Util;
+
+//QuangNguyen
+
+public class Q00092_SagaOfTheElementalMaster extends Quest
+{
+ public final int AKENIAS = 30174;
+ public final int RADYSS = 31614;
+ public final int CERENAS = 31281;
+ public final int TABLET_OF_VISION_1 = 31646;
+ public final int TABLET_OF_VISION_2 = 31647;
+ public final int TABLET_OF_VISION_3 = 31650;
+ public final int TABLET_OF_VISION_4 = 31655;
+ public final int KALEIDOS_THE_UNICORN = 31629;
+ // mobs
+ public final int ICE_MONSTER = 27316;
+ public final int SPIRIT_OF_A_DROWNED = 27317;
+ public final int SOUL_OF_COLD = 27318;
+ public final int GHOST_OF_SOLITUDE = 27319;
+ public final int FIEND_OF_COLD = 27320;
+ public final int SPIRIT_OF_COLD = 27321;
+ public final int SPAMPLAND_WATCHMAN = 21650;
+ public final int FLAME_DRAKE = 21651;
+ public final int FIERY_IFRIT = 21652;
+ public final int IKEDIT = 21653;
+ public final int GUARDIAN_OF_FORBIDDEN_KNOWLEDGE = 27214;
+ public final int VISION_GUARDIAN_SHAKIEL = 27313;
+ public final int HALISHA_ARCHON = 27219;
+ public final int DOG_KELVAS = 27311;
+ // items
+ public final int ICE_CRYSTAL_FRAGMENT = 49826;
+ public final int HALISHA_BADGE = 7507;
+ public final int AMULET_REZONANSA_PERVIY = 7290;
+ public final int AMULET_REZONANSA_VTOROI = 7321;
+ public final int AMULET_REZONANSA_TRETIY = 7352;
+ public final int AMULET_REZONANSA_CHETVERTIY = 7383;
+ public final int MIRACLE_POTION = 7605;
+ // reward
+ public final int BOOKPEGASUS = 90039;
+ private static final String KILL_COUNT_VAR = "KillCount";
+
+ public Q00092_SagaOfTheElementalMaster()
+ {
+ super(92);
+ addStartNpc(AKENIAS);
+ addTalkId(AKENIAS, RADYSS, CERENAS, KALEIDOS_THE_UNICORN, TABLET_OF_VISION_1, TABLET_OF_VISION_2, TABLET_OF_VISION_3, TABLET_OF_VISION_4);
+ addKillId(ICE_MONSTER, SPIRIT_OF_A_DROWNED, SOUL_OF_COLD, GHOST_OF_SOLITUDE, FIEND_OF_COLD);
+ addKillId(SPIRIT_OF_COLD, SPAMPLAND_WATCHMAN, FLAME_DRAKE, FIERY_IFRIT, IKEDIT);
+ addKillId(GUARDIAN_OF_FORBIDDEN_KNOWLEDGE, VISION_GUARDIAN_SHAKIEL, HALISHA_ARCHON, DOG_KELVAS);
+ registerQuestItems(MIRACLE_POTION, ICE_CRYSTAL_FRAGMENT, HALISHA_BADGE);
+ addCondMinLevel(76, "aiken02.htm");
+ addCondClassId(ClassId.ELEMENTAL_SUMMONER, "aiken03.htm");
+ }
+
+ @Override
+ public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
+ {
+ final QuestState st = getQuestState(player, false);
+ if (st == null)
+ {
+ return null;
+ }
+ String htmltext = event;
+ switch (event)
+ {
+ case "aiken02a.htm":
+ htmltext = "aiken5.htm";
+ break;
+ case "aiken01s.htm":
+ if (st.getCond() == 0)
+ {
+ st.startQuest();
+ st.setCond(1);
+ }
+ break;
+ case "jer2.htm":
+ if (st.getCond() == 1)
+ {
+ st.setCond(2);
+ }
+ break;
+ case "rifken2.htm":
+ if (st.getCond() == 2)
+ {
+ st.setCond(3);
+ }
+ break;
+ case "rifken4.htm":
+ if (st.getCond() == 4)
+ {
+ st.setCond(5);
+ }
+ takeItems(player, ICE_CRYSTAL_FRAGMENT, -1);
+ giveItems(player, MIRACLE_POTION, 1);
+ break;
+ case "jer4.htm":
+ if (st.getCond() == 5)
+ {
+ st.setCond(6);
+ }
+ giveItems(player, AMULET_REZONANSA_PERVIY, 1);
+ takeItems(player, MIRACLE_POTION, -1);
+ break;
+ case "stone12.htm":
+ if (st.getCond() == 6)
+ {
+ st.setCond(7);
+ }
+ break;
+ case "stone22.htm":
+ if (st.getCond() == 8)
+ {
+ addSpawn(VISION_GUARDIAN_SHAKIEL, npc, true, 0, true);
+ st.setCond(9);
+ }
+ break;
+ case "stone25.htm":
+ if (st.getCond() == 10)
+ {
+ st.setCond(11);
+ }
+ break;
+ case "jer6.htm":
+ if (st.getCond() == 11)
+ {
+ st.setCond(12);
+ }
+ break;
+ case "stone32.htm":
+ if (st.getCond() == 14)
+ {
+ st.setCond(15);
+ }
+ break;
+ case "stone41.htm":
+ if (st.getCond() == 15)
+ {
+ st.setCond(16);
+ }
+ addSpawn(DOG_KELVAS, npc, true, 0, true);
+ break;
+ case "erikrams2.htm":
+ if (st.getCond() == 16)
+ {
+ st.setCond(17);
+ }
+ giveItems(player, AMULET_REZONANSA_CHETVERTIY, 1);
+ break;
+ case "stone43.htm":
+ if (st.getCond() == 17)
+ {
+ st.setCond(18);
+ }
+ break;
+ case "aiken7.htm":
+ if (st.getCond() == 18)
+ {
+ if ((player.getLevel() < 76) && (player.getBaseClass() != 28))
+ {
+ htmltext = "30849-nolvl.htm";
+ }
+ addExpAndSp(player, 3100000, 103000);
+ rewardItems(player, BOOKPEGASUS, 1);
+ takeItems(player, AMULET_REZONANSA_PERVIY, -1);
+ takeItems(player, AMULET_REZONANSA_VTOROI, -1);
+ takeItems(player, AMULET_REZONANSA_TRETIY, -1);
+ takeItems(player, AMULET_REZONANSA_CHETVERTIY, -1);
+ takeItems(player, HALISHA_BADGE, -1);
+ st.exitQuest(false, true);
+ player.setClassId(104);
+ player.setBaseClass(104);
+ player.broadcastUserInfo();
+ npc.broadcastPacket(new MagicSkillUse(npc, player, 5103, 1, 1000, 0));
+ }
+ break;
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onTalk(L2Npc npc, L2PcInstance talker)
+ {
+ final QuestState qs = getQuestState(talker, true);
+ String htmltext = getNoQuestMsg(talker);
+
+ switch (qs.getState())
+ {
+ case State.CREATED:
+ {
+ if (npc.getId() == AKENIAS)
+ {
+ htmltext = "aiken01.htm";
+ }
+ break;
+ }
+ case State.STARTED:
+ {
+ if (npc.getId() == AKENIAS)
+ {
+ if (qs.getCond() == 1)
+ {
+ htmltext = "aiken01s.htm";
+ }
+ if (qs.getCond() == 18)
+ {
+ htmltext = "aiken6.htm";
+ }
+
+ }
+ if (npc.getId() == RADYSS)
+ {
+ if (qs.getCond() == 1)
+ {
+ htmltext = "jer1.htm";
+ }
+ if (qs.getCond() == 2)
+ {
+ htmltext = "jer2.htm";
+ }
+ if (qs.getCond() == 5)
+ {
+ htmltext = "jer3.htm";
+ }
+ if (qs.getCond() == 6)
+ {
+ htmltext = "jer4.htm";
+ }
+ if (qs.getCond() == 11)
+ {
+ htmltext = "jer5.htm";
+ }
+ if (qs.getCond() == 12)
+ {
+ htmltext = "jer6.htm";
+ }
+ }
+ if (npc.getId() == CERENAS)
+ {
+ if (qs.getCond() == 2)
+ {
+ htmltext = "rifken1.htm";
+ }
+ if (qs.getCond() == 3)
+ {
+ htmltext = "rifken2.htm";
+ }
+ if (qs.getCond() == 4)
+ {
+ htmltext = "rifken3.htm";
+ }
+ }
+ if (npc.getId() == TABLET_OF_VISION_1)
+ {
+ if (qs.getCond() == 6)
+ {
+ htmltext = "stone11.htm";
+ }
+ if (qs.getCond() == 7)
+ {
+ htmltext = "stone12.htm";
+ }
+ }
+ if (npc.getId() == TABLET_OF_VISION_2)
+ {
+ if (qs.getCond() == 8)
+ {
+ htmltext = "stone21.htm";
+ }
+ if (qs.getCond() == 9)
+ {
+ htmltext = "stone23.htm";
+ }
+ if (qs.getCond() == 10)
+ {
+ htmltext = "stone24.htm";
+ }
+ if (qs.getCond() == 11)
+ {
+ htmltext = "stone25.htm";
+ }
+ }
+ if (npc.getId() == TABLET_OF_VISION_3)
+ {
+ if (qs.getCond() == 14)
+ {
+ htmltext = "stone31.htm";
+ }
+ if (qs.getCond() == 15)
+ {
+ htmltext = "stone32.htm";
+ }
+ }
+ if (npc.getId() == TABLET_OF_VISION_4)
+ {
+ if (qs.getCond() == 15)
+ {
+ htmltext = "stone40.htm";
+ }
+ if (qs.getCond() == 17)
+ {
+ htmltext = "stone42.htm";
+ }
+ if (qs.getCond() == 18)
+ {
+ htmltext = "stone43.htm";
+ }
+
+ }
+ if (npc.getId() == KALEIDOS_THE_UNICORN)
+ {
+ if (qs.getCond() == 16)
+ {
+ htmltext = "erikrams1.htm";
+ }
+ if (qs.getCond() == 17)
+ {
+ htmltext = "erikrams2.htm";
+ }
+ }
+ break;
+ }
+ case State.COMPLETED:
+ {
+ htmltext = getAlreadyCompletedMsg(talker);
+ break;
+ }
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
+ {
+ final QuestState qs = getQuestState(killer, false);
+ if ((qs != null) && qs.isStarted() && Util.checkIfInRange(1500, npc, killer, true))
+ {
+ switch (npc.getId())
+ {
+ case ICE_MONSTER:
+ case SPIRIT_OF_A_DROWNED:
+ case SOUL_OF_COLD:
+ case FIEND_OF_COLD:
+ case GHOST_OF_SOLITUDE:
+ case SPIRIT_OF_COLD:
+ if (qs.getCond() == 3)
+ {
+ if (getQuestItemsCount(killer, ICE_CRYSTAL_FRAGMENT) < 50)
+ {
+ giveItemRandomly(killer, npc, ICE_CRYSTAL_FRAGMENT, 1, 50, 50, true);
+ }
+ if (getQuestItemsCount(killer, ICE_CRYSTAL_FRAGMENT) >= 50)
+ {
+ qs.setCond(4);
+ }
+ }
+ break;
+ case VISION_GUARDIAN_SHAKIEL:
+ if (qs.getCond() == 9)
+ {
+ qs.setCond(10);
+ }
+ break;
+ case SPAMPLAND_WATCHMAN:
+ case FLAME_DRAKE:
+ case FIERY_IFRIT:
+ case IKEDIT:
+ if (qs.getCond() == 12)
+ {
+ if (getQuestItemsCount(killer, HALISHA_BADGE) < 701)
+ {
+ giveItemRandomly(killer, npc, HALISHA_BADGE, 1, 701, 50, true);
+ if (getQuestItemsCount(killer, HALISHA_BADGE) >= 701)
+ {
+ addSpawn(HALISHA_ARCHON, npc, true, 0, true);
+ qs.setCond(13);
+ }
+ }
+ }
+ break;
+ case HALISHA_ARCHON:
+ if (qs.getCond() == 13)
+ {
+ if (!hasQuestItems(killer, AMULET_REZONANSA_TRETIY))
+ {
+ giveItemRandomly(killer, npc, AMULET_REZONANSA_TRETIY, 1, 1, 50, true);
+ }
+ qs.setCond(14);
+ }
+ break;
+ case DOG_KELVAS:
+ if (qs.getCond() == 16)
+ {
+ addSpawn(KALEIDOS_THE_UNICORN, npc, true, 20000, true);
+ }
+ break;
+ }
+
+ if (qs.isCond(7))
+ {
+ int count = qs.getInt(KILL_COUNT_VAR);
+ if (npc.getId() == GUARDIAN_OF_FORBIDDEN_KNOWLEDGE)
+ {
+ if (count < 20)
+ {
+ qs.set(KILL_COUNT_VAR, ++count);
+ sendNpcLogList(killer);
+ }
+ }
+ if (count >= 20)
+ {
+ qs.setCond(8, true);
+ giveItems(killer, AMULET_REZONANSA_VTOROI, 1);
+ }
+ }
+ }
+ return super.onKill(npc, killer, isSummon);
+ }
+
+ @Override
+ public Set getNpcLogList(L2PcInstance player)
+ {
+ final QuestState qs = getQuestState(player, false);
+ if ((qs != null) && qs.isCond(7))
+ {
+ final Set holder = new HashSet<>(1);
+
+ // guardian of forbidden knowledge
+ final int guardiancount = qs.getInt(KILL_COUNT_VAR);
+ if (guardiancount > 0)
+ {
+ holder.add(new NpcLogListHolder(GUARDIAN_OF_FORBIDDEN_KNOWLEDGE, false, guardiancount));
+ }
+ return holder;
+ }
+ return super.getNpcLogList(player);
+ }
+}
\ No newline at end of file
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00092_SagaOfTheElementalMaster/aiken01.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00092_SagaOfTheElementalMaster/aiken01.htm
new file mode 100644
index 0000000000..59a4921541
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00092_SagaOfTheElementalMaster/aiken01.htm
@@ -0,0 +1,5 @@
+
+Arkenias:
+Do you want to become a Master of Elements ?.
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00092_SagaOfTheElementalMaster/aiken01s.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00092_SagaOfTheElementalMaster/aiken01s.htm
new file mode 100644
index 0000000000..c8f9e10147
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00092_SagaOfTheElementalMaster/aiken01s.htm
@@ -0,0 +1,4 @@
+
+Arkenias:
+Only the Great Summoner Radissa knows how to become a Master of Elements. Go to him in Aden.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00092_SagaOfTheElementalMaster/aiken02.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00092_SagaOfTheElementalMaster/aiken02.htm
new file mode 100644
index 0000000000..cb3d78a547
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00092_SagaOfTheElementalMaster/aiken02.htm
@@ -0,0 +1,6 @@
+
+Arkenias:
+My young friend, you do not have enough experience to become a Master of Elements. I see your passion and I hope that you will keep it in your heart, but it is not enough - only through the experience of battle you can acquire the power that will allow you not to deviate from your faith in the era of untruth.
+Come back when you are a little older and wiser. When you are ready, I will give you an assignment to check if you are ready to become a Master of Elements.
+(Quest for characters whose level is 76 or higher.)
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00092_SagaOfTheElementalMaster/aiken02a.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00092_SagaOfTheElementalMaster/aiken02a.htm
new file mode 100644
index 0000000000..4a8d9d2e2b
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00092_SagaOfTheElementalMaster/aiken02a.htm
@@ -0,0 +1,6 @@
+
+Arkenias:
+Have you not already received the title of Master of Elements?
+ My brother, you do not have to go through the test of the squire again.
+ Your duty is to fight for your faith and the glory of the lord.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00092_SagaOfTheElementalMaster/aiken03.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00092_SagaOfTheElementalMaster/aiken03.htm
new file mode 100644
index 0000000000..9bb3e4a139
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00092_SagaOfTheElementalMaster/aiken03.htm
@@ -0,0 +1,5 @@
+
+Arkenias:
+Apparently, you have already chosen your path.
+ You do not need to perform the task of the Master of Elements.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00092_SagaOfTheElementalMaster/aiken5.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00092_SagaOfTheElementalMaster/aiken5.htm
new file mode 100644
index 0000000000..0bd9b93887
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00092_SagaOfTheElementalMaster/aiken5.htm
@@ -0,0 +1,8 @@
+
+Arkenias:
+Do you want to become a Master of Elements?
+ Well, then you must pass Saga Elemental Master,
+To prove that you are not just a reckless, quick-tempered warrior, but
+ Warrior with the soul of the present Master of Elements. This is a form of ritual and the process of training,
+ Which all those who wish to become the Master of Elements must perform.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00092_SagaOfTheElementalMaster/aiken6.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00092_SagaOfTheElementalMaster/aiken6.htm
new file mode 100644
index 0000000000..aef2ae4e4e
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00092_SagaOfTheElementalMaster/aiken6.htm
@@ -0,0 +1,5 @@
+
+Arkenias:
+Congratulations! You have passed all the tests and are ready to receive the profession of the Master of Elements !!!
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00092_SagaOfTheElementalMaster/aiken7.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00092_SagaOfTheElementalMaster/aiken7.htm
new file mode 100644
index 0000000000..8331b5486c
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00092_SagaOfTheElementalMaster/aiken7.htm
@@ -0,0 +1,5 @@
+
+Arkenias:
+Congratulations! You have received the profession of the Master of Elements !!!
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00092_SagaOfTheElementalMaster/erikrams1.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00092_SagaOfTheElementalMaster/erikrams1.htm
new file mode 100644
index 0000000000..a8aa5190a9
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00092_SagaOfTheElementalMaster/erikrams1.htm
@@ -0,0 +1,7 @@
+
+Unicorn Kaleidos
+
+Thank you! You helped avenge me, I will give you the fourth amulet
+
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00092_SagaOfTheElementalMaster/erikrams2.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00092_SagaOfTheElementalMaster/erikrams2.htm
new file mode 100644
index 0000000000..a2e7ab2038
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00092_SagaOfTheElementalMaster/erikrams2.htm
@@ -0,0 +1,5 @@
+
+Unicorn Kaleidos
+
+Now activate the last stone
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00092_SagaOfTheElementalMaster/jer1.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00092_SagaOfTheElementalMaster/jer1.htm
new file mode 100644
index 0000000000..92ad0fa0c8
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00092_SagaOfTheElementalMaster/jer1.htm
@@ -0,0 +1,5 @@
+
+Radiss:
+Radiss is seriously ill and is at death. For recovery, he needs a special medicine. Go to the Priest Kerenas in Aden and ask him for help.
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00092_SagaOfTheElementalMaster/jer2.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00092_SagaOfTheElementalMaster/jer2.htm
new file mode 100644
index 0000000000..3e61d77063
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00092_SagaOfTheElementalMaster/jer2.htm
@@ -0,0 +1,4 @@
+
+Radiss:
+Radiss is seriously ill and is at death. For recovery, he needs a special medicine. Go to the Priest Kerenas in Aden and ask him for help.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00092_SagaOfTheElementalMaster/jer3.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00092_SagaOfTheElementalMaster/jer3.htm
new file mode 100644
index 0000000000..a0fd9cb534
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00092_SagaOfTheElementalMaster/jer3.htm
@@ -0,0 +1,5 @@
+
+Radiss:
+Did you bring the Medication?
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00092_SagaOfTheElementalMaster/jer4.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00092_SagaOfTheElementalMaster/jer4.htm
new file mode 100644
index 0000000000..3684d85f4a
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00092_SagaOfTheElementalMaster/jer4.htm
@@ -0,0 +1,4 @@
+
+Radiss:
+You have received the Resonance Amulet. Activate the Stone of Knowledge to the south of the Tower of Insolence.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00092_SagaOfTheElementalMaster/jer5.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00092_SagaOfTheElementalMaster/jer5.htm
new file mode 100644
index 0000000000..7080b7800d
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00092_SagaOfTheElementalMaster/jer5.htm
@@ -0,0 +1,5 @@
+
+Radiss:
+Have you come for the third Amulet of Resonance?
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00092_SagaOfTheElementalMaster/jer6.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00092_SagaOfTheElementalMaster/jer6.htm
new file mode 100644
index 0000000000..b7fac79acc
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00092_SagaOfTheElementalMaster/jer6.htm
@@ -0,0 +1,4 @@
+
+Radiss:
+The Great Summoner Radiss says that the third Amulet of Resonance is in Archon Halisha. To summon him, you need to destroy his minions in the Molten Tops and collect the Halish Badges. Destroy these monsters and call Archon Halisha. The aim of the hunt is the Ranger of the Swamp, Burning Drake, Flame Iphreet, Ikedith
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00092_SagaOfTheElementalMaster/rifken1.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00092_SagaOfTheElementalMaster/rifken1.htm
new file mode 100644
index 0000000000..33c397668f
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00092_SagaOfTheElementalMaster/rifken1.htm
@@ -0,0 +1,5 @@
+
+Kerenas:
+To make a medicine for Radiss, you need Crystal of Cold Fragments. They can be obtained by destroying monsters to the southeast of Aden
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00092_SagaOfTheElementalMaster/rifken2.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00092_SagaOfTheElementalMaster/rifken2.htm
new file mode 100644
index 0000000000..a50169135f
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00092_SagaOfTheElementalMaster/rifken2.htm
@@ -0,0 +1,4 @@
+
+Kerenas:
+Obtain Fragments of the Crystal of Cold. These pieces can be obtained by destroying monsters to the southeast of Aden.The aim of the hunt is the Ice Monster, the Spirit of the Drowned One, the Soul of Cold, the Ghost of Solitude, the Cold Beast, the Spirit of Coldness.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00092_SagaOfTheElementalMaster/rifken3.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00092_SagaOfTheElementalMaster/rifken3.htm
new file mode 100644
index 0000000000..b974a30df8
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00092_SagaOfTheElementalMaster/rifken3.htm
@@ -0,0 +1,5 @@
+
+Kerenas:
+Did you get all the ingredients?
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00092_SagaOfTheElementalMaster/rifken4.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00092_SagaOfTheElementalMaster/rifken4.htm
new file mode 100644
index 0000000000..07c38cbb58
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00092_SagaOfTheElementalMaster/rifken4.htm
@@ -0,0 +1,4 @@
+
+Kerenas:
+Take the medicine to the Great Summoner Radissa in Aden.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00092_SagaOfTheElementalMaster/stone11.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00092_SagaOfTheElementalMaster/stone11.htm
new file mode 100644
index 0000000000..00c3df6bbd
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00092_SagaOfTheElementalMaster/stone11.htm
@@ -0,0 +1,5 @@
+
+Stone of knowledge:
+You slash like a stone starts to vibrate
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00092_SagaOfTheElementalMaster/stone12.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00092_SagaOfTheElementalMaster/stone12.htm
new file mode 100644
index 0000000000..43fbf4faea
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00092_SagaOfTheElementalMaster/stone12.htm
@@ -0,0 +1,4 @@
+
+Stone of knowledge:
+You brought the amulet and the inscription appeared on the stone - The second Amulet of Resonance is in the Keepers of Forbidden Knowledge next to the second Stone of Knowledge.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00092_SagaOfTheElementalMaster/stone21.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00092_SagaOfTheElementalMaster/stone21.htm
new file mode 100644
index 0000000000..7011b91601
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00092_SagaOfTheElementalMaster/stone21.htm
@@ -0,0 +1,5 @@
+
+Stone of knowledge:
+You slash like a stone starts to vibrate
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00092_SagaOfTheElementalMaster/stone22.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00092_SagaOfTheElementalMaster/stone22.htm
new file mode 100644
index 0000000000..0b1d83f090
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00092_SagaOfTheElementalMaster/stone22.htm
@@ -0,0 +1,4 @@
+
+Stone of knowledge:
+As soon as you approached the stone, Shakiel the Visionary Guardian appeared. Obviously, he is trying to stop you. Destroy it.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00092_SagaOfTheElementalMaster/stone23.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00092_SagaOfTheElementalMaster/stone23.htm
new file mode 100644
index 0000000000..d323517e9b
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00092_SagaOfTheElementalMaster/stone23.htm
@@ -0,0 +1,4 @@
+
+Stone of knowledge:
+Now you can go in search of the third stone
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00092_SagaOfTheElementalMaster/stone24.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00092_SagaOfTheElementalMaster/stone24.htm
new file mode 100644
index 0000000000..a07561f734
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00092_SagaOfTheElementalMaster/stone24.htm
@@ -0,0 +1,5 @@
+
+Stone of knowledge:
+You slash like a stone starts to vibrate
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00092_SagaOfTheElementalMaster/stone25.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00092_SagaOfTheElementalMaster/stone25.htm
new file mode 100644
index 0000000000..1064dbe920
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00092_SagaOfTheElementalMaster/stone25.htm
@@ -0,0 +1,4 @@
+
+Stone of knowledge:
+Activating the stone, you learned that the third Amulet of Resonance is located at the Great Summoner Radissa from the Guild of Magicians of Aden. Get him the Resonance Amulet.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00092_SagaOfTheElementalMaster/stone31.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00092_SagaOfTheElementalMaster/stone31.htm
new file mode 100644
index 0000000000..2ae9581916
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00092_SagaOfTheElementalMaster/stone31.htm
@@ -0,0 +1,5 @@
+
+Stone of knowledge:
+You slash like a stone starts to vibrate
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00092_SagaOfTheElementalMaster/stone32.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00092_SagaOfTheElementalMaster/stone32.htm
new file mode 100644
index 0000000000..2a10d6d59f
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00092_SagaOfTheElementalMaster/stone32.htm
@@ -0,0 +1,4 @@
+
+Stone of knowledge:
+When the activation of the third Stone of Knowledge ended, he showed the location of the next stone. The fourth Stone of Knowledge is in the area of ​​the Elven Village, and the last Amulet of Resonance is near the stone. Go there.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00092_SagaOfTheElementalMaster/stone40.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00092_SagaOfTheElementalMaster/stone40.htm
new file mode 100644
index 0000000000..5158b198ba
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00092_SagaOfTheElementalMaster/stone40.htm
@@ -0,0 +1,8 @@
+
+Stone of knowledge:
+You came to the stone and he began to vibrate
+
+The last amulet is at Kelvas the Hound of Justice
+Are you ready to fight him?
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00092_SagaOfTheElementalMaster/stone41.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00092_SagaOfTheElementalMaster/stone41.htm
new file mode 100644
index 0000000000..627b6259dd
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00092_SagaOfTheElementalMaster/stone41.htm
@@ -0,0 +1,3 @@
+
+Nearby appeared Kelvas the Hound of Justice
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00092_SagaOfTheElementalMaster/stone42.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00092_SagaOfTheElementalMaster/stone42.htm
new file mode 100644
index 0000000000..61f619a55a
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00092_SagaOfTheElementalMaster/stone42.htm
@@ -0,0 +1,5 @@
+
+Stone of knowledge:
+You slash like a stone starts to vibrate
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00092_SagaOfTheElementalMaster/stone43.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00092_SagaOfTheElementalMaster/stone43.htm
new file mode 100644
index 0000000000..475191369c
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00092_SagaOfTheElementalMaster/stone43.htm
@@ -0,0 +1,5 @@
+
+Stone of knowledge:
+You successfully activated the last stone
+You have found all the Stones of Knowledge. Return to Grand Magister Arkenias in the Ivory Tower.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00093_SagaOfTheSpectralMaster/Q00093_SagaOfTheSpectralMaster.java b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00093_SagaOfTheSpectralMaster/Q00093_SagaOfTheSpectralMaster.java
new file mode 100644
index 0000000000..c6c270ed7b
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00093_SagaOfTheSpectralMaster/Q00093_SagaOfTheSpectralMaster.java
@@ -0,0 +1,450 @@
+package quests.Q00093_SagaOfTheSpectralMaster;
+
+import java.util.HashSet;
+import java.util.Set;
+
+import com.l2jmobius.gameserver.model.actor.L2Npc;
+import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
+import com.l2jmobius.gameserver.model.base.ClassId;
+import com.l2jmobius.gameserver.model.holders.NpcLogListHolder;
+import com.l2jmobius.gameserver.model.quest.Quest;
+import com.l2jmobius.gameserver.model.quest.QuestState;
+import com.l2jmobius.gameserver.model.quest.State;
+import com.l2jmobius.gameserver.network.serverpackets.MagicSkillUse;
+import com.l2jmobius.gameserver.util.Util;
+
+//QuangNguyen
+
+public class Q00093_SagaOfTheSpectralMaster extends Quest
+{
+ public final int FAIREN = 30175;
+ public final int NOCTISSE = 31613;
+ public final int KAIRA = 30476;
+ public final int TABLET_OF_VISION_1 = 31646;
+ public final int TABLET_OF_VISION_2 = 31647;
+ public final int TABLET_OF_VISION_3 = 31652;
+ public final int TABLET_OF_VISION_4 = 31656;
+ public final int ENIGMATIC_SERVITOR = 31632;
+ // mobs
+ public final int ICE_MONSTER = 27316;
+ public final int SPIRIT_OF_A_DROWNED = 27317;
+ public final int SOUL_OF_COLD = 27318;
+ public final int GHOST_OF_SOLITUDE = 27319;
+ public final int FIEND_OF_COLD = 27320;
+ public final int SPIRIT_OF_COLD = 27321;
+ public final int SPAMPLAND_WATCHMAN = 21650;
+ public final int FLAME_DRAKE = 21651;
+ public final int FIERY_IFRIT = 21652;
+ public final int IKEDIT = 21653;
+ public final int GUARDIAN_OF_FORBIDDEN_KNOWLEDGE = 27214;
+ public final int VISION_GUARDIAN_SHAKIEL = 27313;
+ public final int HALISHA_ARCHON = 27219;
+ public final int MYSTERIOUS_SERVITOR = 27312;
+ // items
+ public final int ICE_CRYSTAL_FRAGMENT = 49827;
+ public final int HALISHA_BADGE = 7508;
+ public final int AMULET_REZONANSA_PERVIY = 7291;
+ public final int AMULET_REZONANSA_VTOROI = 7322;
+ public final int AMULET_REZONANSA_TRETIY = 7353;
+ public final int AMULET_REZONANSA_CHETVERTIY = 7384;
+ public final int KAIRA_ANTIDOTE = 7606;
+ // reward
+ public final int BOOKSABERTOOTH = 90040;
+ private static final String KILL_COUNT_VAR = "KillCount";
+
+ public Q00093_SagaOfTheSpectralMaster()
+ {
+ super(93);
+ addStartNpc(FAIREN);
+ addTalkId(FAIREN, NOCTISSE, KAIRA, ENIGMATIC_SERVITOR, TABLET_OF_VISION_1, TABLET_OF_VISION_2, TABLET_OF_VISION_3, TABLET_OF_VISION_4);
+ addKillId(ICE_MONSTER, SPIRIT_OF_A_DROWNED, SOUL_OF_COLD, GHOST_OF_SOLITUDE, FIEND_OF_COLD);
+ addKillId(SPIRIT_OF_COLD, SPAMPLAND_WATCHMAN, FLAME_DRAKE, FIERY_IFRIT, IKEDIT);
+ addKillId(GUARDIAN_OF_FORBIDDEN_KNOWLEDGE, VISION_GUARDIAN_SHAKIEL, HALISHA_ARCHON, MYSTERIOUS_SERVITOR);
+ registerQuestItems(KAIRA_ANTIDOTE, ICE_CRYSTAL_FRAGMENT, HALISHA_BADGE);
+ addCondMinLevel(76, "aiken02.htm");
+ addCondClassId(ClassId.PHANTOM_SUMMONER, "aiken03.htm");
+ }
+
+ @Override
+ public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
+ {
+ final QuestState st = getQuestState(player, false);
+ if (st == null)
+ {
+ return null;
+ }
+ String htmltext = event;
+ switch (event)
+ {
+ case "aiken02a.htm":
+ htmltext = "aiken5.htm";
+ break;
+ case "aiken01s.htm":
+ if (st.getCond() == 0)
+ {
+ st.startQuest();
+ st.setCond(1);
+ }
+ break;
+ case "jer2.htm":
+ if (st.getCond() == 1)
+ {
+ st.setCond(2);
+ }
+ break;
+ case "rifken2.htm":
+ if (st.getCond() == 2)
+ {
+ st.setCond(3);
+ }
+ break;
+ case "rifken4.htm":
+ if (st.getCond() == 4)
+ {
+ st.setCond(5);
+ }
+ takeItems(player, ICE_CRYSTAL_FRAGMENT, -1);
+ giveItems(player, KAIRA_ANTIDOTE, 1);
+ break;
+ case "jer4.htm":
+ if (st.getCond() == 5)
+ {
+ st.setCond(6);
+ }
+ giveItems(player, AMULET_REZONANSA_PERVIY, 1);
+ takeItems(player, KAIRA_ANTIDOTE, -1);
+ break;
+ case "stone12.htm":
+ if (st.getCond() == 6)
+ {
+ st.setCond(7);
+ }
+ break;
+ case "stone22.htm":
+ if (st.getCond() == 8)
+ {
+ addSpawn(VISION_GUARDIAN_SHAKIEL, npc, true, 0, true);
+ st.setCond(9);
+ }
+ break;
+ case "stone25.htm":
+ if (st.getCond() == 10)
+ {
+ st.setCond(11);
+ }
+ break;
+ case "jer6.htm":
+ if (st.getCond() == 11)
+ {
+ st.setCond(12);
+ }
+ break;
+ case "stone32.htm":
+ if (st.getCond() == 14)
+ {
+ st.setCond(15);
+ }
+ break;
+ case "stone41.htm":
+ if (st.getCond() == 15)
+ {
+ st.setCond(16);
+ }
+ addSpawn(MYSTERIOUS_SERVITOR, npc, true, 0, true);
+ break;
+ case "erikrams2.htm":
+ if (st.getCond() == 16)
+ {
+ st.setCond(17);
+ }
+ giveItems(player, AMULET_REZONANSA_CHETVERTIY, 1);
+ break;
+ case "stone43.htm":
+ if (st.getCond() == 17)
+ {
+ st.setCond(18);
+ }
+ break;
+ case "aiken7.htm":
+ if (st.getCond() == 18)
+ {
+ if ((player.getLevel() < 76) && (player.getBaseClass() != 41))
+ {
+ htmltext = "30849-nolvl.htm";
+ }
+ addExpAndSp(player, 3100000, 103000);
+ rewardItems(player, BOOKSABERTOOTH, 1);
+ takeItems(player, AMULET_REZONANSA_PERVIY, -1);
+ takeItems(player, AMULET_REZONANSA_VTOROI, -1);
+ takeItems(player, AMULET_REZONANSA_TRETIY, -1);
+ takeItems(player, AMULET_REZONANSA_CHETVERTIY, -1);
+ takeItems(player, HALISHA_BADGE, -1);
+ st.exitQuest(false, true);
+ player.setClassId(111);
+ player.setBaseClass(111);
+ player.broadcastUserInfo();
+ npc.broadcastPacket(new MagicSkillUse(npc, player, 5103, 1, 1000, 0));
+ }
+ break;
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onTalk(L2Npc npc, L2PcInstance talker)
+ {
+ final QuestState qs = getQuestState(talker, true);
+ String htmltext = getNoQuestMsg(talker);
+
+ switch (qs.getState())
+ {
+ case State.CREATED:
+ {
+ if (npc.getId() == FAIREN)
+ {
+ htmltext = "aiken01.htm";
+ }
+ break;
+ }
+ case State.STARTED:
+ {
+ if (npc.getId() == FAIREN)
+ {
+ if (qs.getCond() == 1)
+ {
+ htmltext = "aiken01s.htm";
+ }
+ if (qs.getCond() == 18)
+ {
+ htmltext = "aiken6.htm";
+ }
+
+ }
+ if (npc.getId() == NOCTISSE)
+ {
+ if (qs.getCond() == 1)
+ {
+ htmltext = "jer1.htm";
+ }
+ if (qs.getCond() == 2)
+ {
+ htmltext = "jer2.htm";
+ }
+ if (qs.getCond() == 5)
+ {
+ htmltext = "jer3.htm";
+ }
+ if (qs.getCond() == 6)
+ {
+ htmltext = "jer4.htm";
+ }
+ if (qs.getCond() == 11)
+ {
+ htmltext = "jer5.htm";
+ }
+ if (qs.getCond() == 12)
+ {
+ htmltext = "jer6.htm";
+ }
+ }
+ if (npc.getId() == KAIRA)
+ {
+ if (qs.getCond() == 2)
+ {
+ htmltext = "rifken1.htm";
+ }
+ if (qs.getCond() == 3)
+ {
+ htmltext = "rifken2.htm";
+ }
+ if (qs.getCond() == 4)
+ {
+ htmltext = "rifken3.htm";
+ }
+ }
+ if (npc.getId() == TABLET_OF_VISION_1)
+ {
+ if (qs.getCond() == 6)
+ {
+ htmltext = "stone11.htm";
+ }
+ if (qs.getCond() == 7)
+ {
+ htmltext = "stone12.htm";
+ }
+ }
+ if (npc.getId() == TABLET_OF_VISION_2)
+ {
+ if (qs.getCond() == 8)
+ {
+ htmltext = "stone21.htm";
+ }
+ if (qs.getCond() == 9)
+ {
+ htmltext = "stone23.htm";
+ }
+ if (qs.getCond() == 10)
+ {
+ htmltext = "stone24.htm";
+ }
+ if (qs.getCond() == 11)
+ {
+ htmltext = "stone25.htm";
+ }
+ }
+ if (npc.getId() == TABLET_OF_VISION_3)
+ {
+ if (qs.getCond() == 14)
+ {
+ htmltext = "stone31.htm";
+ }
+ if (qs.getCond() == 15)
+ {
+ htmltext = "stone32.htm";
+ }
+ }
+ if (npc.getId() == TABLET_OF_VISION_4)
+ {
+ if (qs.getCond() == 15)
+ {
+ htmltext = "stone40.htm";
+ }
+ if (qs.getCond() == 17)
+ {
+ htmltext = "stone42.htm";
+ }
+ if (qs.getCond() == 18)
+ {
+ htmltext = "stone43.htm";
+ }
+
+ }
+ if (npc.getId() == ENIGMATIC_SERVITOR)
+ {
+ if (qs.getCond() == 16)
+ {
+ htmltext = "erikrams1.htm";
+ }
+ if (qs.getCond() == 17)
+ {
+ htmltext = "erikrams2.htm";
+ }
+ }
+ break;
+ }
+ case State.COMPLETED:
+ {
+ htmltext = getAlreadyCompletedMsg(talker);
+ break;
+ }
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
+ {
+ final QuestState qs = getQuestState(killer, false);
+ if ((qs != null) && qs.isStarted() && Util.checkIfInRange(1500, npc, killer, true))
+ {
+ switch (npc.getId())
+ {
+ case ICE_MONSTER:
+ case SPIRIT_OF_A_DROWNED:
+ case SOUL_OF_COLD:
+ case FIEND_OF_COLD:
+ case GHOST_OF_SOLITUDE:
+ case SPIRIT_OF_COLD:
+ if (qs.getCond() == 3)
+ {
+ if (getQuestItemsCount(killer, ICE_CRYSTAL_FRAGMENT) < 50)
+ {
+ giveItemRandomly(killer, npc, ICE_CRYSTAL_FRAGMENT, 1, 50, 50, true);
+ }
+ if (getQuestItemsCount(killer, ICE_CRYSTAL_FRAGMENT) >= 50)
+ {
+ qs.setCond(4);
+ }
+ }
+ break;
+ case VISION_GUARDIAN_SHAKIEL:
+ if (qs.getCond() == 9)
+ {
+ qs.setCond(10);
+ }
+ break;
+ case SPAMPLAND_WATCHMAN:
+ case FLAME_DRAKE:
+ case FIERY_IFRIT:
+ case IKEDIT:
+ if (qs.getCond() == 12)
+ {
+ if (getQuestItemsCount(killer, HALISHA_BADGE) < 701)
+ {
+ giveItemRandomly(killer, npc, HALISHA_BADGE, 1, 701, 50, true);
+ if (getQuestItemsCount(killer, HALISHA_BADGE) >= 701)
+ {
+ addSpawn(HALISHA_ARCHON, npc, true, 0, true);
+ qs.setCond(13);
+ }
+ }
+ }
+ break;
+ case HALISHA_ARCHON:
+ if (qs.getCond() == 13)
+ {
+ if (!hasQuestItems(killer, AMULET_REZONANSA_TRETIY))
+ {
+ giveItemRandomly(killer, npc, AMULET_REZONANSA_TRETIY, 1, 1, 50, true);
+ }
+ qs.setCond(14);
+ }
+ break;
+ case MYSTERIOUS_SERVITOR:
+ if (qs.getCond() == 16)
+ {
+ addSpawn(ENIGMATIC_SERVITOR, npc, true, 20000, true);
+ }
+ break;
+ }
+
+ if (qs.isCond(7))
+ {
+ int count = qs.getInt(KILL_COUNT_VAR);
+ if (npc.getId() == GUARDIAN_OF_FORBIDDEN_KNOWLEDGE)
+ {
+ if (count < 20)
+ {
+ qs.set(KILL_COUNT_VAR, ++count);
+ sendNpcLogList(killer);
+ }
+ }
+ if (count >= 20)
+ {
+ qs.setCond(8, true);
+ giveItems(killer, AMULET_REZONANSA_VTOROI, 1);
+ }
+ }
+ }
+ return super.onKill(npc, killer, isSummon);
+ }
+
+ @Override
+ public Set getNpcLogList(L2PcInstance player)
+ {
+ final QuestState qs = getQuestState(player, false);
+ if ((qs != null) && qs.isCond(7))
+ {
+ final Set holder = new HashSet<>(1);
+
+ // guardian of forbidden knowledge
+ final int guardiancount = qs.getInt(KILL_COUNT_VAR);
+ if (guardiancount > 0)
+ {
+ holder.add(new NpcLogListHolder(GUARDIAN_OF_FORBIDDEN_KNOWLEDGE, false, guardiancount));
+ }
+ return holder;
+ }
+ return super.getNpcLogList(player);
+ }
+}
\ No newline at end of file
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00093_SagaOfTheSpectralMaster/aiken01.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00093_SagaOfTheSpectralMaster/aiken01.htm
new file mode 100644
index 0000000000..bffe0c7236
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00093_SagaOfTheSpectralMaster/aiken01.htm
@@ -0,0 +1,6 @@
+
+Fairen:
+
+Do you want to become the Spectral Master ?.
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00093_SagaOfTheSpectralMaster/aiken01s.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00093_SagaOfTheSpectralMaster/aiken01s.htm
new file mode 100644
index 0000000000..353fa3e2f0
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00093_SagaOfTheSpectralMaster/aiken01s.htm
@@ -0,0 +1,5 @@
+
+Fairen:
+
+They say that the Summoner Nectissus is now studying the power of the Spectral Master. Go to her in Aden.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00093_SagaOfTheSpectralMaster/aiken02.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00093_SagaOfTheSpectralMaster/aiken02.htm
new file mode 100644
index 0000000000..159bafd4a5
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00093_SagaOfTheSpectralMaster/aiken02.htm
@@ -0,0 +1,7 @@
+
+Fairen:
+
+My young friend, you do not have enough experience to become the Spectral Master. I see your passion and I hope that you will keep it in your heart, but it is not enough - only through the experience of battle you can acquire the power that will allow you not to deviate from your faith in the era of untruth.
+Come back when you are a little older and wiser. When you are ready, I will give you a mission to check if you are ready to become the Spectral Master.
+(Quest for characters whose level is 76 or higher.)
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00093_SagaOfTheSpectralMaster/aiken02a.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00093_SagaOfTheSpectralMaster/aiken02a.htm
new file mode 100644
index 0000000000..5c457535b7
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00093_SagaOfTheSpectralMaster/aiken02a.htm
@@ -0,0 +1,7 @@
+
+Fairen:
+
+Have you not already received the title of Spectral Master?
+Â My brother, you do not have to go through the test of the squire again.
+Â Your duty is to fight for your faith and the glory of the lord.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00093_SagaOfTheSpectralMaster/aiken03.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00093_SagaOfTheSpectralMaster/aiken03.htm
new file mode 100644
index 0000000000..0d0c29ed95
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00093_SagaOfTheSpectralMaster/aiken03.htm
@@ -0,0 +1,6 @@
+
+Fairen:
+
+Apparently, you have already chosen your path.
+You do not need to perform the task of the Spectral Master.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00093_SagaOfTheSpectralMaster/aiken5.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00093_SagaOfTheSpectralMaster/aiken5.htm
new file mode 100644
index 0000000000..98cf40e2ee
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00093_SagaOfTheSpectralMaster/aiken5.htm
@@ -0,0 +1,9 @@
+
+Fairen:
+
+Do you want to become the Spectral Master?
+ Well, then you must pass Saga of Spectral Master,
+ To prove that you are not just a reckless, quick-tempered warrior, but
+Â A warrior with the soul of a true virtuoso. This is a form of ritual and the process of training,
+Â They must be performed by all who wish to become the Spectral Master.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00093_SagaOfTheSpectralMaster/aiken6.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00093_SagaOfTheSpectralMaster/aiken6.htm
new file mode 100644
index 0000000000..e5b2188638
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00093_SagaOfTheSpectralMaster/aiken6.htm
@@ -0,0 +1,6 @@
+
+Fairen:
+
+Congratulations! You have passed all the tests and are ready to receive the profession Spectral Master !!!
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00093_SagaOfTheSpectralMaster/aiken7.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00093_SagaOfTheSpectralMaster/aiken7.htm
new file mode 100644
index 0000000000..6c1ea1dd28
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00093_SagaOfTheSpectralMaster/aiken7.htm
@@ -0,0 +1,5 @@
+
+Fairen:
+
+Congratulations! You have received the profession of the Spectral Master !!!
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00093_SagaOfTheSpectralMaster/erikrams1.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00093_SagaOfTheSpectralMaster/erikrams1.htm
new file mode 100644
index 0000000000..a6a70663da
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00093_SagaOfTheSpectralMaster/erikrams1.htm
@@ -0,0 +1,7 @@
+
+Mysterious Servant:
+
+Thank you! You helped avenge me, I will give you the fourth amulet
+
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00093_SagaOfTheSpectralMaster/erikrams2.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00093_SagaOfTheSpectralMaster/erikrams2.htm
new file mode 100644
index 0000000000..988ce6b7e1
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00093_SagaOfTheSpectralMaster/erikrams2.htm
@@ -0,0 +1,5 @@
+
+Mysterious Servant:
+
+Now activate the last stone
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00093_SagaOfTheSpectralMaster/jer1.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00093_SagaOfTheSpectralMaster/jer1.htm
new file mode 100644
index 0000000000..8c0a6e0c92
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00093_SagaOfTheSpectralMaster/jer1.htm
@@ -0,0 +1,6 @@
+
+Noktiss:
+
+Noktiss asks you to bring medicine for her. Go to the Magister of the Dark Elves of Kaira in Giran.
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00093_SagaOfTheSpectralMaster/jer2.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00093_SagaOfTheSpectralMaster/jer2.htm
new file mode 100644
index 0000000000..eab882453f
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00093_SagaOfTheSpectralMaster/jer2.htm
@@ -0,0 +1,5 @@
+
+Noktiss:
+
+Noktiss asks you to bring medicine for her. Go to the Magister of the Dark Elves of Kaira in Giran.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00093_SagaOfTheSpectralMaster/jer3.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00093_SagaOfTheSpectralMaster/jer3.htm
new file mode 100644
index 0000000000..bc6b36c401
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00093_SagaOfTheSpectralMaster/jer3.htm
@@ -0,0 +1,6 @@
+
+Noktiss:
+
+Did you bring the Medication?
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00093_SagaOfTheSpectralMaster/jer4.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00093_SagaOfTheSpectralMaster/jer4.htm
new file mode 100644
index 0000000000..874142122d
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00093_SagaOfTheSpectralMaster/jer4.htm
@@ -0,0 +1,5 @@
+
+Noktiss:
+
+You have received the Resonance Amulet. Activate the Stone of Knowledge to the south of the Tower of Insolence.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00093_SagaOfTheSpectralMaster/jer5.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00093_SagaOfTheSpectralMaster/jer5.htm
new file mode 100644
index 0000000000..0b55249e87
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00093_SagaOfTheSpectralMaster/jer5.htm
@@ -0,0 +1,6 @@
+
+Noktiss:
+
+Have you come for the third Amulet of Resonance?
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00093_SagaOfTheSpectralMaster/jer6.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00093_SagaOfTheSpectralMaster/jer6.htm
new file mode 100644
index 0000000000..92a6a3e3e0
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00093_SagaOfTheSpectralMaster/jer6.htm
@@ -0,0 +1,5 @@
+
+Noktiss:
+
+Noktiss says that the third Amulet of Resonance is in Archon Halisha. To summon him, you need to destroy his minions in the Swollen Tops and collect the Halisha Signs. Destroy these monsters and call Archon Halisha. The aim of the hunt is the Ranger of the Swamp, Burning Drake, Flame Iphreet, Ikedith
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00093_SagaOfTheSpectralMaster/rifken1.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00093_SagaOfTheSpectralMaster/rifken1.htm
new file mode 100644
index 0000000000..c43936d221
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00093_SagaOfTheSpectralMaster/rifken1.htm
@@ -0,0 +1,6 @@
+
+Kaira:
+
+To prepare the medicine, Magister Kaira needs the Fragments of the Crystal of Cold. They can be obtained by destroying monsters to the southeast of Aden.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00093_SagaOfTheSpectralMaster/rifken2.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00093_SagaOfTheSpectralMaster/rifken2.htm
new file mode 100644
index 0000000000..b5646f3697
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00093_SagaOfTheSpectralMaster/rifken2.htm
@@ -0,0 +1,5 @@
+
+Kaira:
+
+Obtain Fragments of the Crystal of Cold.These pieces can be obtained by destroying monsters to the southeast of Aden.The aim of the hunt is the Ice Monster, the Spirit of the Drowned One, the Soul of Cold, the Ghost of Solitude, the Cold Beast, the Spirit of Coldness.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00093_SagaOfTheSpectralMaster/rifken3.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00093_SagaOfTheSpectralMaster/rifken3.htm
new file mode 100644
index 0000000000..4d5e60c37b
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00093_SagaOfTheSpectralMaster/rifken3.htm
@@ -0,0 +1,6 @@
+
+Kaira:
+
+Did you get all the ingredients?
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00093_SagaOfTheSpectralMaster/rifken4.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00093_SagaOfTheSpectralMaster/rifken4.htm
new file mode 100644
index 0000000000..4367ac42e1
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00093_SagaOfTheSpectralMaster/rifken4.htm
@@ -0,0 +1,5 @@
+
+Kaira:
+
+Take the medicine to the Summoner Noktiss in Aden.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00093_SagaOfTheSpectralMaster/stone11.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00093_SagaOfTheSpectralMaster/stone11.htm
new file mode 100644
index 0000000000..cb159aaee7
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00093_SagaOfTheSpectralMaster/stone11.htm
@@ -0,0 +1,5 @@
+
+Stone of knowledge:
+You slash like a stone starts to vibrate
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00093_SagaOfTheSpectralMaster/stone12.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00093_SagaOfTheSpectralMaster/stone12.htm
new file mode 100644
index 0000000000..0209eabda8
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00093_SagaOfTheSpectralMaster/stone12.htm
@@ -0,0 +1,4 @@
+
+Stone of knowledge:
+You brought the amulet and the inscription appeared on the stone - The second Amulet of Resonance is in the Keepers of Forbidden Knowledge next to the second Stone of Knowledge.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00093_SagaOfTheSpectralMaster/stone21.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00093_SagaOfTheSpectralMaster/stone21.htm
new file mode 100644
index 0000000000..8c6b7c0553
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00093_SagaOfTheSpectralMaster/stone21.htm
@@ -0,0 +1,5 @@
+
+Stone of knowledge:
+You slash like a stone starts to vibrate
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00093_SagaOfTheSpectralMaster/stone22.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00093_SagaOfTheSpectralMaster/stone22.htm
new file mode 100644
index 0000000000..0b1d83f090
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00093_SagaOfTheSpectralMaster/stone22.htm
@@ -0,0 +1,4 @@
+
+Stone of knowledge:
+As soon as you approached the stone, Shakiel the Visionary Guardian appeared. Obviously, he is trying to stop you. Destroy it.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00093_SagaOfTheSpectralMaster/stone23.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00093_SagaOfTheSpectralMaster/stone23.htm
new file mode 100644
index 0000000000..d323517e9b
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00093_SagaOfTheSpectralMaster/stone23.htm
@@ -0,0 +1,4 @@
+
+Stone of knowledge:
+Now you can go in search of the third stone
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00093_SagaOfTheSpectralMaster/stone24.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00093_SagaOfTheSpectralMaster/stone24.htm
new file mode 100644
index 0000000000..a8fb70ad9b
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00093_SagaOfTheSpectralMaster/stone24.htm
@@ -0,0 +1,5 @@
+
+Stone of knowledge:
+You slash like a stone starts to vibrate
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00093_SagaOfTheSpectralMaster/stone25.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00093_SagaOfTheSpectralMaster/stone25.htm
new file mode 100644
index 0000000000..da418cb641
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00093_SagaOfTheSpectralMaster/stone25.htm
@@ -0,0 +1,4 @@
+
+Stone of knowledge:
+After activating the stone, you learned that the third Amulet of Resonance is found by the Summoner Noktiss from the Guild of the Magicians of Aden. Get her the Resonance Amulet.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00093_SagaOfTheSpectralMaster/stone31.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00093_SagaOfTheSpectralMaster/stone31.htm
new file mode 100644
index 0000000000..8bc68de9db
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00093_SagaOfTheSpectralMaster/stone31.htm
@@ -0,0 +1,5 @@
+
+Stone of knowledge:
+You slash like a stone starts to vibrate
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00093_SagaOfTheSpectralMaster/stone32.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00093_SagaOfTheSpectralMaster/stone32.htm
new file mode 100644
index 0000000000..55b4dac06c
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00093_SagaOfTheSpectralMaster/stone32.htm
@@ -0,0 +1,4 @@
+
+Stone of knowledge:
+When the activation of the third Stone of Knowledge ended, he showed the location of the next stone. The fourth Stone of Knowledge is in the area of the Village of Dark Elves, and the last Amulet of Resonance is near the stone. Go there.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00093_SagaOfTheSpectralMaster/stone40.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00093_SagaOfTheSpectralMaster/stone40.htm
new file mode 100644
index 0000000000..24b1eb3bd3
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00093_SagaOfTheSpectralMaster/stone40.htm
@@ -0,0 +1,7 @@
+
+You came to the stone and he began to vibrate
+
+The last amulet is in Mystic Service
+Are you ready to fight him?
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00093_SagaOfTheSpectralMaster/stone41.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00093_SagaOfTheSpectralMaster/stone41.htm
new file mode 100644
index 0000000000..9d3f72e983
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00093_SagaOfTheSpectralMaster/stone41.htm
@@ -0,0 +1,3 @@
+
+Nearby appeared the Mystic Servant
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00093_SagaOfTheSpectralMaster/stone42.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00093_SagaOfTheSpectralMaster/stone42.htm
new file mode 100644
index 0000000000..6d6e0f5bbf
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00093_SagaOfTheSpectralMaster/stone42.htm
@@ -0,0 +1,5 @@
+
+Stone of knowledge:
+You slash like a stone starts to vibrate
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00093_SagaOfTheSpectralMaster/stone43.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00093_SagaOfTheSpectralMaster/stone43.htm
new file mode 100644
index 0000000000..5eb4ab3396
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00093_SagaOfTheSpectralMaster/stone43.htm
@@ -0,0 +1,5 @@
+
+Stone of knowledge:
+You successfully activated the last stone
+Activating the last Stone of Knowledge, you completed your pilgrimage and gained the power of the Lord of Shadows. Return to Grand Magister Fahren in the Ivory Tower.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00094_SagaOfTheSoultaker/Q00094_SagaOfTheSoultaker.java b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00094_SagaOfTheSoultaker/Q00094_SagaOfTheSoultaker.java
new file mode 100644
index 0000000000..4b516fb340
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00094_SagaOfTheSoultaker/Q00094_SagaOfTheSoultaker.java
@@ -0,0 +1,450 @@
+package quests.Q00094_SagaOfTheSoultaker;
+
+import java.util.HashSet;
+import java.util.Set;
+
+import com.l2jmobius.gameserver.model.actor.L2Npc;
+import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
+import com.l2jmobius.gameserver.model.base.ClassId;
+import com.l2jmobius.gameserver.model.holders.NpcLogListHolder;
+import com.l2jmobius.gameserver.model.quest.Quest;
+import com.l2jmobius.gameserver.model.quest.QuestState;
+import com.l2jmobius.gameserver.model.quest.State;
+import com.l2jmobius.gameserver.network.serverpackets.MagicSkillUse;
+import com.l2jmobius.gameserver.util.Util;
+
+//QuangNguyen
+
+public class Q00094_SagaOfTheSoultaker extends Quest
+{
+ public final int HARDIN = 30832;
+ public final int ORVEN = 30857;
+ public final int ROO_ROO = 34271;
+ public final int TABLET_OF_VISION_1 = 31646;
+ public final int TABLET_OF_VISION_2 = 31648;
+ public final int TABLET_OF_VISION_3 = 31651;
+ public final int TABLET_OF_VISION_4 = 31654;
+ public final int HINDEMITH_TRUEVOICE = 31645;
+ // mobs
+ public final int ICE_MONSTER = 27316;
+ public final int SPIRIT_OF_A_DROWNED = 27317;
+ public final int SOUL_OF_COLD = 27318;
+ public final int GHOST_OF_SOLITUDE = 27319;
+ public final int FIEND_OF_COLD = 27320;
+ public final int SPIRIT_OF_COLD = 27321;
+ public final int SPAMPLAND_WATCHMAN = 21650;
+ public final int FLAME_DRAKE = 21651;
+ public final int FIERY_IFRIT = 21652;
+ public final int IKEDIT = 21653;
+ public final int KEEPER_OF_THE_HOLY_EDICT = 27215;
+ public final int ARCHANGEL_ICONOCLASSIS = 27257;
+ public final int HALISHA_ARCHON = 27219;
+ public final int LICH_KING_ICARUS = 27265;
+ // items
+ public final int ICE_CRYSTAL_FRAGMENT = 49828;
+ public final int HALISHA_BADGE = 7509;
+ public final int AMULET_REZONANSA_PERVIY = 7292;
+ public final int AMULET_REZONANSA_VTOROI = 7323;
+ public final int AMULET_REZONANSA_TRETIY = 7354;
+ public final int AMULET_REZONANSA_CHETVERTIY = 7385;
+ public final int INVESTIGATIVE_REPORT = 7533;
+ // reward
+ public final int BOOKGOLDLION = 90038;
+ private static final String KILL_COUNT_VAR = "KillCount";
+
+ public Q00094_SagaOfTheSoultaker()
+ {
+ super(94);
+ addStartNpc(HARDIN);
+ addTalkId(HARDIN, ORVEN, ROO_ROO, HINDEMITH_TRUEVOICE, TABLET_OF_VISION_1, TABLET_OF_VISION_2, TABLET_OF_VISION_3, TABLET_OF_VISION_4);
+ addKillId(ICE_MONSTER, SPIRIT_OF_A_DROWNED, SOUL_OF_COLD, GHOST_OF_SOLITUDE, FIEND_OF_COLD);
+ addKillId(SPIRIT_OF_COLD, SPAMPLAND_WATCHMAN, FLAME_DRAKE, FIERY_IFRIT, IKEDIT);
+ addKillId(KEEPER_OF_THE_HOLY_EDICT, ARCHANGEL_ICONOCLASSIS, HALISHA_ARCHON, LICH_KING_ICARUS);
+ registerQuestItems(INVESTIGATIVE_REPORT, ICE_CRYSTAL_FRAGMENT, HALISHA_BADGE);
+ addCondMinLevel(76, "aiken02.htm");
+ addCondClassId(ClassId.NECROMANCER, "aiken03.htm");
+ }
+
+ @Override
+ public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
+ {
+ final QuestState st = getQuestState(player, false);
+ if (st == null)
+ {
+ return null;
+ }
+ String htmltext = event;
+ switch (event)
+ {
+ case "aiken02a.htm":
+ htmltext = "aiken5.htm";
+ break;
+ case "aiken01s.htm":
+ if (st.getCond() == 0)
+ {
+ st.startQuest();
+ st.setCond(1);
+ }
+ break;
+ case "jer2.htm":
+ if (st.getCond() == 1)
+ {
+ st.setCond(2);
+ }
+ break;
+ case "rifken2.htm":
+ if (st.getCond() == 2)
+ {
+ st.setCond(3);
+ }
+ break;
+ case "rifken4.htm":
+ if (st.getCond() == 4)
+ {
+ st.setCond(5);
+ }
+ takeItems(player, ICE_CRYSTAL_FRAGMENT, -1);
+ giveItems(player, INVESTIGATIVE_REPORT, 1);
+ break;
+ case "jer4.htm":
+ if (st.getCond() == 5)
+ {
+ st.setCond(6);
+ }
+ giveItems(player, AMULET_REZONANSA_PERVIY, 1);
+ takeItems(player, INVESTIGATIVE_REPORT, -1);
+ break;
+ case "stone12.htm":
+ if (st.getCond() == 6)
+ {
+ st.setCond(7);
+ }
+ break;
+ case "stone22.htm":
+ if (st.getCond() == 8)
+ {
+ addSpawn(ARCHANGEL_ICONOCLASSIS, npc, true, 0, true);
+ st.setCond(9);
+ }
+ break;
+ case "stone25.htm":
+ if (st.getCond() == 10)
+ {
+ st.setCond(11);
+ }
+ break;
+ case "jer6.htm":
+ if (st.getCond() == 11)
+ {
+ st.setCond(12);
+ }
+ break;
+ case "stone32.htm":
+ if (st.getCond() == 14)
+ {
+ st.setCond(15);
+ }
+ break;
+ case "stone41.htm":
+ if (st.getCond() == 15)
+ {
+ st.setCond(16);
+ }
+ addSpawn(LICH_KING_ICARUS, npc, true, 0, true);
+ break;
+ case "erikrams2.htm":
+ if (st.getCond() == 16)
+ {
+ st.setCond(17);
+ }
+ giveItems(player, AMULET_REZONANSA_CHETVERTIY, 1);
+ break;
+ case "stone43.htm":
+ if (st.getCond() == 17)
+ {
+ st.setCond(18);
+ }
+ break;
+ case "aiken7.htm":
+ if (st.getCond() == 18)
+ {
+ if ((player.getLevel() < 76) && (player.getBaseClass() != 13))
+ {
+ htmltext = "30849-nolvl.htm";
+ }
+ addExpAndSp(player, 3100000, 103000);
+ rewardItems(player, BOOKGOLDLION, 1);
+ takeItems(player, AMULET_REZONANSA_PERVIY, -1);
+ takeItems(player, AMULET_REZONANSA_VTOROI, -1);
+ takeItems(player, AMULET_REZONANSA_TRETIY, -1);
+ takeItems(player, AMULET_REZONANSA_CHETVERTIY, -1);
+ takeItems(player, HALISHA_BADGE, -1);
+ st.exitQuest(false, true);
+ player.setClassId(95);
+ player.setBaseClass(95);
+ player.broadcastUserInfo();
+ npc.broadcastPacket(new MagicSkillUse(npc, player, 5103, 1, 1000, 0));
+ }
+ break;
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onTalk(L2Npc npc, L2PcInstance talker)
+ {
+ final QuestState qs = getQuestState(talker, true);
+ String htmltext = getNoQuestMsg(talker);
+
+ switch (qs.getState())
+ {
+ case State.CREATED:
+ {
+ if (npc.getId() == HARDIN)
+ {
+ htmltext = "aiken01.htm";
+ }
+ break;
+ }
+ case State.STARTED:
+ {
+ if (npc.getId() == HARDIN)
+ {
+ if (qs.getCond() == 1)
+ {
+ htmltext = "aiken01s.htm";
+ }
+ if (qs.getCond() == 18)
+ {
+ htmltext = "aiken6.htm";
+ }
+
+ }
+ if (npc.getId() == ORVEN)
+ {
+ if (qs.getCond() == 1)
+ {
+ htmltext = "jer1.htm";
+ }
+ if (qs.getCond() == 2)
+ {
+ htmltext = "jer2.htm";
+ }
+ if (qs.getCond() == 5)
+ {
+ htmltext = "jer3.htm";
+ }
+ if (qs.getCond() == 6)
+ {
+ htmltext = "jer4.htm";
+ }
+ if (qs.getCond() == 11)
+ {
+ htmltext = "jer5.htm";
+ }
+ if (qs.getCond() == 12)
+ {
+ htmltext = "jer6.htm";
+ }
+ }
+ if (npc.getId() == ROO_ROO)
+ {
+ if (qs.getCond() == 2)
+ {
+ htmltext = "rifken1.htm";
+ }
+ if (qs.getCond() == 3)
+ {
+ htmltext = "rifken2.htm";
+ }
+ if (qs.getCond() == 4)
+ {
+ htmltext = "rifken3.htm";
+ }
+ }
+ if (npc.getId() == TABLET_OF_VISION_1)
+ {
+ if (qs.getCond() == 6)
+ {
+ htmltext = "stone11.htm";
+ }
+ if (qs.getCond() == 7)
+ {
+ htmltext = "stone12.htm";
+ }
+ }
+ if (npc.getId() == TABLET_OF_VISION_2)
+ {
+ if (qs.getCond() == 8)
+ {
+ htmltext = "stone21.htm";
+ }
+ if (qs.getCond() == 9)
+ {
+ htmltext = "stone23.htm";
+ }
+ if (qs.getCond() == 10)
+ {
+ htmltext = "stone24.htm";
+ }
+ if (qs.getCond() == 11)
+ {
+ htmltext = "stone25.htm";
+ }
+ }
+ if (npc.getId() == TABLET_OF_VISION_3)
+ {
+ if (qs.getCond() == 14)
+ {
+ htmltext = "stone31.htm";
+ }
+ if (qs.getCond() == 15)
+ {
+ htmltext = "stone32.htm";
+ }
+ }
+ if (npc.getId() == TABLET_OF_VISION_4)
+ {
+ if (qs.getCond() == 15)
+ {
+ htmltext = "stone40.htm";
+ }
+ if (qs.getCond() == 17)
+ {
+ htmltext = "stone42.htm";
+ }
+ if (qs.getCond() == 18)
+ {
+ htmltext = "stone43.htm";
+ }
+
+ }
+ if (npc.getId() == HINDEMITH_TRUEVOICE)
+ {
+ if (qs.getCond() == 16)
+ {
+ htmltext = "erikrams1.htm";
+ }
+ if (qs.getCond() == 17)
+ {
+ htmltext = "erikrams2.htm";
+ }
+ }
+ break;
+ }
+ case State.COMPLETED:
+ {
+ htmltext = getAlreadyCompletedMsg(talker);
+ break;
+ }
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
+ {
+ final QuestState qs = getQuestState(killer, false);
+ if ((qs != null) && qs.isStarted() && Util.checkIfInRange(1500, npc, killer, true))
+ {
+ switch (npc.getId())
+ {
+ case ICE_MONSTER:
+ case SPIRIT_OF_A_DROWNED:
+ case SOUL_OF_COLD:
+ case FIEND_OF_COLD:
+ case GHOST_OF_SOLITUDE:
+ case SPIRIT_OF_COLD:
+ if (qs.getCond() == 3)
+ {
+ if (getQuestItemsCount(killer, ICE_CRYSTAL_FRAGMENT) < 50)
+ {
+ giveItemRandomly(killer, npc, ICE_CRYSTAL_FRAGMENT, 1, 50, 50, true);
+ }
+ if (getQuestItemsCount(killer, ICE_CRYSTAL_FRAGMENT) >= 50)
+ {
+ qs.setCond(4);
+ }
+ }
+ break;
+ case ARCHANGEL_ICONOCLASSIS:
+ if (qs.getCond() == 9)
+ {
+ qs.setCond(10);
+ }
+ break;
+ case SPAMPLAND_WATCHMAN:
+ case FLAME_DRAKE:
+ case FIERY_IFRIT:
+ case IKEDIT:
+ if (qs.getCond() == 12)
+ {
+ if (getQuestItemsCount(killer, HALISHA_BADGE) < 701)
+ {
+ giveItemRandomly(killer, npc, HALISHA_BADGE, 1, 701, 50, true);
+ if (getQuestItemsCount(killer, HALISHA_BADGE) >= 701)
+ {
+ addSpawn(HALISHA_ARCHON, npc, true, 0, true);
+ qs.setCond(13);
+ }
+ }
+ }
+ break;
+ case HALISHA_ARCHON:
+ if (qs.getCond() == 13)
+ {
+ if (!hasQuestItems(killer, AMULET_REZONANSA_TRETIY))
+ {
+ giveItemRandomly(killer, npc, AMULET_REZONANSA_TRETIY, 1, 1, 50, true);
+ }
+ qs.setCond(14);
+ }
+ break;
+ case LICH_KING_ICARUS:
+ if (qs.getCond() == 16)
+ {
+ addSpawn(HINDEMITH_TRUEVOICE, npc, true, 20000, true);
+ }
+ break;
+ }
+
+ if (qs.isCond(7))
+ {
+ int count = qs.getInt(KILL_COUNT_VAR);
+ if (npc.getId() == KEEPER_OF_THE_HOLY_EDICT)
+ {
+ if (count < 20)
+ {
+ qs.set(KILL_COUNT_VAR, ++count);
+ sendNpcLogList(killer);
+ }
+ }
+ if (count >= 20)
+ {
+ qs.setCond(8, true);
+ giveItems(killer, AMULET_REZONANSA_VTOROI, 1);
+ }
+ }
+ }
+ return super.onKill(npc, killer, isSummon);
+ }
+
+ @Override
+ public Set getNpcLogList(L2PcInstance player)
+ {
+ final QuestState qs = getQuestState(player, false);
+ if ((qs != null) && qs.isCond(7))
+ {
+ final Set holder = new HashSet<>(1);
+
+ // guardian of forbidden knowledge
+ final int guardiancount = qs.getInt(KILL_COUNT_VAR);
+ if (guardiancount > 0)
+ {
+ holder.add(new NpcLogListHolder(KEEPER_OF_THE_HOLY_EDICT, false, guardiancount));
+ }
+ return holder;
+ }
+ return super.getNpcLogList(player);
+ }
+}
\ No newline at end of file
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00094_SagaOfTheSoultaker/aiken01.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00094_SagaOfTheSoultaker/aiken01.htm
new file mode 100644
index 0000000000..96b8f1fe77
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00094_SagaOfTheSoultaker/aiken01.htm
@@ -0,0 +1,5 @@
+
+Hardin:
+Do you want to become a Soultaker ?.
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00094_SagaOfTheSoultaker/aiken01s.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00094_SagaOfTheSoultaker/aiken01s.htm
new file mode 100644
index 0000000000..c76e3e62a9
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00094_SagaOfTheSoultaker/aiken01s.htm
@@ -0,0 +1,4 @@
+
+Hardin:
+Hardin orders you to follow the Necromancer, whose name is Hindemith. Recently, he often appears near the Stone of Knowledge, and this does not bode well! Bring this information to the attention of High Priest Orven of Aden, and he will tell you what to do next.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00094_SagaOfTheSoultaker/aiken02.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00094_SagaOfTheSoultaker/aiken02.htm
new file mode 100644
index 0000000000..8b1ebf3bdc
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00094_SagaOfTheSoultaker/aiken02.htm
@@ -0,0 +1,6 @@
+
+Hardin:
+My young friend, you do not have enough experience to become a Soultaker. I see your passion and I hope that you will keep it in your heart, but it is not enough - only through the experience of battle you can acquire the power that will allow you not to deviate from your faith in the era of untruth.
+Come back when you are a little older and wiser. When you are ready, I will give you a mission to check if you are ready to become a Soultaker.
+(Quest for characters whose level is 76 or higher.)
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00094_SagaOfTheSoultaker/aiken02a.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00094_SagaOfTheSoultaker/aiken02a.htm
new file mode 100644
index 0000000000..fa1459bb3b
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00094_SagaOfTheSoultaker/aiken02a.htm
@@ -0,0 +1,6 @@
+
+Hardin:
+Have you not already received the title of the Soultaker?
+ My brother, you do not have to go through the test of the squire again.
+ Your duty is to fight for your faith and the glory of the lord.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00094_SagaOfTheSoultaker/aiken03.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00094_SagaOfTheSoultaker/aiken03.htm
new file mode 100644
index 0000000000..76d7745794
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00094_SagaOfTheSoultaker/aiken03.htm
@@ -0,0 +1,5 @@
+
+Hardin:
+Apparently, you have already chosen your path.
+ You do not need to perform the task of the Soultaker.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00094_SagaOfTheSoultaker/aiken5.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00094_SagaOfTheSoultaker/aiken5.htm
new file mode 100644
index 0000000000..3a4d8dd1dc
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00094_SagaOfTheSoultaker/aiken5.htm
@@ -0,0 +1,8 @@
+
+Hardin:
+Do you want to become a Soultaker?
+ Well, then you must pass Saga Soultaker,
+To prove that you are not just a reckless, quick-tempered warrior, but
+ Warrior with the soul of a real Soultaker. This is a form of ritual and the process of training,
+ Which must be performed by all who wish to become a Soultaker.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00094_SagaOfTheSoultaker/aiken6.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00094_SagaOfTheSoultaker/aiken6.htm
new file mode 100644
index 0000000000..3e844da591
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00094_SagaOfTheSoultaker/aiken6.htm
@@ -0,0 +1,5 @@
+
+Hardin:
+Congratulations! You have passed all the tests and are ready to receive the proficiency of the Soultaker !!!
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00094_SagaOfTheSoultaker/aiken7.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00094_SagaOfTheSoultaker/aiken7.htm
new file mode 100644
index 0000000000..9325de8abb
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00094_SagaOfTheSoultaker/aiken7.htm
@@ -0,0 +1,5 @@
+
+Hardin:
+Congratulations! You have received the proficiency of the Soultaker !!!
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00094_SagaOfTheSoultaker/erikrams1.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00094_SagaOfTheSoultaker/erikrams1.htm
new file mode 100644
index 0000000000..a5b9400fc4
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00094_SagaOfTheSoultaker/erikrams1.htm
@@ -0,0 +1,7 @@
+
+Hindemith:
+
+Thank you! You helped avenge me, I will give you the fourth amulet
+
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00094_SagaOfTheSoultaker/erikrams2.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00094_SagaOfTheSoultaker/erikrams2.htm
new file mode 100644
index 0000000000..0652f19866
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00094_SagaOfTheSoultaker/erikrams2.htm
@@ -0,0 +1,5 @@
+
+Hindemith:
+
+Now activate the last stone
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00094_SagaOfTheSoultaker/jer1.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00094_SagaOfTheSoultaker/jer1.htm
new file mode 100644
index 0000000000..e19d8c46f2
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00094_SagaOfTheSoultaker/jer1.htm
@@ -0,0 +1,5 @@
+
+Orven:
+High Priest Orven asks you to go to the Merchant Information Roo-roo from Aden and pick up the Investigative Report.
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00094_SagaOfTheSoultaker/jer2.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00094_SagaOfTheSoultaker/jer2.htm
new file mode 100644
index 0000000000..37542862b1
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00094_SagaOfTheSoultaker/jer2.htm
@@ -0,0 +1,4 @@
+
+Orven:
+Go to the Merchant Information Roo-Roo from Aden and take the Investigative Report.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00094_SagaOfTheSoultaker/jer3.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00094_SagaOfTheSoultaker/jer3.htm
new file mode 100644
index 0000000000..0865af2737
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00094_SagaOfTheSoultaker/jer3.htm
@@ -0,0 +1,5 @@
+
+Orven:
+Did you bring the "Information"?
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00094_SagaOfTheSoultaker/jer4.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00094_SagaOfTheSoultaker/jer4.htm
new file mode 100644
index 0000000000..9ad24504c2
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00094_SagaOfTheSoultaker/jer4.htm
@@ -0,0 +1,4 @@
+
+Orven:
+You have received the Resonance Amulet. Activate the Stone of Knowledge to the south of the Tower of Insolence.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00094_SagaOfTheSoultaker/jer5.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00094_SagaOfTheSoultaker/jer5.htm
new file mode 100644
index 0000000000..8efc0c3e68
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00094_SagaOfTheSoultaker/jer5.htm
@@ -0,0 +1,5 @@
+
+Orven:
+Have you come for the third Amulet of Resonance?
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00094_SagaOfTheSoultaker/jer6.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00094_SagaOfTheSoultaker/jer6.htm
new file mode 100644
index 0000000000..8a1bfd18d9
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00094_SagaOfTheSoultaker/jer6.htm
@@ -0,0 +1,4 @@
+
+Orven:
+High Priest Orven says that the third Amulet of Resonance is in Archon Halisha. To summon him, you need to destroy his minions in the Swollen Tops and collect the Halisha Signs. Destroy these monsters and call Archon Halisha. The aim of the hunt is the Ranger of the Swamp, Burning Drake, Flamey Ifrit, Ikedith
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00094_SagaOfTheSoultaker/rifken1.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00094_SagaOfTheSoultaker/rifken1.htm
new file mode 100644
index 0000000000..728db6a4db
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00094_SagaOfTheSoultaker/rifken1.htm
@@ -0,0 +1,5 @@
+
+Ru-Ru:
+I will share with you the information but I need 50 Fragments of the Crystal of Cold.
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00094_SagaOfTheSoultaker/rifken2.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00094_SagaOfTheSoultaker/rifken2.htm
new file mode 100644
index 0000000000..b7c3bc3ee9
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00094_SagaOfTheSoultaker/rifken2.htm
@@ -0,0 +1,4 @@
+
+Ru-Ru:
+Information Merchant Roo-Roo requires to bring Crystal Fragments Shards. in exchange for the Research Report These fragments can be obtained by destroying monsters to the southeast of Aden.The aim of the hunt is the Ice Monster, the Spirit of the Drowned One, the Soul of Cold, the Ghost of Solitude, the Cold Beast, the Spirit of Cold.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00094_SagaOfTheSoultaker/rifken3.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00094_SagaOfTheSoultaker/rifken3.htm
new file mode 100644
index 0000000000..aa85358d15
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00094_SagaOfTheSoultaker/rifken3.htm
@@ -0,0 +1,5 @@
+
+Ru-Ru:
+Did you get all the ingredients?
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00094_SagaOfTheSoultaker/rifken4.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00094_SagaOfTheSoultaker/rifken4.htm
new file mode 100644
index 0000000000..317f0189bf
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00094_SagaOfTheSoultaker/rifken4.htm
@@ -0,0 +1,4 @@
+
+Ru-Ru:
+You have received a Investigative Report from the Merchant by Roo-Roo Information. Return to Aden to High Priest Orven.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00094_SagaOfTheSoultaker/stone11.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00094_SagaOfTheSoultaker/stone11.htm
new file mode 100644
index 0000000000..c940cf8be5
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00094_SagaOfTheSoultaker/stone11.htm
@@ -0,0 +1,5 @@
+
+Stone of knowledge:
+You slash like a stone starts to vibrate
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00094_SagaOfTheSoultaker/stone12.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00094_SagaOfTheSoultaker/stone12.htm
new file mode 100644
index 0000000000..a8b546eb71
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00094_SagaOfTheSoultaker/stone12.htm
@@ -0,0 +1,4 @@
+
+Stone of knowledge:
+You brought the amulet and the inscription appeared on the stone - The second Amulet of Resonance is located near the St Lawyer next to the second Stone of Knowledge.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00094_SagaOfTheSoultaker/stone21.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00094_SagaOfTheSoultaker/stone21.htm
new file mode 100644
index 0000000000..e57ad96fea
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00094_SagaOfTheSoultaker/stone21.htm
@@ -0,0 +1,5 @@
+
+Stone of knowledge:
+You slash like a stone starts to vibrate
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00094_SagaOfTheSoultaker/stone22.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00094_SagaOfTheSoultaker/stone22.htm
new file mode 100644
index 0000000000..62930ab0a5
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00094_SagaOfTheSoultaker/stone22.htm
@@ -0,0 +1,4 @@
+
+Stone of knowledge:
+As soon as you approached the stone, the Archangel Bogoborets appeared. Obviously, he is trying to stop you. Destroy it.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00094_SagaOfTheSoultaker/stone23.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00094_SagaOfTheSoultaker/stone23.htm
new file mode 100644
index 0000000000..d323517e9b
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00094_SagaOfTheSoultaker/stone23.htm
@@ -0,0 +1,4 @@
+
+Stone of knowledge:
+Now you can go in search of the third stone
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00094_SagaOfTheSoultaker/stone24.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00094_SagaOfTheSoultaker/stone24.htm
new file mode 100644
index 0000000000..1be2e6774e
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00094_SagaOfTheSoultaker/stone24.htm
@@ -0,0 +1,5 @@
+
+Stone of knowledge:
+You slash like a stone starts to vibrate
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00094_SagaOfTheSoultaker/stone25.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00094_SagaOfTheSoultaker/stone25.htm
new file mode 100644
index 0000000000..cc0e33687a
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00094_SagaOfTheSoultaker/stone25.htm
@@ -0,0 +1,4 @@
+
+Stone of knowledge:
+After activating the stone, you learned that the third Amulet of Resonance is in the possession of High Priest Einhasad of Orven. Get him the Resonance Amulet.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00094_SagaOfTheSoultaker/stone31.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00094_SagaOfTheSoultaker/stone31.htm
new file mode 100644
index 0000000000..caf4fe1651
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00094_SagaOfTheSoultaker/stone31.htm
@@ -0,0 +1,5 @@
+
+Stone of knowledge:
+You slash like a stone starts to vibrate
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00094_SagaOfTheSoultaker/stone32.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00094_SagaOfTheSoultaker/stone32.htm
new file mode 100644
index 0000000000..b77e015b9e
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00094_SagaOfTheSoultaker/stone32.htm
@@ -0,0 +1,4 @@
+
+Stone of knowledge:
+When the activation of the third Stone of Knowledge ended, he showed the location of the next stone. The fourth Stone of Knowledge is on the Speaking Island, and the last Amulet of Resonance is near the stone. Go there.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00094_SagaOfTheSoultaker/stone40.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00094_SagaOfTheSoultaker/stone40.htm
new file mode 100644
index 0000000000..72d2f9239c
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00094_SagaOfTheSoultaker/stone40.htm
@@ -0,0 +1,7 @@
+
+You came to the stone and he began to vibrate
+
+The last amulet is at The King of Icarus Lichards
+Are you ready to fight him?
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00094_SagaOfTheSoultaker/stone41.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00094_SagaOfTheSoultaker/stone41.htm
new file mode 100644
index 0000000000..b3177b06ba
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00094_SagaOfTheSoultaker/stone41.htm
@@ -0,0 +1,3 @@
+
+Nearby appeared the Lich King Icarus
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00094_SagaOfTheSoultaker/stone42.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00094_SagaOfTheSoultaker/stone42.htm
new file mode 100644
index 0000000000..831ab824f5
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00094_SagaOfTheSoultaker/stone42.htm
@@ -0,0 +1,5 @@
+
+Stone of knowledge:
+You slash like a stone starts to vibrate
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00094_SagaOfTheSoultaker/stone43.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00094_SagaOfTheSoultaker/stone43.htm
new file mode 100644
index 0000000000..ecac7f2acb
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00094_SagaOfTheSoultaker/stone43.htm
@@ -0,0 +1,5 @@
+
+Stone of knowledge:
+You successfully activated the last stone
+You learned the history of Hindemith and found all the Stones of Knowledge. Go back to Hardin.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00095_SagaOfTheHellKnight/Q00095_SagaOfTheHellKnight.java b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00095_SagaOfTheHellKnight/Q00095_SagaOfTheHellKnight.java
new file mode 100644
index 0000000000..648ef70031
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00095_SagaOfTheHellKnight/Q00095_SagaOfTheHellKnight.java
@@ -0,0 +1,448 @@
+package quests.Q00095_SagaOfTheHellKnight;
+
+import java.util.HashSet;
+import java.util.Set;
+
+import com.l2jmobius.gameserver.model.actor.L2Npc;
+import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
+import com.l2jmobius.gameserver.model.base.ClassId;
+import com.l2jmobius.gameserver.model.holders.NpcLogListHolder;
+import com.l2jmobius.gameserver.model.quest.Quest;
+import com.l2jmobius.gameserver.model.quest.QuestState;
+import com.l2jmobius.gameserver.model.quest.State;
+import com.l2jmobius.gameserver.network.serverpackets.MagicSkillUse;
+import com.l2jmobius.gameserver.util.Util;
+
+//QuangNguyen
+
+public class Q00095_SagaOfTheHellKnight extends Quest
+{
+ public final int MORDRED = 31582;
+ public final int ROO_ROO = 34271;
+ public final int LANCER = 30477;
+ public final int LANCER1 = 34271;
+ public final int TABLET_OF_VISION_1 = 31646;
+ public final int TABLET_OF_VISION_2 = 31648;
+ public final int TABLET_OF_VISION_3 = 31653;
+ public final int TABLET_OF_VISION_4 = 31654;
+ public final int WALDSTEIN = 31599;
+ // mobs
+ public final int ICE_MONSTER = 27316;
+ public final int SPIRIT_OF_A_DROWNED = 27317;
+ public final int SOUL_OF_COLD = 27318;
+ public final int GHOST_OF_SOLITUDE = 27319;
+ public final int FIEND_OF_COLD = 27320;
+ public final int SPIRIT_OF_COLD = 27321;
+ public final int SPAMPLAND_WATCHMAN = 21650;
+ public final int FLAME_DRAKE = 21651;
+ public final int FIERY_IFRIT = 21652;
+ public final int IKEDIT = 21653;
+ public final int KEEPER_OF_THE_HOLY_EDICT = 27215;
+ public final int ARHANGEL_ICONOCLASSIS = 27257;
+ public final int HALISHA_ARCHON = 27219;
+ public final int DEATH_LORD_HALLATE = 27262;
+ // items
+ public final int ICE_CRYSTAL_FRAGMENT = 49829;
+ public final int HALISHA_BADGE = 7510;
+ public final int AMULET_REZONANSA_PERVIY = 7293;
+ public final int AMULET_REZONANSA_VTOROI = 7324;
+ public final int AMULET_REZONANSA_TRETIY = 7355;
+ public final int AMULET_REZONANSA_CHETVERTIY = 7386;
+ public final int INVESTIGATIVE_REPORT = 7532;
+ // reward
+ public final int BOOKGOLDLION = 90038;
+ private static final String KILL_COUNT_VAR = "KillCount";
+
+ public Q00095_SagaOfTheHellKnight()
+ {
+ super(95);
+ addStartNpc(MORDRED);
+ addTalkId(MORDRED, ROO_ROO, LANCER, LANCER1, WALDSTEIN, TABLET_OF_VISION_1, TABLET_OF_VISION_2, TABLET_OF_VISION_3, TABLET_OF_VISION_4);
+ addKillId(ICE_MONSTER, SPIRIT_OF_A_DROWNED, SOUL_OF_COLD, GHOST_OF_SOLITUDE, FIEND_OF_COLD);
+ addKillId(SPIRIT_OF_COLD, SPAMPLAND_WATCHMAN, FLAME_DRAKE, FIERY_IFRIT, IKEDIT);
+ addKillId(KEEPER_OF_THE_HOLY_EDICT, ARHANGEL_ICONOCLASSIS, HALISHA_ARCHON, DEATH_LORD_HALLATE);
+ registerQuestItems(INVESTIGATIVE_REPORT, ICE_CRYSTAL_FRAGMENT, HALISHA_BADGE);
+ addCondMinLevel(76, "mordred_q95_02.htm");
+ addCondClassId(ClassId.DARK_AVENGER, "mordred_q95_03.htm");
+ }
+
+ @Override
+ public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
+ {
+ final QuestState st = getQuestState(player, false);
+ if (st == null)
+ {
+ return null;
+ }
+ String htmltext = event;
+ switch (event)
+ {
+ case "mordred_q95_02a.htm":
+ htmltext = "mordred_q95_5.htm";
+ break;
+ case "mordred_q95_001.htm":
+ if (st.getCond() == 0)
+ {
+ st.startQuest();
+ st.setCond(1);
+ }
+ break;
+ case "ruru2.htm":
+ if (st.getCond() == 1)
+ {
+ st.setCond(2);
+ }
+ break;
+ case "ruru4.htm":
+ if (st.getCond() == 2)
+ {
+ st.setCond(3);
+ }
+ break;
+ case "ruru6.htm":
+ if (st.getCond() == 4)
+ {
+ st.setCond(5);
+ }
+ takeItems(player, ICE_CRYSTAL_FRAGMENT, -1);
+ giveItems(player, INVESTIGATIVE_REPORT, 1);
+ break;
+ case "lancer6.htm":
+ if (st.getCond() == 5)
+ {
+ st.setCond(6);
+ }
+ giveItems(player, AMULET_REZONANSA_PERVIY, 1);
+ takeItems(player, INVESTIGATIVE_REPORT, -1);
+ break;
+ case "stone12.htm":
+ if (st.getCond() == 6)
+ {
+ st.setCond(7);
+ }
+ break;
+ case "stone22.htm":
+ if (st.getCond() == 8)
+ {
+ addSpawn(ARHANGEL_ICONOCLASSIS, npc, true, 0, true);
+ st.setCond(9);
+ }
+ break;
+ case "stone25.htm":
+ if (st.getCond() == 10)
+ {
+ st.setCond(11);
+ }
+ break;
+ case "lancer12.htm":
+ if (st.getCond() == 11)
+ {
+ st.setCond(12);
+ }
+ break;
+ case "stone32.htm":
+ if (st.getCond() == 14)
+ {
+ st.setCond(15);
+ }
+ break;
+ case "valdwtein2.htm":
+ if (st.getCond() == 16)
+ {
+ st.setCond(17);
+ }
+ giveItems(player, AMULET_REZONANSA_CHETVERTIY, 1);
+ break;
+ case "stone42.htm":
+ if (st.getCond() == 17)
+ {
+ st.setCond(18);
+ }
+ break;
+ case "mordred_q95_22.htm":
+ if (st.getCond() == 18)
+ {
+ if ((player.getLevel() < 76) && (player.getBaseClass() != 6))
+ {
+ htmltext = "30849-nolvl.htm";
+ }
+ addExpAndSp(player, 3100000, 103000);
+ rewardItems(player, BOOKGOLDLION, 1);
+ takeItems(player, AMULET_REZONANSA_PERVIY, -1);
+ takeItems(player, AMULET_REZONANSA_VTOROI, -1);
+ takeItems(player, AMULET_REZONANSA_TRETIY, -1);
+ takeItems(player, AMULET_REZONANSA_CHETVERTIY, -1);
+ takeItems(player, HALISHA_BADGE, -1);
+ st.exitQuest(false, true);
+ player.setClassId(91);
+ player.setBaseClass(91);
+ player.broadcastUserInfo();
+ npc.broadcastPacket(new MagicSkillUse(npc, player, 5103, 1, 1000, 0));
+ }
+ break;
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onTalk(L2Npc npc, L2PcInstance talker)
+ {
+ final QuestState qs = getQuestState(talker, true);
+ String htmltext = getNoQuestMsg(talker);
+
+ switch (qs.getState())
+ {
+ case State.CREATED:
+ {
+ if (npc.getId() == MORDRED)
+ {
+ htmltext = "mordred_q95_01.htm";
+ }
+ break;
+ }
+ case State.STARTED:
+ {
+ if (npc.getId() == MORDRED)
+ {
+ if (qs.getCond() == 1)
+ {
+ htmltext = "mordred_q95_001.htm";
+ }
+ if (qs.getCond() == 18)
+ {
+ htmltext = "mordred_q95_011.htm";
+ }
+ if (qs.getCond() == 19)
+ {
+ htmltext = "mordred_q95_012.htm";
+ }
+
+ }
+ if (npc.getId() == LANCER)
+ {
+ if (qs.getCond() == 1)
+ {
+ htmltext = "ruru.htm";
+ }
+ if (qs.getCond() == 2)
+ {
+ htmltext = "ruru2.htm";
+ }
+ if (qs.getCond() == 5)
+ {
+ htmltext = "lancer5.htm";
+ }
+ if (qs.getCond() == 6)
+ {
+ htmltext = "lancer6.htm";
+ }
+ if (qs.getCond() == 11)
+ {
+ htmltext = "lancer11.htm";
+ }
+ if (qs.getCond() == 12)
+ {
+ htmltext = "lancer12.htm";
+ }
+ }
+ if (npc.getId() == ROO_ROO)
+ {
+ if (qs.getCond() == 2)
+ {
+ htmltext = "ruru3.htm";
+ }
+ if (qs.getCond() == 3)
+ {
+ htmltext = "ruru4.htm";
+ }
+ if (qs.getCond() == 4)
+ {
+ htmltext = "ruru5.htm";
+ }
+ if (qs.getCond() == 5)
+ {
+ htmltext = "ruru6.htm";
+ }
+ }
+ if (npc.getId() == TABLET_OF_VISION_1)
+ {
+ if (qs.getCond() == 6)
+ {
+ htmltext = "stone11.htm";
+ }
+ if (qs.getCond() == 7)
+ {
+ htmltext = "stone12.htm";
+ }
+ }
+ if (npc.getId() == TABLET_OF_VISION_2)
+ {
+ if (qs.getCond() == 8)
+ {
+ htmltext = "stone21.htm";
+ }
+ if (qs.getCond() == 9)
+ {
+ htmltext = "stone23.htm";
+ }
+ if (qs.getCond() == 10)
+ {
+ htmltext = "stone24.htm";
+ }
+ }
+ if (npc.getId() == TABLET_OF_VISION_3)
+ {
+ if (qs.getCond() == 14)
+ {
+ htmltext = "stone31.htm";
+ }
+ if (qs.getCond() == 15)
+ {
+ htmltext = "stone33.htm";
+ }
+ }
+ if (npc.getId() == TABLET_OF_VISION_4)
+ {
+ if (qs.getCond() == 15)
+ {
+ htmltext = "stone40.htm";
+ }
+ if (qs.getCond() == 17)
+ {
+ htmltext = "stone41.htm";
+ }
+ if (qs.getCond() == 18)
+ {
+ htmltext = "stone43.htm";
+ }
+
+ }
+ if (npc.getId() == WALDSTEIN)
+ {
+ if (qs.getCond() == 16)
+ {
+ htmltext = "valdwtein1.htm";
+ }
+ if (qs.getCond() == 17)
+ {
+ htmltext = "valdwtein2.htm";
+ }
+ }
+ break;
+ }
+ case State.COMPLETED:
+ {
+ htmltext = getAlreadyCompletedMsg(talker);
+ break;
+ }
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
+ {
+ final QuestState qs = getQuestState(killer, false);
+ if ((qs != null) && qs.isStarted() && Util.checkIfInRange(1500, npc, killer, true))
+ {
+ switch (npc.getId())
+ {
+ case ICE_MONSTER:
+ case SPIRIT_OF_A_DROWNED:
+ case SOUL_OF_COLD:
+ case FIEND_OF_COLD:
+ case GHOST_OF_SOLITUDE:
+ case SPIRIT_OF_COLD:
+ if (qs.getCond() == 3)
+ {
+ if (getQuestItemsCount(killer, ICE_CRYSTAL_FRAGMENT) < 50)
+ {
+ giveItemRandomly(killer, npc, ICE_CRYSTAL_FRAGMENT, 1, 50, 50, true);
+ }
+ if (getQuestItemsCount(killer, ICE_CRYSTAL_FRAGMENT) >= 50)
+ {
+ qs.setCond(4);
+ }
+ }
+ break;
+ case ARHANGEL_ICONOCLASSIS:
+ if (qs.getCond() == 9)
+ {
+ qs.setCond(10);
+ }
+ break;
+ case SPAMPLAND_WATCHMAN:
+ case FLAME_DRAKE:
+ case FIERY_IFRIT:
+ case IKEDIT:
+ if (qs.getCond() == 12)
+ {
+ if (getQuestItemsCount(killer, HALISHA_BADGE) < 701)
+ {
+ giveItemRandomly(killer, npc, HALISHA_BADGE, 1, 701, 50, true);
+ if (getQuestItemsCount(killer, HALISHA_BADGE) >= 701)
+ {
+ addSpawn(HALISHA_ARCHON, npc, true, 0, true);
+ qs.setCond(13);
+ }
+ }
+ }
+ break;
+ case HALISHA_ARCHON:
+ if (qs.getCond() == 13)
+ {
+ if (!hasQuestItems(killer, AMULET_REZONANSA_TRETIY))
+ {
+ giveItemRandomly(killer, npc, AMULET_REZONANSA_TRETIY, 1, 1, 50, true);
+ }
+ qs.setCond(14);
+ }
+ break;
+ case DEATH_LORD_HALLATE:
+ if (qs.getCond() == 15)
+ {
+ qs.setCond(16);
+ }
+ break;
+ }
+
+ if (qs.isCond(7))
+ {
+ int count = qs.getInt(KILL_COUNT_VAR);
+ if (npc.getId() == KEEPER_OF_THE_HOLY_EDICT)
+ {
+ if (count < 20)
+ {
+ qs.set(KILL_COUNT_VAR, ++count);
+ sendNpcLogList(killer);
+ }
+ }
+ if (count >= 20)
+ {
+ qs.setCond(8, true);
+ giveItems(killer, AMULET_REZONANSA_VTOROI, 1);
+ }
+ }
+ }
+ return super.onKill(npc, killer, isSummon);
+ }
+
+ @Override
+ public Set getNpcLogList(L2PcInstance player)
+ {
+ final QuestState qs = getQuestState(player, false);
+ if ((qs != null) && qs.isCond(7))
+ {
+ final Set holder = new HashSet<>(1);
+
+ // guardian of forbidden knowledge
+ final int guardiancount = qs.getInt(KILL_COUNT_VAR);
+ if (guardiancount > 0)
+ {
+ holder.add(new NpcLogListHolder(KEEPER_OF_THE_HOLY_EDICT, false, guardiancount));
+ }
+ return holder;
+ }
+ return super.getNpcLogList(player);
+ }
+}
\ No newline at end of file
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00095_SagaOfTheHellKnight/lancer11.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00095_SagaOfTheHellKnight/lancer11.htm
new file mode 100644
index 0000000000..47c5a06bb7
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00095_SagaOfTheHellKnight/lancer11.htm
@@ -0,0 +1,5 @@
+
+Lancer:
+Have you come for a stone of knowledge?
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00095_SagaOfTheHellKnight/lancer12.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00095_SagaOfTheHellKnight/lancer12.htm
new file mode 100644
index 0000000000..c0cfe6d905
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00095_SagaOfTheHellKnight/lancer12.htm
@@ -0,0 +1,5 @@
+
+Lancer:
+
+Go on a hunt in the Blazing Swamp. Hunt - Swampland Watchman, Flame Drake, Fiery Ifrit, Ikedit. It is necessary to get the Badge of Halisha - 700 pcs..
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00095_SagaOfTheHellKnight/lancer5.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00095_SagaOfTheHellKnight/lancer5.htm
new file mode 100644
index 0000000000..3cb2cf1296
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00095_SagaOfTheHellKnight/lancer5.htm
@@ -0,0 +1,5 @@
+
+Lancer:
+Did you bring the report?
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00095_SagaOfTheHellKnight/lancer6.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00095_SagaOfTheHellKnight/lancer6.htm
new file mode 100644
index 0000000000..26ead55b88
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00095_SagaOfTheHellKnight/lancer6.htm
@@ -0,0 +1,4 @@
+
+Lancer:
+Activate the Stone of Knowledge to the south of the Tower of Insolence.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00095_SagaOfTheHellKnight/mordred_q95_001.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00095_SagaOfTheHellKnight/mordred_q95_001.htm
new file mode 100644
index 0000000000..d633ffd0ad
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00095_SagaOfTheHellKnight/mordred_q95_001.htm
@@ -0,0 +1,4 @@
+
+Mordred:
+Talk to Sir Orto Lancer from Giran, and he will tell you what to do next.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00095_SagaOfTheHellKnight/mordred_q95_01.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00095_SagaOfTheHellKnight/mordred_q95_01.htm
new file mode 100644
index 0000000000..6a2a1d200b
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00095_SagaOfTheHellKnight/mordred_q95_01.htm
@@ -0,0 +1,5 @@
+
+Mordred:
+Do you want to become a Knight of Hell?.
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00095_SagaOfTheHellKnight/mordred_q95_011.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00095_SagaOfTheHellKnight/mordred_q95_011.htm
new file mode 100644
index 0000000000..87699d582c
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00095_SagaOfTheHellKnight/mordred_q95_011.htm
@@ -0,0 +1,5 @@
+
+Мордред
+Congratulations! You have passed all the tests and are ready to receive the profession of the Knight of Hell!
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00095_SagaOfTheHellKnight/mordred_q95_012.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00095_SagaOfTheHellKnight/mordred_q95_012.htm
new file mode 100644
index 0000000000..f3bf831d92
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00095_SagaOfTheHellKnight/mordred_q95_012.htm
@@ -0,0 +1,3 @@
+
+You have received the profession of the Knight of Hell!
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00095_SagaOfTheHellKnight/mordred_q95_02.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00095_SagaOfTheHellKnight/mordred_q95_02.htm
new file mode 100644
index 0000000000..2c2f68682e
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00095_SagaOfTheHellKnight/mordred_q95_02.htm
@@ -0,0 +1,6 @@
+
+Mordred:
+My young friend, you do not have enough experience to become a Knight of Hell. I see your passion and I hope that you will retain it in your heart, but it is not enough - only through the experience of battle you can acquire the power that will allow you not to deviate from your faith in the era of untruth.
+Come back when you are a little older and wiser. When you are ready, I will give you a mission to check if you are ready to become a Knight of Hell.
+(Quest for characters whose level is 76 or higher.)
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00095_SagaOfTheHellKnight/mordred_q95_02a.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00095_SagaOfTheHellKnight/mordred_q95_02a.htm
new file mode 100644
index 0000000000..5a40451623
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00095_SagaOfTheHellKnight/mordred_q95_02a.htm
@@ -0,0 +1,6 @@
+
+Mordred:
+Have not you already received the title of Knight of Hell?
+ My brother, you do not have to go through the test of the squire again.
+ Your duty is to fight for your faith and the glory of the lord.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00095_SagaOfTheHellKnight/mordred_q95_03.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00095_SagaOfTheHellKnight/mordred_q95_03.htm
new file mode 100644
index 0000000000..5e205d25c7
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00095_SagaOfTheHellKnight/mordred_q95_03.htm
@@ -0,0 +1,5 @@
+
+Mordred:
+Apparently, you have already chosen your path.
+ You do not need to perform the Knight of Hell.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00095_SagaOfTheHellKnight/mordred_q95_04.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00095_SagaOfTheHellKnight/mordred_q95_04.htm
new file mode 100644
index 0000000000..b41ea9757a
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00095_SagaOfTheHellKnight/mordred_q95_04.htm
@@ -0,0 +1,8 @@
+
+Mordred:
+
+Have you not already received
+Shard of the Crystal of Cold?
+This shard is proof that you have the qualifications,
+ Necessary to become a Knight.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00095_SagaOfTheHellKnight/mordred_q95_1.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00095_SagaOfTheHellKnight/mordred_q95_1.htm
new file mode 100644
index 0000000000..d633ffd0ad
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00095_SagaOfTheHellKnight/mordred_q95_1.htm
@@ -0,0 +1,4 @@
+
+Mordred:
+Talk to Sir Orto Lancer from Giran, and he will tell you what to do next.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00095_SagaOfTheHellKnight/mordred_q95_22.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00095_SagaOfTheHellKnight/mordred_q95_22.htm
new file mode 100644
index 0000000000..1c1f98576e
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00095_SagaOfTheHellKnight/mordred_q95_22.htm
@@ -0,0 +1,7 @@
+
+Mordred:
+You have successfully fulfilled the test requirement.
+ Congratulations! Now you are qualified enough to
+ Become a Knight of Hell.
+ Bless you Einhasad!
+
\ No newline at end of file
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00095_SagaOfTheHellKnight/mordred_q95_5.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00095_SagaOfTheHellKnight/mordred_q95_5.htm
new file mode 100644
index 0000000000..73da7a6f0c
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00095_SagaOfTheHellKnight/mordred_q95_5.htm
@@ -0,0 +1,8 @@
+
+Mordred:
+Do you want to become a Knight of Hell?
+ Well, then you must pass Saga Hell Knight,
+To prove that you are not just a reckless, quick-tempered warrior, but
+ Warrior with the soul of this Knight. This is a form of ritual and the process of training,
+ They must be performed by all who wish to become a Knight of Hell.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00095_SagaOfTheHellKnight/ruru.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00095_SagaOfTheHellKnight/ruru.htm
new file mode 100644
index 0000000000..f74a747312
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00095_SagaOfTheHellKnight/ruru.htm
@@ -0,0 +1,6 @@
+
+Lancer:
+
+My friend Ru Ru in Aden needs help, could you help him?
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00095_SagaOfTheHellKnight/ruru2.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00095_SagaOfTheHellKnight/ruru2.htm
new file mode 100644
index 0000000000..beea59985d
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00095_SagaOfTheHellKnight/ruru2.htm
@@ -0,0 +1,4 @@
+
+Lancer:
+Ru Ru Waiting in Aden
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00095_SagaOfTheHellKnight/ruru3.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00095_SagaOfTheHellKnight/ruru3.htm
new file mode 100644
index 0000000000..c4cb60421a
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00095_SagaOfTheHellKnight/ruru3.htm
@@ -0,0 +1,6 @@
+
+Ru Ru:
+
+Were you sent by Lancer? Are you ready to receive a report?
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00095_SagaOfTheHellKnight/ruru4.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00095_SagaOfTheHellKnight/ruru4.htm
new file mode 100644
index 0000000000..c4d42aa1a6
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00095_SagaOfTheHellKnight/ruru4.htm
@@ -0,0 +1,5 @@
+
+Ru Ru:
+
+Go hunting to the southeast of Aden. The aim of the hunt is the Ice Monster, the Spirit of the Drowned,Soul of Cold, Ghost of Solitude,Cold Beast, Spirit of Coldness. It is necessary to obtain a fragment of the Crystal of Cold Shard of the Crystal of Cold - 50 pcs.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00095_SagaOfTheHellKnight/ruru5.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00095_SagaOfTheHellKnight/ruru5.htm
new file mode 100644
index 0000000000..ceef680da6
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00095_SagaOfTheHellKnight/ruru5.htm
@@ -0,0 +1,6 @@
+
+Ru Ru:
+
+You collected 50 fragments?
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00095_SagaOfTheHellKnight/ruru6.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00095_SagaOfTheHellKnight/ruru6.htm
new file mode 100644
index 0000000000..5b1a9a8fc6
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00095_SagaOfTheHellKnight/ruru6.htm
@@ -0,0 +1,5 @@
+
+Ru Ru:
+
+Go to Sir Lancer in Giran
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00095_SagaOfTheHellKnight/stone11.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00095_SagaOfTheHellKnight/stone11.htm
new file mode 100644
index 0000000000..05752f0485
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00095_SagaOfTheHellKnight/stone11.htm
@@ -0,0 +1,6 @@
+
+Stone of knowledge:
+
+You came to the stone and he began to vibrate
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00095_SagaOfTheHellKnight/stone12.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00095_SagaOfTheHellKnight/stone12.htm
new file mode 100644
index 0000000000..4626e1fbf7
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00095_SagaOfTheHellKnight/stone12.htm
@@ -0,0 +1,5 @@
+
+Stone of knowledge:
+
+You brought an amulet and an inscription appeared on the stone - Keeper of the Holy Edict
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00095_SagaOfTheHellKnight/stone21.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00095_SagaOfTheHellKnight/stone21.htm
new file mode 100644
index 0000000000..5e2e94a4b6
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00095_SagaOfTheHellKnight/stone21.htm
@@ -0,0 +1,6 @@
+
+Stone of knowledge:
+
+You came to the stone and he began to vibrate
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00095_SagaOfTheHellKnight/stone22.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00095_SagaOfTheHellKnight/stone22.htm
new file mode 100644
index 0000000000..6c1cfbe552
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00095_SagaOfTheHellKnight/stone22.htm
@@ -0,0 +1,5 @@
+
+Stone of knowledge:
+
+You came to the stone and he began to vibrate
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00095_SagaOfTheHellKnight/stone23.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00095_SagaOfTheHellKnight/stone23.htm
new file mode 100644
index 0000000000..f8607913db
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00095_SagaOfTheHellKnight/stone23.htm
@@ -0,0 +1,5 @@
+
+Stone of knowledge:
+
+Now you can go in search of the third stone
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00095_SagaOfTheHellKnight/stone24.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00095_SagaOfTheHellKnight/stone24.htm
new file mode 100644
index 0000000000..e5873614a5
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00095_SagaOfTheHellKnight/stone24.htm
@@ -0,0 +1,6 @@
+
+Stone of knowledge:
+
+You came to the stone and he began to vibrate
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00095_SagaOfTheHellKnight/stone25.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00095_SagaOfTheHellKnight/stone25.htm
new file mode 100644
index 0000000000..82b4878ccf
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00095_SagaOfTheHellKnight/stone25.htm
@@ -0,0 +1,5 @@
+
+Stone of knowledge:
+
+Speak with Sir Orto Lancer of Giran
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00095_SagaOfTheHellKnight/stone31.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00095_SagaOfTheHellKnight/stone31.htm
new file mode 100644
index 0000000000..b535fa6c99
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00095_SagaOfTheHellKnight/stone31.htm
@@ -0,0 +1,6 @@
+
+Stone of knowledge:
+
+You came to the stone and he began to vibrate
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00095_SagaOfTheHellKnight/stone32.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00095_SagaOfTheHellKnight/stone32.htm
new file mode 100644
index 0000000000..54265b52f4
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00095_SagaOfTheHellKnight/stone32.htm
@@ -0,0 +1,5 @@
+
+Stone of knowledge:
+
+You saw an inscription on which it is written "Talking Island"
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00095_SagaOfTheHellKnight/stone33.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00095_SagaOfTheHellKnight/stone33.htm
new file mode 100644
index 0000000000..27fd43c447
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00095_SagaOfTheHellKnight/stone33.htm
@@ -0,0 +1,5 @@
+
+Stone of knowledge:
+
+You have received the last amulet and now you can go in search of the fourth stone
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00095_SagaOfTheHellKnight/stone40.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00095_SagaOfTheHellKnight/stone40.htm
new file mode 100644
index 0000000000..82c4b96af7
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00095_SagaOfTheHellKnight/stone40.htm
@@ -0,0 +1,7 @@
+
+Stone of knowledge:
+
+You came to the stone and he began to vibrate
+
+The last amulet is Death Lord Hallate on 3th tower of insolense
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00095_SagaOfTheHellKnight/stone41.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00095_SagaOfTheHellKnight/stone41.htm
new file mode 100644
index 0000000000..81cb85762f
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00095_SagaOfTheHellKnight/stone41.htm
@@ -0,0 +1,8 @@
+
+Stone of knowledge:
+
+You came to the stone and he began to vibrate
+
+
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00095_SagaOfTheHellKnight/stone42.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00095_SagaOfTheHellKnight/stone42.htm
new file mode 100644
index 0000000000..627a6d7470
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00095_SagaOfTheHellKnight/stone42.htm
@@ -0,0 +1,5 @@
+
+Stone of knowledge:
+You feel how the stone starts to vibrate
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00095_SagaOfTheHellKnight/stone43.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00095_SagaOfTheHellKnight/stone43.htm
new file mode 100644
index 0000000000..a14db9e3e0
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00095_SagaOfTheHellKnight/stone43.htm
@@ -0,0 +1,5 @@
+
+Stone of knowledge:
+
+You have successfully activated the last stone
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00095_SagaOfTheHellKnight/valdwtein1.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00095_SagaOfTheHellKnight/valdwtein1.htm
new file mode 100644
index 0000000000..9843ef155c
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00095_SagaOfTheHellKnight/valdwtein1.htm
@@ -0,0 +1,7 @@
+
+Waldstein:
+
+Thank you! You helped avenge me, I will give you the fourth amulet
+
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00095_SagaOfTheHellKnight/valdwtein2.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00095_SagaOfTheHellKnight/valdwtein2.htm
new file mode 100644
index 0000000000..3e669b669d
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00095_SagaOfTheHellKnight/valdwtein2.htm
@@ -0,0 +1,5 @@
+
+Waldstein:
+
+Now activate the last stone
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00096_SagaOfTheSpectralDancer/Q00096_SagaOfTheSpectralDancer.java b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00096_SagaOfTheSpectralDancer/Q00096_SagaOfTheSpectralDancer.java
new file mode 100644
index 0000000000..c2c7efeb02
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00096_SagaOfTheSpectralDancer/Q00096_SagaOfTheSpectralDancer.java
@@ -0,0 +1,450 @@
+package quests.Q00096_SagaOfTheSpectralDancer;
+
+import java.util.HashSet;
+import java.util.Set;
+
+import com.l2jmobius.gameserver.model.actor.L2Npc;
+import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
+import com.l2jmobius.gameserver.model.base.ClassId;
+import com.l2jmobius.gameserver.model.holders.NpcLogListHolder;
+import com.l2jmobius.gameserver.model.quest.Quest;
+import com.l2jmobius.gameserver.model.quest.QuestState;
+import com.l2jmobius.gameserver.model.quest.State;
+import com.l2jmobius.gameserver.network.serverpackets.MagicSkillUse;
+import com.l2jmobius.gameserver.util.Util;
+
+//QuangNguyen
+
+public class Q00096_SagaOfTheSpectralDancer extends Quest
+{
+ public final int MORDRED = 31582;
+ public final int LORENZO = 30840;
+ public final int ROO_ROO = 34271;
+ public final int TABLET_OF_VISION_1 = 31646;
+ public final int TABLET_OF_VISION_2 = 31648;
+ public final int TABLET_OF_VISION_3 = 31651;
+ public final int TABLET_OF_VISION_4 = 31656;
+ public final int HEARTSEEKER = 31611;
+ // mobs
+ public final int ICE_MONSTER = 27316;
+ public final int SPIRIT_OF_A_DROWNED = 27317;
+ public final int SOUL_OF_COLD = 27318;
+ public final int GHOST_OF_SOLITUDE = 27319;
+ public final int FIEND_OF_COLD = 27320;
+ public final int SPIRIT_OF_COLD = 27321;
+ public final int SPAMPLAND_WATCHMAN = 21650;
+ public final int FLAME_DRAKE = 21651;
+ public final int FIERY_IFRIT = 21652;
+ public final int IKEDIT = 21653;
+ public final int KEEPER_OF_THE_HOLY_EDICT = 27215;
+ public final int HALLATE_DANCER_LILLIAN = 27272;
+ public final int HALISHA_ARCHON = 27219;
+ public final int DEALTH_LORD_HALLTE = 27262;
+ // items
+ public final int ICE_CRYSTAL_FRAGMENT = 49830;
+ public final int HALISHA_BADGE = 7511;
+ public final int AMULET_REZONANSA_PERVIY = 7294;
+ public final int AMULET_REZONANSA_VTOROI = 7325;
+ public final int AMULET_REZONANSA_TRETIY = 7356;
+ public final int AMULET_REZONANSA_CHETVERTIY = 7387;
+ public final int ANCIENT_LANGUAGE_DICTIONARY = 7527;
+ // reward
+ public final int BOOKSABERTOOTH = 90040;
+ private static final String KILL_COUNT_VAR = "KillCount";
+
+ public Q00096_SagaOfTheSpectralDancer()
+ {
+ super(96);
+ addStartNpc(MORDRED);
+ addTalkId(MORDRED, LORENZO, ROO_ROO, HEARTSEEKER, TABLET_OF_VISION_1, TABLET_OF_VISION_2, TABLET_OF_VISION_3, TABLET_OF_VISION_4);
+ addKillId(ICE_MONSTER, SPIRIT_OF_A_DROWNED, SOUL_OF_COLD, GHOST_OF_SOLITUDE, FIEND_OF_COLD);
+ addKillId(SPIRIT_OF_COLD, SPAMPLAND_WATCHMAN, FLAME_DRAKE, FIERY_IFRIT, IKEDIT);
+ addKillId(KEEPER_OF_THE_HOLY_EDICT, HALLATE_DANCER_LILLIAN, HALISHA_ARCHON, DEALTH_LORD_HALLTE);
+ registerQuestItems(ANCIENT_LANGUAGE_DICTIONARY, ICE_CRYSTAL_FRAGMENT, HALISHA_BADGE);
+ addCondMinLevel(76, "aiken02.htm");
+ addCondClassId(ClassId.BLADEDANCER, "aiken03.htm");
+ }
+
+ @Override
+ public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
+ {
+ final QuestState st = getQuestState(player, false);
+ if (st == null)
+ {
+ return null;
+ }
+ String htmltext = event;
+ switch (event)
+ {
+ case "aiken02a.htm":
+ htmltext = "aiken5.htm";
+ break;
+ case "aiken01s.htm":
+ if (st.getCond() == 0)
+ {
+ st.startQuest();
+ st.setCond(1);
+ }
+ break;
+ case "jer2.htm":
+ if (st.getCond() == 1)
+ {
+ st.setCond(2);
+ }
+ break;
+ case "rifken2.htm":
+ if (st.getCond() == 2)
+ {
+ st.setCond(3);
+ }
+ break;
+ case "rifken4.htm":
+ if (st.getCond() == 4)
+ {
+ st.setCond(5);
+ }
+ takeItems(player, ICE_CRYSTAL_FRAGMENT, -1);
+ giveItems(player, ANCIENT_LANGUAGE_DICTIONARY, 1);
+ break;
+ case "jer4.htm":
+ if (st.getCond() == 5)
+ {
+ st.setCond(6);
+ }
+ giveItems(player, AMULET_REZONANSA_PERVIY, 1);
+ takeItems(player, ANCIENT_LANGUAGE_DICTIONARY, -1);
+ break;
+ case "stone12.htm":
+ if (st.getCond() == 6)
+ {
+ st.setCond(7);
+ }
+ break;
+ case "stone22.htm":
+ if (st.getCond() == 8)
+ {
+ addSpawn(HALLATE_DANCER_LILLIAN, npc, true, 0, true);
+ st.setCond(9);
+ }
+ break;
+ case "stone25.htm":
+ if (st.getCond() == 10)
+ {
+ st.setCond(11);
+ }
+ break;
+ case "jer6.htm":
+ if (st.getCond() == 11)
+ {
+ st.setCond(12);
+ }
+ break;
+ case "stone32.htm":
+ if (st.getCond() == 14)
+ {
+ st.setCond(15);
+ }
+ break;
+ case "stone41.htm":
+ if (st.getCond() == 15)
+ {
+ st.setCond(16);
+ }
+ addSpawn(DEALTH_LORD_HALLTE, npc, true, 0, true);
+ break;
+ case "erikrams2.htm":
+ if (st.getCond() == 16)
+ {
+ st.setCond(17);
+ }
+ giveItems(player, AMULET_REZONANSA_CHETVERTIY, 1);
+ break;
+ case "stone43.htm":
+ if (st.getCond() == 17)
+ {
+ st.setCond(18);
+ }
+ break;
+ case "aiken7.htm":
+ if (st.getCond() == 18)
+ {
+ if ((player.getLevel() < 76) && (player.getBaseClass() != 34))
+ {
+ htmltext = "30849-nolvl.htm";
+ }
+ addExpAndSp(player, 3100000, 103000);
+ rewardItems(player, BOOKSABERTOOTH, 1);
+ takeItems(player, AMULET_REZONANSA_PERVIY, -1);
+ takeItems(player, AMULET_REZONANSA_VTOROI, -1);
+ takeItems(player, AMULET_REZONANSA_TRETIY, -1);
+ takeItems(player, AMULET_REZONANSA_CHETVERTIY, -1);
+ takeItems(player, HALISHA_BADGE, -1);
+ st.exitQuest(false, true);
+ player.setClassId(107);
+ player.setBaseClass(107);
+ player.broadcastUserInfo();
+ npc.broadcastPacket(new MagicSkillUse(npc, player, 5103, 1, 1000, 0));
+ }
+ break;
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onTalk(L2Npc npc, L2PcInstance talker)
+ {
+ final QuestState qs = getQuestState(talker, true);
+ String htmltext = getNoQuestMsg(talker);
+
+ switch (qs.getState())
+ {
+ case State.CREATED:
+ {
+ if (npc.getId() == MORDRED)
+ {
+ htmltext = "aiken01.htm";
+ }
+ break;
+ }
+ case State.STARTED:
+ {
+ if (npc.getId() == MORDRED)
+ {
+ if (qs.getCond() == 1)
+ {
+ htmltext = "aiken01s.htm";
+ }
+ if (qs.getCond() == 18)
+ {
+ htmltext = "aiken6.htm";
+ }
+
+ }
+ if (npc.getId() == LORENZO)
+ {
+ if (qs.getCond() == 1)
+ {
+ htmltext = "jer1.htm";
+ }
+ if (qs.getCond() == 2)
+ {
+ htmltext = "jer2.htm";
+ }
+ if (qs.getCond() == 5)
+ {
+ htmltext = "jer3.htm";
+ }
+ if (qs.getCond() == 6)
+ {
+ htmltext = "jer4.htm";
+ }
+ if (qs.getCond() == 11)
+ {
+ htmltext = "jer5.htm";
+ }
+ if (qs.getCond() == 12)
+ {
+ htmltext = "jer6.htm";
+ }
+ }
+ if (npc.getId() == ROO_ROO)
+ {
+ if (qs.getCond() == 2)
+ {
+ htmltext = "rifken1.htm";
+ }
+ if (qs.getCond() == 3)
+ {
+ htmltext = "rifken2.htm";
+ }
+ if (qs.getCond() == 4)
+ {
+ htmltext = "rifken3.htm";
+ }
+ }
+ if (npc.getId() == TABLET_OF_VISION_1)
+ {
+ if (qs.getCond() == 6)
+ {
+ htmltext = "stone11.htm";
+ }
+ if (qs.getCond() == 7)
+ {
+ htmltext = "stone12.htm";
+ }
+ }
+ if (npc.getId() == TABLET_OF_VISION_2)
+ {
+ if (qs.getCond() == 8)
+ {
+ htmltext = "stone21.htm";
+ }
+ if (qs.getCond() == 9)
+ {
+ htmltext = "stone23.htm";
+ }
+ if (qs.getCond() == 10)
+ {
+ htmltext = "stone24.htm";
+ }
+ if (qs.getCond() == 11)
+ {
+ htmltext = "stone25.htm";
+ }
+ }
+ if (npc.getId() == TABLET_OF_VISION_3)
+ {
+ if (qs.getCond() == 14)
+ {
+ htmltext = "stone31.htm";
+ }
+ if (qs.getCond() == 15)
+ {
+ htmltext = "stone32.htm";
+ }
+ }
+ if (npc.getId() == TABLET_OF_VISION_4)
+ {
+ if (qs.getCond() == 15)
+ {
+ htmltext = "stone40.htm";
+ }
+ if (qs.getCond() == 17)
+ {
+ htmltext = "stone42.htm";
+ }
+ if (qs.getCond() == 18)
+ {
+ htmltext = "stone43.htm";
+ }
+
+ }
+ if (npc.getId() == HEARTSEEKER)
+ {
+ if (qs.getCond() == 16)
+ {
+ htmltext = "erikrams1.htm";
+ }
+ if (qs.getCond() == 17)
+ {
+ htmltext = "erikrams2.htm";
+ }
+ }
+ break;
+ }
+ case State.COMPLETED:
+ {
+ htmltext = getAlreadyCompletedMsg(talker);
+ break;
+ }
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
+ {
+ final QuestState qs = getQuestState(killer, false);
+ if ((qs != null) && qs.isStarted() && Util.checkIfInRange(1500, npc, killer, true))
+ {
+ switch (npc.getId())
+ {
+ case ICE_MONSTER:
+ case SPIRIT_OF_A_DROWNED:
+ case SOUL_OF_COLD:
+ case FIEND_OF_COLD:
+ case GHOST_OF_SOLITUDE:
+ case SPIRIT_OF_COLD:
+ if (qs.getCond() == 3)
+ {
+ if (getQuestItemsCount(killer, ICE_CRYSTAL_FRAGMENT) < 50)
+ {
+ giveItemRandomly(killer, npc, ICE_CRYSTAL_FRAGMENT, 1, 50, 50, true);
+ }
+ if (getQuestItemsCount(killer, ICE_CRYSTAL_FRAGMENT) >= 50)
+ {
+ qs.setCond(4);
+ }
+ }
+ break;
+ case HALLATE_DANCER_LILLIAN:
+ if (qs.getCond() == 9)
+ {
+ qs.setCond(10);
+ }
+ break;
+ case SPAMPLAND_WATCHMAN:
+ case FLAME_DRAKE:
+ case FIERY_IFRIT:
+ case IKEDIT:
+ if (qs.getCond() == 12)
+ {
+ if (getQuestItemsCount(killer, HALISHA_BADGE) < 701)
+ {
+ giveItemRandomly(killer, npc, HALISHA_BADGE, 1, 701, 50, true);
+ if (getQuestItemsCount(killer, HALISHA_BADGE) >= 701)
+ {
+ addSpawn(HALISHA_ARCHON, npc, true, 0, true);
+ qs.setCond(13);
+ }
+ }
+ }
+ break;
+ case HALISHA_ARCHON:
+ if (qs.getCond() == 13)
+ {
+ if (!hasQuestItems(killer, AMULET_REZONANSA_TRETIY))
+ {
+ giveItemRandomly(killer, npc, AMULET_REZONANSA_TRETIY, 1, 1, 50, true);
+ }
+ qs.setCond(14);
+ }
+ break;
+ case DEALTH_LORD_HALLTE:
+ if (qs.getCond() == 16)
+ {
+ addSpawn(HEARTSEEKER, npc, true, 20000, true);
+ }
+ break;
+ }
+
+ if (qs.isCond(7))
+ {
+ int count = qs.getInt(KILL_COUNT_VAR);
+ if (npc.getId() == KEEPER_OF_THE_HOLY_EDICT)
+ {
+ if (count < 20)
+ {
+ qs.set(KILL_COUNT_VAR, ++count);
+ sendNpcLogList(killer);
+ }
+ }
+ if (count >= 20)
+ {
+ qs.setCond(8, true);
+ giveItems(killer, AMULET_REZONANSA_VTOROI, 1);
+ }
+ }
+ }
+ return super.onKill(npc, killer, isSummon);
+ }
+
+ @Override
+ public Set getNpcLogList(L2PcInstance player)
+ {
+ final QuestState qs = getQuestState(player, false);
+ if ((qs != null) && qs.isCond(7))
+ {
+ final Set holder = new HashSet<>(1);
+
+ // guardian of forbidden knowledge
+ final int guardiancount = qs.getInt(KILL_COUNT_VAR);
+ if (guardiancount > 0)
+ {
+ holder.add(new NpcLogListHolder(KEEPER_OF_THE_HOLY_EDICT, false, guardiancount));
+ }
+ return holder;
+ }
+ return super.getNpcLogList(player);
+ }
+}
\ No newline at end of file
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00096_SagaOfTheSpectralDancer/aiken01.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00096_SagaOfTheSpectralDancer/aiken01.htm
new file mode 100644
index 0000000000..c768d782ef
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00096_SagaOfTheSpectralDancer/aiken01.htm
@@ -0,0 +1,6 @@
+
+Mordred:
+
+Do you want to become a Spectral Dancer ?.
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00096_SagaOfTheSpectralDancer/aiken01s.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00096_SagaOfTheSpectralDancer/aiken01s.htm
new file mode 100644
index 0000000000..f9c67253f2
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00096_SagaOfTheSpectralDancer/aiken01s.htm
@@ -0,0 +1,5 @@
+
+Mordred:
+
+The Dark Knight Mordred sends you to Aden to the Trader with the Magical Books of Lorenzo.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00096_SagaOfTheSpectralDancer/aiken02.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00096_SagaOfTheSpectralDancer/aiken02.htm
new file mode 100644
index 0000000000..dc759d4d98
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00096_SagaOfTheSpectralDancer/aiken02.htm
@@ -0,0 +1,7 @@
+
+Mordred:
+
+My young friend, you do not have enough experience to become a Spectral Dancer. I see your passion and I hope that you will keep it in your heart, but it is not enough - only through the experience of battle you can acquire the power that will allow you not to deviate from your faith in the era of untruth.
+Come back when you are a little older and wiser. When you are ready, I will give you an assignment to check if you are ready to become a Spectral Dancer.
+(Quest for characters whose level is 76 or higher.)
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00096_SagaOfTheSpectralDancer/aiken02a.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00096_SagaOfTheSpectralDancer/aiken02a.htm
new file mode 100644
index 0000000000..5aa452605f
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00096_SagaOfTheSpectralDancer/aiken02a.htm
@@ -0,0 +1,7 @@
+
+Mordred:
+
+Have not you already won the title Spectral Dancer?
+Â My brother, you do not have to go through the test of the squire again.
+Â Your duty is to fight for your faith and the glory of the lord.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00096_SagaOfTheSpectralDancer/aiken03.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00096_SagaOfTheSpectralDancer/aiken03.htm
new file mode 100644
index 0000000000..206a6b8ca0
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00096_SagaOfTheSpectralDancer/aiken03.htm
@@ -0,0 +1,6 @@
+
+Mordred:
+
+Apparently, you have already chosen your path.
+You do not need to perform the task of the Spectral Dancer.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00096_SagaOfTheSpectralDancer/aiken5.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00096_SagaOfTheSpectralDancer/aiken5.htm
new file mode 100644
index 0000000000..6e671cfad2
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00096_SagaOfTheSpectralDancer/aiken5.htm
@@ -0,0 +1,9 @@
+
+Mordred:
+
+Do you want to become a Spectral Dancer?
+Â Well, then you must pass Saga of Spectral Dancer,
+To prove that you are not just a reckless, quick-tempered warrior, but
+Â A warrior with the soul of a true virtuoso. This is a form of ritual and the process of training,
+Â They must be performed by all who wish to become the Spectral Dancer.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00096_SagaOfTheSpectralDancer/aiken6.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00096_SagaOfTheSpectralDancer/aiken6.htm
new file mode 100644
index 0000000000..ff04000bf6
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00096_SagaOfTheSpectralDancer/aiken6.htm
@@ -0,0 +1,6 @@
+
+Mordred:
+
+Congratulations! You have passed all the tests and are ready to receive the profession of Spectral Dancer !!!
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00096_SagaOfTheSpectralDancer/aiken7.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00096_SagaOfTheSpectralDancer/aiken7.htm
new file mode 100644
index 0000000000..b16a7a67a8
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00096_SagaOfTheSpectralDancer/aiken7.htm
@@ -0,0 +1,5 @@
+
+Mordred:
+
+Congratulations! You got the profession of Spectral Dancer !!!
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00096_SagaOfTheSpectralDancer/erikrams1.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00096_SagaOfTheSpectralDancer/erikrams1.htm
new file mode 100644
index 0000000000..875575694c
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00096_SagaOfTheSpectralDancer/erikrams1.htm
@@ -0,0 +1,7 @@
+
+Skride Hartsiker:
+
+Thank you! You helped avenge me, I will give you the fourth amulet
+
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00096_SagaOfTheSpectralDancer/erikrams2.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00096_SagaOfTheSpectralDancer/erikrams2.htm
new file mode 100644
index 0000000000..5db2902414
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00096_SagaOfTheSpectralDancer/erikrams2.htm
@@ -0,0 +1,5 @@
+
+Skride Hartsiker:
+
+Now activate the last stone
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00096_SagaOfTheSpectralDancer/jer1.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00096_SagaOfTheSpectralDancer/jer1.htm
new file mode 100644
index 0000000000..be0014cd56
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00096_SagaOfTheSpectralDancer/jer1.htm
@@ -0,0 +1,6 @@
+
+Lorenzo:
+
+The Merchant of the Magical Books of Lorenzo asks you to go to the Merchant with Roo-Roo Information and pick up the Ancient Dictionary.
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00096_SagaOfTheSpectralDancer/jer2.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00096_SagaOfTheSpectralDancer/jer2.htm
new file mode 100644
index 0000000000..5fa7bc2b5f
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00096_SagaOfTheSpectralDancer/jer2.htm
@@ -0,0 +1,5 @@
+
+Lorenzo:
+
+The Merchant of the Magical Books of Lorenzo asks you to go to the Merchant with Roo-Roo Information and pick up the Ancient Dictionary.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00096_SagaOfTheSpectralDancer/jer3.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00096_SagaOfTheSpectralDancer/jer3.htm
new file mode 100644
index 0000000000..ede43c8a71
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00096_SagaOfTheSpectralDancer/jer3.htm
@@ -0,0 +1,6 @@
+
+Lorenzo:
+
+Did you bring the Ancient Dictionary?
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00096_SagaOfTheSpectralDancer/jer4.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00096_SagaOfTheSpectralDancer/jer4.htm
new file mode 100644
index 0000000000..e8a8a3dfdf
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00096_SagaOfTheSpectralDancer/jer4.htm
@@ -0,0 +1,5 @@
+
+Lorenzo:
+
+You have received the Resonance Amulet. Activate the Stone of Knowledge to the south of the Tower of Insolence.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00096_SagaOfTheSpectralDancer/jer5.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00096_SagaOfTheSpectralDancer/jer5.htm
new file mode 100644
index 0000000000..7b5a3902e5
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00096_SagaOfTheSpectralDancer/jer5.htm
@@ -0,0 +1,6 @@
+
+Lorenzo:
+
+Have you come for the third Amulet of Resonance?
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00096_SagaOfTheSpectralDancer/jer6.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00096_SagaOfTheSpectralDancer/jer6.htm
new file mode 100644
index 0000000000..d35e300ab1
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00096_SagaOfTheSpectralDancer/jer6.htm
@@ -0,0 +1,5 @@
+
+Lorenzo:
+
+Lorenzo says that the third Amulet of Resonance is in Archon Halisha. To summon him, you need to destroy his minions in the Molten Tops and collect the Halisha Signs. Destroy these monsters and call Archon Halisha. The aim of the hunt is the Ranger of the Swamp, Burning Drake, Flame Iphreet, Ikedith
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00096_SagaOfTheSpectralDancer/rifken1.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00096_SagaOfTheSpectralDancer/rifken1.htm
new file mode 100644
index 0000000000..3a0919e7f1
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00096_SagaOfTheSpectralDancer/rifken1.htm
@@ -0,0 +1,6 @@
+
+Ru-ru:
+
+Information Merchant Ru-ru needs Crystal Shards of Cold. They can be obtained by destroying monsters to the southeast of Aden
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00096_SagaOfTheSpectralDancer/rifken2.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00096_SagaOfTheSpectralDancer/rifken2.htm
new file mode 100644
index 0000000000..a54af6e5be
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00096_SagaOfTheSpectralDancer/rifken2.htm
@@ -0,0 +1,5 @@
+
+Ru-ru:
+
+Obtain Fragments of the Crystal of Cold. These pieces can be obtained by destroying monsters to the southeast of Aden.The aim of the hunt is the Ice Monster, the Spirit of the Drowned One, the Soul of Cold, the Ghost of Solitude, the Cold Beast, the Spirit of Coldness.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00096_SagaOfTheSpectralDancer/rifken3.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00096_SagaOfTheSpectralDancer/rifken3.htm
new file mode 100644
index 0000000000..820c91917f
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00096_SagaOfTheSpectralDancer/rifken3.htm
@@ -0,0 +1,6 @@
+
+Ru-ru:
+
+Did you get all the ingredients?
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00096_SagaOfTheSpectralDancer/rifken4.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00096_SagaOfTheSpectralDancer/rifken4.htm
new file mode 100644
index 0000000000..ee6f58ee8f
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00096_SagaOfTheSpectralDancer/rifken4.htm
@@ -0,0 +1,5 @@
+
+Ru-ru:
+
+You have received the Ancient Dictionary. Return to the Merchant with the Magical Books of Lorenzo.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00096_SagaOfTheSpectralDancer/stone11.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00096_SagaOfTheSpectralDancer/stone11.htm
new file mode 100644
index 0000000000..3df67dab33
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00096_SagaOfTheSpectralDancer/stone11.htm
@@ -0,0 +1,5 @@
+
+Stone of knowledge:
+You slash like a stone starts to vibrate
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00096_SagaOfTheSpectralDancer/stone12.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00096_SagaOfTheSpectralDancer/stone12.htm
new file mode 100644
index 0000000000..b4e8797f2a
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00096_SagaOfTheSpectralDancer/stone12.htm
@@ -0,0 +1,4 @@
+
+Stone of knowledge:
+You brought the amulet and the inscription appeared on the stone - The second Amulet of Resonance is located near the St Lawyer next to the second Stone of Knowledge.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00096_SagaOfTheSpectralDancer/stone21.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00096_SagaOfTheSpectralDancer/stone21.htm
new file mode 100644
index 0000000000..98d6fbd1c0
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00096_SagaOfTheSpectralDancer/stone21.htm
@@ -0,0 +1,5 @@
+
+Stone of knowledge:
+You slash like a stone starts to vibrate
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00096_SagaOfTheSpectralDancer/stone22.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00096_SagaOfTheSpectralDancer/stone22.htm
new file mode 100644
index 0000000000..d810ccaf02
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00096_SagaOfTheSpectralDancer/stone22.htm
@@ -0,0 +1,4 @@
+
+Stone of knowledge:
+As soon as you approached the stone, the Dancer Halleta Lillian appeared. Obviously, she is trying to prevent you. Destroy it.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00096_SagaOfTheSpectralDancer/stone23.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00096_SagaOfTheSpectralDancer/stone23.htm
new file mode 100644
index 0000000000..d323517e9b
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00096_SagaOfTheSpectralDancer/stone23.htm
@@ -0,0 +1,4 @@
+
+Stone of knowledge:
+Now you can go in search of the third stone
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00096_SagaOfTheSpectralDancer/stone24.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00096_SagaOfTheSpectralDancer/stone24.htm
new file mode 100644
index 0000000000..5bc3a275f2
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00096_SagaOfTheSpectralDancer/stone24.htm
@@ -0,0 +1,5 @@
+
+Stone of knowledge:
+You slash like a stone starts to vibrate
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00096_SagaOfTheSpectralDancer/stone25.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00096_SagaOfTheSpectralDancer/stone25.htm
new file mode 100644
index 0000000000..bc01a05d70
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00096_SagaOfTheSpectralDancer/stone25.htm
@@ -0,0 +1,4 @@
+
+Stone of knowledge:
+After activating the stone, you learned that the third Amulet of Resonance is at the Merchant with the Magical Books of Lorenzo. Get him the Resonance Amulet.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00096_SagaOfTheSpectralDancer/stone31.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00096_SagaOfTheSpectralDancer/stone31.htm
new file mode 100644
index 0000000000..b73baac9f8
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00096_SagaOfTheSpectralDancer/stone31.htm
@@ -0,0 +1,5 @@
+
+Stone of knowledge:
+You slash like a stone starts to vibrate
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00096_SagaOfTheSpectralDancer/stone32.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00096_SagaOfTheSpectralDancer/stone32.htm
new file mode 100644
index 0000000000..55b4dac06c
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00096_SagaOfTheSpectralDancer/stone32.htm
@@ -0,0 +1,4 @@
+
+Stone of knowledge:
+When the activation of the third Stone of Knowledge ended, he showed the location of the next stone. The fourth Stone of Knowledge is in the area of the Village of Dark Elves, and the last Amulet of Resonance is near the stone. Go there.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00096_SagaOfTheSpectralDancer/stone40.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00096_SagaOfTheSpectralDancer/stone40.htm
new file mode 100644
index 0000000000..a29bdf2904
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00096_SagaOfTheSpectralDancer/stone40.htm
@@ -0,0 +1,7 @@
+
+You came to the stone and he began to vibrate
+
+The last amulet is at Lord of Death of the Hallet
+Are you ready to fight him?
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00096_SagaOfTheSpectralDancer/stone41.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00096_SagaOfTheSpectralDancer/stone41.htm
new file mode 100644
index 0000000000..e4d486ca32
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00096_SagaOfTheSpectralDancer/stone41.htm
@@ -0,0 +1,3 @@
+
+Nearby there appeared Lord of Death Hallet
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00096_SagaOfTheSpectralDancer/stone42.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00096_SagaOfTheSpectralDancer/stone42.htm
new file mode 100644
index 0000000000..646a0128bb
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00096_SagaOfTheSpectralDancer/stone42.htm
@@ -0,0 +1,5 @@
+
+Stone of knowledge:
+You slash like a stone starts to vibrate
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00096_SagaOfTheSpectralDancer/stone43.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00096_SagaOfTheSpectralDancer/stone43.htm
new file mode 100644
index 0000000000..ff109ff4ca
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00096_SagaOfTheSpectralDancer/stone43.htm
@@ -0,0 +1,5 @@
+
+Stone of knowledge:
+You successfully activated the last stone
+Return to Mordred and tell him about your journey.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00097_SagaOfTheShillienTemplar/Q00097_SagaOfTheShillienTemplar.java b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00097_SagaOfTheShillienTemplar/Q00097_SagaOfTheShillienTemplar.java
new file mode 100644
index 0000000000..e9c4d3eeed
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00097_SagaOfTheShillienTemplar/Q00097_SagaOfTheShillienTemplar.java
@@ -0,0 +1,450 @@
+package quests.Q00097_SagaOfTheShillienTemplar;
+
+import java.util.HashSet;
+import java.util.Set;
+
+import com.l2jmobius.gameserver.model.actor.L2Npc;
+import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
+import com.l2jmobius.gameserver.model.base.ClassId;
+import com.l2jmobius.gameserver.model.holders.NpcLogListHolder;
+import com.l2jmobius.gameserver.model.quest.Quest;
+import com.l2jmobius.gameserver.model.quest.QuestState;
+import com.l2jmobius.gameserver.model.quest.State;
+import com.l2jmobius.gameserver.network.serverpackets.MagicSkillUse;
+import com.l2jmobius.gameserver.util.Util;
+
+//QuangNguyen
+
+public class Q00097_SagaOfTheShillienTemplar extends Quest
+{
+ public final int GALADRID = 31580;
+ public final int OLTRAN = 30862;
+ public final int ROO_ROO = 34271;
+ public final int TABLET_OF_VISION_1 = 31646;
+ public final int TABLET_OF_VISION_2 = 31648;
+ public final int TABLET_OF_VISION_3 = 31651;
+ public final int TABLET_OF_VISION_4 = 31656;
+ public final int SHIKEN_GLOOMDRAKE = 31610;
+ // mobs
+ public final int ICE_MONSTER = 27316;
+ public final int SPIRIT_OF_A_DROWNED = 27317;
+ public final int SOUL_OF_COLD = 27318;
+ public final int GHOST_OF_SOLITUDE = 27319;
+ public final int FIEND_OF_COLD = 27320;
+ public final int SPIRIT_OF_COLD = 27321;
+ public final int SPAMPLAND_WATCHMAN = 21650;
+ public final int FLAME_DRAKE = 21651;
+ public final int FIERY_IFRIT = 21652;
+ public final int IKEDIT = 21653;
+ public final int KEEPER_OF_THE_HOLY_EDICT = 27215;
+ public final int CHIMERA_GOLEM = 27271;
+ public final int HALISHA_ARCHON = 27219;
+ public final int ASSASSIN_PEZEL = 27273;
+ // items
+ public final int ICE_CRYSTAL_FRAGMENT = 49831;
+ public final int HALISHA_BADGE = 7512;
+ public final int AMULET_REZONANSA_PERVIY = 7295;
+ public final int AMULET_REZONANSA_VTOROI = 7326;
+ public final int AMULET_REZONANSA_TRETIY = 7357;
+ public final int AMULET_REZONANSA_CHETVERTIY = 7388;
+ public final int ANCIENT_LANGUAGE_DICTIONARY = 7526;
+ // reward
+ public final int BOOKSABERTOOTH = 90040;
+ private static final String KILL_COUNT_VAR = "KillCount";
+
+ public Q00097_SagaOfTheShillienTemplar()
+ {
+ super(97);
+ addStartNpc(GALADRID);
+ addTalkId(GALADRID, OLTRAN, ROO_ROO, SHIKEN_GLOOMDRAKE, TABLET_OF_VISION_1, TABLET_OF_VISION_2, TABLET_OF_VISION_3, TABLET_OF_VISION_4);
+ addKillId(ICE_MONSTER, SPIRIT_OF_A_DROWNED, SOUL_OF_COLD, GHOST_OF_SOLITUDE, FIEND_OF_COLD);
+ addKillId(SPIRIT_OF_COLD, SPAMPLAND_WATCHMAN, FLAME_DRAKE, FIERY_IFRIT, IKEDIT);
+ addKillId(KEEPER_OF_THE_HOLY_EDICT, CHIMERA_GOLEM, HALISHA_ARCHON, ASSASSIN_PEZEL);
+ registerQuestItems(ANCIENT_LANGUAGE_DICTIONARY, ICE_CRYSTAL_FRAGMENT, HALISHA_BADGE);
+ addCondMinLevel(76, "aiken02.htm");
+ addCondClassId(ClassId.SHILLIEN_KNIGHT, "aiken03.htm");
+ }
+
+ @Override
+ public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
+ {
+ final QuestState st = getQuestState(player, false);
+ if (st == null)
+ {
+ return null;
+ }
+ String htmltext = event;
+ switch (event)
+ {
+ case "aiken02a.htm":
+ htmltext = "aiken5.htm";
+ break;
+ case "aiken01s.htm":
+ if (st.getCond() == 0)
+ {
+ st.startQuest();
+ st.setCond(1);
+ }
+ break;
+ case "jer2.htm":
+ if (st.getCond() == 1)
+ {
+ st.setCond(2);
+ }
+ break;
+ case "rifken2.htm":
+ if (st.getCond() == 2)
+ {
+ st.setCond(3);
+ }
+ break;
+ case "rifken4.htm":
+ if (st.getCond() == 4)
+ {
+ st.setCond(5);
+ }
+ takeItems(player, ICE_CRYSTAL_FRAGMENT, -1);
+ giveItems(player, ANCIENT_LANGUAGE_DICTIONARY, 1);
+ break;
+ case "jer4.htm":
+ if (st.getCond() == 5)
+ {
+ st.setCond(6);
+ }
+ giveItems(player, AMULET_REZONANSA_PERVIY, 1);
+ takeItems(player, ANCIENT_LANGUAGE_DICTIONARY, -1);
+ break;
+ case "stone12.htm":
+ if (st.getCond() == 6)
+ {
+ st.setCond(7);
+ }
+ break;
+ case "stone22.htm":
+ if (st.getCond() == 8)
+ {
+ addSpawn(CHIMERA_GOLEM, npc, true, 0, true);
+ st.setCond(9);
+ }
+ break;
+ case "stone25.htm":
+ if (st.getCond() == 10)
+ {
+ st.setCond(11);
+ }
+ break;
+ case "jer6.htm":
+ if (st.getCond() == 11)
+ {
+ st.setCond(12);
+ }
+ break;
+ case "stone32.htm":
+ if (st.getCond() == 14)
+ {
+ st.setCond(15);
+ }
+ break;
+ case "stone41.htm":
+ if (st.getCond() == 15)
+ {
+ st.setCond(16);
+ }
+ addSpawn(ASSASSIN_PEZEL, npc, true, 0, true);
+ break;
+ case "erikrams2.htm":
+ if (st.getCond() == 16)
+ {
+ st.setCond(17);
+ }
+ giveItems(player, AMULET_REZONANSA_CHETVERTIY, 1);
+ break;
+ case "stone43.htm":
+ if (st.getCond() == 17)
+ {
+ st.setCond(18);
+ }
+ break;
+ case "aiken7.htm":
+ if (st.getCond() == 18)
+ {
+ if ((player.getLevel() < 76) && (player.getBaseClass() != 33))
+ {
+ htmltext = "30849-nolvl.htm";
+ }
+ addExpAndSp(player, 3100000, 103000);
+ rewardItems(player, BOOKSABERTOOTH, 1);
+ takeItems(player, AMULET_REZONANSA_PERVIY, -1);
+ takeItems(player, AMULET_REZONANSA_VTOROI, -1);
+ takeItems(player, AMULET_REZONANSA_TRETIY, -1);
+ takeItems(player, AMULET_REZONANSA_CHETVERTIY, -1);
+ takeItems(player, HALISHA_BADGE, -1);
+ st.exitQuest(false, true);
+ player.setClassId(106);
+ player.setBaseClass(106);
+ player.broadcastUserInfo();
+ npc.broadcastPacket(new MagicSkillUse(npc, player, 5103, 1, 1000, 0));
+ }
+ break;
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onTalk(L2Npc npc, L2PcInstance talker)
+ {
+ final QuestState qs = getQuestState(talker, true);
+ String htmltext = getNoQuestMsg(talker);
+
+ switch (qs.getState())
+ {
+ case State.CREATED:
+ {
+ if (npc.getId() == GALADRID)
+ {
+ htmltext = "aiken01.htm";
+ }
+ break;
+ }
+ case State.STARTED:
+ {
+ if (npc.getId() == GALADRID)
+ {
+ if (qs.getCond() == 1)
+ {
+ htmltext = "aiken01s.htm";
+ }
+ if (qs.getCond() == 18)
+ {
+ htmltext = "aiken6.htm";
+ }
+
+ }
+ if (npc.getId() == OLTRAN)
+ {
+ if (qs.getCond() == 1)
+ {
+ htmltext = "jer1.htm";
+ }
+ if (qs.getCond() == 2)
+ {
+ htmltext = "jer2.htm";
+ }
+ if (qs.getCond() == 5)
+ {
+ htmltext = "jer3.htm";
+ }
+ if (qs.getCond() == 6)
+ {
+ htmltext = "jer4.htm";
+ }
+ if (qs.getCond() == 11)
+ {
+ htmltext = "jer5.htm";
+ }
+ if (qs.getCond() == 12)
+ {
+ htmltext = "jer6.htm";
+ }
+ }
+ if (npc.getId() == ROO_ROO)
+ {
+ if (qs.getCond() == 2)
+ {
+ htmltext = "rifken1.htm";
+ }
+ if (qs.getCond() == 3)
+ {
+ htmltext = "rifken2.htm";
+ }
+ if (qs.getCond() == 4)
+ {
+ htmltext = "rifken3.htm";
+ }
+ }
+ if (npc.getId() == TABLET_OF_VISION_1)
+ {
+ if (qs.getCond() == 6)
+ {
+ htmltext = "stone11.htm";
+ }
+ if (qs.getCond() == 7)
+ {
+ htmltext = "stone12.htm";
+ }
+ }
+ if (npc.getId() == TABLET_OF_VISION_2)
+ {
+ if (qs.getCond() == 8)
+ {
+ htmltext = "stone21.htm";
+ }
+ if (qs.getCond() == 9)
+ {
+ htmltext = "stone23.htm";
+ }
+ if (qs.getCond() == 10)
+ {
+ htmltext = "stone24.htm";
+ }
+ if (qs.getCond() == 11)
+ {
+ htmltext = "stone25.htm";
+ }
+ }
+ if (npc.getId() == TABLET_OF_VISION_3)
+ {
+ if (qs.getCond() == 14)
+ {
+ htmltext = "stone31.htm";
+ }
+ if (qs.getCond() == 15)
+ {
+ htmltext = "stone32.htm";
+ }
+ }
+ if (npc.getId() == TABLET_OF_VISION_4)
+ {
+ if (qs.getCond() == 15)
+ {
+ htmltext = "stone40.htm";
+ }
+ if (qs.getCond() == 17)
+ {
+ htmltext = "stone42.htm";
+ }
+ if (qs.getCond() == 18)
+ {
+ htmltext = "stone43.htm";
+ }
+
+ }
+ if (npc.getId() == SHIKEN_GLOOMDRAKE)
+ {
+ if (qs.getCond() == 16)
+ {
+ htmltext = "erikrams1.htm";
+ }
+ if (qs.getCond() == 17)
+ {
+ htmltext = "erikrams2.htm";
+ }
+ }
+ break;
+ }
+ case State.COMPLETED:
+ {
+ htmltext = getAlreadyCompletedMsg(talker);
+ break;
+ }
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
+ {
+ final QuestState qs = getQuestState(killer, false);
+ if ((qs != null) && qs.isStarted() && Util.checkIfInRange(1500, npc, killer, true))
+ {
+ switch (npc.getId())
+ {
+ case ICE_MONSTER:
+ case SPIRIT_OF_A_DROWNED:
+ case SOUL_OF_COLD:
+ case FIEND_OF_COLD:
+ case GHOST_OF_SOLITUDE:
+ case SPIRIT_OF_COLD:
+ if (qs.getCond() == 3)
+ {
+ if (getQuestItemsCount(killer, ICE_CRYSTAL_FRAGMENT) < 50)
+ {
+ giveItemRandomly(killer, npc, ICE_CRYSTAL_FRAGMENT, 1, 50, 50, true);
+ }
+ if (getQuestItemsCount(killer, ICE_CRYSTAL_FRAGMENT) >= 50)
+ {
+ qs.setCond(4);
+ }
+ }
+ break;
+ case CHIMERA_GOLEM:
+ if (qs.getCond() == 9)
+ {
+ qs.setCond(10);
+ }
+ break;
+ case SPAMPLAND_WATCHMAN:
+ case FLAME_DRAKE:
+ case FIERY_IFRIT:
+ case IKEDIT:
+ if (qs.getCond() == 12)
+ {
+ if (getQuestItemsCount(killer, HALISHA_BADGE) < 701)
+ {
+ giveItemRandomly(killer, npc, HALISHA_BADGE, 1, 701, 50, true);
+ if (getQuestItemsCount(killer, HALISHA_BADGE) >= 701)
+ {
+ addSpawn(HALISHA_ARCHON, npc, true, 0, true);
+ qs.setCond(13);
+ }
+ }
+ }
+ break;
+ case HALISHA_ARCHON:
+ if (qs.getCond() == 13)
+ {
+ if (!hasQuestItems(killer, AMULET_REZONANSA_TRETIY))
+ {
+ giveItemRandomly(killer, npc, AMULET_REZONANSA_TRETIY, 1, 1, 50, true);
+ }
+ qs.setCond(14);
+ }
+ break;
+ case ASSASSIN_PEZEL:
+ if (qs.getCond() == 16)
+ {
+ addSpawn(SHIKEN_GLOOMDRAKE, npc, true, 20000, true);
+ }
+ break;
+ }
+
+ if (qs.isCond(7))
+ {
+ int count = qs.getInt(KILL_COUNT_VAR);
+ if (npc.getId() == KEEPER_OF_THE_HOLY_EDICT)
+ {
+ if (count < 20)
+ {
+ qs.set(KILL_COUNT_VAR, ++count);
+ sendNpcLogList(killer);
+ }
+ }
+ if (count >= 20)
+ {
+ qs.setCond(8, true);
+ giveItems(killer, AMULET_REZONANSA_VTOROI, 1);
+ }
+ }
+ }
+ return super.onKill(npc, killer, isSummon);
+ }
+
+ @Override
+ public Set getNpcLogList(L2PcInstance player)
+ {
+ final QuestState qs = getQuestState(player, false);
+ if ((qs != null) && qs.isCond(7))
+ {
+ final Set holder = new HashSet<>(1);
+
+ // guardian of forbidden knowledge
+ final int guardiancount = qs.getInt(KILL_COUNT_VAR);
+ if (guardiancount > 0)
+ {
+ holder.add(new NpcLogListHolder(KEEPER_OF_THE_HOLY_EDICT, false, guardiancount));
+ }
+ return holder;
+ }
+ return super.getNpcLogList(player);
+ }
+}
\ No newline at end of file
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00097_SagaOfTheShillienTemplar/aiken01.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00097_SagaOfTheShillienTemplar/aiken01.htm
new file mode 100644
index 0000000000..cb685c61fa
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00097_SagaOfTheShillienTemplar/aiken01.htm
@@ -0,0 +1,6 @@
+
+Galadrid:
+
+Do you want to become a Shillen Templar ?.
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00097_SagaOfTheShillienTemplar/aiken01s.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00097_SagaOfTheShillienTemplar/aiken01s.htm
new file mode 100644
index 0000000000..580dfe0c99
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00097_SagaOfTheShillienTemplar/aiken01s.htm
@@ -0,0 +1,5 @@
+
+Galadrid:
+
+Master Galadrid sends you to Grand Master Oltlin in Aden.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00097_SagaOfTheShillienTemplar/aiken02.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00097_SagaOfTheShillienTemplar/aiken02.htm
new file mode 100644
index 0000000000..f19d78c5b1
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00097_SagaOfTheShillienTemplar/aiken02.htm
@@ -0,0 +1,7 @@
+
+Galadrid:
+
+My young friend, you do not have enough experience to become Shillen Templar. I see your passion and I hope that you will keep it in your heart, but it is not enough - only through the experience of battle you can acquire the power that will allow you not to deviate from your faith in the era of untruth.
+Come back when you are a little older and wiser. When you are ready, I will give you an assignment to check if you are ready to become Shillen's Templar.
+(Quest for characters whose level is 76 or higher.)
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00097_SagaOfTheShillienTemplar/aiken02a.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00097_SagaOfTheShillienTemplar/aiken02a.htm
new file mode 100644
index 0000000000..109e0b42bd
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00097_SagaOfTheShillienTemplar/aiken02a.htm
@@ -0,0 +1,7 @@
+
+Galadrid:
+
+Have not you already won the title of Shillen Templar?
+Â My brother, you do not have to go through the test of squire again.
+Â Your duty is to fight for your faith and the glory of the lord.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00097_SagaOfTheShillienTemplar/aiken03.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00097_SagaOfTheShillienTemplar/aiken03.htm
new file mode 100644
index 0000000000..109e0b42bd
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00097_SagaOfTheShillienTemplar/aiken03.htm
@@ -0,0 +1,7 @@
+
+Galadrid:
+
+Have not you already won the title of Shillen Templar?
+Â My brother, you do not have to go through the test of squire again.
+Â Your duty is to fight for your faith and the glory of the lord.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00097_SagaOfTheShillienTemplar/aiken5.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00097_SagaOfTheShillienTemplar/aiken5.htm
new file mode 100644
index 0000000000..e4e5f0937d
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00097_SagaOfTheShillienTemplar/aiken5.htm
@@ -0,0 +1,9 @@
+
+Galadrid:
+
+Do you want to become Shillen Templar?
+Â Well, then you must pass Saga of Shillen Templar,
+ To prove that you are not just a reckless, quick-tempered warrior, but
+Â A warrior with the soul of a true virtuoso. This is a form of ritual and the process of training,
+Â They must be performed by all who wish to become the Shillen Templar.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00097_SagaOfTheShillienTemplar/aiken6.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00097_SagaOfTheShillienTemplar/aiken6.htm
new file mode 100644
index 0000000000..39d993f742
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00097_SagaOfTheShillienTemplar/aiken6.htm
@@ -0,0 +1,6 @@
+
+Galadrid:
+
+Congratulations! You have passed all the tests and are ready to receive the profession of Shillen Templar !!!
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00097_SagaOfTheShillienTemplar/aiken7.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00097_SagaOfTheShillienTemplar/aiken7.htm
new file mode 100644
index 0000000000..aec4cdbc99
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00097_SagaOfTheShillienTemplar/aiken7.htm
@@ -0,0 +1,5 @@
+
+Galadrid:
+
+Congratulations! You have received the profession of Shillen Templar !!!
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00097_SagaOfTheShillienTemplar/erikrams1.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00097_SagaOfTheShillienTemplar/erikrams1.htm
new file mode 100644
index 0000000000..7e0959ea2b
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00097_SagaOfTheShillienTemplar/erikrams1.htm
@@ -0,0 +1,7 @@
+
+Shiken Gloomdrake:
+
+Thank you! You helped avenge me, I will give you the fourth amulet
+
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00097_SagaOfTheShillienTemplar/erikrams2.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00097_SagaOfTheShillienTemplar/erikrams2.htm
new file mode 100644
index 0000000000..8d6bd34c27
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00097_SagaOfTheShillienTemplar/erikrams2.htm
@@ -0,0 +1,5 @@
+
+Shiken Gloomdrake:
+
+Now activate the last stone
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00097_SagaOfTheShillienTemplar/jer1.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00097_SagaOfTheShillienTemplar/jer1.htm
new file mode 100644
index 0000000000..3a95bb790e
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00097_SagaOfTheShillienTemplar/jer1.htm
@@ -0,0 +1,6 @@
+
+Oltlin:
+
+Great Master Oltlin asked you to get the Ancient Dictionary from the Merchant by the Information of Ru-ru.
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00097_SagaOfTheShillienTemplar/jer2.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00097_SagaOfTheShillienTemplar/jer2.htm
new file mode 100644
index 0000000000..0c3c4bd39f
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00097_SagaOfTheShillienTemplar/jer2.htm
@@ -0,0 +1,5 @@
+
+Oltlin:
+
+Great Master Oltlin asked you to get the Ancient Dictionary from the Merchant by the Information of Ru-ru.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00097_SagaOfTheShillienTemplar/jer3.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00097_SagaOfTheShillienTemplar/jer3.htm
new file mode 100644
index 0000000000..6eeb0fe942
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00097_SagaOfTheShillienTemplar/jer3.htm
@@ -0,0 +1,6 @@
+
+Oltlin:
+
+Did you bring the Ancient Dictionary?
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00097_SagaOfTheShillienTemplar/jer4.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00097_SagaOfTheShillienTemplar/jer4.htm
new file mode 100644
index 0000000000..39e7de765d
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00097_SagaOfTheShillienTemplar/jer4.htm
@@ -0,0 +1,5 @@
+
+Oltlin:
+
+You have received the Resonance Amulet. Activate the Stone of Knowledge to the south of the Tower of Insolence.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00097_SagaOfTheShillienTemplar/jer5.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00097_SagaOfTheShillienTemplar/jer5.htm
new file mode 100644
index 0000000000..d6f87e4217
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00097_SagaOfTheShillienTemplar/jer5.htm
@@ -0,0 +1,6 @@
+
+Oltlin:
+
+Have you come for the third Amulet of Resonance?
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00097_SagaOfTheShillienTemplar/jer6.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00097_SagaOfTheShillienTemplar/jer6.htm
new file mode 100644
index 0000000000..518d2875d3
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00097_SagaOfTheShillienTemplar/jer6.htm
@@ -0,0 +1,5 @@
+
+Oltlin:
+
+Oltlin says that the third Amulet of Resonance is in Archon Halisha. To summon him, you must destroy his minions in the Molten Tops and collect the Halisha Signs. Destroy these monsters and call Archon Halisha. The aim of the hunt is the Ranger of the Swamp, Burning Drake, Flame Iphreet, Ikedith
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00097_SagaOfTheShillienTemplar/rifken1.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00097_SagaOfTheShillienTemplar/rifken1.htm
new file mode 100644
index 0000000000..519f2d1446
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00097_SagaOfTheShillienTemplar/rifken1.htm
@@ -0,0 +1,6 @@
+
+Ru-Ru:
+
+Information Merchant Ru-ru needs Crystal Fragments of Cold. They can be obtained by destroying monsters to the southeast of Aden
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00097_SagaOfTheShillienTemplar/rifken2.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00097_SagaOfTheShillienTemplar/rifken2.htm
new file mode 100644
index 0000000000..51927872f8
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00097_SagaOfTheShillienTemplar/rifken2.htm
@@ -0,0 +1,5 @@
+
+Ru-Ru:
+
+Obtain Fragments of the Crystal of Cold.These pieces can be obtained by destroying monsters to the southeast of Aden.The aim of the hunt is the Ice Monster, the Spirit of the Drowned One, the Soul of Cold, the Ghost of Solitude, the Cold Beast, the Spirit of Coldness.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00097_SagaOfTheShillienTemplar/rifken3.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00097_SagaOfTheShillienTemplar/rifken3.htm
new file mode 100644
index 0000000000..40cf53eb1c
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00097_SagaOfTheShillienTemplar/rifken3.htm
@@ -0,0 +1,6 @@
+
+Ru-Ru:
+
+Did you get all the ingredients?
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00097_SagaOfTheShillienTemplar/rifken4.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00097_SagaOfTheShillienTemplar/rifken4.htm
new file mode 100644
index 0000000000..d2830d0518
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00097_SagaOfTheShillienTemplar/rifken4.htm
@@ -0,0 +1,5 @@
+
+Ru-Ru:
+
+Now you have the Ancient Dictionary. Return to Aden to Grand Master Oltlin.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00097_SagaOfTheShillienTemplar/stone11.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00097_SagaOfTheShillienTemplar/stone11.htm
new file mode 100644
index 0000000000..a9c887e49f
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00097_SagaOfTheShillienTemplar/stone11.htm
@@ -0,0 +1,5 @@
+
+Stone of knowledge:
+You slash like a stone starts to vibrate
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00097_SagaOfTheShillienTemplar/stone12.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00097_SagaOfTheShillienTemplar/stone12.htm
new file mode 100644
index 0000000000..b4e8797f2a
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00097_SagaOfTheShillienTemplar/stone12.htm
@@ -0,0 +1,4 @@
+
+Stone of knowledge:
+You brought the amulet and the inscription appeared on the stone - The second Amulet of Resonance is located near the St Lawyer next to the second Stone of Knowledge.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00097_SagaOfTheShillienTemplar/stone21.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00097_SagaOfTheShillienTemplar/stone21.htm
new file mode 100644
index 0000000000..390c6b17a3
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00097_SagaOfTheShillienTemplar/stone21.htm
@@ -0,0 +1,5 @@
+
+Stone of knowledge:
+You slash like a stone starts to vibrate
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00097_SagaOfTheShillienTemplar/stone22.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00097_SagaOfTheShillienTemplar/stone22.htm
new file mode 100644
index 0000000000..176db5ee8f
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00097_SagaOfTheShillienTemplar/stone22.htm
@@ -0,0 +1,4 @@
+
+Stone of knowledge:
+As soon as you approached the stone, the Golem of the Chimera appeared. Obviously, he is trying to stop you. Destroy it.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00097_SagaOfTheShillienTemplar/stone23.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00097_SagaOfTheShillienTemplar/stone23.htm
new file mode 100644
index 0000000000..d323517e9b
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00097_SagaOfTheShillienTemplar/stone23.htm
@@ -0,0 +1,4 @@
+
+Stone of knowledge:
+Now you can go in search of the third stone
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00097_SagaOfTheShillienTemplar/stone24.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00097_SagaOfTheShillienTemplar/stone24.htm
new file mode 100644
index 0000000000..bc453f1e31
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00097_SagaOfTheShillienTemplar/stone24.htm
@@ -0,0 +1,5 @@
+
+Stone of knowledge:
+You slash like a stone starts to vibrate
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00097_SagaOfTheShillienTemplar/stone25.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00097_SagaOfTheShillienTemplar/stone25.htm
new file mode 100644
index 0000000000..2f46878933
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00097_SagaOfTheShillienTemplar/stone25.htm
@@ -0,0 +1,4 @@
+
+Stone of knowledge:
+After activating the stone, you learned that the third Amulet of Resonance is in the possession of Grand Master Oltlin from the Dark Elven Guild of Aden. Get him the Resonance Amulet.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00097_SagaOfTheShillienTemplar/stone31.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00097_SagaOfTheShillienTemplar/stone31.htm
new file mode 100644
index 0000000000..72fa69a03d
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00097_SagaOfTheShillienTemplar/stone31.htm
@@ -0,0 +1,5 @@
+
+Stone of knowledge:
+You slash like a stone starts to vibrate
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00097_SagaOfTheShillienTemplar/stone32.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00097_SagaOfTheShillienTemplar/stone32.htm
new file mode 100644
index 0000000000..55b4dac06c
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00097_SagaOfTheShillienTemplar/stone32.htm
@@ -0,0 +1,4 @@
+
+Stone of knowledge:
+When the activation of the third Stone of Knowledge ended, he showed the location of the next stone. The fourth Stone of Knowledge is in the area of the Village of Dark Elves, and the last Amulet of Resonance is near the stone. Go there.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00097_SagaOfTheShillienTemplar/stone40.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00097_SagaOfTheShillienTemplar/stone40.htm
new file mode 100644
index 0000000000..671bf9a290
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00097_SagaOfTheShillienTemplar/stone40.htm
@@ -0,0 +1,7 @@
+
+You came to the stone and he began to vibrate
+
+The last amulet is at Assassin Pezel
+Are you ready to fight him?
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00097_SagaOfTheShillienTemplar/stone41.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00097_SagaOfTheShillienTemplar/stone41.htm
new file mode 100644
index 0000000000..71cfda3bc9
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00097_SagaOfTheShillienTemplar/stone41.htm
@@ -0,0 +1,3 @@
+
+Nearby there was Assassin Pezel
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00097_SagaOfTheShillienTemplar/stone42.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00097_SagaOfTheShillienTemplar/stone42.htm
new file mode 100644
index 0000000000..4769130f83
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00097_SagaOfTheShillienTemplar/stone42.htm
@@ -0,0 +1,5 @@
+
+Stone of knowledge:
+You slash like a stone starts to vibrate
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00097_SagaOfTheShillienTemplar/stone43.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00097_SagaOfTheShillienTemplar/stone43.htm
new file mode 100644
index 0000000000..2d5364d700
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00097_SagaOfTheShillienTemplar/stone43.htm
@@ -0,0 +1,5 @@
+
+Stone of knowledge:
+You successfully activated the last stone
+You have found all the Stones of Knowledge. Return to Galadrid and tell him about your journey.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00098_SagaOfTheShillienSaint/Q00098_SagaOfTheShillienSaint.java b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00098_SagaOfTheShillienSaint/Q00098_SagaOfTheShillienSaint.java
new file mode 100644
index 0000000000..9a5103d407
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00098_SagaOfTheShillienSaint/Q00098_SagaOfTheShillienSaint.java
@@ -0,0 +1,454 @@
+package quests.Q00098_SagaOfTheShillienSaint;
+
+import java.util.HashSet;
+import java.util.Set;
+
+import com.l2jmobius.gameserver.model.actor.L2Npc;
+import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
+import com.l2jmobius.gameserver.model.base.ClassId;
+import com.l2jmobius.gameserver.model.holders.NpcLogListHolder;
+import com.l2jmobius.gameserver.model.quest.Quest;
+import com.l2jmobius.gameserver.model.quest.QuestState;
+import com.l2jmobius.gameserver.model.quest.State;
+import com.l2jmobius.gameserver.network.serverpackets.MagicSkillUse;
+import com.l2jmobius.gameserver.util.Util;
+
+//QuangNguyen
+
+public class Q00098_SagaOfTheShillienSaint extends Quest
+{
+ public final int ANASTIA = 31581;
+ public final int SERESIN = 30657;
+ public final int RIFKEN = 34268;
+ public final int REIKIN = 30476;
+ public final int TABLET_OF_VISION_1 = 31646;
+ public final int TABLET_OF_VISION_2 = 31648;
+ public final int TABLET_OF_VISION_3 = 31653;
+ public final int TABLET_OF_VISION_4 = 31656;
+ public final int ELCADIA = 31621;
+ // mobs
+ public final int ICE_MONSTER = 27316;
+ public final int SPIRIT_OF_A_DROWNED = 27317;
+ public final int SOUL_OF_COLD = 27318;
+ public final int GHOST_OF_SOLITUDE = 27319;
+ public final int FIEND_OF_COLD = 27320;
+ public final int SPIRIT_OF_COLD = 27321;
+ public final int SPAMPLAND_WATCHMAN = 21650;
+ public final int FLAME_DRAKE = 21651;
+ public final int FIERY_IFRIT = 21652;
+ public final int IKEDIT = 21653;
+ public final int GATEKEEPER_OF_THE_HOLY_EDICT = 27215;
+ public final int FALLEN_ANGEL_NAVERIUS = 27269;
+ public final int HALISHA_ARCHON = 27219;
+ public final int FALLEN_ANGEL_TANAKIA = 27274;
+ // items
+ public final int ICE_CRYSTAL_FRAGMENT = 49832;
+ public final int HALISHA_BADGE = 7513;
+ public final int AMULET_REZONANSA_PERVIY = 7296;
+ public final int AMULET_REZONANSA_VTOROI = 7327;
+ public final int AMULET_REZONANSA_TRETIY = 7358;
+ public final int AMULET_REZONANSA_CHETVERTIY = 7389;
+ public final int FOOD_SACK = 49838;
+ // reward
+ public final int BOOKSABERTOOTH = 90040;
+ private static final String KILL_COUNT_VAR = "KillCount";
+
+ public Q00098_SagaOfTheShillienSaint()
+ {
+ super(98);
+ addStartNpc(ANASTIA);
+ addTalkId(ANASTIA, SERESIN, RIFKEN, REIKIN, ELCADIA, TABLET_OF_VISION_1, TABLET_OF_VISION_2, TABLET_OF_VISION_3, TABLET_OF_VISION_4);
+ addKillId(ICE_MONSTER, SPIRIT_OF_A_DROWNED, SOUL_OF_COLD, GHOST_OF_SOLITUDE, FIEND_OF_COLD);
+ addKillId(SPIRIT_OF_COLD, SPAMPLAND_WATCHMAN, FLAME_DRAKE, FIERY_IFRIT, IKEDIT);
+ addKillId(GATEKEEPER_OF_THE_HOLY_EDICT, FALLEN_ANGEL_NAVERIUS, HALISHA_ARCHON, FALLEN_ANGEL_TANAKIA);
+ registerQuestItems(FOOD_SACK, ICE_CRYSTAL_FRAGMENT, HALISHA_BADGE);
+ addCondMinLevel(76, "aiken02.htm");
+ addCondClassId(ClassId.SHILLIEN_ELDER, "aiken03.htm");
+ }
+
+ @Override
+ public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
+ {
+ final QuestState st = getQuestState(player, false);
+ if (st == null)
+ {
+ return null;
+ }
+ String htmltext = event;
+ switch (event)
+ {
+ case "aiken02a.htm":
+ htmltext = "aiken5.htm";
+ break;
+ case "aiken01s.htm":
+ if (st.getCond() == 0)
+ {
+ st.startQuest();
+ st.setCond(1);
+ }
+ break;
+ case "jer2.htm":
+ if (st.getCond() == 1)
+ {
+ st.setCond(2);
+ }
+ break;
+ case "rifken2.htm":
+ if (st.getCond() == 2)
+ {
+ st.setCond(3);
+ }
+ break;
+ case "rifken4.htm":
+ if (st.getCond() == 4)
+ {
+ st.setCond(5);
+ }
+ takeItems(player, ICE_CRYSTAL_FRAGMENT, -1);
+ giveItems(player, FOOD_SACK, 1);
+ break;
+ case "jer4.htm":
+ if (st.getCond() == 5)
+ {
+ st.setCond(6);
+ }
+ giveItems(player, AMULET_REZONANSA_PERVIY, 1);
+ takeItems(player, FOOD_SACK, -1);
+ break;
+ case "stone12.htm":
+ if (st.getCond() == 6)
+ {
+ st.setCond(7);
+ }
+ break;
+ case "stone22.htm":
+ if (st.getCond() == 8)
+ {
+ addSpawn(FALLEN_ANGEL_NAVERIUS, npc, true, 0, true);
+ st.setCond(9);
+ }
+ break;
+ case "stone25.htm":
+ if (st.getCond() == 10)
+ {
+ st.setCond(11);
+ }
+ break;
+ case "jer6.htm":
+ if (st.getCond() == 11)
+ {
+ st.setCond(12);
+ }
+ break;
+ case "stone32.htm":
+ if (st.getCond() == 14)
+ {
+ st.setCond(15);
+ }
+ break;
+ case "stone41.htm":
+ if (st.getCond() == 15)
+ {
+ st.setCond(16);
+ }
+ addSpawn(FALLEN_ANGEL_TANAKIA, npc, true, 0, true);
+ break;
+ case "erikrams2.htm":
+ if (st.getCond() == 16)
+ {
+ st.setCond(17);
+ }
+ giveItems(player, AMULET_REZONANSA_CHETVERTIY, 1);
+ break;
+ case "stone43.htm":
+ if (st.getCond() == 17)
+ {
+ st.setCond(18);
+ }
+ break;
+ case "aiken7.htm":
+ if (st.getCond() == 18)
+ {
+ if ((player.getLevel() < 76) && (player.getBaseClass() != 43))
+ {
+ htmltext = "30849-nolvl.htm";
+ }
+ addExpAndSp(player, 3100000, 103000);
+ rewardItems(player, BOOKSABERTOOTH, 1);
+ takeItems(player, AMULET_REZONANSA_PERVIY, -1);
+ takeItems(player, AMULET_REZONANSA_VTOROI, -1);
+ takeItems(player, AMULET_REZONANSA_TRETIY, -1);
+ takeItems(player, AMULET_REZONANSA_CHETVERTIY, -1);
+ takeItems(player, HALISHA_BADGE, -1);
+ st.exitQuest(false, true);
+ player.setClassId(112);
+ player.setBaseClass(112);
+ player.broadcastUserInfo();
+ npc.broadcastPacket(new MagicSkillUse(npc, player, 5103, 1, 1000, 0));
+ }
+ break;
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onTalk(L2Npc npc, L2PcInstance talker)
+ {
+ final QuestState qs = getQuestState(talker, true);
+ String htmltext = getNoQuestMsg(talker);
+
+ switch (qs.getState())
+ {
+ case State.CREATED:
+ {
+ if (npc.getId() == ANASTIA)
+ {
+ htmltext = "aiken01.htm";
+ }
+ break;
+ }
+ case State.STARTED:
+ {
+ if (npc.getId() == ANASTIA)
+ {
+ if (qs.getCond() == 1)
+ {
+ htmltext = "aiken01s.htm";
+ }
+ if (qs.getCond() == 18)
+ {
+ htmltext = "aiken6.htm";
+ }
+
+ }
+ if (npc.getId() == SERESIN)
+ {
+ if (qs.getCond() == 1)
+ {
+ htmltext = "jer1.htm";
+ }
+ if (qs.getCond() == 2)
+ {
+ htmltext = "jer2.htm";
+ }
+ if (qs.getCond() == 5)
+ {
+ htmltext = "jer3.htm";
+ }
+ if (qs.getCond() == 6)
+ {
+ htmltext = "jer4.htm";
+ }
+ }
+ if (npc.getId() == REIKIN)
+ {
+ if (qs.getCond() == 11)
+ {
+ htmltext = "jer5.htm";
+ }
+ if (qs.getCond() == 12)
+ {
+ htmltext = "jer6.htm";
+ }
+ }
+ if (npc.getId() == RIFKEN)
+ {
+ if (qs.getCond() == 2)
+ {
+ htmltext = "rifken1.htm";
+ }
+ if (qs.getCond() == 3)
+ {
+ htmltext = "rifken2.htm";
+ }
+ if (qs.getCond() == 4)
+ {
+ htmltext = "rifken3.htm";
+ }
+ }
+ if (npc.getId() == TABLET_OF_VISION_1)
+ {
+ if (qs.getCond() == 6)
+ {
+ htmltext = "stone11.htm";
+ }
+ if (qs.getCond() == 7)
+ {
+ htmltext = "stone12.htm";
+ }
+ }
+ if (npc.getId() == TABLET_OF_VISION_2)
+ {
+ if (qs.getCond() == 8)
+ {
+ htmltext = "stone21.htm";
+ }
+ if (qs.getCond() == 9)
+ {
+ htmltext = "stone23.htm";
+ }
+ if (qs.getCond() == 10)
+ {
+ htmltext = "stone24.htm";
+ }
+ if (qs.getCond() == 11)
+ {
+ htmltext = "stone25.htm";
+ }
+ }
+ if (npc.getId() == TABLET_OF_VISION_3)
+ {
+ if (qs.getCond() == 14)
+ {
+ htmltext = "stone31.htm";
+ }
+ if (qs.getCond() == 15)
+ {
+ htmltext = "stone32.htm";
+ }
+ }
+ if (npc.getId() == TABLET_OF_VISION_4)
+ {
+ if (qs.getCond() == 15)
+ {
+ htmltext = "stone40.htm";
+ }
+ if (qs.getCond() == 17)
+ {
+ htmltext = "stone42.htm";
+ }
+ if (qs.getCond() == 18)
+ {
+ htmltext = "stone43.htm";
+ }
+
+ }
+ if (npc.getId() == ELCADIA)
+ {
+ if (qs.getCond() == 16)
+ {
+ htmltext = "erikrams1.htm";
+ }
+ if (qs.getCond() == 17)
+ {
+ htmltext = "erikrams2.htm";
+ }
+ }
+ break;
+ }
+ case State.COMPLETED:
+ {
+ htmltext = getAlreadyCompletedMsg(talker);
+ break;
+ }
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
+ {
+ final QuestState qs = getQuestState(killer, false);
+ if ((qs != null) && qs.isStarted() && Util.checkIfInRange(1500, npc, killer, true))
+ {
+ switch (npc.getId())
+ {
+ case ICE_MONSTER:
+ case SPIRIT_OF_A_DROWNED:
+ case SOUL_OF_COLD:
+ case FIEND_OF_COLD:
+ case GHOST_OF_SOLITUDE:
+ case SPIRIT_OF_COLD:
+ if (qs.getCond() == 3)
+ {
+ if (getQuestItemsCount(killer, ICE_CRYSTAL_FRAGMENT) < 50)
+ {
+ giveItemRandomly(killer, npc, ICE_CRYSTAL_FRAGMENT, 1, 50, 50, true);
+ }
+ if (getQuestItemsCount(killer, ICE_CRYSTAL_FRAGMENT) >= 50)
+ {
+ qs.setCond(4);
+ }
+ }
+ break;
+ case FALLEN_ANGEL_NAVERIUS:
+ if (qs.getCond() == 9)
+ {
+ qs.setCond(10);
+ }
+ break;
+ case SPAMPLAND_WATCHMAN:
+ case FLAME_DRAKE:
+ case FIERY_IFRIT:
+ case IKEDIT:
+ if (qs.getCond() == 12)
+ {
+ if (getQuestItemsCount(killer, HALISHA_BADGE) < 701)
+ {
+ giveItemRandomly(killer, npc, HALISHA_BADGE, 1, 701, 50, true);
+ if (getQuestItemsCount(killer, HALISHA_BADGE) >= 701)
+ {
+ addSpawn(HALISHA_ARCHON, npc, true, 0, true);
+ qs.setCond(13);
+ }
+ }
+ }
+ break;
+ case HALISHA_ARCHON:
+ if (qs.getCond() == 13)
+ {
+ if (!hasQuestItems(killer, AMULET_REZONANSA_TRETIY))
+ {
+ giveItemRandomly(killer, npc, AMULET_REZONANSA_TRETIY, 1, 1, 50, true);
+ }
+ qs.setCond(14);
+ }
+ break;
+ case FALLEN_ANGEL_TANAKIA:
+ if (qs.getCond() == 16)
+ {
+ addSpawn(ELCADIA, npc, true, 20000, true);
+ }
+ break;
+ }
+
+ if (qs.isCond(7))
+ {
+ int count = qs.getInt(KILL_COUNT_VAR);
+ if (npc.getId() == GATEKEEPER_OF_THE_HOLY_EDICT)
+ {
+ if (count < 20)
+ {
+ qs.set(KILL_COUNT_VAR, ++count);
+ sendNpcLogList(killer);
+ }
+ }
+ if (count >= 20)
+ {
+ qs.setCond(8, true);
+ giveItems(killer, AMULET_REZONANSA_VTOROI, 1);
+ }
+ }
+ }
+ return super.onKill(npc, killer, isSummon);
+ }
+
+ @Override
+ public Set getNpcLogList(L2PcInstance player)
+ {
+ final QuestState qs = getQuestState(player, false);
+ if ((qs != null) && qs.isCond(7))
+ {
+ final Set holder = new HashSet<>(1);
+
+ // guardian of forbidden knowledge
+ final int guardiancount = qs.getInt(KILL_COUNT_VAR);
+ if (guardiancount > 0)
+ {
+ holder.add(new NpcLogListHolder(GATEKEEPER_OF_THE_HOLY_EDICT, false, guardiancount));
+ }
+ return holder;
+ }
+ return super.getNpcLogList(player);
+ }
+}
\ No newline at end of file
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00098_SagaOfTheShillienSaint/aiken01.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00098_SagaOfTheShillienSaint/aiken01.htm
new file mode 100644
index 0000000000..1646aeb16f
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00098_SagaOfTheShillienSaint/aiken01.htm
@@ -0,0 +1,6 @@
+
+Anastia:
+
+Do you want to become a Shillen Saint ?.
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00098_SagaOfTheShillienSaint/aiken01s.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00098_SagaOfTheShillienSaint/aiken01s.htm
new file mode 100644
index 0000000000..82e84c9274
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00098_SagaOfTheShillienSaint/aiken01s.htm
@@ -0,0 +1,5 @@
+
+Anastia:
+
+Master Anastia advises to meet with Cardinal Seresin in the Oren.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00098_SagaOfTheShillienSaint/aiken02.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00098_SagaOfTheShillienSaint/aiken02.htm
new file mode 100644
index 0000000000..9e06e77d71
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00098_SagaOfTheShillienSaint/aiken02.htm
@@ -0,0 +1,7 @@
+
+Anastia:
+
+My young friend, you do not have enough experience to become a Shillen Saint. I see your passion and I hope that you will keep it in your heart, but it is not enough - only through the experience of battle you can acquire the power that will allow you not to deviate from your faith in the era of untruth.
+Come back when you are a little older and wiser. When you are ready, I will give you a mission to check if you are ready to become a Shillen Saint.
+(Quest for characters whose level is 76 or higher.)
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00098_SagaOfTheShillienSaint/aiken02a.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00098_SagaOfTheShillienSaint/aiken02a.htm
new file mode 100644
index 0000000000..a3b545911d
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00098_SagaOfTheShillienSaint/aiken02a.htm
@@ -0,0 +1,7 @@
+
+Anastia:
+
+Have you not already won the title of Shillen Saint?
+Â My brother, you do not have to go through the test of the squire again.
+Â Your duty is to fight for your faith and the glory of the lord.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00098_SagaOfTheShillienSaint/aiken03.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00098_SagaOfTheShillienSaint/aiken03.htm
new file mode 100644
index 0000000000..4dc026deab
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00098_SagaOfTheShillienSaint/aiken03.htm
@@ -0,0 +1,6 @@
+
+Anastia:
+
+Apparently, you have already chosen your path.
+You do not need to perform the task of Shillen Saint.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00098_SagaOfTheShillienSaint/aiken5.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00098_SagaOfTheShillienSaint/aiken5.htm
new file mode 100644
index 0000000000..ae67379d1c
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00098_SagaOfTheShillienSaint/aiken5.htm
@@ -0,0 +1,9 @@
+
+Anastia:
+
+Do you want to become a Shillen Saint?
+Â Well, then you must pass Saga of Shillen Saint,
+To prove that you are not just a reckless, quick-tempered warrior, but
+Â A warrior with the soul of a true virtuoso. This is a form of ritual and the process of training,
+Â They must be performed by all who wish to become a Shillen Saint.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00098_SagaOfTheShillienSaint/aiken6.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00098_SagaOfTheShillienSaint/aiken6.htm
new file mode 100644
index 0000000000..ed988923a7
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00098_SagaOfTheShillienSaint/aiken6.htm
@@ -0,0 +1,6 @@
+
+Anastia:
+
+Congratulations! You have passed all the tests and are ready to receive the profession of Shillen Saint!
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00098_SagaOfTheShillienSaint/aiken7.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00098_SagaOfTheShillienSaint/aiken7.htm
new file mode 100644
index 0000000000..87ad489a97
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00098_SagaOfTheShillienSaint/aiken7.htm
@@ -0,0 +1,5 @@
+
+Anastia:
+
+Congratulations! You have received the profession Shillen Saint!
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00098_SagaOfTheShillienSaint/erikrams1.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00098_SagaOfTheShillienSaint/erikrams1.htm
new file mode 100644
index 0000000000..d24799fbe8
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00098_SagaOfTheShillienSaint/erikrams1.htm
@@ -0,0 +1,7 @@
+
+Abyssal Saintess Elcadia:
+
+Thank you! You helped avenge me, I will give you the fourth amulet
+
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00098_SagaOfTheShillienSaint/erikrams2.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00098_SagaOfTheShillienSaint/erikrams2.htm
new file mode 100644
index 0000000000..4da68215b7
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00098_SagaOfTheShillienSaint/erikrams2.htm
@@ -0,0 +1,5 @@
+
+Abyssal Saintess Elcadia:
+
+Now activate the last stone
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00098_SagaOfTheShillienSaint/jer1.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00098_SagaOfTheShillienSaint/jer1.htm
new file mode 100644
index 0000000000..0fea1c0478
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00098_SagaOfTheShillienSaint/jer1.htm
@@ -0,0 +1,6 @@
+
+Seresin:
+
+Cardinal Seresin asks to go to the Gourmet Rifken and get food to feed the poor.
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00098_SagaOfTheShillienSaint/jer2.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00098_SagaOfTheShillienSaint/jer2.htm
new file mode 100644
index 0000000000..620a9d6b8e
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00098_SagaOfTheShillienSaint/jer2.htm
@@ -0,0 +1,5 @@
+
+Seresin:
+
+Cardinal Seresin asks to go to the Gourmet Rifken and get food to feed the poor.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00098_SagaOfTheShillienSaint/jer3.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00098_SagaOfTheShillienSaint/jer3.htm
new file mode 100644
index 0000000000..7e473d2979
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00098_SagaOfTheShillienSaint/jer3.htm
@@ -0,0 +1,6 @@
+
+Seresin:
+
+Did you bring food?
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00098_SagaOfTheShillienSaint/jer4.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00098_SagaOfTheShillienSaint/jer4.htm
new file mode 100644
index 0000000000..adb291d47a
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00098_SagaOfTheShillienSaint/jer4.htm
@@ -0,0 +1,5 @@
+
+Seresin:
+
+You have received the Resonance Amulet. Activate the Stone of Knowledge to the south of the Tower of Insolence.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00098_SagaOfTheShillienSaint/jer5.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00098_SagaOfTheShillienSaint/jer5.htm
new file mode 100644
index 0000000000..7990ac59d4
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00098_SagaOfTheShillienSaint/jer5.htm
@@ -0,0 +1,6 @@
+
+Kaira:
+
+Have you come for the third Amulet of Resonance?
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00098_SagaOfTheShillienSaint/jer6.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00098_SagaOfTheShillienSaint/jer6.htm
new file mode 100644
index 0000000000..27ad4bc8ea
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00098_SagaOfTheShillienSaint/jer6.htm
@@ -0,0 +1,5 @@
+
+Kaira:
+
+Kaira says that the third Amulet of Resonance is in Archon Halisha. To summon him, you need to destroy his minions in the Swollen Tops and collect the Halisha Signs. Destroy these monsters and call Archon Halisha. The aim of the hunt is the Ranger of the Swamp, Burning Drake, Flame Iphreet, Ikedith
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00098_SagaOfTheShillienSaint/rifken1.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00098_SagaOfTheShillienSaint/rifken1.htm
new file mode 100644
index 0000000000..098997681c
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00098_SagaOfTheShillienSaint/rifken1.htm
@@ -0,0 +1,6 @@
+
+Rifken:
+
+To the dishes of Gourmet Rifken did not deteriorate, you need the Fragments of the Crystal of Cold. They can be obtained by destroying monsters to the southeast of Aden.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00098_SagaOfTheShillienSaint/rifken2.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00098_SagaOfTheShillienSaint/rifken2.htm
new file mode 100644
index 0000000000..5ed57b4188
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00098_SagaOfTheShillienSaint/rifken2.htm
@@ -0,0 +1,5 @@
+
+Rifken:
+
+Obtain Fragments of the Crystal of Cold.These pieces can be obtained by destroying monsters to the southeast of Aden.The aim of the hunt is the Ice Monster, the Spirit of the Drowned Man, the Soul of Coldness, the Phantom of Solitude, the Cold Beast, the Spirit of Coldness.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00098_SagaOfTheShillienSaint/rifken3.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00098_SagaOfTheShillienSaint/rifken3.htm
new file mode 100644
index 0000000000..300d0194e2
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00098_SagaOfTheShillienSaint/rifken3.htm
@@ -0,0 +1,6 @@
+
+Rifken:
+
+Did you get all the ingredients?
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00098_SagaOfTheShillienSaint/rifken4.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00098_SagaOfTheShillienSaint/rifken4.htm
new file mode 100644
index 0000000000..61036d82d1
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00098_SagaOfTheShillienSaint/rifken4.htm
@@ -0,0 +1,5 @@
+
+Rifken:
+
+Now you have a Basket of Meals. Return to Oren to Cardinal Seresin.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00098_SagaOfTheShillienSaint/stone11.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00098_SagaOfTheShillienSaint/stone11.htm
new file mode 100644
index 0000000000..451c2d08a1
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00098_SagaOfTheShillienSaint/stone11.htm
@@ -0,0 +1,5 @@
+
+Stone of knowledge:
+You slash like a stone starts to vibrate
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00098_SagaOfTheShillienSaint/stone12.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00098_SagaOfTheShillienSaint/stone12.htm
new file mode 100644
index 0000000000..55a9f06759
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00098_SagaOfTheShillienSaint/stone12.htm
@@ -0,0 +1,4 @@
+
+Stone of knowledge:
+You brought the amulet and the inscription appeared on the stone - The second Amulet of Resonance is located near the Streets of the Holy Law next to the second Stone of Knowledge.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00098_SagaOfTheShillienSaint/stone21.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00098_SagaOfTheShillienSaint/stone21.htm
new file mode 100644
index 0000000000..9e0a3acbf2
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00098_SagaOfTheShillienSaint/stone21.htm
@@ -0,0 +1,5 @@
+
+Stone of knowledge:
+You slash like a stone starts to vibrate
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00098_SagaOfTheShillienSaint/stone22.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00098_SagaOfTheShillienSaint/stone22.htm
new file mode 100644
index 0000000000..483ad2669b
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00098_SagaOfTheShillienSaint/stone22.htm
@@ -0,0 +1,4 @@
+
+Stone of knowledge:
+As soon as you came to the stone, the Fallen Angel Nawerious appeared. Obviously, he is trying to stop you. Destroy it.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00098_SagaOfTheShillienSaint/stone23.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00098_SagaOfTheShillienSaint/stone23.htm
new file mode 100644
index 0000000000..d323517e9b
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00098_SagaOfTheShillienSaint/stone23.htm
@@ -0,0 +1,4 @@
+
+Stone of knowledge:
+Now you can go in search of the third stone
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00098_SagaOfTheShillienSaint/stone24.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00098_SagaOfTheShillienSaint/stone24.htm
new file mode 100644
index 0000000000..c5716b9bf8
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00098_SagaOfTheShillienSaint/stone24.htm
@@ -0,0 +1,5 @@
+
+Stone of knowledge:
+You slash like a stone starts to vibrate
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00098_SagaOfTheShillienSaint/stone25.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00098_SagaOfTheShillienSaint/stone25.htm
new file mode 100644
index 0000000000..36b2f0ed0b
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00098_SagaOfTheShillienSaint/stone25.htm
@@ -0,0 +1,4 @@
+
+Stone of knowledge:
+After activating the stone, you learned that the third Amulet of Resonance is located at the Magistrate of Kaira in Giran. Get her the Resonance Amulet.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00098_SagaOfTheShillienSaint/stone31.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00098_SagaOfTheShillienSaint/stone31.htm
new file mode 100644
index 0000000000..0fd36ef092
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00098_SagaOfTheShillienSaint/stone31.htm
@@ -0,0 +1,5 @@
+
+Stone of knowledge:
+You slash like a stone starts to vibrate
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00098_SagaOfTheShillienSaint/stone32.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00098_SagaOfTheShillienSaint/stone32.htm
new file mode 100644
index 0000000000..55b4dac06c
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00098_SagaOfTheShillienSaint/stone32.htm
@@ -0,0 +1,4 @@
+
+Stone of knowledge:
+When the activation of the third Stone of Knowledge ended, he showed the location of the next stone. The fourth Stone of Knowledge is in the area of the Village of Dark Elves, and the last Amulet of Resonance is near the stone. Go there.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00098_SagaOfTheShillienSaint/stone40.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00098_SagaOfTheShillienSaint/stone40.htm
new file mode 100644
index 0000000000..ae239a7974
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00098_SagaOfTheShillienSaint/stone40.htm
@@ -0,0 +1,7 @@
+
+You came to the stone and he began to vibrate
+
+The last amulet is in Fallen Angel Tanaka
+Are you ready to fight him?
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00098_SagaOfTheShillienSaint/stone41.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00098_SagaOfTheShillienSaint/stone41.htm
new file mode 100644
index 0000000000..3111257667
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00098_SagaOfTheShillienSaint/stone41.htm
@@ -0,0 +1,3 @@
+
+Nearly appeared the Fallen Angel Tanaka
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00098_SagaOfTheShillienSaint/stone42.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00098_SagaOfTheShillienSaint/stone42.htm
new file mode 100644
index 0000000000..cda2623468
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00098_SagaOfTheShillienSaint/stone42.htm
@@ -0,0 +1,5 @@
+
+Stone of knowledge:
+You slash like a stone starts to vibrate
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00098_SagaOfTheShillienSaint/stone43.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00098_SagaOfTheShillienSaint/stone43.htm
new file mode 100644
index 0000000000..5a21aefd03
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00098_SagaOfTheShillienSaint/stone43.htm
@@ -0,0 +1,5 @@
+
+Stone of knowledge:
+You successfully activated the last stone
+Return to Master Anastia and tell him about your journey.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00099_SagaOfTheFortuneSeeker/Q00099_SagaOfTheFortuneSeeker.java b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00099_SagaOfTheFortuneSeeker/Q00099_SagaOfTheFortuneSeeker.java
new file mode 100644
index 0000000000..dc92e46834
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00099_SagaOfTheFortuneSeeker/Q00099_SagaOfTheFortuneSeeker.java
@@ -0,0 +1,450 @@
+package quests.Q00099_SagaOfTheFortuneSeeker;
+
+import java.util.HashSet;
+import java.util.Set;
+
+import com.l2jmobius.gameserver.model.actor.L2Npc;
+import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
+import com.l2jmobius.gameserver.model.base.ClassId;
+import com.l2jmobius.gameserver.model.holders.NpcLogListHolder;
+import com.l2jmobius.gameserver.model.quest.Quest;
+import com.l2jmobius.gameserver.model.quest.QuestState;
+import com.l2jmobius.gameserver.model.quest.State;
+import com.l2jmobius.gameserver.network.serverpackets.MagicSkillUse;
+import com.l2jmobius.gameserver.util.Util;
+
+//QuangNguyen
+
+public class Q00099_SagaOfTheFortuneSeeker extends Quest
+{
+ public final int MOND = 31594;
+ public final int DAZLING = 34267;
+ public final int ROO_ROO = 34271;
+ public final int TABLET_OF_VISION_1 = 31646;
+ public final int TABLET_OF_VISION_2 = 31648;
+ public final int TABLET_OF_VISION_3 = 31651;
+ public final int TABLET_OF_VISION_4 = 31658;
+ public final int PAMELA_APRODIA = 31601;
+ // mobs
+ public final int ICE_MONSTER = 27316;
+ public final int SPIRIT_OF_A_DROWNED = 27317;
+ public final int SOUL_OF_COLD = 27318;
+ public final int GHOST_OF_SOLITUDE = 27319;
+ public final int FIEND_OF_COLD = 27320;
+ public final int SPIRIT_OF_COLD = 27321;
+ public final int SPAMPLAND_WATCHMAN = 21650;
+ public final int FLAME_DRAKE = 21651;
+ public final int FIERY_IFRIT = 21652;
+ public final int IKEDIT = 21653;
+ public final int KEEPER_OF_THE_HOLY_EDICT = 27215;
+ public final int ARCHANGEL_ICONOCLASSIS = 27257;
+ public final int HALISHA_ARCHON = 27219;
+ public final int MINERVIA_VAN_HAKKEN = 27309;
+ // items
+ public final int ICE_CRYSTAL_FRAGMENT = 49833;
+ public final int HALISHA_BADGE = 7514;
+ public final int AMULET_REZONANSA_PERVIY = 7297;
+ public final int AMULET_REZONANSA_VTOROI = 7328;
+ public final int AMULET_REZONANSA_TRETIY = 7359;
+ public final int AMULET_REZONANSA_CHETVERTIY = 7390;
+ public final int SEALED_DOCUMENT = 7608;
+ // reward
+ public final int BOOKKUKURU = 90041;
+ private static final String KILL_COUNT_VAR = "KillCount";
+
+ public Q00099_SagaOfTheFortuneSeeker()
+ {
+ super(99);
+ addStartNpc(MOND);
+ addTalkId(MOND, DAZLING, ROO_ROO, PAMELA_APRODIA, TABLET_OF_VISION_1, TABLET_OF_VISION_2, TABLET_OF_VISION_3, TABLET_OF_VISION_4);
+ addKillId(ICE_MONSTER, SPIRIT_OF_A_DROWNED, SOUL_OF_COLD, GHOST_OF_SOLITUDE, FIEND_OF_COLD);
+ addKillId(SPIRIT_OF_COLD, SPAMPLAND_WATCHMAN, FLAME_DRAKE, FIERY_IFRIT, IKEDIT);
+ addKillId(KEEPER_OF_THE_HOLY_EDICT, ARCHANGEL_ICONOCLASSIS, HALISHA_ARCHON, MINERVIA_VAN_HAKKEN);
+ registerQuestItems(SEALED_DOCUMENT, ICE_CRYSTAL_FRAGMENT, HALISHA_BADGE);
+ addCondMinLevel(76, "aiken02.htm");
+ addCondClassId(ClassId.BOUNTY_HUNTER, "aiken03.htm");
+ }
+
+ @Override
+ public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
+ {
+ final QuestState st = getQuestState(player, false);
+ if (st == null)
+ {
+ return null;
+ }
+ String htmltext = event;
+ switch (event)
+ {
+ case "aiken02a.htm":
+ htmltext = "aiken5.htm";
+ break;
+ case "aiken01s.htm":
+ if (st.getCond() == 0)
+ {
+ st.startQuest();
+ st.setCond(1);
+ }
+ break;
+ case "jer2.htm":
+ if (st.getCond() == 1)
+ {
+ st.setCond(2);
+ }
+ break;
+ case "rifken2.htm":
+ if (st.getCond() == 2)
+ {
+ st.setCond(3);
+ }
+ break;
+ case "rifken4.htm":
+ if (st.getCond() == 4)
+ {
+ st.setCond(5);
+ }
+ takeItems(player, ICE_CRYSTAL_FRAGMENT, -1);
+ giveItems(player, SEALED_DOCUMENT, 1);
+ break;
+ case "jer4.htm":
+ if (st.getCond() == 5)
+ {
+ st.setCond(6);
+ }
+ giveItems(player, AMULET_REZONANSA_PERVIY, 1);
+ takeItems(player, SEALED_DOCUMENT, -1);
+ break;
+ case "stone12.htm":
+ if (st.getCond() == 6)
+ {
+ st.setCond(7);
+ }
+ break;
+ case "stone22.htm":
+ if (st.getCond() == 8)
+ {
+ addSpawn(ARCHANGEL_ICONOCLASSIS, npc, true, 0, true);
+ st.setCond(9);
+ }
+ break;
+ case "stone25.htm":
+ if (st.getCond() == 10)
+ {
+ st.setCond(11);
+ }
+ break;
+ case "jer6.htm":
+ if (st.getCond() == 11)
+ {
+ st.setCond(12);
+ }
+ break;
+ case "stone32.htm":
+ if (st.getCond() == 14)
+ {
+ st.setCond(15);
+ }
+ break;
+ case "stone41.htm":
+ if (st.getCond() == 15)
+ {
+ st.setCond(16);
+ }
+ addSpawn(MINERVIA_VAN_HAKKEN, npc, true, 0, true);
+ break;
+ case "erikrams2.htm":
+ if (st.getCond() == 16)
+ {
+ st.setCond(17);
+ }
+ giveItems(player, AMULET_REZONANSA_CHETVERTIY, 1);
+ break;
+ case "stone43.htm":
+ if (st.getCond() == 17)
+ {
+ st.setCond(18);
+ }
+ break;
+ case "aiken7.htm":
+ if (st.getCond() == 18)
+ {
+ if ((player.getLevel() < 76) && (player.getBaseClass() != 55))
+ {
+ htmltext = "30849-nolvl.htm";
+ }
+ addExpAndSp(player, 3100000, 103000);
+ rewardItems(player, BOOKKUKURU, 1);
+ takeItems(player, AMULET_REZONANSA_PERVIY, -1);
+ takeItems(player, AMULET_REZONANSA_VTOROI, -1);
+ takeItems(player, AMULET_REZONANSA_TRETIY, -1);
+ takeItems(player, AMULET_REZONANSA_CHETVERTIY, -1);
+ takeItems(player, HALISHA_BADGE, -1);
+ st.exitQuest(false, true);
+ player.setClassId(117);
+ player.setBaseClass(117);
+ player.broadcastUserInfo();
+ npc.broadcastPacket(new MagicSkillUse(npc, player, 5103, 1, 1000, 0));
+ }
+ break;
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onTalk(L2Npc npc, L2PcInstance talker)
+ {
+ final QuestState qs = getQuestState(talker, true);
+ String htmltext = getNoQuestMsg(talker);
+
+ switch (qs.getState())
+ {
+ case State.CREATED:
+ {
+ if (npc.getId() == MOND)
+ {
+ htmltext = "aiken01.htm";
+ }
+ break;
+ }
+ case State.STARTED:
+ {
+ if (npc.getId() == MOND)
+ {
+ if (qs.getCond() == 1)
+ {
+ htmltext = "aiken01s.htm";
+ }
+ if (qs.getCond() == 18)
+ {
+ htmltext = "aiken6.htm";
+ }
+
+ }
+ if (npc.getId() == DAZLING)
+ {
+ if (qs.getCond() == 1)
+ {
+ htmltext = "jer1.htm";
+ }
+ if (qs.getCond() == 2)
+ {
+ htmltext = "jer2.htm";
+ }
+ if (qs.getCond() == 5)
+ {
+ htmltext = "jer3.htm";
+ }
+ if (qs.getCond() == 6)
+ {
+ htmltext = "jer4.htm";
+ }
+ if (qs.getCond() == 11)
+ {
+ htmltext = "jer5.htm";
+ }
+ if (qs.getCond() == 12)
+ {
+ htmltext = "jer6.htm";
+ }
+ }
+ if (npc.getId() == ROO_ROO)
+ {
+ if (qs.getCond() == 2)
+ {
+ htmltext = "rifken1.htm";
+ }
+ if (qs.getCond() == 3)
+ {
+ htmltext = "rifken2.htm";
+ }
+ if (qs.getCond() == 4)
+ {
+ htmltext = "rifken3.htm";
+ }
+ }
+ if (npc.getId() == TABLET_OF_VISION_1)
+ {
+ if (qs.getCond() == 6)
+ {
+ htmltext = "stone11.htm";
+ }
+ if (qs.getCond() == 7)
+ {
+ htmltext = "stone12.htm";
+ }
+ }
+ if (npc.getId() == TABLET_OF_VISION_2)
+ {
+ if (qs.getCond() == 8)
+ {
+ htmltext = "stone21.htm";
+ }
+ if (qs.getCond() == 9)
+ {
+ htmltext = "stone23.htm";
+ }
+ if (qs.getCond() == 10)
+ {
+ htmltext = "stone24.htm";
+ }
+ if (qs.getCond() == 11)
+ {
+ htmltext = "stone25.htm";
+ }
+ }
+ if (npc.getId() == TABLET_OF_VISION_3)
+ {
+ if (qs.getCond() == 14)
+ {
+ htmltext = "stone31.htm";
+ }
+ if (qs.getCond() == 15)
+ {
+ htmltext = "stone32.htm";
+ }
+ }
+ if (npc.getId() == TABLET_OF_VISION_4)
+ {
+ if (qs.getCond() == 15)
+ {
+ htmltext = "stone40.htm";
+ }
+ if (qs.getCond() == 17)
+ {
+ htmltext = "stone42.htm";
+ }
+ if (qs.getCond() == 18)
+ {
+ htmltext = "stone43.htm";
+ }
+
+ }
+ if (npc.getId() == PAMELA_APRODIA)
+ {
+ if (qs.getCond() == 16)
+ {
+ htmltext = "erikrams1.htm";
+ }
+ if (qs.getCond() == 17)
+ {
+ htmltext = "erikrams2.htm";
+ }
+ }
+ break;
+ }
+ case State.COMPLETED:
+ {
+ htmltext = getAlreadyCompletedMsg(talker);
+ break;
+ }
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
+ {
+ final QuestState qs = getQuestState(killer, false);
+ if ((qs != null) && qs.isStarted() && Util.checkIfInRange(1500, npc, killer, true))
+ {
+ switch (npc.getId())
+ {
+ case ICE_MONSTER:
+ case SPIRIT_OF_A_DROWNED:
+ case SOUL_OF_COLD:
+ case FIEND_OF_COLD:
+ case GHOST_OF_SOLITUDE:
+ case SPIRIT_OF_COLD:
+ if (qs.getCond() == 3)
+ {
+ if (getQuestItemsCount(killer, ICE_CRYSTAL_FRAGMENT) < 50)
+ {
+ giveItemRandomly(killer, npc, ICE_CRYSTAL_FRAGMENT, 1, 50, 50, true);
+ }
+ if (getQuestItemsCount(killer, ICE_CRYSTAL_FRAGMENT) >= 50)
+ {
+ qs.setCond(4);
+ }
+ }
+ break;
+ case ARCHANGEL_ICONOCLASSIS:
+ if (qs.getCond() == 9)
+ {
+ qs.setCond(10);
+ }
+ break;
+ case SPAMPLAND_WATCHMAN:
+ case FLAME_DRAKE:
+ case FIERY_IFRIT:
+ case IKEDIT:
+ if (qs.getCond() == 12)
+ {
+ if (getQuestItemsCount(killer, HALISHA_BADGE) < 701)
+ {
+ giveItemRandomly(killer, npc, HALISHA_BADGE, 1, 701, 50, true);
+ if (getQuestItemsCount(killer, HALISHA_BADGE) >= 701)
+ {
+ addSpawn(HALISHA_ARCHON, npc, true, 0, true);
+ qs.setCond(13);
+ }
+ }
+ }
+ break;
+ case HALISHA_ARCHON:
+ if (qs.getCond() == 13)
+ {
+ if (!hasQuestItems(killer, AMULET_REZONANSA_TRETIY))
+ {
+ giveItemRandomly(killer, npc, AMULET_REZONANSA_TRETIY, 1, 1, 50, true);
+ }
+ qs.setCond(14);
+ }
+ break;
+ case MINERVIA_VAN_HAKKEN:
+ if (qs.getCond() == 16)
+ {
+ addSpawn(PAMELA_APRODIA, npc, true, 20000, true);
+ }
+ break;
+ }
+
+ if (qs.isCond(7))
+ {
+ int count = qs.getInt(KILL_COUNT_VAR);
+ if (npc.getId() == KEEPER_OF_THE_HOLY_EDICT)
+ {
+ if (count < 20)
+ {
+ qs.set(KILL_COUNT_VAR, ++count);
+ sendNpcLogList(killer);
+ }
+ }
+ if (count >= 20)
+ {
+ qs.setCond(8, true);
+ giveItems(killer, AMULET_REZONANSA_VTOROI, 1);
+ }
+ }
+ }
+ return super.onKill(npc, killer, isSummon);
+ }
+
+ @Override
+ public Set getNpcLogList(L2PcInstance player)
+ {
+ final QuestState qs = getQuestState(player, false);
+ if ((qs != null) && qs.isCond(7))
+ {
+ final Set holder = new HashSet<>(1);
+
+ // guardian of forbidden knowledge
+ final int guardiancount = qs.getInt(KILL_COUNT_VAR);
+ if (guardiancount > 0)
+ {
+ holder.add(new NpcLogListHolder(KEEPER_OF_THE_HOLY_EDICT, false, guardiancount));
+ }
+ return holder;
+ }
+ return super.getNpcLogList(player);
+ }
+}
\ No newline at end of file
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00099_SagaOfTheFortuneSeeker/aiken01.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00099_SagaOfTheFortuneSeeker/aiken01.htm
new file mode 100644
index 0000000000..2805899305
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00099_SagaOfTheFortuneSeeker/aiken01.htm
@@ -0,0 +1,6 @@
+
+Mond:
+
+Do you want to become a Fortune Seeker ?.
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00099_SagaOfTheFortuneSeeker/aiken01s.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00099_SagaOfTheFortuneSeeker/aiken01s.htm
new file mode 100644
index 0000000000..11f6647af6
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00099_SagaOfTheFortuneSeeker/aiken01s.htm
@@ -0,0 +1,5 @@
+
+Mond:
+
+Chief Inspector Mond advises you to meet with the Collector Dazling from the Village of Hunters.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00099_SagaOfTheFortuneSeeker/aiken02.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00099_SagaOfTheFortuneSeeker/aiken02.htm
new file mode 100644
index 0000000000..bbb6b8fbad
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00099_SagaOfTheFortuneSeeker/aiken02.htm
@@ -0,0 +1,7 @@
+
+Mond:
+
+My young friend, you do not have enough experience to become a Fortune Seeker. I see your passion and I hope that you will keep it in your heart, but it is not enough - only through the experience of battle you can acquire the power that will allow you not to deviate from your faith in the era of untruth.
+Come back when you are a little older and wiser. When you are ready, I will give you an assignment to check if you are ready to become a Fortune Seeker.
+(Quest for characters whose level is 76 or higher.)
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00099_SagaOfTheFortuneSeeker/aiken02a.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00099_SagaOfTheFortuneSeeker/aiken02a.htm
new file mode 100644
index 0000000000..723beea626
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00099_SagaOfTheFortuneSeeker/aiken02a.htm
@@ -0,0 +1,7 @@
+
+Mond:
+
+Have you not already won the title of Fortune Seeker?
+Â My brother, you do not have to go through the test of the squire again.
+Â Your duty is to fight for your faith and the glory of the lord.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00099_SagaOfTheFortuneSeeker/aiken03.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00099_SagaOfTheFortuneSeeker/aiken03.htm
new file mode 100644
index 0000000000..cd3fd8a5f3
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00099_SagaOfTheFortuneSeeker/aiken03.htm
@@ -0,0 +1,6 @@
+
+Mond:
+
+Apparently, you have already chosen your path.
+You do not need to do the Fortune Seeker.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00099_SagaOfTheFortuneSeeker/aiken5.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00099_SagaOfTheFortuneSeeker/aiken5.htm
new file mode 100644
index 0000000000..e4ddcc1015
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00099_SagaOfTheFortuneSeeker/aiken5.htm
@@ -0,0 +1,9 @@
+
+Mond:
+
+Do you want to become a Fortune Seeker?
+Â Well, then you must pass Saga of Fortune Seeker,
+To prove that you are not just a reckless, quick-tempered warrior, but
+Â A warrior with the soul of a true virtuoso. This is a form of ritual and the process of training,
+Â Which all those who wish to become a Fortune Seeker must perform.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00099_SagaOfTheFortuneSeeker/aiken6.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00099_SagaOfTheFortuneSeeker/aiken6.htm
new file mode 100644
index 0000000000..a9f6f29dec
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00099_SagaOfTheFortuneSeeker/aiken6.htm
@@ -0,0 +1,6 @@
+
+Mond:
+
+Congratulations! You have passed all the tests and are ready to receive the profession of the Fortune Seeker!
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00099_SagaOfTheFortuneSeeker/aiken7.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00099_SagaOfTheFortuneSeeker/aiken7.htm
new file mode 100644
index 0000000000..37171d6cc1
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00099_SagaOfTheFortuneSeeker/aiken7.htm
@@ -0,0 +1,5 @@
+
+Mond:
+
+Congratulations! You have received the profession of Fortune Seeker!
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00099_SagaOfTheFortuneSeeker/erikrams1.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00099_SagaOfTheFortuneSeeker/erikrams1.htm
new file mode 100644
index 0000000000..5d53858c87
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00099_SagaOfTheFortuneSeeker/erikrams1.htm
@@ -0,0 +1,7 @@
+
+Pamela Aprodia:
+
+Thank you! You helped avenge me, I will give you the fourth amulet
+
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00099_SagaOfTheFortuneSeeker/erikrams2.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00099_SagaOfTheFortuneSeeker/erikrams2.htm
new file mode 100644
index 0000000000..78af9ba51b
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00099_SagaOfTheFortuneSeeker/erikrams2.htm
@@ -0,0 +1,5 @@
+
+Pamela Aprodia:
+
+Now activate the last stone
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00099_SagaOfTheFortuneSeeker/jer1.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00099_SagaOfTheFortuneSeeker/jer1.htm
new file mode 100644
index 0000000000..5683d4f66f
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00099_SagaOfTheFortuneSeeker/jer1.htm
@@ -0,0 +1,6 @@
+
+Dazling:
+
+It is said that the Merchant has the Information of Ru-ru has information about the Stones of Knowledge. Ru-ru lives in Aden. Why do not you go there?
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00099_SagaOfTheFortuneSeeker/jer2.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00099_SagaOfTheFortuneSeeker/jer2.htm
new file mode 100644
index 0000000000..f2d52fe450
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00099_SagaOfTheFortuneSeeker/jer2.htm
@@ -0,0 +1,5 @@
+
+Dazling:
+
+It is said that the Merchant has the Information of Ru-ru has information about the Stones of Knowledge. Ru-ru lives in Aden. Why do not you go there?
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00099_SagaOfTheFortuneSeeker/jer3.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00099_SagaOfTheFortuneSeeker/jer3.htm
new file mode 100644
index 0000000000..22bd39bbd0
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00099_SagaOfTheFortuneSeeker/jer3.htm
@@ -0,0 +1,6 @@
+
+Dazling:
+
+Did you bring the Information?
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00099_SagaOfTheFortuneSeeker/jer4.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00099_SagaOfTheFortuneSeeker/jer4.htm
new file mode 100644
index 0000000000..3ec5051929
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00099_SagaOfTheFortuneSeeker/jer4.htm
@@ -0,0 +1,5 @@
+
+Dazling:
+
+You have received the Resonance Amulet. Activate the Stone of Knowledge to the south of the Tower of Insolence.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00099_SagaOfTheFortuneSeeker/jer5.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00099_SagaOfTheFortuneSeeker/jer5.htm
new file mode 100644
index 0000000000..3966ede25a
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00099_SagaOfTheFortuneSeeker/jer5.htm
@@ -0,0 +1,6 @@
+
+Dazling:
+
+Have you come for the third Amulet of Resonance?
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00099_SagaOfTheFortuneSeeker/jer6.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00099_SagaOfTheFortuneSeeker/jer6.htm
new file mode 100644
index 0000000000..f24fda90c7
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00099_SagaOfTheFortuneSeeker/jer6.htm
@@ -0,0 +1,5 @@
+
+Dazling:
+
+Dazling says that the third Amulet of Resonance is in Archon Halisha. To summon him, you need to destroy his minions in the Molten Tops and collect the Badges of Halisha. Destroy these monsters and call Archon Halisha. The aim of the hunt is the Ranger of the Swamp, Burning Drake, Flamey Ifrit, Ikedith
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00099_SagaOfTheFortuneSeeker/rifken1.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00099_SagaOfTheFortuneSeeker/rifken1.htm
new file mode 100644
index 0000000000..d939eaac19
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00099_SagaOfTheFortuneSeeker/rifken1.htm
@@ -0,0 +1,6 @@
+
+Ru-ru:
+
+Information Merchant Ru-ru offers information about the Stones of Knowledge in exchange for Shards of the Crystal of Cold. They can be obtained by destroying monsters to the southeast of Aden.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00099_SagaOfTheFortuneSeeker/rifken2.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00099_SagaOfTheFortuneSeeker/rifken2.htm
new file mode 100644
index 0000000000..8431fd5867
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00099_SagaOfTheFortuneSeeker/rifken2.htm
@@ -0,0 +1,5 @@
+
+Ru-ru:
+
+Obtain Fragments of the Crystal of Cold. These pieces can be obtained by destroying monsters to the southeast of Aden.The aim of the hunt is the Ice Monster, the Spirit of the Drowned One, the Soul of Cold, the Ghost of Solitude, the Cold Beast, the Spirit of Coldness.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00099_SagaOfTheFortuneSeeker/rifken3.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00099_SagaOfTheFortuneSeeker/rifken3.htm
new file mode 100644
index 0000000000..4f585373e7
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00099_SagaOfTheFortuneSeeker/rifken3.htm
@@ -0,0 +1,6 @@
+
+Ru-ru:
+
+Did you get all the ingredients?
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00099_SagaOfTheFortuneSeeker/rifken4.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00099_SagaOfTheFortuneSeeker/rifken4.htm
new file mode 100644
index 0000000000..3761f13cde
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00099_SagaOfTheFortuneSeeker/rifken4.htm
@@ -0,0 +1,5 @@
+
+Ru-ru:
+
+Return to Collector Dazling with the documents received from Merchant Information by Ru-ru.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00099_SagaOfTheFortuneSeeker/stone11.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00099_SagaOfTheFortuneSeeker/stone11.htm
new file mode 100644
index 0000000000..6bdf9d6054
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00099_SagaOfTheFortuneSeeker/stone11.htm
@@ -0,0 +1,5 @@
+
+Stone of knowledge:
+You slash like a stone starts to vibrate
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00099_SagaOfTheFortuneSeeker/stone12.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00099_SagaOfTheFortuneSeeker/stone12.htm
new file mode 100644
index 0000000000..55a9f06759
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00099_SagaOfTheFortuneSeeker/stone12.htm
@@ -0,0 +1,4 @@
+
+Stone of knowledge:
+You brought the amulet and the inscription appeared on the stone - The second Amulet of Resonance is located near the Streets of the Holy Law next to the second Stone of Knowledge.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00099_SagaOfTheFortuneSeeker/stone21.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00099_SagaOfTheFortuneSeeker/stone21.htm
new file mode 100644
index 0000000000..9c7230b2d5
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00099_SagaOfTheFortuneSeeker/stone21.htm
@@ -0,0 +1,5 @@
+
+Stone of knowledge:
+You slash like a stone starts to vibrate
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00099_SagaOfTheFortuneSeeker/stone22.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00099_SagaOfTheFortuneSeeker/stone22.htm
new file mode 100644
index 0000000000..98ec2c314b
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00099_SagaOfTheFortuneSeeker/stone22.htm
@@ -0,0 +1,4 @@
+
+Stone of knowledge:
+As soon as you approached the stone, the Archangel Iconoclasis appeared. Obviously, he is trying to stop you. Destroy it.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00099_SagaOfTheFortuneSeeker/stone23.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00099_SagaOfTheFortuneSeeker/stone23.htm
new file mode 100644
index 0000000000..d323517e9b
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00099_SagaOfTheFortuneSeeker/stone23.htm
@@ -0,0 +1,4 @@
+
+Stone of knowledge:
+Now you can go in search of the third stone
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00099_SagaOfTheFortuneSeeker/stone24.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00099_SagaOfTheFortuneSeeker/stone24.htm
new file mode 100644
index 0000000000..440be3f49c
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00099_SagaOfTheFortuneSeeker/stone24.htm
@@ -0,0 +1,5 @@
+
+Stone of knowledge:
+You slash like a stone starts to vibrate
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00099_SagaOfTheFortuneSeeker/stone25.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00099_SagaOfTheFortuneSeeker/stone25.htm
new file mode 100644
index 0000000000..2258f72c8f
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00099_SagaOfTheFortuneSeeker/stone25.htm
@@ -0,0 +1,4 @@
+
+Stone of knowledge:
+After activating the stone, you learned that the third Amulet of Resonance is at the Dazling Collector in the Hunters Village. Get him the Resonance Amulet.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00099_SagaOfTheFortuneSeeker/stone31.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00099_SagaOfTheFortuneSeeker/stone31.htm
new file mode 100644
index 0000000000..577fcfa74e
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00099_SagaOfTheFortuneSeeker/stone31.htm
@@ -0,0 +1,5 @@
+
+Stone of knowledge:
+You slash like a stone starts to vibrate
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00099_SagaOfTheFortuneSeeker/stone32.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00099_SagaOfTheFortuneSeeker/stone32.htm
new file mode 100644
index 0000000000..87b45afbdc
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00099_SagaOfTheFortuneSeeker/stone32.htm
@@ -0,0 +1,4 @@
+
+Stone of knowledge:
+When the activation of the third Stone of Knowledge ended, he showed the location of the next stone. The fourth Stone of Knowledge is in the area of the Dwarven Village, and the last Amulet of Resonance is near the stone. Go there.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00099_SagaOfTheFortuneSeeker/stone40.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00099_SagaOfTheFortuneSeeker/stone40.htm
new file mode 100644
index 0000000000..cc906395e0
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00099_SagaOfTheFortuneSeeker/stone40.htm
@@ -0,0 +1,7 @@
+
+You came to the stone and he began to vibrate
+
+The last amulet is at Minervia Van Haken
+Are you ready to fight her?
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00099_SagaOfTheFortuneSeeker/stone41.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00099_SagaOfTheFortuneSeeker/stone41.htm
new file mode 100644
index 0000000000..050138753e
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00099_SagaOfTheFortuneSeeker/stone41.htm
@@ -0,0 +1,3 @@
+
+Nearby there was Minervia Van Haken
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00099_SagaOfTheFortuneSeeker/stone42.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00099_SagaOfTheFortuneSeeker/stone42.htm
new file mode 100644
index 0000000000..bb110670ca
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00099_SagaOfTheFortuneSeeker/stone42.htm
@@ -0,0 +1,5 @@
+
+Stone of knowledge:
+You slash like a stone starts to vibrate
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00099_SagaOfTheFortuneSeeker/stone43.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00099_SagaOfTheFortuneSeeker/stone43.htm
new file mode 100644
index 0000000000..601abbf340
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00099_SagaOfTheFortuneSeeker/stone43.htm
@@ -0,0 +1,5 @@
+
+Stone of knowledge:
+You successfully activated the last stone
+Activating the last Stone of Knowledge, you completed your pilgrimage and gained the power of the Treasure Hunter. Return to Chief Inspector Mond in Oren.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00100_SagaOfTheMaestro/Q00100_SagaOfTheMaestro.java b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00100_SagaOfTheMaestro/Q00100_SagaOfTheMaestro.java
new file mode 100644
index 0000000000..e53e4e6746
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00100_SagaOfTheMaestro/Q00100_SagaOfTheMaestro.java
@@ -0,0 +1,450 @@
+package quests.Q00100_SagaOfTheMaestro;
+
+import java.util.HashSet;
+import java.util.Set;
+
+import com.l2jmobius.gameserver.model.actor.L2Npc;
+import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
+import com.l2jmobius.gameserver.model.base.ClassId;
+import com.l2jmobius.gameserver.model.holders.NpcLogListHolder;
+import com.l2jmobius.gameserver.model.quest.Quest;
+import com.l2jmobius.gameserver.model.quest.QuestState;
+import com.l2jmobius.gameserver.model.quest.State;
+import com.l2jmobius.gameserver.network.serverpackets.MagicSkillUse;
+import com.l2jmobius.gameserver.util.Util;
+
+//QuangNguyen
+
+public class Q00100_SagaOfTheMaestro extends Quest
+{
+ public final int BALTHAZAR = 30764;
+ public final int TOBALD = 31597;
+ public final int MIHAI = 34272;
+ public final int TABLET_OF_VISION_1 = 31646;
+ public final int TABLET_OF_VISION_2 = 31648;
+ public final int TABLET_OF_VISION_3 = 31652;
+ public final int TABLET_OF_VISION_4 = 31658;
+ public final int TOBALD_1 = 31596;
+ // mobs
+ public final int ICE_MONSTER = 27316;
+ public final int SPIRIT_OF_A_DROWNED = 27317;
+ public final int SOUL_OF_COLD = 27318;
+ public final int GHOST_OF_SOLITUDE = 27319;
+ public final int FIEND_OF_COLD = 27320;
+ public final int SPIRIT_OF_COLD = 27321;
+ public final int SPAMPLAND_WATCHMAN = 21650;
+ public final int FLAME_DRAKE = 21651;
+ public final int FIERY_IFRIT = 21652;
+ public final int IKEDIT = 21653;
+ public final int KEEPER_OF_THE_HOLY_EDICT = 27215;
+ public final int ARCHANGEL_ICONOCLASSIS = 27257;
+ public final int HALISHA_ARCHON = 27219;
+ public final int ASSASSIN_FROST = 27308;
+ // items
+ public final int ICE_CRYSTAL_FRAGMENT = 49834;
+ public final int HALISHA_BADGE = 7515;
+ public final int AMULET_REZONANSA_PERVIY = 7298;
+ public final int AMULET_REZONANSA_VTOROI = 7329;
+ public final int AMULET_REZONANSA_TRETIY = 7360;
+ public final int AMULET_REZONANSA_CHETVERTIY = 7391;
+ public final int COOLANT_REPAIR = 7607;
+ // reward
+ public final int BOOKKUKURU = 90041;
+ private static final String KILL_COUNT_VAR = "KillCount";
+
+ public Q00100_SagaOfTheMaestro()
+ {
+ super(100);
+ addStartNpc(BALTHAZAR);
+ addTalkId(BALTHAZAR, TOBALD, MIHAI, TOBALD_1, TABLET_OF_VISION_1, TABLET_OF_VISION_2, TABLET_OF_VISION_3, TABLET_OF_VISION_4);
+ addKillId(ICE_MONSTER, SPIRIT_OF_A_DROWNED, SOUL_OF_COLD, GHOST_OF_SOLITUDE, FIEND_OF_COLD);
+ addKillId(SPIRIT_OF_COLD, SPAMPLAND_WATCHMAN, FLAME_DRAKE, FIERY_IFRIT, IKEDIT);
+ addKillId(KEEPER_OF_THE_HOLY_EDICT, ARCHANGEL_ICONOCLASSIS, HALISHA_ARCHON, ASSASSIN_FROST);
+ registerQuestItems(COOLANT_REPAIR, ICE_CRYSTAL_FRAGMENT, HALISHA_BADGE);
+ addCondMinLevel(76, "aiken02.htm");
+ addCondClassId(ClassId.WARSMITH, "aiken03.htm");
+ }
+
+ @Override
+ public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
+ {
+ final QuestState st = getQuestState(player, false);
+ if (st == null)
+ {
+ return null;
+ }
+ String htmltext = event;
+ switch (event)
+ {
+ case "aiken02a.htm":
+ htmltext = "aiken5.htm";
+ break;
+ case "aiken01s.htm":
+ if (st.getCond() == 0)
+ {
+ st.startQuest();
+ st.setCond(1);
+ }
+ break;
+ case "jer2.htm":
+ if (st.getCond() == 1)
+ {
+ st.setCond(2);
+ }
+ break;
+ case "rifken2.htm":
+ if (st.getCond() == 2)
+ {
+ st.setCond(3);
+ }
+ break;
+ case "rifken4.htm":
+ if (st.getCond() == 4)
+ {
+ st.setCond(5);
+ }
+ takeItems(player, ICE_CRYSTAL_FRAGMENT, -1);
+ giveItems(player, COOLANT_REPAIR, 1);
+ break;
+ case "jer4.htm":
+ if (st.getCond() == 5)
+ {
+ st.setCond(6);
+ }
+ giveItems(player, AMULET_REZONANSA_PERVIY, 1);
+ takeItems(player, COOLANT_REPAIR, -1);
+ break;
+ case "stone12.htm":
+ if (st.getCond() == 6)
+ {
+ st.setCond(7);
+ }
+ break;
+ case "stone22.htm":
+ if (st.getCond() == 8)
+ {
+ addSpawn(ARCHANGEL_ICONOCLASSIS, npc, true, 0, true);
+ st.setCond(9);
+ }
+ break;
+ case "stone25.htm":
+ if (st.getCond() == 10)
+ {
+ st.setCond(11);
+ }
+ break;
+ case "jer6.htm":
+ if (st.getCond() == 11)
+ {
+ st.setCond(12);
+ }
+ break;
+ case "stone32.htm":
+ if (st.getCond() == 14)
+ {
+ st.setCond(15);
+ }
+ break;
+ case "stone41.htm":
+ if (st.getCond() == 15)
+ {
+ st.setCond(16);
+ }
+ addSpawn(ASSASSIN_FROST, npc, true, 0, true);
+ break;
+ case "erikrams2.htm":
+ if (st.getCond() == 16)
+ {
+ st.setCond(17);
+ }
+ giveItems(player, AMULET_REZONANSA_CHETVERTIY, 1);
+ break;
+ case "stone43.htm":
+ if (st.getCond() == 17)
+ {
+ st.setCond(18);
+ }
+ break;
+ case "aiken7.htm":
+ if (st.getCond() == 18)
+ {
+ if ((player.getLevel() < 76) && (player.getBaseClass() != 57))
+ {
+ htmltext = "30849-nolvl.htm";
+ }
+ addExpAndSp(player, 3100000, 103000);
+ rewardItems(player, BOOKKUKURU, 1);
+ takeItems(player, AMULET_REZONANSA_PERVIY, -1);
+ takeItems(player, AMULET_REZONANSA_VTOROI, -1);
+ takeItems(player, AMULET_REZONANSA_TRETIY, -1);
+ takeItems(player, AMULET_REZONANSA_CHETVERTIY, -1);
+ takeItems(player, HALISHA_BADGE, -1);
+ st.exitQuest(false, true);
+ player.setClassId(118);
+ player.setBaseClass(118);
+ player.broadcastUserInfo();
+ npc.broadcastPacket(new MagicSkillUse(npc, player, 5103, 1, 1000, 0));
+ }
+ break;
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onTalk(L2Npc npc, L2PcInstance talker)
+ {
+ final QuestState qs = getQuestState(talker, true);
+ String htmltext = getNoQuestMsg(talker);
+
+ switch (qs.getState())
+ {
+ case State.CREATED:
+ {
+ if (npc.getId() == BALTHAZAR)
+ {
+ htmltext = "aiken01.htm";
+ }
+ break;
+ }
+ case State.STARTED:
+ {
+ if (npc.getId() == BALTHAZAR)
+ {
+ if (qs.getCond() == 1)
+ {
+ htmltext = "aiken01s.htm";
+ }
+ if (qs.getCond() == 18)
+ {
+ htmltext = "aiken6.htm";
+ }
+
+ }
+ if (npc.getId() == TOBALD)
+ {
+ if (qs.getCond() == 1)
+ {
+ htmltext = "jer1.htm";
+ }
+ if (qs.getCond() == 2)
+ {
+ htmltext = "jer2.htm";
+ }
+ if (qs.getCond() == 5)
+ {
+ htmltext = "jer3.htm";
+ }
+ if (qs.getCond() == 6)
+ {
+ htmltext = "jer4.htm";
+ }
+ if (qs.getCond() == 11)
+ {
+ htmltext = "jer5.htm";
+ }
+ if (qs.getCond() == 12)
+ {
+ htmltext = "jer6.htm";
+ }
+ }
+ if (npc.getId() == MIHAI)
+ {
+ if (qs.getCond() == 2)
+ {
+ htmltext = "rifken1.htm";
+ }
+ if (qs.getCond() == 3)
+ {
+ htmltext = "rifken2.htm";
+ }
+ if (qs.getCond() == 4)
+ {
+ htmltext = "rifken3.htm";
+ }
+ }
+ if (npc.getId() == TABLET_OF_VISION_1)
+ {
+ if (qs.getCond() == 6)
+ {
+ htmltext = "stone11.htm";
+ }
+ if (qs.getCond() == 7)
+ {
+ htmltext = "stone12.htm";
+ }
+ }
+ if (npc.getId() == TABLET_OF_VISION_2)
+ {
+ if (qs.getCond() == 8)
+ {
+ htmltext = "stone21.htm";
+ }
+ if (qs.getCond() == 9)
+ {
+ htmltext = "stone23.htm";
+ }
+ if (qs.getCond() == 10)
+ {
+ htmltext = "stone24.htm";
+ }
+ if (qs.getCond() == 11)
+ {
+ htmltext = "stone25.htm";
+ }
+ }
+ if (npc.getId() == TABLET_OF_VISION_3)
+ {
+ if (qs.getCond() == 14)
+ {
+ htmltext = "stone31.htm";
+ }
+ if (qs.getCond() == 15)
+ {
+ htmltext = "stone32.htm";
+ }
+ }
+ if (npc.getId() == TABLET_OF_VISION_4)
+ {
+ if (qs.getCond() == 15)
+ {
+ htmltext = "stone40.htm";
+ }
+ if (qs.getCond() == 17)
+ {
+ htmltext = "stone42.htm";
+ }
+ if (qs.getCond() == 18)
+ {
+ htmltext = "stone43.htm";
+ }
+
+ }
+ if (npc.getId() == TOBALD_1)
+ {
+ if (qs.getCond() == 16)
+ {
+ htmltext = "erikrams1.htm";
+ }
+ if (qs.getCond() == 17)
+ {
+ htmltext = "erikrams2.htm";
+ }
+ }
+ break;
+ }
+ case State.COMPLETED:
+ {
+ htmltext = getAlreadyCompletedMsg(talker);
+ break;
+ }
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
+ {
+ final QuestState qs = getQuestState(killer, false);
+ if ((qs != null) && qs.isStarted() && Util.checkIfInRange(1500, npc, killer, true))
+ {
+ switch (npc.getId())
+ {
+ case ICE_MONSTER:
+ case SPIRIT_OF_A_DROWNED:
+ case SOUL_OF_COLD:
+ case FIEND_OF_COLD:
+ case GHOST_OF_SOLITUDE:
+ case SPIRIT_OF_COLD:
+ if (qs.getCond() == 3)
+ {
+ if (getQuestItemsCount(killer, ICE_CRYSTAL_FRAGMENT) < 50)
+ {
+ giveItemRandomly(killer, npc, ICE_CRYSTAL_FRAGMENT, 1, 50, 50, true);
+ }
+ if (getQuestItemsCount(killer, ICE_CRYSTAL_FRAGMENT) >= 50)
+ {
+ qs.setCond(4);
+ }
+ }
+ break;
+ case ARCHANGEL_ICONOCLASSIS:
+ if (qs.getCond() == 9)
+ {
+ qs.setCond(10);
+ }
+ break;
+ case SPAMPLAND_WATCHMAN:
+ case FLAME_DRAKE:
+ case FIERY_IFRIT:
+ case IKEDIT:
+ if (qs.getCond() == 12)
+ {
+ if (getQuestItemsCount(killer, HALISHA_BADGE) < 701)
+ {
+ giveItemRandomly(killer, npc, HALISHA_BADGE, 1, 701, 50, true);
+ if (getQuestItemsCount(killer, HALISHA_BADGE) >= 701)
+ {
+ addSpawn(HALISHA_ARCHON, npc, true, 0, true);
+ qs.setCond(13);
+ }
+ }
+ }
+ break;
+ case HALISHA_ARCHON:
+ if (qs.getCond() == 13)
+ {
+ if (!hasQuestItems(killer, AMULET_REZONANSA_TRETIY))
+ {
+ giveItemRandomly(killer, npc, AMULET_REZONANSA_TRETIY, 1, 1, 50, true);
+ }
+ qs.setCond(14);
+ }
+ break;
+ case ASSASSIN_FROST:
+ if (qs.getCond() == 16)
+ {
+ addSpawn(TOBALD_1, npc, true, 20000, true);
+ }
+ break;
+ }
+
+ if (qs.isCond(7))
+ {
+ int count = qs.getInt(KILL_COUNT_VAR);
+ if (npc.getId() == KEEPER_OF_THE_HOLY_EDICT)
+ {
+ if (count < 20)
+ {
+ qs.set(KILL_COUNT_VAR, ++count);
+ sendNpcLogList(killer);
+ }
+ }
+ if (count >= 20)
+ {
+ qs.setCond(8, true);
+ giveItems(killer, AMULET_REZONANSA_VTOROI, 1);
+ }
+ }
+ }
+ return super.onKill(npc, killer, isSummon);
+ }
+
+ @Override
+ public Set getNpcLogList(L2PcInstance player)
+ {
+ final QuestState qs = getQuestState(player, false);
+ if ((qs != null) && qs.isCond(7))
+ {
+ final Set holder = new HashSet<>(1);
+
+ // guardian of forbidden knowledge
+ final int guardiancount = qs.getInt(KILL_COUNT_VAR);
+ if (guardiancount > 0)
+ {
+ holder.add(new NpcLogListHolder(KEEPER_OF_THE_HOLY_EDICT, false, guardiancount));
+ }
+ return holder;
+ }
+ return super.getNpcLogList(player);
+ }
+}
\ No newline at end of file
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00100_SagaOfTheMaestro/aiken01.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00100_SagaOfTheMaestro/aiken01.htm
new file mode 100644
index 0000000000..4f3b1875e4
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00100_SagaOfTheMaestro/aiken01.htm
@@ -0,0 +1,6 @@
+
+Balthasar:
+
+Do you want to become a Maestro ?.
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00100_SagaOfTheMaestro/aiken01s.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00100_SagaOfTheMaestro/aiken01s.htm
new file mode 100644
index 0000000000..4e5993dff6
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00100_SagaOfTheMaestro/aiken01s.htm
@@ -0,0 +1,5 @@
+
+Balthasar:
+
+Balthasar advised you to meet with Master Tobald
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00100_SagaOfTheMaestro/aiken02.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00100_SagaOfTheMaestro/aiken02.htm
new file mode 100644
index 0000000000..5e65f46a5c
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00100_SagaOfTheMaestro/aiken02.htm
@@ -0,0 +1,7 @@
+
+Balthasar:
+
+My young friend, you do not have enough experience to become a Maestro. I see your passion and I hope that you will keep it in your heart, but it is not enough - only through the experience of battle you can acquire the power that will allow you not to deviate from your faith in the era of untruth.
+Come back when you are a little older and wiser. When you are ready, I will give you an assignment to check if you are ready to become a Maestro.
+(Quest for characters whose level is 76 or higher.)
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00100_SagaOfTheMaestro/aiken02a.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00100_SagaOfTheMaestro/aiken02a.htm
new file mode 100644
index 0000000000..44a2d241d7
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00100_SagaOfTheMaestro/aiken02a.htm
@@ -0,0 +1,7 @@
+
+Balthasar:
+
+Have not you already got the title Maestro?
+Â My brother, you do not have to go through the test of the squire again.
+Â Your duty is to fight for your faith and the glory of the lord.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00100_SagaOfTheMaestro/aiken03.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00100_SagaOfTheMaestro/aiken03.htm
new file mode 100644
index 0000000000..9bb049d229
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00100_SagaOfTheMaestro/aiken03.htm
@@ -0,0 +1,6 @@
+
+Balthasar:
+
+Apparently, you have already chosen your path.
+You do not need to perform the Maestro's task.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00100_SagaOfTheMaestro/aiken5.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00100_SagaOfTheMaestro/aiken5.htm
new file mode 100644
index 0000000000..768ae0e476
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00100_SagaOfTheMaestro/aiken5.htm
@@ -0,0 +1,9 @@
+
+Balthasar:
+
+Do you want to become a Maestro?
+Â Well, then you must pass Saga of Maestro,
+ To prove that you are not just a reckless, quick-tempered warrior, but
+Â A warrior with the soul of a true virtuoso. This is a form of ritual and the process of training,
+Â Who must fulfill all who wish to become a Maestro.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00100_SagaOfTheMaestro/aiken6.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00100_SagaOfTheMaestro/aiken6.htm
new file mode 100644
index 0000000000..08de57123a
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00100_SagaOfTheMaestro/aiken6.htm
@@ -0,0 +1,6 @@
+
+Balthasar:
+
+Congratulations! You have passed all the tests and are ready to become a Maestro!
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00100_SagaOfTheMaestro/aiken7.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00100_SagaOfTheMaestro/aiken7.htm
new file mode 100644
index 0000000000..fa0d41e8b6
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00100_SagaOfTheMaestro/aiken7.htm
@@ -0,0 +1,5 @@
+
+Balthasar:
+
+Congratulations! You have received the professions Maestro !!!
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00100_SagaOfTheMaestro/erikrams1.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00100_SagaOfTheMaestro/erikrams1.htm
new file mode 100644
index 0000000000..d973e7442a
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00100_SagaOfTheMaestro/erikrams1.htm
@@ -0,0 +1,7 @@
+
+Tobald:
+
+Thank you! You helped avenge me, I will give you the fourth amulet
+
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00100_SagaOfTheMaestro/erikrams2.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00100_SagaOfTheMaestro/erikrams2.htm
new file mode 100644
index 0000000000..f885abb959
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00100_SagaOfTheMaestro/erikrams2.htm
@@ -0,0 +1,5 @@
+
+Тобальд:
+
+Now activate the last stone
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00100_SagaOfTheMaestro/jer1.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00100_SagaOfTheMaestro/jer1.htm
new file mode 100644
index 0000000000..300bc7c4f4
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00100_SagaOfTheMaestro/jer1.htm
@@ -0,0 +1,6 @@
+
+Tobald:
+
+Wilma-3, the time machine designed by Master Toma, broke down. The student of Tobald Mihai must repair its cooling system. Why do not you talk to her?
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00100_SagaOfTheMaestro/jer2.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00100_SagaOfTheMaestro/jer2.htm
new file mode 100644
index 0000000000..f27f4373c6
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00100_SagaOfTheMaestro/jer2.htm
@@ -0,0 +1,5 @@
+
+Tobald:
+
+Wilma-3, the time machine designed by Master Toma, broke down. The student of Tobald Mihai must repair its cooling system. Why do not you talk to her?
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00100_SagaOfTheMaestro/jer3.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00100_SagaOfTheMaestro/jer3.htm
new file mode 100644
index 0000000000..353878d139
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00100_SagaOfTheMaestro/jer3.htm
@@ -0,0 +1,6 @@
+
+Tobald:
+
+Did you bring the Cooling Device?
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00100_SagaOfTheMaestro/jer4.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00100_SagaOfTheMaestro/jer4.htm
new file mode 100644
index 0000000000..d5505fe099
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00100_SagaOfTheMaestro/jer4.htm
@@ -0,0 +1,5 @@
+
+Tobald:
+
+You have received the Resonance Amulet. Activate the Stone of Knowledge to the south of the Tower of Insolence.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00100_SagaOfTheMaestro/jer5.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00100_SagaOfTheMaestro/jer5.htm
new file mode 100644
index 0000000000..203d4d4b92
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00100_SagaOfTheMaestro/jer5.htm
@@ -0,0 +1,6 @@
+
+Tobald:
+
+Have you come for the third Amulet of Resonance?
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00100_SagaOfTheMaestro/jer6.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00100_SagaOfTheMaestro/jer6.htm
new file mode 100644
index 0000000000..f2a7d4f764
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00100_SagaOfTheMaestro/jer6.htm
@@ -0,0 +1,5 @@
+
+Tobald:
+
+Tobald says that the third Amulet of Resonance is in Archon Halisha. To summon him, you need to destroy his minions in the Molten Tops and collect the Badges of Halisha. Destroy these monsters and call Archon Halisha. The aim of the hunt is the Ranger of the Swamp, Burning Drake, Flamey Ifrit, Ikedith
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00100_SagaOfTheMaestro/rifken1.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00100_SagaOfTheMaestro/rifken1.htm
new file mode 100644
index 0000000000..c859b5b2a0
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00100_SagaOfTheMaestro/rifken1.htm
@@ -0,0 +1,6 @@
+
+Mihai:
+
+To fix the Wilma cooling system # 3, I need the Fragments of the Crystal of Cold. They can be obtained by destroying monsters to the southeast of Aden.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00100_SagaOfTheMaestro/rifken2.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00100_SagaOfTheMaestro/rifken2.htm
new file mode 100644
index 0000000000..b6dff0ba33
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00100_SagaOfTheMaestro/rifken2.htm
@@ -0,0 +1,5 @@
+
+Mihai:
+
+Obtain Fragments of the Crystal of Cold.These pieces can be obtained by destroying monsters to the southeast of Aden.The aim of the hunt is the Ice Monster, the Spirit of the Drowned One, the Soul of Cold, the Ghost of Solitude, the Cold Beast, the Spirit of Coldness.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00100_SagaOfTheMaestro/rifken3.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00100_SagaOfTheMaestro/rifken3.htm
new file mode 100644
index 0000000000..6109f7c236
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00100_SagaOfTheMaestro/rifken3.htm
@@ -0,0 +1,6 @@
+
+Mihai:
+
+Did you get all the ingredients?
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00100_SagaOfTheMaestro/rifken4.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00100_SagaOfTheMaestro/rifken4.htm
new file mode 100644
index 0000000000..1d2951e95f
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00100_SagaOfTheMaestro/rifken4.htm
@@ -0,0 +1,5 @@
+
+Mihai:
+
+Mihai repaired the Wilma cooling system # 3! Take the Cooling Device to Master Tobald in Dion.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00100_SagaOfTheMaestro/stone11.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00100_SagaOfTheMaestro/stone11.htm
new file mode 100644
index 0000000000..a1c831de53
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00100_SagaOfTheMaestro/stone11.htm
@@ -0,0 +1,5 @@
+
+Stone of knowledge:
+You slash like a stone starts to vibrate
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00100_SagaOfTheMaestro/stone12.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00100_SagaOfTheMaestro/stone12.htm
new file mode 100644
index 0000000000..b36c31ed98
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00100_SagaOfTheMaestro/stone12.htm
@@ -0,0 +1,4 @@
+
+Stone of knowledge:
+You brought the amulet and the inscription appeared on the stone - The second Amulet of Resonance is at the St Lawrence Streets next to the second Stone of Knowledge.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00100_SagaOfTheMaestro/stone21.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00100_SagaOfTheMaestro/stone21.htm
new file mode 100644
index 0000000000..246b2b53de
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00100_SagaOfTheMaestro/stone21.htm
@@ -0,0 +1,5 @@
+
+Stone of knowledge:
+You slash like a stone starts to vibrate
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00100_SagaOfTheMaestro/stone22.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00100_SagaOfTheMaestro/stone22.htm
new file mode 100644
index 0000000000..98ec2c314b
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00100_SagaOfTheMaestro/stone22.htm
@@ -0,0 +1,4 @@
+
+Stone of knowledge:
+As soon as you approached the stone, the Archangel Iconoclasis appeared. Obviously, he is trying to stop you. Destroy it.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00100_SagaOfTheMaestro/stone23.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00100_SagaOfTheMaestro/stone23.htm
new file mode 100644
index 0000000000..d323517e9b
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00100_SagaOfTheMaestro/stone23.htm
@@ -0,0 +1,4 @@
+
+Stone of knowledge:
+Now you can go in search of the third stone
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00100_SagaOfTheMaestro/stone24.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00100_SagaOfTheMaestro/stone24.htm
new file mode 100644
index 0000000000..1ff4e7e7cc
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00100_SagaOfTheMaestro/stone24.htm
@@ -0,0 +1,5 @@
+
+Stone of knowledge:
+You slash like a stone starts to vibrate
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00100_SagaOfTheMaestro/stone25.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00100_SagaOfTheMaestro/stone25.htm
new file mode 100644
index 0000000000..ccc7cb3c9c
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00100_SagaOfTheMaestro/stone25.htm
@@ -0,0 +1,4 @@
+
+Stone of knowledge:
+After activating the stone, you learned that the third Amulet of Resonance is in Master Tobald in Dion. Get him the Resonance Amulet.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00100_SagaOfTheMaestro/stone31.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00100_SagaOfTheMaestro/stone31.htm
new file mode 100644
index 0000000000..54a9be7075
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00100_SagaOfTheMaestro/stone31.htm
@@ -0,0 +1,5 @@
+
+Stone of knowledge:
+You slash like a stone starts to vibrate
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00100_SagaOfTheMaestro/stone32.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00100_SagaOfTheMaestro/stone32.htm
new file mode 100644
index 0000000000..87b45afbdc
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00100_SagaOfTheMaestro/stone32.htm
@@ -0,0 +1,4 @@
+
+Stone of knowledge:
+When the activation of the third Stone of Knowledge ended, he showed the location of the next stone. The fourth Stone of Knowledge is in the area of the Dwarven Village, and the last Amulet of Resonance is near the stone. Go there.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00100_SagaOfTheMaestro/stone40.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00100_SagaOfTheMaestro/stone40.htm
new file mode 100644
index 0000000000..caa62e9a38
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00100_SagaOfTheMaestro/stone40.htm
@@ -0,0 +1,7 @@
+
+You came to the stone and he began to vibrate
+
+The last amulet is in the Ice Assassin
+Are you ready to fight him?
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00100_SagaOfTheMaestro/stone41.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00100_SagaOfTheMaestro/stone41.htm
new file mode 100644
index 0000000000..18f87fa297
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00100_SagaOfTheMaestro/stone41.htm
@@ -0,0 +1,3 @@
+
+Ice Assassin appeared nearby
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00100_SagaOfTheMaestro/stone42.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00100_SagaOfTheMaestro/stone42.htm
new file mode 100644
index 0000000000..9ecc4d4acc
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00100_SagaOfTheMaestro/stone42.htm
@@ -0,0 +1,5 @@
+
+Stone of knowledge:
+You slash like a stone starts to vibrate
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00100_SagaOfTheMaestro/stone43.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00100_SagaOfTheMaestro/stone43.htm
new file mode 100644
index 0000000000..70395c9c72
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00100_SagaOfTheMaestro/stone43.htm
@@ -0,0 +1,5 @@
+
+Stone of knowledge:
+You successfully activated the last stone
+Activating the last Stone of Knowledge, you completed your pilgrimage and gained the power of the Master. Return to Balthasar in the Hunters Village.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00348_AnArrogantSearch/30864-01.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00348_AnArrogantSearch/30864-01.htm
new file mode 100644
index 0000000000..f0434300ee
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00348_AnArrogantSearch/30864-01.htm
@@ -0,0 +1,5 @@
+Magister Hanellin:
+Yes. By the order of the Gods, he is guarded these days by angels and warriors of the Platinum Clan. Together with the rest of the productions of evil he is imprisoned in the Tower of Insolence.
+Get to it will not be easy. Have to persuade him or fight him ... It does not matter. We must help this world by finding out the secret of Baium.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00348_AnArrogantSearch/30864-02.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00348_AnArrogantSearch/30864-02.htm
new file mode 100644
index 0000000000..b41105b9ae
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00348_AnArrogantSearch/30864-02.htm
@@ -0,0 +1,6 @@
+Magister Hanellin:
+Hmm, will you believe me if I say that for peace in the whole world and the happiness of all living in it? Well, it's not really a lie, but ...
+Listen, I just thought that you would be interested in this story, so I turned to you. Who knows what you will find ... The greatest mystery, and maybe the greatest treasure ...
+Please think about it. If anyone is able to cope with this task, it's for you. And if you agree, I am ready to offer you my help.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00348_AnArrogantSearch/30864-03.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00348_AnArrogantSearch/30864-03.htm
new file mode 100644
index 0000000000..5a799c9c66
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00348_AnArrogantSearch/30864-03.htm
@@ -0,0 +1,6 @@
+Master Hanellin:
+Good. But first you must pass the test. This will save us a lot of time.
+Hmm ... Do not worry, you do not have to go far. Forbidden Gates
+Here next, is not it? Go there and kill Blue Drake and Predatory Larvae.
+As a sign of success, get the Demon Armor.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00348_AnArrogantSearch/30864-04.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00348_AnArrogantSearch/30864-04.htm
new file mode 100644
index 0000000000..6bde8fd95a
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00348_AnArrogantSearch/30864-04.htm
@@ -0,0 +1,4 @@
+Magister Hanellin:
+You were instructed to activate a teleportation device called the Angel Whirlwind, which is located in the Tower of Insolence
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00348_AnArrogantSearch/30864-05.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00348_AnArrogantSearch/30864-05.htm
new file mode 100644
index 0000000000..77a7339a3c
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00348_AnArrogantSearch/30864-05.htm
@@ -0,0 +1,5 @@
+Magister Hanellin:
+Master Hanelin asks you to speak with Claudia Atebalt from Aden.
+She will tell you about where is one of the sacred relics. It will be marked on the map with a red flag.
+Your task is to get a relic at any cost.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00348_AnArrogantSearch/30864-06.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00348_AnArrogantSearch/30864-06.htm
new file mode 100644
index 0000000000..0f8fd51011
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00348_AnArrogantSearch/30864-06.htm
@@ -0,0 +1,3 @@
+Magister Hanellin:
+Please, go to the next shop and bring meBig Healing Potion .
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00348_AnArrogantSearch/30864-07.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00348_AnArrogantSearch/30864-07.htm
new file mode 100644
index 0000000000..0ec4d62339
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00348_AnArrogantSearch/30864-07.htm
@@ -0,0 +1,3 @@
+Magister Hanellin:
+Magister Khanelin asks you to kill the Lords or Shamans of the Platinum Clan and get 100 pieces. White Fabric.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00348_AnArrogantSearch/30864-07a.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00348_AnArrogantSearch/30864-07a.htm
new file mode 100644
index 0000000000..4b77c3f583
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00348_AnArrogantSearch/30864-07a.htm
@@ -0,0 +1,5 @@
+Magister Hanellin:
+You have to choose whom you will be hunting
+
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00348_AnArrogantSearch/30864-08.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00348_AnArrogantSearch/30864-08.htm
new file mode 100644
index 0000000000..adc31db0a1
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00348_AnArrogantSearch/30864-08.htm
@@ -0,0 +1,3 @@
+Magister Hanellin:
+Magister Hanelin asks you to kill Guardian Angels or Seal Angels and get 1000 pcs. White Fabric.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00348_AnArrogantSearch/30864-09.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00348_AnArrogantSearch/30864-09.htm
new file mode 100644
index 0000000000..43f0f9ccad
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00348_AnArrogantSearch/30864-09.htm
@@ -0,0 +1,4 @@
+Magister Hanellin:
+You were not even in the Seal of Shilen? Forgot what I said?
+You must go to theSeal of Shilen and kill the Crimson Drake and Kadios ,after which, bring me the Shell of Monster.
+Understand? Go away!
\ No newline at end of file
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00348_AnArrogantSearch/30864-10.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00348_AnArrogantSearch/30864-10.htm
new file mode 100644
index 0000000000..db89dd103f
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00348_AnArrogantSearch/30864-10.htm
@@ -0,0 +1,5 @@
+Magister Hanellin:
+Did you bring the Shell of Monster?
+Good. At least you will not die from the first scratch now. You have undertaken a very dangerous task.
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00348_AnArrogantSearch/30864-11.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00348_AnArrogantSearch/30864-11.htm
new file mode 100644
index 0000000000..a88b5aa152
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00348_AnArrogantSearch/30864-11.htm
@@ -0,0 +1,6 @@
+Magister Hanellin:
+The Book of Saint One! You have found a relic! Great work! I use it to find out how you can resist a mad king. In the meantime, I have to ask you for one more favor.
+Nothing complicated ... Oh, how tired I am! Please, go to the next shop and bring me Major Healing Potion.By your return, I just have it all figured out.
+I apologize for making this request, but please do it for me.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00348_AnArrogantSearch/30864-12.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00348_AnArrogantSearch/30864-12.htm
new file mode 100644
index 0000000000..1a7a9cf380
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00348_AnArrogantSearch/30864-12.htm
@@ -0,0 +1,7 @@
+Magister Hanellin:
+Oh, you came? Did you bring what I asked for? Thank you. Give me here ... My advice to you: if you suddenly feel weak, drink the Potion of Healing.
+Hmm! Thank you. Finally, my studies are also over. So, listen. You will need this ... That everything went according to plan.
+From The Book of Saint we learned that the Angelic Whirlwind can be repaired with a special cloth. But this one cloth will not be enough.
+As I said before, we need the Holy Blood. She needs to soak the fabric. True, the amount of blood that we have is not enough to completely color the fabric ...
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00348_AnArrogantSearch/30864-13.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00348_AnArrogantSearch/30864-13.htm
new file mode 100644
index 0000000000..5bc39fa519
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00348_AnArrogantSearch/30864-13.htm
@@ -0,0 +1,4 @@
+Magister Hanellin:
+Have you brought the White Cloth?
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00348_AnArrogantSearch/30864.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00348_AnArrogantSearch/30864.htm
new file mode 100644
index 0000000000..b3774f2d7f
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00348_AnArrogantSearch/30864.htm
@@ -0,0 +1,8 @@
+Master Hanellin:
+Have you ever heard of the ruler of an ancient empire who sought immortality?
+For this, the Gods imprisoned him in a high tower. Locked down for many centuries,
+doomed to live forever, the emperor eventually went insane and turned into a monster.
+Since then, the ban on the search for eternal life - this is one of the immutable laws of the ancient empire.
+Immortality is one of the most protected secrets. And this mystery is known to the emperor.
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00348_AnArrogantSearch/31001-01.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00348_AnArrogantSearch/31001-01.htm
new file mode 100644
index 0000000000..6f9ed9ab6e
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00348_AnArrogantSearch/31001-01.htm
@@ -0,0 +1,3 @@
+Claudia Athebaldt:
+Hurry to activate Angelic vortex.
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00348_AnArrogantSearch/31001.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00348_AnArrogantSearch/31001.htm
new file mode 100644
index 0000000000..c7ee937f24
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00348_AnArrogantSearch/31001.htm
@@ -0,0 +1,4 @@
+Claudia Athebaldt:
+Sacred Relic is near the Tower of Insolence, I will show you
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00348_AnArrogantSearch/31646-01.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00348_AnArrogantSearch/31646-01.htm
new file mode 100644
index 0000000000..d9154a7d6b
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00348_AnArrogantSearch/31646-01.htm
@@ -0,0 +1,3 @@
+
+The Guardian of the Stone appeared
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00348_AnArrogantSearch/31646.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00348_AnArrogantSearch/31646.htm
new file mode 100644
index 0000000000..f1828d9073
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00348_AnArrogantSearch/31646.htm
@@ -0,0 +1,4 @@
+The Table of Vision:
+You feel the vibration of a stone
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00348_AnArrogantSearch/Q00348_AnArrogantSearch.java b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00348_AnArrogantSearch/Q00348_AnArrogantSearch.java
new file mode 100644
index 0000000000..c812704a03
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00348_AnArrogantSearch/Q00348_AnArrogantSearch.java
@@ -0,0 +1,277 @@
+package quests.Q00348_AnArrogantSearch;
+
+import com.l2jmobius.gameserver.model.actor.L2Npc;
+import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
+import com.l2jmobius.gameserver.model.quest.Quest;
+import com.l2jmobius.gameserver.model.quest.QuestState;
+import com.l2jmobius.gameserver.model.quest.State;
+import com.l2jmobius.gameserver.network.serverpackets.RadarControl;
+
+//SanyaDC
+
+public class Q00348_AnArrogantSearch extends Quest
+{
+ public final int HANELLIN = 30864;
+ public final int CLAUDIA_ATHEBALT = 31001;
+ public final int TABLE_OF_VISION = 31646;
+
+ // mobs
+ public final int CRIMSON_DRAKE = 20670;
+ public final int KADIOS = 20671;
+ public final int PLATINUM_TRIBE_SHAMAN = 20828;
+ public final int PLATINUM_TRIBE_PREFECT = 20829;
+ public final int GUARDIAN_ANGEL = 20830;
+ public final int SEAL_ANGEL = 20831;
+ public final int STONE_WATCHMAN_EZEKIEL = 27296;
+
+ // Items
+ public final int SHELL_OF_MONSTERS = 14857;
+ public final int BOOK_OF_SAINT = 4397;
+ public final int HEALING_POTION = 1061;
+ public final int WHITE_CLOTH_PLATINUM = 4294;
+ public final int WHITE_CLOTH_ANGLE = 4400;
+ private static final int BLOODED_FABRIC = 4295;
+
+ public Q00348_AnArrogantSearch()
+ {
+ super(348);
+ addStartNpc(HANELLIN);
+ addTalkId(HANELLIN, CLAUDIA_ATHEBALT, TABLE_OF_VISION);
+ addKillId(CRIMSON_DRAKE, KADIOS, PLATINUM_TRIBE_SHAMAN, PLATINUM_TRIBE_PREFECT, GUARDIAN_ANGEL, SEAL_ANGEL, STONE_WATCHMAN_EZEKIEL);
+ registerQuestItems(SHELL_OF_MONSTERS, BOOK_OF_SAINT, HEALING_POTION, WHITE_CLOTH_PLATINUM, WHITE_CLOTH_ANGLE);
+ addCondMinLevel(60, "lvl.htm");
+ }
+
+ @Override
+ public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
+ {
+ final QuestState st = getQuestState(player, false);
+ if (st == null)
+ {
+ return null;
+ }
+ String htmltext = event;
+ switch (event)
+ {
+ case "30864.htm":
+ case "30864-01.htm":
+ case "30864-02.htm":
+ {
+ htmltext = event;
+ break;
+ }
+ case "30864-03.htm":
+ {
+ if (player.getLevel() >= 60)
+ {
+ st.startQuest();
+ st.setCond(2);
+ }
+ break;
+ }
+ case "30864-04.htm":
+ {
+ if (st.getCond() == 3)
+ {
+ st.setCond(4);
+ takeItems(player, SHELL_OF_MONSTERS, -1);
+ }
+ break;
+ }
+ case "30864-05.htm":
+ {
+ if (st.getCond() == 4)
+ {
+ st.setCond(5);
+ }
+ break;
+ }
+ case "31001-01.htm":
+ {
+ if (st.getCond() == 5)
+ {
+ addRadar(player, 120112, 30912, -3616);
+ }
+ break;
+ }
+ case "31646-01.htm":
+ {
+ if (st.getCond() == 5)
+ {
+ addSpawn(STONE_WATCHMAN_EZEKIEL, npc, true, 0, true);
+ }
+ st.getPlayer().sendPacket(new RadarControl(2, 2, 0, 0, 0));
+ break;
+ }
+ case "30864-06.htm":
+ {
+ if (st.getCond() == 6)
+ {
+ st.setCond(7);
+ }
+ break;
+ }
+ case "30864-07.htm":
+ {
+ if (st.getCond() == 7)
+ {
+ takeItems(player, HEALING_POTION, 1);
+ }
+ st.setCond(8);
+ break;
+ }
+ case "30864-08.htm":
+ {
+ if (st.getCond() == 7)
+ {
+ takeItems(player, HEALING_POTION, 1);
+ }
+ st.setCond(9);
+ break;
+ }
+ case "end.htm":
+ {
+ if ((st.getCond() == 10) || (st.getCond() == 11))
+ {
+ takeItems(player, WHITE_CLOTH_PLATINUM, -1);
+ takeItems(player, WHITE_CLOTH_ANGLE, -1);
+ rewardItems(player, BLOODED_FABRIC, 1);
+ st.exitQuest(true, true);
+ }
+ break;
+ }
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onTalk(L2Npc npc, L2PcInstance talker)
+ {
+ final QuestState qs = getQuestState(talker, true);
+ String htmltext = getNoQuestMsg(talker);
+
+ switch (qs.getState())
+ {
+ case State.CREATED:
+ {
+ if (npc.getId() == HANELLIN)
+ {
+ htmltext = "30864.htm";
+ }
+ break;
+ }
+ case State.STARTED:
+ {
+ if (npc.getId() == HANELLIN)
+ {
+ switch (qs.getCond())
+ {
+ case 2:
+ htmltext = "30864-09.htm";
+ break;
+ case 3:
+ htmltext = "30864-10.htm";
+ break;
+ case 4:
+ htmltext = "30864-04.htm";
+ break;
+ case 5:
+ htmltext = "30864-05.htm";
+ break;
+ case 6:
+ htmltext = "30864-11.htm";
+ break;
+ case 7:
+ if ((qs.getCond() == 7) && (getQuestItemsCount(talker, HEALING_POTION) > 0))
+ {
+ htmltext = "30864-12.htm";
+ }
+ else
+ {
+ htmltext = "noz.htm";
+ }
+ break;
+ case 9:
+ htmltext = "30864-07.htm";
+ break;
+ case 10:
+ htmltext = "30864-13.htm";
+ break;
+ case 11:
+ htmltext = "30864-13.htm";
+ break;
+ }
+ }
+ if (npc.getId() == CLAUDIA_ATHEBALT)
+ {
+ if (qs.getCond() == 5)
+ {
+ htmltext = "31001.htm";
+ }
+ }
+ if (npc.getId() == TABLE_OF_VISION)
+ {
+ if (qs.getCond() == 5)
+ {
+ htmltext = "31646.htm";
+ }
+ }
+ }
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
+ {
+ final QuestState qs = getQuestState(killer, false);
+ switch (npc.getId())
+ {
+ case CRIMSON_DRAKE:
+ case KADIOS:
+ if (qs.getCond() == 2)
+ {
+ giveItemRandomly(killer, npc, SHELL_OF_MONSTERS, 1, 1, 50, true);
+ }
+ qs.setCond(3);
+ break;
+ case PLATINUM_TRIBE_SHAMAN:
+ case PLATINUM_TRIBE_PREFECT:
+
+ if (qs.getCond() == 8)
+ {
+ if (getQuestItemsCount(killer, WHITE_CLOTH_PLATINUM) < 100)
+ {
+ giveItemRandomly(killer, npc, WHITE_CLOTH_PLATINUM, 1, 100, 50, true);
+ }
+ if (getQuestItemsCount(killer, WHITE_CLOTH_PLATINUM) >= 100)
+ {
+ qs.setCond(10);
+ }
+ }
+ break;
+ case GUARDIAN_ANGEL:
+ case SEAL_ANGEL:
+ if (qs.getCond() == 9)
+ {
+ if (getQuestItemsCount(killer, WHITE_CLOTH_ANGLE) < 1000)
+ {
+ giveItemRandomly(killer, npc, WHITE_CLOTH_ANGLE, 1, 1000, 50, true);
+ }
+ if (getQuestItemsCount(killer, WHITE_CLOTH_ANGLE) >= 1000)
+ {
+ qs.setCond(11);
+ }
+ }
+ break;
+ case STONE_WATCHMAN_EZEKIEL:
+ if (qs.getCond() == 5)
+ {
+ giveItems(killer, BOOK_OF_SAINT, 1);
+ }
+ qs.setCond(6);
+ break;
+ }
+ return null;
+ }
+}
\ No newline at end of file
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00348_AnArrogantSearch/end.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00348_AnArrogantSearch/end.htm
new file mode 100644
index 0000000000..b9026b806b
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00348_AnArrogantSearch/end.htm
@@ -0,0 +1,3 @@
+Magister Hanellin:
+Congratulations on completing the task. This is a reward for you!
+
\ No newline at end of file
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00348_AnArrogantSearch/lvl.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00348_AnArrogantSearch/lvl.htm
new file mode 100644
index 0000000000..ad6ee0e801
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00348_AnArrogantSearch/lvl.htm
@@ -0,0 +1,4 @@
+Magister Hanellin:
+Listen ... I'll tell you a story about an ancient king who received eternal life, but he paid for it, and the gods imprisoned him in a high tower. Having spent many, many years in captivity, he went mad and turned into a monster. The key to eternal life, the mountains of the treasures of the ancient empire ... and the secrets enveloping the seal ... That's what the reward of this king is.
+(Quest is only available to characters of level 60 or higher.)
+
\ No newline at end of file
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00348_AnArrogantSearch/noz.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00348_AnArrogantSearch/noz.htm
new file mode 100644
index 0000000000..3add7d12ea
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00348_AnArrogantSearch/noz.htm
@@ -0,0 +1,3 @@
+Magister Hanellin:
+You do not have Potions.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/QuestMasterHandler.java b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/QuestMasterHandler.java
index 490bf6562e..b213c93faf 100644
--- a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/QuestMasterHandler.java
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/QuestMasterHandler.java
@@ -24,6 +24,37 @@ import quests.Q00002_WhatWomenWant.Q00002_WhatWomenWant;
import quests.Q00003_WillTheSealBeBroken.Q00003_WillTheSealBeBroken;
import quests.Q00004_LongLiveThePaagrioLord.Q00004_LongLiveThePaagrioLord;
import quests.Q00005_MinersFavor.Q00005_MinersFavor;
+import quests.Q00070_SagaOfThePhoenixKnight.Q00070_SagaOfThePhoenixKnight;
+import quests.Q00071_SagaOfEvasTemplar.Q00071_SagaOfEvasTemplar;
+import quests.Q00072_SagaOfTheSwordMuse.Q00072_SagaOfTheSwordMuse;
+import quests.Q00073_SagaOfTheDuelist.Q00073_SagaOfTheDuelist;
+import quests.Q00074_SagaOfTheDreadnought.Q00074_SagaOfTheDreadnought;
+import quests.Q00075_SagaOfTheTitan.Q00075_SagaOfTheTitan;
+import quests.Q00076_SagaOfTheGrandKhavatari.Q00076_SagaOfTheGrandKhavatari;
+import quests.Q00077_SagaOfTheDominator.Q00077_SagaOfTheDominator;
+import quests.Q00078_SagaOfTheDoomcryer.Q00078_SagaOfTheDoomcryer;
+import quests.Q00079_SagaOfTheAdventurer.Q00079_SagaOfTheAdventurer;
+import quests.Q00080_SagaOfTheWindRider.Q00080_SagaOfTheWindRider;
+import quests.Q00081_SagaOfTheGhostHunter.Q00081_SagaOfTheGhostHunter;
+import quests.Q00082_SagaOfTheSagittarius.Q00082_SagaOfTheSagittarius;
+import quests.Q00083_SagaOfTheMoonlightSentinel.Q00083_SagaOfTheMoonlightSentinel;
+import quests.Q00084_SagaOfTheGhostSentinel.Q00084_SagaOfTheGhostSentinel;
+import quests.Q00085_SagaOfTheCardinal.Q00085_SagaOfTheCardinal;
+import quests.Q00086_SagaOfTheHierophant.Q00086_SagaOfTheHierophant;
+import quests.Q00087_SagaOfEvasSaint.Q00087_SagaOfEvasSaint;
+import quests.Q00088_SagaOfTheArchmage.Q00088_SagaOfTheArchmage;
+import quests.Q00089_SagaOfTheMysticMuse.Q00089_SagaOfTheMysticMuse;
+import quests.Q00090_SagaOfTheStormScreamer.Q00090_SagaOfTheStormScreamer;
+import quests.Q00091_SagaOfTheArcanaLord.Q00091_SagaOfTheArcanaLord;
+import quests.Q00092_SagaOfTheElementalMaster.Q00092_SagaOfTheElementalMaster;
+import quests.Q00093_SagaOfTheSpectralMaster.Q00093_SagaOfTheSpectralMaster;
+import quests.Q00094_SagaOfTheSoultaker.Q00094_SagaOfTheSoultaker;
+import quests.Q00095_SagaOfTheHellKnight.Q00095_SagaOfTheHellKnight;
+import quests.Q00096_SagaOfTheSpectralDancer.Q00096_SagaOfTheSpectralDancer;
+import quests.Q00097_SagaOfTheShillienTemplar.Q00097_SagaOfTheShillienTemplar;
+import quests.Q00098_SagaOfTheShillienSaint.Q00098_SagaOfTheShillienSaint;
+import quests.Q00099_SagaOfTheFortuneSeeker.Q00099_SagaOfTheFortuneSeeker;
+import quests.Q00100_SagaOfTheMaestro.Q00100_SagaOfTheMaestro;
import quests.Q00101_SwordOfSolidarity.Q00101_SwordOfSolidarity;
import quests.Q00102_SeaOfSporesFever.Q00102_SeaOfSporesFever;
import quests.Q00103_SpiritOfCraftsman.Q00103_SpiritOfCraftsman;
@@ -119,6 +150,7 @@ import quests.Q00329_CuriosityOfADwarf.Q00329_CuriosityOfADwarf;
import quests.Q00331_ArrowOfVengeance.Q00331_ArrowOfVengeance;
import quests.Q00333_HuntOfTheBlackLion.Q00333_HuntOfTheBlackLion;
import quests.Q00344_1000YearsTheEndOfLamentation.Q00344_1000YearsTheEndOfLamentation;
+import quests.Q00348_AnArrogantSearch.Q00348_AnArrogantSearch;
import quests.Q00354_ConquestOfAlligatorIsland.Q00354_ConquestOfAlligatorIsland;
import quests.Q00355_FamilyHonor.Q00355_FamilyHonor;
import quests.Q00356_DigUpTheSeaOfSpores.Q00356_DigUpTheSeaOfSpores;
@@ -165,37 +197,37 @@ public class QuestMasterHandler
Q00003_WillTheSealBeBroken.class,
Q00004_LongLiveThePaagrioLord.class,
Q00005_MinersFavor.class,
- // TODO: Q00070_SagaOfThePhoenixKnight.class,
- // TODO: Q00071_SagaOfEvasTemplar.class,
- // TODO: Q00072_SagaOfTheSwordMuse.class,
- // TODO: Q00073_SagaOfTheDuelist.class,
- // TODO: Q00074_SagaOfTheDreadnought.class,
- // TODO: Q00075_SagaOfTheTitan.class,
- // TODO: Q00076_SagaOfTheGrandKhavatari.class,
- // TODO: Q00077_SagaOfTheDominator.class,
- // TODO: Q00078_SagaOfTheDoomcryer.class,
- // TODO: Q00079_SagaOfTheAdventurer.class,
- // TODO: Q00080_SagaOfTheWindRider.class,
- // TODO: Q00081_SagaOfTheGhostHunter.class,
- // TODO: Q00082_SagaOfTheSagittarius.class,
- // TODO: Q00083_SagaOfTheMoonlightSentinel.class,
- // TODO: Q00084_SagaOfTheGhostSentinel.class,
- // TODO: Q00085_SagaOfTheCardinal.class,
- // TODO: Q00086_SagaOfTheHierophant.class,
- // TODO: Q00087_SagaOfEvasSaint.class,
- // TODO: Q00088_SagaOfTheArchmage.class,
- // TODO: Q00089_SagaOfTheMysticMuse.class,
- // TODO: Q00090_SagaOfTheStormScreamer.class,
- // TODO: Q00091_SagaOfTheArcanaLord.class,
- // TODO: Q00092_SagaOfTheElementalMaster.class,
- // TODO: Q00093_SagaOfTheSpectralMaster.class,
- // TODO: Q00094_SagaOfTheSoultaker.class,
- // TODO: Q00095_SagaOfTheHellKnight.class,
- // TODO: Q00096_SagaOfTheSpectralDancer.class,
- // TODO: Q00097_SagaOfTheShillienTemplar.class,
- // TODO: Q00098_SagaOfTheShillienSaint.class,
- // TODO: Q00099_SagaOfTheFortuneSeeker.class,
- // TODO: Q00100_SagaOfTheMaestro.class,
+ Q00070_SagaOfThePhoenixKnight.class,
+ Q00071_SagaOfEvasTemplar.class,
+ Q00072_SagaOfTheSwordMuse.class,
+ Q00073_SagaOfTheDuelist.class,
+ Q00074_SagaOfTheDreadnought.class,
+ Q00075_SagaOfTheTitan.class,
+ Q00076_SagaOfTheGrandKhavatari.class,
+ Q00077_SagaOfTheDominator.class,
+ Q00078_SagaOfTheDoomcryer.class,
+ Q00079_SagaOfTheAdventurer.class,
+ Q00080_SagaOfTheWindRider.class,
+ Q00081_SagaOfTheGhostHunter.class,
+ Q00082_SagaOfTheSagittarius.class,
+ Q00083_SagaOfTheMoonlightSentinel.class,
+ Q00084_SagaOfTheGhostSentinel.class,
+ Q00085_SagaOfTheCardinal.class,
+ Q00086_SagaOfTheHierophant.class,
+ Q00087_SagaOfEvasSaint.class,
+ Q00088_SagaOfTheArchmage.class,
+ Q00089_SagaOfTheMysticMuse.class,
+ Q00090_SagaOfTheStormScreamer.class,
+ Q00091_SagaOfTheArcanaLord.class,
+ Q00092_SagaOfTheElementalMaster.class,
+ Q00093_SagaOfTheSpectralMaster.class,
+ Q00094_SagaOfTheSoultaker.class,
+ Q00095_SagaOfTheHellKnight.class,
+ Q00096_SagaOfTheSpectralDancer.class,
+ Q00097_SagaOfTheShillienTemplar.class,
+ Q00098_SagaOfTheShillienSaint.class,
+ Q00099_SagaOfTheFortuneSeeker.class,
+ Q00100_SagaOfTheMaestro.class,
Q00101_SwordOfSolidarity.class,
Q00102_SeaOfSporesFever.class,
Q00103_SpiritOfCraftsman.class,
@@ -290,10 +322,10 @@ public class QuestMasterHandler
Q00329_CuriosityOfADwarf.class,
Q00331_ArrowOfVengeance.class,
Q00333_HuntOfTheBlackLion.class,
+ Q00348_AnArrogantSearch.class,
Q00374_WhisperOfDreamsPart1.class,
Q00375_WhisperOfDreamsPart2.class,
Q00344_1000YearsTheEndOfLamentation.class,
- // Q00348_AnArrogantSearch.class,
Q00354_ConquestOfAlligatorIsland.class,
Q00355_FamilyHonor.class,
Q00356_DigUpTheSeaOfSpores.class,
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/spawns/Aden/Aden.xml b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/spawns/Aden/Aden.xml
index bb3a0e1b76..ea8736b9bb 100644
--- a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/spawns/Aden/Aden.xml
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/spawns/Aden/Aden.xml
@@ -146,6 +146,15 @@
+
+
+
+
+
+
+
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/spawns/Aden/AdenMonsterSpawns.xml b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/spawns/Aden/AdenMonsterSpawns.xml
index 8d8db3ed69..64e6ad58c6 100644
--- a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/spawns/Aden/AdenMonsterSpawns.xml
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/spawns/Aden/AdenMonsterSpawns.xml
@@ -3787,6 +3787,135 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/spawns/Goddard/Goddard.xml b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/spawns/Goddard/Goddard.xml
index 0744b430fb..c6b32d6881 100644
--- a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/spawns/Goddard/Goddard.xml
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/spawns/Goddard/Goddard.xml
@@ -2,7 +2,7 @@
-
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/spawns/Others/16_22.xml b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/spawns/Others/16_22.xml
new file mode 100644
index 0000000000..0c7e35f7bf
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/spawns/Others/16_22.xml
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/spawns/Others/16_24.xml b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/spawns/Others/16_24.xml
new file mode 100644
index 0000000000..ceab479edd
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/spawns/Others/16_24.xml
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+