Jelajahi Sumber

Illusion of Moonlight (#6637)

Fixes #6453 
Implemented Illusion of Moonlight
Implemented related monsters and enchanter

Thanks to @crazy-arashi @Atemo @Lemongrass3110  @secretdataz 
Co-authored-by: Atemo <capucrath@gmail.com>
Credits to @crazy-arashi for the initial script release
Everade 3 tahun lalu
induk
melakukan
92c3e19621

+ 12 - 0
db/mob_chat_db.yml

@@ -114,6 +114,18 @@ Body:
     Dialog: Yes! Yearn for your freedom from this confined place, your captivity here will be permanent !!
   - Id: 41
     Dialog: Arrival!
+  - Id: 51
+    Dialog: I will not forgive humans!!
+  - Id: 52 # !todo Unknown dialogue
+    Dialog: I will not forgive humans!!
+  - Id: 53
+    Dialog: I will save you!
+  - Id: 54 # !todo Unknown dialogue
+    Dialog: I will save you!
+  - Id: 55
+    Dialog: This is the truth! Hahahahah!
+  - Id: 58 # !todo Unknown dialogue
+    Dialog: Attack!
 
 Footer:
   Imports:

+ 378 - 16
db/re/mob_db.yml

@@ -89266,22 +89266,384 @@ Body:
 #    AegisName: ILL_BOMI
 #  - Id: 3757
 #    AegisName: ILL_DRACULA
-#  - Id: 3758
-#    AegisName: ILL_MOONLIGHT
-#  - Id: 3759
-#    AegisName: ILL_NINE_TAIL
-#  - Id: 3760
-#    AegisName: ILL_MUNAK
-#  - Id: 3761
-#    AegisName: ILL_BON_GUN
-#  - Id: 3762
-#    AegisName: ILL_SOHEE
-#  - Id: 3763
-#    AegisName: ILL_ARCHER_SKELETON
-#  - Id: 3764
-#    AegisName: ILL_HIGHWIZARD
-#  - Id: 3765
-#    AegisName: ILL_FURY_HERO
+  - Id: 3758
+    AegisName: ILL_MOONLIGHT
+    Name: Angry Moonlight Flower
+    Level: 118
+    Hp: 4287803
+    BaseExp: 1403238
+    JobExp: 962759
+    MvpExp: 701619
+    Attack: 4878
+    Attack2: 2797
+    Defense: 254
+    MagicDefense: 81
+    Str: 166
+    Agi: 205
+    Vit: 150
+    Int: 167
+    Dex: 290
+    Luk: 240
+    AttackRange: 1
+    SkillRange: 10
+    ChaseRange: 12
+    Size: Medium
+    Race: Demon
+    Element: Fire
+    ElementLevel: 3
+    WalkSpeed: 150
+    AttackDelay: 1276
+    AttackMotion: 576
+    DamageMotion: 288
+    Ai: 19
+    Class: Boss
+    Modes:
+      Mvp: true
+      KnockBackImmune: true
+    MvpDrops:
+      - Item: Old_Violet_Box
+        Rate: 5000
+      - Item: Yggdrasilberry
+        Rate: 2000
+      - Item: Illusion_Stone
+        Rate: 500
+    Drops:
+      - Item: Bradium
+        Rate: 5000
+      - Item: Hazy_Dream_Fragment
+        Rate: 3000
+      - Item: Spectral_Spear
+        Rate: 500
+      - Item: Moonlight_Sword
+        Rate: 100
+      - Item: Silver_Knife_Of_Chaste
+        Rate: 600
+      - Item: Staff_Of_Bordeaux
+        Rate: 100
+      - Item: AngerMoonlight_Card
+        Rate: 1
+        StealProtected: true
+  - Id: 3759
+    AegisName: ILL_NINE_TAIL
+    Name: Angry Nine Tail
+    Level: 116
+    Hp: 21875
+    BaseExp: 2315
+    JobExp: 2169
+    Attack: 965
+    Attack2: 214
+    Defense: 95
+    MagicDefense: 40
+    Str: 121
+    Agi: 73
+    Vit: 64
+    Int: 42
+    Dex: 212
+    Luk: 100
+    AttackRange: 1
+    SkillRange: 10
+    ChaseRange: 12
+    Size: Medium
+    Race: Brute
+    Element: Fire
+    ElementLevel: 3
+    WalkSpeed: 150
+    AttackDelay: 840
+    AttackMotion: 540
+    DamageMotion: 480
+    Ai: 19
+    Drops:
+      - Item: Fox_Tail
+        Rate: 3000
+      - Item: Glass_Bead
+        Rate: 200
+      - Item: Branch_Of_Dead_Tree
+        Rate: 100
+      - Item: Carnium
+        Rate: 100
+      - Item: Illusion_Gemstone
+        Rate: 200
+      - Item: Hazy_Dream_Fragment
+        Rate: 500
+      - Item: AngerNineTail_Card
+        Rate: 1
+        StealProtected: true
+  - Id: 3760
+    AegisName: ILL_MUNAK
+    Name: Resentful Munak
+    Level: 110
+    Hp: 17728
+    BaseExp: 1843
+    JobExp: 1876
+    Attack: 637
+    Attack2: 105
+    Defense: 77
+    MagicDefense: 15
+    Str: 103
+    Agi: 18
+    Vit: 50
+    Int: 20
+    Dex: 66
+    Luk: 20
+    AttackRange: 1
+    SkillRange: 10
+    ChaseRange: 12
+    Size: Medium
+    Race: Undead
+    Element: Undead
+    ElementLevel: 1
+    WalkSpeed: 200
+    AttackDelay: 2468
+    AttackMotion: 768
+    DamageMotion: 288
+    Ai: 19
+    Drops:
+      - Item: HazyMooncake
+        Rate: 1000
+      - Item: Munak_Turban
+        Rate: 10
+      - Item: Amulet
+        Rate: 20
+      - Item: HazyMooncake
+        Rate: 1000
+      - Item: Salty_Rice_Cake
+        Rate: 150
+      - Item: Poison_Herb_Seratum
+        Rate: 150
+      - Item: BitterMunak_Card
+        Rate: 1
+        StealProtected: true
+  - Id: 3761
+    AegisName: ILL_BON_GUN
+    Name: Resentful Bongun
+    Level: 112
+    Hp: 19077
+    BaseExp: 2137
+    JobExp: 1869
+    Attack: 826
+    Attack2: 215
+    Defense: 88
+    MagicDefense: 5
+    Str: 125
+    Agi: 52
+    Vit: 49
+    Int: 22
+    Dex: 78
+    Luk: 40
+    AttackRange: 1
+    SkillRange: 10
+    ChaseRange: 12
+    Size: Medium
+    Race: Undead
+    Element: Undead
+    ElementLevel: 1
+    WalkSpeed: 190
+    AttackDelay: 1720
+    AttackMotion: 500
+    DamageMotion: 420
+    Ai: 19
+    Drops:
+      - Item: HazyMooncake
+        Rate: 1750
+      - Item: Old_Portrait
+        Rate: 60
+      - Item: Bongun_Hat
+        Rate: 3
+      - Item: Amulet
+        Rate: 10
+      - Item: Munak_Doll
+        Rate: 20
+      - Item: Light_Granule
+        Rate: 200
+      - Item: BitterBonGun_Card
+        Rate: 1
+        StealProtected: true
+  - Id: 3762
+    AegisName: ILL_SOHEE
+    Name: Resentful Sohee
+    Level: 114
+    Hp: 22414
+    BaseExp: 2004
+    JobExp: 2373
+    Attack: 779
+    Attack2: 115
+    Defense: 83
+    MagicDefense: 84
+    Str: 122
+    Agi: 49
+    Vit: 49
+    Int: 40
+    Dex: 84
+    Luk: 56
+    AttackRange: 1
+    SkillRange: 10
+    ChaseRange: 12
+    Size: Medium
+    Race: Demon
+    Element: Water
+    ElementLevel: 2
+    WalkSpeed: 250
+    AttackDelay: 912
+    AttackMotion: 2112
+    DamageMotion: 576
+    Ai: 19
+    Drops:
+      - Item: Bloody_Love_Letter
+        Rate: 2000
+      - Item: Skirt_Of_Virgin
+        Rate: 300
+      - Item: Nurse_Cap
+        Rate: 10
+      - Item: Puente_Robe
+        Rate: 10
+      - Item: Hearty_Rice_Cake
+        Rate: 200
+      - Item: Poison_Herb_Nerium
+        Rate: 200
+      - Item: Heartbroken_Tears
+        Rate: 200
+      - Item: BitterSohee_Card
+        Rate: 1
+        StealProtected: true
+  - Id: 3763
+    AegisName: ILL_ARCHER_SKELETON
+    Name: Resentful Soldier
+    Level: 115
+    Hp: 20843
+    BaseExp: 2010
+    JobExp: 2570
+    Attack: 767
+    Attack2: 516
+    Defense: 47
+    MagicDefense: 10
+    Str: 60
+    Agi: 61
+    Vit: 30
+    Int: 20
+    Dex: 101
+    Luk: 12
+    AttackRange: 9
+    SkillRange: 10
+    ChaseRange: 12
+    Size: Medium
+    Race: Undead
+    Element: Undead
+    ElementLevel: 1
+    WalkSpeed: 300
+    AttackDelay: 2864
+    AttackMotion: 864
+    DamageMotion: 576
+    Ai: 19
+    Drops:
+      - Item: Broken_Arrow
+        Rate: 2000
+      - Item: Carnium
+        Rate: 10
+      - Item: Apple_Of_Archer
+        Rate: 6
+      - Item: Poison_Herb_Amoena
+        Rate: 200
+      - Item: Fire_Arrow
+        Rate: 3000
+      - Item: Fire_Arrow
+        Rate: 2000
+      - Item: Fire_Arrow
+        Rate: 1000
+      - Item: BitterArcherSk_Card
+        Rate: 1
+        StealProtected: true
+  - Id: 3764
+    AegisName: ILL_HIGHWIZARD
+    Name: Wizard of the Truth
+    Level: 118
+    Hp: 121847
+    BaseExp: 8599
+    JobExp: 7695
+    Attack: 1977
+    Attack2: 362
+    Defense: 20
+    MagicDefense: 90
+    Str: 101
+    Agi: 89
+    Vit: 60
+    Int: 205
+    Dex: 255
+    Luk: 124
+    AttackRange: 1
+    SkillRange: 10
+    ChaseRange: 12
+    Size: Medium
+    Race: Undead
+    Element: Dark
+    ElementLevel: 1
+    WalkSpeed: 140
+    AttackDelay: 768
+    AttackMotion: 864
+    DamageMotion: 288
+    Ai: 19
+    Drops:
+      - Item: Red_Gemstone
+        Rate: 3000
+      - Item: Yellow_Gemstone
+        Rate: 3000
+      - Item: Vermilion_10_Scroll
+        Rate: 200
+      - Item: Meteor_10_Scroll
+        Rate: 50
+      - Item: Storm_10_Scroll
+        Rate: 50
+      - Item: Fire_Scroll_3_5
+        Rate: 200
+      - Item: CandyCaneRod
+        Rate: 10
+      - Item: WizardOfVeritas_Card
+        Rate: 1
+        StealProtected: true
+  - Id: 3765
+    AegisName: ILL_FURY_HERO
+    Name: Deranged Adventurer
+    Level: 117
+    Hp: 24078
+    BaseExp: 2381
+    JobExp: 2288
+    Attack: 837
+    Attack2: 113
+    Defense: 340
+    MagicDefense: 20
+    Str: 180
+    Agi: 42
+    Vit: 126
+    Int: 66
+    Dex: 149
+    Luk: 50
+    AttackRange: 1
+    SkillRange: 10
+    ChaseRange: 12
+    Size: Medium
+    Race: Undead
+    Element: Undead
+    ElementLevel: 3
+    WalkSpeed: 150
+    AttackDelay: 1450
+    AttackMotion: 864
+    DamageMotion: 288
+    Ai: 19
+    Drops:
+      - Item: Recruitment_Leaflet
+        Rate: 2000
+      - Item: Light_Granule
+        Rate: 200
+      - Item: Runstone_Quality
+        Rate: 1000
+      - Item: Runstone_Rare
+        Rate: 200
+      - Item: Empty_Potion
+        Rate: 500
+      - Item: Rotten_Bandage
+        Rate: 500
+      - Item: FuryHero_Card
+        Rate: 1
+        StealProtected: true
 #  - Id: 3766
 #    AegisName: JP_E_MONSTER_53
 #  - Id: 3767

+ 79 - 0
db/re/mob_skill_db.txt

@@ -12438,6 +12438,85 @@
 3633,EP16_2_VENOM_KIMERA@NPC_ACIDBREATH,attack,657,6,10000,3000,25000,no,target,always,0,,,,,,,
 3633,EP16_2_VENOM_KIMERA@RG_STRIPARMOR,attack,217,5,500,1000,5000,no,target,always,0,,,,,,,
 
+// Illusion of Moonlight
+3758,Angry Moonlight Flower@AL_HEAL,attack,28,11,10000,0,5000,no,friend,friendhpltmaxrate,60,,,,,,21,
+3758,Angry Moonlight Flower@AL_HEAL,attack,28,11,10000,0,5000,no,self,myhpltmaxrate,30,,,,,,21,
+3758,Angry Moonlight Flower@AL_HEAL,chase,28,11,10000,0,5000,no,friend,friendhpltmaxrate,60,,,,,,21,
+3758,Angry Moonlight Flower@AL_HEAL,chase,28,11,10000,0,5000,no,self,myhpltmaxrate,30,,,,,,21,
+3758,Angry Moonlight Flower@SA_LANDPROTECTOR,chase,288,1,10000,1000,5000,no,target,skillused,89,,,,,,,
+3758,Angry Moonlight Flower@SA_LANDPROTECTOR,attack,288,1,10000,500,10000,no,target,myhpltmaxrate,80,,,,,,32,
+3758,Angry Moonlight Flower@AL_TELEPORT,idle,26,1,10000,0,0,yes,self,rudeattacked,,,,,,,,
+3758,Angry Moonlight Flower@AL_TELEPORT,idle,26,1,5000,0,5000,yes,self,rudeattacked,,,,,,,,
+3758,Angry Moonlight Flower@AL_TELEPORT,walk,26,1,5000,0,5000,yes,self,rudeattacked,,,,,,,,
+3758,Angry Moonlight Flower@NPC_WIDESILENCE,chase,663,5,10000,1000,20000,no,self,myhpltmaxrate,80,,,,,,32,
+3758,Angry Moonlight Flower@NPC_WIDESILENCE,attack,663,5,10000,1000,20000,no,self,myhpltmaxrate,80,,,,,,32,
+3758,Angry Moonlight Flower@NPC_WIDESILENCE,attack,663,5,10000,1000,25000,no,self,always,0,,,,,,32,
+3758,Angry Moonlight Flower@ST_FULLSTRIP,attack,476,5,2000,0,5000,yes,target,always,0,,,,,,6,
+3758,Angry Moonlight Flower@NPC_POWERUP,attack,349,5,10000,0,30000,yes,self,myhpltmaxrate,30,,,,,,6,
+3758,Angry Moonlight Flower@MC_MAMMONITE,attack,42,22,2000,0,5000,no,target,always,0,,,,,,8,
+3758,Angry Moonlight Flower@MG_COLDBOLT,chase,14,5,2000,0,5000,no,target,always,0,,,,,,0,
+3758,Angry Moonlight Flower@MG_FIREBOLT,chase,19,5,2000,0,5000,no,target,always,0,,,,,,0,
+3758,Angry Moonlight Flower@MG_LIGHTNINGBOLT,chase,20,5,2000,0,5000,no,target,always,0,,,,,,0,
+3758,Angry Moonlight Flower@NPC_CALLSLAVE,attack,352,1,10000,0,30000,yes,self,always,0,,,,,,,
+3758,Angry Moonlight Flower@NPC_CALLSLAVE,idle,352,1,10000,0,30000,yes,self,always,0,,,,,,,
+3758,Angry Moonlight Flower@NPC_GUIDEDATTACK,attack,172,5,500,0,20000,no,target,always,0,,,,,,6,
+3758,Angry Moonlight Flower@SA_DISPELL,attack,289,5,2000,500,5000,no,target,always,0,,,,,,6,
+3758,Angry Moonlight Flower@SA_DISPELL,chase,289,5,2000,500,5000,no,target,always,0,,,,,,6,
+3758,Angry Moonlight Flower@NPC_SUMMONSLAVE,attack,196,5,10000,700,10000,no,self,slavele,3,1471,,,,,,
+3758,Angry Moonlight Flower@NPC_SUMMONSLAVE,idle,196,5,10000,700,10000,no,self,slavele,3,1471,,,,,,
+3758,Angry Moonlight Flower@NPC_CRITICALWOUND,attack,673,1,500,0,5000,yes,target,always,0,,,,,,,
+3758,Angry Moonlight Flower@BS_HAMMERFALL,chase,110,10,2000,0,5000,no,target,always,0,,,,,,0,
+3758,Angry Moonlight Flower@BS_HAMMERFALL,attack,110,10,2000,0,5000,no,target,always,0,,,,,,0,
+3758,Angry Moonlight Flower@NPC_TALK,idle,682,10,2500,0,30000,yes,self,always,0,,,,,,,51
+3758,Angry Moonlight Flower@NPC_TALK,attack,682,10,2500,0,30000,yes,self,always,0,,,,,,,52
+3759,Angry Nine Tail@AL_TELEPORT,idle,26,1,10000,0,0,yes,self,rudeattacked,,,,,,,,
+3759,Angry Nine Tail@NPC_EMOTION,idle,197,1,2000,0,5000,yes,self,always,0,6,0x3695,,,,,
+3759,Angry Nine Tail@NPC_EMOTION,chase,197,1,200,0,5000,yes,self,always,0,19,0x81,,,,,
+3759,Angry Nine Tail@NPC_ATTRICHANGE,attack,161,1,500,2000,5000,no,self,myhpltmaxrate,30,,,,,,,
+3759,Angry Nine Tail@NPC_RANDOMATTACK,attack,183,3,500,500,5000,no,target,always,0,,,,,,6,
+3759,Angry Nine Tail@NPC_BLEEDING,attack,660,3,2000,0,3000,yes,target,always,0,,,,,,,
+3759,Angry Nine Tai@NPC_HALLUCINATION,attack,207,1,500,500,5000,yes,target,always,0,,,,,,6,
+3759,Angry Nine Tail@AS_SONICBLOW,attack,136,5,1000,800,5000,no,target,always,0,,,,,,,
+3760,Resentful Munak@NPC_EMOTION,idle,197,1,2000,0,5000,yes,self,always,0,1,0x3885,,,,,
+3760,Resentful Munak@NPC_EMOTION,chase,197,1,200,0,5000,yes,self,always,0,19,0x81,,,,,
+3760,Resentful Munak@NPC_EMOTION,follow,197,1,2000,0,5000,yes,self,always,0,19,0x81,,,,,
+3760,Resentful Munak@NPC_STUNATTACK,attack,179,5,2000,1000,5000,no,target,always,0,,,,,,6,
+3760,Resentful Munak@NPC_STUNATTACK,attack,179,5,2000,1000,5000,no,master,always,0,,,,,,6,
+3760,Resentful Munak@NPC_BLOODDRAIN,attack,199,1,1000,0,25000,yes,target,always,0,,,,,,,
+3760,Resentful Munak@SM_BASH,attack,5,5,1000,800,15000,no,target,always,0,,,,,,,
+3760,Resentful Munak@NPC_TALK,attack,196,1,2500,0,40000,yes,self,skillused,28,,,,,,,58
+3761,Resentful Bongun@KN_SPEARSTAB,attack,58,5,1500,800,5000,no,target,always,0,,,,,,,
+3761,Resentful Bongun@NPC_STUNATTACK,attack,179,5,500,1000,5000,no,target,always,0,,,,,,0,
+3761,Resentful Bongun@NPC_POWERUP,attack,349,1,2000,0,100000,yes,self,always,0,,,,,,,
+3761,Resentful Bongun@NPC_BLINDATTACK,attack,177,5,1000,1000,7000,yes,target,always,0,,,,,,,
+3761,Resentful Bongun@NPC_TALK,attack,196,1,2500,0,40000,yes,self,skillused,28,,,,,,,58
+3762,Resentful Sohee@NPC_AGIUP,chase,350,1,10000,0,30000,yes,self,always,0,,,,,,,
+3762,Resentful Sohee@NPC_EMOTION,walk,197,1,2000,0,5000,yes,self,always,0,28,,,,,,
+3762,Resentful Sohee@NPC_STOP,attack,342,1,500,0,30000,yes,target,always,0,,,,,,9,
+3762,Resentful Sohee@NPC_SUICIDE,attack,175,1,500,0,5000,yes,self,myhpltmaxrate,80,,,,,,,
+3762,Resentful Sohee@NPC_WATERATTACK,attack,184,5,500,500,5000,no,target,always,0,,,,,,6,
+3762,Resentful Sohee@NPC_CRITICALSLASH,attack,170,1,500,500,5000,yes,target,always,0,,,,,,,
+3763,Resentful Soldier@AC_DOUBLE,attack,46,1,1000,500,5000,no,target,always,0,,,,,,,
+3763,Resentful Soldier@AC_DOUBLE,attack,46,5,1000,1000,15000,no,target,always,0,,,,,,,
+3763,Resentful Soldier@NPC_UNDEADATTACK,attack,347,5,500,500,5000,no,target,always,0,,,,,,,
+3763,Resentful Soldier@AC_CHARGEARROW,attack,148,1,500,0,15000,yes,target,always,0,,,,,,,
+3764,Wizard of Truth@NPC_TALK,idle,682,10,2500,0,60000,yes,self,always,0,,,,,,,55
+3764,Wizard of Truth@WZ_VERMILION,idle,85,10,10000,1000,25000,no,target,always,0,,,,,,,
+3764,Wizard of Truth@AL_TELEPORT,idle,26,1,10000,0,0,yes,self,rudeattacked,,,,,,,,
+3764,Wizard of Truth@AL_TELEPORT,walk,26,1,5000,0,5000,yes,self,rudeattacked,,,,,,,,
+3764,Wizard of Truth@WZ_VERMILION,chase,85,10,10000,500,27000,no,target,always,0,,,,,,,
+3764,Wizard of Truth@WZ_STORMGUST,attack,89,9,10000,1000,26000,no,target,always,0,,,,,,,
+3764,Wizard of Truth@WZ_VERMILION,attack,85,10,10000,1000,25000,no,target,always,0,,,,,,,
+3764,Wizard of Truth@MG_FIREWALL,attack,18,9,2000,200,19000,yes,target,always,0,,,,,,,
+3764,Wizard of Truth@WZ_METEOR,attack,83,9,10000,1000,29000,no,target,always,,,,,,,,
+3764,Wizard of Truth@WZ_HEAVENDRIVE,attack,91,5,2000,1000,22000,no,target,always,0,,,,,,,
+3764,Wizard of Truth@WZ_WATERBALL,attack,86,5,5000,1000,35000,no,target,always,0,,,,,,,
+3765,Deranged Adventurer@SM_BASH,attack,5,10,1000,0,10000,yes,target,always,0,,,,,,,
+3765,Deranged Adventurer@SM_MAGNUM,attack,7,9,1000,0,20000,yes,self,always,0,,,,,,,
+3765,Deranged Adventurer@NPC_CRITICALSLASH,attack,170,1,2000,0,15000,yes,target,always,0,,,,,,,
+3765,Deranged Adventurer@NPC_TALK,idle,682,10,2500,0,35000,yes,self,always,0,,,,,,,53
+3765,Deranged Adventurer@NPC_TALK,idle,682,10,2500,0,30000,yes,self,always,0,,,,,,,54
+
 // Meister ABR's (Automated Battle Robot)
 20834,ABR_BATTLE_WARIOR@ABR_BATTLE_BUSTER,chase,8601,1,10000,500,5000,yes,target,always,0,,,,,,,
 20834,ABR_BATTLE_WARIOR@ABR_BATTLE_BUSTER,attack,8601,1,10000,500,5000,yes,target,always,0,,,,,,,

+ 32 - 3
db/re/quest_db.yml

@@ -4740,15 +4740,44 @@ Body:
   - Id: 7762
     Title: Make Chimeras rest in peace (Standby)
     TimeLimit: 4h
+  - Id: 7776
+    Title: Suspicious sign
+  - Id: 7777
+    Title: What happened?
+  - Id: 7778
+    Title: What Muyeon saw
+  - Id: 7779
+    Title: Distressing ritual
+  - Id: 7780
+    Title: Nightmare in the ruined village
+  - Id: 7781
+    Title: Nightmare in the ruined village
+  - Id: 7782
+    Title: Stop the wizard!
+    Targets:
+      - Mob: ILL_HIGHWIZARD
+        Count: 1
   - Id: 7783
-    Title: Stop the Wizard! - Pending
+    Title: Stop the wizard! - Pending
     TimeLimit: 4h
+  - Id: 7784
+    Title: No mercy for illusions
+    Targets:
+      - Mob: ILL_NINE_TAIL
+        Count: 20  
   - Id: 7785
-    Title: No Mercy for Illusions - Pending
+    Title: No mercy for illusions - Pending
     TimeLimit: 4h
+  - Id: 7786
+    Title: Remembering my ancestors
+    Targets:
+      - Mob: ILL_ARCHER_SKELETON
+        Count: 20
   - Id: 7787
-    Title: Remembering my Ancestors - Pending
+    Title: Remembering my ancestors - Pending
     TimeLimit: 4h
+  - Id: 7788
+    Title: Back to Muyeon
   - Id: 7790
     Title: Rock Ridge, Land of Opportunities
   - Id: 7791

+ 250 - 0
npc/re/merchants/enchan_illusion_16_2.txt

@@ -0,0 +1,250 @@
+//===== rAthena Script =======================================
+//= Episode 16.2 - Illusion Enchants
+//===== Description: =========================================
+//= [Walkthrough Conversion]
+//= Illusion series related merchants and enchanters
+//===== Changelogs: ==========================================
+//= 1.0 Initial release [crazyarashi]
+//= 1.1 Cleanup and improvements [Everade]
+//============================================================
+
+//============================================================
+//= Illusion of Moonlight
+//============================================================
+
+pay_d03_i,160,45,3	script	Gemcutter#ilp20	4_TOWER_17,3,3,{
+	mes "[ Gemcutter ]";
+	mes "Do you have business with me?";
+	next;
+	switch (select("What are you doing here?:Upgrade Weapon.:Upgrade Armor.")) {
+	case 1:
+		mes "[ Gemcutter ]";
+		mes "I came to the ruined village,";
+		mes "looking for some materials. Touched some strange light, and now I'm here.";
+		next;
+		mes "[ Gemcutter ]";
+		mes "I've decided to stick around for a little while. Figured I'd be safe so long as I stay close to this soldier.";
+		mes "I have a proposition for you. I want some materials that can only be found in this place.";
+		next;
+		mes "[ Gemcutter ]";
+		mes "Get them for me, and I'll improve your equipment in exchange. Just so you know, I can only improve certain types.";
+		next;
+		mes "[ Gemcutter ]";
+		mes "If you're interested, we can discuss the details of our bargain.";
+		close;
+	case 2:
+		disable_items;
+		if (checkweight(25271,1) == 0 || (MaxWeight - Weight) < 1000) {
+			mes "- You're carrying too many items to proceed. -";
+			close;
+		}
+		setarray .@reward_id[0],
+			26109,		// Illusion Staff of Bordeaux
+			28725,		// Illusion Moonlight Dagger
+			16063,		// Illusion Long Mace
+			26007;		// Illusion Spectral Spear
+		.@size = getarraysize(.@reward_id);
+
+		.@refine_req = 9;
+
+		for ( .@i = 0; .@i < .@size; ++.@i )
+			.@reward_name$[.@i] = replacestr( getitemname(.@reward_id[.@i]), ":", "" );
+
+		mes "[ Gemcutter ]";
+		mes "The following is the list of equipment I can handle.";
+		for ( .@i = 0; .@i < .@size; ++.@i )
+			mes "<ITEM>" + .@reward_name$[.@i] + "<INFO>" + .@reward_id[.@i] + "</INFO></ITEM>";
+		next;
+		mes "[ Gemcutter ]";
+		mes "Make sure ^0000FFyour equipment is refined to at least +" + .@refine_req + "^000000 before bringing it to me.";
+		mes "That's the minimum requirement for my upgrade service to have any visible effects on your equipment.";
+		next;
+		mes "[ Gemcutter ]";
+		mes "Make sure you're ^0000FFequipped with the item that you want to improve.^000000";
+		mes "Otherwise, I can't evaluate its condition.";
+		next;
+		mes "[ Gemcutter ]";
+		mes "As you may have guessed, your equipment will transform into something new after this.";
+		mes "In other words, ^0000FFIt'll lose its current refining levels, cards and enchantments.^000000";
+		next;
+		mes "[ Gemcutter ]";
+		mes "And I need ^0000FFIllusion Stones and some other materials^000000 to upgrade your equipment.";
+		mes "Pick an item you want and I'll tell you what I need.";
+		next;
+		switch( select( .@reward_name$[0], .@reward_name$[1], .@reward_name$[2], .@reward_name$[3] ) ) {
+		case 1:
+			.@reward = .@reward_id[0];		// Illusion Staff of Bordeaux
+			.@eq_req = 1648;				// Staff of Bordeaux
+			.@part = EQI_HAND_R;
+
+			setarray .@items_req[0],
+				25271,30,					// Illusion Stones
+				25256,100;					// Hazy Dreams
+			break;
+		case 2:
+			.@reward = .@reward_id[1];		// Illusion Moonlight Dagger
+			.@eq_req = 1234;				// Moonlight Dagger
+			.@part = EQI_HAND_R;
+
+			setarray .@items_req[0],
+				25271,60,					// Illusion Stones
+				25256,100;					// Hazy Dreams
+			break;
+		case 3:
+			.@reward = .@reward_id[2];		// Illusion Long Mace
+			.@eq_req = 1525;				// Long Mace
+			.@part = EQI_HAND_R;
+
+			setarray .@items_req[0],
+				25271,10,					// Illusion Stones
+				25256,20;					// Hazy Dreams
+			break;
+		case 4:
+			.@reward = .@reward_id[3];		// Illusion Spectral Spear
+			.@eq_req = 1477;				// Spectral Spear
+			.@part = EQI_HAND_R;
+
+			setarray .@items_req[0],
+				25271,20,					// Illusion Stones
+				25256,100;					// Hazy Dreams
+			break;
+		}
+		break;
+	case 3:
+		disable_items;
+		if (checkweight(25271,1) == 0 || (MaxWeight - Weight) < 1000) {
+			mes "- You're carrying too many items to proceed. -";
+			close;
+		}
+		setarray .@reward_id[0],
+			19209,		// Illusion Nurse Cap
+			19210,		// Illusion Apple of Archer
+			15195,		// Illusion Puente Robe
+			20838,		// Illusion Muffler [1]
+			22133;		// Illusion Shoes [1]
+		.@size = getarraysize(.@reward_id);
+
+		.@refine_req = 9;
+
+		for ( .@i = 0; .@i < .@size; ++.@i )
+			.@reward_name$[.@i] = replacestr( getitemname(.@reward_id[.@i]), ":", "" );
+
+		mes "[ Gemcutter ]";
+		mes "The following is the list of equipment I can handle.";
+		for ( .@i = 0; .@i < .@size; ++.@i )
+			mes "<ITEM>" + .@reward_name$[.@i] + "<INFO>" + .@reward_id[.@i] + "</INFO></ITEM>";
+		next;
+		mes "[ Gemcutter ]";
+		mes "Make sure ^0000FFyour equipment is refined to at least +" + .@refine_req + "^000000 before bringing it to me.";
+		mes "That's the minimum requirement for my upgrade service to have any visible effects on your equipment.";
+		next;
+		mes "[ Gemcutter ]";
+		mes "Make sure you're ^0000FFequipped with the item that you want to improve.^000000";
+		mes "Otherwise, I can't evaluate its condition.";
+		next;
+		mes "[ Gemcutter ]";
+		mes "As you may have guessed, your equipment will transform into something new after this.";
+		mes "In other words, ^0000FFIt'll lose its current refining levels, cards and enchantments.^000000";
+		next;
+		mes "[ Gemcutter ]";
+		mes "And I need ^0000FFIllusion Stones and some other materials^000000 to upgrade your equipment.";
+		mes "Pick an item you want and I'll tell you what I need.";
+		next;
+		switch( select( .@reward_name$[0], .@reward_name$[1], .@reward_name$[2], .@reward_name$[3], .@reward_name$[4] ) ) {
+		case 1:
+			.@reward = .@reward_id[0];		// Illusion Nurse Cap
+			.@eq_req = 2277;				// Nurse Cap
+			.@part = EQI_HEAD_TOP;
+
+			setarray .@items_req[0],
+				25271,10,					// Illusion Stones
+				25257,100;					// Bloody_Love_Letter
+			break;
+		case 2:
+			.@reward = .@reward_id[1];		// Illusion Apple of Archer
+			.@eq_req = 2285;				// Apple of Archer
+			.@part = EQI_HEAD_TOP;
+
+			setarray .@items_req[0],
+				25271,10,					// Illusion Stones
+				25258,100;					// Broken_Arrow
+			break;
+		case 3:
+			.@reward = .@reward_id[2];		// Illusion Puente Robe
+			.@eq_req = 15012;				// Puente Robe
+			.@part = EQI_ARMOR;
+
+			setarray .@items_req[0],
+				25271,10,					// Illusion Stones
+				25256,100;					// Hazy Dreams
+			break;
+		case 4:
+			.@reward = .@reward_id[3];		// Illusion Muffler [1]
+			.@eq_req = 2504;				// Muffler
+			.@part = EQI_GARMENT;
+
+			setarray .@items_req[0],
+				25271,10,					// Illusion Stones
+				23228,100;					// Hazy_Mooncake
+			break;
+		case 5:
+			.@reward = .@reward_id[4];		// Illusion Shoes [1]
+			.@eq_req = 2404;				// Shoes
+			.@part = EQI_SHOES;
+
+			setarray .@items_req[0],
+				25271,10,					// Illusion Stones
+				23228,100;					// Hazy_Mooncake
+			break;
+		}
+		break;
+	}
+	mes "[Gemcutter]";
+	mes "For that equipment, I need the following materials.";
+	mes "^4d4fff +" + .@refine_req + " " + getitemname(.@eq_req) + "";
+	mes "" + .@items_req[1] + " " + getitemname(.@items_req[0]) + "";
+	mes "" + .@items_req[3] + " " + getitemname(.@items_req[2]) + "^000000";
+	mes "Do you want to continue?";
+	next;
+	if (select( "Continue.", "I'll bring those materials." ) == 2) {
+		mes "[Gemcutter]";
+		mes "Come back when you're ready.";
+		close;
+	}
+	if (countitem(.@items_req[0]) < .@items_req[1] || countitem(.@items_req[2]) < .@items_req[3]) {
+		mes "[Gemcutter]";
+		mes "You don't have all the materials.";
+		close;
+	}
+	.@equip_id = getequipid(.@part);
+	if (.@equip_id == -1) {
+		mes "[Gemcutter]";
+		if (.@part == EQI_HAND_R)
+			mes "Where's your weapon?";
+		else
+			mes "Why don't you go wear that equipment first?";
+		close;
+	}
+	if (.@equip_id != .@eq_req) {
+		mes "[Gemcutter]";
+		mes "Please equip a ^4d4fff+9 " + getitemname(.@eq_req) + ".^000000";
+		close;
+	}
+	if (getequiprefinerycnt(.@part) < .@refine_req) {
+		mes "[Gemcutter]";
+		mes "I can only upgrade equipment that is ^4d4fffrefined to at least +" + .@refine_req + ".^000000";
+		close;
+	}
+	mes "[Gemcutter]";
+	mes "There you go.";
+	delequip .@part;
+	delitem .@items_req[0], .@items_req[1];
+	delitem .@items_req[2], .@items_req[3];
+	getitem .@reward,1;
+	close;
+
+OnTouch:
+	if (illusion_moonlight > 7)
+		npctalk "What kind of place is this?", "", bc_self;
+	end;
+}

+ 52 - 0
npc/re/mobs/dungeons/pay_d03_i.txt

@@ -0,0 +1,52 @@
+//===== rAthena Script =======================================
+//= Illusion of Moonlight
+//===== Description: =========================================
+//= Illusion of Moonlight monster spawn script.
+//===== Additional Comments: =================================
+//= 1.0 Initial Release [crazyarashi]
+//= 1.1 Added missing boss kill label [Everade]
+//============================================================
+
+pay_d03_i	monster	Blue Plant	1079,1
+pay_d03_i	monster	Green Plant	1080,1,5000,0
+pay_d03_i	monster	Yellow Plant	1081,1,5000,0
+pay_d03_i	monster	White Plant	1082,5,5000,0
+pay_d03_i	monster	Whisper	1185,1,5000,0
+pay_d03_i,154,112	monster	Whisper	1185,1,5000,0
+pay_d03_i,161,117	monster	Whisper	1185,1,5000,0
+pay_d03_i,84,63	monster	Whisper	1185,1,5000,0
+pay_d03_i,81,61	monster	Whisper	1185,1,5000,0
+
+pay_d03_i	monster	Resentful Munak	3760,20,5000,0
+pay_d03_i	monster	Resentful Bongun	3761,20,5000,0
+pay_d03_i	monster	Resentful Sohee	3762,20,5000,0
+pay_d03_i	monster	Resentful Soldier	3763,15
+pay_d03_i	monster	Deranged Adventurer	3765,5,15000,0
+pay_d03_i,55,75	monster	Wizard of the Truth	3764,1,30000,0
+pay_d03_i	monster	Angry Nine Tail	3759,10,5000,0,"illusion_mob#moonlight::OnKill"
+
+-	script	illusion_mob#moonlight	-1,{
+	end;
+
+OnKill:
+	if (.mvp_spawn == 1)
+		end;
+	.kill_count += 1;
+	if (.kill_count < 1000) {
+		if (rand(100) < 10) // !todo Confirm chance
+			donpcevent strnpcinfo(0)+"::OnBossSpawn";
+	}
+	end;
+
+OnBossSpawn:
+	.mvp_spawn = 1;
+	.kill_count = 0;
+	monster "pay_d03_i",0,0,"Angry Moonlight Flower",3758,1,"illusion_mob#moonlight::OnBossKill";
+	mapannounce "pay_d03_i", "Angry Moonlight Flower: Who dares bully us again? They're in a lot of trouble!", bc_map, "0x70dbdb";
+	end;
+
+OnBossKill:
+	.mvp_spawn = 0;
+	.kill_count = 0;
+	end;
+}

+ 1107 - 0
npc/re/quests/quests_16_2_illusion.txt

@@ -0,0 +1,1107 @@
+//===== rAthena Script =======================================
+//= Terra Gloria - Illusion
+//===== Description: =========================================
+//= [Walkthrough Conversion]
+//= Quest NPCs for Episode 16.2 - Illusion series
+//===== Changelogs: ==========================================
+//= 1.0 Illusion of Moonlight initial release [crazyarashi]
+//= 1.1 Script & function cleanup [Everade]
+//============================================================
+
+//============================================================
+//= Illusion of Moonlight
+//============================================================
+payon,164,229,5	script	Elder Sanyul#illusion_moonlight	1_F_ORIENT_04,{
+	if (BaseLevel < 100) {
+		mes "[ Sanyul ]";
+		mes "Mm, I have a feeling something suspicious is about to happen.";
+		mes "I wish you were stronger. Then, I would've been able to tell you about it.";
+		next;
+		mes "^4D4DFFYou must be Level 100 or above to perform this quest.^000000";
+		close;
+	}
+	if (illusion_moonlight == 0) {
+	OnStart:
+		mes "[ Jagyeom ]";
+		mes "This matter is out of our hands now.";
+		mes "We can't let it keep happening like this.";
+		next;
+		mes "[ Sanyul ]";
+		mes "Let's wait for ^0000FFMuyeon^000000 now.";
+		mes "Her safety is more important than anything else.";
+		next;
+		select("Excuse me.");
+		mes "[ Sanyul ]";
+		mes "Hm? You're an adventurer.";
+		mes "Did you happen to hear our conversation?";
+		next;
+		mes "[ Sanyul ]";
+		mes "I see.";
+		mes "Maybe it's faith that you overheard us.";
+		next;
+		mes "[ Sanyul ]";
+		mes "There's a cave near the Archer Village in the back of Payon.";
+		mes "It's a haunted cave, so we've been preforming rituals and exorcism there regularly.";
+		next;
+		mes "[ Sanyul ]";
+		mes "But the Nine-tailed foxes spirits are more enraged than we thought.";
+		mes "Every time someone tries to preform a ritual to the fox beads, they get nightmares.";
+		npctalk "It's as if the spirits were antagonized by them.","Elder Jagyeom#illusion_moonlight",bc_self;
+		next;
+		mes "[ Sanyul ]";
+		mes "And this time, she's completely lost her mind and entered the cave.";
+		mes "That's why we're worried about her.";
+		next;
+		select("Is it about Muyeon?");
+		npctalk "Maybe we should send someone else.","Elder Jagyeom#illusion_moonlight",bc_self;
+		mes "[ Sanyul ]";
+		mes "Yes. She's the Soul Linker who performs the ritual regularly.";
+		mes "We've asked a soldier to find her.";
+		mes "They must be near the cave by now.";
+		next;
+		mes "[ Jagyeom ]";
+		mes "Could you go check up ^0000FFMuyeon^000000 for us?";
+		next;
+		npctalk "Yes. could you?","",bc_self;
+		if (select("Sure, I will:Sorry, I'm afraid of ghost.") == 2) {
+			mes "[ Sanyul ]";
+			mes "Huh? We didn't say anything about ghost. Or did we?";
+			close;
+		}
+		mes "[ Jagyeom ]";
+		mes "I hope the soldier will find her before she goes deep inside the ruined village.";
+		next;
+		mes "[ Jagyeom ]";
+		mes "Please go to the cave and see if Muyeon and the soldier are outside already.";
+		mes "A young scholar followed the soldier, but she doesn't seem reliable at all.";
+		next;
+		mes "[ Jagyeom ]";
+		mes "Talk to the scholar, maybe he could give you an information on the situation.";
+		illusion_moonlight = 1;
+		setquest 7776;
+		close;
+	}
+	if (illusion_moonlight == 1) {
+		mes "[ Jagyeom ]";
+		mes "I hope the soldier will find her before she goes deep inside the ruined village.";
+		next;
+		mes "[ Jagyeom ]";
+		mes "Please go to the cave and see if Muyeon and the soldier are outside already.";
+		mes "A young scholar followed the soldier, but she doesn't seem reliable at all.";
+		next;
+		mes "[ Jagyeom ]";
+		mes "Talk to the scholar, maybe he could give you an information on the situation.";
+		close;
+	}
+	mes "[ Sanyul ]";
+	mes "I hope everything will be okay.";
+	mes "Huh? I was talking about the cave in the back.";
+	mes "I'm worried about what's happening there.";
+	close;
+
+OnInit:
+	questinfo QTYPE_QUEST,QMARK_YELLOW,"BaseLevel >= 100 && illusion_moonlight < 1";
+	end;
+}
+
+payon,167,229,3	script	Elder Jagyeom#illusion_moonlight	4_M_HUOLDARMY,{
+	if (BaseLevel < 100) {
+		mes "[ Jagyeom ]";
+		mes "I hope everything will be okay.";
+		mes "Seeing that you're an adventurer, I assume you're familiar with the ^0000FFPayon Cave^000000.";
+		mes "Be careful, something bad is happening inside.";
+		next;
+		mes "^0000FFYou must be Level 100 or above to perform this quest.";
+		close;
+	}
+	if (illusion_moonlight == 0) {
+		doevent "Elder Sanyul#illusion_moonlight::OnStart";
+		end;
+	}
+	if (illusion_moonlight == 1) {
+		mes "[ Sanyul ]";
+		mes "Please go to the cave's entrance in the Archer Village.";
+		mes "Ask the young scholar there about Muyeon's whereabouts.";
+		close;
+	}
+	mes "[ Jagyeom ]";
+	mes "Maybe it's time we leave things to the younger generations.";
+	mes "There is nothing we old folk could do.";
+	close;
+}
+
+pay_arche,48,137,4	script	Young Scholar#ill_moon_arch	4_F_03,{
+	if (illusion_moonlight == 0) {
+		npctalk "Why aren't they coming out already...","",bc_self;
+		end;
+	}
+	if (illusion_moonlight == 1) {
+		npctalk "Why are they still not coming out...","",bc_self;
+		mes "[ Young Scholar ]";
+		mes "Ah, today must be my lucky day!";
+		mes "An adventurer showed up, just when I needed one!";
+		next;
+		mes "[ Young Scholar ]";
+		mes "Excuse me.";
+		mes "I've heard adventurers do many things for others. Is that true?";
+		next;
+		select("It is, but I'm pretty busy for now.:Decline.");
+		mes "[ Young Scholar ]";
+		mes "...Oh, I see.";
+		mes "You must be busy.";
+		mes "I'm sorry I bothered you.";
+		mes "By the way, what brings you here?";
+		next;
+		select("Have you seen someone named Muyeon?");
+		mes "[ Young Scholar ]";
+		mes "Muyeon? Do you mean Muyeon the Soul Linker?";
+		mes "Well, technically, she's still an apprentice, but that's not important.";
+		next;
+		mes "[ Young Scholar ]";
+		mes "I'm waiting for her right now.";
+		mes "She ran into the cave, as if she was possessed by something.";
+		next;
+		mes "[ Young Scholar ]";
+		mes "Junghee? I mean, a soldier followed her in, but neither of them came out yet.";
+		mes "I was debating if I should go after them.";
+		next;
+		mes "[ Young Scholar ]";
+		mes "I hope nothing bad happens to those two.";
+		cloakoffnpc "Payon Soldier#ill_moon_arch",getcharid(0);
+		cloakoffnpc "Muyeon#ill_moon_arch",getcharid(0);
+		sleep2 750;
+		npctalk "There they are! They look fine!","Young Scholar#ill_moon_arch",bc_self;
+		sleep2 1500;
+		npctalk "Ugh, I don't want to train anymore!","Muyeon#ill_moon_arch",bc_self;
+		npctalk "...","Payon Soldier#ill_moon_arch",bc_self;
+		next;
+		mes "[ Muyeon ]";
+		mes "Chunghae, what are you doing out here?";
+		npctalk "I was worried about you..","",bc_self;
+		next;
+		mes "[ Muyeon ]";
+		mes "You were worried about me, but this is as far you were willing to follow me?";
+		mes "Forget it. No matter how miserable I am, I don't need your help!";
+		sleep2 500;
+		npctalk "Now, that's enough.","Payon Soldier#ill_moon_arch",bc_self;
+		sleep2 500;
+		npctalk "Th-this is unfair...","",bc_self;
+		next;
+		npctalk "Bye!","Muyeon#ill_moon_arch",bc_self;
+		mes "[ Muyeon ]";
+		mes "Ah, I'm not going to do this anymore. Tell that to the old geezers!";
+		next;
+		npctalk "Sigh. I'll go after her. Talk to the Elders, will you?","Payon Soldier#ill_moon_arch",bc_self;
+		sleep2 1500;
+		cloakonnpc "Payon Soldier#ill_moon_arch",getcharid(0);
+		cloakonnpc "Muyeon#ill_moon_arch",getcharid(0);
+		mes "[ Young Scholar ]";
+		mes "That's....!";
+		mes "She left without telling us what happened.";
+		next;
+		mes "[ Young Scholar ]";
+		mes "Ah, Junghee!";
+		mes "By the way adventurer, weren't you looking for Muyeon?";
+		next;
+		select("I guess I have to leave now.");
+		mes "[ Young Scholar ]";
+		mes "Muyeon must have gone to the ^0000CDDetached Payon Palace.^000000";
+		mes "I'm going there do you want to come with me?";
+		next;
+		illusion_moonlight = 2;
+		erasequest 7776;
+		setquest 7777;
+        if (select("Go with him.:Go separately.") == 2) {
+			mes "[ Young Scholar ]";
+			mes "Muyeon must have gone to the ^0000CDDetached Payon Palace.^000000";
+			mes "Why don't you go talk to her?";
+			mes "I'll talk to the Elders.";
+			close;
+        }
+		mes "[ Young Scholar ]";
+		mes "Then let's go to the ^0000CDDetached Payon Palace.^000000";
+        close2;
+        warp "payon",105,320;
+        end;
+	}
+	if (illusion_moonlight == 2) {
+		mes "[ Young Scholar ]";
+		mes "Muyeon must have gone to the ^0000CDDetached Payon Palace.^000000";
+		mes "Why don't you go talk to her?";
+		mes "I'll talk to the Elders.";
+		close;
+	}
+	if (illusion_moonlight < 6) {
+		mes "[ Young Scholar ]";
+		mes "Legend says a nine-tailed fox gained enlightment and became a sacred creature, and that Moonlight Flowers have descended from her.  I think it's a story worth looking into.";
+		close;
+	}
+	mes "[ Young Scholar ]";
+	mes "Let's go investigate the ruined village!";
+	mes "Would you like to come with me?";
+	next;
+	if (select("Go with him.:Go separately.") == 2) {
+		mes "[ Young Scholar ]";
+		mes "I'll call Junghee, and we'll follow you soon.";
+		close;
+	}
+	mes "[ Young Scholar ]";
+	mes "Let's go!";
+	close2;
+	warp "pay_dun03",145,43;
+	end;
+
+OnInit:
+	questinfo QTYPE_QUEST,QMARK_YELLOW,"illusion_moonlight == 1";
+	end;
+}
+
+pay_arche,44,133,7	duplicate(dummy_cloaked_npc)	Payon Soldier#ill_moon_arch	4_M_PAY_SOLDIER
+pay_arche,46,135,5	duplicate(dummy_cloaked_npc)	Muyeon#ill_moon_arch	4_F_TAEKWON
+
+payon_in03,33,95,3	script	Muyeon#ill_moon_pin	4_F_TAEKWON,{
+	if (checkweight(25271,1) == 0 || (MaxWeight - Weight) < 1000) {
+		mes "- You're carrying too many items to proceed with this quest. -";
+		close;
+	}
+	if (illusion_moonlight < 2) {
+		mes "[ Muyeon ]";
+		mes "If you're looking for the teacher, she's in the other room.";
+		close;
+	}
+	if (illusion_moonlight == 2) {
+		.@elder$ = "Jagyeom#ill_moon_pin";
+		.@scholar$ = "Young Scholar#ill_moon_pin";
+		setpcblock PCBLOCK_ALL,true;
+		npctalk "Whatever you say, I'm not doing it anymore.","",bc_self;
+		sleep2 2500;
+		npctalk "This is the third time I had nightmares. I can't take it anymore!","",bc_self;
+		sleep2 1000;
+		unittalk getcharid(3),"What nightmares?",bc_self;
+		npctalk "What nightmares?",.@scholar$,bc_self;
+		sleep2 2000;
+		npctalk "Nightmares about about the foxes? Nine tails and Moonlight flowers?","",bc_self;
+		sleep2 2000;
+		npctalk "Those nightmares are just too horrifying. I don't want to experience it anymore.","",bc_self;
+		sleep2 2000;
+		npctalk "But we have no one else left to perform the ritual.",.@elder$,bc_self;
+		sleep2 2000;
+		npctalk "Everyone gave up after the first try. You did it three times.",.@elder$,bc_self;
+		sleep2 2000;
+		npctalk "Elder Jaegyom, nightmares weren't the only thing occurred to me this time.","",bc_self;
+		sleep2 2000;
+		npctalk "It was different from the other two times I performed the ritual.","",bc_self;
+		sleep2 2000;
+		npctalk "How different?",.@scholar$,bc_self;
+		sleep2 2000;
+		npctalk "...","",bc_self;
+		sleep2 2000;
+		npctalk "It felt as if the nightmares is happening in reality.","",bc_self;
+		sleep2 2000;
+		npctalk "What do you mean? You were only trying to give peace to the angered spirits of the nine tailed foxes.",.@elder$,bc_self;
+		sleep2 2000;
+		npctalk "What did you see in the cave?",.@elder$,bc_self;
+		sleep2 2000;
+		npctalk "I can't explain what I saw. You have to see it to believe it.","",bc_self;
+		sleep2 2000;
+		npctalk "We need someone strong to go in there, like that adventurer over there, should go in the cave.","",bc_self;
+		illusion_moonlight = 3;
+		completequest 7777;
+		setquest 7778;
+		setpcblock PCBLOCK_ALL,false;
+		end;
+	}
+	if (illusion_moonlight == 3) {
+		mes "[ Muyeon ]";
+		mes "Okay, I'll tell you the story.";
+		mes "The Payon Cave is used to be a part of a village that was buried under a landslide.";
+		next;
+		mes "[ Muyeon ]";
+		mes "As you can guess many people were buried with it, and their spirits are hunting the cave.";
+		next;
+		mes "[ Muyeon ]";
+		mes "Some of them were the nine-tailed foxes. The foxes anger is beyond normal.";
+		mes "That's the reason we have been performing a ritual in regular basis.";
+		next;
+		mes "[ Muyeon ]";
+		mes "But now the problem is,";
+		mes "The foxes spirits are getting more resentful by time, and no one knows the reason why.";
+		mes "Maybe the ritual is the reason they are angry, it's not working as we hoped it would.";
+		next;
+		mes "[ Muyeon ]";
+		mes "And, every time I performed the ritual, I had nightmares about the resentful spirits and wailing nine-tailed foxes.";
+		next;
+		mes "[ Muyeon ]";
+		mes "Soul Linkers communicates with the spirits for a living, Having nightmares is just occurs normally.";
+		next;
+		mes "[ Muyeon ]";
+		mes "So when my first nightmare occurred, I thought it was under the same boat as the others.";
+		mes "But now I know the difference, It also has nothing to do with my health.";
+		next;
+		mes "[ Muyeon ]";
+		mes "Whatever it is the reason that agitates the spirits of the nine-tailed foxes.";
+		mes "It drove me from sanity and sent me going to the ruined village.";
+		next;
+		mes "[ Muyeon ]";
+		mes "And, I saw something.";
+		mes "It's an image of another world, different from ours.";
+		mes "We must shut that place down, so no one will be able to access it.";
+		next;
+		mes "[ Muyeon ]";
+		mes "I have an uneasy feeling that a dreadful is going to take place.";
+		mes "Or maybe it's already taking place..";
+		next;
+		mes "[ Muyeon ]";
+		mes "The vague image I saw is indistinguishable from hell.";
+		mes "I saw it after the last ritual that I did.";
+		next;
+		mes "[ Muyeon ]";
+		mes "I beg of you, don't ask me to return doing that again.";
+		mes "I'm not mentally strong enough to handle such nightmares.";
+		next;
+		mes "[ Muyeon ]";
+		mes "Much less on what's taking place inside the cave.";
+		next;
+		mes "[ Muyeon ]";
+		mes "If you want to go, you'll have to go alone and see it for yourself.";
+		mes "I still carry the fox bead that I tried to purify. Let me know when you are ready.";
+		illusion_moonlight = 4;
+		completequest 7778;
+		setquest 7779;
+		close;
+	}
+	if (illusion_moonlight == 4) {
+		mes "[ Muyeon ]";
+		mes "Are you ready?";
+		next;
+		if (select("Yes.:Not yet.") == 2) {
+			mes "[ Muyeon ]";
+			mes "Let me know when you're ready.";
+			close;
+		}
+		mes "[ Muyeon ]";
+		mes "Okay, this fox bead is not completely purged yet.";
+		mes "Place it in your hand.";
+		next;
+		mes "[ Muyeon ]";
+		mes "Relax... and focus your mind on it ... open your mind to its energy.";
+		close2;
+		setpcblock PCBLOCK_ALL,true;
+		npctalk "Wandering souls, listen and behold!","",bc_self;
+		sleep2 250;
+		specialeffect EF_PORTAL4;
+		specialeffect EF_GROUNDSAMPLE;
+		sleep2 1800;
+		npctalk "Look at the other side of the Netherworld River.","",bc_self;
+		sleep2 250;
+		specialeffect EF_PORTAL5;
+		specialeffect EF_QUAKEBODY2;
+		for (.@i = 0; .@i < 4; .@i++) {
+			cloakoffnpc "Nine Tail Spirit#ill_moon_" + .@i,getcharid(0);
+			specialeffect EF_REDBODY,AREA,"Nine Tail Spirit#ill_moon_" + .@i;
+			specialeffect EF_QUAKEBODY2,AREA,"Nine Tail Spirit#ill_moon_" + .@i;
+			sleep2 250;
+		}
+		sleep2 1500;
+		npctalk "Poor souls, cover your eyes and block your ears.","",bc_self;
+		sleep2 150;
+		specialeffect2 EF_DEVIL1;
+		for (.@i = 0; .@i < 4; .@i++) {
+			specialeffect EF_QUAKEBODY2,AREA,"Nine Tail Spirit#ill_moon_" + .@i;
+			sleep2 30;
+		}
+		npctalk "Die!","Nine Tail Spirit#ill_moon_0",bc_self;
+		sleep2 100;
+		specialeffect2 EF_DEVIL6;
+		sleep2 100;
+		for (.@i = 0; .@i < 4; .@i++) {
+			specialeffect EF_QUAKEBODY2,AREA,"Nine Tail Spirit#ill_moon_" + .@i;
+			sleep2 30;
+		}
+		sleep2 150;
+		npctalk "Die!","Nine Tail Spirit#ill_moon_1",bc_self;
+		sleep2 1000;
+		npctalk "Leave this realm.","",bc_self;
+		sleep2 150;
+		specialeffect2 EF_DEVIL10;
+		for (.@i = 0; .@i < 4; .@i++) {
+			specialeffect EF_QUAKEBODY2,AREA,"Nine Tail Spirit#ill_moon_" + .@i;
+			sleep2 30;
+		}
+		npctalk "Die!","Nine Tail Spirit#ill_moon_2",bc_self;
+		sleep2 150;
+		specialeffect EF_BLUELINE;
+		sleep2 150;
+		npctalk "Die!","Nine Tail Spirit#ill_moon_3",bc_self;
+		sleep2 700;
+		npctalk "Unload your burden.","",bc_self;
+		sleep2 150;
+		for (.@i = 0; .@i < 4; .@i++) {
+			specialeffect EF_MAP_GHOST,AREA,"Nine Tail Spirit#ill_moon_" + .@i;
+			sleep2 30;
+		}
+		for (.@i = 0; .@i < 4; .@i++)
+			npctalk "DIE!!!","Nine Tail Spirit#ill_moon_" + .@i,bc_self;
+		sleep2 1200;
+		specialeffect EF_BLUELINE;
+		sleep2 500;
+		specialeffect EF_SCREEN_QUAKE;
+		sleep2 1200;
+		npctalk "Fly to the other side of the river.","",bc_self;
+		for (.@i = 0; .@i < 4; .@i++) {
+			specialeffect EF_MADNESS_RED,AREA,"Nine Tail Spirit#ill_moon_" + .@i;
+			sleep2 30;
+		}
+		for (.@i = 0; .@i < 4; .@i++) {
+			npctalk "DIEEE!", "Nine Tail Spirit#ill_moon_" + .@i, bc_self;
+			sleep2 50;
+			specialeffect EF_SCREEN_QUAKE;
+			sleep2 300;
+		}
+		sleep2 1000;
+		for (.@i = 0; .@i < 4; .@i++) {
+			npctalk "DIEEE!", "Nine Tail Spirit#ill_moon_" + .@i, bc_self;
+			sleep2 100;
+		}
+		specialeffect2 EF_JUMPBODY1;
+		sleep2 150;
+		completequest 7779;
+		setquest 7780;
+		illusion_moonlight = 5;
+		setpcblock PCBLOCK_ALL,false;
+		warp "pay_dun03",145,43;
+		end;
+	}
+	if (illusion_moonlight == 5) {
+		mes "[ Muyeon ]";
+		mes "Now you know what I've been through.";
+		mes "If you want to look further into this, you'll have to visit the ruined village.";
+		next;
+		mes "[ Muyeon ]";
+		mes "If you decide to do it, it'll make you one of us, very ecstatic. Probably because he is a fool.";
+		close;
+	}
+	if (illusion_moonlight < 8) {
+		mes "[ Muyeon ]";
+		mes "If you're looking for the teacher, she's in the other room.";
+		close;
+	}
+	if (illusion_moonlight == 8) {
+		mes "[ Muyeon ]";
+		mes "I see.";
+		mes "So They've come true.";
+		mes "You don't know why, do you?";
+		next;
+		mes "[ Muyeon ]";
+		mes "Maybe it's because the walls between reality and dreams have collapsed.";
+		mes "Otherwise, how could you go in and out of someone else's dream?";
+		next;
+		mes "[ Muyeon ]";
+		mes "I know they're ^0000FFdreamt by the Moonlight Flowers.^000000";
+		mes "I don't know how they've become reality. I doubt anyone knows, really.";
+		next;
+		mes "[ Muyeon ]";
+		mes "As far as I remember, nothing like this has ever happened before. If we want to figure this out, we're on our own.";
+		next;
+		mes "[ Muyeon ]";
+		mes "Well, I'll let Chunghae figure it out.";
+		mes "Alright, then I'd better go get some rest.";
+		next;
+		mes "[ Muyeon ]";
+		mes "Now that I know that those nightmares really originated from Moonlight Flowers, I feel better.";
+		mes "I can sleep at last.";
+		next;
+		mes "[ Muyeon ]";
+		mes "We won't need more rituals once we deal with the nightmares.";
+		mes "Does this mean I'm free? Free at last!";
+		mes "I don't even know how to thank you.";
+		next;
+		mes "[ Muyeon ]";
+		mes "I've found this strange stones while I was there. It's not much,";
+		mes "but maybe you can find an use for those?";
+		mes "Thank you so much adventurer.";
+		illusion_moonlight = 9;
+		completequest 7788;
+		getitem 25271,5;
+		getexp 500000,500000;
+		close;
+	}
+	mes "[ Muyeon ]";
+	mes "Good luck investigating the phenomenon with Chunghae!";
+	mes "Once the nightmares are gone, we won't need to perform the ritual anymore!";
+	next;
+	mes "[ Muyeon ]";
+	mes "How can I be sure, you ask?";
+	mes "I'm not sure. Heh heh.";
+	mes "They might not go away completely.";
+	mes "Who knows?";
+	close;
+
+OnInit:
+	questinfo QTYPE_QUEST,QMARK_YELLOW,"illusion_moonlight == 2";
+	questinfo QTYPE_QUEST,QMARK_YELLOW,"illusion_moonlight == 3";
+	questinfo QTYPE_QUEST,QMARK_YELLOW,"illusion_moonlight == 4";
+	questinfo QTYPE_QUEST,QMARK_YELLOW,"illusion_moonlight == 8";
+	end;
+}
+
+payon_in03,30,96,5	script	Jagyeom#ill_moon_pin	4_M_HUOLDARMY,{
+	if (illusion_moonlight == 2) {
+		npctalk "Muyeon... If you can't do it, no one else can!","",bc_self;
+		end;
+	}
+	if (illusion_moonlight == 3 || illusion_moonlight == 4) {
+		npctalk "Let's listen for now.","",bc_self;
+		end;
+	}
+	if (illusion_moonlight == 5 || illusion_moonlight == 8) {
+		mes "[ Jagyeom ]";
+		mes "We should grasp the situation first.";
+		mes "It'll be great if you can help us, Adventurer.";
+		close;
+	}
+	if (illusion_moonlight == 9) {
+		mes "[ Jagyeom ]";
+		mes "The Moonlight Flower are recreating the past in their nightmares.";
+		mes "In a way, they're also victims.";
+		next;
+		mes "[ Jagyeom ]";
+		mes "I'll make sure no villagers gets close to the collapsed walls of reality and dreams.";
+		close;
+	}
+	mes "[ Jagyeom ]";
+	mes "Please observe proper manners inside the palace.";
+	close;
+}
+
+payon_in03,33,93,1	script	Young Scholar#ill_moon_pin	4_F_03,{
+	if (illusion_moonlight < 2) {
+		mes "[ Young Scholar ]";
+		mes "Payon is home for sacred creatures since ancient times.";
+		mes "A town isolated from the world by the mountains, the people of Payon way of thinking is different from the outside.";
+		close;
+	}
+	if (illusion_moonlight == 2) {
+		npctalk "Muyeon is really upset. We should ask her what happened.","",bc_self;
+		end;
+	}
+	if (illusion_moonlight < 5) {
+		npctalk "We should ask Muyeon what happened.";
+		end;
+	}
+	if (illusion_moonlight == 5) {
+		mes "[ Young Scholar ]";
+		mes "This is terrible.";
+		mes "I can't belive Muyeon had to deal with it on her own.";
+		mes "Those foxes must be angrier than I thought.";
+		next;
+		mes "[ Young Scholar ]";
+		mes "We need to look into this further. I'd better go to the ruined village.";
+		close;
+	}
+	mes "[ Young Scholar ]";
+	mes "I'm going to stay in the ruined village and investigate this phenomenon.";
+	mes "But I'll need some form of protection. I'm going to take Junghee with me.";
+	next;
+	mes "[ Young Scholar ]";
+	mes "It'd be great if you join us again. See you at the ruined village.";
+	close;
+}
+
+payon_in03,30,96,5	duplicate(dummy_cloaked_npc)	Nine Tail Spirit#ill_moon_0	NINE_TAIL
+payon_in03,35,96,3	duplicate(dummy_cloaked_npc)	Nine Tail Spirit#ill_moon_1	NINE_TAIL
+payon_in03,30,93,7	duplicate(dummy_cloaked_npc)	Nine Tail Spirit#ill_moon_2	NINE_TAIL
+payon_in03,35,93,1	duplicate(dummy_cloaked_npc)	Nine Tail Spirit#ill_moon_3	NINE_TAIL
+
+pay_dun03,140,46,0	script	Shimmering Portal#ill_moon_in	4_ENERGY_BLUE,{
+	if (illusion_moonlight < 5) {
+		mes "- The air is brimming with strange energy. -";
+		mes "It's giving me an anxiety feeling.";
+		close;
+	}
+	if (illusion_moonlight == 5) {
+		mes "There's a shimmering portal in the air.";
+		next;
+		cloakoffnpc "Young Scholar#ill_moon_pdun",getcharid(0);
+		cloakoffnpc "Junghee#ill_moon_pdun",getcharid(0);
+		npctalk "*Panting* You're here.","Young Scholar#ill_moon_pdun",bc_self;
+		mes "[ Young Scholar ]";
+		mes "I was alarmed when you suddenly disappeared.";
+		mes "Do you think this is one of the nightmares that Muyeon...";
+		next;
+		select("I'll have to figure that out.");
+		npctalk "Me? What if I don't want to?","Junghee#ill_moon_pdun",bc_self;
+		mes "[ Young Scholar ]";
+		mes "Then, do you mind if I tag along?";
+		mes "You don't have to worry about me. Junghee can keep me safe.";
+		next;
+		npctalk "D-Don't touch anything!","Junghee#ill_moon_pdun",bc_self;
+		mes "[ Young Scholar ]";
+		mes "Then... should I touch this?";
+		illusion_moonlight = 6;
+		completequest 7780;
+		setquest 7781;
+		close2;
+		setpcblock PCBLOCK_NPC, true;
+		specialeffect EF_SPINMOVE,AREA,"Young Scholar#ill_moon_pdun";
+		specialeffect EF_DQ9_CHARGE,AREA,"Young Scholar#ill_moon_pdun";
+		sleep2 350;
+		npctalk "Arghhhhh-!","",bc_self;
+		cloakonnpc "Young Scholar#ill_moon_pdun",getcharid(0);
+		sleep2 500;
+		npctalk "Chunghae!","Junghee#ill_moon_pdun",bc_self;
+		sleep2 2000;
+		npctalk "That careless klutz!","Junghee#dun_dummy",bc_self;
+		sleep2 500;
+		specialeffect EF_SPINMOVE,AREA,"Junghee#ill_moon_pdun";
+		specialeffect EF_DQ9_CHARGE,AREA,"Junghee#ill_moon_pdun";
+		sleep2 350;
+		setpcblock PCBLOCK_NPC, false;
+		cloakonnpc "Junghee#ill_moon_pdun",getcharid(0);
+		end;
+	}
+	mes "There is something on the other side of the shimmering portal.";
+	mes "What should I do?";
+	next;
+	if (select("Enter the portal.:Quit.") == 2) {
+		mes "Quit investigating.";
+		close;
+	}
+	warp "pay_d03_i",140,44;
+	end;
+
+OnInit:
+	questinfo QTYPE_QUEST,QMARK_YELLOW,"illusion_moonlight == 5";
+	end;
+}
+
+pay_dun03,143,45,4	duplicate(dummy_cloaked_npc)	Junghee#ill_moon_pdun	4_M_PAY_SOLDIER
+pay_dun03,138,43,7	duplicate(dummy_cloaked_npc)	Young Scholar#ill_moon_pdun	4_F_03
+
+pay_d03_i,140,46,0	script	Shimmering Portal#ill_moon_out	4_ENERGY_BLUE,{
+	mes "I can go back to the ruined village.";
+	mes "What should I do?";
+	next;
+	if (select("Exit.:Do not exit.") == 2)
+		end;
+	warp "pay_dun03",140,44;
+	end;
+}
+
+pay_d03_i,149,45,4	script	Scholar Chunghae#ill_moon_ind	4_F_03,{
+	if (illusion_moonlight < 6)
+		end;
+	if (illusion_moonlight == 6) {
+		mes "[ Chunghae ]";
+		mes "Look at this place!";
+		mes "It looks exactly like the ruined village we were in a moments ago, and yet... it's different!";
+		next;
+		mes "[ Chunghae ]";
+		mes "Also, there's something off about people and foxes here, and I saw a strange-looking mage among them.";
+		mes "What if he's responsible for this incident.";
+		next;
+		mes "[ Chunghae ]";
+		mes "These foxes, villagers, and angry spirits...";
+		mes "They reminded me of the time when the village was buried under landslide.";
+		next;
+		mes "[ Chunghae ]";
+		mes "We need to look around for more clues.";
+		mes "You'll help, won't you?";
+		next;
+		mes "[ Chunghae ]";
+		mes "Let me know when you're ready.";
+		illusion_moonlight = 7;
+		completequest 7781;
+		close;
+	}
+	if (checkweight(25271,1) == 0 || (MaxWeight - Weight) < 1000) {
+		mes "- You're carrying too many items to proceed with this quest. -";
+		close;
+	}
+	switch (checkquest(7783,PLAYTIME)) {
+		case -1:
+			break;
+
+		case 0:
+		case 1:
+			mes "[ Chunghae ]";
+			mes "Now I know this is not the ruined village.";
+			mes "Are we really inside a Moonlight Flower's nightmare?";
+			next;
+			mes "[ Chunghae ]";
+			mes "That's what Muyeon said.";
+			mes "Their nightmares are coming true.";
+			next;
+			mes "[ Chunghae ]";
+			mes "This place is a worth of a serious study.";
+			close;
+
+		case 2:
+			mes "[ Chunghae ]";
+			mes "Let's begin our investigation for the day, shall we?";
+			mes "Maybe it's because this is a dream, but nothing about it has changed.";
+			erasequest 7783;
+			next;
+			mes "[ Chunghae ]";
+			mes "Let me know when you're ready.";
+			close;
+	}
+	switch (checkquest(7782,HUNTING)) {
+		case -1:
+			mes "[ Chunghae ]";
+			mes "I've talked to the villagers,";
+			mes "and many of them told me about some strange mage.";
+			next;
+			mes "[ Chunghae ]";
+			mes "They said he casts powerful spells wherever he goes, and it was one of his spells that shook the ground and caused the fatal landslide. As a result, a lot of the villagers and foxes died.";
+			next;
+			mes "[ Chunghae ]";
+			mes "I'm convinced that the mage is responsible for these rampant nightmares.";
+			mes "Maybe the nightmares would stop materializing if we get rid of their cause.";
+			next;
+			mes "[ Chunghae ]";
+			mes "Of course, I could be wrong.";
+			mes "He could just be another character in the nightmares.";
+			next;
+			mes "[ Chunghae ]";
+			mes "I want to know more than anything what tore the walls between reality and dreams.";
+			mes "Maybe this is even happening in other places too?";
+			next;
+			mes "[ Chunghae ]";
+			mes "Anyway, please take care of the ^0000FFWizard of the Truth^000000 in this place.";
+			mes "It's time we deal with this quasi-reality.";
+			next;
+			mes "[ Chunghae ]";
+			mes "He is pretty formidable. I wouldn't recommend ^0000FFfight him alone.^000000";
+			next;
+			if (select("Will do.:No, thanks.") == 2) {
+				mes "[ Chunghae ]";
+				mes "Err, then I'll have to investigate something else.";
+				mes "But I won't resent you for this. I promise.";
+				close;
+			}
+			mes "[ Chunghae ]";
+			mes "Good luck.";
+			mes "That wizard looks pretty strong.";
+			mes "Please be careful.";
+			setquest 7782;
+			close;
+
+		case 0:
+		case 1:
+			mes "[ Chunghae ]";
+			mes "That ^0000CDenlightened mage^000000 looks dangerous.";
+			mes "Please stop him.";
+			close;
+
+		case 2:
+			mes "[ Chunghae ]";
+			mes "You're as experienced as I've heard.";
+			mes "Now, let's see how this affects the situation.";
+			next;
+			if (illusion_moonlight == 7) {
+				mes "[ Chunghae ]";
+				mes "Remember what Muyeon said?";
+				mes "About the foxes' nightmares coming true, I mean.";
+				next;
+				mes "[ Chunghae ]";
+				mes "I was thinking while looking around.";
+				mes "I think it's possible we're inside a Moonlight Flower's dream.";
+				next;
+				mes "[ Chunghae ]";
+				mes "I don't know how it has been connected to reality,";
+				mes "but I'm certain of one thing:";
+				next;
+				mes "[ Chunghae ]";
+				mes "The spirits of the Moonlight Flowers are still living in the past.";
+				mes "Back when their village was buried..";
+				next;
+				mes "[ Chunghae ]";
+				mes "They died such a horrible death that they're unable to move on to the Netherworld.";
+				mes "And something has ignited their pent-up anger.";
+				next;
+				mes "[ Chunghae ]";
+				mes "Here, there are truths that we cannot find anywhere else.";
+				mes "I guess I'll be staying here until I find them all.";
+				next;
+				mes "[ Chunghae ]";
+				mes "Please deliver the news to Muyeon in the Detached Payon Palace.";
+				mes "Junghee and I will explore this place further.";
+				illusion_moonlight = 8;
+				setquest 7788;
+				next;
+			}
+			mes "[ Chunghae ]";
+			mes "I hope we can find an answer to this phenomenon.";
+			erasequest 7782;
+			setquest 7783;
+			getitem 25271,1;
+			getexp 300000,300000;
+			close;
+	}
+	end;
+
+OnInit:
+	questinfo QTYPE_QUEST,QMARK_YELLOW,"illusion_moonlight == 6";
+	questinfo QTYPE_QUEST,QMARK_YELLOW,"illusion_moonlight == 7 && checkquest(7782,HUNTING) == -1";
+	questinfo QTYPE_QUEST,QMARK_YELLOW,"illusion_moonlight == 7 && checkquest(7782,HUNTING) == 2";
+	questinfo QTYPE_DAILYQUEST,QMARK_YELLOW,"iillusion_moonlight > 7 && checkquest(7783,PLAYTIME) == 2";
+	questinfo QTYPE_DAILYQUEST,QMARK_YELLOW,"iillusion_moonlight > 7 && checkquest(7782,HUNTING) == 2";
+	questinfo QTYPE_DAILYQUEST,QMARK_YELLOW,"iillusion_moonlight > 7 && checkquest(7783,PLAYTIME) == -1 && checkquest(7782,HUNTING) == -1";
+	end;
+}
+
+pay_d03_i,152,45,4	script	Soldier Junghee#ill_moon_ind	4_M_PAY_SOLDIER,{
+	if (illusion_moonlight < 6)
+		end;
+	if (illusion_moonlight == 6) {
+		mes "[ Junghee ]";
+		mes "I knew coming in that I'd better stay close to Chunghae.";
+		mes "I was right.";
+		next;
+		mes "[ Junghee ]";
+		mes "I'm sensing really bad vibes from these foxes and ghosts.";
+		mes "This is not good.";
+		close;
+	}
+	if (checkweight(25271,1) == 0 || (MaxWeight - Weight) < 1000) {
+		mes "- You're carrying too many items to proceed with this quest. -";
+		close;
+	}
+	if (checkquest(7784,HUNTING) == 2) {
+		mes "[ Junghee ]";
+		mes "It doesn't matter if they're real or not. They're just as threatening.";
+		mes "Good Job.";
+		next;
+		mes "[ Junghee ]";
+		mes "Chunghae's almost done investigating this place. I'd better get ready to leave.";
+		erasequest 7784;
+		setquest 7785;
+		getitem 25271,1;
+		close;
+	}
+	if (checkquest(7786,HUNTING)  == 2) {
+		mes "[ Junghee ]";
+		mes "It doesn't matter if they're real or not.";
+		mes "I can symphatize with the soldier.";
+		next;
+		mes "[ Junghee ]";
+		mes "All he wanted to do was protect others, and he died without fulfilling that wish.";
+		mes "Thank you for helping them rest.";
+		erasequest 7786;
+		setquest 7787;
+		getitem 25271,1;
+		close;
+	}
+	mes "[ Junghee ]";
+	mes "There's another portal that looks just like the one we came through.";
+	mes "I touched it, and it sent me back to the original ruined village.";
+	next;
+	switch( select( "About the angry Nine Tails.", "About the angry Soldiers." ) ) {
+	case 1:
+		switch( checkquest(7785,PLAYTIME) ) {
+		case -1:
+			if (checkquest(7784,HUNTING) == -1) {
+				mes "[ Junghee ]";
+				mes "Chunghae is having a problem investigating this place because of the angry foxes.";
+				mes "I'll appreciate if you can take care of them.";
+				break;
+			}
+			mes "[ Junghee ]";
+			mes "Please hunt the ^0000FFAngry Nine Tails^000000 around this place.";
+			mes "That'll ensure Chunghae's safety during his investigation.";
+			close;
+		case 0:
+		case 1:
+			mes "[ Junghee ]";
+			mes "Chunghae said we're inside a Moonlight Flower's nightmare.";
+			mes "They may not be real, but if they pose any threat to the living, then they must be taken care of.";
+			next;
+			mes "[ Junghee ]";
+			mes "And that has nothing to do with the symphathy I feel for them.";
+			mes "Now if you'll excuse me, Chunghae and I'll go investigate other places.";
+			close;
+		case 2:
+			erasequest 7785;
+			mes "[ Junghee ]";
+			mes "Did you get some rest?";
+			mes "Everything's just the same as when you left it, but I want to clear this place,";
+			mes "so Chunghae can investigate it.";
+			mes "Could you hunt some ^4d4dffAngry Nine Tails^000000?";
+			break;
+		}
+		next;
+		if (select( "Accept.", "Decline." ) == 2) {
+			mes "[ Junghee ]";
+			mes "Then Chunghae won't be able to fully investigate this place.";
+			close;
+		}
+		mes "[ Junghee ]";
+		mes "Thank you.";
+		mes "I understand why those ^0000FFfoxes are angry^000000, but this has to be done.";
+		setquest 7784;
+		close;
+	case 2:
+		switch( checkquest(7787,PLAYTIME) ) {
+		case -1:
+			if (checkquest(7786,HUNTING) == -1) {
+				mes "[ Junghee ]";
+				mes "These soldiers tried to protect their villagers until the last moment,";
+				mes "and got buried with them. No wonder they're so angry.";
+				break;
+			}
+			mes "[ Junghee ]";
+			mes "Please take care of the ^0000FFAngry Soldiers^000000 in this place.";
+			mes "I mean... send them to Heaven.";
+			close;
+		case 0:
+		case 1:
+			mes "[ Junghee ]";
+			mes "If we're really inside Moonlight Flower's nightmare, like Chunghae thinks,";
+			mes "then the angry soldier over there must have been the guard of this village.";
+			next;
+			mes "[ Junghee ]";
+			mes "It doesn't matter if this is real or not. Watching my ancestors suffer is difficult.";
+			mes "I may end up wasting our time, but I want to try to help them rest.";
+			close;
+		case 2:
+			erasequest 7787;
+			mes "[ Junghee ]";
+			mes "What can we do to get rid of these nightmares?";
+			mes "I told you it's difficult for me to look at those soldiers without feeling pain.";
+			break;
+		}
+		next;
+		mes "[ Junghee ]";
+		mes "Would you be so kind as to put them to rest for me?";
+		next;
+		if (select( "Accept.", "Decline." ) == 2) {
+			mes "[ Junghee ]";
+			mes "I really don't want to deal with them myself,";
+			mes "but I guess I'll have to.";
+			close;
+		}
+		mes "[ Junghee ]";
+		mes "Thank you.";
+		mes "I'll leave the ^0000FFAngry Soldiers^000000 to you.";
+		mes "Please send them to heaven.";
+		setquest 7786;
+		close;
+	}
+	end;
+
+OnInit:
+	questinfo QTYPE_DAILYQUEST,QMARK_YELLOW,"illusion_moonlight > 6 && checkquest(7785,PLAYTIME) == -1 && checkquest(7784,HUNTING) == -1";
+	questinfo QTYPE_DAILYQUEST,QMARK_YELLOW,"illusion_moonlight > 6 && checkquest(7787,PLAYTIME) == -1 && checkquest(7786,HUNTING) == -1";
+	questinfo QTYPE_DAILYQUEST,QMARK_YELLOW,"illusion_moonlight > 6 && checkquest(7785,PLAYTIME) == 2";
+	questinfo QTYPE_DAILYQUEST,QMARK_YELLOW,"illusion_moonlight > 6 && checkquest(7787,PLAYTIME) == 2";
+	questinfo QTYPE_DAILYQUEST,QMARK_YELLOW,"illusion_moonlight > 6 && checkquest(7784,HUNTING) == 2";
+	questinfo QTYPE_DAILYQUEST,QMARK_YELLOW,"illusion_moonlight > 6 && checkquest(7786,HUNTING) == 2";
+	end;
+}
+
+//= Illusion Moonlight Spawn
+pay_d03_i,43,150,5	script	Villager#ill_moon_0	1_F_ORIENT_01,{
+	mes "[ Villager ]";
+	mes "Adventurer?";
+	mes "Are you with the subjugation party?";
+	mes "Why can't you just leave us alone?";
+	next;
+	mes "[ Villager ]";
+	mes "We don't worship monsters.";
+	mes "We're not enthralled by monsters!";
+	next;
+	mes "[ Villager ]";
+	mes "Ah...";
+	mes "The light... The magic... Please stop that magic...";
+	close2;
+	initnpctimer;
+	disablenpc();
+	specialeffect EF_QUAKEBODY2;
+	npctalk "Ah... Ah... Aaahhh...";
+	areamonster "pay_d03_i",42,149,44,151,"Resentful Sohee",3762,3;
+	end;
+
+OnTimer60000:
+	stopnpctimer;
+	enablenpc();
+	end;
+}
+
+pay_d03_i,82,237,3	script	Villager#ilp17	1_F_ORIENT_01,5,5,{
+	end;
+
+OnTouch:
+	specialeffect EF_QUAKEBODY2;
+	npctalk "Ahhh... Ahhhhh!!";
+	initnpctimer;
+	disablenpc();
+	areamonster "pay_d03_i",81,236,83,238,"Resentful Sohee",3762,3;
+	end;
+
+OnTimer60000:
+	stopnpctimer;
+	enablenpc();
+	end;
+}
+
+pay_d03_i,254,206,3	script	Villager#ilp18	4_F_01,5,5,{
+	end;
+
+OnTouch:
+	specialeffect EF_QUAKEBODY2;
+	npctalk "Something is not right!";
+	sleep2 2000;
+	npctalk "Stop it... It's coming, agh!!";
+	areamonster "pay_d03_i",252,204,255,208,"Resentful Munak",3760,3;
+	disablenpc();
+	end;
+
+OnTimer60000:
+	stopnpctimer;
+	enablenpc();
+	end;
+}
+
+pay_d03_i,81,136,3	script	Villager#ill_moon_3	1_M_ORIENT01,{
+	mes "[ Villager ]";
+	mes "Are you here to subjugate us?!";
+	mes "We've done nothing wrong!";
+	mes "Can't you tell from the sacred creatures!";
+	next;
+	mes "[ Villager ]";
+	mes "Ah... The fox lady...";
+	close2;
+	initnpctimer;
+	disablenpc();
+	npctalk "H-help!! I don't want to die!";
+	areamonster "pay_d03_i",79,136,81,138,"Resentful Bongun",3761,3;
+	end;
+
+OnTimer60000:
+	stopnpctimer;
+	enablenpc();
+	end;
+}
+
+pay_d03_i,160,260,3	script	Villager#ill_moon_4	1_M_ORIENT01,{
+	mes "[ Villager ]";
+	mes "You...";
+	mes "Who's that strange mage?";
+	mes "Why do you...?";
+	next;
+	mes "[ Villager ]";
+	mes "You! You're no better than them!";
+	mes "What have we done to you?";
+	close2;
+	initnpctimer;
+	disablenpc();
+	npctalk "Arrgghh-!";
+	areamonster "pay_d03_i",158,258,162,262,"Resentful Bongun",3761,3;
+	end;
+
+OnTimer60000:
+	stopnpctimer;
+	enablenpc();
+	end;
+}

+ 2 - 0
npc/re/scripts_athena.conf

@@ -115,6 +115,7 @@ npc: npc/re/merchants/clothing_buff_removal.txt
 npc: npc/re/merchants/coin_exchange.txt
 npc: npc/re/merchants/Dealer_Update.txt
 npc: npc/re/merchants/diamond.txt
+npc: npc/re/merchants/enchan_illusion_16_2.txt
 npc: npc/re/merchants/enchan_ko.txt
 npc: npc/re/merchants/enchan_mal.txt
 npc: npc/re/merchants/enchan_mora.txt
@@ -208,6 +209,7 @@ npc: npc/re/quests/quests_15_1.txt
 npc: npc/re/quests/quests_15_2.txt
 npc: npc/re/quests/quests_16_1.txt
 npc: npc/re/quests/quests_16_2.txt
+npc: npc/re/quests/quests_16_2_illusion.txt
 npc: npc/re/quests/quests_aldebaran.txt
 npc: npc/re/quests/quests_brasilis.txt
 npc: npc/re/quests/quests_dewata.txt

+ 1 - 0
npc/re/scripts_monsters.conf

@@ -47,6 +47,7 @@ npc: npc/re/mobs/dungeons/mosk_dun.txt
 npc: npc/re/mobs/dungeons/nyd_dun.txt
 npc: npc/re/mobs/dungeons/odin.txt
 npc: npc/re/mobs/dungeons/orcsdun.txt
+npc: npc/re/mobs/dungeons/pay_d03_i.txt
 npc: npc/re/mobs/dungeons/pay_dun.txt
 npc: npc/re/mobs/dungeons/prt_maze.txt
 npc: npc/re/mobs/dungeons/prt_prison.txt