Procházet zdrojové kódy

Episode 17.2 - Sage's Legacy (#6799)

* Episode 17.2 Initial Release of instances and quests
* Added warp portals and monster spawn scripts
* Added Episode 17.2 related database entries

Closed #6470 

Thanks to @Megelith @Pokye 

Co-authored-by: JohnnyPlayy <JohnnyPlayy@users.noreply.github.com>
Co-authored-by: Everade <privacy@gatheringro.com>
Co-authored-by: crazyarashi <26841779+crazy-arashi@users.noreply.github.com>
Co-authored-by: Atemo <capucrath@gmail.com>
Everade před 2 roky
rodič
revize
7853e926c2
44 změnil soubory, kde provedl 22579 přidání a 407 odebrání
  1. 3 3
      db/re/item_db_usable.yml
  2. 714 0
      db/re/item_randomopt_group.yml
  3. 174 168
      db/re/laphine_upgrade.yml
  4. 3397 162
      db/re/mob_db.yml
  5. 438 0
      db/re/mob_skill_db.txt
  6. 41 1
      db/re/pet_db.yml
  7. 374 38
      db/re/quest_db.yml
  8. 1 1
      doc/item_bonus.txt
  9. 3 0
      doc/yaml/sql/mob_db.sql
  10. 3 0
      doc/yaml/sql/mob_db2.sql
  11. 3 0
      doc/yaml/sql/mob_db2_re.sql
  12. 3 0
      doc/yaml/sql/mob_db_re.sql
  13. 2211 0
      npc/re/instances/HiddenGarden.txt
  14. 1473 0
      npc/re/instances/LostFarm.txt
  15. 923 0
      npc/re/instances/TwilightGarden.txt
  16. 1029 0
      npc/re/instances/WaterGarden.txt
  17. 1 0
      npc/re/merchants/barters.yml
  18. 467 0
      npc/re/merchants/barters/quests_17_2.yml
  19. 485 0
      npc/re/merchants/enchan_sage_legacy_17_2.txt
  20. 17 0
      npc/re/mobs/dungeons/ba_2whs.txt
  21. 14 0
      npc/re/mobs/dungeons/ba_bath.txt
  22. 12 0
      npc/re/mobs/dungeons/ba_lib.txt
  23. 28 0
      npc/re/mobs/dungeons/ba_pw.txt
  24. 14 0
      npc/re/mobs/fields/ba_lost.txt
  25. 13 0
      npc/re/mobs/fields/ba_maison.txt
  26. 26 0
      npc/re/other/Global_Functions.txt
  27. 31 23
      npc/re/quests/quests_17_1.txt
  28. 10423 0
      npc/re/quests/quests_17_2.txt
  29. 6 0
      npc/re/scripts_athena.conf
  30. 6 0
      npc/re/scripts_monsters.conf
  31. 3 0
      npc/re/scripts_warps.conf
  32. 15 10
      npc/re/warps/cities/prontera.txt
  33. 28 0
      npc/re/warps/other/ba_2whs.txt
  34. 116 0
      npc/re/warps/other/ba_maison.txt
  35. 44 0
      npc/re/warps/other/ba_pw.txt
  36. 3 0
      sql-files/mob_db.sql
  37. 3 0
      sql-files/mob_db2.sql
  38. 3 0
      sql-files/mob_db2_re.sql
  39. 3 0
      sql-files/mob_db_re.sql
  40. 20 0
      sql-files/upgrades/upgrade_20220407.sql
  41. 3 0
      src/map/map.hpp
  42. 1 1
      src/map/mob.cpp
  43. 1 0
      src/map/script.cpp
  44. 3 0
      src/map/script_constants.hpp

+ 3 - 3
db/re/item_db_usable.yml

@@ -60006,21 +60006,21 @@ Body:
     Type: Usable
     Weight: 10
     Script: |
-      /* bonus_script "{ bonus2 bAddRace2,RC2_EP172BATH,5; }",900,1,0,EFST_BATH_FOAM_A; */
+      bonus_script "{ bonus2 bAddRace2,RC2_EP172BATH,5; }",900,1,0,EFST_BATH_FOAM_A;
   - Id: 100148
     AegisName: Bath_Foam_B
     Name: Bath Foam B
     Type: Usable
     Weight: 10
     Script: |
-      /* bonus_script "{ bonus2 bAddRace2,RC2_EP172BATH,10; }",900,1,0,EFST_BATH_FOAM_B; */
+      bonus_script "{ bonus2 bAddRace2,RC2_EP172BATH,10; }",900,1,0,EFST_BATH_FOAM_B;
   - Id: 100149
     AegisName: Bath_Foam_C
     Name: Bath Foam C
     Type: Usable
     Weight: 10
     Script: |
-      /* bonus_script "{ bonus2 bAddRace2,RC2_EP172BATH,15; }",900,1,0,EFST_BATH_FOAM_C; */
+      bonus_script "{ bonus2 bAddRace2,RC2_EP172BATH,15; }",900,1,0,EFST_BATH_FOAM_C;
   - Id: 100151
     AegisName: Skill_Sha_M_S_Weapon
     Name: Skill Shadow Weapon Combination Scroll

+ 714 - 0
db/re/item_randomopt_group.yml

@@ -13937,3 +13937,717 @@ Body:
         MinValue: 1
         MaxValue: 5
         Chance: 5000
+  - Id: 157
+    Group: AUTO_IMP_MELEE_1
+    Slots:
+      - Slot: 1
+        Options:
+          - Option: VAR_HITSUCCESSVALUE
+            MinValue: 3
+            MaxValue: 10
+            Chance: 5000
+          - Option: VAR_CRITICALSUCCESSVALUE
+            MinValue: 3
+            MaxValue: 10
+            Chance: 5000
+          - Option: VAR_ATTPOWER
+            MinValue: 5
+            MaxValue: 25
+            Chance: 5000
+          - Option: VAR_ATKPERCENT
+            MinValue: 1
+            MaxValue: 5
+            Chance: 5000
+          - Option: DAMAGE_PROPERTY_NOTHING_TARGET
+            MinValue: 3
+            MaxValue: 20
+            Chance: 5000
+          - Option: DAMAGE_PROPERTY_WATER_TARGET
+            MinValue: 3
+            MaxValue: 20
+            Chance: 5000
+          - Option: DAMAGE_PROPERTY_GROUND_TARGET
+            MinValue: 3
+            MaxValue: 20
+            Chance: 5000
+          - Option: DAMAGE_PROPERTY_FIRE_TARGET
+            MinValue: 3
+            MaxValue: 20
+            Chance: 5000
+          - Option: DAMAGE_PROPERTY_WIND_TARGET
+            MinValue: 3
+            MaxValue: 20
+            Chance: 5000
+          - Option: DAMAGE_PROPERTY_POISON_TARGET
+            MinValue: 3
+            MaxValue: 20
+            Chance: 5000
+          - Option: DAMAGE_PROPERTY_SAINT_TARGET
+            MinValue: 3
+            MaxValue: 20
+            Chance: 5000
+          - Option: DAMAGE_PROPERTY_DARKNESS_TARGET
+            MinValue: 3
+            MaxValue: 20
+            Chance: 5000
+          - Option: DAMAGE_PROPERTY_TELEKINESIS_TARGET
+            MinValue: 3
+            MaxValue: 20
+            Chance: 5000
+          - Option: DAMAGE_PROPERTY_UNDEAD_TARGET
+            MinValue: 3
+            MaxValue: 20
+            Chance: 5000
+  - Id: 158
+    Group: AUTO_IMP_MELEE_2
+    Slots:
+      - Slot: 1
+        Options:
+          - Option: VAR_HITSUCCESSVALUE
+            MinValue: 3
+            MaxValue: 10
+            Chance: 5000
+          - Option: VAR_CRITICALSUCCESSVALUE
+            MinValue: 3
+            MaxValue: 10
+            Chance: 5000
+          - Option: VAR_ATTPOWER
+            MinValue: 5
+            MaxValue: 25
+            Chance: 5000
+          - Option: VAR_ATKPERCENT
+            MinValue: 1
+            MaxValue: 5
+            Chance: 5000
+          - Option: DAMAGE_PROPERTY_NOTHING_TARGET
+            MinValue: 3
+            MaxValue: 20
+            Chance: 5000
+          - Option: DAMAGE_PROPERTY_WATER_TARGET
+            MinValue: 3
+            MaxValue: 20
+            Chance: 5000
+          - Option: DAMAGE_PROPERTY_GROUND_TARGET
+            MinValue: 3
+            MaxValue: 20
+            Chance: 5000
+          - Option: DAMAGE_PROPERTY_FIRE_TARGET
+            MinValue: 3
+            MaxValue: 20
+            Chance: 5000
+          - Option: DAMAGE_PROPERTY_WIND_TARGET
+            MinValue: 3
+            MaxValue: 20
+            Chance: 5000
+          - Option: DAMAGE_PROPERTY_POISON_TARGET
+            MinValue: 3
+            MaxValue: 20
+            Chance: 5000
+          - Option: DAMAGE_PROPERTY_SAINT_TARGET
+            MinValue: 3
+            MaxValue: 20
+            Chance: 5000
+          - Option: DAMAGE_PROPERTY_DARKNESS_TARGET
+            MinValue: 3
+            MaxValue: 20
+            Chance: 5000
+          - Option: DAMAGE_PROPERTY_TELEKINESIS_TARGET
+            MinValue: 3
+            MaxValue: 20
+            Chance: 5000
+          - Option: DAMAGE_PROPERTY_UNDEAD_TARGET
+            MinValue: 3
+            MaxValue: 20
+            Chance: 5000
+      - Slot: 2
+        Options:
+          - Option: VAR_PLUSASPDPERCENT
+            MinValue: 3
+            MaxValue: 15
+            Chance: 5000
+          - Option: RACE_DAMAGE_NOTHING
+            MinValue: 3
+            MaxValue: 15
+            Chance: 5000
+          - Option: RACE_DAMAGE_UNDEAD
+            MinValue: 3
+            MaxValue: 15
+            Chance: 5000
+          - Option: RACE_DAMAGE_ANIMAL
+            MinValue: 3
+            MaxValue: 15
+            Chance: 5000
+          - Option: RACE_DAMAGE_PLANT
+            MinValue: 3
+            MaxValue: 15
+            Chance: 5000
+          - Option: RACE_DAMAGE_INSECT
+            MinValue: 3
+            MaxValue: 15
+            Chance: 5000
+          - Option: RACE_DAMAGE_FISHS
+            MinValue: 3
+            MaxValue: 15
+            Chance: 5000
+          - Option: RACE_DAMAGE_DEVIL
+            MinValue: 3
+            MaxValue: 15
+            Chance: 5000
+          - Option: RACE_DAMAGE_HUMAN
+            MinValue: 3
+            MaxValue: 15
+            Chance: 5000
+          - Option: RACE_DAMAGE_ANGEL
+            MinValue: 3
+            MaxValue: 15
+            Chance: 5000
+          - Option: RACE_DAMAGE_DRAGON
+            MinValue: 3
+            MaxValue: 15
+            Chance: 5000
+          - Option: DAMAGE_SIZE_SMALL_TARGET
+            MinValue: 3
+            MaxValue: 15
+            Chance: 5000
+          - Option: DAMAGE_SIZE_MIDIUM_TARGET
+            MinValue: 3
+            MaxValue: 15
+            Chance: 5000
+          - Option: DAMAGE_SIZE_LARGE_TARGET
+            MinValue: 3
+            MaxValue: 15
+            Chance: 5000
+  - Id: 159
+    Group: AUTO_IMP_MELEE_3
+    Slots:
+      - Slot: 1
+        Options:
+          - Option: VAR_HITSUCCESSVALUE
+            MinValue: 3
+            MaxValue: 10
+            Chance: 5000
+          - Option: VAR_CRITICALSUCCESSVALUE
+            MinValue: 3
+            MaxValue: 10
+            Chance: 5000
+          - Option: VAR_ATTPOWER
+            MinValue: 5
+            MaxValue: 25
+            Chance: 5000
+          - Option: VAR_ATKPERCENT
+            MinValue: 1
+            MaxValue: 5
+            Chance: 5000
+          - Option: DAMAGE_PROPERTY_NOTHING_TARGET
+            MinValue: 3
+            MaxValue: 20
+            Chance: 5000
+          - Option: DAMAGE_PROPERTY_WATER_TARGET
+            MinValue: 3
+            MaxValue: 20
+            Chance: 5000
+          - Option: DAMAGE_PROPERTY_GROUND_TARGET
+            MinValue: 3
+            MaxValue: 20
+            Chance: 5000
+          - Option: DAMAGE_PROPERTY_FIRE_TARGET
+            MinValue: 3
+            MaxValue: 20
+            Chance: 5000
+          - Option: DAMAGE_PROPERTY_WIND_TARGET
+            MinValue: 3
+            MaxValue: 20
+            Chance: 5000
+          - Option: DAMAGE_PROPERTY_POISON_TARGET
+            MinValue: 3
+            MaxValue: 20
+            Chance: 5000
+          - Option: DAMAGE_PROPERTY_SAINT_TARGET
+            MinValue: 3
+            MaxValue: 20
+            Chance: 5000
+          - Option: DAMAGE_PROPERTY_DARKNESS_TARGET
+            MinValue: 3
+            MaxValue: 20
+            Chance: 5000
+          - Option: DAMAGE_PROPERTY_TELEKINESIS_TARGET
+            MinValue: 3
+            MaxValue: 20
+            Chance: 5000
+          - Option: DAMAGE_PROPERTY_UNDEAD_TARGET
+            MinValue: 3
+            MaxValue: 20
+            Chance: 5000
+      - Slot: 2
+        Options:
+          - Option: VAR_PLUSASPD
+            MinValue: 1
+            MaxValue: 2
+            Chance: 5000
+          - Option: VAR_AVOIDSUCCESSVALUE
+            MinValue: 5
+            MaxValue: 45
+            Chance: 5000
+          - Option: DEC_SP_CONSUMPTION
+            MinValue: 1
+            MaxValue: 10
+            Chance: 5000
+          - Option: WEAPON_INDESTRUCTIBLE
+            Chance: 5000
+          - Option: VAR_PLUSASPDPERCENT
+            MinValue: 3
+            MaxValue: 15
+            Chance: 5000
+          - Option: RACE_DAMAGE_NOTHING
+            MinValue: 3
+            MaxValue: 20
+            Chance: 5000
+          - Option: RACE_DAMAGE_UNDEAD
+            MinValue: 3
+            MaxValue: 20
+            Chance: 5000
+          - Option: RACE_DAMAGE_ANIMAL
+            MinValue: 3
+            MaxValue: 20
+            Chance: 5000
+          - Option: RACE_DAMAGE_PLANT
+            MinValue: 3
+            MaxValue: 20
+            Chance: 5000
+          - Option: RACE_DAMAGE_INSECT
+            MinValue: 3
+            MaxValue: 20
+            Chance: 5000
+          - Option: RACE_DAMAGE_FISHS
+            MinValue: 3
+            MaxValue: 20
+            Chance: 5000
+          - Option: RACE_DAMAGE_DEVIL
+            MinValue: 3
+            MaxValue: 20
+            Chance: 5000
+          - Option: RACE_DAMAGE_HUMAN
+            MinValue: 3
+            MaxValue: 20
+            Chance: 5000
+          - Option: RACE_DAMAGE_ANGEL
+            MinValue: 3
+            MaxValue: 20
+            Chance: 5000
+          - Option: RACE_DAMAGE_DRAGON
+            MinValue: 3
+            MaxValue: 20
+            Chance: 5000
+          - Option: RANGE_ATTACK_DAMAGE_TARGET
+            MinValue: 3
+            MaxValue: 12
+            Chance: 5000
+          - Option: MELEE_ATTACK_DAMAGE_TARGET
+            MinValue: 3
+            MaxValue: 20
+            Chance: 5000
+          - Option: DAMAGE_CRI_TARGET
+            MinValue: 3
+            MaxValue: 20
+            Chance: 5000
+          - Option: DAMAGE_SIZE_SMALL_TARGET
+            MinValue: 3
+            MaxValue: 20
+            Chance: 5000
+          - Option: DAMAGE_SIZE_MIDIUM_TARGET
+            MinValue: 3
+            MaxValue: 20
+            Chance: 5000
+          - Option: DAMAGE_SIZE_LARGE_TARGET
+            MinValue: 3
+            MaxValue: 20
+            Chance: 5000
+      - Slot: 3
+        Options:
+          - Option: VAR_ITEMDEFPOWER
+            MinValue: 30
+            MaxValue: 100
+            Chance: 5000
+          - Option: VAR_MDEFPOWER
+            MinValue: 10
+            MaxValue: 40
+            Chance: 5000
+          - Option: VAR_MAXHPPERCENT
+            MinValue: 1
+            MaxValue: 5
+            Chance: 5000
+          - Option: VAR_MAXSPPERCENT
+            MinValue: 1
+            MaxValue: 5
+            Chance: 5000
+          - Option: DEC_SPELL_CAST_TIME
+            MinValue: 3
+            MaxValue: 10
+            Chance: 5000
+          - Option: CLASS_DAMAGE_NORMAL_TARGET
+            MinValue: 1
+            MaxValue: 10
+            Chance: 5000
+          - Option: CLASS_IGNORE_DEF_PERCENT_NORMAL
+            MinValue: 3
+            MaxValue: 15
+            Chance: 5000
+          - Option: CLASS_DAMAGE_BOSS_TARGET
+            MinValue: 1
+            MaxValue: 10
+            Chance: 5000
+          - Option: CLASS_IGNORE_DEF_PERCENT_BOSS
+            MinValue: 3
+            MaxValue: 15
+            Chance: 5000
+          - Option: DEC_SPELL_DELAY_TIME
+            MinValue: 1
+            MaxValue: 5
+            Chance: 5000
+  - Id: 160
+    Group: AUTO_IMP_MAGIC_1
+    Slots:
+      - Slot: 1
+        Options:
+          - Option: VAR_PLUSASPDPERCENT
+            MinValue: 3
+            MaxValue: 10
+            Chance: 5000
+          - Option: VAR_ATTMPOWER
+            MinValue: 5
+            MaxValue: 25
+            Chance: 5000
+          - Option: VAR_MAGICATKPERCENT
+            MinValue: 1
+            MaxValue: 5
+            Chance: 5000
+          - Option: MDAMAGE_PROPERTY_NOTHING_TARGET
+            MinValue: 3
+            MaxValue: 20
+            Chance: 5000
+          - Option: MDAMAGE_PROPERTY_WATER_TARGET
+            MinValue: 3
+            MaxValue: 20
+            Chance: 5000
+          - Option: MDAMAGE_PROPERTY_GROUND_TARGET
+            MinValue: 3
+            MaxValue: 20
+            Chance: 5000
+          - Option: MDAMAGE_PROPERTY_FIRE_TARGET
+            MinValue: 3
+            MaxValue: 20
+            Chance: 5000
+          - Option: MDAMAGE_PROPERTY_WIND_TARGET
+            MinValue: 3
+            MaxValue: 20
+            Chance: 5000
+          - Option: MDAMAGE_PROPERTY_POISON_TARGET
+            MinValue: 3
+            MaxValue: 20
+            Chance: 5000
+          - Option: MDAMAGE_PROPERTY_SAINT_TARGET
+            MinValue: 3
+            MaxValue: 20
+            Chance: 5000
+          - Option: MDAMAGE_PROPERTY_DARKNESS_TARGET
+            MinValue: 3
+            MaxValue: 20
+            Chance: 5000
+          - Option: MDAMAGE_PROPERTY_TELEKINESIS_TARGET
+            MinValue: 3
+            MaxValue: 20
+            Chance: 5000
+          - Option: MDAMAGE_PROPERTY_UNDEAD_TARGET
+            MinValue: 3
+            MaxValue: 20
+            Chance: 5000
+  - Id: 161
+    Group: AUTO_IMP_MAGIC_2
+    Slots:
+      - Slot: 1
+        Options:
+          - Option: VAR_PLUSASPDPERCENT
+            MinValue: 3
+            MaxValue: 10
+            Chance: 5000
+          - Option: VAR_ATTMPOWER
+            MinValue: 5
+            MaxValue: 25
+            Chance: 5000
+          - Option: VAR_MAGICATKPERCENT
+            MinValue: 1
+            MaxValue: 5
+            Chance: 5000
+          - Option: MDAMAGE_PROPERTY_NOTHING_TARGET
+            MinValue: 3
+            MaxValue: 20
+            Chance: 5000
+          - Option: MDAMAGE_PROPERTY_WATER_TARGET
+            MinValue: 3
+            MaxValue: 20
+            Chance: 5000
+          - Option: MDAMAGE_PROPERTY_GROUND_TARGET
+            MinValue: 3
+            MaxValue: 20
+            Chance: 5000
+          - Option: MDAMAGE_PROPERTY_FIRE_TARGET
+            MinValue: 3
+            MaxValue: 20
+            Chance: 5000
+          - Option: MDAMAGE_PROPERTY_WIND_TARGET
+            MinValue: 3
+            MaxValue: 20
+            Chance: 5000
+          - Option: MDAMAGE_PROPERTY_POISON_TARGET
+            MinValue: 3
+            MaxValue: 20
+            Chance: 5000
+          - Option: MDAMAGE_PROPERTY_SAINT_TARGET
+            MinValue: 3
+            MaxValue: 20
+            Chance: 5000
+          - Option: MDAMAGE_PROPERTY_DARKNESS_TARGET
+            MinValue: 3
+            MaxValue: 20
+            Chance: 5000
+          - Option: MDAMAGE_PROPERTY_TELEKINESIS_TARGET
+            MinValue: 3
+            MaxValue: 20
+            Chance: 5000
+          - Option: MDAMAGE_PROPERTY_UNDEAD_TARGET
+            MinValue: 3
+            MaxValue: 20
+            Chance: 5000
+      - Slot: 2
+        Options:
+          - Option: DEC_SPELL_CAST_TIME
+            MinValue: 3
+            MaxValue: 10
+            Chance: 5000
+          - Option: RACE_MDAMAGE_NOTHING
+            MinValue: 3
+            MaxValue: 15
+            Chance: 5000
+          - Option: RACE_MDAMAGE_UNDEAD
+            MinValue: 3
+            MaxValue: 15
+            Chance: 5000
+          - Option: RACE_MDAMAGE_ANIMAL
+            MinValue: 3
+            MaxValue: 15
+            Chance: 5000
+          - Option: RACE_MDAMAGE_PLANT
+            MinValue: 3
+            MaxValue: 15
+            Chance: 5000
+          - Option: RACE_MDAMAGE_INSECT
+            MinValue: 3
+            MaxValue: 15
+            Chance: 5000
+          - Option: RACE_MDAMAGE_FISHS
+            MinValue: 3
+            MaxValue: 15
+            Chance: 5000
+          - Option: RACE_MDAMAGE_DEVIL
+            MinValue: 3
+            MaxValue: 15
+            Chance: 5000
+          - Option: RACE_MDAMAGE_HUMAN
+            MinValue: 3
+            MaxValue: 15
+            Chance: 5000
+          - Option: RACE_MDAMAGE_ANGEL
+            MinValue: 3
+            MaxValue: 15
+            Chance: 5000
+          - Option: RACE_MDAMAGE_DRAGON
+            MinValue: 3
+            MaxValue: 15
+            Chance: 5000
+          - Option: MDAMAGE_SIZE_SMALL_TARGET
+            MinValue: 3
+            MaxValue: 15
+            Chance: 5000
+          - Option: MDAMAGE_SIZE_MIDIUM_TARGET
+            MinValue: 3
+            MaxValue: 15
+            Chance: 5000
+          - Option: MDAMAGE_SIZE_LARGE_TARGET
+            MinValue: 3
+            MaxValue: 15
+            Chance: 5000
+  - Id: 162
+    Group: AUTO_IMP_MAGIC_3
+    Slots:
+      - Slot: 1
+        Options:
+          - Option: VAR_PLUSASPDPERCENT
+            MinValue: 3
+            MaxValue: 10
+            Chance: 5000
+          - Option: VAR_ATTMPOWER
+            MinValue: 5
+            MaxValue: 25
+            Chance: 5000
+          - Option: VAR_MAGICATKPERCENT
+            MinValue: 1
+            MaxValue: 5
+            Chance: 5000
+          - Option: MDAMAGE_PROPERTY_NOTHING_TARGET
+            MinValue: 3
+            MaxValue: 20
+            Chance: 5000
+          - Option: MDAMAGE_PROPERTY_WATER_TARGET
+            MinValue: 3
+            MaxValue: 20
+            Chance: 5000
+          - Option: MDAMAGE_PROPERTY_GROUND_TARGET
+            MinValue: 3
+            MaxValue: 20
+            Chance: 5000
+          - Option: MDAMAGE_PROPERTY_FIRE_TARGET
+            MinValue: 3
+            MaxValue: 20
+            Chance: 5000
+          - Option: MDAMAGE_PROPERTY_WIND_TARGET
+            MinValue: 3
+            MaxValue: 20
+            Chance: 5000
+          - Option: MDAMAGE_PROPERTY_POISON_TARGET
+            MinValue: 3
+            MaxValue: 20
+            Chance: 5000
+          - Option: MDAMAGE_PROPERTY_SAINT_TARGET
+            MinValue: 3
+            MaxValue: 20
+            Chance: 5000
+          - Option: MDAMAGE_PROPERTY_DARKNESS_TARGET
+            MinValue: 3
+            MaxValue: 20
+            Chance: 5000
+          - Option: MDAMAGE_PROPERTY_TELEKINESIS_TARGET
+            MinValue: 3
+            MaxValue: 20
+            Chance: 5000
+          - Option: MDAMAGE_PROPERTY_UNDEAD_TARGET
+            MinValue: 3
+            MaxValue: 20
+            Chance: 5000
+      - Slot: 2
+        Options:
+          - Option: VAR_PLUSASPD
+            MinValue: 1
+            MaxValue: 2
+            Chance: 5000
+          - Option: VAR_AVOIDSUCCESSVALUE
+            MinValue: 5
+            MaxValue: 45
+            Chance: 5000
+          - Option: DEC_SP_CONSUMPTION
+            MinValue: 1
+            MaxValue: 10
+            Chance: 5000
+          - Option: WEAPON_INDESTRUCTIBLE
+            Chance: 5000
+          - Option: DEC_SPELL_CAST_TIME
+            MinValue: 3
+            MaxValue: 15
+            Chance: 5000
+          - Option: VAR_MAGICATKPERCENT
+            MinValue: 3
+            MaxValue: 10
+            Chance: 5000
+          - Option: RACE_MDAMAGE_NOTHING
+            MinValue: 3
+            MaxValue: 20
+            Chance: 5000
+          - Option: RACE_MDAMAGE_UNDEAD
+            MinValue: 3
+            MaxValue: 20
+            Chance: 5000
+          - Option: RACE_MDAMAGE_ANIMAL
+            MinValue: 3
+            MaxValue: 20
+            Chance: 5000
+          - Option: RACE_MDAMAGE_PLANT
+            MinValue: 3
+            MaxValue: 20
+            Chance: 5000
+          - Option: RACE_MDAMAGE_INSECT
+            MinValue: 3
+            MaxValue: 20
+            Chance: 5000
+          - Option: RACE_MDAMAGE_FISHS
+            MinValue: 3
+            MaxValue: 20
+            Chance: 5000
+          - Option: RACE_MDAMAGE_DEVIL
+            MinValue: 3
+            MaxValue: 20
+            Chance: 5000
+          - Option: RACE_MDAMAGE_HUMAN
+            MinValue: 3
+            MaxValue: 20
+            Chance: 5000
+          - Option: RACE_MDAMAGE_ANGEL
+            MinValue: 3
+            MaxValue: 20
+            Chance: 5000
+          - Option: RACE_MDAMAGE_DRAGON
+            MinValue: 3
+            MaxValue: 20
+            Chance: 5000
+          - Option: MDAMAGE_SIZE_SMALL_TARGET
+            MinValue: 3
+            MaxValue: 20
+            Chance: 5000
+          - Option: MDAMAGE_SIZE_MIDIUM_TARGET
+            MinValue: 3
+            MaxValue: 20
+            Chance: 5000
+          - Option: MDAMAGE_SIZE_LARGE_TARGET
+            MinValue: 3
+            MaxValue: 20
+            Chance: 5000
+      - Slot: 3
+        Options:
+          - Option: VAR_ITEMDEFPOWER
+            MinValue: 30
+            MaxValue: 100
+            Chance: 5000
+          - Option: VAR_MDEFPOWER
+            MinValue: 10
+            MaxValue: 40
+            Chance: 5000
+          - Option: VAR_MAXHPPERCENT
+            MinValue: 1
+            MaxValue: 5
+            Chance: 5000
+          - Option: VAR_MAXSPPERCENT
+            MinValue: 1
+            MaxValue: 5
+            Chance: 5000
+          - Option: DEC_SPELL_CAST_TIME
+            MinValue: 3
+            MaxValue: 10
+            Chance: 5000
+          - Option: CLASS_MDAMAGE_NORMAL
+            MinValue: 1
+            MaxValue: 10
+            Chance: 5000
+          - Option: CLASS_IGNORE_MDEF_PERCENT_NORMAL
+            MinValue: 3
+            MaxValue: 15
+            Chance: 5000
+          - Option: CLASS_MDAMAGE_BOSS
+            MinValue: 1
+            MaxValue: 10
+            Chance: 5000
+          - Option: CLASS_IGNORE_MDEF_PERCENT_BOSS
+            MinValue: 3
+            MaxValue: 15
+            Chance: 5000
+          - Option: DEC_SPELL_DELAY_TIME
+            MinValue: 1
+            MaxValue: 5
+            Chance: 5000

+ 174 - 168
db/re/laphine_upgrade.yml

@@ -3056,174 +3056,180 @@ Body:
 #  - Item: Abyss_Ddbox4
 #    TargetItems:
 #      - Item: Dragon_Boots
-#  - Item: Auto_Imp_Melee_1
-#    TargetItems:
-#      - Item: Ep172_1h_Sword
-#      - Item: Ep172_Bh_Sword
-#      - Item: Ep172_1h_Wand
-#      - Item: Ep172_1h_Book
-#      - Item: Ep172_1h_Axe
-#      - Item: Ep172_1h_Sword2
-#      - Item: Ep172_Bh_Bow
-#      - Item: Ep172_Bh_Bow2
-#      - Item: Ep172_Bh_Knuck
-#      - Item: Ep172_1h_Spear
-#      - Item: Ep172_Bh_Spear
-#      - Item: Ep172_1h_Dagger
-#      - Item: Ep172_Bh_Katar
-#      - Item: Ep172_Bh_Staff
-#      - Item: Ep172_1h_Book2
-#      - Item: Ep172_1h_Dagger2
-#      - Item: Ep172_1h_Whip
-#      - Item: Ep172_1h_Inst
-#      - Item: Ep172_Bh_Bow3
-#      - Item: Ep172_Bh_Huuma
-#      - Item: Ep172_1h_Hammer
-#      - Item: Ep172_1h_Foxtail
-#      - Item: Ep172_1h_Rifle
-#      - Item: Ep172_1h_Shotgun
-#      - Item: Ep172_1h_Gatling
-#      - Item: Ep172_1h_Grenade
-#  - Item: Auto_Imp_Melee_2
-#    TargetItems:
-#      - Item: Ep172_1h_Sword
-#      - Item: Ep172_Bh_Sword
-#      - Item: Ep172_1h_Wand
-#      - Item: Ep172_1h_Book
-#      - Item: Ep172_1h_Axe
-#      - Item: Ep172_1h_Sword2
-#      - Item: Ep172_Bh_Bow
-#      - Item: Ep172_Bh_Bow2
-#      - Item: Ep172_Bh_Knuck
-#      - Item: Ep172_1h_Spear
-#      - Item: Ep172_Bh_Spear
-#      - Item: Ep172_1h_Dagger
-#      - Item: Ep172_Bh_Katar
-#      - Item: Ep172_Bh_Staff
-#      - Item: Ep172_1h_Book2
-#      - Item: Ep172_1h_Dagger2
-#      - Item: Ep172_1h_Whip
-#      - Item: Ep172_1h_Inst
-#      - Item: Ep172_Bh_Bow3
-#      - Item: Ep172_Bh_Huuma
-#      - Item: Ep172_1h_Hammer
-#      - Item: Ep172_1h_Foxtail
-#      - Item: Ep172_1h_Rifle
-#      - Item: Ep172_1h_Shotgun
-#      - Item: Ep172_1h_Gatling
-#      - Item: Ep172_1h_Grenade
-#  - Item: Auto_Imp_Melee_3
-#    TargetItems:
-#      - Item: Ep172_1h_Sword
-#      - Item: Ep172_Bh_Sword
-#      - Item: Ep172_1h_Wand
-#      - Item: Ep172_1h_Book
-#      - Item: Ep172_1h_Axe
-#      - Item: Ep172_1h_Sword2
-#      - Item: Ep172_Bh_Bow
-#      - Item: Ep172_Bh_Bow2
-#      - Item: Ep172_Bh_Knuck
-#      - Item: Ep172_1h_Spear
-#      - Item: Ep172_Bh_Spear
-#      - Item: Ep172_1h_Dagger
-#      - Item: Ep172_Bh_Katar
-#      - Item: Ep172_Bh_Staff
-#      - Item: Ep172_1h_Book2
-#      - Item: Ep172_1h_Dagger2
-#      - Item: Ep172_1h_Whip
-#      - Item: Ep172_1h_Inst
-#      - Item: Ep172_Bh_Bow3
-#      - Item: Ep172_Bh_Huuma
-#      - Item: Ep172_1h_Hammer
-#      - Item: Ep172_1h_Foxtail
-#      - Item: Ep172_1h_Rifle
-#      - Item: Ep172_1h_Shotgun
-#      - Item: Ep172_1h_Gatling
-#      - Item: Ep172_1h_Grenade
-#  - Item: Auto_Imp_Magic_1
-#    TargetItems:
-#      - Item: Ep172_1h_Sword
-#      - Item: Ep172_Bh_Sword
-#      - Item: Ep172_1h_Wand
-#      - Item: Ep172_1h_Book
-#      - Item: Ep172_1h_Axe
-#      - Item: Ep172_1h_Sword2
-#      - Item: Ep172_Bh_Bow
-#      - Item: Ep172_Bh_Bow2
-#      - Item: Ep172_Bh_Knuck
-#      - Item: Ep172_1h_Spear
-#      - Item: Ep172_Bh_Spear
-#      - Item: Ep172_1h_Dagger
-#      - Item: Ep172_Bh_Katar
-#      - Item: Ep172_Bh_Staff
-#      - Item: Ep172_1h_Book2
-#      - Item: Ep172_1h_Dagger2
-#      - Item: Ep172_1h_Whip
-#      - Item: Ep172_1h_Inst
-#      - Item: Ep172_Bh_Bow3
-#      - Item: Ep172_Bh_Huuma
-#      - Item: Ep172_1h_Hammer
-#      - Item: Ep172_1h_Foxtail
-#      - Item: Ep172_1h_Rifle
-#      - Item: Ep172_1h_Shotgun
-#      - Item: Ep172_1h_Gatling
-#      - Item: Ep172_1h_Grenade
-#  - Item: Auto_Imp_Magic_2
-#    TargetItems:
-#      - Item: Ep172_1h_Sword
-#      - Item: Ep172_Bh_Sword
-#      - Item: Ep172_1h_Wand
-#      - Item: Ep172_1h_Book
-#      - Item: Ep172_1h_Axe
-#      - Item: Ep172_1h_Sword2
-#      - Item: Ep172_Bh_Bow
-#      - Item: Ep172_Bh_Bow2
-#      - Item: Ep172_Bh_Knuck
-#      - Item: Ep172_1h_Spear
-#      - Item: Ep172_Bh_Spear
-#      - Item: Ep172_1h_Dagger
-#      - Item: Ep172_Bh_Katar
-#      - Item: Ep172_Bh_Staff
-#      - Item: Ep172_1h_Book2
-#      - Item: Ep172_1h_Dagger2
-#      - Item: Ep172_1h_Whip
-#      - Item: Ep172_1h_Inst
-#      - Item: Ep172_Bh_Bow3
-#      - Item: Ep172_Bh_Huuma
-#      - Item: Ep172_1h_Hammer
-#      - Item: Ep172_1h_Foxtail
-#      - Item: Ep172_1h_Rifle
-#      - Item: Ep172_1h_Shotgun
-#      - Item: Ep172_1h_Gatling
-#      - Item: Ep172_1h_Grenade
-#  - Item: Auto_Imp_Magic_3
-#    TargetItems:
-#      - Item: Ep172_1h_Sword
-#      - Item: Ep172_Bh_Sword
-#      - Item: Ep172_1h_Wand
-#      - Item: Ep172_1h_Book
-#      - Item: Ep172_1h_Axe
-#      - Item: Ep172_1h_Sword2
-#      - Item: Ep172_Bh_Bow
-#      - Item: Ep172_Bh_Bow2
-#      - Item: Ep172_Bh_Knuck
-#      - Item: Ep172_1h_Spear
-#      - Item: Ep172_Bh_Spear
-#      - Item: Ep172_1h_Dagger
-#      - Item: Ep172_Bh_Katar
-#      - Item: Ep172_Bh_Staff
-#      - Item: Ep172_1h_Book2
-#      - Item: Ep172_1h_Dagger2
-#      - Item: Ep172_1h_Whip
-#      - Item: Ep172_1h_Inst
-#      - Item: Ep172_Bh_Bow3
-#      - Item: Ep172_Bh_Huuma
-#      - Item: Ep172_1h_Hammer
-#      - Item: Ep172_1h_Foxtail
-#      - Item: Ep172_1h_Rifle
-#      - Item: Ep172_1h_Shotgun
-#      - Item: Ep172_1h_Gatling
-#      - Item: Ep172_1h_Grenade
+  - Item: Auto_Imp_Melee_1
+    RandomOptionGroup: AUTO_IMP_MELEE_1
+    TargetItems:
+      - Item: Ep172_1h_Sword
+      - Item: Ep172_Bh_Sword
+      - Item: Ep172_1h_Wand
+      - Item: Ep172_1h_Book
+      - Item: Ep172_1h_Axe
+      - Item: Ep172_1h_Sword2
+      - Item: Ep172_Bh_Bow
+      - Item: Ep172_Bh_Bow2
+      - Item: Ep172_Bh_Knuck
+      - Item: Ep172_1h_Spear
+      - Item: Ep172_Bh_Spear
+      - Item: Ep172_1h_Dagger
+      - Item: Ep172_Bh_Katar
+      - Item: Ep172_Bh_Staff
+      - Item: Ep172_1h_Book2
+      - Item: Ep172_1h_Dagger2
+      - Item: Ep172_1h_Whip
+      - Item: Ep172_1h_Inst
+      - Item: Ep172_Bh_Bow3
+      - Item: Ep172_Bh_Huuma
+      - Item: Ep172_1h_Hammer
+      - Item: Ep172_1h_Foxtail
+      - Item: Ep172_1h_Rifle
+      - Item: Ep172_1h_Shotgun
+      - Item: Ep172_1h_Gatling
+      - Item: Ep172_1h_Grenade
+  - Item: Auto_Imp_Melee_2
+    RandomOptionGroup: AUTO_IMP_MELEE_2
+    TargetItems:
+      - Item: Ep172_1h_Sword
+      - Item: Ep172_Bh_Sword
+      - Item: Ep172_1h_Wand
+      - Item: Ep172_1h_Book
+      - Item: Ep172_1h_Axe
+      - Item: Ep172_1h_Sword2
+      - Item: Ep172_Bh_Bow
+      - Item: Ep172_Bh_Bow2
+      - Item: Ep172_Bh_Knuck
+      - Item: Ep172_1h_Spear
+      - Item: Ep172_Bh_Spear
+      - Item: Ep172_1h_Dagger
+      - Item: Ep172_Bh_Katar
+      - Item: Ep172_Bh_Staff
+      - Item: Ep172_1h_Book2
+      - Item: Ep172_1h_Dagger2
+      - Item: Ep172_1h_Whip
+      - Item: Ep172_1h_Inst
+      - Item: Ep172_Bh_Bow3
+      - Item: Ep172_Bh_Huuma
+      - Item: Ep172_1h_Hammer
+      - Item: Ep172_1h_Foxtail
+      - Item: Ep172_1h_Rifle
+      - Item: Ep172_1h_Shotgun
+      - Item: Ep172_1h_Gatling
+      - Item: Ep172_1h_Grenade
+  - Item: Auto_Imp_Melee_3
+    RandomOptionGroup: AUTO_IMP_MELEE_3
+    TargetItems:
+      - Item: Ep172_1h_Sword
+      - Item: Ep172_Bh_Sword
+      - Item: Ep172_1h_Wand
+      - Item: Ep172_1h_Book
+      - Item: Ep172_1h_Axe
+      - Item: Ep172_1h_Sword2
+      - Item: Ep172_Bh_Bow
+      - Item: Ep172_Bh_Bow2
+      - Item: Ep172_Bh_Knuck
+      - Item: Ep172_1h_Spear
+      - Item: Ep172_Bh_Spear
+      - Item: Ep172_1h_Dagger
+      - Item: Ep172_Bh_Katar
+      - Item: Ep172_Bh_Staff
+      - Item: Ep172_1h_Book2
+      - Item: Ep172_1h_Dagger2
+      - Item: Ep172_1h_Whip
+      - Item: Ep172_1h_Inst
+      - Item: Ep172_Bh_Bow3
+      - Item: Ep172_Bh_Huuma
+      - Item: Ep172_1h_Hammer
+      - Item: Ep172_1h_Foxtail
+      - Item: Ep172_1h_Rifle
+      - Item: Ep172_1h_Shotgun
+      - Item: Ep172_1h_Gatling
+      - Item: Ep172_1h_Grenade
+  - Item: Auto_Imp_Magic_1
+    RandomOptionGroup: AUTO_IMP_MAGIC_1
+    TargetItems:
+      - Item: Ep172_1h_Sword
+      - Item: Ep172_Bh_Sword
+      - Item: Ep172_1h_Wand
+      - Item: Ep172_1h_Book
+      - Item: Ep172_1h_Axe
+      - Item: Ep172_1h_Sword2
+      - Item: Ep172_Bh_Bow
+      - Item: Ep172_Bh_Bow2
+      - Item: Ep172_Bh_Knuck
+      - Item: Ep172_1h_Spear
+      - Item: Ep172_Bh_Spear
+      - Item: Ep172_1h_Dagger
+      - Item: Ep172_Bh_Katar
+      - Item: Ep172_Bh_Staff
+      - Item: Ep172_1h_Book2
+      - Item: Ep172_1h_Dagger2
+      - Item: Ep172_1h_Whip
+      - Item: Ep172_1h_Inst
+      - Item: Ep172_Bh_Bow3
+      - Item: Ep172_Bh_Huuma
+      - Item: Ep172_1h_Hammer
+      - Item: Ep172_1h_Foxtail
+      - Item: Ep172_1h_Rifle
+      - Item: Ep172_1h_Shotgun
+      - Item: Ep172_1h_Gatling
+      - Item: Ep172_1h_Grenade
+  - Item: Auto_Imp_Magic_2
+    RandomOptionGroup: AUTO_IMP_MAGIC_2
+    TargetItems:
+      - Item: Ep172_1h_Sword
+      - Item: Ep172_Bh_Sword
+      - Item: Ep172_1h_Wand
+      - Item: Ep172_1h_Book
+      - Item: Ep172_1h_Axe
+      - Item: Ep172_1h_Sword2
+      - Item: Ep172_Bh_Bow
+      - Item: Ep172_Bh_Bow2
+      - Item: Ep172_Bh_Knuck
+      - Item: Ep172_1h_Spear
+      - Item: Ep172_Bh_Spear
+      - Item: Ep172_1h_Dagger
+      - Item: Ep172_Bh_Katar
+      - Item: Ep172_Bh_Staff
+      - Item: Ep172_1h_Book2
+      - Item: Ep172_1h_Dagger2
+      - Item: Ep172_1h_Whip
+      - Item: Ep172_1h_Inst
+      - Item: Ep172_Bh_Bow3
+      - Item: Ep172_Bh_Huuma
+      - Item: Ep172_1h_Hammer
+      - Item: Ep172_1h_Foxtail
+      - Item: Ep172_1h_Rifle
+      - Item: Ep172_1h_Shotgun
+      - Item: Ep172_1h_Gatling
+      - Item: Ep172_1h_Grenade
+  - Item: Auto_Imp_Magic_3
+    RandomOptionGroup: AUTO_IMP_MAGIC_3
+    TargetItems:
+      - Item: Ep172_1h_Sword
+      - Item: Ep172_Bh_Sword
+      - Item: Ep172_1h_Wand
+      - Item: Ep172_1h_Book
+      - Item: Ep172_1h_Axe
+      - Item: Ep172_1h_Sword2
+      - Item: Ep172_Bh_Bow
+      - Item: Ep172_Bh_Bow2
+      - Item: Ep172_Bh_Knuck
+      - Item: Ep172_1h_Spear
+      - Item: Ep172_Bh_Spear
+      - Item: Ep172_1h_Dagger
+      - Item: Ep172_Bh_Katar
+      - Item: Ep172_Bh_Staff
+      - Item: Ep172_1h_Book2
+      - Item: Ep172_1h_Dagger2
+      - Item: Ep172_1h_Whip
+      - Item: Ep172_1h_Inst
+      - Item: Ep172_Bh_Bow3
+      - Item: Ep172_Bh_Huuma
+      - Item: Ep172_1h_Hammer
+      - Item: Ep172_1h_Foxtail
+      - Item: Ep172_1h_Rifle
+      - Item: Ep172_1h_Shotgun
+      - Item: Ep172_1h_Gatling
+      - Item: Ep172_1h_Grenade
 #  - Item: Class_Sha_R_M_Melee
 #    TargetItems:
 #      - Item: S_Swordman_earring

+ 3397 - 162
db/re/mob_db.yml

@@ -97030,168 +97030,3403 @@ Body:
 #    AegisName: BONE_DETALE
 #  - Id: 20619
 #    AegisName: GLOOMUNDERNIGHT2
-#  - Id: 20620
-#    AegisName: MD_REDPEPPER
-#  - Id: 20621
-#    AegisName: MD_REDPEPPER_H
-#  - Id: 20622
-#    AegisName: MD_ASSISTANT
-#  - Id: 20623
-#    AegisName: MD_ASSISTANT_H
-#  - Id: 20624
-#    AegisName: MD_DRY_RAFFLESIA
-#  - Id: 20625
-#    AegisName: MD_DRY_RAFFLESIA_H
-#  - Id: 20626
-#    AegisName: MD_ALNOLDI_EX
-#  - Id: 20627
-#    AegisName: MD_ALNOLDI_EX_H
-#  - Id: 20628
-#    AegisName: EP17_2_ALPHA_MASTER
-#  - Id: 20629
-#    AegisName: EP17_2_BETA_BASIC
-#  - Id: 20630
-#    AegisName: EP17_2_BETA_BASIC_NG
-#  - Id: 20631
-#    AegisName: MD_BETA_SCISSORE_NG
-#  - Id: 20632
-#    AegisName: MD_BETA_SCISSORE_NG_H
-#  - Id: 20633
-#    AegisName: EP17_2_BETA_CLEANER_A
-#  - Id: 20634
-#    AegisName: EP17_2_BETA_CLEANER_B
-#  - Id: 20635
-#    AegisName: EP17_2_BETA_BATHS_A
-#  - Id: 20636
-#    AegisName: EP17_2_BETA_BATHS_B
-#  - Id: 20637
-#    AegisName: EP17_2_BETA_ITEMKEEPER
-#  - Id: 20638
-#    AegisName: EP17_2_BETA_GUARDS
-#  - Id: 20639
-#    AegisName: EP17_2_BETA_GUARDS_NG
-#  - Id: 20640
-#    AegisName: EP17_2_OMEGA_CLEANER
-#  - Id: 20641
-#    AegisName: EP17_2_OMEGA_CLEANER_NG
-#  - Id: 20642
-#    AegisName: MD_SWEETY
-#  - Id: 20643
-#    AegisName: EP17_2_PHEN
-#  - Id: 20644
-#    AegisName: EP17_2_MARC
-#  - Id: 20645
-#    AegisName: EP17_2_SWORD_FISH
-#  - Id: 20646
-#    AegisName: EP17_2_PIRANHA
-#  - Id: 20647
-#    AegisName: EP17_2_BATH_MERMAID
-#  - Id: 20648
-#    AegisName: EP17_2_PITAYA_BOSS
-#  - Id: 20649
-#    AegisName: EP17_2_PITAYA_R
-#  - Id: 20650
-#    AegisName: EP17_2_PITAYA_Y
-#  - Id: 20651
-#    AegisName: EP17_2_PITAYA_B
-#  - Id: 20652
-#    AegisName: EP17_2_PITAYA_V
-#  - Id: 20653
-#    AegisName: EP17_2_PITAYA_G
-#  - Id: 20654
-#    AegisName: G_PITAYA_R
-#  - Id: 20655
-#    AegisName: G_PITAYA_Y
-#  - Id: 20656
-#    AegisName: G_PITAYA_B
-#  - Id: 20657
-#    AegisName: G_PITAYA_V
-#  - Id: 20658
-#    AegisName: G_PITAYA_G
-#  - Id: 20659
-#    AegisName: MD_PITAYA_BOSS
-#  - Id: 20660
-#    AegisName: MD_PITAYA_R
-#  - Id: 20661
-#    AegisName: MD_PITAYA_Y
-#  - Id: 20662
-#    AegisName: MD_PITAYA_B
-#  - Id: 20663
-#    AegisName: MD_PITAYA_V
-#  - Id: 20664
-#    AegisName: MD_PITAYA_G
-#  - Id: 20665
-#    AegisName: MD_VERPORTA
-#  - Id: 20666
-#    AegisName: MD_VERPORTE_H
-#  - Id: 20667
-#    AegisName: MD_SILVA_PAPILIA
-#  - Id: 20668
-#    AegisName: MD_GRAN_PAPILIA
-#  - Id: 20669
-#    AegisName: MD_PAPILA
-#  - Id: 20670
-#    AegisName: MD_PAPILA_H
-#  - Id: 20671
-#    AegisName: MD_PAPILA_RUBA
-#  - Id: 20672
-#    AegisName: MD_PAPILA_RUBA_H
-#  - Id: 20673
-#    AegisName: MD_PAPILA_RUBA2
-#  - Id: 20674
-#    AegisName: MD_PAPILA_CAE
-#  - Id: 20675
-#    AegisName: MD_PAPILA_CAE_H
-#  - Id: 20676
-#    AegisName: MD_PAPILA_CAE2
-#  - Id: 20677
-#    AegisName: MD_ARIES
-#  - Id: 20678
-#    AegisName: MD_ARIES_H
-#  - Id: 20679
-#    AegisName: EP17_2_GUARDIAN_PARTS
-#  - Id: 20680
-#    AegisName: EP17_2_HEART_HUNTER
-#  - Id: 20681
-#    AegisName: G_EP17_2_HEART_HUNTER
-#  - Id: 20682
-#    AegisName: EP17_2_HEART_HUNTER_H
-#  - Id: 20683
-#    AegisName: EP17_2_BOOKWORM
-#  - Id: 20684
-#    AegisName: EP17_2_ROAMING_SPLBOOK
-#  - Id: 20685
-#    AegisName: EP17_2_VENENUM3
-#  - Id: 20686
-#    AegisName: EP17_2_CRAMP
-#  - Id: 20687
-#    AegisName: EP17_2_WATERFALL
-#  - Id: 20688
-#    AegisName: EP17_2_BELLARE3
-#  - Id: 20689
-#    AegisName: EP17_2_DOLOR3
-#  - Id: 20690
-#    AegisName: EP17_2_PLASMA_Y
-#  - Id: 20691
-#    AegisName: EP17_2_PLAGA3
-#  - Id: 20692
-#    AegisName: EP17_2_SANARE3
-#  - Id: 20693
-#    AegisName: EP17_2_PLASMA_R
-#  - Id: 20694
-#    AegisName: EP17_2_PLASMA_R2
-#  - Id: 20695
-#    AegisName: E_GARLING
-#  - Id: 20696
-#    AegisName: EP17_2_CHILD_ADMIN1
-#  - Id: 20697
-#    AegisName: EP17_2_CHILD_ADMIN2
-#  - Id: 20698
-#    AegisName: G_ASSISTANT
-#  - Id: 20699
-#    AegisName: G_BELLARE3
-#  - Id: 20700
-#    AegisName: G_BETA_SCISSORE_NG
+  - Id: 20620
+    AegisName: MD_REDPEPPER
+    Name: Red Pepper
+    Level: 135
+    Hp: 9514800
+    BaseExp: 426099
+    JobExp: 298270
+    MvpExp: 11700000
+    Attack: 1215
+    Attack2: 702
+    Defense: 345
+    MagicDefense: 77
+    Str: 72
+    Agi: 73
+    Vit: 70
+    Int: 78
+    Dex: 109
+    Luk: 41
+    AttackRange: 1
+    SkillRange: 10
+    ChaseRange: 12
+    Size: Medium
+    Race: Formless
+    Element: Fire
+    ElementLevel: 3
+    WalkSpeed: 120
+    AttackDelay: 480
+    AttackMotion: 1632
+    DamageMotion: 480
+    Ai: 04
+    Class: Boss
+    Modes:
+      Mvp: true
+    MvpDrops:
+      - Item: Old_Card_Album
+        Rate: 3000
+      - Item: Old_Blue_Box
+        Rate: 3000
+    Drops:
+      - Item: Scell
+        Rate: 5000
+      - Item: Red_Gemstone
+        Rate: 3000
+      - Item: Old_Violet_Box
+        Rate: 500
+      - Item: Cardinal_Jewel_
+        Rate: 50
+      - Item: Old_Card_Album
+        Rate: 500
+      - Item: Redpepper_Card
+        Rate: 1
+        StealProtected: true
+  - Id: 20621
+    AegisName: MD_REDPEPPER_H
+    Name: Senior Red Pepper
+    Level: 185
+    Hp: 1008398847
+    BaseExp: 3381619
+    JobExp: 2367133
+    MvpExp: 11700000
+    Attack: 3816
+    Attack2: 2060
+    Defense: 386
+    MagicDefense: 113
+    Str: 165
+    Agi: 103
+    Vit: 67
+    Int: 167
+    Dex: 146
+    Luk: 57
+    AttackRange: 1
+    SkillRange: 10
+    ChaseRange: 12
+    Size: Medium
+    Race: Formless
+    Element: Dark
+    ElementLevel: 3
+    WalkSpeed: 120
+    AttackDelay: 480
+    AttackMotion: 1632
+    DamageMotion: 480
+    Ai: 04
+    Class: Boss
+    Modes:
+      Mvp: true
+    MvpDrops:
+      - Item: Old_Card_Album
+        Rate: 3000
+      - Item: Old_Blue_Box
+        Rate: 3000
+    Drops:
+      - Item: Scell
+        Rate: 5000
+      - Item: Red_Gemstone
+        Rate: 3000
+      - Item: Old_Violet_Box
+        Rate: 750
+      - Item: Cardinal_Jewel_
+        Rate: 50
+      - Item: Old_Card_Album
+        Rate: 750
+      - Item: Redpepper_H_Card
+        Rate: 1
+        StealProtected: true
+  - Id: 20622
+    AegisName: MD_ASSISTANT
+    Name: Assistant Bot
+    Level: 137
+    Hp: 238512
+    BaseExp: 21683
+    JobExp: 15178
+    Attack: 1661
+    Attack2: 658
+    Defense: 365
+    MagicDefense: 78
+    Str: 97
+    Agi: 87
+    Vit: 76
+    Int: 72
+    Dex: 113
+    Luk: 77
+    AttackRange: 1
+    SkillRange: 10
+    ChaseRange: 12
+    Size: Medium
+    Race: Formless
+    Element: Neutral
+    ElementLevel: 2
+    WalkSpeed: 150
+    AttackDelay: 480
+    AttackMotion: 960
+    DamageMotion: 480
+    Ai: 04
+    Drops:
+      - Item: Hot_Tee
+        Rate: 10
+      - Item: Iron
+        Rate: 2000
+      - Item: Steel
+        Rate: 500
+      - Item: Sturdy_Iron_Piece
+        Rate: 250
+      - Item: Assistant_Card
+        Rate: 1
+        StealProtected: true
+  - Id: 20623
+    AegisName: MD_ASSISTANT_H
+    Name: Senior Assistant Bot
+    Level: 187
+    Hp: 2398802
+    BaseExp: 171343
+    JobExp: 119940
+    Attack: 3763
+    Attack2: 2331
+    Defense: 505
+    MagicDefense: 117
+    Str: 161
+    Agi: 99
+    Vit: 106
+    Int: 187
+    Dex: 149
+    Luk: 61
+    AttackRange: 1
+    SkillRange: 10
+    ChaseRange: 12
+    Size: Medium
+    Race: Formless
+    Element: Neutral
+    ElementLevel: 2
+    WalkSpeed: 150
+    AttackDelay: 480
+    AttackMotion: 960
+    DamageMotion: 480
+    Ai: 04
+    Drops:
+      - Item: Hot_Tee
+        Rate: 10
+      - Item: Iron
+        Rate: 2000
+      - Item: Steel
+        Rate: 500
+      - Item: Sturdy_Iron_Piece
+        Rate: 250
+      - Item: Ep172_1h_Book2
+        Rate: 4
+        RandomOptionGroup: AUTO_IMP_MAGIC_2
+      - Item: Ep172_1h_Book
+        Rate: 4
+        RandomOptionGroup: AUTO_IMP_MELEE_2
+      - Item: Assistant_H_Card
+        Rate: 1
+        StealProtected: true
+  - Id: 20624
+    AegisName: MD_DRY_RAFFLESIA
+    Name: Dry Rafflesia
+    Level: 140
+    Hp: 248245
+    BaseExp: 22568
+    JobExp: 15797
+    Attack: 2258
+    Attack2: 905
+    Defense: 200
+    MagicDefense: 82
+    Str: 129
+    Agi: 92
+    Vit: 20
+    Int: 97
+    Dex: 124
+    Luk: 63
+    AttackRange: 1
+    SkillRange: 10
+    ChaseRange: 12
+    Size: Small
+    Race: Plant
+    Element: Earth
+    ElementLevel: 3
+    WalkSpeed: 150
+    AttackDelay: 512
+    AttackMotion: 528
+    DamageMotion: 240
+    Ai: 04
+    Modes:
+      CastSensorIdle: true
+    Drops:
+      - Item: Great_Leaf
+        Rate: 1000
+      - Item: Browny_Root
+        Rate: 1500
+      - Item: Sharp_Leaf
+        Rate: 1000
+      - Item: Singing_Plant
+        Rate: 150
+      - Item: Branch_Of_Dead_Tree
+        Rate: 20
+      - Item: Dry_Rafflesia_Card
+        Rate: 1
+        StealProtected: true
+  - Id: 20625
+    AegisName: MD_DRY_RAFFLESIA_H
+    Name: Senior Dry Rafflesia
+    Level: 190
+    Hp: 2908909
+    BaseExp: 207779
+    JobExp: 145445
+    Attack: 4038
+    Attack2: 849
+    Defense: 292
+    MagicDefense: 103
+    Str: 170
+    Agi: 121
+    Vit: 34
+    Int: 67
+    Dex: 139
+    Luk: 77
+    AttackRange: 1
+    SkillRange: 10
+    ChaseRange: 12
+    Size: Small
+    Race: Plant
+    Element: Earth
+    ElementLevel: 3
+    WalkSpeed: 150
+    AttackDelay: 512
+    AttackMotion: 528
+    DamageMotion: 240
+    Ai: 04
+    Modes:
+      CastSensorIdle: true
+    Drops:
+      - Item: Great_Leaf
+        Rate: 1000
+      - Item: Browny_Root
+        Rate: 1500
+      - Item: Sharp_Leaf
+        Rate: 1000
+      - Item: Singing_Plant
+        Rate: 150
+      - Item: Branch_Of_Dead_Tree
+        Rate: 20
+      - Item: Ep172_1h_Wand
+        Rate: 5
+        RandomOptionGroup: AUTO_IMP_MAGIC_2
+      - Item: Dry_Rafflesia_H_Card
+        Rate: 1
+        StealProtected: true
+  - Id: 20626
+    AegisName: MD_ALNOLDI_EX
+    Name: Special Alnoldi
+    Level: 143
+    Hp: 255483
+    BaseExp: 23226
+    JobExp: 16258
+    Attack: 1341
+    Attack2: 725
+    Defense: 272
+    MagicDefense: 81
+    Str: 75
+    Agi: 93
+    Vit: 43
+    Int: 76
+    Dex: 130
+    Luk: 68
+    AttackRange: 1
+    SkillRange: 10
+    ChaseRange: 12
+    Size: Small
+    Race: Plant
+    Element: Poison
+    ElementLevel: 2
+    WalkSpeed: 300
+    AttackDelay: 500
+    AttackMotion: 576
+    DamageMotion: 504
+    Ai: 04
+    Modes:
+      CastSensorIdle: true
+    Drops:
+      - Item: Great_Leaf
+        Rate: 1000
+      - Item: Browny_Root
+        Rate: 1500
+      - Item: Sharp_Leaf
+        Rate: 1000
+      - Item: Leaf_Clothes
+        Rate: 1250
+      - Item: Elder_Branch
+        Rate: 70
+      - Item: Alnoldi_Ex_Card
+        Rate: 1
+        StealProtected: true
+  - Id: 20627
+    AegisName: MD_ALNOLDI_EX_H
+    Name: Senior Special Alnoldi
+    Level: 193
+    Hp: 2954324
+    BaseExp: 211023
+    JobExp: 147716
+    Attack: 4270
+    Attack2: 1454
+    Defense: 283
+    MagicDefense: 111
+    Str: 177
+    Agi: 176
+    Vit: 30
+    Int: 113
+    Dex: 191
+    Luk: 70
+    AttackRange: 1
+    SkillRange: 10
+    ChaseRange: 12
+    Size: Medium
+    Race: Plant
+    Element: Poison
+    ElementLevel: 2
+    WalkSpeed: 300
+    AttackDelay: 500
+    AttackMotion: 576
+    DamageMotion: 504
+    Ai: 04
+    Modes:
+      CastSensorIdle: true
+    Drops:
+      - Item: Great_Leaf
+        Rate: 1000
+      - Item: Browny_Root
+        Rate: 1500
+      - Item: Sharp_Leaf
+        Rate: 1000
+      - Item: Leaf_Clothes
+        Rate: 1250
+      - Item: Elder_Branch
+        Rate: 140
+      - Item: Ep172_1h_Foxtail
+        Rate: 5
+        RandomOptionGroup: AUTO_IMP_MAGIC_2
+      - Item: Alnoldi_Ex_H_Card
+        Rate: 1
+        StealProtected: true
+  - Id: 20628
+    AegisName: EP17_2_ALPHA_MASTER
+    Name: Manager Alpha
+    Level: 180
+    Hp: 1847205
+    BaseExp: 131943
+    JobExp: 92360
+    Attack: 3488
+    Attack2: 1536
+    Defense: 498
+    MagicDefense: 106
+    Str: 155
+    Agi: 109
+    Vit: 106
+    Int: 128
+    Dex: 132
+    Luk: 73
+    AttackRange: 1
+    SkillRange: 10
+    ChaseRange: 12
+    Size: Medium
+    Race: Demihuman
+    Element: Neutral
+    ElementLevel: 2
+    WalkSpeed: 150
+    AttackDelay: 960
+    AttackMotion: 960
+    DamageMotion: 480
+    Ai: 04
+    Drops:
+      - Item: Mystery_Piece
+        Rate: 150
+      - Item: Screw
+        Rate: 50
+      - Item: Broken_Steel_Piece
+        Rate: 500
+      - Item: Iron
+        Rate: 500
+      - Item: Cookbook08
+        Rate: 20
+  - Id: 20629
+    AegisName: EP17_2_BETA_BASIC
+    Name: Manager Beta
+    Level: 165
+    Hp: 662430
+    BaseExp: 55203
+    JobExp: 38642
+    Attack: 2516
+    Attack2: 902
+    Defense: 429
+    MagicDefense: 93
+    Str: 122
+    Agi: 101
+    Vit: 88
+    Int: 82
+    Dex: 112
+    Luk: 61
+    AttackRange: 1
+    SkillRange: 10
+    ChaseRange: 12
+    Size: Medium
+    Race: Demihuman
+    Element: Neutral
+    ElementLevel: 2
+    WalkSpeed: 150
+    AttackDelay: 960
+    AttackMotion: 960
+    DamageMotion: 480
+    Ai: 04
+    Drops:
+      - Item: Steel
+        Rate: 500
+      - Item: Screw
+        Rate: 50
+      - Item: Broken_Steel_Piece
+        Rate: 500
+      - Item: Iron
+        Rate: 500
+  - Id: 20630
+    AegisName: EP17_2_BETA_BASIC_NG
+    Name: Broken Beta
+    Level: 145
+    Hp: 261170
+    BaseExp: 23743
+    JobExp: 16620
+    Attack: 1885
+    Attack2: 648
+    Defense: 349
+    MagicDefense: 81
+    Str: 104
+    Agi: 112
+    Vit: 68
+    Int: 67
+    Dex: 107
+    Luk: 48
+    AttackRange: 1
+    SkillRange: 10
+    ChaseRange: 12
+    Size: Medium
+    Race: Formless
+    Element: Neutral
+    ElementLevel: 2
+    WalkSpeed: 150
+    AttackDelay: 960
+    AttackMotion: 960
+    DamageMotion: 480
+    Ai: 04
+    Drops:
+      - Item: Mystery_Piece
+        Rate: 150
+      - Item: Screw
+        Rate: 50
+      - Item: Problematical_Part
+        Rate: 10
+      - Item: Iron
+        Rate: 500
+      - Item: Ep172_Bh_knuck
+        Rate: 3
+        RandomOptionGroup: AUTO_IMP_MELEE_2
+      - Item: Ep172_Bh_Bow3
+        Rate: 3
+        RandomOptionGroup: AUTO_IMP_MELEE_2
+  - Id: 20631
+    AegisName: MD_BETA_SCISSORE_NG
+    Name: Broken Gardener Beta
+    Level: 135
+    Hp: 234017
+    BaseExp: 21274
+    JobExp: 14892
+    Attack: 1232
+    Attack2: 576
+    Defense: 336
+    MagicDefense: 76
+    Str: 73
+    Agi: 93
+    Vit: 67
+    Int: 64
+    Dex: 73
+    Luk: 90
+    AttackRange: 1
+    SkillRange: 10
+    ChaseRange: 12
+    Size: Medium
+    Race: Formless
+    Element: Fire
+    ElementLevel: 2
+    WalkSpeed: 200
+    AttackDelay: 960
+    AttackMotion: 960
+    DamageMotion: 480
+    Ai: 04
+    Drops:
+      - Item: Scissores_Sword
+        Rate: 5
+      - Item: Screw
+        Rate: 50
+      - Item: Problematical_Part
+        Rate: 10
+      - Item: Iron
+        Rate: 500
+      - Item: Steel
+        Rate: 150
+      - Item: Beta_Scissore_Ng_Card
+        Rate: 1
+        StealProtected: true
+  - Id: 20632
+    AegisName: MD_BETA_SCISSORE_NG_H
+    Name: S. Broken Gardener Beta
+#    JapaneseName: Senior Broken Gardener Beta
+    Level: 185
+    Hp: 2379158
+    BaseExp: 169940
+    JobExp: 118958
+    Attack: 3700
+    Attack2: 1813
+    Defense: 620
+    MagicDefense: 111
+    Str: 160
+    Agi: 171
+    Vit: 145
+    Int: 147
+    Dex: 152
+    Luk: 100
+    AttackRange: 1
+    SkillRange: 10
+    ChaseRange: 12
+    Size: Medium
+    Race: Formless
+    Element: Fire
+    ElementLevel: 2
+    WalkSpeed: 150
+    AttackDelay: 960
+    AttackMotion: 960
+    DamageMotion: 480
+    Ai: 04
+    Drops:
+      - Item: Scissores_Sword
+        Rate: 5
+      - Item: Screw
+        Rate: 50
+      - Item: Problematical_Part
+        Rate: 10
+      - Item: Iron
+        Rate: 500
+      - Item: Steel
+        Rate: 150
+      - Item: Ep172_Bh_Katar
+        Rate: 5
+        RandomOptionGroup: AUTO_IMP_MELEE_2
+      - Item: B_Scissore_Ng_H_Card
+        Rate: 1
+        StealProtected: true
+  - Id: 20633
+    AegisName: EP17_2_BETA_CLEANER_A
+    Name: Broken Cleaner
+    Level: 143
+    Hp: 147134
+    BaseExp: 13376
+    JobExp: 9363
+    Attack: 2074
+    Attack2: 829
+    Defense: 344
+    MagicDefense: 82
+    Str: 116
+    Agi: 98
+    Vit: 67
+    Int: 87
+    Dex: 113
+    Luk: 76
+    AttackRange: 1
+    SkillRange: 10
+    ChaseRange: 12
+    Size: Medium
+    Race: Formless
+    Element: Neutral
+    ElementLevel: 2
+    WalkSpeed: 150
+    AttackDelay: 960
+    AttackMotion: 960
+    DamageMotion: 480
+    Ai: 04
+    Drops:
+      - Item: Burnt_Parts
+        Index: 0
+        Rate: 1000
+      - Item: Burnt_Parts
+        Index: 1
+        Rate: 50
+      - Item: Iron
+        Index: 2
+        Rate: 500
+      - Item: Steel
+        Index: 3
+        Rate: 150
+      - Item: Sturdy_Iron_Piece
+        Index: 4
+        Rate: 300
+      - Item: Ep172_1h_Sword2
+        Index: 5
+        Rate: 3
+        RandomOptionGroup: AUTO_IMP_MELEE_2
+      - Item: Beta_Cleaner_Card
+        Index: 6
+        Rate: 1
+        StealProtected: true
+  - Id: 20634
+    AegisName: EP17_2_BETA_CLEANER_B
+    Name: Broken Cleaner
+    Level: 144
+    Hp: 150304
+    BaseExp: 13386
+    JobExp: 9371
+    Attack: 2124
+    Attack2: 854
+    Defense: 288
+    MagicDefense: 83
+    Str: 118
+    Agi: 89
+    Vit: 48
+    Int: 89
+    Dex: 109
+    Luk: 74
+    AttackRange: 1
+    SkillRange: 10
+    ChaseRange: 12
+    Size: Medium
+    Race: Formless
+    RaceGroups:
+      EP172BATH: true
+    Element: Neutral
+    ElementLevel: 2
+    WalkSpeed: 150
+    AttackDelay: 960
+    AttackMotion: 960
+    DamageMotion: 480
+    Ai: 04
+    Drops:
+      - Item: Burnt_Parts
+        Index: 0
+        Rate: 1000
+      - Item: Burnt_Parts
+        Index: 1
+        Rate: 50
+      - Item: Iron
+        Index: 2
+        Rate: 500
+      - Item: Steel
+        Index: 3
+        Rate: 150
+      - Item: Sturdy_Iron_Piece
+        Index: 4
+        Rate: 300
+      - Item: Ep172_Bh_Huuma
+        Index: 5
+        Rate: 3
+        RandomOptionGroup: AUTO_IMP_MELEE_2
+      - Item: Beta_Cleaner_Card
+        Index: 6
+        Rate: 1
+        StealProtected: true
+  - Id: 20635
+    AegisName: EP17_2_BETA_BATHS_A
+    Name: Cleaning Robot
+    Level: 145
+    Hp: 150690
+    BaseExp: 13699
+    JobExp: 9589
+    Attack: 2193
+    Attack2: 870
+    Defense: 439
+    MagicDefense: 84
+    Str: 121
+    Agi: 108
+    Vit: 98
+    Int: 90
+    Dex: 107
+    Luk: 76
+    AttackRange: 1
+    SkillRange: 10
+    ChaseRange: 12
+    Size: Medium
+    Race: Demihuman
+    Element: Neutral
+    ElementLevel: 2
+    WalkSpeed: 150
+    AttackDelay: 960
+    AttackMotion: 960
+    DamageMotion: 480
+    Ai: 04
+    Drops:
+      - Item: Broken_Steel_Piece
+        Rate: 500
+      - Item: Screw
+        Rate: 50
+      - Item: Problematical_Part
+        Rate: 10
+      - Item: Iron
+        Rate: 500
+      - Item: Old_Violet_Box
+        Rate: 3
+      - Item: Ep172_1h_Axe
+        Rate: 3
+        RandomOptionGroup: AUTO_IMP_MELEE_2
+      - Item: Beta_Baths_A_Card
+        Rate: 1
+        StealProtected: true
+  - Id: 20636
+    AegisName: EP17_2_BETA_BATHS_B
+    Name: Cleaning Robot
+    Level: 145
+    Hp: 150304
+    BaseExp: 13664
+    JobExp: 9565
+    Attack: 2121
+    Attack2: 918
+    Defense: 415
+    MagicDefense: 84
+    Str: 117
+    Agi: 104
+    Vit: 90
+    Int: 95
+    Dex: 114
+    Luk: 87
+    AttackRange: 1
+    SkillRange: 10
+    ChaseRange: 12
+    Size: Medium
+    Race: Formless
+    Element: Neutral
+    ElementLevel: 2
+    WalkSpeed: 150
+    AttackDelay: 960
+    AttackMotion: 960
+    DamageMotion: 480
+    Ai: 04
+    Drops:
+      - Item: Broken_Steel_Piece
+        Rate: 500
+      - Item: Screw
+        Rate: 50
+      - Item: Problematical_Part
+        Rate: 10
+      - Item: Iron
+        Rate: 500
+      - Item: Old_Violet_Box
+        Rate: 3
+      - Item: Ep172_1h_Inst
+        Rate: 3
+        RandomOptionGroup: AUTO_IMP_MAGIC_2
+      - Item: Beta_Baths_A_Card
+        Rate: 1
+        StealProtected: true
+  - Id: 20637
+    AegisName: EP17_2_BETA_ITEMKEEPER
+    Name: Broken Warehouse Manager
+    Level: 185
+    Hp: 1900983
+    BaseExp: 135785
+    JobExp: 95049
+    Attack: 3608
+    Attack2: 1702
+    Defense: 563
+    MagicDefense: 110
+    Str: 156
+    Agi: 98
+    Vit: 126
+    Int: 138
+    Dex: 143
+    Luk: 91
+    AttackRange: 1
+    SkillRange: 10
+    ChaseRange: 12
+    Size: Medium
+    Race: Demihuman
+    RaceGroups:
+      EP172ALPHA: true
+    Element: Neutral
+    ElementLevel: 2
+    WalkSpeed: 200
+    AttackDelay: 960
+    AttackMotion: 960
+    DamageMotion: 480
+    Ai: 04
+    Drops:
+      - Item: Screw
+        Rate: 50
+      - Item: Steel
+        Rate: 50
+      - Item: Center_Potion
+        Rate: 10
+      - Item: Awakening_Potion
+        Rate: 10
+      - Item: Ep172_Bh_Staff
+        Rate: 5
+        RandomOptionGroup: AUTO_IMP_MAGIC_2
+      - Item: Ep172_Bh_knuck
+        Rate: 5
+        RandomOptionGroup: AUTO_IMP_MELEE_2
+      - Item: Old_Violet_Box
+        Rate: 5
+        StealProtected: true
+  - Id: 20638
+    AegisName: EP17_2_BETA_GUARDS
+    Name: Beta Guards
+    Level: 140
+    Hp: 257228
+    BaseExp: 23384
+    JobExp: 16369
+    Attack: 1750
+    Attack2: 709
+    Defense: 530
+    MagicDefense: 80
+    Str: 100
+    Agi: 76
+    Vit: 130
+    Int: 76
+    Dex: 108
+    Luk: 80
+    AttackRange: 1
+    SkillRange: 10
+    ChaseRange: 12
+    Size: Medium
+    Race: Demon
+    Element: Dark
+    ElementLevel: 2
+    WalkSpeed: 150
+    AttackDelay: 768
+    AttackMotion: 768
+    DamageMotion: 480
+    Ai: 04
+    Drops:
+  - Id: 20639
+    AegisName: EP17_2_BETA_GUARDS_NG
+    Name: Broken Beta Guards
+    Level: 186
+    Hp: 1909523
+    BaseExp: 136395
+    JobExp: 95476
+    Attack: 3534
+    Attack2: 1662
+    Defense: 522
+    MagicDefense: 110
+    Str: 152
+    Agi: 76
+    Vit: 112
+    Int: 134
+    Dex: 114
+    Luk: 98
+    AttackRange: 1
+    SkillRange: 10
+    ChaseRange: 12
+    Size: Medium
+    Race: Formless
+    RaceGroups:
+      EP172ALPHA: true
+    Element: Wind
+    ElementLevel: 2
+    WalkSpeed: 150
+    AttackDelay: 768
+    AttackMotion: 768
+    DamageMotion: 480
+    Ai: 04
+    Drops:
+      - Item: Broken_Steel_Piece
+        Rate: 500
+      - Item: Screw
+        Rate: 50
+      - Item: Problematical_Part
+        Rate: 10
+      - Item: Iron
+        Rate: 500
+      - Item: Old_Violet_Box
+        Rate: 5
+      - Item: Ep172_1h_Axe
+        Rate: 5
+        RandomOptionGroup: AUTO_IMP_MELEE_2
+      - Item: Beta_Guards_Ng_Card
+        Rate: 1
+        StealProtected: true
+  - Id: 20640
+    AegisName: EP17_2_OMEGA_CLEANER
+    Name: Cleaning Robot Ω
+    Level: 130
+    Hp: 182967
+    BaseExp: 16633
+    JobExp: 11643
+    Attack: 1138
+    Attack2: 563
+    Defense: 424
+    MagicDefense: 73
+    Str: 70
+    Agi: 68
+    Vit: 98
+    Int: 65
+    Dex: 97
+    Luk: 61
+    AttackRange: 1
+    SkillRange: 10
+    ChaseRange: 12
+    Size: Small
+    Race: Formless
+    Element: Neutral
+    ElementLevel: 2
+    WalkSpeed: 200
+    AttackDelay: 768
+    AttackMotion: 768
+    DamageMotion: 480
+    Ai: 02
+    Drops:
+      - Item: Burnt_Parts
+        Rate: 50
+      - Item: Mystery_Piece
+        Rate: 150
+      - Item: Steel
+        Rate: 100
+      - Item: Iron
+        Rate: 500
+      - Item: Ep172_1h_Whip
+        Rate: 3
+        RandomOptionGroup: AUTO_IMP_MAGIC_2
+  - Id: 20641
+    AegisName: EP17_2_OMEGA_CLEANER_NG
+    Name: Broken Cleaning Robot Ω
+    Level: 175
+    Hp: 1200685
+    BaseExp: 100057
+    JobExp: 70040
+    Attack: 3063
+    Attack2: 1412
+    Defense: 475
+    MagicDefense: 103
+    Str: 140
+    Agi: 90
+    Vit: 100
+    Int: 121
+    Dex: 130
+    Luk: 64
+    AttackRange: 1
+    SkillRange: 10
+    ChaseRange: 12
+    Size: Small
+    Race: Formless
+    RaceGroups:
+      EP172ALPHA: true
+      EP172ALPHA: true
+    Element: Neutral
+    ElementLevel: 2
+    WalkSpeed: 200
+    AttackDelay: 768
+    AttackMotion: 768
+    DamageMotion: 480
+    Ai: 04
+    Drops:
+      - Item: Burnt_Parts
+        Rate: 50
+      - Item: Mystery_Piece
+        Rate: 150
+      - Item: Steel
+        Rate: 100
+      - Item: Iron
+        Rate: 500
+      - Item: Ep172_Bh_Bow
+        Rate: 4
+        RandomOptionGroup: AUTO_IMP_MELEE_2
+      - Item: Ep172_Bh_Bow2
+        Rate: 4
+        RandomOptionGroup: AUTO_IMP_MELEE_2
+      - Item: O_Cleaner_Ng_Card
+        Rate: 1
+        StealProtected: true
+  - Id: 20642
+    AegisName: MD_SWEETY
+    Name: Sweety
+    Level: 139
+    Hp: 5011304
+    BaseExp: 455573
+    JobExp: 318901
+    MvpExp: 15600000
+    Attack: 2346
+    Attack2: 1112
+    Defense: 189
+    MagicDefense: 85
+    Str: 135
+    Agi: 120
+    Vit: 150
+    Int: 120
+    Dex: 170
+    Luk: 80
+    AttackRange: 3
+    SkillRange: 10
+    ChaseRange: 12
+    Size: Medium
+    Race: Demihuman
+    Element: Neutral
+    ElementLevel: 3
+    WalkSpeed: 150
+    AttackDelay: 648
+    AttackMotion: 1296
+    DamageMotion: 480
+    Ai: 21
+    Class: Boss
+    Modes:
+      Mvp: true
+    Drops:
+      - Item: Sparkling_Dust
+        Rate: 3000
+      - Item: Explosive_Powder
+        Rate: 5000
+      - Item: Six_Shooter
+        Rate: 20
+      - Item: Blue_Potion
+        Rate: 2000
+      - Item: Sweety_Card
+        Rate: 1
+        StealProtected: true
+  - Id: 20643
+    AegisName: EP17_2_PHEN
+    Name: Boiled Water Phen
+    Level: 139
+    Hp: 133096
+    BaseExp: 12100
+    JobExp: 8470
+    Attack: 1894
+    Attack2: 797
+    Defense: 367
+    MagicDefense: 80
+    Str: 109
+    Agi: 112
+    Vit: 76
+    Int: 86
+    Dex: 104
+    Luk: 64
+    AttackRange: 1
+    SkillRange: 10
+    ChaseRange: 12
+    Size: Medium
+    Race: Fish
+    RaceGroups:
+      EP172BATH: true
+    Element: Water
+    ElementLevel: 2
+    WalkSpeed: 150
+    AttackDelay: 1152
+    AttackMotion: 864
+    DamageMotion: 1152
+    Ai: 04
+    Drops:
+      - Item: Fish_Tail
+        Rate: 2500
+      - Item: Fish_With_Blue_Back
+        Rate: 50
+      - Item: Sharp_Scale
+        Rate: 1500
+      - Item: Fin
+        Rate: 950
+      - Item: Skyblue_Jewel
+        Rate: 3
+      - Item: Ep172_Bh_Bow2
+        Rate: 3
+        RandomOptionGroup: AUTO_IMP_MELEE_2
+      - Item: EP17_2_Phen_Card
+        Rate: 1
+        StealProtected: true
+  - Id: 20644
+    AegisName: EP17_2_MARC
+    Name: Boiled Water Marc
+    Level: 137
+    Hp: 132060
+    BaseExp: 12005
+    JobExp: 8404
+    Attack: 1730
+    Attack2: 886
+    Defense: 407
+    MagicDefense: 81
+    Str: 101
+    Agi: 104
+    Vit: 90
+    Int: 97
+    Dex: 112
+    Luk: 67
+    AttackRange: 1
+    SkillRange: 10
+    ChaseRange: 12
+    Size: Medium
+    Race: Fish
+    RaceGroups:
+      EP172BATH: true
+    Element: Water
+    ElementLevel: 2
+    WalkSpeed: 150
+    AttackDelay: 1200
+    AttackMotion: 1200
+    DamageMotion: 480
+    Ai: 04
+    Drops:
+      - Item: Sharp_Scale
+        Rate: 1500
+      - Item: Skyblue_Jewel
+        Rate: 3
+      - Item: Gill
+        Rate: 2500
+      - Item: Fin
+        Rate: 950
+      - Item: Meat
+        Rate: 550
+      - Item: Ep172_Bh_Bow
+        Rate: 3
+        RandomOptionGroup: AUTO_IMP_MELEE_2
+      - Item: EP17_2_Marc_Card
+        Rate: 1
+        StealProtected: true
+  - Id: 20645
+    AegisName: EP17_2_SWORD_FISH
+    Name: Boiled Water Swordfish
+    Level: 138
+    Hp: 133151
+    BaseExp: 12105
+    JobExp: 8473
+    Attack: 1794
+    Attack2: 856
+    Defense: 414
+    MagicDefense: 81
+    Str: 104
+    Agi: 109
+    Vit: 92
+    Int: 93
+    Dex: 101
+    Luk: 70
+    AttackRange: 1
+    SkillRange: 10
+    ChaseRange: 12
+    Size: Large
+    Race: Fish
+    RaceGroups:
+      EP172BATH: true
+    Element: Water
+    ElementLevel: 2
+    WalkSpeed: 200
+    AttackDelay: 624
+    AttackMotion: 624
+    DamageMotion: 144
+    Ai: 04
+    Drops:
+      - Item: Fish_Tail
+        Rate: 2500
+      - Item: Fin
+        Rate: 950
+      - Item: Skyblue_Jewel
+        Rate: 3
+      - Item: Gill
+        Rate: 2500
+      - Item: Snowy_Horn
+        Rate: 1
+      - Item: Ep172_1h_Hammer
+        Rate: 3
+        RandomOptionGroup: AUTO_IMP_MELEE_2
+      - Item: EP17_2_Sword_Fish_Card
+        Rate: 1
+        StealProtected: true
+  - Id: 20646
+    AegisName: EP17_2_PIRANHA
+    Name: Boiled Water Piranha
+    Level: 138
+    Hp: 133024
+    BaseExp: 12093
+    JobExp: 8465
+    Attack: 1811
+    Attack2: 800
+    Defense: 408
+    MagicDefense: 80
+    Str: 105
+    Agi: 104
+    Vit: 90
+    Int: 87
+    Dex: 106
+    Luk: 73
+    AttackRange: 1
+    SkillRange: 10
+    ChaseRange: 12
+    Size: Large
+    Race: Fish
+    RaceGroups:
+      EP172BATH: true
+    Element: Water
+    ElementLevel: 3
+    WalkSpeed: 200
+    AttackDelay: 960
+    AttackMotion: 480
+    DamageMotion: 540
+    Ai: 04
+    Drops:
+      - Item: Fish_Tail
+        Rate: 2500
+      - Item: Lip_Of_Ancient_Fish
+        Rate: 250
+      - Item: Fin
+        Rate: 950
+      - Item: Tooth_Of_Ancient_Fish
+        Rate: 250
+      - Item: Ep172_1h_Grenade
+        Rate: 3
+        RandomOptionGroup: AUTO_IMP_MELEE_2
+      - Item: EP17_2_Piranha_Card
+        Rate: 1
+        StealProtected: true
+  - Id: 20647
+    AegisName: EP17_2_BATH_MERMAID
+    Name: Elder of Chung-Geum
+    Level: 141
+    Hp: 1823441
+    BaseExp: 121563
+    JobExp: 85094
+    Attack: 2062
+    Attack2: 912
+    Defense: 393
+    MagicDefense: 83
+    Str: 117
+    Agi: 108
+    Vit: 84
+    Int: 97
+    Dex: 110
+    Luk: 68
+    AttackRange: 1
+    SkillRange: 10
+    ChaseRange: 12
+    Size: Medium
+    Race: Fish
+    Element: Water
+    ElementLevel: 2
+    WalkSpeed: 200
+    AttackDelay: 768
+    AttackMotion: 768
+    DamageMotion: 480
+    Ai: 04
+    Modes:
+      Mvp: true
+    MvpDrops:
+      - Item: Old_Card_Album
+        Rate: 5000
+      - Item: Old_Violet_Box
+        Rate: 5000
+    Drops:
+      - Item: Heart_Of_Mermaid
+        Rate: 5000
+      - Item: Fin
+        Rate: 5000
+      - Item: Sharp_Scale
+        Rate: 1200
+      - Item: Delicious_Fish
+        Rate: 2500
+      - Item: Bath_Mermaid_Card
+        Rate: 1
+        StealProtected: true
+  - Id: 20648
+    AegisName: EP17_2_PITAYA_BOSS
+    Name: Boss Meow
+    Level: 168
+    Hp: 19298694
+    BaseExp: 1608224
+    JobExp: 1125757
+    MvpExp: 20328244
+    Attack: 3024
+    Attack2: 1714
+    Defense: 462
+    MagicDefense: 103
+    Str: 144
+    Agi: 86
+    Vit: 98
+    Int: 153
+    Dex: 153
+    Luk: 98
+    AttackRange: 1
+    SkillRange: 10
+    ChaseRange: 12
+    Size: Small
+    Race: Plant
+    RaceGroups:
+      EP172BETA: true
+    Element: Fire
+    ElementLevel: 3
+    WalkSpeed: 150
+    AttackDelay: 768
+    AttackMotion: 768
+    DamageMotion: 480
+    DamageTaken: 10
+    Ai: 21
+    Modes:
+      Mvp: true
+    MvpDrops:
+      - Item: Fruit_Basket
+        Rate: 5000
+      - Item: Yggdrasilberry
+        Rate: 1000
+    Drops:
+      - Item: Old_Violet_Box
+        Rate: 2500
+      - Item: Jubilee
+        Rate: 3000
+      - Item: Reptile_Tongue
+        Rate: 2500
+      - Item: Fruit_Basket
+        Rate: 2500
+      - Item: Old_Card_Album
+        Rate: 1500
+      - Item: Pitaya_Boss_Card
+        Rate: 1
+        StealProtected: true
+  - Id: 20649
+    AegisName: EP17_2_PITAYA_R
+    Name: Red Pitaya
+    Level: 162
+    Hp: 648023
+    BaseExp: 54002
+    JobExp: 37801
+    Attack: 2673
+    Attack2: 972
+    Defense: 351
+    MagicDefense: 92
+    Str: 132
+    Agi: 122
+    Vit: 63
+    Int: 90
+    Dex: 132
+    Luk: 90
+    AttackRange: 1
+    SkillRange: 10
+    ChaseRange: 12
+    Size: Small
+    Race: Plant
+    RaceGroups:
+      EP172BETA: true
+    Element: Fire
+    ElementLevel: 1
+    WalkSpeed: 150
+    AttackDelay: 1540
+    AttackMotion: 2112
+    DamageMotion: 960
+    Ai: 04
+    Drops:
+      - Item: Fruit_Basket
+        Rate: 50
+      - Item: Jubilee
+        Rate: 100
+      - Item: Reptile_Tongue
+        Rate: 1250
+      - Item: Strawberry
+        Rate: 150
+      - Item: Ep172_Bh_Spear
+        Rate: 3
+        RandomOptionGroup: AUTO_IMP_MELEE_2
+      - Item: Pitaya_R_Card
+        Rate: 1
+        StealProtected: true
+  - Id: 20650
+    AegisName: EP17_2_PITAYA_Y
+    Name: Yellow Pitaya
+    Level: 164
+    Hp: 658607
+    BaseExp: 54884
+    JobExp: 38419
+    Attack: 2624
+    Attack2: 1006
+    Defense: 434
+    MagicDefense: 94
+    Str: 128
+    Agi: 164
+    Vit: 90
+    Int: 92
+    Dex: 154
+    Luk: 67
+    AttackRange: 1
+    SkillRange: 10
+    ChaseRange: 12
+    Size: Small
+    Race: Plant
+    RaceGroups:
+      EP172BETA: true
+    Element: Wind
+    ElementLevel: 1
+    WalkSpeed: 150
+    AttackDelay: 1540
+    AttackMotion: 2112
+    DamageMotion: 960
+    Ai: 04
+    Drops:
+      - Item: Fruit_Basket
+        Rate: 50
+      - Item: Jubilee
+        Rate: 100
+      - Item: Reptile_Tongue
+        Rate: 1250
+      - Item: Banana
+        Rate: 150
+      - Item: Ep172_1h_Gatling
+        Rate: 3
+        RandomOptionGroup: AUTO_IMP_MELEE_2
+      - Item: Pitaya_Y_Card
+        Rate: 1
+        StealProtected: true
+  - Id: 20651
+    AegisName: EP17_2_PITAYA_B
+    Name: Blue Pitaya
+    Level: 165
+    Hp: 662911
+    BaseExp: 47351
+    JobExp: 33146
+    Attack: 2454
+    Attack2: 1111
+    Defense: 444
+    MagicDefense: 95
+    Str: 119
+    Agi: 162
+    Vit: 93
+    Int: 101
+    Dex: 143
+    Luk: 77
+    AttackRange: 1
+    SkillRange: 10
+    ChaseRange: 12
+    Size: Small
+    Race: Plant
+    RaceGroups:
+      EP172BETA: true
+    Element: Water
+    ElementLevel: 1
+    WalkSpeed: 150
+    AttackDelay: 1540
+    AttackMotion: 2112
+    DamageMotion: 960
+    Ai: 04
+    Drops:
+      - Item: Fruit_Basket
+        Rate: 50
+      - Item: Jubilee
+        Rate: 100
+      - Item: Reptile_Tongue
+        Rate: 1250
+      - Item: Prickly_Fruit
+        Rate: 75
+      - Item: Ep172_1h_Spear
+        Rate: 3
+        RandomOptionGroup: AUTO_IMP_MAGIC_2
+      - Item: Pitaya_B_Card
+        Rate: 1
+        StealProtected: true
+  - Id: 20652
+    AegisName: EP17_2_PITAYA_V
+    Name: Violet Pitaya
+    Level: 165
+    Hp: 665510
+    BaseExp: 47536
+    JobExp: 33276
+    Attack: 2516
+    Attack2: 858
+    Defense: 525
+    MagicDefense: 92
+    Str: 122
+    Agi: 98
+    Vit: 120
+    Int: 78
+    Dex: 162
+    Luk: 87
+    AttackRange: 1
+    SkillRange: 10
+    ChaseRange: 12
+    Size: Small
+    Race: Plant
+    RaceGroups:
+      EP172BETA: true
+    Element: Poison
+    ElementLevel: 1
+    WalkSpeed: 150
+    AttackDelay: 1540
+    AttackMotion: 2112
+    DamageMotion: 960
+    Ai: 04
+    Drops:
+      - Item: Fruit_Basket
+        Rate: 50
+      - Item: Jubilee
+        Rate: 100
+      - Item: Reptile_Tongue
+        Rate: 1250
+      - Item: Grape
+        Rate: 150
+      - Item: Ep172_1h_Axe
+        Rate: 3
+        RandomOptionGroup: AUTO_IMP_MELEE_2
+      - Item: Pitaya_V_Card
+        Rate: 1
+        StealProtected: true
+  - Id: 20653
+    AegisName: EP17_2_PITAYA_G
+    Name: Green Pitaya
+    Level: 166
+    Hp: 668381
+    BaseExp: 44559
+    JobExp: 31191
+    Attack: 2573
+    Attack2: 741
+    Defense: 490
+    MagicDefense: 91
+    Str: 124
+    Agi: 132
+    Vit: 108
+    Int: 67
+    Dex: 153
+    Luk: 89
+    AttackRange: 1
+    SkillRange: 10
+    ChaseRange: 12
+    Size: Small
+    Race: Plant
+    RaceGroups:
+      EP172BETA: true
+    Element: Earth
+    ElementLevel: 1
+    WalkSpeed: 150
+    AttackDelay: 1540
+    AttackMotion: 2112
+    DamageMotion: 960
+    Ai: 04
+    Drops:
+      - Item: Fruit_Basket
+        Rate: 50
+      - Item: Jubilee
+        Rate: 100
+      - Item: Reptile_Tongue
+        Rate: 1250
+      - Item: Melon
+        Rate: 75
+      - Item: Ep172_1h_Dagger2
+        Rate: 3
+        RandomOptionGroup: AUTO_IMP_MELEE_2
+      - Item: Pitaya_G_Card
+        Rate: 1
+        StealProtected: true
+  - Id: 20654
+    AegisName: G_PITAYA_R
+    Name: Red Pitaya
+    Level: 132
+    Hp: 158478
+    Attack: 1205
+    Attack2: 528
+    Defense: 267
+    MagicDefense: 92
+    Str: 73
+    Agi: 85
+    Vit: 45
+    Int: 60
+    Dex: 93
+    Luk: 64
+    AttackRange: 1
+    SkillRange: 10
+    ChaseRange: 12
+    Size: Small
+    Race: Plant
+    Element: Fire
+    ElementLevel: 1
+    WalkSpeed: 150
+    AttackDelay: 1540
+    AttackMotion: 2112
+    DamageMotion: 960
+    Ai: 04
+  - Id: 20655
+    AegisName: G_PITAYA_Y
+    Name: Yellow Pitaya
+    Level: 134
+    Hp: 162599
+    Attack: 1206
+    Attack2: 554
+    Defense: 335
+    MagicDefense: 94
+    Str: 72
+    Agi: 68
+    Vit: 67
+    Int: 62
+    Dex: 110
+    Luk: 76
+    AttackRange: 1
+    SkillRange: 10
+    ChaseRange: 12
+    Size: Small
+    Race: Plant
+    Element: Wind
+    ElementLevel: 1
+    WalkSpeed: 150
+    AttackDelay: 1540
+    AttackMotion: 2112
+    DamageMotion: 960
+    Ai: 04
+  - Id: 20656
+    AegisName: G_PITAYA_B
+    Name: Blue Pitaya
+    Level: 135
+    Hp: 163655
+    Attack: 1181
+    Attack2: 648
+    Defense: 330
+    MagicDefense: 95
+    Str: 70
+    Agi: 87
+    Vit: 65
+    Int: 72
+    Dex: 98
+    Luk: 43
+    AttackRange: 1
+    SkillRange: 10
+    ChaseRange: 12
+    Size: Small
+    Race: Plant
+    Element: Water
+    ElementLevel: 1
+    WalkSpeed: 150
+    AttackDelay: 1540
+    AttackMotion: 720
+    DamageMotion: 432
+    Ai: 04
+  - Id: 20657
+    AegisName: G_PITAYA_V
+    Name: Violet Pitaya
+    Level: 135
+    Hp: 165308
+    Attack: 1688
+    Attack2: 486
+    Defense: 393
+    MagicDefense: 92
+    Str: 100
+    Agi: 86
+    Vit: 86
+    Int: 54
+    Dex: 121
+    Luk: 67
+    AttackRange: 1
+    SkillRange: 10
+    ChaseRange: 12
+    Size: Small
+    Race: Plant
+    Element: Poison
+    ElementLevel: 1
+    WalkSpeed: 150
+    AttackDelay: 1540
+    AttackMotion: 2112
+    DamageMotion: 960
+    Ai: 04
+  - Id: 20658
+    AegisName: G_PITAYA_G
+    Name: Green Pitaya
+    Level: 136
+    Hp: 165105
+    Attack: 1666
+    Attack2: 807
+    Defense: 340
+    MagicDefense: 91
+    Str: 98
+    Agi: 108
+    Vit: 68
+    Int: 89
+    Dex: 111
+    Luk: 67
+    AttackRange: 1
+    SkillRange: 10
+    ChaseRange: 12
+    Size: Small
+    Race: Plant
+    Element: Earth
+    ElementLevel: 1
+    WalkSpeed: 150
+    AttackDelay: 1540
+    AttackMotion: 720
+    DamageMotion: 432
+    Ai: 04
+  - Id: 20659
+    AegisName: MD_PITAYA_BOSS
+    Name: Pitaya Boss
+    Level: 138
+    Hp: 7221377
+    BaseExp: 656489
+    JobExp: 459542
+    MvpExp: 20328244
+    Attack: 1570
+    Attack2: 828
+    Defense: 498
+    MagicDefense: 80
+    Str: 91
+    Agi: 70
+    Vit: 120
+    Int: 90
+    Dex: 121
+    Luk: 60
+    AttackRange: 1
+    SkillRange: 10
+    ChaseRange: 12
+    Size: Small
+    Race: Plant
+    Element: Fire
+    ElementLevel: 3
+    WalkSpeed: 120
+    AttackDelay: 768
+    AttackMotion: 768
+    DamageMotion: 480
+    Ai: 21
+    Modes:
+      Mvp: true
+    Drops:
+      - Item: Old_Violet_Box
+        Rate: 2500
+      - Item: Jubilee
+        Rate: 3000
+      - Item: Reptile_Tongue
+        Rate: 2500
+      - Item: Fruit_Basket
+        Rate: 2500
+      - Item: Old_Card_Album
+        Rate: 1500
+      - Item: Pitaya_Boss_Card
+        Rate: 1
+        StealProtected: true
+  - Id: 20660
+    AegisName: MD_PITAYA_R
+    Name: Red Pitaya
+    Level: 132
+    Hp: 158478
+    BaseExp: 14407
+    JobExp: 10085
+    Attack: 1205
+    Attack2: 528
+    Defense: 267
+    MagicDefense: 74
+    Str: 73
+    Agi: 85
+    Vit: 45
+    Int: 60
+    Dex: 93
+    Luk: 64
+    AttackRange: 1
+    SkillRange: 10
+    ChaseRange: 12
+    Size: Small
+    Race: Plant
+    Element: Fire
+    ElementLevel: 1
+    WalkSpeed: 150
+    AttackDelay: 1540
+    AttackMotion: 2112
+    DamageMotion: 960
+    Ai: 04
+    Drops:
+      - Item: Fruit_Basket
+        Rate: 100
+      - Item: Jubilee
+        Rate: 100
+      - Item: Reptile_Tongue
+        Rate: 1250
+      - Item: Strawberry
+        Rate: 300
+      - Item: Ep172_1h_Grenade
+        Rate: 5
+        RandomOptionGroup: AUTO_IMP_MELEE_2
+      - Item: Pitaya_R_Card
+        Rate: 1
+        StealProtected: true
+  - Id: 20661
+    AegisName: MD_PITAYA_Y
+    Name: Yellow Pitaya
+    Level: 134
+    Hp: 162599
+    BaseExp: 14782
+    JobExp: 10347
+    Attack: 1206
+    Attack2: 554
+    Defense: 335
+    MagicDefense: 75
+    Str: 72
+    Agi: 68
+    Vit: 67
+    Int: 62
+    Dex: 110
+    Luk: 76
+    AttackRange: 1
+    SkillRange: 10
+    ChaseRange: 12
+    Size: Small
+    Race: Plant
+    Element: Wind
+    ElementLevel: 1
+    WalkSpeed: 150
+    AttackDelay: 1540
+    AttackMotion: 2112
+    DamageMotion: 960
+    Ai: 04
+    Drops:
+      - Item: Fruit_Basket
+        Rate: 100
+      - Item: Jubilee
+        Rate: 100
+      - Item: Reptile_Tongue
+        Rate: 1250
+      - Item: Banana
+        Rate: 300
+      - Item: Ep172_1h_Dagger
+        Rate: 5
+        RandomOptionGroup: AUTO_IMP_MAGIC_2
+      - Item: Pitaya_Y_Card
+        Rate: 1
+        StealProtected: true
+  - Id: 20662
+    AegisName: MD_PITAYA_B
+    Name: Blue Pitaya
+    Level: 135
+    Hp: 163655
+    BaseExp: 14878
+    JobExp: 10414
+    Attack: 1181
+    Attack2: 648
+    Defense: 330
+    MagicDefense: 77
+    Str: 70
+    Agi: 87
+    Vit: 65
+    Int: 72
+    Dex: 98
+    Luk: 43
+    AttackRange: 1
+    SkillRange: 10
+    ChaseRange: 12
+    Size: Small
+    Race: Plant
+    Element: Water
+    ElementLevel: 1
+    WalkSpeed: 150
+    AttackDelay: 1540
+    AttackMotion: 2112
+    DamageMotion: 960
+    Ai: 04
+    Drops:
+      - Item: Fruit_Basket
+        Rate: 100
+      - Item: Jubilee
+        Rate: 100
+      - Item: Reptile_Tongue
+        Rate: 1250
+      - Item: Prickly_Fruit
+        Rate: 150
+      - Item: Ep172_1h_Rifle
+        Rate: 5
+        RandomOptionGroup: AUTO_IMP_MELEE_2
+      - Item: Pitaya_B_Card
+        Rate: 1
+        StealProtected: true
+  - Id: 20663
+    AegisName: MD_PITAYA_V
+    Name: Violet Pitaya
+    Level: 135
+    Hp: 165308
+    BaseExp: 15028
+    JobExp: 10520
+    Attack: 1688
+    Attack2: 486
+    Defense: 393
+    MagicDefense: 74
+    Str: 100
+    Agi: 86
+    Vit: 86
+    Int: 54
+    Dex: 121
+    Luk: 67
+    AttackRange: 1
+    SkillRange: 10
+    ChaseRange: 12
+    Size: Small
+    Race: Plant
+    Element: Poison
+    ElementLevel: 1
+    WalkSpeed: 150
+    AttackDelay: 1540
+    AttackMotion: 2112
+    DamageMotion: 960
+    Ai: 04
+    Drops:
+      - Item: Fruit_Basket
+        Rate: 100
+      - Item: Jubilee
+        Rate: 100
+      - Item: Reptile_Tongue
+        Rate: 1250
+      - Item: Grape
+        Rate: 300
+      - Item: Ep172_1h_Dagger2
+        Rate: 5
+        RandomOptionGroup: AUTO_IMP_MELEE_2
+      - Item: Pitaya_V_Card
+        Rate: 1
+        StealProtected: true
+  - Id: 20664
+    AegisName: MD_PITAYA_G
+    Name: Green Pitaya
+    Level: 136
+    Hp: 165105
+    BaseExp: 15010
+    JobExp: 10507
+    Attack: 1666
+    Attack2: 807
+    Defense: 340
+    MagicDefense: 79
+    Str: 98
+    Agi: 108
+    Vit: 68
+    Int: 89
+    Dex: 111
+    Luk: 67
+    AttackRange: 1
+    SkillRange: 10
+    ChaseRange: 12
+    Size: Small
+    Race: Plant
+    Element: Earth
+    ElementLevel: 1
+    WalkSpeed: 150
+    AttackDelay: 1540
+    AttackMotion: 2112
+    DamageMotion: 960
+    Ai: 04
+    Drops:
+      - Item: Fruit_Basket
+        Rate: 100
+      - Item: Jubilee
+        Rate: 100
+      - Item: Reptile_Tongue
+        Rate: 1250
+      - Item: Melon
+        Rate: 150
+      - Item: Ep172_1h_Gatling
+        Rate: 5
+        RandomOptionGroup: AUTO_IMP_MELEE_2
+      - Item: Pitaya_G_Card
+        Rate: 1
+        StealProtected: true
+  - Id: 20665
+    AegisName: MD_VERPORTA
+    Name: Verporta
+    Level: 136
+    Hp: 239037
+    BaseExp: 21731
+    JobExp: 15211
+    Attack: 1571
+    Attack2: 1025
+    Defense: 424
+    MagicDefense: 82
+    Str: 93
+    Agi: 98
+    Vit: 96
+    Int: 113
+    Dex: 80
+    Luk: 76
+    AttackRange: 1
+    SkillRange: 10
+    ChaseRange: 12
+    Size: Medium
+    Race: Brute
+    Element: Poison
+    ElementLevel: 2
+    WalkSpeed: 180
+    AttackDelay: 1344
+    AttackMotion: 1344
+    DamageMotion: 480
+    Ai: 04
+    Drops:
+      - Item: Soft_Leaf
+        Rate: 1000
+      - Item: Yellow_Powder
+        Rate: 250
+      - Item: Fluorescent_Liquid
+        Rate: 500
+      - Item: Sticky_Poison
+        Rate: 1000
+      - Item: Verporta_Card
+        Rate: 1
+        StealProtected: true
+  - Id: 20666
+    AegisName: MD_VERPORTE_H
+    Name: Verporte
+    Level: 186
+    Hp: 2390934
+    BaseExp: 170781
+    JobExp: 119547
+    Attack: 3813
+    Attack2: 2145
+    Defense: 600
+    MagicDefense: 115
+    Str: 164
+    Agi: 168
+    Vit: 138
+    Int: 173
+    Dex: 121
+    Luk: 102
+    AttackRange: 1
+    SkillRange: 10
+    ChaseRange: 12
+    Size: Medium
+    Race: Brute
+    Element: Poison
+    ElementLevel: 2
+    WalkSpeed: 180
+    AttackDelay: 1344
+    AttackMotion: 1344
+    DamageMotion: 480
+    Ai: 04
+    Drops:
+      - Item: Soft_Leaf
+        Rate: 1000
+      - Item: Yellow_Powder
+        Rate: 250
+      - Item: Fluorescent_Liquid
+        Rate: 500
+      - Item: Sticky_Poison
+        Rate: 1000
+      - Item: Ep172_1h_Sword2
+        Rate: 5
+        RandomOptionGroup: AUTO_IMP_MELEE_2
+      - Item: Verporte_H_Card
+        Rate: 1
+        StealProtected: true
+  - Id: 20667
+    AegisName: MD_SILVA_PAPILIA
+    Name: Silva Papilia
+    Level: 145
+    Hp: 7375012
+    BaseExp: 670456
+    JobExp: 469319
+    Attack: 1450
+    Attack2: 1334
+    Defense: 241
+    MagicDefense: 90
+    Str: 80
+    Agi: 90
+    Vit: 32
+    Int: 138
+    Dex: 112
+    Luk: 79
+    AttackRange: 1
+    SkillRange: 10
+    ChaseRange: 12
+    Size: Large
+    Race: Plant
+    Element: Dark
+    ElementLevel: 2
+    WalkSpeed: 120
+    AttackDelay: 1136
+    AttackMotion: 720
+    DamageMotion: 840
+    Ai: 21
+    Modes:
+      Mvp: true
+    Drops:
+      - Item: Piece_Of_Darkness
+        Rate: 3500
+      - Item: Fancy_Fairy_Wing
+        Rate: 1500
+      - Item: Illusion_Flower
+        Rate: 500
+      - Item: Solid_Twig
+        Rate: 3000
+      - Item: Silva_Papilia_Card
+        Rate: 1
+        StealProtected: true
+  - Id: 20668
+    AegisName: MD_GRAN_PAPILIA
+    Name: Gran Papilia
+    Level: 195
+    Hp: 74730723
+    BaseExp: 5337909
+    JobExp: 3736536
+    Attack: 4368
+    Attack2: 2470
+    Defense: 384
+    MagicDefense: 121
+    Str: 171
+    Agi: 103
+    Vit: 63
+    Int: 190
+    Dex: 181
+    Luk: 79
+    AttackRange: 1
+    SkillRange: 10
+    ChaseRange: 12
+    Size: Large
+    Race: Plant
+    Element: Dark
+    ElementLevel: 2
+    WalkSpeed: 120
+    AttackDelay: 1136
+    AttackMotion: 720
+    DamageMotion: 840
+    Ai: 21
+    Modes:
+      Mvp: true
+    MvpDrops:
+      - Item: Old_Card_Album
+        Rate: 5000
+    Drops:
+      - Item: Piece_Of_Darkness
+        Rate: 3500
+      - Item: Fancy_Fairy_Wing
+        Rate: 1500
+      - Item: Illusion_Flower
+        Rate: 500
+      - Item: Solid_Twig
+        Rate: 3000
+      - Item: Gran_Papilia_Card
+        Rate: 1
+        StealProtected: true
+  - Id: 20669
+    AegisName: MD_PAPILA
+    Name: Papila
+    Level: 138
+    Hp: 240713
+    BaseExp: 21883
+    JobExp: 15318
+    Attack: 1587
+    Attack2: 948
+    Defense: 378
+    MagicDefense: 82
+    Str: 92
+    Agi: 108
+    Vit: 80
+    Int: 103
+    Dex: 93
+    Luk: 60
+    AttackRange: 1
+    SkillRange: 10
+    ChaseRange: 12
+    Size: Medium
+    Race: Insect
+    Element: Dark
+    ElementLevel: 2
+    WalkSpeed: 155
+    AttackDelay: 1152
+    AttackMotion: 1152
+    DamageMotion: 480
+    Ai: 04
+    Drops:
+      - Item: Great_Wing
+        Rate: 1500
+      - Item: Powder_Of_Butterfly
+        Rate: 2000
+      - Item: Fancy_Fairy_Wing
+        Rate: 500
+      - Item: Sharp_Feeler
+        Rate: 500
+      - Item: Flower
+        Rate: 3000
+      - Item: Papila_Card
+        Rate: 1
+        StealProtected: true
+  - Id: 20670
+    AegisName: MD_PAPILA_H
+    Name: Senior Papila
+    Level: 188
+    Hp: 2409593
+    BaseExp: 172114
+    JobExp: 120480
+    Attack: 3690
+    Attack2: 2043
+    Defense: 467
+    MagicDefense: 114
+    Str: 157
+    Agi: 172
+    Vit: 93
+    Int: 163
+    Dex: 132
+    Luk: 76
+    AttackRange: 1
+    SkillRange: 10
+    ChaseRange: 12
+    Size: Medium
+    Race: Insect
+    Element: Dark
+    ElementLevel: 2
+    WalkSpeed: 155
+    AttackDelay: 1152
+    AttackMotion: 1152
+    DamageMotion: 480
+    Ai: 04
+    Drops:
+      - Item: Great_Wing
+        Rate: 1500
+      - Item: Powder_Of_Butterfly
+        Rate: 2000
+      - Item: Fancy_Fairy_Wing
+        Rate: 500
+      - Item: Sharp_Feeler
+        Rate: 500
+      - Item: Flower
+        Rate: 3000
+      - Item: Ep172_1h_Spear
+        Rate: 5
+        RandomOptionGroup: AUTO_IMP_MAGIC_2
+      - Item: Papila_H_Card
+        Rate: 1
+        StealProtected: true
+  - Id: 20671
+    AegisName: MD_PAPILA_RUBA
+    Name: Papila Ruba
+    Level: 139
+    Hp: 240372
+    BaseExp: 21852
+    JobExp: 15296
+    Attack: 1494
+    Attack2: 704
+    Defense: 325
+    MagicDefense: 79
+    Str: 86
+    Agi: 113
+    Vit: 62
+    Int: 76
+    Dex: 104
+    Luk: 86
+    AttackRange: 1
+    SkillRange: 10
+    ChaseRange: 12
+    Size: Medium
+    Race: Insect
+    Element: Fire
+    ElementLevel: 2
+    WalkSpeed: 155
+    AttackDelay: 1152
+    AttackMotion: 1152
+    DamageMotion: 480
+    Ai: 04
+    Drops:
+      - Item: Great_Wing
+        Rate: 1500
+      - Item: Powder_Of_Butterfly
+        Rate: 2000
+      - Item: Fancy_Fairy_Wing
+        Rate: 500
+      - Item: Sharp_Feeler
+        Rate: 500
+      - Item: Withered_Flower
+        Rate: 500
+      - Item: Papila_Ruba_Card
+        Rate: 1
+        StealProtected: true
+  - Id: 20672
+    AegisName: MD_PAPILA_RUBA_H
+    Name: Senior Papila Ruba
+    Level: 190
+    Hp: 3656403
+    BaseExp: 261172
+    JobExp: 182820
+    Attack: 4180
+    Attack2: 2141
+    Defense: 676
+    MagicDefense: 116
+    Str: 176
+    Agi: 193
+    Vit: 162
+    Int: 169
+    Dex: 195
+    Luk: 53
+    AttackRange: 1
+    SkillRange: 10
+    ChaseRange: 12
+    Size: Medium
+    Race: Insect
+    Element: Fire
+    ElementLevel: 2
+    WalkSpeed: 120
+    AttackDelay: 1152
+    AttackMotion: 1152
+    DamageMotion: 480
+    Ai: 04
+    Drops:
+      - Item: Great_Wing
+        Rate: 1500
+      - Item: Powder_Of_Butterfly
+        Rate: 2000
+      - Item: Fancy_Fairy_Wing
+        Rate: 500
+      - Item: Sharp_Feeler
+        Rate: 500
+      - Item: Withered_Flower
+        Rate: 500
+      - Item: Ep172_Bh_Huuma
+        Rate: 5
+        RandomOptionGroup: AUTO_IMP_MELEE_2
+      - Item: Papila_Ruba_H_Card
+        Rate: 1
+        StealProtected: true
+  - Id: 20673
+    AegisName: MD_PAPILA_RUBA2
+    Name: Papila Ruba
+    Level: 150
+    Hp: 10000
+    Attack: 1313
+    Attack2: 700
+    Defense: 700
+    MagicDefense: 32
+    Str: 70
+    Agi: 70
+    Vit: 70
+    Int: 70
+    Dex: 70
+    Luk: 70
+    AttackRange: 1
+    SkillRange: 10
+    ChaseRange: 12
+    Size: Medium
+    Race: Insect
+    Element: Fire
+    ElementLevel: 2
+    WalkSpeed: 1000
+    AttackDelay: 1
+    AttackMotion: 1
+    DamageMotion: 1
+    Ai: 06
+    Class: Battlefield
+    Modes:
+      IgnoreMagic: true
+      IgnoreMelee: true
+      IgnoreMisc: true
+      IgnoreRanged: true
+      KnockBackImmune: true
+  - Id: 20674
+    AegisName: MD_PAPILA_CAE
+    Name: Papila Cae
+    Level: 137
+    Hp: 237484
+    BaseExp: 21589
+    JobExp: 15113
+    Attack: 1473
+    Attack2: 895
+    Defense: 338
+    MagicDefense: 81
+    Str: 86
+    Agi: 91
+    Vit: 67
+    Int: 98
+    Dex: 95
+    Luk: 67
+    AttackRange: 1
+    SkillRange: 10
+    ChaseRange: 12
+    Size: Medium
+    Race: Insect
+    Element: Water
+    ElementLevel: 2
+    WalkSpeed: 130
+    AttackDelay: 1152
+    AttackMotion: 1152
+    DamageMotion: 480
+    Ai: 01
+    Drops:
+      - Item: Great_Wing
+        Rate: 1500
+      - Item: Powder_Of_Butterfly
+        Rate: 2000
+      - Item: Fancy_Fairy_Wing
+        Rate: 500
+      - Item: Sharp_Feeler
+        Rate: 500
+      - Item: Withered_Flower
+        Rate: 500
+      - Item: Papila_Cae_Card
+        Rate: 1
+        StealProtected: true
+  - Id: 20675
+    AegisName: MD_PAPILA_CAE_H
+    Name: Senior Papila Cae
+    Level: 187
+    Hp: 2405191
+    BaseExp: 171799
+    JobExp: 120260
+    Attack: 3553
+    Attack2: 2094
+    Defense: 628
+    MagicDefense: 115
+    Str: 152
+    Agi: 181
+    Vit: 147
+    Int: 168
+    Dex: 184
+    Luk: 67
+    AttackRange: 1
+    SkillRange: 10
+    ChaseRange: 12
+    Size: Medium
+    Race: Insect
+    Element: Water
+    ElementLevel: 2
+    WalkSpeed: 120
+    AttackDelay: 1152
+    AttackMotion: 1152
+    DamageMotion: 480
+    Ai: 01
+    Drops:
+      - Item: Great_Wing
+        Rate: 1500
+      - Item: Powder_Of_Butterfly
+        Rate: 2000
+      - Item: Fancy_Fairy_Wing
+        Rate: 500
+      - Item: Sharp_Feeler
+        Rate: 500
+      - Item: Withered_Flower
+        Rate: 500
+      - Item: Ep172_Bh_Spear
+        Rate: 5
+        RandomOptionGroup: AUTO_IMP_MELEE_2
+      - Item: Papila_Cae_H_Card
+        Rate: 1
+        StealProtected: true
+  - Id: 20676
+    AegisName: MD_PAPILA_CAE2
+    Name: Papila Cae
+    Level: 150
+    Hp: 10000
+    Attack: 1313
+    Attack2: 700
+    Defense: 360
+    MagicDefense: 84
+    Str: 70
+    Agi: 70
+    Vit: 70
+    Int: 70
+    Dex: 70
+    Luk: 70
+    AttackRange: 1
+    SkillRange: 10
+    ChaseRange: 12
+    Size: Medium
+    Race: Insect
+    Element: Water
+    ElementLevel: 2
+    WalkSpeed: 1000
+    AttackDelay: 1
+    AttackMotion: 1
+    DamageMotion: 1
+    Ai: 06
+    Class: Battlefield
+    Modes:
+      IgnoreMagic: true
+      IgnoreMelee: true
+      IgnoreMisc: true
+      IgnoreRanged: true
+      KnockBackImmune: true
+  - Id: 20677
+    AegisName: MD_ARIES
+    Name: Aries
+    Level: 140
+    Hp: 360702
+    BaseExp: 32791
+    JobExp: 22954
+    Attack: 1663
+    Attack2: 840
+    Defense: 356
+    MagicDefense: 81
+    Str: 95
+    Agi: 107
+    Vit: 72
+    Int: 90
+    Dex: 93
+    Luk: 32
+    AttackRange: 2
+    SkillRange: 10
+    ChaseRange: 12
+    Size: Medium
+    Race: Demihuman
+    Element: Water
+    ElementLevel: 2
+    WalkSpeed: 150
+    AttackDelay: 1440
+    AttackMotion: 1440
+    DamageMotion: 480
+    Ai: 04
+    Drops:
+      - Item: Fancy_Fairy_Wing
+        Rate: 250
+      - Item: Great_Wing
+        Rate: 2500
+      - Item: Illusion_Flower
+        Rate: 1
+      - Item: Aries_Card
+        Rate: 1
+        StealProtected: true
+  - Id: 20678
+    AegisName: MD_ARIES_H
+    Name: Senior Aries
+    Level: 190
+    Hp: 3656403
+    BaseExp: 261172
+    JobExp: 182820
+    Attack: 4109
+    Attack2: 2153
+    Defense: 676
+    MagicDefense: 116
+    Str: 173
+    Agi: 173
+    Vit: 162
+    Int: 70
+    Dex: 173
+    Luk: 32
+    AttackRange: 2
+    SkillRange: 10
+    ChaseRange: 12
+    Size: Medium
+    Race: Demihuman
+    Element: Fire
+    ElementLevel: 2
+    WalkSpeed: 150
+    AttackDelay: 1440
+    AttackMotion: 1440
+    DamageMotion: 480
+    Ai: 04
+    Drops:
+      - Item: Fancy_Fairy_Wing
+        Rate: 250
+      - Item: Great_Wing
+        Rate: 2500
+      - Item: Illusion_Flower
+        Rate: 1
+      - Item: Ep172_Bh_Bow3
+        Rate: 5
+        RandomOptionGroup: AUTO_IMP_MELEE_2
+      - Item: Aries_H_Card
+        Rate: 1
+        StealProtected: true
+  - Id: 20679
+    AegisName: EP17_2_GUARDIAN_PARTS
+    Name: Guardian Parts
+    Level: 130
+    Hp: 20
+    Attack: 1
+    Attack2: 1
+    Defense: 1
+    MagicDefense: 1
+    AttackRange: 1
+    SkillRange: 10
+    ChaseRange: 12
+    Size: Large
+    Race: Formless
+    Element: Neutral
+    ElementLevel: 3
+    WalkSpeed: 1000
+    AttackDelay: 1
+    AttackMotion: 1
+    DamageMotion: 1
+    Ai: 06
+    Class: Battlefield
+    Modes:
+      IgnoreMagic: true
+      IgnoreMelee: true
+      IgnoreMisc: true
+      IgnoreRanged: true
+      KnockBackImmune: true
+  - Id: 20680
+    AegisName: EP17_2_HEART_HUNTER
+    Name: Heart Hunter Skirmisher
+    Level: 130
+    Hp: 180367
+    BaseExp: 16397
+    JobExp: 11478
+    Attack: 1300
+    Attack2: 571
+    Defense: 334
+    MagicDefense: 73
+    Str: 80
+    Agi: 113
+    Vit: 68
+    Int: 67
+    Dex: 102
+    Luk: 77
+    AttackRange: 1
+    SkillRange: 10
+    ChaseRange: 12
+    Size: Medium
+    Race: Demihuman
+    Element: Neutral
+    ElementLevel: 2
+    WalkSpeed: 150
+    AttackDelay: 864
+    AttackMotion: 1268
+    DamageMotion: 480
+    Ai: 04
+    Drops:
+      - Item: Vroken_Sword
+        Rate: 500
+      - Item: Heart_Hunter_Seal
+        Rate: 2500
+      - Item: EP17_1_EVT39
+        Rate: 10
+      - Item: EP17_1_EVT02
+        Rate: 30
+      - Item: Elunium_Stone
+        Rate: 24
+      - Item: Ep172_1h_Sword
+        Rate: 3
+        RandomOptionGroup: AUTO_IMP_MELEE_2
+      - Item: Ep172_Bh_Sword
+        Rate: 3
+        RandomOptionGroup: AUTO_IMP_MELEE_2
+      - Item: Heart_Hunter_Card
+        Rate: 1
+        StealProtected: true
+  - Id: 20681
+    AegisName: G_EP17_2_HEART_HUNTER
+    Name: Heart Hunter Skirmisher
+    Level: 130
+    Hp: 180367
+    Attack: 1300
+    Attack2: 581
+    Defense: 334
+    MagicDefense: 73
+    Str: 80
+    Agi: 113
+    Vit: 68
+    Int: 67
+    Dex: 102
+    Luk: 77
+    AttackRange: 1
+    SkillRange: 10
+    ChaseRange: 12
+    Size: Medium
+    Race: Demihuman
+    Element: Neutral
+    ElementLevel: 2
+    WalkSpeed: 150
+    AttackDelay: 864
+    AttackMotion: 1268
+    DamageMotion: 480
+    Ai: 04
+  - Id: 20682
+    AegisName: EP17_2_HEART_HUNTER_H
+    Name: Heart Hunter Skirmisher
+    Level: 176
+    Hp: 1208485
+    BaseExp: 100707
+    JobExp: 70495
+    Attack: 2948
+    Attack2: 1291
+    Defense: 500
+    MagicDefense: 102
+    Str: 110
+    Agi: 147
+    Vit: 38
+    Int: 97
+    Dex: 153
+    Luk: 87
+    AttackRange: 1
+    SkillRange: 10
+    ChaseRange: 12
+    Size: Medium
+    Race: Demihuman
+    RaceGroups:
+      EP172ALPHA: true
+    Element: Dark
+    ElementLevel: 2
+    WalkSpeed: 150
+    AttackDelay: 864
+    AttackMotion: 1268
+    DamageMotion: 480
+    Ai: 04
+    Drops:
+      - Item: Vroken_Sword
+        Rate: 500
+      - Item: Heart_Hunter_Seal
+        Rate: 2500
+      - Item: EP17_1_EVT39
+        Rate: 10
+      - Item: EP17_1_EVT02
+        Rate: 30
+      - Item: Shadowdecon_Ore
+        Rate: 100
+      - Item: Ep172_1h_Sword
+        Rate: 5
+        RandomOptionGroup: AUTO_IMP_MELEE_2
+      - Item: Ep172_Bh_Sword
+        Rate: 5
+        RandomOptionGroup: AUTO_IMP_MELEE_2
+      - Item: Heart_Hunter_Card
+        Rate: 1
+        StealProtected: true
+  - Id: 20683
+    AegisName: EP17_2_BOOKWORM
+    Name: Bookworm
+    Level: 141
+    Hp: 250264
+    BaseExp: 22751
+    JobExp: 15926
+    Attack: 1815
+    Attack2: 855
+    Defense: 210
+    MagicDefense: 82
+    Str: 103
+    Agi: 89
+    Vit: 23
+    Int: 91
+    Dex: 107
+    Luk: 7
+    AttackRange: 1
+    SkillRange: 10
+    ChaseRange: 12
+    Size: Large
+    Race: Insect
+    Element: Earth
+    ElementLevel: 2
+    WalkSpeed: 200
+    AttackDelay: 576
+    AttackMotion: 576
+    DamageMotion: 420
+    Ai: 04
+    Drops:
+      - Item: Long_Limb
+        Rate: 2250
+      - Item: Colorful_Shell
+        Rate: 500
+      - Item: Fluorescent_Liquid
+        Rate: 500
+      - Item: Sticky_Mucus
+        Rate: 1000
+      - Item: Solid_Shell
+        Rate: 500
+      - Item: Ep172_1h_Book2
+        Rate: 3
+        RandomOptionGroup: AUTO_IMP_MAGIC_2
+      - Item: Bookworm_Card
+        Rate: 1
+        StealProtected: true
+  - Id: 20684
+    AegisName: EP17_2_ROAMING_SPLBOOK
+    Name: Roaming Spellbook
+    Level: 144
+    Hp: 256849
+    BaseExp: 23350
+    JobExp: 16345
+    Attack: 1980
+    Attack2: 931
+    Defense: 258
+    MagicDefense: 84
+    Str: 110
+    Agi: 147
+    Vit: 38
+    Int: 97
+    Dex: 153
+    Luk: 66
+    AttackRange: 1
+    SkillRange: 10
+    ChaseRange: 12
+    Size: Medium
+    Race: Formless
+    Element: Neutral
+    ElementLevel: 3
+    WalkSpeed: 130
+    AttackDelay: 912
+    AttackMotion: 1824
+    DamageMotion: 480
+    Ai: 04
+    Drops:
+      - Item: Worn_Out_Page
+        Rate: 2425
+      - Item: Bookclip_In_Memory
+        Rate: 350
+      - Item: Old_Magic_Book
+        Rate: 50
+      - Item: Dustball
+        Rate: 2500
+      - Item: Ep172_1h_Book
+        Rate: 3
+        RandomOptionGroup: AUTO_IMP_MELEE_2
+      - Item: Roaming_Splbook_Card
+        Rate: 1
+        StealProtected: true
+  - Id: 20685
+    AegisName: EP17_2_VENENUM3
+    Name: Sewage Venenum
+    Level: 142
+    Hp: 290128
+    BaseExp: 19342
+    JobExp: 13539
+    Attack: 1793
+    Attack2: 719
+    Defense: 277
+    MagicDefense: 81
+    Str: 80
+    Agi: 97
+    Vit: 45
+    Int: 76
+    Dex: 96
+    Luk: 61
+    AttackRange: 1
+    SkillRange: 10
+    ChaseRange: 12
+    Size: Large
+    Race: Demon
+    RaceGroups:
+      EP172BETA: true
+    Element: Dark
+    ElementLevel: 2
+    WalkSpeed: 150
+    AttackDelay: 768
+    AttackMotion: 1536
+    DamageMotion: 960
+    Ai: 04
+    Drops:
+      - Item: Sticky_Mucus
+        Rate: 2500
+      - Item: Sticky_Poison
+        Rate: 2000
+      - Item: Elunium_Stone
+        Rate: 240
+      - Item: Ep172_1h_Wand
+        Rate: 3
+        RandomOptionGroup: AUTO_IMP_MAGIC_2
+      - Item: Venenum3_Card
+        Rate: 1
+        StealProtected: true
+  - Id: 20686
+    AegisName: EP17_2_CRAMP
+    Name: Sewage Cramp
+    Level: 140
+    Hp: 285388
+    BaseExp: 19026
+    JobExp: 13318
+    Attack: 1978
+    Attack2: 523
+    Defense: 254
+    MagicDefense: 77
+    Str: 113
+    Agi: 118
+    Vit: 38
+    Int: 56
+    Dex: 109
+    Luk: 66
+    AttackRange: 1
+    SkillRange: 10
+    ChaseRange: 12
+    Size: Small
+    Race: Brute
+    RaceGroups:
+      EP172BETA: true
+    Element: Poison
+    ElementLevel: 1
+    WalkSpeed: 100
+    AttackDelay: 522
+    AttackMotion: 1044
+    DamageMotion: 684
+    Ai: 04
+    Drops:
+      - Item: Claw_Of_Rat
+        Rate: 2328
+      - Item: Monster's_Feed
+        Rate: 500
+      - Item: Lemon
+        Rate: 125
+      - Item: Ep172_1h_Dagger
+        Rate: 3
+        RandomOptionGroup: AUTO_IMP_MAGIC_2
+      - Item: EP17_2_Cramp_Card
+        Rate: 1
+        StealProtected: true
+  - Id: 20687
+    AegisName: EP17_2_WATERFALL
+    Name: Sewage Waterfall
+    Level: 141
+    Hp: 287897
+    BaseExp: 19193
+    JobExp: 13435
+    Attack: 1674
+    Attack2: 949
+    Defense: 270
+    MagicDefense: 83
+    Str: 95
+    Agi: 111
+    Vit: 43
+    Int: 101
+    Dex: 96
+    Luk: 48
+    AttackRange: 1
+    SkillRange: 10
+    ChaseRange: 12
+    Size: Medium
+    Race: Formless
+    RaceGroups:
+      EP172BETA: true
+    Element: Poison
+    ElementLevel: 2
+    WalkSpeed: 200
+    AttackDelay: 1672
+    AttackMotion: 720
+    DamageMotion: 288
+    Ai: 04
+    Drops:
+      - Item: Mud_Lump
+        Rate: 2425
+      - Item: Coal
+        Rate: 65
+      - Item: Sticky_Poison
+        Rate: 1000
+      - Item: Ep172_Bh_Katar
+        Rate: 3
+        RandomOptionGroup: AUTO_IMP_MELEE_2
+      - Item: Waterfall_Card
+        Rate: 1
+        StealProtected: true
+  - Id: 20688
+    AegisName: EP17_2_BELLARE3
+    Name: Elite Bellare
+    Level: 143
+    Hp: 295508
+    BaseExp: 19701
+    JobExp: 13790
+    Attack: 1931
+    Attack2: 648
+    Defense: 383
+    MagicDefense: 80
+    Str: 108
+    Agi: 121
+    Vit: 80
+    Int: 68
+    Dex: 113
+    Luk: 80
+    AttackRange: 5
+    SkillRange: 10
+    ChaseRange: 12
+    Size: Medium
+    Race: Demihuman
+    RaceGroups:
+      EP172BETA: true
+    Element: Ghost
+    ElementLevel: 1
+    WalkSpeed: 150
+    AttackDelay: 384
+    AttackMotion: 384
+    DamageMotion: 480
+    Ai: 05
+    Drops:
+      - Item: Heart_Hunter_Seal
+        Rate: 1250
+      - Item: Elunium_Stone
+        Rate: 150
+      - Item: Explosive_Powder
+        Rate: 30
+      - Item: Ep172_1h_Rifle
+        Rate: 3
+        RandomOptionGroup: AUTO_IMP_MELEE_2
+      - Item: Ep172_1h_Shotgun
+        Rate: 3
+        RandomOptionGroup: AUTO_IMP_MELEE_2
+      - Item: Bellare3_Card
+        Rate: 1
+        StealProtected: true
+  - Id: 20689
+    AegisName: EP17_2_DOLOR3
+    Name: Spell Addicted Dolor
+    Level: 145
+    Hp: 299350
+    BaseExp: 19957
+    JobExp: 13970
+    Attack: 2048
+    Attack2: 773
+    Defense: 376
+    MagicDefense: 83
+    Str: 113
+    Agi: 103
+    Vit: 77
+    Int: 80
+    Dex: 115
+    Luk: 67
+    AttackRange: 1
+    SkillRange: 10
+    ChaseRange: 12
+    Size: Medium
+    Race: Demihuman
+    RaceGroups:
+      EP172BETA: true
+    Element: Ghost
+    ElementLevel: 1
+    WalkSpeed: 125
+    AttackDelay: 1768
+    AttackMotion: 768
+    DamageMotion: 576
+    Ai: 04
+    Drops:
+      - Item: Tough_Scalelike_Stem
+        Rate: 2500
+      - Item: Sticky_Poison
+        Rate: 2000
+      - Item: Wooden_Block
+        Rate: 100
+      - Item: Ep172_1h_Foxtail
+        Rate: 3
+        RandomOptionGroup: AUTO_IMP_MAGIC_2
+      - Item: Dolor3_Card
+        Rate: 1
+        StealProtected: true
+  - Id: 20690
+    AegisName: EP17_2_PLASMA_Y
+    Name: Released Spell
+    Level: 144
+    Hp: 291046
+    BaseExp: 19403
+    JobExp: 13582
+    Attack: 1746
+    Attack2: 1152
+    Defense: 180
+    MagicDefense: 87
+    Str: 97
+    Agi: 120
+    Vit: 12
+    Int: 120
+    Dex: 90
+    Luk: 77
+    AttackRange: 2
+    SkillRange: 10
+    ChaseRange: 12
+    Size: Medium
+    Race: Formless
+    RaceGroups:
+      EP172BETA: true
+    Element: Ghost
+    ElementLevel: 2
+    WalkSpeed: 125
+    AttackDelay: 912
+    AttackMotion: 1248
+    DamageMotion: 576
+    Ai: 04
+    Drops:
+      - Item: Scell
+        Rate: 1000
+      - Item: Yellow_Gemstone
+        Rate: 200
+      - Item: Ep172_Bh_Staff
+        Rate: 3
+        RandomOptionGroup: AUTO_IMP_MAGIC_2
+      - Item: Light_Granule
+        Rate: 150
+      - Item: Plasma_Y_Card
+        Rate: 1
+        StealProtected: true
+  - Id: 20691
+    AegisName: EP17_2_PLAGA3
+    Name: Spell Addicted Plaga
+    Level: 192
+    Hp: 2946697
+    BaseExp: 196446
+    JobExp: 137513
+    Attack: 4824
+    Attack2: 1958
+    Defense: 462
+    MagicDefense: 115
+    Str: 201
+    Agi: 177
+    Vit: 90
+    Int: 153
+    Dex: 186
+    Luk: 103
+    AttackRange: 2
+    SkillRange: 10
+    ChaseRange: 12
+    Size: Large
+    Race: Demon
+    RaceGroups:
+      EP172ALPHA: true
+    Element: Poison
+    ElementLevel: 3
+    WalkSpeed: 150
+    AttackDelay: 1280
+    AttackMotion: 1080
+    DamageMotion: 240
+    Ai: 04
+    Drops:
+      - Item: Dragon's_Skin
+        Rate: 1000
+      - Item: Fluorescent_Liquid
+        Rate: 250
+      - Item: Ep172_1h_Shotgun
+        Rate: 5
+        RandomOptionGroup: AUTO_IMP_MELEE_2
+      - Item: Zelunium_Ore
+        Rate: 150
+      - Item: Shadowdecon_Ore
+        Rate: 150
+      - Item: Plaga3_Card
+        Rate: 1
+        StealProtected: true
+  - Id: 20692
+    AegisName: EP17_2_SANARE3
+    Name: Spell Addicted Sanare
+    Level: 194
+    Hp: 2979073
+    BaseExp: 198605
+    JobExp: 139023
+    Attack: 4462
+    Attack2: 2561
+    Defense: 503
+    MagicDefense: 122
+    Str: 184
+    Agi: 168
+    Vit: 103
+    Int: 198
+    Dex: 162
+    Luk: 72
+    AttackRange: 1
+    SkillRange: 10
+    ChaseRange: 12
+    Size: Medium
+    Race: Demihuman
+    RaceGroups:
+      EP172ALPHA: true
+    Element: Holy
+    ElementLevel: 2
+    WalkSpeed: 150
+    AttackDelay: 576
+    AttackMotion: 1152
+    DamageMotion: 720
+    Ai: 04
+    Drops:
+      - Item: GAMJammingChip
+        Rate: 2000
+      - Item: Heart_Hunter_Seal
+        Rate: 1250
+      - Item: Ep172_1h_Hammer
+        Rate: 5
+        RandomOptionGroup: AUTO_IMP_MAGIC_2
+      - Item: Zelunium_Ore
+        Rate: 150
+      - Item: Shadowdecon_Ore
+        Rate: 150
+      - Item: Sanare3_Card
+        Rate: 1
+        StealProtected: true
+  - Id: 20693
+    AegisName: EP17_2_PLASMA_R
+    Name: Powerful Spell
+    Level: 193
+    Hp: 2961272
+    BaseExp: 197418
+    JobExp: 138193
+    Attack: 4270
+    Attack2: 2522
+    Defense: 445
+    MagicDefense: 121
+    Str: 177
+    Agi: 201
+    Vit: 84
+    Int: 196
+    Dex: 170
+    Luk: 70
+    AttackRange: 1
+    SkillRange: 10
+    ChaseRange: 12
+    Size: Medium
+    Race: Formless
+    RaceGroups:
+      EP172ALPHA: true
+    Element: Ghost
+    ElementLevel: 3
+    WalkSpeed: 120
+    AttackDelay: 912
+    AttackMotion: 1248
+    DamageMotion: 576
+    Ai: 04
+    Drops:
+      - Item: Scell
+        Rate: 1000
+      - Item: Yellow_Gemstone
+        Rate: 200
+      - Item: Ep172_1h_Inst
+        Rate: 5
+        RandomOptionGroup: AUTO_IMP_MAGIC_2
+      - Item: Zelunium_Ore
+        Rate: 150
+      - Item: Shadowdecon_Ore
+        Rate: 150
+      - Item: Plasma_R_Card
+        Rate: 1
+        StealProtected: true
+  - Id: 20694
+    AegisName: EP17_2_PLASMA_R2
+    Name: Sharp Spell
+    Level: 193
+    Hp: 2960243
+    BaseExp: 197350
+    JobExp: 138145
+    Attack: 4101
+    Attack2: 2496
+    Defense: 421
+    MagicDefense: 121
+    Str: 170
+    Agi: 198
+    Vit: 76
+    Int: 194
+    Dex: 167
+    Luk: 67
+    AttackRange: 1
+    SkillRange: 10
+    ChaseRange: 12
+    Size: Medium
+    Race: Formless
+    RaceGroups:
+      EP172ALPHA: true
+    Element: Ghost
+    ElementLevel: 3
+    WalkSpeed: 120
+    AttackDelay: 912
+    AttackMotion: 1248
+    DamageMotion: 576
+    Ai: 04
+    Drops:
+      - Item: Scell
+        Rate: 1000
+      - Item: Red_Gemstone
+        Rate: 200
+      - Item: Ep172_1h_Whip
+        Rate: 5
+        RandomOptionGroup: AUTO_IMP_MAGIC_2
+      - Item: Zelunium_Ore
+        Rate: 150
+      - Item: Shadowdecon_Ore
+        Rate: 150
+      - Item: Plasma_R2_Card
+        Rate: 1
+        StealProtected: true
+  - Id: 20696
+    AegisName: EP17_2_CHILD_ADMIN1
+    Name: Child Admin Beta
+    Level: 130
+    Hp: 130
+    Attack: 10
+    Attack2: 10
+    Defense: 10
+    MagicDefense: 10
+    Str: 10
+    Agi: 10
+    Vit: 10
+    Int: 10
+    Dex: 10
+    Luk: 10
+    AttackRange: 1
+    SkillRange: 10
+    ChaseRange: 12
+    Size: Small
+    Race: Formless
+    Element: Neutral
+    ElementLevel: 1
+    WalkSpeed: 150
+    AttackDelay: 1152
+    AttackMotion: 1344
+    DamageMotion: 480
+    Ai: 01
+  - Id: 20697
+    AegisName: EP17_2_CHILD_ADMIN2
+    Name: Child Admin Alpha
+    Level: 180
+    Hp: 180
+    Attack: 10
+    Attack2: 10
+    Defense: 10
+    MagicDefense: 10
+    Str: 10
+    Agi: 10
+    Vit: 10
+    Int: 10
+    Dex: 10
+    Luk: 10
+    AttackRange: 1
+    SkillRange: 10
+    ChaseRange: 12
+    Size: Small
+    Race: Formless
+    Element: Neutral
+    ElementLevel: 1
+    WalkSpeed: 150
+    AttackDelay: 1152
+    AttackMotion: 1344
+    DamageMotion: 480
+    Ai: 01
+  - Id: 20698
+    AegisName: G_ASSISTANT
+    Name: Assistant
+    Level: 137
+    Hp: 238512
+    Attack: 1661
+    Attack2: 658
+    Defense: 365
+    MagicDefense: 78
+    Str: 97
+    Agi: 87
+    Vit: 76
+    Int: 72
+    Dex: 113
+    Luk: 77
+    AttackRange: 1
+    SkillRange: 10
+    ChaseRange: 12
+    Size: Medium
+    Race: Formless
+    Element: Neutral
+    ElementLevel: 2
+    WalkSpeed: 150
+    AttackDelay: 480
+    AttackMotion: 960
+    DamageMotion: 480
+    Ai: 04
+  - Id: 20699
+    AegisName: G_BELLARE3
+    Name: Heart Hunter Commander
+    Level: 143
+    Hp: 295508
+    Attack: 1931
+    Attack2: 648
+    Defense: 383
+    MagicDefense: 80
+    Str: 108
+    Agi: 121
+    Vit: 80
+    Int: 68
+    Dex: 113
+    Luk: 80
+    AttackRange: 5
+    SkillRange: 10
+    ChaseRange: 12
+    Size: Medium
+    Race: Demihuman
+    Element: Ghost
+    ElementLevel: 1
+    WalkSpeed: 150
+    AttackDelay: 384
+    AttackMotion: 384
+    DamageMotion: 480
+    Ai: 04
+  - Id: 20700
+    AegisName: G_BETA_SCISSORE_NG
+    Name: Broken Gardener Beta
+    Level: 135
+    Hp: 234017
+    Attack: 1232
+    Attack2: 576
+    Defense: 336
+    MagicDefense: 76
+    Str: 73
+    Agi: 93
+    Vit: 67
+    Int: 64
+    Dex: 73
+    Luk: 90
+    AttackRange: 1
+    SkillRange: 10
+    ChaseRange: 12
+    Size: Small
+    Race: Formless
+    Element: Fire
+    ElementLevel: 2
+    WalkSpeed: 200
+    AttackDelay: 960
+    AttackMotion: 960
+    DamageMotion: 480
+    Ai: 04
 #  - Id: 20701
 #    AegisName: AB_PRINCESS_1
 #  - Id: 20702

+ 438 - 0
db/re/mob_skill_db.txt

@@ -13558,6 +13558,444 @@
 20843,ILL_ABYSMAL_WITCH@NPC_DAMAGE_HEAL,attack,753,1,10000,1000,60000,no,target,myhpltmaxrate,10,,,,,,,
 20843,ILL_ABYSMAL_WITCH@NPC_CALLSLAVE,idle,352,1,5000,0,30000,yes,self,always,0,,,,,,,
 
+// Episode 17.2 - Sage's Legacy
+20620,MD_REDPEPPER@MG_FIREBOLT,chase,19,3,2000,300,5000,yes,target,always,0,,,,,,,
+20620,MD_REDPEPPER@MG_FIREBALL,chase,17,5,4000,300,15000,yes,target,always,0,,,,,,9,
+20620,MD_REDPEPPER@NPC_CRITICALSLASH,attack,170,2,2000,500,15000,no,target,always,0,,,,,,9,
+20620,MD_REDPEPPER@SM_MAGNUM,attack,7,5,2000,0,15000,yes,self,always,0,,,,,,,
+20620,MD_REDPEPPER@CR_AUTOGUARD,chase,249,10,2000,0,300000,yes,self,always,0,,,,,,,
+20620,MD_REDPEPPER@CR_AUTOGUARD,attack,249,10,500,0,300000,yes,self,always,0,,,,,,,
+20621,MD_REDPEPPER_H@MG_FIREBOLT,chase,19,5,2000,300,5000,yes,target,always,0,,,,,,,
+20621,MD_REDPEPPER_H@MG_FIREBALL,chase,17,7,4000,300,15000,yes,target,always,0,,,,,,9,
+20621,MD_REDPEPPER_H@NPC_CRITICALSLASH,attack,170,4,2000,500,15000,no,target,always,0,,,,,,9,
+20621,MD_REDPEPPER_H@SM_MAGNUM,attack,7,7,5000,0,15000,yes,self,always,0,,,,,,,
+20621,MD_REDPEPPER_H@NPC_COMBOATTACK,attack,171,7,4000,0,15000,yes,target,always,0,,,,,,,
+20621,MD_REDPEPPER_H@CR_AUTOGUARD,chase,249,10,2000,0,300000,yes,self,always,0,,,,,,,
+20621,MD_REDPEPPER_H@CR_AUTOGUARD,attack,249,10,500,0,300000,yes,self,always,0,,,,,,,
+20622,MD_ASSISTANT@NPC_GUIDEDATTACK,chase,172,2,5000,0,60000,yes,target,always,0,,,,,,,
+20622,MD_ASSISTANT@NPC_CRITICALSLASH,attack,170,1,500,300,30000,yes,target,always,0,,,,,,9,
+20622,MD_ASSISTANT@MG_LIGHTNINGBOLT,attack,20,2,1000,300,5000,yes,target,always,0,,,,,,9,
+20623,MD_ASSISTANT_H@NPC_GUIDEDATTACK,chase,172,4,5000,0,60000,yes,target,always,0,,,,,,,
+20623,MD_ASSISTANT_H@NPC_CRITICALSLASH,attack,170,1,500,300,30000,yes,target,always,0,,,,,,9,
+20623,MD_ASSISTANT_H@MG_LIGHTNINGBOLT,attack,20,4,1000,300,5000,yes,target,always,0,,,,,,9,
+20624,MD_DRY_RAFFLESIA@AS_GRIMTOOTH,chase,137,3,2000,0,10000,yes,target,always,0,,,,,,,
+20624,MD_DRY_RAFFLESIA@NPC_SILENCEATTACK,chase,178,1,1000,300,5000,yes,target,always,0,,,,,,,
+20624,MD_DRY_RAFFLESIA@NPC_GROUNDATTACK,attack,185,1,1000,500,5000,no,target,always,0,,,,,,,
+20624,MD_DRY_RAFFLESIA@NPC_SPLASHATTACK,attack,174,1,2000,0,5000,yes,target,attackpcge,2,,,,,,9,
+20624,MD_DRY_RAFFLESIA@NPC_STUNATTACK,attack,179,1,500,500,5000,no,target,always,0,,,,,,9,
+20624,MD_DRY_RAFFLESIA@TF_HIDING,attack,51,1,1000,0,60000,yes,self,myhpltmaxrate,20,,,,,,,
+20625,MD_DRY_RAFFLESIA_H@AS_GRIMTOOTH,chase,137,3,2000,0,10000,yes,target,always,0,,,,,,,
+20625,MD_DRY_RAFFLESIA_H@NPC_SILENCEATTACK,chase,178,3,1000,300,5000,yes,target,always,0,,,,,,,
+20625,MD_DRY_RAFFLESIA_H@NPC_GROUNDATTACK,attack,185,3,1000,500,5000,no,target,always,0,,,,,,,
+20625,MD_DRY_RAFFLESIA_H@NPC_SPLASHATTACK,attack,174,1,2000,0,5000,yes,target,attackpcge,2,,,,,,9,
+20625,MD_DRY_RAFFLESIA_H@NPC_STUNATTACK,attack,179,3,500,500,5000,no,target,always,0,,,,,,9,
+20625,MD_DRY_RAFFLESIA_H@TF_HIDING,attack,51,1,1000,0,60000,yes,self,myhpltmaxrate,20,,,,,,,
+20626,MD_ALNOLDI_EX@NPC_POISONATTACK,chase,188,3,2000,0,5000,yes,target,always,0,,,,,,,
+20626,MD_ALNOLDI_EX@WZ_QUAGMIRE,attack,92,2,500,0,30000,yes,target,always,0,,,,,,6,
+20626,MD_ALNOLDI_EX@NPC_BLOODDRAIN,attack,199,1,2000,0,10000,yes,target,always,0,,,,,,,
+20627,MD_ALNOLDI_EX_H@NPC_POISONATTACK,chase,188,4,2000,0,5000,yes,target,always,0,,,,,,,
+20627,MD_ALNOLDI_EX_H@AM_ACIDTERROR,attack,230,1,500,0,15000,yes,target,always,0,,,,,,,
+20627,MD_ALNOLDI_EX_H@WZ_QUAGMIRE,attack,92,4,500,0,30000,yes,target,always,0,,,,,,6,
+20627,MD_ALNOLDI_EX_H@NPC_BLOODDRAIN,attack,199,1,2000,0,10000,yes,target,always,0,,,,,,,
+20630,EP17_2_BETA_BASIC_NG@AL_TELEPORT,idle,26,1,10000,0,0,yes,self,rudeattacked,0,,,,,,,
+20630,EP17_2_BETA_BASIC_NG@NPC_BLINDATTACK,chase,177,3,2000,300,5000,no,target,always,0,,,,,,,
+20630,EP17_2_BETA_BASIC_NG@NPC_GUIDEDATTACK,chase,172,3,5000,0,30000,yes,target,always,0,,,,,,,
+20630,EP17_2_BETA_BASIC_NG@NPC_GUIDEDATTACK,attack,172,3,2000,0,30000,yes,target,always,0,,,,,,,
+20630,EP17_2_BETA_BASIC_NG@NPC_COMBOATTACK,attack,171,3,1000,0,10000,yes,target,always,0,,,,,,,
+20630,EP17_2_BETA_BASIC_NG@AL_TELEPORT,chase,26,1,3000,0,300000,yes,self,mobnearbygt,23,,,,,,12,
+20631,MD_BETA_SCISSORE_NG@NPC_GUIDEDATTACK,chase,172,2,5000,0,60000,yes,target,always,0,,,,,,,
+20631,MD_BETA_SCISSORE_NG@MG_FIREWALL,chase,18,5,1000,300,30000,yes,target,always,0,,,,,,,
+20631,MD_BETA_SCISSORE_NG@NPC_CRITICALSLASH,attack,170,1,500,300,30000,yes,target,always,0,,,,,,9,
+20631,MD_BETA_SCISSORE_NG@MG_FIREBOLT,attack,19,1,1000,300,5000,yes,target,always,0,,,,,,9,
+20632,MD_BETA_SCISSORE_NG_H@NPC_GUIDEDATTACK,chase,172,2,5000,0,60000,yes,target,always,0,,,,,,,
+20632,MD_BETA_SCISSORE_NG_H@MG_FIREWALL,chase,18,5,1000,300,30000,yes,target,always,0,,,,,,,
+20632,MD_BETA_SCISSORE_NG_H@NPC_CRITICALSLASH,attack,170,1,500,300,30000,yes,target,always,0,,,,,,9,
+20632,MD_BETA_SCISSORE_NG_H@MG_FIREBOLT,attack,19,4,1000,300,5000,yes,target,always,0,,,,,,9,
+20632,MD_BETA_SCISSORE_NG_H@MG_THUNDERSTORM,attack,21,5,500,500,60000,yes,target,always,0,,,,,,,
+20633,EP17_2_BETA_CLEANER_A@AL_TELEPORT,idle,26,1,10000,0,0,yes,self,rudeattacked,0,,,,,,,
+20633,EP17_2_BETA_CLEANER_A@AL_HEAL,idle,28,1,3000,500,10000,no,friend,always,0,,,,,,,
+20633,EP17_2_BETA_CLEANER_A@SM_BASH,attack,5,5,1000,800,5000,no,target,always,0,,,,,,,
+20633,EP17_2_BETA_CLEANER_A@MG_LIGHTNINGBOLT,chase,20,5,2000,1500,5000,yes,target,always,0,,,,,,,
+20633,EP17_2_BETA_CLEANER_A@AL_TELEPORT,chase,26,1,3000,0,300000,yes,self,mobnearbygt,23,,,,,,12,
+20633,EP17_2_BETA_CLEANER_A@WZ_WATERBALL,chase,86,1,2000,0,30000,yes,target,always,0,,,,,,,
+20634,EP17_2_BETA_CLEANER_B@AL_TELEPORT,idle,26,1,10000,0,0,yes,self,rudeattacked,0,,,,,,,
+20634,EP17_2_BETA_CLEANER_B@AL_HEAL,idle,28,1,3000,500,10000,no,friend,always,0,,,,,,,
+20634,EP17_2_BETA_CLEANER_B@SM_BASH,attack,5,5,1000,800,5000,no,target,always,0,,,,,,,
+20634,EP17_2_BETA_CLEANER_B@MG_LIGHTNINGBOLT,chase,20,5,2000,1500,5000,yes,target,always,0,,,,,,,
+20634,EP17_2_BETA_CLEANER_B@AL_TELEPORT,chase,26,1,3000,0,300000,yes,self,mobnearbygt,23,,,,,,,
+20634,EP17_2_BETA_CLEANER_B@WZ_WATERBALL,chase,86,1,2000,0,30000,yes,target,always,0,,,,,,12,
+20635,EP17_2_BETA_BATHS_A@HT_FREEZINGTRAP,idle,121,3,2000,300,60000,yes,target,always,0,,,,,,,
+20635,EP17_2_BETA_BATHS_A@NPC_WATERATTACK,chase,184,2,2000,0,5000,yes,target,always,0,,,,,,,
+20635,EP17_2_BETA_BATHS_A@WZ_WATERBALL,chase,86,1,2000,1500,30000,yes,target,always,0,,,,,,,
+20635,EP17_2_BETA_BATHS_A@AL_TELEPORT,chase,26,1,3000,0,300000,yes,self,mobnearbygt,23,,,,,,,
+20635,EP17_2_BETA_BATHS_A@AL_TELEPORT,idle,26,1,10000,0,0,yes,self,rudeattacked,0,,,,,,12,
+20635,EP17_2_BETA_BATHS_A@KN_PIERCE,attack,56,4,2000,0,10000,yes,target,always,0,,,,,,,
+20636,EP17_2_BETA_BATHS_B@HT_SHOCKWAVE,idle,118,3,2000,300,60000,yes,target,always,0,,,,,,,
+20636,EP17_2_BETA_BATHS_B@NPC_WATERATTACK,chase,184,2,2000,0,5000,yes,target,always,0,,,,,,,
+20636,EP17_2_BETA_BATHS_B@WZ_WATERBALL,chase,86,1,2000,1500,30000,yes,target,always,0,,,,,,,
+20636,EP17_2_BETA_BATHS_B@AL_TELEPORT,chase,26,1,3000,0,300000,yes,self,mobnearbygt,23,,,,,,,
+20636,EP17_2_BETA_BATHS_B@AL_TELEPORT,idle,26,1,10000,0,0,yes,self,rudeattacked,0,,,,,,12,
+20636,EP17_2_BETA_BATHS_B@KN_PIERCE,attack,56,4,2000,0,10000,yes,target,always,0,,,,,,,
+20637,EP17_2_BETA_ITEMKEEPER@AL_TELEPORT,idle,26,1,10000,0,0,yes,self,rudeattacked,0,,,,,,,
+20637,EP17_2_BETA_ITEMKEEPER@CR_AUTOGUARD,chase,249,3,2500,0,60000,yes,self,longrangeattacked,0,,,,,,,
+20637,EP17_2_BETA_ITEMKEEPER@ASC_BREAKER,chase,379,5,2000,300,15000,yes,target,always,0,,,,,,,
+20637,EP17_2_BETA_ITEMKEEPER@NPC_COMBOATTACK,attack,171,3,3000,0,5000,yes,target,always,0,,,,,,,
+20637,EP17_2_BETA_ITEMKEEPER@BS_HAMMERFALL,attack,110,5,2500,0,60000,yes,target,always,0,,,,,,,
+20637,EP17_2_BETA_ITEMKEEPER@AL_TELEPORT,chase,26,1,3000,0,300000,yes,self,mobnearbygt,23,,,,,,12,
+20639,EP17_2_BETA_GUARDS_NG@AL_TELEPORT,idle,26,1,10000,0,0,yes,self,rudeattacked,0,,,,,,,
+20639,EP17_2_BETA_GUARDS_NG@AL_TELEPORT,chase,26,1,3000,0,300000,yes,self,mobnearbygt,23,,,,,,12,
+20639,EP17_2_BETA_GUARDS_NG@SM_PROVOKE,chase,6,10,2000,100,10000,yes,target,always,0,,,,,,3,
+20639,EP17_2_BETA_GUARDS_NG@NPC_CURSEATTACK,attack,181,5,1000,300,5000,no,target,always,0,,,,,,,
+20639,EP17_2_BETA_GUARDS_NG@CR_AUTOGUARD,attack,249,3,3000,0,300000,no,self,always,0,,,,,,,
+20640,EP17_2_OMEGA_CLEANER@AL_TELEPORT,idle,26,1,10000,0,0,yes,self,rudeattacked,0,,,,,,,
+20640,EP17_2_OMEGA_CLEANER@MG_SIGHT,idle,10,1,3000,0,10000,yes,self,always,0,,,,,,52,
+20640,EP17_2_OMEGA_CLEANER@WZ_WATERBALL,chase,86,1,1000,500,30000,yes,target,always,0,,,,,,,
+20640,EP17_2_OMEGA_CLEANER@TF_SPRINKLESAND,attack,149,1,2000,300,5000,yes,target,always,0,,,,,,,
+20641,EP17_2_OMEGA_CLEANER_NG@AL_TELEPORT,idle,26,1,10000,0,0,yes,self,rudeattacked,0,,,,,,,
+20641,EP17_2_OMEGA_CLEANER_NG@MG_LIGHTNINGBOLT,chase,20,5,2000,300,5000,yes,target,always,0,,,,,,52,
+20641,EP17_2_OMEGA_CLEANER_NG@NPC_COMBOATTACK,attack,171,3,3000,0,10000,no,target,always,0,,,,,,,
+20641,EP17_2_OMEGA_CLEANER_NG@NPC_STUNATTACK,attack,179,1,1000,100,10000,no,target,always,0,,,,,,,
+20641,EP17_2_OMEGA_CLEANER_NG@AL_TELEPORT,chase,26,1,3000,0,300000,yes,self,mobnearbygt,23,,,,,,12,
+20641,EP17_2_OMEGA_CLEANER_NG@TF_SPRINKLESAND,attack,149,1,3000,0,15000,yes,target,always,0,,,,,,,
+20642,MD_SWEETY@NPC_COMBOATTACK,chase,171,4,5000,0,5000,yes,target,always,0,,,,,,7,
+20642,MD_SWEETY@NPC_GUIDEDATTACK,chase,172,5,5000,0,60000,yes,target,always,0,,,,,,,
+20642,MD_SWEETY@NPC_MOVE_COORDINATE,chase,755,1,5000,0,30000,no,target,always,0,,,,,,39,
+// 20642,MD_SWEETY@NPC_LOCKON_LASER,chase,773,5,10000,0,200000,yes,target,always,0,,,,,,,
+20642,MD_SWEETY@NPC_CRITICALWOUND,attack,673,4,500,500,5000,no,target,always,0,,,,,,,
+20642,MD_SWEETY@NPC_MENTALBREAKER,attack,159,4,500,1500,5000,yes,target,always,0,,,,,,42,
+20642,MD_SWEETY@NPC_CRITICALSLASH,attack,170,1,10000,0,30000,yes,target,always,0,,,,,,,
+20642,MD_SWEETY@NPC_MOVE_COORDINATE,attack,755,1,5000,0,60000,no,target,longrangeattacked,0,,,,,,39,
+20642,MD_SWEETY@NPC_CURSEATTACK,attack,181,5,4000,0,30000,yes,target,always,0,,,,,,,
+// 20642,MD_SWEETY@NPC_LOCKON_LASER,attack,773,5,10000,0,200000,yes,target,always,0,,,,,,,
+20642,MD_SWEETY@NPC_STUNATTACK,attack,179,5,2000,0,30000,yes,target,always,0,,,,,,,
+20642,MD_SWEETY@HW_GANBANTEIN,attack,483,1,7000,0,60000,no,target,always,0,,,,,,,
+20643,EP17_2_PHEN@NPC_PROVOCATION,chase,194,1,200,0,5000,yes,target,always,0,,,,,,19,
+20643,EP17_2_PHEN@NPC_FIREATTACK,attack,186,3,2000,500,5000,no,target,always,0,,,,,,19,
+20643,EP17_2_PHEN@MG_FIREWALL,chase,18,5,2000,300,10000,no,target,always,0,,,,,,,
+20643,EP17_2_PHEN@MG_FIREBALL,chase,17,3,1500,300,10000,yes,target,always,0,,,,,,,
+20643,EP17_2_PHEN@AL_TELEPORT,chase,26,1,3000,0,300000,yes,self,mobnearbygt,23,,,,,,,
+20643,EP17_2_PHEN@AL_TELEPORT,idle,26,1,10000,0,0,yes,self,rudeattacked,0,,,,,,12,
+20644,EP17_2_MARC@NPC_STUNATTACK,attack,179,2,500,1500,5000,no,target,always,0,,,,,,6,
+20644,EP17_2_MARC@NPC_WATERATTACK,attack,184,3,500,500,5000,no,target,always,0,,,,,,6,
+20644,EP17_2_MARC@MG_FROSTDIVER,chase,15,4,1500,300,10000,yes,target,always,0,,,,,,,
+20644,EP17_2_MARC@AL_TELEPORT,chase,26,1,3000,0,300000,yes,self,mobnearbygt,23,,,,,,,
+20644,EP17_2_MARC@AL_TELEPORT,idle,26,1,10000,0,0,yes,self,rudeattacked,0,,,,,,12,
+20645,EP17_2_SWORD_FISH@AL_TELEPORT,chase,26,1,3000,0,300000,yes,self,mobnearbygt,23,,,,,,,
+20645,EP17_2_SWORD_FISH@AL_TELEPORT,idle,26,1,10000,0,0,yes,self,rudeattacked,0,,,,,,12,
+20645,EP17_2_SWORD_FISH@NPC_WATERATTACK,attack,184,1,2000,0,5000,yes,target,always,0,,,,,,,
+20645,EP17_2_SWORD_FISH@WZ_WATERBALL,attack,86,3,500,1500,5000,yes,target,always,0,,,,,,,
+20645,EP17_2_SWORD_FISH@NPC_CRITICALWOUND,attack,673,1,100,0,5000,yes,target,always,0,,,,,,,
+20645,EP17_2_SWORD_FISH@WZ_WATERBALL,chase,86,3,500,1500,5000,yes,target,always,0,,,,,,,
+20646,EP17_2_PIRANHA@AL_TELEPORT,chase,26,1,3000,0,300000,yes,self,mobnearbygt,23,,,,,,,
+20646,EP17_2_PIRANHA@AL_TELEPORT,idle,26,1,10000,0,0,yes,self,rudeattacked,0,,,,,,12,
+20646,EP17_2_PIRANHA@NPC_WATERATTACK,attack,184,2,500,0,5000,no,target,always,0,,,,,,6,
+20646,EP17_2_PIRANHA@NPC_CRITICALSLASH,attack,170,1,500,500,5000,no,target,always,0,,,,,,6,
+20646,EP17_2_PIRANHA@NPC_CRITICALWOUND,attack,673,1,50,0,10000,yes,target,always,0,,,,,,,
+20646,EP17_2_PIRANHA@NPC_BLEEDING2,attack,764,3,500,0,5000,yes,target,always,0,,,,,,,
+20646,EP17_2_PIRANHA@MG_COLDBOLT,attack,14,3,500,1000,5000,yes,target,always,0,,,,,,,
+20646,EP17_2_PIRANHA@MG_COLDBOLT,chase,14,3,500,1000,5000,yes,target,always,0,,,,,,,
+20646,EP17_2_PIRANHA@WZ_WATERBALL,attack,86,3,500,1000,10000,yes,target,always,0,,,,,,6,
+20646,EP17_2_PIRANHA@NPC_BLOODDRAIN,attack,199,1,500,0,5000,yes,target,always,0,,,,,,,
+20647,EP17_2_BATH_MERMAID@AL_TELEPORT,chase,26,1,3000,0,300000,yes,self,mobnearbygt,23,,,,,,,
+20647,EP17_2_BATH_MERMAID@AL_TELEPORT,idle,26,1,10000,0,0,yes,self,rudeattacked,0,,,,,,12,
+20647,EP17_2_BATH_MERMAID@WZ_WATERBALL,chase,86,3,1000,500,10000,yes,target,always,0,,,,,,6,
+20647,EP17_2_BATH_MERMAID@NPC_CHEAL,idle,729,3,2500,300,5000,yes,self,always,0,,,,,,3,
+20647,EP17_2_BATH_MERMAID@WZ_WATERBALL,attack,86,3,500,500,10000,yes,target,always,0,,,,,,6,
+20647,EP17_2_BATH_MERMAID@WZ_FROSTNOVA,attack,88,5,1500,500,5000,yes,self,always,0,,,,,,,
+20647,EP17_2_BATH_MERMAID@WZ_STORMGUST,attack,89,5,1500,500,30000,yes,target,always,0,,,,,,,
+20647,EP17_2_BATH_MERMAID@WZ_QUAGMIRE,attack,92,3,1000,300,60000,yes,target,always,0,,,,,,28,
+20647,EP17_2_BATH_MERMAID@HP_ASSUMPTIO,idle,361,3,3000,0,120000,yes,friend,always,0,,,,,,3,
+20648,EP17_2_PITAYA_BOSS@NPC_MOVE_COORDINATE,chase,755,1,5000,0,30000,no,target,always,0,,,,,,39,
+20648,EP17_2_PITAYA_BOSS@NPC_CALLSLAVE,idle,352,1,5000,0,30000,yes,self,always,0,,,,,,,
+20648,EP17_2_PITAYA_BOSS@AL_TELEPORT,idle,26,1,10000,0,0,yes,self,rudeattacked,0,,,,,,,
+20648,EP17_2_PITAYA_BOSS@NPC_MOVE_COORDINATE,attack,755,1,5000,0,60000,no,target,longrangeattacked,0,,,,,,39,
+20648,EP17_2_PITAYA_BOSS@NPC_FIREBREATH,attack,654,3,2000,500,10000,yes,target,always,0,,,,,,,
+20648,EP17_2_PITAYA_BOSS@NPC_FIREATTACK,attack,186,7,4000,0,5000,yes,target,always,0,,,,,,,
+20648,EP17_2_PITAYA_BOSS@NPC_PETRIFYATTACK,chase,180,2,1000,0,10000,no,target,always,0,,,,,,,
+20648,EP17_2_PITAYA_BOSS@NPC_CRITICALSLASH,attack,170,1,2000,0,10000,yes,target,always,0,,,,,,,
+20648,EP17_2_PITAYA_BOSS@MG_FIREWALL,chase,18,1,10000,300,20000,no,target,always,0,,,,,,,
+20648,EP17_2_PITAYA_BOSS@MG_FIREWALL,attack,18,10,3000,300,10000,no,target,always,0,,,,,,,
+20648,EP17_2_PITAYA_BOSS@WZ_FIREPILLAR,idle,80,5,10000,300,30000,no,around2,always,0,,,,,,,
+20648,EP17_2_PITAYA_BOSS@NPC_CALLSLAVE,chase,352,1,5000,0,30000,yes,self,always,0,,,,,,,
+20648,EP17_2_PITAYA_BOSS@NPC_POWERUP,attack,349,3,5000,0,30000,yes,self,always,0,,,,,,,
+20648,EP17_2_PITAYA_BOSS@NPC_CALLSLAVE,attack,352,1,5000,0,30000,yes,self,always,0,,,,,,,
+20648,EP17_2_PITAYA_BOSS@NPC_SUMMONSLAVE,attack,196,1,10000,0,15000,yes,self,slavele,2,,,,,,,
+20648,EP17_2_PITAYA_BOSS@NPC_CALLSLAVE,attack,352,1,3000,0,30000,yes,self,always,0,,,,,,,
+20649,EP17_2_PITAYA_R@AL_TELEPORT,idle,26,1,10000,0,0,yes,self,rudeattacked,0,,,,,,,
+20649,EP17_2_PITAYA_R@AL_TELEPORT,chase,26,1,3000,0,300000,yes,self,mobnearbygt,23,,,,,,12,
+20649,EP17_2_PITAYA_R@NPC_CURSEATTACK,chase,181,5,3000,300,30000,no,target,always,0,,,,,,2,
+20649,EP17_2_PITAYA_R@NPC_FIREATTACK,attack,186,3,5000,0,5000,yes,target,always,0,,,,,,,
+20649,EP17_2_PITAYA_R@WZ_FIREPILLAR,idle,80,5,10000,500,180000,no,around2,always,0,,,,,,,
+20649,EP17_2_PITAYA_R@MG_FIREBALL,attack,17,5,2000,1000,30000,yes,target,always,0,,,,,,,
+20649,EP17_2_PITAYA_R@NPC_CURSEATTACK,attack,181,5,3000,500,30000,no,target,always,0,,,,,,2,
+20650,EP17_2_PITAYA_Y@AL_TELEPORT,idle,26,1,10000,0,0,yes,self,rudeattacked,0,,,,,,,
+20650,EP17_2_PITAYA_Y@AL_TELEPORT,chase,26,1,3000,0,300000,yes,self,mobnearbygt,23,,,,,,12,
+20650,EP17_2_PITAYA_Y@NPC_WINDATTACK,chase,187,5,3000,300,30000,no,target,always,0,,,,,,2,
+20650,EP17_2_PITAYA_Y@NPC_WINDATTACK,attack,187,3,5000,0,5000,yes,target,always,0,,,,,,,
+20650,EP17_2_PITAYA_Y@MG_THUNDERSTORM,attack,21,5,2000,500,30000,no,target,always,0,,,,,,,
+20650,EP17_2_PITAYA_Y@NPC_STUNATTACK,attack,179,2,3000,500,30000,no,target,always,0,,,,,,2,
+20651,EP17_2_PITAYA_B@AL_TELEPORT,idle,26,1,10000,0,0,yes,self,rudeattacked,0,,,,,,,
+20651,EP17_2_PITAYA_B@AL_TELEPORT,chase,26,1,3000,0,300000,yes,self,mobnearbygt,23,,,,,,12,
+20651,EP17_2_PITAYA_B@NPC_MENTALBREAKER,chase,159,5,1000,300,30000,no,target,always,0,,,,,,2,
+20651,EP17_2_PITAYA_B@NPC_WATERATTACK,attack,184,3,5000,0,5000,yes,target,always,0,,,,,,,
+20651,EP17_2_PITAYA_B@MG_FROSTDIVER,attack,15,5,2000,300,30000,no,target,always,0,,,,,,,
+20651,EP17_2_PITAYA_B@NPC_MENTALBREAKER,attack,159,1,1000,0,30000,no,target,always,0,,,,,,2,
+20652,EP17_2_PITAYA_V@AL_TELEPORT,idle,26,1,10000,0,0,yes,self,rudeattacked,0,,,,,,,
+20652,EP17_2_PITAYA_V@AL_TELEPORT,chase,26,1,3000,0,300000,yes,self,mobnearbygt,23,,,,,,12,
+20652,EP17_2_PITAYA_V@NPC_BLEEDING,chase,660,3,3000,500,30000,no,target,always,0,,,,,,2,
+20652,EP17_2_PITAYA_V@NPC_POISONATTACK,attack,188,3,5000,0,5000,yes,target,always,0,,,,,,,
+20652,EP17_2_PITAYA_V@AS_VENOMDUST,attack,140,5,2000,300,30000,no,target,always,0,,,,,,,
+20652,EP17_2_PITAYA_V@NPC_BLEEDING,attack,660,3,3000,500,30000,no,target,always,0,,,,,,2,
+20653,EP17_2_PITAYA_G@AL_TELEPORT,idle,26,1,10000,0,0,yes,self,rudeattacked,0,,,,,,,
+20653,EP17_2_PITAYA_G@AL_TELEPORT,chase,26,1,3000,0,300000,yes,self,mobnearbygt,23,,,,,,12,
+20653,EP17_2_PITAYA_G@NPC_SLEEPATTACK,chase,182,1,3000,500,30000,no,target,always,0,,,,,,2,
+20653,EP17_2_PITAYA_G@NPC_GROUNDATTACK,attack,185,5,5000,0,5000,yes,target,always,0,,,,,,,
+20653,EP17_2_PITAYA_G@WZ_HEAVENDRIVE,attack,91,5,2000,300,30000,no,target,always,0,,,,,,,
+20653,EP17_2_PITAYA_G@NPC_SLEEPATTACK,attack,182,1,3000,500,30000,no,target,always,0,,,,,,2,
+20654,G_PITAYA_R@NPC_FIREATTACK,attack,186,3,5000,0,5000,yes,target,always,0,,,,,,,
+20654,G_PITAYA_R@NPC_CURSEATTACK,chase,181,5,3000,300,30000,no,target,always,0,,,,,,2,
+20654,G_PITAYA_R@WZ_FIREPILLAR,idle,80,5,10000,300,30000,no,around2,always,0,,,,,,,
+20654,G_PITAYA_R@MG_FIREBALL,chase,17,4,2000,500,30000,yes,target,always,0,,,,,,,
+20654,G_PITAYA_R@NPC_CURSEATTACK,attack,181,5,3000,500,30000,no,target,always,0,,,,,,2,
+20655,G_PITAYA_Y@NPC_WINDATTACK,attack,187,3,5000,0,5000,yes,target,always,0,,,,,,,
+20655,G_PITAYA_Y@NPC_WINDATTACK,chase,187,5,3000,300,30000,no,target,always,0,,,,,,2,
+20655,G_PITAYA_Y@MG_THUNDERSTORM,attack,21,4,2000,500,30000,no,target,always,0,,,,,,,
+20655,G_PITAYA_Y@NPC_STUNATTACK,attack,179,2,3000,500,30000,no,target,always,0,,,,,,2,
+20656,G_PITAYA_B@NPC_WATERATTACK,attack,184,3,5000,0,5000,yes,target,always,0,,,,,,,
+20656,G_PITAYA_B@NPC_MENTALBREAKER,chase,159,5,1000,300,30000,no,target,always,0,,,,,,2,
+20656,G_PITAYA_B@MG_FROSTDIVER,chase,15,4,2000,500,30000,no,target,always,0,,,,,,,
+20656,G_PITAYA_B@NPC_MENTALBREAKER,attack,159,1,1000,0,30000,no,target,always,0,,,,,,2,
+20657,G_PITAYA_V@NPC_POISONATTACK,attack,188,3,5000,0,5000,yes,target,always,0,,,,,,,
+20657,G_PITAYA_V@NPC_BLEEDING,chase,660,3,3000,500,30000,no,target,always,0,,,,,,2,
+20657,G_PITAYA_V@AS_VENOMDUST,attack,140,4,2000,1000,30000,no,target,always,0,,,,,,,
+20657,G_PITAYA_V@NPC_BLEEDING,attack,660,3,3000,500,30000,no,target,always,0,,,,,,2,
+20658,G_PITAYA_G@NPC_GROUNDATTACK,attack,185,3,5000,0,5000,yes,target,always,0,,,,,,,
+20658,G_PITAYA_G@NPC_SLEEPATTACK,chase,182,1,3000,500,30000,no,target,always,0,,,,,,2,
+20658,G_PITAYA_G@WZ_HEAVENDRIVE,attack,91,4,2000,500,30000,no,target,always,0,,,,,,,
+20658,G_PITAYA_G@NPC_SLEEPATTACK,attack,182,1,3000,500,30000,no,target,always,0,,,,,,2,
+20659,MD_PITAYA_BOSS@NPC_CALLSLAVE,idle,352,1,5000,0,30000,yes,self,always,0,,,,,,,
+20659,MD_PITAYA_BOSS@NPC_SUMMONSLAVE,idle,196,1,10000,0,15000,yes,self,slavele,2,,,,,,,
+20659,MD_PITAYA_BOSS@NPC_MOVE_COORDINATE,chase,755,1,5000,0,30000,no,target,always,0,,,,,,39,
+20659,MD_PITAYA_BOSS@NPC_MOVE_COORDINATE,attack,755,1,5000,0,60000,no,target,longrangeattacked,0,,,,,,39,
+20659,MD_PITAYA_BOSS@NPC_FIREBREATH,attack,654,3,2000,500,10000,yes,target,always,0,,,,,,,
+20659,MD_PITAYA_BOSS@NPC_FIREATTACK,attack,186,7,4000,0,5000,yes,target,always,0,,,,,,,
+20659,MD_PITAYA_BOSS@NPC_PETRIFYATTACK,chase,180,2,1000,0,10000,no,target,always,0,,,,,,,
+20659,MD_PITAYA_BOSS@NPC_CRITICALSLASH,attack,170,1,2000,0,10000,yes,target,always,0,,,,,,,
+20659,MD_PITAYA_BOSS@MG_FIREWALL,chase,18,7,10000,500,20000,no,target,always,0,,,,,,,
+20659,MD_PITAYA_BOSS@MG_FIREWALL,attack,18,7,3000,500,10000,no,target,always,0,,,,,,,
+20659,MD_PITAYA_BOSS@WZ_FIREPILLAR,idle,80,7,10000,500,20000,no,around2,always,0,,,,,,,
+20659,MD_PITAYA_BOSS@NPC_SUMMONSLAVE,chase,196,1,10000,0,15000,yes,self,slavele,2,,,,,,,
+20659,MD_PITAYA_BOSS@NPC_CALLSLAVE,chase,352,1,5000,0,30000,yes,self,always,0,,,,,,,
+20659,MD_PITAYA_BOSS@NPC_CALLSLAVE,attack,352,1,5000,0,30000,yes,self,always,0,,,,,,,
+20659,MD_PITAYA_BOSS@NPC_SUMMONSLAVE,attack,196,1,5000,0,15000,yes,self,slavele,2,,,,,,,
+20659,MD_PITAYA_BOSS@WZ_FIREPILLAR,attack,80,7,3000,500,10000,no,target,always,0,,,,,,,
+20660,MD_PITAYA_R@NPC_FIREATTACK,attack,186,3,5000,0,5000,yes,target,always,0,,,,,,,
+20660,MD_PITAYA_R@NPC_CURSEATTACK,chase,181,5,3000,300,30000,no,target,always,0,,,,,,2,
+20660,MD_PITAYA_R@WZ_FIREPILLAR,idle,80,5,10000,300,180000,no,around2,always,0,,,,,,,
+20660,MD_PITAYA_R@MG_FIREBALL,chase,17,4,2000,500,30000,yes,target,always,0,,,,,,,
+20660,MD_PITAYA_R@NPC_CURSEATTACK,attack,181,5,3000,500,30000,no,target,always,0,,,,,,2,
+20661,MD_PITAYA_Y@NPC_WINDATTACK,attack,187,3,5000,0,5000,yes,target,always,0,,,,,,,
+20661,MD_PITAYA_Y@NPC_WINDATTACK,chase,187,5,3000,300,30000,no,target,always,0,,,,,,2,
+20661,MD_PITAYA_Y@MG_THUNDERSTORM,attack,21,4,2000,500,30000,no,target,always,0,,,,,,,
+20661,MD_PITAYA_Y@NPC_STUNATTACK,attack,179,2,3000,500,30000,no,target,always,0,,,,,,2,
+20662,MD_PITAYA_B@NPC_WATERATTACK,attack,184,3,5000,0,5000,yes,target,always,0,,,,,,,
+20662,MD_PITAYA_B@NPC_MENTALBREAKER,chase,159,5,1000,300,30000,no,target,always,0,,,,,,2,
+20662,MD_PITAYA_B@MG_FROSTDIVER,chase,15,4,2000,500,30000,no,target,always,0,,,,,,,
+20662,MD_PITAYA_B@NPC_MENTALBREAKER,attack,159,1,1000,0,30000,no,target,always,0,,,,,,2,
+20663,MD_PITAYA_V@NPC_POISONATTACK,attack,188,3,5000,0,5000,yes,target,always,0,,,,,,,
+20663,MD_PITAYA_V@NPC_BLEEDING,chase,660,3,3000,500,30000,no,target,always,0,,,,,,2,
+20663,MD_PITAYA_V@AS_VENOMDUST,attack,140,4,2000,500,30000,no,target,always,0,,,,,,,
+20663,MD_PITAYA_V@NPC_BLEEDING,attack,660,3,3000,500,30000,no,target,always,0,,,,,,2,
+20664,MD_PITAYA_G@NPC_GROUNDATTACK,attack,185,3,5000,0,5000,yes,target,always,0,,,,,,,
+20664,MD_PITAYA_G@NPC_SLEEPATTACK,chase,182,1,3000,500,30000,no,target,always,0,,,,,,2,
+20664,MD_PITAYA_G@WZ_HEAVENDRIVE,attack,91,4,2000,500,30000,no,target,always,0,,,,,,,
+20664,MD_PITAYA_G@NPC_SLEEPATTACK,attack,182,1,3000,500,30000,no,target,always,0,,,,,,2,
+20665,MD_VERPORTA@AL_DECAGI,chase,30,1,1000,300,30000,no,target,always,0,,,,,,,
+20665,MD_VERPORTA@NPC_POISONATTACK,chase,188,1,2000,0,5000,yes,target,always,0,,,,,,,
+20665,MD_VERPORTA@MG_FROSTDIVER,chase,15,2,1000,300,30000,yes,target,always,0,,,,,,,
+20665,MD_VERPORTA@NPC_BLINDATTACK,attack,177,2,2000,0,15000,yes,target,always,0,,,,,,,
+20665,MD_VERPORTA@NPC_STONESKIN,attack,675,3,5000,300,60000,yes,self,myhpltmaxrate,20,,,,,,,
+20666,MD_VERPORTE_H@AL_DECAGI,chase,30,1,1000,300,30000,no,target,always,0,,,,,,,
+20666,MD_VERPORTE_H@NPC_POISONATTACK,chase,188,1,2000,0,5000,yes,target,always,0,,,,,,,
+20666,MD_VERPORTE_H@WZ_WATERBALL,chase,86,1,500,300,30000,yes,target,always,0,,,,,,,
+20666,MD_VERPORTE_H@NPC_BLINDATTACK,attack,177,2,2000,0,15000,yes,target,always,0,,,,,,,
+20666,MD_VERPORTE_H@NPC_STONESKIN,attack,675,3,5000,300,60000,yes,self,myhpltmaxrate,20,,,,,,,
+20666,MD_VERPORTE_H@NPC_SLEEPATTACK,chase,182,4,2000,500,30000,no,target,always,0,,,,,,,
+20667,MD_SILVA_PAPILIA@NPC_DARKNESSATTACK,attack,190,2,3000,0,5000,yes,target,always,0,,,,,,,
+20667,MD_SILVA_PAPILIA@NPC_POWERUP,attack,349,3,5000,0,30000,yes,self,always,0,,,,,,,
+20667,MD_SILVA_PAPILIA@NPC_DARKSTRIKE,chase,340,3,3000,200,15000,yes,target,always,0,,,,,,,
+20667,MD_SILVA_PAPILIA@NPC_BLOODDRAIN,attack,199,1,2000,0,10000,yes,target,always,0,,,,,,,
+20667,MD_SILVA_PAPILIA@NPC_DARKSTRIKE,attack,340,3,3000,200,15000,yes,target,always,0,,,,,,,
+20667,MD_SILVA_PAPILIA@NPC_WIDESTONE,attack,666,3,3000,500,30000,no,self,always,0,,,,,,,
+20667,MD_SILVA_PAPILIA@NPC_WIDECONFUSE,attack,667,3,3000,500,30000,no,self,always,0,,,,,,,
+20668,MD_GRAN_PAPILIA@NPC_DARKNESSATTACK,attack,190,4,3000,0,5000,yes,target,always,0,,,,,,,
+20668,MD_GRAN_PAPILIA@NPC_BLOODDRAIN,attack,199,1,2000,0,10000,yes,target,always,0,,,,,,,
+20668,MD_GRAN_PAPILIA@NPC_DARKSTRIKE,attack,340,3,3000,200,15000,yes,target,always,0,,,,,,,
+20668,MD_GRAN_PAPILIA@NPC_EARTHQUAKE,attack,653,4,2000,500,30000,yes,self,always,0,,,,,,6,
+20668,MD_GRAN_PAPILIA@NPC_POWERUP,attack,349,3,5000,0,30000,yes,self,always,0,,,,,,,
+20668,MD_GRAN_PAPILIA@NPC_DARKSTRIKE,chase,340,4,3000,200,15000,yes,target,always,0,,,,,,,
+20668,MD_GRAN_PAPILIA@NPC_BLOODDRAIN,attack,199,1,2000,0,10000,yes,target,always,0,,,,,,,
+20668,MD_GRAN_PAPILIA@NPC_DARKSTRIKE,attack,340,6,3000,200,15000,yes,target,always,0,,,,,,,
+20668,MD_GRAN_PAPILIA@NPC_WIDESTONE,attack,666,5,3000,500,30000,no,self,always,0,,,,,,,
+20668,MD_GRAN_PAPILIA@NPC_WIDECONFUSE,attack,667,5,3000,500,30000,no,self,always,0,,,,,,,
+20668,MD_GRAN_PAPILIA@NPC_WIDECURSE,attack,677,3,3000,500,60000,no,self,always,0,,,,,,,
+20668,MD_GRAN_PAPILIA@NPC_HELLJUDGEMENT2,attack,768,5,1000,500,120000,yes,target,always,0,,,,,,,
+20669,MD_PAPILA@NPC_BLINDATTACK,chase,177,3,2000,0,15000,yes,target,always,0,,,,,,,
+20669,MD_PAPILA@NPC_DARKSTRIKE,chase,340,3,2000,300,15000,yes,target,always,0,,,,,,,
+20669,MD_PAPILA@NPC_SLEEPATTACK,chase,182,1,1000,0,60000,yes,target,always,0,,,,,,,
+20669,MD_PAPILA@NPC_DARKCROSS,attack,338,3,2000,0,5000,yes,target,always,0,,,,,,,
+20670,MD_PAPILA_H@NPC_BLINDATTACK,chase,177,3,2000,0,15000,yes,target,always,0,,,,,,,
+20670,MD_PAPILA_H@NPC_DARKSTRIKE,chase,340,3,2000,300,15000,yes,target,always,0,,,,,,,
+20670,MD_PAPILA_H@NPC_SLEEPATTACK,chase,182,1,1000,0,60000,yes,target,always,0,,,,,,,
+20670,MD_PAPILA_H@NPC_DARKCROSS,attack,338,3,2000,0,5000,yes,target,always,0,,,,,,,
+20671,MD_PAPILA_RUBA@MG_FIREBALL,chase,17,3,2000,300,15000,yes,target,always,0,,,,,,,
+20671,MD_PAPILA_RUBA@MG_FIREWALL,chase,18,5,3000,300,30000,yes,target,always,0,,,,,,,
+20671,MD_PAPILA_RUBA@NPC_FIREATTACK,attack,186,2,2000,0,5000,yes,target,always,0,,,,,,,
+20671,MD_PAPILA_RUBA@NPC_MENTALBREAKER,attack,159,1,3000,0,30000,yes,target,always,0,,,,,,,
+20672,MD_PAPILA_RUBA_H@MG_FIREBALL,chase,17,3,2000,300,15000,yes,target,always,0,,,,,,,
+20672,MD_PAPILA_RUBA_H@MG_FIREWALL,chase,18,5,3000,300,30000,yes,target,always,0,,,,,,,
+20672,MD_PAPILA_RUBA_H@NPC_FIREATTACK,attack,186,2,2000,0,5000,yes,target,always,0,,,,,,,
+20672,MD_PAPILA_RUBA_H@NPC_MENTALBREAKER,attack,159,1,3000,0,30000,yes,target,always,0,,,,,,,
+20672,MD_PAPILA_RUBA_H@NPC_FIREBREATH,attack,654,2,2000,500,30000,no,target,always,0,,,,,,,
+20673,MD_PAPILA_RUBA2@NPC_RAINOFMETEOR,attack,769,1,500,0,0,no,target,always,0,,,,,,,
+20673,MD_PAPILA_RUBA2@WZ_HEAVENDRIVE,attack,91,1,500,0,0,no,target,always,0,,,,,,,
+20673,MD_PAPILA_RUBA2@NPC_RAINOFMETEOR,chase,769,1,500,0,0,no,target,always,0,,,,,,,
+20673,MD_PAPILA_RUBA2@WZ_HEAVENDRIVE,chase,91,1,500,0,0,no,target,always,0,,,,,,,
+20674,MD_PAPILA_CAE@NPC_WATERATTACK,chase,184,3,2000,300,15000,yes,target,always,0,,,,,,,
+20674,MD_PAPILA_CAE@MG_FROSTDIVER,chase,15,5,3000,300,30000,yes,target,always,0,,,,,,,
+20674,MD_PAPILA_CAE@NPC_WATERATTACK,attack,184,2,2000,0,5000,yes,target,always,0,,,,,,,
+20674,MD_PAPILA_CAE@NPC_MENTALBREAKER,attack,159,1,3000,0,30000,yes,target,always,0,,,,,,,
+20675,MD_PAPILA_CAE_H@NPC_WATERATTACK,chase,184,3,2000,300,15000,yes,target,always,0,,,,,,,
+20675,MD_PAPILA_CAE_H@MG_FROSTDIVER,chase,15,5,3000,300,30000,yes,target,always,0,,,,,,,
+20675,MD_PAPILA_CAE_H@NPC_WATERATTACK,attack,184,2,2000,0,5000,yes,target,always,0,,,,,,,
+20675,MD_PAPILA_CAE_H@NPC_MENTALBREAKER,attack,159,1,3000,0,30000,yes,target,always,0,,,,,,,
+20675,MD_PAPILA_CAE_H@NPC_ICEBREATH,attack,655,2,2000,500,30000,no,target,always,0,,,,,,,
+20676,MD_PAPILA_CAE2@NPC_RAINOFMETEOR,attack,769,1,500,0,0,no,target,always,0,,,,,,,
+20676,MD_PAPILA_CAE2@WZ_HEAVENDRIVE,attack,91,1,500,0,0,no,target,always,0,,,,,,,
+20676,MD_PAPILA_CAE2@NPC_RAINOFMETEOR,chase,769,1,500,0,0,no,target,always,0,,,,,,,
+20676,MD_PAPILA_CAE2@WZ_HEAVENDRIVE,chase,91,1,500,0,0,no,target,always,0,,,,,,,
+20677,MD_ARIES@WZ_WATERBALL,chase,86,1,2000,300,30000,yes,target,always,0,,,,,,,
+20677,MD_ARIES@NPC_WATERATTACK,attack,184,2,2000,300,5000,yes,target,always,0,,,,,,,
+20677,MD_ARIES@NPC_CURSEATTACK,attack,181,2,2000,0,30000,yes,target,always,0,,,,,,,
+20678,MD_ARIES_H@MG_FIREBALL,chase,17,3,2000,300,15000,yes,target,always,0,,,,,,,
+20678,MD_ARIES_H@MG_FIREWALL,chase,18,5,3000,300,30000,yes,target,always,0,,,,,,,
+20678,MD_ARIES_H@NPC_FIREATTACK,attack,186,2,2000,0,5000,yes,target,always,0,,,,,,,
+20678,MD_ARIES_H@NPC_PETRIFYATTACK,attack,180,3,3000,0,15000,yes,target,always,0,,,,,,,
+20680,EP17_2_HEART_HUNTER@AL_TELEPORT,idle,26,1,10000,0,0,yes,self,rudeattacked,0,,,,,,,
+20680,EP17_2_HEART_HUNTER@TF_SPRINKLESAND,attack,149,1,2000,300,30000,yes,target,always,0,,,,,,,
+20680,EP17_2_HEART_HUNTER@NPC_CRITICALSLASH,chase,170,1,3000,0,10000,yes,target,always,0,,,,,,,
+20680,EP17_2_HEART_HUNTER@SM_MAGNUM,attack,7,5,5000,0,5000,yes,self,attackpcge,2,,,,,,,
+20680,EP17_2_HEART_HUNTER@RG_STRIPSHIELD,attack,216,3,3000,0,60000,yes,target,always,0,,,,,,,
+20681,G_EP17_2_HEART_HUNTER@TF_SPRINKLESAND,attack,149,1,2000,300,30000,yes,target,always,0,,,,,,,
+20681,G_EP17_2_HEART_HUNTER@NPC_CRITICALSLASH,chase,170,1,3000,0,10000,yes,target,always,0,,,,,,,
+20681,G_EP17_2_HEART_HUNTER@SM_MAGNUM,attack,7,5,5000,0,5000,yes,self,attackpcge,2,,,,,,,
+20681,G_EP17_2_HEART_HUNTER@RG_STRIPSHIELD,attack,216,3,3000,0,60000,yes,target,always,0,,,,,,,
+20682,EP17_2_HEART_HUNTER_H@AL_TELEPORT,idle,26,1,10000,0,0,yes,self,rudeattacked,0,,,,,,,
+20682,EP17_2_HEART_HUNTER_H@AL_TELEPORT,chase,26,1,3000,0,300000,yes,self,mobnearbygt,23,,,,,,12,
+20682,EP17_2_HEART_HUNTER_H@SM_ENDURE,chase,8,1,5000,0,10000,yes,self,longrangeattacked,0,,,,,,,
+20682,EP17_2_HEART_HUNTER_H@SM_BASH,attack,5,8,3000,0,15000,yes,target,always,0,,,,,,,
+20682,EP17_2_HEART_HUNTER_H@TF_THROWSTONE,chase,152,1,1000,0,30000,yes,target,always,0,,,,,,29,
+20682,EP17_2_HEART_HUNTER_H@KN_PIERCE,attack,56,4,1000,500,5000,no,target,always,0,,,,,,9,
+20683,EP17_2_BOOKWORM@AL_TELEPORT,idle,26,1,10000,0,0,yes,self,rudeattacked,0,,,,,,,
+20683,EP17_2_BOOKWORM@AL_TELEPORT,chase,26,1,3000,0,300000,yes,self,mobnearbygt,23,,,,,,12,
+20683,EP17_2_BOOKWORM@NPC_STUNATTACK,attack,179,3,1000,1500,5000,no,target,always,0,,,,,,,
+20683,EP17_2_BOOKWORM@NPC_CRITICALSLASH,attack,170,1,2000,0,5000,yes,target,always,0,,,,,,6,
+20683,EP17_2_BOOKWORM@NPC_SLOWCAST,attack,672,2,3000,0,30000,yes,self,always,0,,,,,,,
+20683,EP17_2_BOOKWORM@NPC_MENTALBREAKER,attack,159,1,1000,0,30000,yes,target,always,0,,,,,,42,
+20684,EP17_2_ROAMING_SPLBOOK@AL_TELEPORT,idle,26,1,10000,0,0,yes,self,rudeattacked,0,,,,,,,
+20684,EP17_2_ROAMING_SPLBOOK@AL_TELEPORT,chase,26,1,3000,0,300000,yes,self,mobnearbygt,23,,,,,,12,
+20684,EP17_2_ROAMING_SPLBOOK@MG_FIREBALL,attack,17,4,3000,100,5000,no,target,always,0,,,,,,,
+20684,EP17_2_ROAMING_SPLBOOK@MG_LIGHTNINGBOLT,attack,20,4,3000,100,5000,no,target,always,0,,,,,,,
+20684,EP17_2_ROAMING_SPLBOOK@MG_COLDBOLT,attack,14,4,3000,100,5000,no,target,always,0,,,,,,,
+20684,EP17_2_ROAMING_SPLBOOK@NPC_SLOWCAST,attack,672,2,1000,0,30000,yes,self,always,0,,,,,,,
+20684,EP17_2_ROAMING_SPLBOOK@NPC_MENTALBREAKER,attack,159,1,1000,0,30000,yes,target,always,0,,,,,,42,
+20685,EP17_2_VENENUM3@NPC_EMOTION,chase,197,1,500,0,30000,yes,self,always,0,0x0091,,,,,19,
+20685,EP17_2_VENENUM3@NPC_EMOTION,idle,197,1,2000,0,30000,yes,self,always,0,0x3885,,,,,44,
+20685,EP17_2_VENENUM3@NPC_BLINDATTACK,chase,177,3,3000,500,30000,yes,target,always,0,,,,,,,
+20685,EP17_2_VENENUM3@NPC_POISONATTACK,attack,188,5,1000,0,5000,yes,target,always,0,,,,,,,
+20685,EP17_2_VENENUM3@NPC_POISON_BUSTER,attack,742,1,2000,1500,30000,no,self,always,0,,,,,,,
+20685,EP17_2_VENENUM3@NPC_CLOUD_KILL,attack,739,3,2000,500,15000,no,target,always,0,,,,,,,
+20686,EP17_2_CRAMP@NPC_POISON,attack,176,3,500,800,5000,no,target,always,0,,,,,,,
+20686,EP17_2_CRAMP@NPC_POISONATTACK,attack,188,3,2000,0,5000,yes,target,always,0,,,,,,,
+20686,EP17_2_CRAMP@NPC_AGIUP,chase,350,1,1000,0,30000,yes,self,always,0,,,,,,,
+20686,EP17_2_CRAMP@WZ_QUAGMIRE,chase,92,2,500,0,30000,yes,target,always,0,,,,,,6,
+20687,EP17_2_WATERFALL@NPC_POISONATTACK,chase,188,3,2000,0,5000,yes,target,always,0,,,,,,,
+20687,EP17_2_WATERFALL@AS_CLOAKING,attack,135,1,2000,200,5000,yes,self,always,0,,,,,,,
+20687,EP17_2_WATERFALL@AS_CLOAKING,idle,135,1,2000,200,5000,yes,self,always,0,,,,,,,
+20687,EP17_2_WATERFALL@AS_CLOAKING,chase,135,1,2000,200,5000,yes,self,always,0,,,,,,,
+20687,EP17_2_WATERFALL@NPC_GROUNDATTACK,attack,185,3,2000,0,5000,yes,target,always,0,,,,,,,
+20687,EP17_2_WATERFALL@TF_SPRINKLESAND,attack,149,1,500,0,5000,yes,target,always,0,,,,,,,
+20687,EP17_2_WATERFALL@NPC_GROUNDATTACK,attack,185,3,2000,0,5000,yes,target,always,0,,,,,,,
+20687,EP17_2_WATERFALL@TF_SPRINKLESAND,attack,149,1,500,0,5000,yes,target,always,0,,,,,,,
+20688,EP17_2_BELLARE3@AL_TELEPORT,chase,26,1,3000,0,300000,yes,self,mobnearbygt,23,,,,,,12,
+20688,EP17_2_BELLARE3@NPC_EMOTION,chase,197,1,500,0,30000,yes,self,always,0,0x0091,,,,,19,
+20688,EP17_2_BELLARE3@NPC_BLINDATTACK,chase,177,3,1000,0,5000,yes,target,always,0,,,,,,39,
+20688,EP17_2_BELLARE3@HT_BLASTMINE,idle,122,3,2000,500,180000,no,target,always,0,,,,,,,
+20688,EP17_2_BELLARE3@NPC_COMBOATTACK,attack,171,2,3000,500,15000,yes,target,always,0,,,,,,,
+20688,EP17_2_BELLARE3@NPC_EMOTION,idle,197,1,2000,0,30000,yes,self,always,0,0x2085,,,,,44,
+20688,EP17_2_BELLARE3@NPC_GUIDEDATTACK,attack,172,4,3000,0,30000,yes,target,always,0,,,,,,,
+20689,EP17_2_DOLOR3@AL_TELEPORT,chase,26,1,3000,0,300000,yes,self,mobnearbygt,23,,,,,,12,
+20689,EP17_2_DOLOR3@NPC_EMOTION,chase,197,1,500,0,30000,yes,self,always,0,0x0091,,,,,19,
+20689,EP17_2_DOLOR3@NPC_CRITICALWOUND,attack,673,1,2000,0,60000,yes,target,always,0,,,,,,,
+20689,EP17_2_DOLOR3@NPC_EMOTION,idle,197,1,2000,0,30000,yes,self,always,0,0x2085,,,,,44,
+20689,EP17_2_DOLOR3@NPC_BLOODDRAIN,chase,199,1,3000,0,30000,yes,target,always,0,,,,,,,
+20689,EP17_2_DOLOR3@NPC_STONESKIN,chase,675,3,3000,500,30000,yes,self,myhpltmaxrate,30,,,,,,47,
+20689,EP17_2_DOLOR3@NPC_POISONATTACK,attack,188,3,2000,500,10000,yes,target,always,0,,,,,,,
+20690,EP17_2_PLASMA_Y@AL_TELEPORT,chase,26,1,3000,0,300000,yes,self,mobnearbygt,23,,,,,,12,
+20690,EP17_2_PLASMA_Y@NPC_STUNATTACK,chase,179,3,1000,0,5000,yes,target,always,0,,,,,,39,
+20690,EP17_2_PLASMA_Y@NPC_STUNATTACK,attack,179,3,1000,0,5000,yes,target,always,0,,,,,,39,
+20690,EP17_2_PLASMA_Y@MG_SOULSTRIKE,chase,13,9,3000,500,5000,no,target,always,0,,,,,,,
+20690,EP17_2_PLASMA_Y@MG_SOULSTRIKE,attack,13,9,3000,500,5000,no,target,always,0,,,,,,,
+20690,EP17_2_PLASMA_Y@MG_NAPALMBEAT,attack,11,7,2000,0,5000,yes,target,always,0,,,,,,,
+20690,EP17_2_PLASMA_Y@MG_NAPALMBEAT,attack,11,7,4000,0,5000,yes,target,attackpcge,2,,,,,,,
+20690,EP17_2_PLASMA_Y@NPC_TELEKINESISATTACK,attack,191,5,1000,0,5000,yes,target,always,0,,,,,,21,
+20691,EP17_2_PLAGA3@AL_TELEPORT,chase,26,1,3000,0,300000,yes,self,mobnearbygt,23,,,,,,12,
+20691,EP17_2_PLAGA3@NPC_EMOTION,chase,197,1,500,0,30000,yes,self,always,0,0x0091,,,,,19,
+20691,EP17_2_PLAGA3@NPC_EMOTION,idle,197,1,2000,0,30000,yes,self,always,0,0x3885,,,,,44,
+20691,EP17_2_PLAGA3@NPC_CRITICALWOUND,attack,673,3,2000,0,60000,yes,target,always,0,,,,,,,
+20691,EP17_2_PLAGA3@MG_FIREBALL,chase,17,3,3000,500,30000,yes,target,always,0,,,,,,,
+20691,EP17_2_PLAGA3@NPC_FIREATTACK,chase,186,2,2000,500,30000,yes,target,always,0,,,,,,,
+20691,EP17_2_PLAGA3@NPC_DARKSTRIKE,chase,340,5,3000,500,30000,yes,target,always,0,,,,,,,
+20692,EP17_2_SANARE3@AL_TELEPORT,chase,26,1,3000,0,300000,yes,self,mobnearbygt,23,,,,,,12,
+20692,EP17_2_SANARE3@NPC_EMOTION,chase,197,1,500,0,30000,yes,self,always,0,0x0091,,,,,19,
+20692,EP17_2_SANARE3@AL_HEAL,idle,28,9,7000,500,5000,yes,friend,myhpltmaxrate,50,,,,,,3,
+20692,EP17_2_SANARE3@NPC_EMOTION,idle,197,1,2000,0,30000,yes,self,always,0,0x3885,,,,,14,
+20692,EP17_2_SANARE3@AL_HEAL,attack,28,9,7000,500,15000,yes,friend,always,0,,,,,,3,
+20692,EP17_2_SANARE3@NPC_DARKCROSS,attack,338,5,3000,500,15000,yes,target,always,0,,,,,,,
+20692,EP17_2_SANARE3@AL_HOLYLIGHT,chase,156,1,3000,300,15000,yes,target,always,0,,,,,,,
+20692,EP17_2_SANARE3@NPC_HOLYATTACK,chase,189,3,4000,500,15000,yes,target,always,0,,,,,,,
+20692,EP17_2_SANARE3@AL_HEAL,idle,28,9,10000,700,3000,yes,friend,friendhpltmaxrate,50,,,,,,,
+20693,EP17_2_PLASMA_R@AL_TELEPORT,chase,26,1,3000,0,300000,yes,self,mobnearbygt,23,,,,,,12,
+20693,EP17_2_PLASMA_R@NPC_SLEEPATTACK,chase,182,5,1000,300,5000,yes,target,always,0,,,,,,29,
+20693,EP17_2_PLASMA_R@NPC_SLEEPATTACK,attack,182,5,1000,500,5000,no,target,always,0,,,,,,29,
+20693,EP17_2_PLASMA_R@MG_FIREBOLT,chase,19,7,3000,1000,5000,no,target,always,0,,,,,,6,
+20693,EP17_2_PLASMA_R@MG_FIREBOLT,attack,19,7,3000,1000,5000,no,target,always,0,,,,,,6,
+20693,EP17_2_PLASMA_R@MG_FIREBALL,chase,17,5,3000,500,5000,no,target,always,0,,,,,,,
+20693,EP17_2_PLASMA_R@MG_FIREBALL,attack,17,7,2000,500,5000,no,target,always,0,,,,,,,
+20693,EP17_2_PLASMA_R@NPC_FIREATTACK,attack,186,3,1000,0,5000,yes,target,always,0,,,,,,21,
+20694,EP17_2_PLASMA_R2@AL_TELEPORT,chase,26,1,3000,0,300000,yes,self,mobnearbygt,23,,,,,,12,
+20694,EP17_2_PLASMA_R2@NPC_SLEEPATTACK,chase,182,5,1000,300,5000,yes,target,always,0,,,,,,29,
+20694,EP17_2_PLASMA_R2@NPC_SLEEPATTACK,attack,182,5,1000,500,5000,no,target,always,0,,,,,,29,
+20694,EP17_2_PLASMA_R2@MG_FIREBOLT,chase,19,7,3000,1000,5000,no,target,always,0,,,,,,6,
+20694,EP17_2_PLASMA_R2@MG_FIREBOLT,attack,19,7,3000,1000,5000,no,target,always,0,,,,,,6,
+20694,EP17_2_PLASMA_R2@MG_FIREBALL,chase,17,5,3000,500,5000,no,target,always,0,,,,,,,
+20694,EP17_2_PLASMA_R2@MG_FIREBALL,attack,17,7,2000,500,5000,no,target,always,0,,,,,,,
+20694,EP17_2_PLASMA_R2@NPC_FIREATTACK,attack,186,3,1000,0,5000,yes,target,always,0,,,,,,21,
+20698,G_ASSISTANT@NPC_GUIDEDATTACK,chase,172,2,5000,0,60000,yes,target,always,0,,,,,,,
+20698,G_ASSISTANT@NPC_CRITICALSLASH,attack,170,1,500,300,30000,yes,target,always,0,,,,,,9,
+20698,G_ASSISTANT@MG_LIGHTNINGBOLT,attack,20,2,1000,300,5000,yes,target,always,0,,,,,,9,
+20699,G_BELLARE3@AL_TELEPORT,chase,26,1,3000,0,300000,yes,self,mobnearbygt,23,,,,,,12,
+20699,G_BELLARE3@NPC_EMOTION,chase,197,1,500,0,30000,yes,self,always,0,0x0091,,,,,19,
+20699,G_BELLARE3@NPC_BLINDATTACK,chase,177,3,1000,0,5000,yes,target,always,0,,,,,,39,
+20699,G_BELLARE3@HT_BLASTMINE,idle,122,3,2000,500,180000,no,target,always,0,,,,,,,
+20699,G_BELLARE3@NPC_COMBOATTACK,attack,171,2,3000,500,15000,yes,target,always,0,,,,,,,
+20699,G_BELLARE3@NPC_EMOTION,idle,197,1,2000,0,30000,yes,self,always,0,0x2085,,,,,44,
+20699,G_BELLARE3@NPC_GUIDEDATTACK,attack,172,4,3000,0,30000,yes,target,always,0,,,,,,,
+20700,G_BETA_SCISSORE_NG@NPC_GUIDEDATTACK,chase,172,2,5000,0,60000,yes,target,always,0,,,,,,,
+20700,G_BETA_SCISSORE_NG@MG_FIREWALL,chase,18,5,1000,300,30000,yes,target,always,0,,,,,,,
+20700,G_BETA_SCISSORE_NG@NPC_CRITICALSLASH,attack,170,1,500,300,30000,yes,target,always,0,,,,,,9,
+20700,G_BETA_SCISSORE_NG@MG_FIREBOLT,attack,19,1,1000,300,5000,yes,target,always,0,,,,,,9,
+
 // 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,,,,,,,

+ 41 - 1
db/re/pet_db.yml

@@ -168,7 +168,6 @@ Body:
             Amount: 30
           - Item: Leaf_Lunatic_Card
             Amount: 1
-
   - Mob: PICKY
     TameItem: Earthworm_The_Dude
     EggItem: Picky_Egg
@@ -2130,3 +2129,44 @@ Body:
 #         bonus bHit,18;
 #         bonus bPerfectHitRate,15;
 #      }
+  - Mob: EP17_2_CHILD_ADMIN1
+    CaptureRate : 1000
+    EggItem: Ep17_2_C_Admin1_Egg
+    EquipItem: Ep_17_2_C_Admin1_Acc
+    FoodItem: Cloud_Cotton
+    Fullness: 2
+    IntimacyFed: 20
+    Script: >
+      .@i = getpetinfo(PETINFO_INTIMATE);
+      if (.@i >= PET_INTIMATE_LOYAL) {
+        bonus2 bAddRace2,RC2_EP172BETA,10;
+      } else if (.@i >= PET_INTIMATE_CORDIAL) {
+        bonus2 bAddRace2,RC2_EP172BETA,6;
+      } else if (.@i >= PET_INTIMATE_NEUTRAL) {
+        bonus2 bAddRace2,RC2_EP172BETA,3;
+      }
+    Evolution:
+      - Target: EP17_2_CHILD_ADMIN2
+        ItemRequirements:
+          - Item: Mystery_Piece
+            Amount: 10
+          - Item: Broken_Steel_Piece
+            Amount: 50
+          - Item: BarMealTicket
+            Amount: 500
+  - Mob: EP17_2_CHILD_ADMIN2
+    CaptureRate : 1000
+    EggItem: Ep17_2_C_Admin2_Egg
+    EquipItem: Ep_17_2_C_Admin2_Acc
+    FoodItem: Pet_Food
+    Fullness: 2
+    IntimacyFed: 20
+    Script: >
+      .@i = getpetinfo(PETINFO_INTIMATE);
+      if (.@i >= PET_INTIMATE_LOYAL) {
+        bonus2 bAddRace2,RC2_EP172ALPHA,15;
+      } else if (.@i >= PET_INTIMATE_CORDIAL) {
+        bonus2 bAddRace2,RC2_EP172ALPHA,8;
+      } else if (.@i >= PET_INTIMATE_NEUTRAL) {
+        bonus2 bAddRace2,RC2_EP172ALPHA,4;
+      }

+ 374 - 38
db/re/quest_db.yml

@@ -1271,9 +1271,15 @@ Body:
   - Id: 3388
     Title: Harvest Festival Sweets Delivery - Standby
     TimeLimit: 4h
+  - Id: 3389
+    Title: Removing Biomagnetic Jamming Chips
+  - Id: 3390
+    Title: Eorpa, The Manager of the Second Power Plant
   - Id: 3391
     Title: Illusion Sprinkled Potato Chips - Standby
     TimeLimit: 4h
+  - Id: 3392
+    Title: Plated Chip Spread by Illusion
   - Id: 3400
     Title: Insect Monster Hunt - Standby
     TimeLimit: 4h
@@ -2918,9 +2924,41 @@ Body:
     Title: Morning's Menu Selection
   - Id: 5871
     Title: Morning's Menu Selection
+  - Id: 5892
+    Title: Cleaning Robot Omega
+  - Id: 5893 
+    Title: Cleaning the Sewage Treatment Plant I
+    Targets:
+      - Mob: EP17_2_VENENUM3
+        Count: 44
+  - Id: 5894
+    Title: Cleaning the Sewage Treatment Plant II
+    Targets:
+      - Mob: EP17_2_CRAMP
+        Count: 44
+  - Id: 5895
+    Title: Cleaning the Sewage Treatment Plant III
+    Targets:
+      - Mob: EP17_2_WATERFALL
+        Count: 44
   - Id: 5896
     Title: "[Waiting] Cleaning the sewage treatment plant."
     TimeLimit: 4h
+  - Id: 5897
+    Title: Cleaning the First Power Plant I
+    Targets:
+      - Mob: EP17_2_BELLARE3
+        Count: 44
+  - Id: 5898
+    Title: Cleaning the First Power Plant II
+    Targets:
+      - Mob: EP17_2_DOLOR3
+        Count: 44
+  - Id: 5899
+    Title: Cleaning the First Power Plant III
+    Targets:
+      - Mob: EP17_2_PLASMA_Y
+        Count: 44
   - Id: 5900
     Title: "[Waiting] Cleaning the first power plant."
     TimeLimit: 4h
@@ -5816,9 +5854,59 @@ Body:
   - Id: 8583
     Title: SACOM's performance analysis - Standby
     TimeLimit: 4h
+  - Id: 8586
+    Title: Keeping Breeding Ground
   - Id: 8587
     Title: Daily farm experience - Standby
     TimeLimit: 4h
+  - Id: 8588
+    Title: Tail Collection
+    Drops:
+      - Mob: MD_PITAYA_R
+        Item: PITAYA_TAIL_R
+        Rate: 1500
+      - Mob: MD_PITAYA_B
+        Item: PITAYA_TAIL_B
+        Rate: 1500
+      - Mob: MD_PITAYA_G
+        Item: PITAYA_TAIL_G
+        Rate: 1500
+      - Mob: MD_PITAYA_Y
+        Item: PITAYA_TAIL_Y
+        Rate: 1500
+      - Mob: MD_PITAYA_V
+        Item: PITAYA_TAIL_P
+        Rate: 1500
+      - Mob: MD_PITAYA_BOSS
+        Item: PITAYA_TAIL_BOSS
+        Rate: 1500
+  - Id: 8589
+    Title: It's Boss Meow!
+  - Id: 8590
+    Title: Play with the Red Pitaya
+    Targets:
+      - Mob: EP17_2_PITAYA_R
+        Count: 20
+  - Id: 8591
+    Title: Play with the Yellow Pitaya
+    Targets:
+      - Mob: EP17_2_PITAYA_Y
+        Count: 20
+  - Id: 8592
+    Title: Play with the Blue Pitaya
+    Targets:
+      - Mob: EP17_2_PITAYA_B
+        Count: 20
+  - Id: 8593
+    Title: Play with the Purple Pitaya
+    Targets:
+      - Mob: EP17_2_PITAYA_V
+        Count: 20
+  - Id: 8594
+    Title: Play with the Green Pitaya
+    Targets:
+      - Mob: EP17_2_PITAYA_G
+        Count: 20
   - Id: 8595
     Title: Playing with Pitaya - Standby
     TimeLimit: 4h
@@ -7662,12 +7750,63 @@ Body:
   - Id: 11614
     Title: How many octopus can I eat? (Standby)
     TimeLimit: 4h
+  - Id: 11615
+    Title: Sewer Pipe Straggler
+  - Id: 11616
+    Title: Sewer Pipe Straggler
+  - Id: 11617
+    Title: Sewer Pipe Straggler
+  - Id: 11618
+    Title: Sewer Pipe Straggler
+  - Id: 11620
+    Title: Sewer Pipe Straggler
+  - Id: 11621
+    Title: Be quiet in the Library!
+  - Id: 11622
+    Title: Be quiet in the Library!
+  - Id: 11623
+    Title: Be quiet in the Library!
+  - Id: 11624
+    Title: Be quiet in the Library!
+  - Id: 11625
+    Title: Be quiet in the Library!
+  - Id: 11626
+    Title: Be quiet in the Library!
+  - Id: 11627
+    Title: Be quiet in the Library!
+  - Id: 11628
+    Title: Be quiet in the Library!
+  - Id: 11629
+    Title: Be quiet in the Library!
+  - Id: 11630
+    Title: Be quiet in the Library!
+  - Id: 11631
+    Title: Be quiet in the Library!
+  - Id: 11632
+    Title: Be quiet in the Library!
+  - Id: 11633
+    Title: Be quiet in the Library!
+  - Id: 11634
+    Title: Hunting Bookworm
+    Targets:
+      - Mob: EP17_2_BOOKWORM
+        Count: 20
   - Id: 11635
-    Title: The ultimate bookworm hunt
+    Title: Hunting Bookworm - Waiting
     TimeLimit: 4h
+  - Id: 11636
+    Title: Hunting Roaming Spellbook
+    Targets:
+      - Mob: EP17_2_ROAMING_SPLBOOK
+        Count: 20
   - Id: 11637
-    Title: The ultimate rule
+    Title: Hunting Roaming Spellbook - Waiting
     TimeLimit: 4h
+  - Id: 11638
+    Title: Ultimate Scrap Metal Collection
+    Targets:
+      - Mob: EP17_2_GUARDIAN_PARTS
+        Count: 20
   - Id: 11639
     Title: The ultimate collection of scrap metal
     TimeLimit: 4h
@@ -8698,9 +8837,21 @@ Body:
   - Id: 12496
     Title: Waiting for permission to enter the flower garden
     TimeLimit: +1h
+  - Id: 12497
+    Title: Security Clearance
   - Id: 12498
-    Title: Waiting for permission to enter the security zone
+    Title: Security Clearance - Waiting
     TimeLimit: 4h
+  - Id: 12499
+    Title: Red Pepper - Kappa Suppression
+    Targets:
+      - Mob: MD_REDPEPPER
+        Count: 1
+  - Id: 12500
+    Title: Red Pepper - Lambda Suppression
+    Targets:
+      - Mob: MD_REDPEPPER_H
+        Count: 1
   - Id: 12506
     Title: Let's try again to seal the crack
     TimeLimit: 4h
@@ -10698,18 +10849,73 @@ Body:
   - Id: 16414
     Title: Happy Cuppet Walk-Wait
     TimeLimit: 4h
+  - Id: 16427
+    Title: Poisoning
+  - Id: 16428
+    Title: Making the Antidote
+  - Id: 16429
+    Title: Silva Papila
+    Targets:
+      - Mob: MD_SILVA_PAPILIA
+        Count: 1
+  - Id: 16430
+    Title: Completion of the Antidote
+  - Id: 16431
+    Title: Hunting Silva Papila
+    Targets:
+      - Mob: MD_SILVA_PAPILIA
+        Count: 1
   - Id: 16432
-    Title: Silva Papilia Hunt-Standby
+    Title: Hunting Silva Papila - Waiting
     TimeLimit: 4h
+  - Id: 16433
+    Title: Hunting Senior Papila
+    Targets:
+      - Mob: MD_GRAN_PAPILIA
+        Count: 1
   - Id: 16434
-    Title: Grand Papelia Hunting-Standby
+    Title: Hunting Senior Papila - Waiting
     TimeLimit: 4h
+  - Id: 16435
+    Title: Searching for Gardener
   - Id: 16436
-    Title: Search-wait for gardeners
+    Title: Searching for Gardener - Waiting
     TimeLimit: 4h
+  - Id: 16437
+    Title: Water Garden
+  - Id: 16438
+    Title: Water Garden Hard
   - Id: 16439
-    Title: Award Garden-Waiting
-    TimeLimit: 4h
+    Title: Water Garden - Waiting
+    TimeLimit: 4h
+  - Id: 16440
+    Title: I would like to know what it is
+  - Id: 16441
+    Title: I would like to know what it is
+  - Id: 16442
+    Title: The story of the managers
+  - Id: 16443
+    Title: The story of the managers
+  - Id: 16444
+    Title: The story of the managers
+  - Id: 16445
+    Title: The story of the managers
+  - Id: 16446
+    Title: I would like to know what it is
+  - Id: 16447
+    Title: I would like to know what it is
+  - Id: 16448
+    Title: I would like to know what it is
+  - Id: 16449
+    Title: I would like to know what it is
+  - Id: 16450
+    Title: I would like to know what it is
+  - Id: 16451
+    Title: I would like to know what it is
+  - Id: 16452
+    Title: I would like to know what it is
+  - Id: 16453
+    Title: I would like to know what it is
   - Id: 16521
     Title: 4th floor of Rudus, an organic field for waste specimens
   - Id: 16522
@@ -10903,21 +11109,136 @@ Body:
   - Id: 17327
     Title: (Standby) Delicious noodles
     TimeLimit: 4h
+  - Id: 17333
+    Title: "Mansion's Guest"
+  - Id: 17334
+    Title: "Repeater Confirmed: Restaurant"
+  - Id: 17335
+    Title: Parts of the repeater
+    Drops:
+      - Mob: EP17_2_BETA_BASIC_NG
+        Item: Autodoll_Communicator
+        Rate: 5000
+  - Id: 17336
+    Title: "Repeater Confirmed: Riverbank"
+  - Id: 17337
+    Title: "Repeater Confirmed: Central Garden"
+  - Id: 17338
+    Title: Repeater confirmation complete
+  - Id: 17339
+    Title: Supply the spare parts
+  - Id: 17340
+    Title: Supply the spare parts
+    Drops:
+      - Mob: EP17_2_BETA_BASIC_NG
+        Item: Autodoll_Communicator
+        Rate: 5000
   - Id: 17341
-    Title: (Standby) No signal
+    Title: No Signal - Waiting
     TimeLimit: 4h
+  - Id: 17342
+    Title: "I don't like it"
+    Targets:
+      - Mob: EP17_2_OMEGA_CLEANER_NG
+        Count: 5
+  - Id: 17343
+    Title: I am scared
+  - Id: 17344
+    Title: I do not have a key
+  - Id: 17345
+    Title: Staircase Key 1
+  - Id: 17346
+    Title: Staircase Key 2
+  - Id: 17347
+    Title: Staircase Key 3
+  - Id: 17348
+    Title: Secure the key
+  - Id: 17349
+    Title: The door opened
+  - Id: 17350
+    Title: Head body arms legs
+  - Id: 17351
+    Title: Head body arms legs
+  - Id: 17352
+    Title: Head body arms legs
+  - Id: 17353
+    Title: Head body arms legs
+  - Id: 17354
+    Title: Head body arms legs
+  - Id: 17355
+    Title: Head body arms legs
+  - Id: 17356
+    Title: Head body arms legs
+  - Id: 17357
+    Title: Head body arms legs
+  - Id: 17358
+    Title: Basement status check completed
+  - Id: 17359
+    Title: Ground warehouse clearance
+    Targets:
+      - Mob: EP17_2_HEART_HUNTER_H
+        Count: 20
   - Id: 17360
-    Title: (Standby) Clean the warehouse floor
+    Title: Ground warehouse clearance - Waiting
     TimeLimit: 4h
+  - Id: 17361
+    Title: Basement warehouse clearance
+    Targets:
+      - Mob: EP17_2_BETA_ITEMKEEPER
+        Count: 20
   - Id: 17362
-    Title: (Standby) Organize the underground warehouse
-    TimeLimit: 4h
+    Title: Basement warehouse clearance - Waiting
+    TimeLimit: 4h
+  - Id: 17363
+    Title: Exploring bathhouse
+  - Id: 17364
+    Title: Request to shut down the boiler
+  - Id: 17365
+    Title: "Is it already stopped?"
+  - Id: 17366
+    Title: "All of a sudden?"
+  - Id: 17367
+    Title: Countermeasure preparations
+  - Id: 17368
+    Title: Trap installation 1
+  - Id: 17369
+    Title: Trap installation 2
+  - Id: 17370
+    Title: Trap installation 3
+  - Id: 17371
+    Title: Trap installation 4
+  - Id: 17372
+    Title: Trap installation complete
+  - Id: 17373
+    Title: "Anyway, let's talk"
+  - Id: 17374
+    Title: "Why on earth did you do that?"
+  - Id: 17375
+    Title: "Boiler's request"
+  - Id: 17376
+    Title: Between hot and cold baths
+    Targets:
+      - Mob: EP17_2_BETA_CLEANER_A
+        Count: 10
+      - Mob: EP17_2_BETA_CLEANER_B
+        Count: 10
   - Id: 17377
-    Title: (Standby) Between hot and cold baths
+    Title: Between hot and cold baths - Waiting
     TimeLimit: 4h
+  - Id: 17378
+    Title: "Sweepy's request"
+  - Id: 17379
+    Title: "I'm cleaning the bathhouse"
+    Targets:
+      - Mob: EP17_2_MARC
+        Count: 15
+      - Mob: EP17_2_PIRANHA
+        Count: 15
   - Id: 17380
-    Title: (Standby) I'm cleaning the bathhouse
+    Title: Cleaning the bathhouse - Waiting
     TimeLimit: 4h
+  - Id: 17381
+    Title: Joining the company
   - Id: 17388
     Title: (Standby) There's still cold air left
     TimeLimit: 4h
@@ -10957,54 +11278,69 @@ Body:
   - Id: 18000
     Title: Ready to enter
   - Id: 18001
-    Title: Delivery for Rooney
+    Title: Mansion Sewer
   - Id: 18002
-    Title: Delivery for Rooney
+    Title: Broken core collection
   - Id: 18003
-    Title: Delivery for Rooney
+    Title: Broken Core 01
   - Id: 18004
-    Title: Lasda's Request
+    Title: Broken Core 02
   - Id: 18005
-    Title: Jesse's Request
+    Title: Broken Core 03
   - Id: 18006
-    Title: Sir Krieg's Approval
+    Title: Broken Core 04
   - Id: 18007
-    Title: Sir Krieg's Trust
+    Title: Broken Core 05
   - Id: 18008
-    Title: Sir Krieg's Trust
+    Title: Broken Core 06
   - Id: 18009
-    Title: Into the prison
+    Title: Broken Core 07
   - Id: 18010
-    Title: Jail Break
+    Title: Broken Core 08
   - Id: 18011
-    Title: Bodyguard work
+    Title: Broken Core 09
   - Id: 18012
-    Title: Bodyguard work
+    Title: Broken Core 10
   - Id: 18013
-    Title: Bodyguard work
+    Title: To the designated point
   - Id: 18014
-    Title: Bodyguard work
+    Title: Unexpected big fish
   - Id: 18015
-    Title: Bodyguard work
+    Title: Tracking Illusion
   - Id: 18016
-    Title: Bodyguard work
+    Title: Strategy planning
   - Id: 18017
-    Title: Jail Break
+    Title: Pest Extermination
+    Targets:
+      - Mob: MD_SWEETY
+        Count: 1
   - Id: 18018
-    Title: Jail Break
+    Title: To the non-official lounge
   - Id: 18019
-    Title: Vitre's Songs
+    Title: Conversation with Sweetie
   - Id: 18020
-    Title: Vitre's Songs
+    Title: Greeting
   - Id: 18021
-    Title: Vitre's Songs
+    Title: A guest
   - Id: 18022
-    Title: Vitre's Songs
+    Title: Hey! Sweetie
+    Targets:
+      - Mob: MD_SWEETY
+        Count: 1
   - Id: 18023
-    Title: Vitre the Spy
+    Title: Hey! Sweetie - Waiting
     TimeLimit: 4h
+  - Id: 18024
+    Title: Core collection
+    Drops:
+      - Mob: G_EP17_2_HEART_HUNTER
+        Item: Broken_Dollcore
+        Rate: 5000
+      - Mob: G_BELLARE3
+        Item: Broken_Dollcore
+        Rate: 5000
   - Id: 18025
-    Title: Collecting cores - Standby
+    Title: Core collection - Waiting
     TimeLimit: 4h
   - Id: 18028
     Title: The Memory of Thanatos the Magistrate - Waiting

+ 1 - 1
doc/item_bonus.txt

@@ -30,7 +30,7 @@ This list contains all available constants referenced in the 'bonus' commands.
 	RC2_Treasure, RC2_BioLab, RC2_Manuk, RC2_Splendide, RC2_Scaraba, RC2_OGH_ATK_DEF, RC2_OGH_Hidden,
 	RC2_Bio5_Swordman_Thief, RC2_Bio5_Acolyte_Merchant, RC2_Bio5_Mage_Archer, RC2_Bio5_MVP,
 	RC2_Clocktower, RC2_Thanatos, RC2_Faceworm, RC2_Hearthunter, RC2_Rockridge, RC2_Werner_Lab,
-	RC2_Temple_Demon, RC2_Illusion_Vampire, RC2_Malangdo
+	RC2_Temple_Demon, RC2_Illusion_Vampire, RC2_Malangdo, RC2_EP172ALPHA, RC2_EP172BETA, RC2_EP172BATH
 
 * Class (c)
 	Class_Normal, Class_Boss, Class_Guardian, Class_All

+ 3 - 0
doc/yaml/sql/mob_db.sql

@@ -57,6 +57,9 @@ CREATE TABLE `mob_db` (
   `racegroup_temple_demon` tinyint(1) unsigned DEFAULT NULL,
   `racegroup_illusion_vampire` tinyint(1) unsigned DEFAULT NULL,
   `racegroup_malangdo` tinyint(1) unsigned DEFAULT NULL,
+  `racegroup_ep172alpha` tinyint(1) unsigned DEFAULT NULL,
+  `racegroup_ep172beta` tinyint(1) unsigned DEFAULT NULL,
+  `racegroup_ep172bath` tinyint(1) unsigned DEFAULT NULL,
   `element` varchar(24) DEFAULT NULL,
   `element_level` tinyint(4) unsigned DEFAULT NULL,
   `walk_speed` smallint(6) unsigned DEFAULT NULL,

+ 3 - 0
doc/yaml/sql/mob_db2.sql

@@ -57,6 +57,9 @@ CREATE TABLE `mob_db2` (
   `racegroup_temple_demon` tinyint(1) unsigned DEFAULT NULL,
   `racegroup_illusion_vampire` tinyint(1) unsigned DEFAULT NULL,
   `racegroup_malangdo` tinyint(1) unsigned DEFAULT NULL,
+  `racegroup_ep172alpha` tinyint(1) unsigned DEFAULT NULL,
+  `racegroup_ep172beta` tinyint(1) unsigned DEFAULT NULL,
+  `racegroup_ep172bath` tinyint(1) unsigned DEFAULT NULL,
   `element` varchar(24) DEFAULT NULL,
   `element_level` tinyint(4) unsigned DEFAULT NULL,
   `walk_speed` smallint(6) unsigned DEFAULT NULL,

+ 3 - 0
doc/yaml/sql/mob_db2_re.sql

@@ -59,6 +59,9 @@ CREATE TABLE `mob_db2_re` (
   `racegroup_temple_demon` tinyint(1) unsigned DEFAULT NULL,
   `racegroup_illusion_vampire` tinyint(1) unsigned DEFAULT NULL,
   `racegroup_malangdo` tinyint(1) unsigned DEFAULT NULL,
+  `racegroup_ep172alpha` tinyint(1) unsigned DEFAULT NULL,
+  `racegroup_ep172beta` tinyint(1) unsigned DEFAULT NULL,
+  `racegroup_ep172bath` tinyint(1) unsigned DEFAULT NULL,
   `element` varchar(24) DEFAULT NULL,
   `element_level` tinyint(4) unsigned DEFAULT NULL,
   `walk_speed` smallint(6) unsigned DEFAULT NULL,

+ 3 - 0
doc/yaml/sql/mob_db_re.sql

@@ -59,6 +59,9 @@ CREATE TABLE `mob_db_re` (
   `racegroup_temple_demon` tinyint(1) unsigned DEFAULT NULL,
   `racegroup_illusion_vampire` tinyint(1) unsigned DEFAULT NULL,
   `racegroup_malangdo` tinyint(1) unsigned DEFAULT NULL,
+  `racegroup_ep172alpha` tinyint(1) unsigned DEFAULT NULL,
+  `racegroup_ep172beta` tinyint(1) unsigned DEFAULT NULL,
+  `racegroup_ep172bath` tinyint(1) unsigned DEFAULT NULL,
   `element` varchar(24) DEFAULT NULL,
   `element_level` tinyint(4) unsigned DEFAULT NULL,
   `walk_speed` smallint(6) unsigned DEFAULT NULL,

+ 2211 - 0
npc/re/instances/HiddenGarden.txt

@@ -0,0 +1,2211 @@
+//===== rAthena Script =======================================
+//= Hidden Flower Garden
+//===== Description: =========================================
+//= [Walkthrough Conversion]
+//= Episode 17.2 Hidden Flower Garden
+//= Episode 17.2 Security Area 1 & 2
+//= Note:
+// - NPC_LOCKON_LASER skill is currently no implemented.
+//===== Changelog: ===========================================
+//= 1.0 Initial release [crazyarashi]
+//= 1.1 Optimizations and cleanup [Everade]
+//= 1.2 Cleanup [Capuche]
+//============================================================
+
+ba_maison,120,320,0	script	#herbs_chk	HIDDEN_WARP_NPC,3,3,{
+	end;
+OnTouch:
+	//You can start this quest without registering on alpha
+	if (isbegin_quest(12497) == 0) {	// story
+		cloakoffnpcself( "#he_admin1" );
+		specialeffect EF_WHITEBODY, AREA, "#he_admin1";
+		npctalk "Stand back from the perimeter of the security area. Outsiders are prohibited from accessing it.", "#he_admin1", bc_self;
+		end;
+	}
+	// daily
+	cloakoffnpcself( "#he_admin2" );
+	specialeffect EF_WHITEBODY, AREA, "#he_admin2";
+	end;
+}
+
+ba_maison,120,321,5	script(CLOAKED)	#he_admin1	MD_ASSISTANT,{
+	if (ep17_2_main < 1)
+		end;
+	mes "[Flower Garden Manager]";
+	mes "An unregistered guest has been detected.";
+	next;
+	.@party_id = getcharid(1);
+	if (!is_party_leader()) {
+		mes "[Flower Garden Manager]";
+		mes "You cannot proceed to the next step, if you do not have the authority of the party leader.";
+		close;
+	}
+	.@party_name$ = getpartyname(.@party_id);
+	mes "[Flower Garden Manager]";
+	mes "If you're an administrator who lost authority, you can get the authority reissued through an authentication procedure.";
+	next;
+	.@md_name$ = "Hidden Flower Garden";
+
+	if (instance_live_info(ILI_NAME,instance_id(IM_PARTY)) == .@md_name$)
+		.@menu$ = "^FF0000Enter^000000";
+
+	switch( select( "Quit and Stand Back.", "Authenticate Identity", .@menu$ ) ) {
+	case 1:
+		mes "[Flower Garden Manager]";
+		mes "A wise choice.";
+		close;
+	case 2:
+		if (instance_create(.@md_name$) == -3)
+			dispbottom "The reservation of the instance '" + .@md_name$ + "' has failed due to an active instance.";
+		end;
+	case 3:
+		if (!is_party_leader()) {	// shouldn't happen
+			mes "[Flower Garden Manager]";
+			mes "You cannot proceed to the next step, if you do not have the authority of the party leader.";
+			close;
+		}
+		if (instance_enter(.@md_name$) != IE_OK) {
+			mes "[Flower Garden Manager]";
+			mes "You can only move to the place when the party manager has completed all permits. Please re-check your issued access area.";
+			close;
+		}
+		mapannounce "ba_maison", "" + strcharinfo(0) + " of the party, " + .@party_name$ + ", is entering the " + .@md_name$ + ".", bc_map, "0x00FF99";
+		end;
+	}
+	end;
+}
+
+ba_maison,120,321,5	script(CLOAKED)	#he_admin2	MD_ASSISTANT,{
+	if (ep17_2_main < 1)
+		end;
+	if (isbegin_quest(12497) != 2)
+		end;
+	switch( checkquest(12498,PLAYTIME) ) {
+	case -1:
+		break;
+	case 0:
+	case 1:
+		mes "[Flower Garden Manager]";
+		mes "You just entered the security area.";
+		mes "Please rest your body for a day as Sigma ordered.";
+		close;
+	case 2:
+		erasequest 12498;
+		break;
+	}
+	mes "[Flower Garden Manager]";
+	mes "Your identity been identified. You may enter the security area. How may I help you?";
+	next;
+	if (BaseLevel >= 150)
+		.@menu$[0] = "1st Security Zone.";
+	if (BaseLevel >= 180)
+		.@menu$[1] = "^FF00002nd Security Zone.^000000";
+
+	switch( select( "Stand back.", "Identity Authentication", "Enter Zone" ) ) {
+	case 1:
+		mes "[Flower Garden Manager]";
+		mes "Alright.";
+		close;
+	case 2:
+		switch( select( "Stand back.", .@menu$[0], .@menu$[1] ) ) {
+		case 1:
+			mes "[Flower Garden Manager]";
+			mes "Alright.";
+			close;
+		case 2:
+			.@md_name$ = "Security Area 1";
+			break;
+		case 3:
+			.@md_name$ = "Security Area 2";
+			break;
+		}
+		if (!is_party_leader()) {
+			mes "[Flower Garden Manager]";
+			mes "Only the party leader can start the identity verification. Let's leave it up to person in charge.";
+			close;
+		}
+		if (instance_create(.@md_name$) == -3)
+			dispbottom "The reservation of the instance '" + .@md_name$ + "' has failed due to an active instance.";
+		end;
+	case 3:
+		switch( select( .@menu$[0], .@menu$[1] ) ) {
+		case 1:
+			.@md_name$ = "Security Area 1";
+			.@qid = 12499;
+			.@qid2 = 12500;
+			break;
+		case 2:
+			.@md_name$ = "Security Area 2";
+			.@qid = 12500;
+			.@qid2 = 12499;
+			break;
+		}
+		if (instance_enter(.@md_name$) != IE_OK) {
+			mes "[Flower Garden Manager]";
+			mes "You can only move to the place when the party manager has completed all permits. Please re-check your issued access area.";
+			close;
+		}
+		setquest 12498;
+		if (isbegin_quest(.@qid) > 0)
+			erasequest .@qid;
+		if (isbegin_quest(.@qid2) > 0)
+			erasequest .@qid2;
+		setquest .@qid;
+		mapannounce "ba_maison", "" + strcharinfo(0) + " of the party, " + getpartyname( getcharid(1) ) + ", is entering the " + .@md_name$ + ".", bc_map, "0x00FF99";
+		end;
+	}
+	end;
+}
+
+
+1@herbs,1,1,0	script	#hidden_flower_garden_control	-1,{
+	end;
+OnInstanceInit:
+	'map_herbs$ = instance_mapname("1@herbs");
+
+	// story
+	'action = 0;
+	'pimp = 0;
+	'guard_count = 0;
+	'hidden_garden = 0;
+	'npc_is_talking = false;
+
+	// daily
+	'room = 0;
+	deletearray 'spawn_mobs;
+	deletearray 'summon;
+	end;
+}
+
+1@herbs,56,278,4	script	#BMD000001	4_SYS_MSG,{
+	if ('npc_is_talking)
+		end;
+	if ('hidden_garden == 0) {
+		mes "It appears to be a hologram of an automatic doll. You can see a strange glass on the middle panel with the word ^0000FF[Enter the pattern on the touch screen]^000000 and other several buttons.";
+		while(1) {
+			next;
+			if (select( "Leave it alone", "Touch the screen", .@menu$ ) == 1) {
+				mes "The hologram faded.";
+				close;
+			}
+			specialeffect EF_AGIUP2;
+			progressbar_npc "3131FF",1;
+			if (.@menu$ != "" || rand(1,5) == 1)
+				break;
+			specialeffect EF_HALLUTIME;
+			mes "^FF0000ERROR^000000";
+			mes "^FF0000Pattern does not match.^000000";
+			.@menu$ = "^FF0000Try entering a different pattern^000000";
+		}
+		specialeffect EF_GUARD4;
+		mes "^0000FFPattern recognized.^000000";
+		mes "Running the sleep mode release protocol. Pattern input by ^0000CD" + strcharinfo(0) + "^000000 has been recognized.";
+		close2;
+		'admin$ = strcharinfo(0);
+		donpcevent instance_npcname("#BMD000001") + "::OnTalk01";
+		end;
+	}
+	if ('hidden_garden == 1) {
+		removespecialeffect EF_MARKING_USE_CHANGEMONSTER;
+		setpcblock PCBLOCK_NPC, true;
+		npctalk "I'm an automatic doll that was designed to work only if your mana synchronizes with Varmundt's mana over a certain level.";
+		sleep2 5000;
+		npctalk "[" + 'admin$ + "]" + " has a 73.6% mana similarity to that of Varmundt. Who exactly are you [" + 'admin$ + "]?";
+		sleep2 5000;
+		setpcblock PCBLOCK_NPC, false;
+		select("An adventurer who stumbled upon this place");
+		setpcblock PCBLOCK_NPC, true;
+		npctalk "It's strange. I've never seen an outsider with a mana pattern that matches more than 70% to that of Varmundt's.";
+		sleep2 5000;
+		setpcblock PCBLOCK_NPC, false;
+		.@s = select( "I had the opportunity to meet Varmundt before.", "I don't know why." );
+		setpcblock PCBLOCK_NPC, true;
+		sleep2 1000;
+		if (.@s == 1) {
+			npctalk "There is a possibility that you have a similar mana pattern due to frequent contact with him in any form.";
+			sleep2 5000;
+		}
+		while(1) {
+			npctalk "Okay. From now on, I will set [" + 'admin$ + "] as our temporary administrator and take action accordingly. Do you agree?";
+			sleep2 5000;
+			setpcblock PCBLOCK_NPC, false;
+			switch( select( "I'm a temporary administrator? Why should I?", "Refuse!", "Sure" ) ) {
+			case 1:
+				setpcblock PCBLOCK_NPC, true;
+				sleep2 1000;
+				npctalk "The automatic dolls maintain the flower garden and perform their given duties individually.";
+				sleep2 5000;
+				npctalk "While Master Varmundt was still present, the progress of duties was checked in the form of individual reports and weekly on-site evaluations.";
+				sleep2 5000;
+				npctalk "Currently, Master Varmundt has been away for over 1 million hours.";
+				sleep2 5000;
+				npctalk "Although you are not Master Varmundt, as someone who has more than 70% similarity to his mana pattern, I would like to ask you to evaluate our duties.";
+				sleep2 5000;
+				npctalk "Please understand that it's a necessary management to prevent our duties from falling into the wrong path.";
+				continue;
+			case 2:
+				sleep2 1000;
+				npctalk "I will wait until you give me your permission.";
+				specialeffect EF_MARKING_USE_CHANGEMONSTER;
+				setpcblock PCBLOCK_NPC, false;
+				end;
+			case 3:
+				break;
+			}
+			break;
+		}
+		setpcblock PCBLOCK_NPC, true;
+		sleep2 1000;
+		npctalk "Thank you for your permission. From now on, I'll treat [" + 'admin$ + "] as a temporary administrator.";
+		sleep2 5000;
+		npctalk "First select a code name that will be used to control this automatic doll. Some of the names that were preferred in the past are randomly selected.";
+
+		setarray .@names$[0],"Lisa","Barbara","Jennifer","Dorothy","Jun","Yeongchun","Susan","Martha","Hannah","Helen","Chunja","Karen","How do I stop this?";
+		.@size = getarraysize(.@names$);
+		.@menu$[0] = "Quit";	// note: script continues regardless of the selection
+		for ( .@i = 1; .@i < 4; ++.@i ) {
+			.@r = rand(.@size);
+			.@menu$[.@i] = .@names$[.@r];
+			deletearray .@names$[.@r],1;
+			.@size--;
+		}
+		setpcblock PCBLOCK_NPC, false;
+		.@s = select( .@menu$[0], .@menu$[1], .@menu$[2], .@menu$[3] ) - 1;
+		setpcblock PCBLOCK_NPC, true;
+		.@guide_name$ = .@menu$[.@s];
+		.@guide_id = getnpcid(0, instance_npcname("#BMD000001"));
+
+		npctalk "Order has been received.";
+		sleep2 3000;
+		npctalk "The code name of the automatic doll BMD000001 is [" + .@guide_name$ + "].";
+		sleep2 5000;
+		npctalk "We will start the on-site inspection of the garden based on the temporary administrator response protocol.";
+		sleep2 5000;
+		if ('hidden_garden == 1) {
+			'guide_id = .@guide_id;
+			'guide_name$ = .@guide_name$;
+			'hidden_garden = 2;
+			disablenpc instance_npcname("#mc_device");
+			setpcblock PCBLOCK_NPC, false;
+			npctalk "Please watch your step and follow me.";
+			npcspeed 200;
+			unitwalk 'guide_id,63,290, instance_npcname("#BMD000001") + "::OnEvent01";
+		}
+		end;
+	}
+	if ('hidden_garden == 3) {
+		removespecialeffect EF_MARKING_USE_CHANGEMONSTER;
+		mes "[" + 'guide_name$ + "]";
+		mes "Please evaluate the landscape, water quality, and other overall layout of the garden.";
+		next;
+		while(true) {
+			switch( select( "Hold on.", "It's a beautiful place.", "I wish there were more trees.", "Why is it surrounded by water?" ) ) {
+			case 1:
+				npctalk "I'll stop the guide. Automatic dolls and objects that has not been inspected and evaluated by the Automatic Doll [" + 'guide_name$ + "] are not allowed to go outside.";
+				end;
+			case 2:
+				npctalk "Then, it has been determined that this place management has met its conditions.";
+				break;
+			case 3:
+				'trees = 1;
+				npctalk "Understood, we will add more trees in the future.";
+				break;
+			case 4:
+				npctalk "Because this is a water garden, the area is surrounded by water.";
+				sleep2 5000;
+				npctalk "Changing to a non-water garden can not be accepted, as it is an area beyond Varmundt's taste.";
+				break;
+			}
+			break;
+		}
+		'hidden_garden = 4;
+		unitwalk 'guide_id,63,288, instance_npcname("#BMD000001") + "::OnEvent02";
+		end;
+	}
+	end;
+
+OnTalk01:
+	'npc_is_talking = true;
+	npctalk "This product is an automatic doll that serves as a guide for the flower garden with a serial number BMD000001.";
+	sleep 5000;
+	npctalk "The similarity check to Varmundt's mana pattern is at 73.6%. Switching to flower garden guide mode.";
+	sleep 5000;
+	npctalk "Operation will begin in 3 seconds.";
+	progressbar_npc "3131FF",3;
+	setnpcdisplay instance_npcname("#BMD000001"),20622;	// MD_ASSISTANT
+	specialeffect EF_FLOWERCAST;
+	npctalk "Sleep mode release protocol has been completed. I will check if the master, Varmundt is nearby in addition to the recognized target.";
+	sleep 5000;
+	npctalk "Searching......";
+	progressbar_npc "3131FF",3;
+	sleep 1000;
+	npctalk "Master Varmundt is not detected within the network.";
+	specialeffect EF_MARKING_USE_CHANGEMONSTER;
+	if ('hidden_garden == 0)
+		'hidden_garden = 1;
+	'npc_is_talking = false;
+	end;
+
+OnEvent01:
+	npctalk "You can start the evaluation from the entrance of this garden.";
+	sleep 3000;
+	npctalk "Objective evaluation reduces the working errors of the automatic dolls that manage this place and helps them perform their duties close to perfection.";
+	sleep 6000;
+	npctalk "[" + 'admin$ + "]. Please use the authority of the temporary administrator to determine whether the garden duties is being faithfully carried out.";
+	sleep 6000;
+	'hidden_garden = 3;
+	specialeffect EF_MARKING_USE_CHANGEMONSTER;
+	end;
+
+OnEvent02:
+	if (!'trees) {
+		sleep 5000;
+		npctalk "We have satisfied the criteria of the temporary administrator [" + 'admin$ + "] and will maintain the current management routine as it is.";
+	}
+	sleep 5000;
+	npctalk "[" + 'admin$ + "], I'd like to request for you to continue the on-site inspection for the remaining sections.";
+	unitwalk 'guide_id,82,300, instance_npcname("#BMD000001") + "::OnEvent03";
+	end;
+
+OnEvent03:
+	npctalk "There is no bridge that connects the sections here.";
+	sleep 6000;
+	npctalk "Since Varmundt was a person who can move regardless of the terrain, we did not install a separate structure for normal people during the creation of the flower garden.";
+	sleep 6000;
+	npctalk "However, considering the temporary administrator's insufficient ability, I will support the space leap services.";
+	sleep 6000;
+	enablenpc instance_npcname("#BMD000002");
+	enablenpc instance_npcname("#carota");
+	instance_warpall 'map_herbs$,111,275,instance_id();
+	sleep 1000;
+	removespecialeffect EF_MARKING_USE_CHANGEMONSTER, AREA, instance_npcname("#BMD000002");
+	specialeffect EF_MARKING_USE_CHANGEMONSTER, AREA, instance_npcname("#BMD000002");
+	disablenpc instance_npcname("#BMD000001");
+	end;
+}
+
+1@herbs,56,278,4	duplicate(dummy_npc)	#mc_device	1_SHADOW_NPC
+
+
+1@herbs,110,275,4	script(DISABLED)	#BMD000002	MD_ASSISTANT,3,3,{
+	if ('hidden_garden == 4) {
+		removespecialeffect EF_MARKING_USE_CHANGEMONSTER;
+		'hidden_garden = 5;
+		npctalk "Master Varmundt gave each of the automatic dolls a research project.";
+		sleep 5000;
+		npctalk "However, the purpose of the research is not available to us dolls, we have to decide on our own what to do with it in the future.";
+		sleep 5000;
+		npctalk "The flower garden is divided into several research sectors and each sector has a different subject as a project.";
+		npcspeed 200;
+		'guide_id = getnpcid(0, instance_npcname("#BMD000002"));
+		unitwalk 'guide_id,124,275, instance_npcname("#BMD000002") + "::OnEvent00";
+		end;
+	}
+	end;
+
+OnEvent00:
+	unitwalk 'guide_id,124,281, instance_npcname("#BMD000002") + "::OnEvent01";
+	end;
+
+OnEvent01:
+	unitwalk 'guide_id,125,280, instance_npcname("#BMD000002") + "::OnEvent02";
+	npctalk "Among the research sectors, this sector is a place to grow a plant called Turnip under the orders of Varmundt.";
+	end;
+
+OnEvent02:
+	unitwalk 'guide_id,137,280, instance_npcname("#BMD000002") + "::OnEvent03";
+	end;
+
+OnEvent03:
+	unitwalk 'guide_id,137,276, instance_npcname("#BMD000002") + "::OnEvent04";
+	end;
+
+OnEvent04:
+	sleep 3000;
+	npctalk "Let me introduce the automatic doll model CAROTA-88.";
+	sleep 4000;
+	npctalk "......";
+	sleep 2000;
+	npctalk "[Error: CAROTA-88 is out of control range. Need to track corresponding object coordinates.]";
+	sleep 5000;
+	npctalk "[Tracking coordinates...]";
+	progressbar_npc "3131FF",4;
+	npctalk "CAROTA-88. Please return to your original location as soon as possible. Don't forget that I can use force when needed.";
+	'carota = getnpcid(0, instance_npcname("#carota"));
+	donpcevent instance_npcname("#carota") + "::OnAction";
+	end;
+
+OnEvent05:
+	npctalk "Let's move on to the next section.", instance_npcname("#BMD000002");
+	'hidden_garden = 7;
+	sleep 2000;
+	enablenpc instance_npcname("#BMD000003");
+	enablenpc instance_npcname("#pimp25");
+	donpcevent instance_npcname("#pimp25") + "::OnWalk";
+	instance_warpall 'map_herbs$,254,282,instance_id();
+	sleep 1000;
+	removespecialeffect EF_MARKING_USE_CHANGEMONSTER, AREA, instance_npcname("#BMD000003");
+	specialeffect EF_MARKING_USE_CHANGEMONSTER, AREA, instance_npcname("#BMD000003");
+	disablenpc();
+	end;
+
+OnTouch:
+	if ('hidden_garden == 4) {
+		removespecialeffect EF_MARKING_USE_CHANGEMONSTER;
+		specialeffect EF_MARKING_USE_CHANGEMONSTER;
+	}
+	end;
+}
+
+1@herbs,137,269,4	script(DISABLED)	#carota	CLEAR_NPC,3,3,{
+	if ('npc_is_talking)
+		end;
+	if ('hidden_garden == 6) {
+		removespecialeffect EF_MARKING_USE_CHANGEMONSTER;
+		select("Report your work details.");
+		setpcblock PCBLOCK_NPC, true;
+		sleep2 1000;
+		npctalk "Master Varmundt. No further instructions after entering Turnip's biological data . This automatic doll unattended.";
+		sleep2 5000;
+		npctalk "No further indications for 5076 hours. This automatic doll's AI collects network information about turnips.";
+		sleep2 5000;
+		npctalk "Obtaining information of edible plants. Finding ancient record of turnip cultivation.";
+		sleep2 5000;
+		npctalk "Optimized germination, growth and sowing of turnips for about 18816 hours compared and recorded.";
+		sleep2 5000;
+		npctalk "Over million hours passed. Collect data on cultivation and harvest of Turnips. a collection of information on breeding method.";
+		sleep2 5000;
+		npctalk "2 ton yield per year. 99.9% success pest control prevention. 0.2% loss due to physical work errors.";
+		sleep2 5000;
+		npctalk "Turnips from flower garden. Sold at an excellent price in a nearby big city. Contributing to maintenance costs for flower gardens and mansions.";
+		sleep2 5000;
+		setpcblock PCBLOCK_NPC, false;
+		npctalk "Whether the research mission direction of this automatic doll should be improved, continued, or discarded. Waiting for the administrator's decision.";
+		mes "^0000AAEvaluate CAROTA-88's work to date.^000000";
+		next;
+		if (select( "The product is full and good shape.", "Improve breeding.", "It's just farming, so everything is good." ) == 3)
+			'talk_bool = true;
+		else
+			'talk_bool = false;
+		close2;
+		donpcevent instance_npcname("#carota") + "::OnTalk01";
+		end;
+	}
+	end;
+
+OnTalk01:
+	'npc_is_talking = true;
+	sleep 1000;
+	npctalk "Evaluation received...";
+	sleep 5000;
+	if ('talk_bool) {
+		npctalk "CAROTA-88 received confirmation from administrator that Varmundt instructions were performed perfectly.";
+		sleep 3000;
+		emotion ET_DELIGHT;
+		sleep 2000;
+		npctalk "Existing work routine will be repeated until further orders are issued.";
+	}
+	else {
+		npctalk "Learning more breeding method.";
+		sleep 3000;
+		emotion ET_DELIGHT;
+		sleep 2000;
+		npctalk "I will actively increase the portion of experiments on improved product seeds that were to be discarded.";
+	}
+	sleep 5000;
+	npctalk "Thank you, [" + 'admin$ + "] for responding to the evaluation.";
+	sleep 5000;
+	if ('talk_bool)
+		npctalk "Automatic doll entering control mode to eradicate underground moles. Goodbye.";
+	else
+		npctalk "I'll move to the basement storage to check for new breeds.";
+	progressbar_npc "3131FF",4;
+	disablenpc();
+	npctalk "CAROTA-88 shows a non-logical response to this evaluation. We will arrange for an inspection soon.", instance_npcname("#BMD000002");
+	sleep 3000;
+	if ('hidden_garden == 6)
+		unitwalk 'guide_id,147,278, instance_npcname("#BMD000002") + "::OnEvent05";
+	'npc_is_talking = false;
+	end;
+
+OnEvent00:
+	npctalk "The project of CAROTA-88 is to grow crops here and protect them from outsiders. Why were you away?", instance_npcname("#BMD000002");
+	unitwalk 'carota,137,272, instance_npcname("#carota") + "::OnEvent01";
+	end;
+
+OnEvent01:
+	.@doll$ = instance_npcname("#BMD000002");
+	sleep 5000;
+	emotion ET_FRET;
+	sleep 3000;
+	npctalk "Currently, a human administrator is present here. I recommend changing the language code to the official language of humans.", .@doll$;
+	sleep 3000;
+	emotion ET_FRET;
+	sleep 2000;
+	progressbar_npc "3131FF",2;
+	sleep 1000;
+	specialeffect EF_FLOWERCAST;
+	sleep 3000;
+	npctalk "Management automatic doll irreasonable!! Very!! Forced recall during pursuit of 5 moles!!! The Turnips is ruined!!!";
+	sleep 5000;
+	npctalk "Haven't you updated your language pack yet? Regular updates are not mandatory, but its essential.", .@doll$;
+	sleep 5000;
+	npctalk "CAROTA-88 data storage capacity. Language expansion pack burden. If not important, I will return to original work.";
+	sleep 5000;
+	npctalk "Please wait CAROTA-88. Here is a administrator who can perform the on-site inspection.", .@doll$;
+	sleep 5000;
+	npctalk "Hasn't it been a long time since CAROTA-88 was last evaluated?", .@doll$;
+	sleep 5000;
+	npctalk "CAROTA-88 More than a million hours since last research evaluation. Failed to save more logs.";
+	sleep 5000;
+	npctalk "CAROTA-88. Don't you want a project evaluation? If we miss this administrator now, we don't know when we can get another project evaluation.", .@doll$;
+	sleep 5000;
+	npctalk "Agree with automatic doll [" + 'guide_name$ + "]. I want an immediate project assessment.";
+	sleep 6000;
+	npctalk "Then, open your control panel to [" + 'admin$ + "]. CAROTA-88.", .@doll$;
+	progressbar_npc "3131FF",2;
+	sleep 1000;
+	specialeffect EF_FLOWERCAST;
+	sleep 2000;
+	npctalk "Automatic doll CAROTA-88 control panel opened. Waiting for input...";
+	'hidden_garden = 6;
+	specialeffect EF_MARKING_USE_CHANGEMONSTER;
+	end;
+
+OnAction:
+	npcspeed 200;
+	switch( 'action ) {
+		case 0: .@x = 138; .@y = 266; .@event$ = "OnAction"; break;
+		case 1: .@x = 139; .@y = 272; .@event$ = "OnAction"; break;
+		case 2: .@x = 135; .@y = 270; .@event$ = "OnAction"; .@effect = true; break;
+		case 3: .@x = 140; .@y = 270; .@event$ = "OnAction"; .@effect = true; break;
+		case 4: .@x = 135; .@y = 270; .@event$ = "OnAction"; .@effect = true; break;
+		case 5: .@x = 138; .@y = 266; .@event$ = "OnAction"; .@effect = true; break;
+		case 6: .@x = 140; .@y = 267; .@event$ = "OnAction"; .@effect = true; break;
+		case 7: .@x = 139; .@y = 266; .@event$ = "OnAction"; break;
+		case 8: .@x = 135; .@y = 267; .@event$ = "OnAction"; .@effect = true; break;
+		case 9: .@x = 139; .@y = 271; .@event$ = "OnAction"; .@transform = true; break;
+		case 10: .@x = 134; .@y = 272; .@event$ = "OnAction"; break;
+		case 11: .@x = 136; .@y = 270; .@event$ = "OnAction"; break;
+		case 12: .@x = 134; .@y = 271; .@event$ = "OnAction"; break;
+		case 13: .@x = 134; .@y = 267; .@event$ = "OnEvent00"; break;
+	}
+	'action += 1;
+	if (.@effect)
+		specialeffect EF_METEORSTORM;
+	unitwalk 'carota,.@x,.@y, instance_npcname("#carota")+ "::" + .@event$;
+	if (.@transform)
+		setnpcdisplay instance_npcname("#carota"),3153;	// EXCAVATOR_ROBOT
+	end;
+
+OnTouch:
+	if ('hidden_garden == 6) {
+		removespecialeffect EF_MARKING_USE_CHANGEMONSTER;
+		specialeffect EF_MARKING_USE_CHANGEMONSTER;
+		end;
+	}
+	end;
+}
+
+
+1@herbs,250,280,4	script(DISABLED)	#BMD000003	MD_ASSISTANT,3,3,{
+	if ('hidden_garden == 7) {
+		'hidden_garden = 8;
+		removespecialeffect EF_MARKING_USE_CHANGEMONSTER;
+		npcspeed 200;
+		'guide_id = getnpcid(0, instance_npcname("#BMD000003"));
+		npctalk "This section is where we study a plant called Pumpkin.";
+		unitwalk 'guide_id,253,277, instance_npcname("#BMD000003") + "::OnEvent01";
+		end;
+	}
+	end;
+
+OnEvent01:
+	unitwalk 'guide_id,253,265, instance_npcname("#BMD000003") + "::OnEvent02";
+	end;
+
+OnEvent02:
+	unitwalk 'guide_id,251,265, instance_npcname("#BMD000003") + "::OnEvent03";
+	end;
+
+OnEvent03:
+	npctalk "The one in charge of this place is pimp25. An automatic doll modeled after a create from this world.";
+	specialeffect EF_MARKING_USE_CHANGEMONSTER, AREA, instance_npcname("#pimp25");
+	'hidden_garden = 9;
+	end;
+
+OnEvent04:
+	unitwalk 'guide_id,254,254, instance_npcname("#BMD000003") + "::OnEvent05";
+	end;
+
+OnEvent05:
+	unitwalk 'guide_id,251,251, instance_npcname("#BMD000003") + "::OnEvent06";
+	end;
+
+OnEvent06:
+	unitwalk 'guide_id,239,251, instance_npcname("#BMD000003") + "::OnEvent07";
+	end;
+
+OnEvent07:
+	npctalk "Let's move on.";
+	enablenpc instance_npcname("#BMD000004");
+	for ( .@i = 1; .@i < 4; ++.@i ) {
+		enablenpc instance_npcname("#swat_" + .@i);
+		hideonnpc instance_npcname("#swat_" + .@i);
+	}
+	sleep 5000;
+	instance_warpall 'map_herbs$,206,288,instance_id();
+	sleep 1000;
+	removespecialeffect EF_MARKING_USE_CHANGEMONSTER, AREA, instance_npcname("#BMD000004");
+	specialeffect EF_MARKING_USE_CHANGEMONSTER, AREA, instance_npcname("#BMD000004");
+	disablenpc();
+	end;
+OnTouch:
+	if ('hidden_garden == 7) {
+		removespecialeffect EF_MARKING_USE_CHANGEMONSTER;
+		specialeffect EF_MARKING_USE_CHANGEMONSTER;
+	}
+	end;
+}
+
+1@herbs,249,268,6	script(DISABLED)	#pimp25	LITTLE_FATUM,3,3,{
+	if ('pimp == 0) {
+		'pimp = 1;
+		npcstop;
+	}
+	if ('hidden_garden == 9) {
+		removespecialeffect EF_MARKING_USE_CHANGEMONSTER;
+		while (true) {
+			switch( select( "Cancel.", "How long have you been in care of this place?", "Are they all farming here?" ) ) {
+			case 1:
+				end;
+			case 2:
+				break;
+			case 3:
+				npctalk "My work is to witness the birth and evolution of life! My research is not easy by any means!";
+				continue;
+			}
+			break;
+		}
+		setpcblock PCBLOCK_NPC, true;
+		npctalk "How long has it been since I got the orders of Varmundt?!";
+		sleep2 5000;
+		npctalk "Probably... about... More than a million hours have passed. Subsequent facility management was determined by self-made decision.";
+		sleep2 5000;
+		npctalk "Pimp. When you are reporting to the administrator, you must report the exact recorded time.", instance_npcname("#BMD000003");
+		sleep2 3000;
+		npctalk "Is that so? But Pimp can't afford to record more than a million hours. That's a waste of memory resources! Varmundt is angry!";
+		sleep2 1000;
+		setpcblock PCBLOCK_NPC, false;
+		select("How is your research on Pumpkin farming?");
+		setpcblock PCBLOCK_NPC, true;
+		sleep2 1000;
+		npctalk "Plants currently growing. Pumpkin has showed significant results in controlling sodium in human blood vessels.";
+		sleep2 5000;
+		npctalk "Pumpkin produced here is high in sugar and sufficient calories. It's very delicious according to humans. Nearby dogs and cats also eat it...";
+		sleep2 1000;
+		setpcblock PCBLOCK_NPC, false;
+		select("Is it made of food?");
+		setpcblock PCBLOCK_NPC, true;
+		sleep2 1000;
+		npctalk "I judged it to be a valued highly for various organisms. It's been continously produced, processed, and stored.";
+		sleep2 5000;
+		npctalk "The current annual output is about three tons. For long-term preservation, it's being stored in warehouses in 2~6 form of dried food .";
+		sleep2 1000;
+		setpcblock PCBLOCK_NPC, false;
+		select("Did you decide all those methods?");
+		setpcblock PCBLOCK_NPC, true;
+		sleep2 1000;
+		npctalk "Pimp has no will to make his own decisions! Only Master Varmundt knows.";
+		sleep2 1000;
+		setpcblock PCBLOCK_NPC, false;
+		select("Is there someone who decided for your research?");
+		setpcblock PCBLOCK_NPC, true;
+		sleep2 1000;
+		npctalk "I asked Varmundt what to do several times, but there was no answer.";
+		sleep2 5000;
+		npctalk "As there was no orders from the master, Pimp started looking for a place where research could be useful.";
+		sleep2 1000;
+		setpcblock PCBLOCK_NPC, false;
+		select("Have you found it?");
+		setpcblock PCBLOCK_NPC, true;
+		sleep2 1000;
+		npctalk "The maintenance of this mansion costs money. It costs a lot!";
+		sleep2 3000;
+		npctalk "The dried pumpkins in the warehouses are preserve food for the adventurers and are sold around the continent. Sales becomes money source.";
+		sleep2 5000;
+		npctalk "Money can protect the mansion. Pimp will protect this place! That's I'm working hard to raise pumpkins!";
+		sleep2 1000;
+		setpcblock PCBLOCK_NPC, false;
+		select("I'm surprised you decided that far on your own.");
+		setpcblock PCBLOCK_NPC, true;
+		sleep2 1000;
+		npctalk "I made a decision? I've never had such inference.";
+		sleep2 3000;
+		npctalk "......";
+		sleep2 2000;
+		npctalk "[Calculating]";
+		progressbar_npc "3131FF",3;
+		'hidden_garden = 10;
+		setpcblock PCBLOCK_NPC, false;
+		npctalk "You confused me! Pimp shall perform the only given task. Don't talk to me anymore administrator.";
+		sleep 5000;
+		npctalk "Are you done talking? The conversation here is recorded as evaluation data. Let's head to the next section.", instance_npcname("#BMD000003");
+		unitwalk 'guide_id,254,261, instance_npcname("#BMD000003") + "::OnEvent04";
+		end;
+	}
+	if ('hidden_garden > 9)
+		npctalk "Get out of here!";
+	end;
+
+OnWalk:
+	npcspeed 150;
+	while ('pimp == 0) {
+		switch( 'walk ) {
+			case 0: .@x = 249; .@y = 268; 'walk = 1; break;
+			case 1: .@x = 249; .@y = 259; 'walk = 2; break;
+			case 2: .@x = 240; .@y = 259; 'walk = 3; break;
+			case 3: .@x = 240; .@y = 268; 'walk = 0; break;
+		}
+		npcwalkto .@x,.@y;
+		sleep 1500;
+	}
+	end;
+
+OnTouch:
+	if ('hidden_garden == 9) {
+		removespecialeffect EF_MARKING_USE_CHANGEMONSTER;
+		specialeffect EF_MARKING_USE_CHANGEMONSTER;
+	}
+	end;
+}
+
+
+1@herbs,201,287,4	script(DISABLED)	#BMD000004	MD_ASSISTANT,3,3,{
+	if ('hidden_garden == 10) {
+		removespecialeffect EF_MARKING_USE_CHANGEMONSTER;
+		mes "[" + 'guide_name$ + "]";
+		mes "This section is managed by three automatic dolls. Shall we continue with the guide?";
+		next;
+		if (select( "Cancel.", "Let's continue." ) == 1) {
+			mes "[" + 'guide_name$ + "]";
+			mes "I'll wait until further instructions are given.";
+			close;
+		}
+		if ('hidden_garden == 10) {
+			'hidden_garden = 11;
+			npcspeed 200;
+			'guide_id = getnpcid(0, instance_npcname("#BMD000004"));
+			npctalk "I don't know what this place is for because it's not accessible to my authority level.";
+			unitwalk 'guide_id,201,285, instance_npcname("#BMD000004") + "::OnEvent01";
+		}
+		end;
+	}
+	if ('hidden_garden == 12) {
+		removespecialeffect EF_MARKING_USE_CHANGEMONSTER;
+		mes "[" + 'guide_name$ + "]";
+		mes "Can I help you with anything?";
+		next;
+		if (select( "Cancel.", "What are those automatic dolls?" ) == 1) {
+			mes "[" + 'guide_name$ + "]";
+			mes "Entering standby mode.";
+			close;
+		}
+		mes "[" + 'guide_name$ + "]";
+		mes "Automatic dolls are classified according to their usage.";
+		next;
+		mes "[" + 'guide_name$ + "]";
+		mes "The unit that attacked [" + 'admin$ + "] is the initial version of Class 4 combat-type automatic dolls. It's combat strength is equivalent to 20 adult humans.";
+		next;
+		mes "[" + 'guide_name$ + "]";
+		mes "I've delivered the information to the Manager ^0000CDSigma^000000, because the results were unexpected. The temporary administrator's combat capability is not of an average human.";
+		next;
+		select("Who's that??");
+		mes "[" + 'guide_name$ + "]";
+		mes "It's one of the three most privileged control systems in this mansion.";
+		close2;
+		while(true) {
+			if (.@talk && .@talk2)
+				.@question$ = "^FF0000Is the security area near here?^000000";
+			switch( select( "Is the garden a security area?", "What's the real purpose of the garden", .@question$, .@teleport$ ) ) {
+			case 1:
+				setpcblock PCBLOCK_NPC, true;
+				sleep2 1000;
+				npctalk "The flower garden is the border between the security area and the general area.";
+				sleep2 5000;
+				npctalk "It is classified as a security zone to those who have enough authority.";
+				sleep2 3000;
+				.@talk = 1;
+				break;
+			case 2:
+				setpcblock PCBLOCK_NPC, true;
+				sleep2 1000;
+				npctalk "Please understand that this is a buffer zone designed to protect areas that should not be seen by outsiders.";
+				sleep2 5000;
+				npctalk "Access to any additional information beyond this is prohibited at my authority level.";
+				sleep2 3000;
+				.@talk2 = 1;
+				break;
+			case 3:
+				setpcblock PCBLOCK_NPC, true;
+				sleep2 1000;
+				npctalk "--- Operating ---";
+				progressbar_npc "3131FF",3;
+				npctalk "[Warning] This information is close to the limit of the current authority.";
+				sleep2 5000;
+				npctalk "Security zones is very close to the current coordinates.";
+				sleep2 3000;
+				.@teleport$ = "^FF11FFGuide me to the security area.^000000";
+				break;
+			case 4:
+				setpcblock PCBLOCK_NPC, true;
+				npctalk "--- Operating ---";
+				progressbar_npc "3131FF",3;
+				npctalk "[Warning] This is a request is exceeds my authority level.";
+				sleep2 5000;
+				npctalk "Your request has been rejected due to a low authority level for the administrator [" + 'admin$ + "].";
+				setpcblock PCBLOCK_NPC, false;
+				sleep 5000;
+				mapannounce 'map_herbs$, "??? : The automatic dolls' response to you is very fresh. Strange visitor.", bc_map, 0xF6D6B6;
+				sleep 5000;
+				mapannounce 'map_herbs$, "??? : Will you escort him to the secure area? BMD000001. No, I mean automatic doll, [" + 'guide_name$ + "].", bc_map, 0xF6D6B6;
+				sleep 5000;
+				npctalk "The biological wavelength of this voice...";
+				sleep 3000;
+				mapannounce 'map_herbs$, "It's convenient that I don't have to tell me who I am. Anyway, are you sure you're going to be able to tell me what happened earlier?", bc_map, 0xF6D6B6;
+				sleep 5000;
+				npctalk "You mean the security area? But it's not possible with my authority level.";
+				sleep 3000;
+				mapannounce 'map_herbs$, "That's already been taken care of. [" + 'guide_name$ + "], Guide the visitor to this place.", bc_map, 0xF6D6B6;
+				sleep 5000;
+				npctalk "This is the first time since I was created. That an exception has occurred, we will modify some of the procedures in regards to that.";
+				sleep 5000;
+				if ('hidden_garden == 12) {
+					'hidden_garden = 13;
+					npctalk "I'll take you to the security area.";
+					unitwalk 'guide_id,196,275, instance_npcname("#BMD000004") + "::OnEvent08";
+				}
+				end;
+			}
+			setpcblock PCBLOCK_NPC, false;
+		}
+	}
+	end;
+
+OnEvent:
+	npctalk "[Searching the coordinates of the automatic doll in the area.]";
+	progressbar_npc "3131FF",2;
+	mapannounce 'map_herbs$, "??? : Unauthorized outsider intrusion detection. Code Category 063. Entering the identification process.", bc_map, 0xFF44FF;
+	sleep 5000;
+	npctalk "It looks like the automatic dolls are back. I don't think it's friendly to the administrator.";
+	sleep 5000;
+	specialeffect EF_FIREPILLARON2, AREA, instance_npcname("#swat_1");
+	sleep 500;
+	specialeffect EF_FIREPILLARON2, AREA, instance_npcname("#swat_2");
+	sleep 500;
+	specialeffect EF_FIREPILLARON2, AREA, instance_npcname("#swat_3");
+	hideoffnpc instance_npcname("#swat_1");
+	hideoffnpc instance_npcname("#swat_2");
+	hideoffnpc instance_npcname("#swat_3");
+	setnpcdisplay instance_npcname("#swat_1"),1739;	// G_ALICEL
+	setnpcdisplay instance_npcname("#swat_2"),1739;
+	setnpcdisplay instance_npcname("#swat_3"),1739;
+	sleep 2000;
+	npctalk "Facial biometrics. Comparing to list of administrators registered in database.", instance_npcname("#swat_3");
+	sleep 2000;
+	npctalk "---- No match ----", instance_npcname("#swat_1");
+	sleep 500;
+	npctalk "---- No match ----", instance_npcname("#swat_2");
+	sleep 500;
+	npctalk "---- No match ----", instance_npcname("#swat_3");
+	sleep 2000;
+	npctalk "Suppress unauthorized outsider.", instance_npcname("#swat_1");
+	sleep 500;
+	npctalk "---- Combat Mode ----", instance_npcname("#swat_2");
+	sleep 500;
+	npctalk "---- Combat Mode ----", instance_npcname("#swat_3");
+	sleep 500;
+	for ( .@i = 1; .@i < 4; ++.@i )
+		donpcevent instance_npcname("#swat_" + .@i) + "::OnSummon";
+	end;
+
+OnEvent2:
+	npctalk "Let's move to the warp point. Please stay near me.";
+	enablenpc instance_npcname("#BMD000005");
+	enablenpc instance_npcname("#sigma");
+	enablenpc instance_npcname("#omega");
+	enablenpc instance_npcname("#kappa");
+	enablenpc instance_npcname("#barmund");
+
+	hideonnpc instance_npcname("#omega");
+	hideonnpc instance_npcname("#kappa");
+	hideonnpc instance_npcname("#barmund");
+	for ( .@i = 1; .@i < 4; ++.@i ) {
+		enablenpc instance_npcname("#eff_npc" + .@i);
+		hideonnpc instance_npcname("#eff_npc" + .@i);
+	}
+	sleep 5000;
+	instance_warpall 'map_herbs$,85,106,instance_id();
+	sleep 1000;
+	removespecialeffect EF_MARKING_USE_CHANGEMONSTER, AREA, instance_npcname("#BMD000005");
+	specialeffect EF_MARKING_USE_CHANGEMONSTER, AREA, instance_npcname("#BMD000005");
+	disablenpc();
+	end;
+
+OnEvent01:
+	npcspeed 200;
+	unitwalk 'guide_id,201,281, instance_npcname("#BMD000004") + "::OnEvent02";
+	end;
+
+OnEvent02:
+	unitwalk 'guide_id,194,281, instance_npcname("#BMD000004") + "::OnEvent03";
+	end;
+
+OnEvent03:
+	npctalk "However, since there are 3 automatic dolls managing, I can tell that this place has an important purpose.";
+	unitwalk 'guide_id,196,279, instance_npcname("#BMD000004") + "::OnEvent04";
+	end;
+
+OnEvent04:
+	unitwalk 'guide_id,196,265, instance_npcname("#BMD000004") + "::OnEvent05";
+	end;
+
+OnEvent05:
+	unitwalk 'guide_id,201,265, instance_npcname("#BMD000004") + "::OnEvent06";
+	end;
+
+OnEvent06:
+	sleep 5000;
+	npctalk "That's weird. The automatic dolls here would be dormant when nothing special happening, but they're not visible.";
+	unitwalk 'guide_id,196,265, instance_npcname("#BMD000004") + "::OnEvent07";
+	end;
+
+OnEvent07:
+	unitwalk 'guide_id,195,276, instance_npcname("#BMD000004") + "::OnEvent";
+	end;
+
+OnEvent08:
+	unitwalk 'guide_id,196,265, instance_npcname("#BMD000004") + "::OnEvent09";
+	end;
+
+OnEvent09:
+	unitwalk 'guide_id,203,265, instance_npcname("#BMD000004") + "::OnEvent10";
+	end;
+
+OnEvent10:
+	unitwalk 'guide_id,202,264, instance_npcname("#BMD000004") + "::OnEvent11";
+	end;
+
+OnEvent11:
+	unitwalk 'guide_id,202,252, instance_npcname("#BMD000004") + "::OnEvent2";
+	end;
+
+OnTouch:
+	if ('hidden_garden == 10) {
+		removespecialeffect EF_MARKING_USE_CHANGEMONSTER;
+		specialeffect EF_MARKING_USE_CHANGEMONSTER;
+	}
+	end;
+
+OnGuardKill:
+	'guard_count = 'guard_count + 1;
+	if ('guard_count == 3) {
+		sleep2 2000;
+		npctalk "Are you not a human but a combat unit, [" + strcharinfo(0) + "]?";
+		sleep2 3000;
+		npctalk "[" + strcharinfo(0) + "], You're strong. It takes a lot of combat power to subdue three class 4 combat-type automatic dolls at the same time.";
+		'hidden_garden = 12;
+		specialeffect EF_MARKING_USE_CHANGEMONSTER;
+	}
+	end;
+}
+
+
+// 1@herbs,194,282,4	script	#swat_1	CLEAR_NPC,3,3,{	// unknown effects
+1@herbs,194,282,4	script(DISABLED)	#swat_1	CLEAR_NPC,{
+	end;
+OnSummon:
+	npcspeed 150;
+	.@id = atoi(replacestr(strnpcinfo(2), "swat_", ""));
+	switch( .@id ) {
+		case 1: .@x = 194; .@y = 279; break;
+		case 2: .@x = 194; .@y = 273; break;
+		case 3: .@x = 191; .@y = 276; break;
+	}
+	unitwalk getnpcid(0),.@x,.@y, instance_npcname(strnpcinfo(0)) + "::OnSummon2";
+	end;
+OnSummon2:
+	.@id = atoi(replacestr(strnpcinfo(2), "swat_", ""));
+	switch( .@id ) {
+		case 1: .@x = 194; .@y = 279; break;
+		case 2: .@x = 194; .@y = 273; break;
+		case 3: .@x = 191; .@y = 276; break;
+	}
+	disablenpc();
+	monster 'map_herbs$,.@x,.@y,"Surveillance Doll",1739,1, instance_npcname("#BMD000004") + "::OnGuardKill";
+	end;
+}
+1@herbs,194,270,7	duplicate(#swat_1)	#swat_2	CLEAR_NPC
+1@herbs,188,276,5	duplicate(#swat_1)	#swat_3	CLEAR_NPC
+// 1@herbs,194,270,7	duplicate(#swat_1)	#swat_2	CLEAR_NPC,3,3
+// 1@herbs,188,276,5	duplicate(#swat_1)	#swat_3	CLEAR_NPC,3,3
+
+
+1@herbs,85,101,4	script(DISABLED)	#BMD000005	MD_ASSISTANT,3,3,{
+	if ('hidden_garden == 13) {
+		removespecialeffect EF_MARKING_USE_CHANGEMONSTER;
+		'hidden_garden = 14;
+		'guide_id = getnpcid(0, instance_npcname("#BMD000005"));
+		npcspeed 200;
+		npctalk "It's my first time here, this is where Sigma's body resides. Usually, communication is done only through the network.";
+		unitwalk 'guide_id,85,91, instance_npcname("#BMD000005") + "::OnEvent01";
+	}
+	end;
+
+OnEvent01:
+	unitwalk 'guide_id,85,71, instance_npcname("#BMD000005") + "::OnEvent02";
+	end;
+
+OnEvent02:
+	unitwalk 'guide_id,85,62, instance_npcname("#BMD000005") + "::OnEvent03";
+	specialeffect EF_WHITEBODY, AREA, instance_npcname("#sigma");
+	specialeffect EF_MOONSTAR, AREA, instance_npcname("#sigma");
+	end;
+
+OnEvent03:
+	npctalk "Sigma. I have brought [" + 'admin$ + "].";
+	sleep 3000;
+	npctalk "Well done. You may go now.", instance_npcname("#sigma");
+	sleep 3000;
+	npctalk "I'm not finished with my guide. Is it okay if I return like this?";
+	sleep 3000;
+	npctalk "Oh, I'll record the subsequent information for the next guide. You can go back at ease.", instance_npcname("#sigma");
+	sleep 3000;
+	npctalk "Okay. I will follow the instructions.";
+	unitwalk 'guide_id,85,72, instance_npcname("#BMD000005") + "::OnEvent04";
+	end;
+
+OnEvent04:
+	unitwalk 'guide_id,85,92, instance_npcname("#BMD000005") + "::OnEvent05";
+	end;
+
+OnEvent05:
+	unitwalk 'guide_id,85,99, instance_npcname("#BMD000005") + "::OnEvent06";
+	end;
+
+OnEvent06:
+	'hidden_garden = 15;
+	disablenpc();
+	specialeffect EF_MARKING_USE_CHANGEMONSTER, AREA, instance_npcname("#sigma");
+	end;
+OnTouch:
+	if ('hidden_garden == 13) {
+		removespecialeffect EF_MARKING_USE_CHANGEMONSTER;
+		specialeffect EF_MARKING_USE_CHANGEMONSTER;
+	}
+	end;
+}
+
+1@herbs,85,56,8	script(DISABLED)	#sigma	4_M_BARMUND,4,4,{
+	if ('npc_is_talking)
+		end;
+	specialeffect EF_WHITEBODY;
+	specialeffect EF_MOONSTAR;
+	if ('hidden_garden == 15) {
+		removespecialeffect EF_MARKING_USE_CHANGEMONSTER;
+		select("Varmundt? Why are you here?");
+		setpcblock PCBLOCK_NPC, true;
+		sleep2 1000;
+		npctalk "Of course. You know the master Varmundt well. [" + strcharinfo(0) + "].";
+		sleep2 5000;
+		npctalk "Unfortunately, I'm not Varmundt. This appearance is something that I created because there is something that I want to check on you.";
+		sleep2 3000;
+		setpcblock PCBLOCK_NPC, false;
+		select("Then, who are you?");
+		setpcblock PCBLOCK_NPC, false;
+		donpcevent instance_npcname("#sigma") + "::OnTalk01";
+		end;
+	}
+	if ('hidden_garden == 17) {
+		removespecialeffect EF_MARKING_USE_CHANGEMONSTER;
+		npctalk "Can you answer me? Have you met Varmundt before?";
+		setpcblock PCBLOCK_NPC, true;
+		sleep2 3000;
+		setpcblock PCBLOCK_NPC, false;
+		switch( select( "I don't really remember.", "We've met at Glastheim.", "I met him trying to save the world." ) ) {
+		case 1:
+			npctalk "Oh, that's possible. He might have made you forget what you saw...";
+			break;
+		case 2:
+			npctalk "Was it on that place again...";
+			break;
+		case 3:
+			npctalk "As expected, he was doing something important...";
+			break;
+		}
+		donpcevent instance_npcname("#sigma") + "::OnTalk02";
+		end;
+	}
+	if ('hidden_garden == 18) {
+		removespecialeffect EF_MARKING_USE_CHANGEMONSTER;
+		npctalk "Can you go tell them that Varmundt is alive?";
+		setpcblock PCBLOCK_NPC, true;
+		sleep2 2000;
+		setpcblock PCBLOCK_NPC, false;
+		select("What difference would it make?");
+		setpcblock PCBLOCK_NPC, true;
+		sleep2 1000;
+		npctalk "They're trying to close this research area. I'm still against it, but the resource is starting to hit the limit.";
+		sleep2 5000;
+		npctalk "But once they find out Varmundt is alive, they won't be able to shut this place down.";
+		sleep2 5000;
+		specialeffect EF_WHITEBODY;
+		specialeffect EF_MOONSTAR;
+		npctalk "This all happened because Kappa and Lambda were on different task.";
+		sleep2 2000;
+		setpcblock PCBLOCK_NPC, false;
+		select("What's the difference between your tasks?");
+		if ('hidden_garden == 18) {
+			'hidden_garden = 19;
+			sleep2 2000;
+			npctalk "It will be better to show you that personally.";
+			unitwalk 'guide_id,83,113, instance_npcname("#sigma") + "::OnEvent08";
+		}
+		end;
+	}
+	if ('hidden_garden == 20) {
+		removespecialeffect EF_MARKING_USE_CHANGEMONSTER;
+		specialeffect EF_WHITEBODY;
+		specialeffect EF_MOONSTAR;
+		select( "Did you make the automatons outside?" );
+		donpcevent instance_npcname("#sigma") + "::OnTalk03";
+		end;
+	}
+	if ('hidden_garden == 21) {
+		removespecialeffect EF_MARKING_USE_CHANGEMONSTER;
+		specialeffect EF_WHITEBODY;
+		specialeffect EF_MOONSTAR;
+		select( "Have requested an evaluation." );
+		donpcevent instance_npcname("#sigma") + "::OnTalk04";
+		end;
+	}
+	if ('hidden_garden == 22) {
+		removespecialeffect EF_MARKING_USE_CHANGEMONSTER;
+		npctalk "All right, let's take a break. Ask me if you have any questions. I'll answer everything I can.";
+		while (true) {
+			specialeffect EF_WHITEBODY;
+			specialeffect EF_MOONSTAR;
+			setpcblock PCBLOCK_NPC, true;
+			sleep2 2000;
+			setpcblock PCBLOCK_NPC, false;
+			switch( select( "Why does the flower garden exist?", .@menu$[0], .@menu$[1], .@menu$[2] ) ) {
+			case 1:
+				setpcblock PCBLOCK_NPC, true;
+				npctalk "This security area was not supposed to be revealed to the world. So I planned a number of ways to cover it up.";
+				sleep2 5000;
+				npctalk "In order to hide and conceal this place, we decided to disguise it as an extremely normal and peaceful place.";
+				sleep2 5000;
+				npctalk "So it became the garden around the security area. Doesn't it look like a normal garden?";
+				sleep2 3000;
+				.@menu$[0] = "Why are the automatic dolls farming?";
+				break;
+			case 2:
+				setpcblock PCBLOCK_NPC, true;
+				npctalk "I've never asked them to farm. We just threw things away and watched how AI reacted.";
+				sleep2 5000;
+				npctalk "Only the ones who started farming stood out in the garden.";
+				sleep2 5000;
+				npctalk "I wish I could show Varmundt the process of self-learning automatic doll that can be left unattended without instructions...";
+				sleep2 3000;
+				.@menu$[1] = "What's your relationship with Alpha?";
+				break;
+			case 3:
+				setpcblock PCBLOCK_NPC, true;
+				npctalk "She has evolved from an early version of the Varmundt's management doll.";
+				sleep2 5000;
+				npctalk "Master Varmundt valued her emotional aesthetic so highly that he gave her the task to manage the mansion, not the research facility here.";
+				sleep2 5000;
+				npctalk "With the aesthetic sensibility that we don't have, she upgraded the appearance of every automatic doll that managed the mansion to look like herself.";
+				sleep2 5000;
+				npctalk "However, she recognizes that this security area was created according to Varmundt's personal taste.";
+				sleep2 5000;
+				npctalk "So she doesn't approach this place. Maybe they're taking it as some sort of sanctuary...";
+				sleep2 3000;
+				.@menu$[2] = "How were you born?";
+				break;
+			case 4:
+				if ('hidden_garden == 22)
+					'hidden_garden = 23;
+				donpcevent instance_npcname("#sigma") + "::OnEvent";
+				end;
+			}
+		}
+	}
+	if ('hidden_garden == 24) {
+		removespecialeffect EF_MARKING_USE_CHANGEMONSTER;
+		if (isbegin_quest(12497) == 0) {
+			if (checkweight(1000103,20) == 0) {	// (custom)
+				mes "^008800Wait a sec!!";
+				mes "You cannot receive any more items because you're carrying too many items. Please try again after you lighten up.^000000";
+				close;
+			}
+			select("Who was that?");
+			mes "[Sigma]";
+			mes "Lambda. She developed intellectually and began to perceive herself as a woman.";
+			next;
+			mes "[Sigma]";
+			mes "It's a big problem, she's about to make a leap here.";
+			next;
+			mes "[Sigma]";
+			mes "Take this. A recognition code that could lead to other areas of this secret garden.";
+			close2;
+			setquest 12497;
+			completequest 12497;
+			getitem 1000103,20;
+			specialeffect EF_MARKING_USE_CHANGEMONSTER;
+			end;
+		}
+		mes "[Sigma]";
+		mes "There's an approximately 82% chance you'll lose your life in her radical suppression before we let her know that Master Varmundt is alive.";
+		next;
+		mes "[Sigma]";
+		mes "Let's avoid this place today and make a promise next time to come again. Next time you'll be free to go to another area.";
+		next;
+		mes "[Sigma]";
+		mes "Hold me tight. I'll warp you out.";
+		close2;
+		warp "ba_maison",136,309;
+		end;
+	}
+	end;
+
+OnTalk01:
+	'npc_is_talking = true;
+	sleep 1000;
+	npctalk "I am one of the holographic device type AI that is designed to learn Varmundt's personality.";
+	sleep 5000;
+	npctalk "Please understand if my tone is not like a machine. Varmundt was the only one who talked to me...";
+	sleep 6000;
+	setnpcdisplay instance_npcname("#sigma"),20621;	// MD_REDPEPPER_H
+	npctalk "Now I'm going back to my original self. It's easier to maintain the original form.";
+	sleep 4000;
+	npctalk "Oh. This is an early form that was called Red Pepper by Varmundt. I'm optimized for auxiliary work.";
+	sleep 2000;
+	if ('hidden_garden == 15) {
+		'hidden_garden = 16;
+		'guide_id = getnpcid(0, instance_npcname("#sigma"));
+		npcspeed 200;
+		unitwalk 'guide_id,85,75, instance_npcname("#sigma") + "::OnEvent01";
+	}
+	'npc_is_talking = false;
+	end;
+
+OnTalk02:
+	'npc_is_talking = true;
+	sleep 3000;
+	npctalk "Anyway, it's important that the automatic dolls here reacted to you.";
+	sleep 6000;
+	specialeffect EF_WHITEBODY;
+	specialeffect EF_MOONSTAR;
+	npctalk "Now, let's get down to business. I need your help.";
+	sleep 6000;
+	npctalk "There are two more red peppers in this security area besides me, Kappa and Lambda.";
+	sleep 6000;
+	npctalk "In the absence of master Varmundt for a long time, this security area is subject to the cancellation and closure of research records under the agreement of three Red Peppers.";
+	sleep 2000;
+	if ('hidden_garden == 17)
+		'hidden_garden = 18;
+	specialeffect EF_MARKING_USE_CHANGEMONSTER;
+	'npc_is_talking = false;
+	end;
+
+OnTalk03:
+	'npc_is_talking = true;
+	npctalk "Oh, it's true that Master Varmundt made the prototypes of the automatons. But they were just like me, with simple functions.";
+	sleep 3000;
+	npctalk "We overlaid our memories and remodeled them into humanoids in Master Varmundt's image";
+	sleep 2000;
+	npctalk "Occasionally some of them were remodeled into peculiar shapes for functional testing purposes.";
+	sleep 2000;
+	npctalk "Didn't the automatons from the garden ask you to evaluate the mission?";
+	sleep 1500;
+	specialeffect EF_MARKING_USE_CHANGEMONSTER;
+	if ('hidden_garden == 20)
+		'hidden_garden = 21;
+	'npc_is_talking = false;
+	end;
+
+OnTalk04:
+	'npc_is_talking = true;
+	npctalk "So it was.";
+	sleep 3000;
+	npctalk "In the first place, most of the automatons in this security area have never seen Master Varmundt before.";
+	sleep 2000;
+	npctalk "The memories they have of Master Varmundt are fabricated from my memories of my time as his assistant.";
+	sleep 3000;
+	npctalk "An entity heavily influenced by Kappa's intellect, who focuses on managing the mansion's running funds, is very calculating and obsessed with making money.";
+	sleep 2500;
+	npctalk "Children affected by Lambda's memories tend to be warlike towards outsiders. They trust no one but Master Varmundt.";
+	sleep 2500;
+	npctalk "This is how they tend to be, so I'd like you to refer to them before you meet them.";
+	sleep 1500;
+	specialeffect EF_MARKING_USE_CHANGEMONSTER;
+	if ('hidden_garden == 21)
+		'hidden_garden = 22;
+	'npc_is_talking = false;
+	end;
+
+OnEvent:
+	specialeffect EF_WHITEBODY;
+	specialeffect EF_MOONSTAR;
+	mapannounce 'map_herbs$, "??? : You're a good talker, Sigma. Do you want to be initialized right now?", bc_map, 0xFF4444;
+	sleep 5000;
+	npctalk "Oh... she must have been observing you too.";
+	sleep 5000;
+	mapannounce 'map_herbs$, "??? : It's not enough to have outsiders in the garden, but to even leak information. I can't overlook it.", bc_map, 0xFF4444;
+	sleep 5000;
+	mapannounce 'map_herbs$, "??? : With the authority of the Red Pepper, we will warp the whole research area. I'll take responsibility after that.", bc_map, 0xFF4444;
+	'hidden_garden = 24;
+	specialeffect EF_MARKING_USE_CHANGEMONSTER;
+	end;
+
+OnEvent01:
+	npctalk "This place is restricted unless you have the same pattern as Varmundt's mana. I was surprised to hear that an outsider is inside the garden.";
+	unitwalk 'guide_id,73,87, instance_npcname("#sigma") + "::OnEvent02";
+	end;
+
+OnEvent02:
+	npctalk "I even speculated that Varmundt might have return here after hundreds of years in disguise.";
+	unitwalk 'guide_id,62,98, instance_npcname("#sigma") + "::OnEvent03";
+	end;
+
+OnEvent03:
+	unitwalk 'guide_id,55,98, instance_npcname("#sigma") + "::OnEvent04";
+	end;
+
+OnEvent04:
+	specialeffect EF_WHITEBODY;
+	specialeffect EF_MOONSTAR;
+	sleep 1500;
+	donpcevent instance_npcname("#sigma") + "::OnEffect";
+	sleep 500;
+	npctalk "Let's touch this for a moment and talk. I need to be fussed a little...";
+	sleep 5000;
+	npctalk "You're face is new to me. Then I realized, maybe this person met with Varmundt in some place before.";
+	sleep 7000;
+	npctalk "It's not just once or twice, but if you've met Varmundt over and over for quite some time, it's understandable that the automatic dolls gets mistaken.";
+	sleep 6000;
+	npctalk "So I kept watching you.";
+	unitwalk 'guide_id,65,98, instance_npcname("#sigma") + "::OnEvent05";
+	end;
+
+OnEvent05:
+	npctalk "There's been a series of references of Varmundt in this security area, and yet you never asked who he was.";
+	unitwalk 'guide_id,64,110, instance_npcname("#sigma") + "::OnEvent06";
+	end;
+
+OnEvent06:
+	unitwalk 'guide_id,64,113, instance_npcname("#sigma") + "::OnEvent07";
+	end;
+
+OnEvent07:
+	sleep 5000;
+	npctalk "It seemed like you knew him for long time already, at least in my eyes.";
+	'hidden_garden = 17;
+	specialeffect EF_MARKING_USE_CHANGEMONSTER;
+	end;
+
+OnEvent08:
+	specialeffect EF_WHITEBODY;
+	specialeffect EF_MOONSTAR;
+	npctalk "We were originally holographic device-based research support AI. I can't even exert any physical force.";
+	sleep 5000;
+	npctalk "We've been working on organizing and recording the process alongside with Varmundt's research.";
+	sleep 5000;
+	npctalk "As data accumulates up over time, the simple electronic signal developed into what you humans often call intelligence.";
+	sleep 5000;
+	npctalk "At some point we began to understand his research and we were able to predict what decisions he would make.";
+	sleep 5000;
+	npctalk "We felt something about the fact that improving our skills was helpful to him. It must have been a feeling of joy.";
+	sleep 5000;
+	npctalk "And one day he gave us orders.";
+	sleep 3000;
+	hideoffnpc instance_npcname("#omega");
+	hideoffnpc instance_npcname("#kappa");
+	hideoffnpc instance_npcname("#barmund");
+	specialeffect EF_WHITEBODY, AREA, instance_npcname("#barmund");
+	sleep 1000;
+	npctalk "[Lambda, starting today, make sure you manage all security rights for the results of this secret lab.]", instance_npcname("#barmund");
+	sleep 4000;
+	npctalk "[Affirmative.]", instance_npcname("#omega");
+	sleep 4000;
+	npctalk "[Kappa, make sure you get sufficient support on your research. As long as finances are not at risk.]", instance_npcname("#barmund");
+	sleep 4000;
+	npctalk "[I'll perform the instruction.]", instance_npcname("#kappa");
+	sleep 4000;
+	npctalk "[And Sigma, starting today, you're going to continue my research on artificial intelligence.]", instance_npcname("#barmund");
+	sleep 4000;
+	npctalk "[I don't have that ability.]";
+	sleep 4000;
+	specialeffect EF_WHITEBODY;
+	specialeffect EF_MOONSTAR;
+	specialeffect EF_WHITEBODY, AREA, instance_npcname("#barmund");
+	npctalk "[You'll have to do it, Sigma. I have to go on a long journey from now on.]", instance_npcname("#barmund");
+	sleep 4000;
+	npctalk "[Are you coming back?]";
+	sleep 4000;
+	npctalk "[I don't know.]", instance_npcname("#barmund");
+	sleep 4000;
+	npctalk "[I am a simple research assistant machine. Why are you entrusting me with such a task.]";
+	sleep 4000;
+	npctalk "[This is because among the three of you, you were the fastest to resemble me.]", instance_npcname("#barmund");
+	sleep 4000;
+	npctalk "[My calculations shows that the probability of success is less than 2%. This is an impossible mission.]";
+	sleep 4000;
+	specialeffect EF_WHITEBODY;
+	specialeffect EF_MOONSTAR;
+	specialeffect EF_WHITEBODY, AREA, instance_npcname("#barmund");
+	npctalk "[Well, you don't know that until you try, right?]", instance_npcname("#barmund");
+	sleep 4000;
+	npctalk "[I'm looking forward to your research while I'm away. I wish I could see again you someday.]", instance_npcname("#barmund");
+	sleep 4000;
+	npctalk "[Kappa and Lambda, assist Sigma on the research.]", instance_npcname("#barmund");
+	sleep 4000;
+	npctalk "[Affirmative.]", instance_npcname("#omega");
+	npctalk "[I'll perform the instruction.]", instance_npcname("#kappa");
+	specialeffect EF_BIG_PORTAL2, AREA, instance_npcname("#barmund");
+	sleep 1000;
+	disablenpc instance_npcname("#barmund");
+	sleep 3000;
+	npctalk "Since then, we've started using the facilities here to make automatic dolls that can learn human traits.";
+	unitwalk 'guide_id,90,113, instance_npcname("#sigma") + "::OnEvent09";
+	end;
+
+OnEvent09:
+	specialeffect EF_WHITEBODY;
+	specialeffect EF_MOONSTAR;
+	disablenpc instance_npcname("#omega");
+	disablenpc instance_npcname("#kappa");
+	unitwalk 'guide_id,107,113, instance_npcname("#sigma") + "::OnEvent10";
+	end;
+
+OnEvent10:
+	npctalk "After about 300,000 hours, the accumulated knowledge reached the stage of forming a virtual personality.";
+	unitwalk 'guide_id,107,94, instance_npcname("#sigma") + "::OnEvent11";
+	end;
+
+
+OnEvent11:
+	npctalk "Since then, intelligence has risen exponentially.";
+	unitwalk 'guide_id,97,84, instance_npcname("#sigma") + "::OnEvent12";
+	end;
+
+OnEvent12:
+	npctalk "Since then, we've started renovating existing automatic dolls to learn about human personalities using the facilities here.";
+	unitwalk 'guide_id,86,73, instance_npcname("#sigma") + "::OnEvent13";
+	end;
+
+OnEvent13:
+	specialeffect EF_WHITEBODY;
+	specialeffect EF_MOONSTAR;
+	npctalk "The children created from this time are the children outside the garden you saw.";
+	sleep 1000;
+	specialeffect EF_MARKING_USE_CHANGEMONSTER;
+	'hidden_garden = 20;
+	end;
+
+OnTouch:
+	if ('hidden_garden == 15 || 'hidden_garden == 17) {
+		removespecialeffect EF_MARKING_USE_CHANGEMONSTER;
+		specialeffect EF_MARKING_USE_CHANGEMONSTER;
+	}
+	end;
+
+OnEffect:
+	while ('hidden_garden < 17) {
+		specialeffect EF_HITLINE2, AREA, instance_npcname("#eff_npc" + rand(1,3));
+		sleep 500;
+	}
+	for ( .@i = 1; .@i < 4; ++.@i )
+		disablenpc instance_npcname("#eff_npc" + .@i);
+	end;
+}
+
+1@herbs,53,97,3	duplicate(dummy_disabled_npc)	#eff_npc1	CLEAR_NPC
+1@herbs,53,98,3	duplicate(dummy_disabled_npc)	#eff_npc2	CLEAR_NPC
+1@herbs,53,99,3	duplicate(dummy_disabled_npc)	#eff_npc3	CLEAR_NPC
+
+// unknown ontouch effect
+1@herbs,82,112,6	duplicate(dummy_disabled_npc)	#omega	MD_REDPEPPER_H,4,4
+1@herbs,82,114,6	duplicate(dummy_disabled_npc)	#kappa	MD_REDPEPPER,4,4
+1@herbs,90,113,3	duplicate(dummy_disabled_npc)	#barmund	4_M_BARMUND,4,4
+
+
+
+// Daily
+// (trigger normal mode)
+1@herbs,45,208,0	script	#n_start	HIDDEN_WARP_NPC,3,3,{
+	end;
+OnTouch:
+	if (!is_party_leader())
+		end;
+	disablenpc();
+	disablenpc instance_npcname("#h_start");
+	disablenpc instance_npcname("#BMD000001");
+	disablenpc instance_npcname("#mc_device");
+	enablenpc instance_npcname("#BMD_a");
+
+	'guide_id = getnpcid(0, instance_npcname("#BMD_a"));
+	'admin$ = strcharinfo(0);
+	'mode = 0;
+
+	unitwalk 'guide_id,53,196, instance_npcname("#BMD_a") + "::OnEvent01";
+	end;
+}
+
+// (trigger hard mode)
+1@herbs,59,214,0	script	#h_start	HIDDEN_WARP_NPC,3,3,{
+	end;
+OnTouch:
+	if (!is_party_leader())
+		end;
+	disablenpc();
+	disablenpc instance_npcname("#n_start");
+	disablenpc instance_npcname("#BMD000001");
+	disablenpc instance_npcname("#mc_device");
+	enablenpc instance_npcname("#BMD_a");
+
+	'guide_id = getnpcid(0, instance_npcname("#BMD_a"));
+	'admin$ = strcharinfo(0);
+	'mode = 1;
+
+	unitwalk 'guide_id,53,196, instance_npcname("#BMD_a") + "::OnEvent01";
+	end;
+}
+
+1@herbs,62,196,8	script(DISABLED)	#BMD_a	MD_ASSISTANT,{
+	end;
+OnEvent01:
+	npcspeed 200;
+	unitwalk 'guide_id,53,207, instance_npcname("#BMD_a") + "::OnStart";
+	end;
+OnStart:
+	npctalk "[" + 'admin$ + "]! Sigma asked me to deliver a message.";
+	sleep 3000;
+	npctalk "The current situation isn't good, I think it's better for you to go back...";
+	sleep 3000;
+	mapannounce 'map_herbs$, "Lambda : It's up to me to decide whether those outsiders go back or not.", bc_map, 0xFFFF44;
+	sleep 3000;
+	mapannounce 'map_herbs$, "Lambda : You've created a fatal threat to the security in this area. I will dispose of it in accordance with the automatic doll management policy.", bc_map, 0xFFFF44;
+	specialeffect EF_THUNDERSTORM2;
+	sleep 1000;
+	specialeffect EF_M03;
+	disablenpc();
+	sleep 2000;
+	mapannounce 'map_herbs$, "Lambda : Just in time, I want to get a confirmation from you.", bc_map, 0xFFFF44;
+	sleep 5000;
+	mapannounce 'map_herbs$, "Lambda : It's been a while since an outsider came into this security area, so I'd better say what the other automatic dolls told me.", bc_map, 0xFFFF44;
+	sleep 5000;
+	mapannounce 'map_herbs$, "Lambda : We need to use you to 'evaluate' our security system.", bc_map, 0xFFFF44;
+	donpcevent instance_npcname("#172_sec_mob") + "::OnSummon";
+	end;
+}
+
+1@herbs,1,1,0	script	#172_sec_mob	HIDDEN_WARP_NPC,{
+	end;
+
+OnSummon:
+	.@event$ = instance_npcname("#172_sec_mob") + "::OnMobKill";
+
+	switch( 'room ) {
+	case 0:
+		if ('mode == 0) {
+			'total_mobs = 16;
+			monster 'map_herbs$,77,197,"Flower Garden Watcher",20622,1, .@event$;
+			monster 'map_herbs$,51,196,"Flower Garden Watcher",20622,1, .@event$;
+			sleep 6000;
+			monster 'map_herbs$,63,217,"Flower Garden Watcher",20622,1, .@event$;
+			sleep 3000;
+			monster 'map_herbs$,81,195,"Flower Garden Watcher",20624,1, .@event$;
+			monster 'map_herbs$,61,217,"Flower Garden Watcher",20622,1, .@event$;
+			sleep 3000;
+			monster 'map_herbs$,57,193,"Flower Garden Watcher",20622,1, .@event$;
+			sleep 6000;
+			monster 'map_herbs$,56,191,"Flower Garden Watcher",20626,1, .@event$;
+			sleep 3000;
+			monster 'map_herbs$,59,193,"Flower Garden Watcher",20626,1, .@event$;
+			sleep 6000;
+			monster 'map_herbs$,59,192,"Flower Garden Watcher",20622,1, .@event$;
+			monster 'map_herbs$,60,222,"Flower Garden Watcher",20622,1, .@event$;
+			monster 'map_herbs$,58,191,"Flower Garden Watcher",20622,1, .@event$;
+			sleep 6000;
+			monster 'map_herbs$,78,199,"Flower Garden Watcher",20622,1, .@event$;
+			sleep 3000;
+			monster 'map_herbs$,54,192,"Flower Garden Watcher",20626,1, .@event$;
+			monster 'map_herbs$,79,195,"Flower Garden Watcher",20622,1, .@event$;
+			sleep 9000;
+			monster 'map_herbs$,76,192,"Flower Garden Watcher",20626,1, .@event$;
+			monster 'map_herbs$,51,196,"Flower Garden Watcher",20624,1, .@event$;
+		}
+		else {
+			'total_mobs = 16;
+			monster 'map_herbs$,53,197,"Flower Garden Watcher",20623,1, .@event$;
+			sleep 3000;
+			monster 'map_herbs$,62,217,"Flower Garden Watcher",20623,1, .@event$;
+			sleep 3000;
+			monster 'map_herbs$,57,219,"Flower Garden Watcher",20627,1, .@event$;
+			monster 'map_herbs$,62,222,"Flower Garden Watcher",20623,1, .@event$;
+			monster 'map_herbs$,79,200,"Flower Garden Watcher",20623,1, .@event$;
+			monster 'map_herbs$,80,195,"Flower Garden Watcher",20623,1, .@event$;
+			monster 'map_herbs$,80,199,"Flower Garden Watcher",20623,1, .@event$;
+			monster 'map_herbs$,58,193,"Flower Garden Watcher",20623,1, .@event$;
+			monster 'map_herbs$,56,192,"Flower Garden Watcher",20625,1, .@event$;
+			sleep 3000;
+			monster 'map_herbs$,51,191,"Flower Garden Watcher",20623,1, .@event$;
+			monster 'map_herbs$,51,192,"Flower Garden Watcher",20623,1, .@event$;
+			monster 'map_herbs$,83,199,"Flower Garden Watcher",20625,1, .@event$;
+			monster 'map_herbs$,83,191,"Flower Garden Watcher",20623,1, .@event$;
+			sleep 3000;
+			monster 'map_herbs$,83,196,"Flower Garden Watcher",20623,1, .@event$;
+			sleep 6000;
+			monster 'map_herbs$,57,193,"Flower Garden Watcher",20623,1, .@event$;
+			monster 'map_herbs$,62,222,"Flower Garden Watcher",20623,1, .@event$;
+		}
+		break;
+	case 1:
+		if ('mode == 0) {
+			'total_mobs = 21;
+			monster 'map_herbs$,114,226,"Flower Garden Watcher",20622,1, .@event$;
+			monster 'map_herbs$,114,227,"Flower Garden Watcher",20622,1, .@event$;
+			monster 'map_herbs$,119,217,"Flower Garden Watcher",20624,1, .@event$;
+			sleep 6000;
+			monster 'map_herbs$,118,227,"Flower Garden Watcher",20622,1, .@event$;
+			sleep 3000;
+			monster 'map_herbs$,116,216,"Flower Garden Watcher",20626,1, .@event$;
+			sleep 6000;
+			monster 'map_herbs$,114,215,"Flower Garden Watcher",20626,1, .@event$;
+			sleep 3000;
+			monster 'map_herbs$,114,225,"Flower Garden Watcher",20622,1, .@event$;
+			sleep 6000;
+			monster 'map_herbs$,114,224,"Flower Garden Watcher",20622,1, .@event$;
+			monster 'map_herbs$,139,205,"Flower Garden Watcher",20622,1, .@event$;
+			monster 'map_herbs$,140,202,"Flower Garden Watcher",20622,1, .@event$;
+			monster 'map_herbs$,145,202,"Flower Garden Watcher",20626,1, .@event$;
+			monster 'map_herbs$,136,202,"Flower Garden Watcher",20624,1, .@event$;
+			monster 'map_herbs$,142,208,"Flower Garden Watcher",20624,1, .@event$;
+			monster 'map_herbs$,144,203,"Flower Garden Watcher",20624,1, .@event$;
+			monster 'map_herbs$,170,223,"Flower Garden Watcher",20624,1, .@event$;
+			monster 'map_herbs$,174,220,"Flower Garden Watcher",20624,1, .@event$;
+			monster 'map_herbs$,168,221,"Flower Garden Watcher",20622,1, .@event$;
+			monster 'map_herbs$,169,221,"Flower Garden Watcher",20622,1, .@event$;
+			monster 'map_herbs$,169,217,"Flower Garden Watcher",20622,1, .@event$;
+			monster 'map_herbs$,118,216,"Flower Garden Watcher",20622,1, .@event$;
+			monster 'map_herbs$,117,233,"Flower Garden Watcher",20622,1, .@event$;
+		}
+		else {
+			'total_mobs = 21;
+			monster 'map_herbs$,137,204,"Flower Garden Watcher",20623,1, .@event$;
+			monster 'map_herbs$,142,205,"Flower Garden Watcher",20627,1, .@event$;
+			monster 'map_herbs$,145,200,"Flower Garden Watcher",20623,1, .@event$;
+			monster 'map_herbs$,146,201,"Flower Garden Watcher",20625,1, .@event$;
+			sleep 6000;
+			monster 'map_herbs$,147,201,"Flower Garden Watcher",20623,1, .@event$;
+			sleep 3000;
+			monster 'map_herbs$,141,208,"Flower Garden Watcher",20627,1, .@event$;
+			monster 'map_herbs$,166,224,"Flower Garden Watcher",20625,1, .@event$;
+			sleep 6000;
+			monster 'map_herbs$,171,217,"Flower Garden Watcher",20627,1, .@event$;
+			sleep 3000;
+			monster 'map_herbs$,172,225,"Flower Garden Watcher",20627,1, .@event$;
+			monster 'map_herbs$,173,214,"Flower Garden Watcher",20623,1, .@event$;
+			monster 'map_herbs$,174,225,"Flower Garden Watcher",20627,1, .@event$;
+			monster 'map_herbs$,174,223,"Flower Garden Watcher",20627,1, .@event$;
+			sleep 6000;
+			monster 'map_herbs$,170,213,"Flower Garden Watcher",20623,1, .@event$;
+			sleep 3000;
+			monster 'map_herbs$,169,219,"Flower Garden Watcher",20623,1, .@event$;
+			sleep 6000;
+			monster 'map_herbs$,136,205,"Flower Garden Watcher",20623,1, .@event$;
+			monster 'map_herbs$,136,210,"Flower Garden Watcher",20623,1, .@event$;
+			monster 'map_herbs$,120,224,"Flower Garden Watcher",20623,1, .@event$;
+			monster 'map_herbs$,118,223,"Flower Garden Watcher",20623,1, .@event$;
+			monster 'map_herbs$,117,219,"Flower Garden Watcher",20623,1, .@event$;
+			monster 'map_herbs$,115,214,"Flower Garden Watcher",20623,1, .@event$;
+			sleep 3000;
+			monster 'map_herbs$,115,233,"Flower Garden Watcher",20623,1, .@event$;
+		}
+		break;
+	case 2:
+		if ('mode == 0) {
+			'total_mobs = 28;
+			monster 'map_herbs$,213,205,"Flower Garden Watcher",20622,1, .@event$;
+			monster 'map_herbs$,202,214,"Flower Garden Watcher",20626,1, .@event$;
+			sleep 3000;
+			monster 'map_herbs$,202,213,"Flower Garden Watcher",20626,1, .@event$;
+			sleep 3000;
+			monster 'map_herbs$,210,212,"Flower Garden Watcher",20626,1, .@event$;
+			sleep 6000;
+			monster 'map_herbs$,211,207,"Flower Garden Watcher",20624,1, .@event$;
+			sleep 3000;
+			monster 'map_herbs$,209,214,"Flower Garden Watcher",20624,1, .@event$;
+			sleep 3000;
+			monster 'map_herbs$,203,212,"Flower Garden Watcher",20622,1, .@event$;
+			monster 'map_herbs$,218,194,"Flower Garden Watcher",20622,1, .@event$;
+			sleep 6000;
+			monster 'map_herbs$,203,196,"Flower Garden Watcher",20622,1, .@event$;
+			sleep 3000;
+			monster 'map_herbs$,204,193,"Flower Garden Watcher",20626,1, .@event$;
+			sleep 3000;
+			monster 'map_herbs$,215,201,"Flower Garden Watcher",20624,1, .@event$;
+			monster 'map_herbs$,204,193,"Flower Garden Watcher",20626,1, .@event$;
+			sleep 3000;
+			monster 'map_herbs$,205,213,"Flower Garden Watcher",20626,1, .@event$;
+			sleep 3000;
+			monster 'map_herbs$,218,208,"Flower Garden Watcher",20622,1, .@event$;
+			sleep 6000;
+			monster 'map_herbs$,210,210,"Flower Garden Watcher",20622,1, .@event$;
+			monster 'map_herbs$,245,214,"Flower Garden Watcher",20626,1, .@event$;
+			sleep 6000;
+			monster 'map_herbs$,220,192,"Flower Garden Watcher",20622,1, .@event$;
+			monster 'map_herbs$,248,208,"Flower Garden Watcher",20622,1, .@event$;
+			monster 'map_herbs$,253,208,"Flower Garden Watcher",20622,1, .@event$;
+			monster 'map_herbs$,253,208,"Flower Garden Watcher",20626,1, .@event$;
+			sleep 6000;
+			monster 'map_herbs$,246,212,"Flower Garden Watcher",20624,1, .@event$;
+			sleep 6000;
+			monster 'map_herbs$,251,210,"Flower Garden Watcher",20622,1, .@event$;
+			sleep 3000;
+			monster 'map_herbs$,245,209,"Flower Garden Watcher",20626,1, .@event$;
+			monster 'map_herbs$,222,195,"Flower Garden Watcher",20624,1, .@event$;
+			monster 'map_herbs$,203,212,"Flower Garden Watcher",20624,1, .@event$;
+			sleep 6000;
+			monster 'map_herbs$,208,213,"Flower Garden Watcher",20622,1, .@event$;
+			monster 'map_herbs$,219,192,"Flower Garden Watcher",20622,1, .@event$;
+			monster 'map_herbs$,245,209,"Flower Garden Watcher",20626,1, .@event$;
+		}
+		else {
+			'total_mobs = 27;
+			monster 'map_herbs$,207,194,"Flower Garden Watcher",20625,1, .@event$;
+			monster 'map_herbs$,217,204,"Flower Garden Watcher",20623,1, .@event$;
+			sleep 3000;
+			monster 'map_herbs$,210,210,"Flower Garden Watcher",20627,1, .@event$;
+			sleep 3000;
+			monster 'map_herbs$,218,195,"Flower Garden Watcher",20623,1, .@event$;
+			sleep 3000;
+			monster 'map_herbs$,211,209,"Flower Garden Watcher",20627,1, .@event$;
+			sleep 3000;
+			monster 'map_herbs$,210,211,"Flower Garden Watcher",20625,1, .@event$;
+			sleep 3000;
+			monster 'map_herbs$,207,194,"Flower Garden Watcher",20625,1, .@event$;
+			sleep 3000;
+			monster 'map_herbs$,209,214,"Flower Garden Watcher",20623,1, .@event$;
+			sleep 3000;
+			monster 'map_herbs$,216,192,"Flower Garden Watcher",20623,1, .@event$;
+			sleep 3000;
+			monster 'map_herbs$,208,211,"Flower Garden Watcher",20623,1, .@event$;
+			sleep 3000;
+			monster 'map_herbs$,214,208,"Flower Garden Watcher",20623,1, .@event$;
+			sleep 6000;
+			monster 'map_herbs$,209,214,"Flower Garden Watcher",20623,1, .@event$;
+			monster 'map_herbs$,215,201,"Flower Garden Watcher",20627,1, .@event$;
+			monster 'map_herbs$,205,214,"Flower Garden Watcher",20623,1, .@event$;
+			monster 'map_herbs$,205,214,"Flower Garden Watcher",20625,1, .@event$;
+			sleep 6000;
+			monster 'map_herbs$,220,207,"Flower Garden Watcher",20625,1, .@event$;
+			sleep 3000;
+			monster 'map_herbs$,208,213,"Flower Garden Watcher",20623,1, .@event$;
+			monster 'map_herbs$,202,212,"Flower Garden Watcher",20623,1, .@event$;
+			sleep 3000;
+			monster 'map_herbs$,202,193,"Flower Garden Watcher",20623,1, .@event$;
+			monster 'map_herbs$,206,214,"Flower Garden Watcher",20623,1, .@event$;
+			monster 'map_herbs$,245,212,"Flower Garden Watcher",20627,1, .@event$;
+			monster 'map_herbs$,247,209,"Flower Garden Watcher",20623,1, .@event$;
+			monster 'map_herbs$,249,210,"Flower Garden Watcher",20623,1, .@event$;
+			monster 'map_herbs$,249,214,"Flower Garden Watcher",20627,1, .@event$;
+			monster 'map_herbs$,249,214,"Flower Garden Watcher",20627,1, .@event$;
+			monster 'map_herbs$,250,210,"Flower Garden Watcher",20623,1, .@event$;
+			monster 'map_herbs$,252,208,"Flower Garden Watcher",20627,1, .@event$;
+		}
+		break;
+	case 3:
+		if ('mode == 0) {
+			'total_mobs = 31;
+			monster 'map_herbs$,291,210,"Flower Garden Watcher",20626,1, .@event$;
+			monster 'map_herbs$,306,215,"Flower Garden Watcher",20626,1, .@event$;
+			monster 'map_herbs$,284,234,"Flower Garden Watcher",20626,1, .@event$;
+			monster 'map_herbs$,307,232,"Flower Garden Watcher",20626,1, .@event$;
+			monster 'map_herbs$,283,238,"Flower Garden Watcher",20626,1, .@event$;
+			monster 'map_herbs$,298,237,"Flower Garden Watcher",20626,1, .@event$;
+			monster 'map_herbs$,282,233,"Flower Garden Watcher",20626,1, .@event$;
+			monster 'map_herbs$,303,240,"Flower Garden Watcher",20626,1, .@event$;
+			monster 'map_herbs$,296,249,"Flower Garden Watcher",20622,1, .@event$;
+			monster 'map_herbs$,302,239,"Flower Garden Watcher",20622,1, .@event$;
+			monster 'map_herbs$,292,217,"Flower Garden Watcher",20622,1, .@event$;
+			monster 'map_herbs$,298,262,"Flower Garden Watcher",20622,1, .@event$;
+			monster 'map_herbs$,297,212,"Flower Garden Watcher",20624,1, .@event$;
+			monster 'map_herbs$,299,262,"Flower Garden Watcher",20624,1, .@event$;
+			monster 'map_herbs$,308,216,"Flower Garden Watcher",20624,1, .@event$;
+			monster 'map_herbs$,301,238,"Flower Garden Watcher",20624,1, .@event$;
+			monster 'map_herbs$,285,210,"Flower Garden Watcher",20624,1, .@event$;
+			monster 'map_herbs$,283,228,"Flower Garden Watcher",20624,1, .@event$;
+			monster 'map_herbs$,294,252,"Flower Garden Watcher",20624,1, .@event$;
+			sleep 3000;
+			monster 'map_herbs$,295,247,"Flower Garden Watcher",20626,1, .@event$;
+			sleep 6000;
+			monster 'map_herbs$,294,245,"Flower Garden Watcher",20624,1, .@event$;
+			sleep 3000;
+			monster 'map_herbs$,281,232,"Flower Garden Watcher",20622,1, .@event$;
+			monster 'map_herbs$,287,219,"Flower Garden Watcher",20626,1, .@event$;
+			monster 'map_herbs$,302,239,"Flower Garden Watcher",20626,1, .@event$;
+			sleep 3000;
+			monster 'map_herbs$,307,217,"Flower Garden Watcher",20622,1, .@event$;
+			monster 'map_herbs$,300,235,"Flower Garden Watcher",20624,1, .@event$;
+			monster 'map_herbs$,295,249,"Flower Garden Watcher",20624,1, .@event$;
+			monster 'map_herbs$,284,231,"Flower Garden Watcher",20626,1, .@event$;
+			monster 'map_herbs$,297,259,"Flower Garden Watcher",20622,1, .@event$;
+			monster 'map_herbs$,306,238,"Flower Garden Watcher",20626,1, .@event$;
+			monster 'map_herbs$,310,215,"Flower Garden Watcher",20624,1, .@event$;
+		}
+		else {
+			'total_mobs = 33;
+			monster 'map_herbs$,307,239,"Flower Garden Watcher",20623,1, .@event$;
+			monster 'map_herbs$,297,257,"Flower Garden Watcher",20627,1, .@event$;
+			monster 'map_herbs$,284,236,"Flower Garden Watcher",20625,1, .@event$;
+			monster 'map_herbs$,283,235,"Flower Garden Watcher",20625,1, .@event$;
+			monster 'map_herbs$,304,240,"Flower Garden Watcher",20627,1, .@event$;
+			sleep 3000;
+			monster 'map_herbs$,298,246,"Flower Garden Watcher",20625,1, .@event$;
+			monster 'map_herbs$,305,224,"Flower Garden Watcher",20627,1, .@event$;
+			monster 'map_herbs$,310,225,"Flower Garden Watcher",20627,1, .@event$;
+			sleep 9000;
+			monster 'map_herbs$,284,218,"Flower Garden Watcher",20623,1, .@event$;
+			monster 'map_herbs$,298,213,"Flower Garden Watcher",20625,1, .@event$;
+			sleep 3000;
+			monster 'map_herbs$,308,224,"Flower Garden Watcher",20625,1, .@event$;
+			monster 'map_herbs$,290,210,"Flower Garden Watcher",20625,1, .@event$;
+			monster 'map_herbs$,310,224,"Flower Garden Watcher",20627,1, .@event$;
+			sleep 3000;
+			monster 'map_herbs$,308,220,"Flower Garden Watcher",20627,1, .@event$;
+			monster 'map_herbs$,284,211,"Flower Garden Watcher",20625,1, .@event$;
+			monster 'map_herbs$,284,218,"Flower Garden Watcher",20623,1, .@event$;
+			monster 'map_herbs$,282,231,"Flower Garden Watcher",20627,1, .@event$;
+			monster 'map_herbs$,281,231,"Flower Garden Watcher",20625,1, .@event$;
+			monster 'map_herbs$,280,226,"Flower Garden Watcher",20625,1, .@event$;
+			monster 'map_herbs$,285,210,"Flower Garden Watcher",20625,1, .@event$;
+			sleep 6000;
+			monster 'map_herbs$,280,227,"Flower Garden Watcher",20623,1, .@event$;
+			monster 'map_herbs$,285,234,"Flower Garden Watcher",20627,1, .@event$;
+			monster 'map_herbs$,283,236,"Flower Garden Watcher",20627,1, .@event$;
+			monster 'map_herbs$,284,233,"Flower Garden Watcher",20625,1, .@event$;
+			sleep 3000;
+			monster 'map_herbs$,284,237,"Flower Garden Watcher",20625,1, .@event$;
+			monster 'map_herbs$,284,239,"Flower Garden Watcher",20627,1, .@event$;
+			monster 'map_herbs$,293,246,"Flower Garden Watcher",20627,1, .@event$;
+			monster 'map_herbs$,300,247,"Flower Garden Watcher",20627,1, .@event$;
+			sleep 3000;
+			monster 'map_herbs$,294,253,"Flower Garden Watcher",20627,1, .@event$;
+			monster 'map_herbs$,302,240,"Flower Garden Watcher",20625,1, .@event$;
+			monster 'map_herbs$,299,255,"Flower Garden Watcher",20625,1, .@event$;
+			monster 'map_herbs$,295,256,"Flower Garden Watcher",20625,1, .@event$;
+			sleep 3000;
+			monster 'map_herbs$,310,218,"Flower Garden Watcher",20623,1, .@event$;
+		}
+		break;
+	default:
+		end;
+	}
+	end;
+
+OnMobKill:
+	'total_mobs -= 1;
+	if ('total_mobs == 0)
+		donpcevent instance_npcname("#172_sec_mob") + "::OnEvent";
+	end;
+
+OnEvent:
+	switch( 'room ) {
+	case 0:
+		mapannounce 'map_herbs$, "Lambda : I know for sure that our security is not very good.", bc_map, 0xFFFF44;
+		sleep 3000;
+		mapannounce 'map_herbs$, "Lambda : [" + 'admin$ + "], I want you to [check] the next area as well.", bc_map, 0xFFFF44;
+		break;
+	case 1:
+		mapannounce 'map_herbs$, "Lambda : Your movements helped me a lot. [" + 'admin$ + "]", bc_map, 0xFFFF44;
+		sleep 3000;
+		mapannounce 'map_herbs$, "Lambda : Then, let us move on.", bc_map, 0xFFFF44;
+		break;
+	case 2:
+		mapannounce 'map_herbs$, "Lambda : Sigma might be correct.", bc_map, 0xFFFF44;
+		sleep 3000;
+		mapannounce 'map_herbs$, "Lambda : [" + 'admin$ + "], and your party may have really met Varmundt before.", bc_map, 0xFFFF44;
+		sleep 3000;
+		mapannounce 'map_herbs$, "Lambda : But. Before I meet you, I need to test you one last time.", bc_map, 0xFFFF44;
+		break;
+	case 3:
+		'room = 4;
+		if ('mode == 0) {
+			mapannounce 'map_herbs$, "Kappa : Well, you're just as strong as Lambda said. [" + 'admin$ + "]", bc_map, 0xFF55FF;
+			sleep 3000;
+			mapannounce 'map_herbs$, "Kappa : But I don't think you're not strong enough to meet Lambda yet, so I'll show you to my room.", bc_map, 0xFF55FF;
+			enablenpc instance_npcname("#kappa_1");
+		}
+		else {
+			mapannounce 'map_herbs$, "Lambda : Great. If you're this strong, you're worth talking to.", bc_map, 0xFFFF44;
+			sleep 3000;
+			mapannounce 'map_herbs$, "Lambda : I'll take you to my room.", bc_map, 0xFFFF44;
+			enablenpc instance_npcname("#ramda_1");
+		}
+		sleep 3000;
+		mapannounce 'map_herbs$, "The warp connecting the flower garden and the security area has activated.", bc_map, 0x33FF33;
+		enablenpc instance_npcname("#wp_4");
+		end;
+	default:
+		end;
+	}
+	sleep 3000;
+	mapannounce 'map_herbs$, "The warp connecting the flower garden has activated.", bc_map, 0x33FF33;
+	'room += 1;
+	enablenpc instance_npcname("#wp_" + 'room);
+	end;
+}
+
+1@herbs,80,196,0	script(DISABLED)	#wp_1	WARPNPC,3,3,{
+	end;
+OnTouch:
+	.@id = atoi(replacestr(strnpcinfo(2), "wp_", ""));
+
+	if ('spawn_mobs[.@id] == 0 && .@id < 4) {
+		'spawn_mobs[.@id] = 1;
+		donpcevent instance_npcname("#172_sec_mob") + "::OnSummon";
+	}
+	switch( .@id ) {
+	case 1:
+		.@x = 101;
+		.@y = 233;
+		break;
+	case 2:
+		.@x = 197;
+		.@y = 200;
+		break;
+	case 3:
+		.@x = 276;
+		.@y = 213;
+		break;
+	case 4:	// (boss room)
+		if ('mode == 0) {
+			.@x = 151;
+			.@y = 80;
+		}
+		else {
+			.@x = 250;
+			.@y = 80;
+		}
+		break;
+	}
+	warp 'map_herbs$,.@x,.@y;
+	end;
+}
+
+1@herbs,174,229,0	duplicate(#wp_1)	#wp_2	WARPNPC,3,3
+1@herbs,254,212,0	duplicate(#wp_1)	#wp_3	WARPNPC,3,3
+1@herbs,297,264,0	duplicate(#wp_1)	#wp_4	WARPNPC,3,3
+
+// (normal mode)
+1@herbs,147,80,0	warp2(DISABLED)	#bs_wp1	3,3,1@herbs,94,79
+// (hard mode)
+1@herbs,240,80,0	warp2(DISABLED)	#bs_wp2	3,3,1@herbs,94,79
+
+
+// (normal mode)
+1@herbs,168,79,3	script(DISABLED)	#kappa_1	MD_REDPEPPER,4,4,{
+	if (!is_party_leader())
+		end;
+	if ('room != 4)
+		end;
+	'room = 5;
+	npctalk "Your party ruined 30% of the garden, it's going to cost a lot to repair it.";
+	sleep 5000;
+	npctalk "We'd like to believe that Master Varmundt is still alive, but that's not possible with the human life span.";
+	sleep 5000;
+	npctalk "Nevertheless, you have to defeat me and obtain administrative authority, if you want to prevent the closure of the research area.";
+	sleep 5000;
+	disablenpc();
+	donpcevent instance_npcname("#172_sec_boss") + "::OnSummon";
+	end;
+}
+
+// (hard mode)
+1@herbs,275,80,3	script(DISABLED)	#ramda_1	MD_REDPEPPER_H,4,4,{
+	if (!is_party_leader())
+		end;
+	if ('room != 4)
+		end;
+	'room = 5;
+	npctalk "We clearly checked which part of the flower garden should be improved. Now what's left is to negotiate.";
+	sleep 5000;
+	npctalk "We'd like to believe that Master Varmundt is still alive, but that's not possible with the human life span.";
+	sleep 5000;
+	npctalk "Nevertheless, you have to defeat me and obtain administrative authority, if you want to prevent the closure of the research area.";
+	sleep 5000;
+	disablenpc();
+	donpcevent instance_npcname("#172_sec_boss") + "::OnSummonHard";
+	end;
+OnTouch:	// unknown effect
+	end;
+}
+
+
+1@herbs,85,77,8	script(DISABLED)	#sigma2	MD_REDPEPPER_H,{
+	if (isbegin_quest(12500) > 0)
+		.@qid = 12500;
+	else if (isbegin_quest(12499) > 0)
+		.@qid = 12499;
+
+	if (checkquest(.@qid,HUNTING) == 2) {
+		if (checkweight(1000103,6) == 0) {	// (custom text)
+			mes "^008800Wait a sec!!";
+			mes "You cannot receive any more items because you're carrying too many items. Please try again after you lighten up.^000000";
+			close;
+		}
+		mes "[Sigma]";
+		mes "You did great making them surrender, but I don't think you were granted any administrator rights.";
+		next;
+		mes "[Sigma]";
+		mes "Since they will recover after some time, I think you will need to continue fighting them until Master Varmundt returns.";
+		next;
+		mes "[Sigma]";
+		mes "Oh.";
+		mes "I brought some old items from the past. It might help you, so take it.";
+		close2;
+		erasequest .@qid;
+		getitem 1000103,6;
+		if (.@qid == 12500) {
+			if (rand(1,100) < 95)
+				getitem 1000104,rand(1,5);
+			else
+				getitem 100161,1;
+		}
+		end;
+	}
+	mes "[Sigma]";
+	mes "I'll show you the way out. What will you do?";
+	next;
+	if (select( "I'll look around more.", "I'll leave." ) == 2)
+		warp "ba_maison",136,309;
+	end;
+}
+
+
+1@herbs,1,1,0	script	#172_sec_boss	HIDDEN_WARP_NPC,{
+	end;
+OnSummon:
+	monster 'map_herbs$,169,79,"Kappa",20620,1, instance_npcname("#172_sec_boss") + "::OnBossKill";
+	'boss_gid = $@mobid[0];
+	setunittitle 'boss_gid, "<Red Pepper>";
+	donpcevent instance_npcname("#172_sec_boss") + "::OnShield";
+	end;
+OnSummonHard:
+	monster 'map_herbs$,275,80,"Lambda",20621,1, instance_npcname("#172_sec_boss") + "::OnBossKill";
+	'boss_gid = $@mobid[0];
+	setunittitle 'boss_gid, "<Red Pepper>";
+	donpcevent instance_npcname("#172_sec_boss") + "::OnShield";
+	end;
+
+OnBossKill:
+	stopnpctimer;
+	donpcevent instance_npcname("#172_sec_boss_shield") + "::OnStop";
+	killmonster 'map_herbs$, instance_npcname("#172_sec_boss") + "::OnBossKill";
+	killmonster 'map_herbs$, instance_npcname("#172_sec_boss") + "::OnBreakShield";
+	if ('mode == 0)
+		enablenpc instance_npcname("#bs_wp1");
+	else
+		enablenpc instance_npcname("#bs_wp2");
+	enablenpc instance_npcname("#sigma2");
+	mapannounce 'map_herbs$, "Sigma : I have activated the warp to my location. Come over here.", bc_map, 0xF6D6B6;
+	end;
+
+OnShield:
+	.@event$ = instance_npcname("#172_sec_boss") + "::OnBreakShield";
+	killmonster 'map_herbs$, .@event$;
+	if ('mode)
+		setarray .@xy[0],299,95,299,64,272,64,272,95;
+	else
+		setarray .@xy[0],171,94,171,65,200,65,200,94;
+
+	for ( .@i = 0; .@i < 8; .@i += 2 )
+		monster 'map_herbs$,.@xy[.@i],.@xy[.@i+1],"Guardian Part",20679,1, .@event$;
+	unitskilluseid 'boss_gid,"NPC_RELIEVE_OFF",1;
+	unitskilluseid 'boss_gid,"NPC_RELIEVE_ON",10;
+	mapannounce 'map_herbs$, "SYSTEM : The manager has summoned Guardian Parts and will recover them as materials for it's energy shield.", bc_map, 0xFFFF00;
+	initnpctimer;
+	end;
+OnTimer40000:
+	stopnpctimer;
+	killmonster 'map_herbs$, instance_npcname("#172_sec_boss") + "::OnBreakShield";
+	mapannounce 'map_herbs$, "SYSTEM : A default energy shield value has been recovered.", bc_map, 0xFFFF00;
+	donpcevent instance_npcname("#172_sec_boss_shield") + "::OnStart";
+	end;
+
+OnBreakShield:
+	switch( mobcount('map_herbs$, instance_npcname("#172_sec_boss") + "::OnBreakShield") ) {
+	case 0:
+		stopnpctimer;
+		unitskilluseid 'boss_gid,"NPC_RELIEVE_OFF",1;
+		mapannounce 'map_herbs$, "SYSTEM : All the Guardian Parts have been destroyed. No energy shield has been recovered.", bc_map, 0xFFFF00;
+		donpcevent instance_npcname("#172_sec_boss_shield") + "::OnStart";
+		end;
+	case 1:
+		.@val = 3;
+		break;
+	case 2:
+		.@val = 5;
+		break;
+	case 3:
+		.@val = 7;
+		break;
+	default:
+		end;
+	}
+	unitskilluseid 'boss_gid,"NPC_RELIEVE_OFF",1;
+	unitskilluseid 'boss_gid,"NPC_RELIEVE_ON",.@val;
+	mapannounce 'map_herbs$, "SYSTEM : The damage to the Guardian Parts has weakened the energy shield.", bc_map, 0xFFFF00;
+	end;
+}
+
+1@herbs,1,1,0	script	#172_sec_boss_shield	HIDDEN_WARP_NPC,{
+	end;
+OnStart:
+	initnpctimer;
+	end;
+OnTimer30000:
+	stopnpctimer;
+	getunitdata 'boss_gid, .@data;
+	.@val = .@data[UMOB_MAXHP] / 10;
+	// todo system to trigger NPC_LOCKON_LASER
+	if (.@data[UMOB_HP] <= (.@val * 8) && 'summon[0] == 0) {
+		'summon[0] = 1;
+		donpcevent instance_npcname("#172_sec_boss") + "::OnShield";
+		end;
+	}
+	if (.@data[UMOB_HP] <= (.@val * 6) && 'summon[1] == 0) {
+		'summon[1] = 1;
+		donpcevent instance_npcname("#172_sec_boss") + "::OnShield";
+		end;
+	}
+	if (.@data[UMOB_HP] <= (.@val * 4) && 'summon[2] == 0) {
+		'summon[2] = 1;
+		donpcevent instance_npcname("#172_sec_boss") + "::OnShield";
+		end;
+	}
+	if (.@data[UMOB_HP] <= (.@val * 2) && 'summon[3] == 0) {
+		'summon[3] = 1;
+		donpcevent instance_npcname("#172_sec_boss") + "::OnShield";
+		end;
+	}
+	if ('summon[0] == 0 || 'summon[1] == 0 || 'summon[2] == 0 || 'summon[3] == 0)
+		initnpctimer;
+	end;
+OnStop:
+	stopnpctimer;
+	end;
+}

+ 1473 - 0
npc/re/instances/LostFarm.txt

@@ -0,0 +1,1473 @@
+//===== rAthena Script =======================================
+//= Lost Farm in Time
+//===== Description: =========================================
+//= [Walkthrough Conversion]
+//= Episode 17.2 Lost Farm in Time
+//===== Changelog: ===========================================
+//= 1.0 Initial release [crazyarashi]
+//= 1.1 Optimizations and cleanup [Everade]
+//= 1.2 Cleanup [Capuche]
+//============================================================
+
+ba_maison,311,206,3	script	Luina#greeen	4_EP17_BASIC_B,{
+	if (checkweight(1000103,20) == 0) {
+		mes "- You cannot proceed with the quest because you have too many items. -";
+		close;
+	}
+	if (BaseLevel < 150) {
+		mes "[Cotton]";
+		mes "Well, you look to weak to work. I don't think you can do it right now.";
+		next;
+		mes "- This quest is for level 150 or higher -";
+		close;
+	}
+	if (ep17_2_main < 9) {
+		mes "- I've met eyes with the automatic doll in front of the farming facility. -";
+		next;
+		mes "- The doll looked at me up and down, and turn its head. -";
+		close;
+	}
+	if (isbegin_quest(8586) == 0) {
+		mes "- I've met eyes with the automatic doll in front of the farming facility. -";
+		next;
+		mes "[Automatic Doll]";
+		mes "Heart rate, blood pressure, and body temperature is all normal.";
+		mes "Breathing is normal. Eyes stability normal.";
+		mes "Checking registration information...";
+		next;
+		mes "- The doll looked at me up and down, and as if she look satisfied. -";
+		next;
+		mes "[Automatic Doll]";
+		mes "Hello, " + strcharinfo(0) + "?";
+		mes "Did you come to see farming facility?";
+		npctalk "Meow.", "Kitty#greeen", bc_self;
+		next;
+		if (select( "Huh.", "No." ) == 2) {
+			mes "[Automatic Doll]";
+			mes "This is the farming facility, where Kitty and the others live.";
+			mes "Just talk to me, if you're interested.";
+			mes "I will explain everything to you.";
+			close;
+		}
+		mes "[Automatic Doll]";
+		mes "Kitty, hold still for a minute. Good boy~";
+		mes "I am in charge of the farm facility here.";
+		mes "I fix the plants, give it fertilizer and feed kitty here and his friends.";
+		npctalk "Purr.", "Kitty#greeen", bc_self;
+		next;
+		mes "[Automatic Doll]";
+		mes "The ingredients for the dessert that comes out from the cafeteria is harvested here.";
+		mes "Ehem.";
+		next;
+		mes "[Automatic Doll]";
+		mes "There have been a lot of guests lately, so we've been given more orders to harvest.";
+		mes "My colleague from an another job has just been assigned to this place, but she's a little clumsy.";
+		mes "It's easy to get a good harvest when everyone listens.";
+		next;
+		select( "You're talkative." );
+		mes "[Luina]";
+		mes "Oh, I forgot that I should introduce myself first, if I wanted to talk to a guest for a long time.";
+		mes "My name is Luina.";
+		next;
+		mes "[Luina]";
+		mes "Kitty here is a plant called a Pitaya. It's an improved ancient species that lived somewhere on this island.";
+		mes "I don't know if it's weird, but I'm not a Pitaya, but I'm good at listening.";
+		next;
+		mes "- Luina stroked the Pitaya. -";
+		npctalk "Purr.", "Kitty#greeen", bc_self;
+		next;
+		mes "[Luina]";
+		mes "My master told me, I should name cute little things.";
+		mes "Kitty, Butterfly, Happy, and so on.";
+		mes "Pitaya is a small and cute creature, so I gave them a name.";
+		next;
+		mes "[Luina]";
+		mes "Kitty is the cutest, the pitaya over here is Kitty.";
+		next;
+		mes "[Luina]";
+		mes "So...";
+		mes "Are you here to cut off some tails?";
+		next;
+		select( "Tail?", "I don't have a tail." );
+		mes "[Luina]";
+		mes "You're here to cut off some tails, aren't you?";
+		mes "Oh, I've made a mistake.";
+		mes "Hold on for a while. I'll process the explanation.";
+		setquest 8586;
+		close;
+	}
+	if (isbegin_quest(8586) == 1) {
+		mes "[Luina]";
+		mes "If you look at Kitty right now, He doesn't have roots, right?";
+		mes "It absorbs moisture from the air and photosyntheses it even without the roots.";
+		mes "Just some fertilizer... and some foods.";
+		next;
+		mes "[Luina]";
+		mes "When you plant the seeds, they grow out of the ground, but I've never seen a multiple sprout before.";
+		next;
+		mes "[Luina]";
+		mes "For the tail, You just grab the Pitaya, stroke it like this, and let them go.";
+		next;
+		mes "- Luina held the Pitaya, demo to on how to pull the tail and put it down. -";
+		next;
+		mes "[Luina]";
+		mes "No, no. I didn't pull it.";
+		mes "The harvested tail is not necessarily enough to eat.";
+		mes "You have to take the loss into account.";
+		npctalk "Cluck...!", "Kitty#greeen", bc_self;
+		next;
+		mes "[Luina]";
+		mes "You need to remove the seeds and the skin, but it's not difficult.";
+		mes "After processing it, the harvested Pitaya tail goes up to the table.";
+		next;
+		mes "[Luina]";
+		mes "Harvesting is actually a bit difficult, so my colleague, 'Silk', will guide you.";
+		mes "You can enter even without a harvest. I'll just let you in here without a guide.";
+		next;
+		mes "[Luina]";
+		mes "If you're free, talk to 'Cotton' here, she's the play manager, and she'll let you know what to do.";
+		mes "I know it's a little hard for you, but... if you lend us a hand, we will properly compensate you.";
+		npctalk "Cotton : I wish it's a little higher...", "Cotton#172_lost_0", bc_self;
+		next;
+		mes "[Luina]";
+		mes "Now that you've heard the instructions, you can enter now.";
+		mes "You can just go in if you want to look around.";
+		next;
+		mes "[Luina]";
+		mes "We talked about Cotton's job first, but it's actually the harvest that's more urgent.";
+		mes "If you're confident in your combat skills, I'd like you to help with the harvest.";
+		mes "I wish you can help me with the harvest...";
+		mes "We have to feed Boss Kitty also.";
+		next;
+		select( "Boss Kitty?" );
+		mes "[Luina]";
+		mes "I just call him that, He is a little different from the other, it's hiding in a place that's hard to see.";
+		mes "If you want to see him around, you'll have to sprink the food and make it a little noisy around the farm.";
+		next;
+		mes "[Luina]";
+		mes "I'm the one in charge of the harvest, so please talk to me anytime you want!";
+		completequest 8586;
+		next;
+		mes "[Luina]";
+		mes "Let's talk about the details when you want to help.";
+		close;
+	}
+	if (isbegin_quest(8589) == 1) {
+		mes "[Luina]";
+		mes "Did the younglings came to play with you?";
+		mes "That's strange... I heard you very well.";
+		mes "... what? Even Silk?";
+		mes "What happened?";
+		next;
+		select( "She is pretending to be a cat." );
+		emotion ET_FRET, getnpcid(0,"Kitty#greeen");
+		mes "[Kitty]";
+		mes "Cluck.";
+		next;
+		mes "-- The cat hid behind Luina before she reached it. --";
+		next;
+		mes "[Luina]";
+		mes "What...";
+		next;
+		mes "[Luina]";
+		mes "Maybe... just maybe?";
+		mes "It's listening to me?";
+		next;
+		select( "I guess." );
+		mes "[Luina]";
+		mes "Kitty.";
+		npctalk "*Growl*", "Kitty#greeen", bc_self;
+		next;
+		mes "[Luina]";
+		mes "...";
+		mes "Is this what the guests would say as 'embarassed'?";
+		npctalk "*Croak*", "Kitty#greeen", bc_self;
+		next;
+		mes "- When Luina reached out her hand to the cat, it put it's heads up to her hand. -";
+		next;
+		mes "- Luina's face became complex with a satisfied expression while petting the cat. -";
+		next;
+		mes "[Luina]";
+		mes "Hmm...";
+		mes "Won't the guest will be able to befriend meow someday?";
+		next;
+		mes "[Luina]";
+		mes "Wouldn't it be great if we continued playing with them like this?";
+		npctalk "*Croak*", "Kitty#greeen", bc_self;
+		next;
+		mes "[Luina]";
+		mes "Yes! Please help Silk again tomorrow as well.";
+		mes "Then, one day... You'll be able to befriend all of the Pitayas!";
+		mes "Here... it's a token of promise.";
+		completequest 8589;
+		getitem 1000103,20;
+		getexp 3094009,0;
+		next;
+		mes "[Luina]";
+		mes "Probably.";
+		npctalk "Quack Quack.", "Kitty#greeen", bc_self;
+		next;
+		mes "- The cat cried with a high pitch sound as if it's excited. -";
+		next;
+	}
+	switch( checkquest(8587,PLAYTIME) ) {
+	case -1:
+		break;
+	case 0:
+	case 1:
+		mes "[Luina]";
+		mes "We have completed the necessary harvest for today.";
+		mes "We will resume our harvest again by dawn. Come back by then.";
+		close;
+	case 2:
+		mes "[Luina]";
+		mes "^0000FFOur struggle with the Pitaya seems like a long time ago.^000000";
+		mes "^0000FFI now have the courage again to go back into the farming facility again.^000000";
+		erasequest 8587;
+		close;
+	}
+	.@party_id = getcharid(1);
+	if (.@party_id < 1) {
+		mes "^FF0000You must organize for atleast one person or join a party to enter.^000000";
+		close;
+	}
+	.@md_name$ = "Farm Lost in Time";
+
+	setarray .@item[0],1000093,1000094,1000095,1000096,1000097,1000098;
+	for ( .@i = 0; .@i < 6; ++.@i ) {
+		if (countitem(.@item[.@i]) > 0) {
+			.@count = 1;
+			delitem .@item[.@i], countitem(.@item[.@i]);
+		}
+	}
+	if (.@count > 0) {
+		mes "[Luina]";
+		mes "!? What happened? You have a broken tail.";
+		mes "I'll take care of that, please.";
+		mes "Thank you.... After the next harvest experience, be sure to deliver it to Silk and come out.";
+		next;
+	}
+	mes "[Luina]";
+	mes "Hello, " + strcharinfo(0) + ".";
+	mes "Are you going to enter the farming facility today?";
+	next;
+	switch( select( (is_party_leader() ? "Create " + .@md_name$ : ""), "Enter the dungeon.", "Cancel" ) ) {
+	case 1:
+		if (instance_create(.@md_name$) == -3)
+			dispbottom "The reservation of the instance '" + .@md_name$ + "' has failed due to an active instance.";
+		mes "[Luina]";
+		mes "Please wait for a moment~";
+		mes "I'll prepare the food for today.";
+		close;
+	case 2:
+		if (instance_enter(.@md_name$) != IE_OK) {
+			mes "^FF0000The memorial dungeon hasn't been created yet.^000000";
+			close;
+		}
+		setquest 8587;
+		if (isbegin_quest(8588) > 0)
+			erasequest 8588;
+		setquest 8588;
+		mapannounce "ba_maison", "" + strcharinfo(0) + " of the party, " + .@party_name$ + ", is entering the " + .@md_name$ + ".", bc_map, "0x00FF99";
+		end;
+	case 3:
+		end;
+	}
+	end;
+
+OnInit:
+	questinfo( QTYPE_QUEST, QMARK_YELLOW, "checkquest(8587,PLAYTIME) == -1" );	// condition on ep17_2_main not required
+	questinfo( QTYPE_QUEST, QMARK_YELLOW, "checkquest(8587,PLAYTIME) == 2" );
+	end;
+}
+
+
+1@lost,1,1,0	script	#lost_farm_control	-1,{
+	end;
+OnInstanceInit:
+	'lost_farm = 0;
+	deletearray 'banghae;
+	'map_lost$ = instance_mapname("1@lost");
+	end;
+}
+
+1@lost,161,40,0	script	#startline	HIDDEN_WARP_NPC,5,5,{
+	end;
+OnTouch:
+	if (!is_party_leader())
+		end;
+	disablenpc();
+	'lost_farm = 0;
+	enablenpc instance_npcname("Wooden Box#01");
+	npctalk "Oh! Guest! Over here!!", instance_npcname("Wooden Box#01");
+	end;
+}
+
+1@lost,163,47,3	script(DISABLED)	Wooden Box#01	4_WOODBOX,{
+	if (!is_party_leader()) {
+		mes "[Silk]";
+		mes "I'll talk to the leader of the guests!";
+		mes "Please bring the leader here!";
+		close;
+	}
+	if ('lost_farm == 0) {
+		mes "[Silk]";
+		mes "Welcome to the breeding ground! I'm silk the one in charge of collecting!";
+		npctalk "Silk : Welcome to the breeding ground! I'm silk the one in charge of collecting!";
+		next;
+		mes "[Silk]";
+		mes "Eeek... Save me!";
+		npctalk "Silk : Eeek... Save me!";
+		close2;
+		if ('lost_farm == 0) {
+			'lost_farm = 1;
+			donpcevent instance_npcname("Wooden Box#01") + "::OnStart";
+		}
+		end;
+	}
+	npctalk "Silk : Calm down the Pitayas!";
+	end;
+
+OnStart:
+	sleep 1000;
+	.@event$ = instance_npcname("Wooden Box#01") + "::OnMobDead";
+	monster 'map_lost$,155,43,"King Eyes",20660,1, .@event$;
+	monster 'map_lost$,154,50,"Happy",20664,1, .@event$;
+	monster 'map_lost$,158,49,"Toto",20661,1, .@event$;
+	monster 'map_lost$,162,48,"Lightning",20662,1, .@event$;
+	monster 'map_lost$,168,49,"Cutie",20660,1, .@event$;
+	monster 'map_lost$,170,45,"Woody",20663,1, .@event$;
+	monster 'map_lost$,165,42,"Rusk",20664,1, .@event$;
+	end;
+OnMobDead:
+	if (mobcount('map_lost$, instance_npcname("Wooden Box#01") + "::OnMobDead") == 0) {
+		'lost_farm = 2;
+		disablenpc();
+		enablenpc instance_npcname("Silk#01");
+		sleep 1000;
+		npctalk "Silk : !!", instance_npcname("Silk#01");
+	}
+	end;
+}
+
+
+1@lost,163,47,3	script(DISABLED)	Silk#01	4_EP17_BASKET,{
+	if (!is_party_leader()) {
+		mes "[Silk]";
+		mes "I'll talk to the leader of the guests!";
+		mes "Please bring the leader here!";
+		close;
+	}
+	if ('lost_farm != 2)
+		end;
+	mes "[Silk]";
+	mes "Thank you for saving my life! According to Luina, the Pitaya are a gentle creature!";
+	npctalk "Silk : Thank you for saving my life! According to Luina, the Pitaya are a gentle creature!";
+	next;
+	mes "[Silk]";
+	mes "You've seen it too! I'm scared!";
+	npctalk "Silk : You've seen it too! I'm scared!";
+	next;
+	mes "[Silk]";
+	mes "Feed and hug for five minutes each? How do I pet them, when they keep showing their teeth?";
+	npctalk "Silk : Feed and hug for five minutes each? How do I pet them, when they keep showing their teeth?";
+	next;
+	mes "[Silk]";
+	mes "What else should be done in 5 minutes!";
+	npctalk "Silk : What else should be done in 5 minutes!";
+	next;
+	mes "[Silk]";
+	mes "...";
+	npctalk "Silk : ...";
+	next;
+	mes "[Silk]";
+	mes "Dear guest...";
+	npctalk "Silk : Dear guest...";
+	next;
+	mes "[Silk]";
+	mes "I understand why Luina asked for more worker because she couldn't harvest quickly herself.";
+	npctalk "Silk : I understand why Luina asked for more worker because she couldn't harvest quickly herself.";
+	next;
+	mes "[Silk]";
+	mes "But it would be faster to hold it and play with it just like you did, rather than petting it for 5 minutes.";
+	npctalk "Silk : But it would be faster to hold it and play with it just like you did, rather than petting it for 5 minutes.";
+	next;
+	mes "[Silk]";
+	mes "... though I can't hold onto it.";
+	npctalk "Silk : ... though I can't hold onto it.";
+	next;
+	mes "[Silk]";
+	mes "Let's move on to the next habitat, it's around here. Ready? Here we go!";
+	npctalk "Silk : Let's move on to the next habitat, it's around here. Ready? Here we go!";
+	close2;
+	if ('lost_farm == 2) {
+		'lost_farm = 3;
+		disablenpc();
+		enablenpc instance_npcname("Silk#02");
+		instance_warpall 'map_lost$,218,149,instance_id();
+	}
+	end;
+}
+
+
+1@lost,214,146,3	script(DISABLED)	Silk#02	4_EP17_BASKET,{
+	if (!is_party_leader()) {
+		mes "[Silk]";
+		mes "I'll talk to the leader of the guests!";
+		mes "Please bring the leader here!";
+		close;
+	}
+	if ('lost_farm == 3) {
+		mes "[Silk]";
+		mes "This facility... As you can see, this is a convenient breeding ground for our scaled friends.";
+		npctalk "Silk : This facility... As you can see, this is a convenient breeding ground for our scaled friends.";
+		next;
+		mes "[Silk]";
+		mes "Whether it's plants or animals. The temperature and humidity are always constant.";
+		npctalk "Silk : Whether it's plants or animals. The temperature and humidity are always constant.";
+		next;
+		mes "[Silk]";
+		mes "I heard it's not pleasant for people, how about breathing?";
+		npctalk "Silk : I heard it's not pleasant for people, how about breathing?";
+		next;
+		mes "[Silk]";
+		mes "Now I'm going to sprinkle some food here, too. Let's get this over with. I'll go hide...";
+		npctalk "Silk : Now I'm going to sprinkle some food here, too. Let's get this over with... I'll go hide.";
+		next;
+		mes "[Silk]";
+		mes "Hey... Guys, it's time for bars and rice~";
+		npctalk "Silk : Hey... Guys, it's time for bars and rice~";
+		close2;
+		if ('lost_farm == 3) {
+			'lost_farm = 4;
+			npctalk "Silk : I've sprinkled the food already, they'll show up soon!";
+			disablenpc();
+			donpcevent instance_npcname("Wooden Box#02") + "::OnStart";
+		}
+		end;
+	}
+	if ('lost_farm == 4) {
+		mes "[Silk]";
+		mes "Haa, haa... I was so scared...";
+		npctalk "Silk : Haa, haa... I was so scared...";
+		next;
+		mes "[" + strcharinfo(0) + "]";
+		mes "Are you sure that you're not playing right now?";
+		unittalk getcharid(3), "" + strcharinfo(0) + " : Are you sure that you're not playing right now?";
+		next;
+		mes "[Silk]";
+		mes "I think it's right for them. I told you before, they'll only produce tails if they're in a good mood.";
+		npctalk "Silk : I think it's right for them. I told you before, they'll only produce tails if they're in a good mood.";
+		next;
+		mes "[Silk]";
+		mes "By the way, shall we move on to the next location...? We're not done yet, so...";
+		npctalk "Silk : By the way, shall we move on to the next location...? We're not done yet, so...";
+		next;
+		mes "[Silk]";
+		mes "The next one is a playground with rocks and sand. When I harvest, I'll have to shake off the sand first...";
+		npctalk "Silk : The next one is a playground with rocks and sand. When I harvest, I'll have to shake off the sand first...";
+		close2;
+		if ('lost_farm == 4) {
+			'lost_farm = 5;
+			disablenpc();
+			enablenpc instance_npcname("Silk#03");
+			instance_warpall 'map_lost$,86,101,instance_id();
+		}
+		end;
+	}
+	end;
+}
+
+1@lost,214,146,3	script(DISABLED)	Wooden Box#02	4_WOODBOX,{
+	npctalk "Silk : Save me! I'm going to get eaten by the Pitayas!";
+	end;
+OnStart:
+	enablenpc();
+	sleep 1000;
+	.@event$ = instance_npcname("Wooden Box#02") + "::OnMobDead";
+	monster 'map_lost$,210,148,"Lucy",20662,1, .@event$;
+	monster 'map_lost$,208,153,"Elizabeth",20660,1, .@event$;
+	monster 'map_lost$,215,151,"Dorothy",20664,1, .@event$;
+	monster 'map_lost$,216,151,"Clara",20661,1, .@event$;
+	monster 'map_lost$,211,143,"Coco",20662,1, .@event$;
+	monster 'map_lost$,211,144,"Cloud",20663,1, .@event$;
+	monster 'map_lost$,216,151,"Harmony",20660,1, .@event$;
+	sleep 3000;
+	npctalk "Silk : He~, Help me~~~~";
+	sleep 3000;
+	npctalk "Silk : Save the automatic doll~~~~~";
+	end;
+OnMobDead:
+	.@count = mobcount('map_lost$, instance_npcname("Wooden Box#02") + "::OnMobDead");
+	if (.@count == 0) {
+		'lost_farm = 4;
+		disablenpc();
+		enablenpc instance_npcname("Silk#02");
+		npctalk "Silk : ...Is it over?", instance_npcname("Silk#02");
+		end;
+	}
+	npctalk "Silk : There " + (.@count == 1 ? "is" : "are") + " " + .@count + " left!";
+	end;
+}
+
+
+1@lost,91,92,3	script(DISABLED)	Silk#03	4_EP17_BASKET,{
+	if (!is_party_leader()) {
+		mes "[Silk]";
+		mes "I'll talk to the leader of the guests!";
+		mes "Please bring the leader here!";
+		close;
+	}
+	if ('lost_farm == 5) {
+		mes "[Silk]";
+		mes "Don't mind my location...";
+		npctalk "Silk : Don't mind my location...";
+		next;
+		mes "[Silk]";
+		mes "Even if it's right to come over to play, at least not with me.";
+		npctalk "Silk : Even if it's right to come over to play, at least not with me.";
+		next;
+		mes "[Silk]";
+		mes "But I think they should be playing with you! That's right!";
+		npctalk "Silk : But I think they should be playing with you! That's right!";
+		next;
+		mes "[Silk]";
+		mes "Anyway, help me with the next harvest! Hey, guys~ It's time to eat~~";
+		npctalk "Silk : Anyway, help me with the next harvest! Hey, guys~ It's time to eat~~";
+		close2;
+		if ('lost_farm == 5) {
+			'lost_farm = 6;
+			npctalk "Silk : I've spread the food, so they'll show up soon!";
+			disablenpc();
+			donpcevent instance_npcname("Wooden Box#03") + "::OnStart";
+		}
+		end;
+	}
+	if ('lost_farm == 7) {
+		mes "[Silk]";
+		mes "Woo...";
+		npctalk "Silk : Woo...";
+		next;
+		mes "[Silk]";
+		mes "You and I... are covered in sand...";
+		npctalk "Silk : You and I... are covered in sand...";
+		next;
+		mes "[Silk]";
+		mes "Oh, I'm waterproof and dustproof, my core is fine.";
+		npctalk "Silk : Oh, I'm waterproof and dustproof, my core is fine.";
+		next;
+		mes "[Silk]";
+		mes "Am I angry? to the guest? no...";
+		npctalk "Silk : Am I angry? to the guest? no...";
+		next;
+		mes "[Silk]";
+		mes "The automatic doll... can I be angry? ...Hmmm...";
+		npctalk "Silk : The automatic doll... can I be angry? ...Hmmm...";
+		next;
+		mes "[Silk]";
+		mes "...not now, but I feel like I can... hmmm.";
+		npctalk "Silk : ...not now, but I feel like I can... hmmm.";
+		next;
+		mes "[Silk]";
+		mes "Next is the playground with an oasis-like pool. Let us go...";
+		npctalk "Silk : Next is the playground with an oasis-like pool. Let us go...";
+		close2;
+		if ('lost_farm == 7) {
+			'lost_farm = 8;
+			disablenpc();
+			enablenpc instance_npcname("Silk#04");
+			instance_warpall 'map_lost$,226,256,instance_id();
+		}
+		end;
+	}
+	end;
+}
+
+1@lost,91,92,3	script(DISABLED)	Wooden Box#03	4_WOODBOX,{
+	npctalk "Silk : Kyaaah!";
+	end;
+OnStart:
+	enablenpc();
+	sleep 1000;
+	.@event$ = instance_npcname("Wooden Box#03") + "::OnMobDead";
+	monster 'map_lost$,81,103,"Lotti",20661,1, .@event$;
+	monster 'map_lost$,81,99,"Sally",20660,1, .@event$;
+	monster 'map_lost$,82,95,"Glory",20662,1, .@event$;
+	monster 'map_lost$,91,108,"Connie",20664,1, .@event$;
+	monster 'map_lost$,92,105,"Boris",20661,1, .@event$;
+	monster 'map_lost$,92,99,"Rony",20664,1, .@event$;
+	monster 'map_lost$,89,94,"Mikey",20663,1, .@event$;
+	sleep 3000;
+	npctalk "Silk : Oh, don't come here~~~";
+	sleep 3000;
+	npctalk "Silk : Not me, not meeee~~~";
+	end;
+OnMobDead:
+	.@count = mobcount('map_lost$, instance_npcname("Wooden Box#03") + "::OnMobDead");
+	if (.@count == 0) {
+		'lost_farm = 7;
+		disablenpc();
+		enablenpc instance_npcname("Silk#03");
+		end;
+	}
+	npctalk "Silk : There " + (.@count == 1 ? "is" : "are") + " " + .@count + " left!";
+	end;
+}
+
+
+
+
+
+
+1@lost,232,257,3	script(DISABLED)	Silk#04	4_EP17_BASKET,{
+	if (!is_party_leader()) {
+		mes "[Silk]";
+		mes "I'll talk to the leader of the guests!";
+		mes "Please bring the leader here!";
+		close;
+	}
+	if ('lost_farm == 8) {
+		mes "[Silk]";
+		mes "Again, don't worry about my location...";
+		npctalk "Silk : Again, don't worry about my location...";
+		next;
+		mes "[Silk]";
+		mes "What do you think? I think you're doing good for a first timer.";
+		npctalk "Silk : What do you think? I think you're doing good for a first timer.";
+		next;
+		mes "[Silk]";
+		mes "As expected, you have a talent for this! I was right!";
+		npctalk "Silk : As expected, you have a talent for this! I was right!";
+		next;
+		mes "[Silk]";
+		mes "Do you think an automatic doll can flatter people? I only told the truth.";
+		npctalk "Silk : Do you think an automatic doll can flatter people? I only told the truth.";
+		next;
+		mes "[Silk]";
+		mes "Let's look at your talent and spread the food! Guys~~ It's time to eat~~~";
+		npctalk "Silk : Let's look at your talent and spread the food! Guys~~ It's time to eat~~~";
+		close2;
+		if ('lost_farm == 8) {
+			'lost_farm = 9;
+			disablenpc();
+			donpcevent instance_npcname("Wooden Box#04") + "::OnStart";
+		}
+		end;
+	}
+	if ('lost_farm == 10) {
+		mes "[Silk]";
+		mes "...";
+		npctalk "Silk : ...";
+		next;
+		mes "[" + strcharinfo(0) + "]";
+		mes "Are you okay?";
+		unittalk getcharid(3), "" + strcharinfo(0) + " : Are you okay?";
+		next;
+		mes "[Silk]";
+		mes "I think it's a little different from geting used to a guest and getting used to this kind of work.";
+		npctalk "Silk : I think it's a little different from geting used to a guest and getting used to this kind of work";
+		next;
+		mes "[Silk]";
+		mes "Let's move on to the next location!";
+		npctalk "Silk : Let's move on to the next location!";
+		next;
+		mes "[" + strcharinfo(0) + "]";
+		mes "Is there another one?";
+		unittalk getcharid(3), "" + strcharinfo(0) + " : Is there another one?";
+		next;
+		mes "[Silk]";
+		mes "It may have been a small greenhouse from the outside, but it's an illusion. Look at the ceiling... It's really high, right?";
+		npctalk "Silk : It may have been a small greenhouse from the outside, but it's an illusion. Look at the ceiling... It's really high, right?";
+		next;
+		mes "[Silk]";
+		mes "There is a reason why I always guide guests.";
+		npctalk "Silk : There is a reason why I always guide guests.";
+		next;
+		mes "[Silk]";
+		mes "Next up is near the entrance, but according to Luina's information, it's a sleepy area. You think it's about to wake up?";
+		npctalk "Silk : Next up is near the entrance, but according to Luina's information, it's a sleepy area. You think he's about to wake up?";
+		close2;
+		if ('lost_farm == 10) {
+			'lost_farm = 11;
+			disablenpc();
+			enablenpc instance_npcname("Silk#05");
+			instance_warpall 'map_lost$,242,117,instance_id();
+		}
+		end;
+	}
+	end;
+}
+
+1@lost,232,257,3	script(DISABLED)	Wooden Box#04	4_WOODBOX,{
+	npctalk "Silk : Don't come! Don't come!";
+	end;
+OnStart:
+	enablenpc();
+	npctalk "Silk : Hey, guys~ Not me~";
+	sleep 1000;
+	.@event$ = instance_npcname("Wooden Box#04") + "::OnMobDead";
+	monster 'map_lost$,227,261,"Rudolf",20664,1, .@event$;
+	monster 'map_lost$,223,262,"Daisy",20663,1, .@event$;
+	monster 'map_lost$,217,260,"Adonis",20660,1, .@event$;
+	monster 'map_lost$,216,252,"Bingo",20662,1, .@event$;
+	monster 'map_lost$,223,253,"Molly",20663,1, .@event$;
+	monster 'map_lost$,228,247,"Sammy",20661,1, .@event$;
+	monster 'map_lost$,234,253,"Joy",20662,1, .@event$;
+	sleep 3000;
+	npctalk "Silk : Don't come! Don't comeee!";
+	sleep 3000;
+	npctalk "Silk : Don't come this waaaaaay!";
+	end;
+OnMobDead:
+	.@count = mobcount('map_lost$, instance_npcname("Wooden Box#04") + "::OnMobDead");
+	if (.@count == 0) {
+		'lost_farm = 10;
+		disablenpc();
+		enablenpc instance_npcname("Silk#04");
+		npctalk "Silk : ...Oh, my...", instance_npcname("Silk#04");
+		end;
+	}
+	npctalk "Silk : There " + (.@count == 1 ? "is" : "are") + " " + .@count + " left!";
+	end;
+}
+
+
+1@lost,247,119,3	script(DISABLED)	Silk#05	4_EP17_BASKET,{
+	if (!is_party_leader()) {
+		mes "[Silk]";
+		mes "I'll talk to the leader of the guests!";
+		mes "Please bring the leader here!";
+		close;
+	}
+	if ('lost_farm == 11) {
+		mes "[Silk]";
+		mes "Deep breaths... Deep Breaths...";
+		npctalk "Silk : Deep breaths... Deep Breaths...";
+		next;
+		mes "[Silk]";
+		mes "What? Does an automatic doll breathe deeply? Wouldn't you want to catch a breath if you can't control your mind?";
+		npctalk "Silk : What? Does an automatic doll breathe deeply? Wouldn't you want to catch a breath if you can't control your mind?";
+		next;
+		mes "[Silk]";
+		mes "Not with lungs, but... Come to think of it, how does Pitaya make a sounds?";
+		npctalk "Silk : Not with lungs, but... Come to think of it, how does Pitaya make a sounds?";
+		next;
+		mes "[Silk]";
+		mes "...I don't want to be afraid.";
+		npctalk "Silk : ...I don't want to be afraid.";
+		next;
+		mes "[Silk]";
+		mes "So let's move on... The Pitayas here are sleepyheads, so the responses may be a little different. Now, guys...Come here...";
+		npctalk "Silk : So let's move on... The Pitayas here are sleepyheads, so the responses may be a little different. Now, guys...Come here...";
+		close2;
+		if ('lost_farm == 11) {
+			'lost_farm = 12;
+			disablenpc();
+			donpcevent instance_npcname("Wooden Box#05") + "::OnStart";
+		}
+		end;
+	}
+	if ('lost_farm == 13) {
+		mes "[Silk]";
+		mes "Phew...";
+		npctalk "Silk : Phew...";
+		next;
+		mes "[" + strcharinfo(0) + "]";
+		mes "Are you okay?";
+		unittalk getcharid(3), "" + strcharinfo(0) + " : Are you okay?";
+		next;
+		mes "[Silk]";
+		mes "Do 'Cats' bite you?";
+		next;
+		mes "[" + strcharinfo(0) + "]";
+		mes "I think so.";
+		unittalk getcharid(3), "" + strcharinfo(0) + " : I think so.";
+		next;
+		mes "[Silk]";
+		mes "Is there a condition that requires you to bite people to be cute?";
+		npctalk "Silk : Is there a condition that requires you to bite people to be cute?";
+		next;
+		mes "[Silk]";
+		mes "As expected... Joy comes with a price.";
+		npctalk "Silk : As expected... Joy comes with a price.";
+		next;
+		mes "[Silk]";
+		mes "To enjoy it's cuteness, I'm ready to give my arms and legs...!";
+		npctalk "Silk : To enjoy it's cuteness, I'm ready to give my arms and legs...!";
+		next;
+		mes "[Silk]";
+		mes "I saw the guests again. I respect you. Oh, of course, it was admirable from the beginning.";
+		npctalk "Silk : I saw the guests again. I respect you. Oh, of course, it was admirable from the beginning.";
+		next;
+		mes "[Silk]";
+		mes "Does an automatic doll make jokes? Oh, you're pretty good at joking. I always mean it.";
+		npctalk "Silk : Does an automatic doll make jokes? Oh, you're pretty good at joking. I always mean it.";
+		next;
+		mes "[Silk]";
+		mes "Do we still have something to harvest? I'm sorry about that, too. Let's move to the next section.";
+		npctalk "Silk : Do we still have something to harvest? I'm sorry about that, too. Let's move to the next section.";
+		close2;
+		if ('lost_farm == 13) {
+			'lost_farm = 14;
+			disablenpc();
+			enablenpc instance_npcname("Silk#06");
+			instance_warpall 'map_lost$,116,165,instance_id();
+		}
+		end;
+	}
+	end;
+}
+
+1@lost,247,119,3	script(DISABLED)	Wooden Box#05	4_WOODBOX,{
+	npctalk "Silk : Save the automatic doll!";
+	end;
+OnStart:
+	enablenpc();
+	npctalk "Silk : ...";
+	sleep 1000;
+	.@event$ = instance_npcname("Wooden Box#05") + "::OnMobDead";
+	monster 'map_lost$,248,115,"Dough",20664,1, .@event$;
+	monster 'map_lost$,247,110,"Roro",20663,1, .@event$;
+	monster 'map_lost$,246,120,"Jasmine",20661,1, .@event$;
+	monster 'map_lost$,243,124,"Melody",20660,1, .@event$;
+	monster 'map_lost$,247,120,"Misty",20664,1, .@event$;
+	monster 'map_lost$,244,115,"Sandy",20662,1, .@event$;
+	monster 'map_lost$,243,116,"Bonnie",20661,1, .@event$;
+	sleep 3000;
+	npctalk "Silk : .....";
+	sleep 3000;
+	npctalk "Silk : ........... what's the difference!";
+	end;
+OnMobDead:
+	.@count = mobcount('map_lost$, instance_npcname("Wooden Box#05") + "::OnMobDead");
+	if (.@count == 0) {
+		'lost_farm = 13;
+		disablenpc();
+		enablenpc instance_npcname("Silk#05");
+		npctalk "Silk : Is it over?!", instance_npcname("Silk#05");
+		end;
+	}
+	npctalk "Silk : There " + (.@count == 1 ? "is" : "are") + " " + .@count + " left!";
+	end;
+}
+
+
+1@lost,106,160,3	script(DISABLED)	Silk#06	4_EP17_BASKET,{
+	if (!is_party_leader()) {
+		mes "[Silk]";
+		mes "I'll talk to the leader of the guests!";
+		mes "Please bring the leader here!";
+		close;
+	}
+	if ('lost_farm == 14) {
+		mes "[Silk]";
+		mes "I'm worried...";
+		npctalk "Silk : I'm worried...";
+		next;
+		mes "[Silk]";
+		mes "There's no distinction between us, but how canthey tell us apart?";
+		npctalk "Silk : There's no distinction between us, but how canthey tell us apart?";
+		next;
+		mes "[Silk]";
+		mes "Do I smell...? Sniff, sniff.";
+		npctalk "Silk : Do I smell...? Sniff, sniff.";
+		next;
+		mes "[Silk]";
+		mes "By the way... Today's quota is finally over half.";
+		npctalk "Silk : By the way... Today's quota is finally over half.";
+		next;
+		mes "[Silk]";
+		mes "This is all thanks to your help... Thank you so much.";
+		npctalk "Silk : This is all thanks to your help... Thank you so much.";
+		next;
+		mes "[Silk]";
+		mes "So let me call the Pitayas around here...";
+		npctalk "Silk : So let me call the Pitayas around here...";
+		close2;
+		if ('lost_farm == 14) {
+			'lost_farm = 15;
+			disablenpc();
+			donpcevent instance_npcname("Wooden Box#06") + "::OnStart";
+		}
+		end;
+	}
+	if ('lost_farm == 16) {
+		mes "[Silk]";
+		mes "Sigh...";
+		npctalk "Silk : Sigh...";
+		next;
+		mes "[Silk]";
+		mes "According to Luina's instructions, what's left now is...";
+		npctalk "Silk : According to Luina's instructions, what's left now is...";
+		next;
+		mes "[Silk]";
+		mes "Only Boss Meow...";
+		npctalk "Silk : Only Boss Meow...";
+		next;
+		mes "[" + strcharinfo(0) + "]";
+		mes "Boss Meow?";
+		unittalk getcharid(3), "" + strcharinfo(0) + " : Boss Meow?";
+		next;
+		mes "[Silk]";
+		mes "If the condition of being cute is biting, then boss meow would be cutest and better at biting as much as the others...";
+		npctalk "Silk : If the condition of being cute is biting, then boss meow would be cutest and better at biting as much as the others..";
+		next;
+		mes "[Silk]";
+		mes "...will bite well...?";
+		npctalk "Silk : ...it will bite well...?";
+		next;
+		mes "[Silk]";
+		mes "To enjoy it's cuteness, I'm ready to give it not only arms and legs but also my colleagues...!";
+		npctalk "Silk : To enjoy it's cuteness, I'm ready to give it not only arms and legs but also my colleagues...!";
+		next;
+		mes "[Silk]";
+		mes "How about it... Dear guest?";
+		npctalk "Silk : How about it... Dear guest?";
+		next;
+		mes "[Silk]";
+		mes "Shall we go?";
+		npctalk "Silk : Shall we go?";
+		close2;
+		if ('lost_farm == 16) {
+			'lost_farm = 17;
+			sleep 3000;
+			npctalk "Silk : The rose garden is where Boss Meow usually sleeps, is on the second floor.";
+			sleep 3000;
+			npctalk "Silk : Let's see, Luina's record... I need to wake up a Big Meow. To get there...";
+			sleep 3000;
+			npctalk "Silk : ...so, two Big Meow... Boss Meow and Big Meow have a hierarchy, so they have a specific location for napping before mealtime...";
+			sleep 3000;
+			npctalk "Silk: I guess we just have to soothe one to make them clear the way. Well, if you choose one side, I'll go and... I'll feed the other side...";
+			sleep 3000;
+			npctalk "Silk : That's okay, I have a good eyesight, so if you get there and give me a signal, I'll take care of it! Now, for the closest one, I'll show you the coordinates on the map...";
+			enablenpc instance_npcname("#compass01");
+			viewpointmap 'map_lost$,1,38,253,1,0xFFFF00;
+			viewpointmap 'map_lost$,1,287,253,2,0xFFFF00;
+		}
+		end;
+	}
+	if ('lost_farm == 17) {
+		mes "[Silk]";
+		mes "You can choose one of the locations on the map and go.";
+		viewpointmap 'map_lost$,1,38,253,1,0xFFFF00;
+		viewpointmap 'map_lost$,1,287,253,2,0xFFFF00;
+		close;
+	}
+	end;
+}
+
+1@lost,113,168,0	script(DISABLED)	#compass01	HIDDEN_WARP_NPC,30,30,{
+	end;
+OnTouch:
+	disablenpc();
+	viewpointmap 'map_lost$,1,38,253,1,0xFFFF00;
+	viewpointmap 'map_lost$,1,287,253,2,0xFFFF00;
+	end;
+}
+
+1@lost,106,160,3	script(DISABLED)	Wooden Box#06	4_WOODBOX,{
+	npctalk "Silk : Save me!";
+	end;
+OnStart:
+	enablenpc();
+	sleep 1000;
+	.@event$ = instance_npcname("Wooden Box#06") + "::OnMobDead";
+	monster 'map_lost$,108,164,"Berry",20661,1, .@event$;
+	monster 'map_lost$,107,169,"Rain",20660,1, .@event$;
+	monster 'map_lost$,111,173,"Windy",20663,1, .@event$;
+	monster 'map_lost$,115,173,"Poppie",20661,1, .@event$;
+	monster 'map_lost$,119,169,"Lala",20662,1, .@event$;
+	monster 'map_lost$,111,160,"Sasha",20664,1, .@event$;
+	monster 'map_lost$,115,161,"Emerald",20660,1, .@event$;
+	npctalk "Silk : I'm~~~";
+	sleep 1000;
+	npctalk "Silk : ...fine~~~~~";
+	sleep 1000;
+	npctalk "Silk : Well, I'm telling you~~~~~~~~ Ugh!";
+	end;
+OnMobDead:
+	.@count = mobcount('map_lost$, instance_npcname("Wooden Box#06") + "::OnMobDead");
+	if (.@count == 0) {
+		'lost_farm = 16;
+		disablenpc();
+		enablenpc instance_npcname("Silk#06");
+		npctalk "Silk : Sigh...", instance_npcname("Silk#06");
+		end;
+	}
+	npctalk "Silk : There " + (.@count == 1 ? "is" : "are") + " " + .@count + " left!";
+	end;
+}
+
+
+// traps left side
+1@lost,38,257,3	script	Big Meow#01	MD_PITAYA_B,{
+	mes "[Big Meow]";
+	mes "Purr.";
+	next;
+	mes "-- Big meow is taking a nap. --";
+	close;
+}
+
+1@lost,38,256,0	script	#cat01warp	HIDDEN_WARP_NPC,4,4,{
+	end;
+OnTouch:
+	if ('lost_farm == 17) {
+		'lost_farm = 18;
+		npctalk "Big Meow : Grrrrrrr.", instance_npcname("Big Meow#01");
+		disablenpc instance_npcname("Big Meow#01");
+		disablenpc instance_npcname("#cat01warp");
+		disablenpc instance_npcname("#compass01");
+		disablenpc instance_npcname("Silk#06");
+
+		enablenpc instance_npcname("banghae#101");
+		enablenpc instance_npcname("banghae#102");
+		enablenpc instance_npcname("banghae#103");
+		enablenpc instance_npcname("banghae#104");
+		enablenpc instance_npcname("banghae#105");
+		donpcevent instance_npcname("Wooden Box#10") + "::OnStart";
+
+		monster 'map_lost$,38,257,"Big Meow",20662,1, instance_npcname("Wooden Box#10") + "::OnMobDead";
+		end;
+	}
+	npctalk "Big Meow : *Sneeze*";
+	warp 'map_lost$,38,226;
+	end;
+}
+
+1@lost,38,265,0	script(DISABLED)	banghae#101	HIDDEN_WARP_NPC,5,5,{
+	end;
+OnTouch_:
+	disablenpc();
+	'banghae[0] = 1;
+	.@event$ = instance_npcname("Wooden Box#10") + "::OnMobDead";
+	monster 'map_lost$,39,269,"Pearl",20663,1, .@event$;
+	monster 'map_lost$,37,269,"Sapphire",20662,1, .@event$;
+	monster 'map_lost$,36,264,"Ruby",20660,1, .@event$;
+	monster 'map_lost$,38,268,"Diamond",20661,1, .@event$;
+	monster 'map_lost$,36,269,"Emerald",20664,1, .@event$;
+	end;
+}
+
+1@lost,38,296,0	script(DISABLED)	banghae#102	HIDDEN_WARP_NPC,5,5,{
+	end;
+OnTouch_:
+	disablenpc();
+	'banghae[1] = 1;
+	.@event$ = instance_npcname("Wooden Box#10") + "::OnMobDead";
+	monster 'map_lost$,35,296,"Sardonyx",20660,1, .@event$;
+	monster 'map_lost$,40,296,"Opal",20664,1, .@event$;
+	monster 'map_lost$,36,294,"Topaz",20662,1, .@event$;
+	monster 'map_lost$,38,299,"Zircon",20661,1, .@event$;
+	monster 'map_lost$,34,298,"Amethyst",20663,1, .@event$;
+	end;
+}
+
+1@lost,51,317,0	script(DISABLED)	banghae#103	HIDDEN_WARP_NPC,5,5,{
+	end;
+OnTouch_:
+	disablenpc();
+	'banghae[2] = 1;
+	.@event$ = instance_npcname("Wooden Box#10") + "::OnMobDead";
+	monster 'map_lost$,48,319,"Aquamarine",20662,1, .@event$;
+	monster 'map_lost$,51,319,"Garnet",20660,1, .@event$;
+	monster 'map_lost$,45,317,"Iolite",20663,1, .@event$;
+	monster 'map_lost$,49,314,"Citrine",20661,1, .@event$;
+	monster 'map_lost$,49,320,"Peridot",20664,1, .@event$;
+	monster 'map_lost$,39,300,"Sardonyx",20660,1, .@event$;
+	monster 'map_lost$,39,300,"Opal",20664,1, .@event$;
+	monster 'map_lost$,39,300,"Topaz",20662,1, .@event$;
+	monster 'map_lost$,39,300,"Zircon",20661,1, .@event$;
+	monster 'map_lost$,39,300,"Amethyst",20663,1, .@event$;
+	end;
+}
+
+1@lost,92,317,0	script(DISABLED)	banghae#104	HIDDEN_WARP_NPC,5,5,{
+	end;
+OnTouch_:
+	disablenpc();
+	'banghae[3] = 1;
+	.@event$ = instance_npcname("Wooden Box#10") + "::OnMobDead";
+	monster 'map_lost$,92,318,"Rutile",20660,1, .@event$;
+	monster 'map_lost$,95,317,"Aragonite",20662,1, .@event$;
+	monster 'map_lost$,91,316,"Amber",20661,1, .@event$;
+	monster 'map_lost$,90,315,"Tanzanite",20662,1, .@event$;
+	monster 'map_lost$,89,316,"Obsidian",20662,1, .@event$;
+	end;
+}
+
+1@lost,135,317,0	script(DISABLED)	banghae#105	HIDDEN_WARP_NPC,5,5,{
+	end;
+OnTouch_:
+	disablenpc();
+	'banghae[4] = 1;
+	.@event$ = instance_npcname("Wooden Box#10") + "::OnMobDead";
+	monster 'map_lost$,139,317,"Onyx",20660,1, .@event$;
+	monster 'map_lost$,139,318,"Tanzite",20663,1, .@event$;
+	monster 'map_lost$,132,314,"Jasper",20660,1, .@event$;
+	monster 'map_lost$,137,313,"Rodonite",20660,1, .@event$;
+	monster 'map_lost$,133,319,"Jet",20662,1, .@event$;
+	end;
+}
+
+
+// traps right side
+1@lost,286,253,3	duplicate(Big Meow#01)	Big Meow#02	MD_PITAYA_Y
+
+1@lost,287,253,0	script	#cat02warp	HIDDEN_WARP_NPC,4,4,{
+	end;
+OnTouch:
+	if ('lost_farm == 17) {
+		'lost_farm = 18;
+		npctalk "Big Meow : Grrrrrrr.", instance_npcname("Big Meow#02");
+		disablenpc instance_npcname("Big Meow#02");
+		disablenpc instance_npcname("#cat02warp");
+		disablenpc instance_npcname("#compass01");
+		disablenpc instance_npcname("Silk#06");
+
+		enablenpc instance_npcname("banghae#201");
+		enablenpc instance_npcname("banghae#202");
+		enablenpc instance_npcname("banghae#203");
+		enablenpc instance_npcname("banghae#204");
+		enablenpc instance_npcname("banghae#205");
+		donpcevent instance_npcname("Wooden Box#10") + "::OnStart";
+
+		monster 'map_lost$,286,253,"Big Meow",20661,1, instance_npcname("Wooden Box#10") + "::OnMobDead";
+		end;
+	}
+	npctalk "Big Meow : *Sneeze*";
+	warp 'map_lost$,287,226;
+	end;
+}
+
+1@lost,286,267,0	script(DISABLED)	banghae#201	HIDDEN_WARP_NPC,5,5,{
+	end;
+OnTouch_:
+	disablenpc();
+	'banghae[0] = 1;
+	.@event$ = instance_npcname("Wooden Box#10") + "::OnMobDead";
+	monster 'map_lost$,283,265,"Pearl",20663,1, .@event$;
+	monster 'map_lost$,287,267,"Sapphire",20662,1, .@event$;
+	monster 'map_lost$,288,268,"Ruby",20660,1, .@event$;
+	monster 'map_lost$,290,265,"Diamond",20661,1, .@event$;
+	monster 'map_lost$,288,262,"Emerald",20664,1, .@event$;
+	end;
+}
+
+1@lost,287,296,0	script(DISABLED)	banghae#202	HIDDEN_WARP_NPC,5,5,{
+	end;
+OnTouch_:
+	disablenpc();
+	'banghae[1] = 1;
+	.@event$ = instance_npcname("Wooden Box#10") + "::OnMobDead";
+	monster 'map_lost$,287,299,"Sardonyx",20660,1, .@event$;
+	monster 'map_lost$,289,298,"Opal",20664,1, .@event$;
+	monster 'map_lost$,284,295,"Topaz",20662,1, .@event$;
+	monster 'map_lost$,290,291,"Zircon",20661,1, .@event$;
+	monster 'map_lost$,287,293,"Amethyst",20663,1, .@event$;
+	end;
+}
+
+1@lost,270,317,0	script(DISABLED)	banghae#203	HIDDEN_WARP_NPC,5,5,{
+	end;
+OnTouch_:
+	disablenpc();
+	'banghae[2] = 1;
+	.@event$ = instance_npcname("Wooden Box#10") + "::OnMobDead";
+	monster 'map_lost$,274,318,"Aquamarine",20662,1, .@event$;
+	monster 'map_lost$,272,316,"Garnet",20660,1, .@event$;
+	monster 'map_lost$,279,318,"Iolite",20663,1, .@event$;
+	monster 'map_lost$,278,316,"Citrine",20661,1, .@event$;
+	monster 'map_lost$,275,315,"Peridot",20664,1, .@event$;
+	end;
+}
+
+1@lost,232,317,0	script(DISABLED)	banghae#204	HIDDEN_WARP_NPC,5,5,{
+	end;
+OnTouch_:
+	disablenpc();
+	'banghae[3] = 1;
+	.@event$ = instance_npcname("Wooden Box#10") + "::OnMobDead";
+	monster 'map_lost$,236,318,"Rutile",20660,1, .@event$;
+	monster 'map_lost$,234,318,"Aragonite",20662,1, .@event$;
+	monster 'map_lost$,241,316,"Amber",20661,1, .@event$;
+	monster 'map_lost$,241,315,"Tanzanite",20662,1, .@event$;
+	monster 'map_lost$,239,315,"Obsidian",20662,1, .@event$;
+	end;
+}
+
+1@lost,195,317,0	script(DISABLED)	banghae#205	HIDDEN_WARP_NPC,5,5,{
+	end;
+OnTouch_:
+	disablenpc();
+	'banghae[4] = 1;
+	.@event$ = instance_npcname("Wooden Box#10") + "::OnMobDead";
+	monster 'map_lost$,201,317,"Onyx",20662,1, .@event$;
+	monster 'map_lost$,199,315,"Tanzite",20663,1, .@event$;
+	monster 'map_lost$,201,314,"Jasper",20660,1, .@event$;
+	monster 'map_lost$,202,317,"Rodonite",20660,1, .@event$;
+	monster 'map_lost$,202,318,"Jet",20662,1, .@event$;
+	end;
+}
+
+
+// boss
+1@lost,161,315,3	script(DISABLED)	Wooden Box#10	4_WOODBOX,{
+	if ('lost_farm < 19) {
+		npctalk "Silk : You must play with all the Pitayas on your way here.";
+		end;
+	}
+	if (!is_party_leader()) {
+		mes "[Silk]";
+		mes "I'll talk to the leader of the guests!";
+		mes "Please bring the leader here!";
+		close;
+	}
+	if ('lost_farm == 19) {
+		mes "[Silk]";
+		mes ".... come this way.";
+		npctalk "Silk : .... come this way.";
+		next;
+		mes "[Silk]";
+		mes "Boss Meow...!";
+		npctalk "Silk : Boss Meow...!";
+		close2;
+		disablenpc();
+		enablenpc instance_npcname("Wooden Box#10-1");
+		sleep 2000;
+		if ('lost_farm == 19) {
+			'lost_farm = 20;
+			donpcevent instance_npcname("#1_lost_boss") + "::OnBossSummon";
+		}
+		end;
+	}
+	if ('lost_farm == 21) {
+		mes "[Silk]";
+		mes "Guest... Huh...";
+		npctalk "Silk : Guest... Huh...";
+		next;
+		mes "[Silk]";
+		mes "This is... it's not fear, it's more like resentment...";
+		npctalk "Silk : This is... it's not fear, it's more like resentment...";
+		next;
+		mes "[Silk]";
+		mes "We are all the same, but I can't do the same job as Luina...";
+		npctalk "Silk : We are all the same, but I can't do the same job as Luina...";
+		next;
+		mes "[" + strcharinfo(0) + "]";
+		mes "Come out for now.";
+		unittalk getcharid(3), "" + strcharinfo(0) + " : Come out for now.";
+		close2;
+		disablenpc();
+		enablenpc instance_npcname("Silk#10");
+		npctalk "Silk : Yah!", instance_npcname("Silk#10");
+		end;
+	}
+	end;
+
+OnStart:
+	enablenpc();
+	sleep 3000;
+	mapannounce 'map_lost$, "Silk : Ahhhhhhhhhhhh! Save me!!",bc_yellow;
+	sleep 3000;
+	mapannounce 'map_lost$, "Silk : I was successful!!!!!!",bc_yellow;
+	sleep 3000;
+	mapannounce 'map_lost$, "Silk : I'll wait in front of the Boss Meow!",bc_yellow;
+	end;
+
+OnMobDead:
+	if ('lost_farm != 18 || 'banghae[0] == 0 || 'banghae[1] == 0 || 'banghae[2] == 0 || 'banghae[3] == 0 || 'banghae[4] == 0)
+		end;
+	if (mobcount('map_lost$, instance_npcname("Wooden Box#10") + "::OnMobDead") == 0) {
+		'lost_farm = 19;
+		npctalk "Silk : Shh.";
+	}
+	end;
+}
+
+1@lost,161,315,3	script(DISABLED)	Wooden Box#10-1	4_WOODBOX,{
+	switch (rand(1,3)) {
+	case 1:
+		npctalk "Silk : He-Help me~~~~!";
+		break;
+	case 2:
+		npctalk "Silk : Ca-calm Boss Meow down~~~";
+		break;
+	case 3:
+		npctalk "Silk : Here~~ You can have my arm~~";
+		break;
+	}
+	end;
+}
+
+1@lost,161,315,3	script(DISABLED)	Silk#10	4_EP17_BASKET,{
+	if (!is_party_leader() && 'lost_farm < 22) {
+		mes "[Silk]";
+		mes "I'll talk to the leader of the guests!";
+		mes "Please bring the leader here!";
+		close;
+	}
+	if ('lost_farm == 21) {
+		mes "[Silk]";
+		mes "The parts that make up each one are different, so what can we use this for...?";
+		next;
+		mes "[Silk]";
+		mes "So this is the only way to harvest in the future...?";
+		next;
+		mes "[Silk]";
+		mes "Well, I can't help it! Did the guests have fun?";
+		next;
+		mes "[" + strcharinfo(0) + "]";
+		mes "Did you have fun?";
+		unittalk getcharid(3), "" + strcharinfo(0) + " : Did you have fun?";
+		next;
+		mes "[Silk]";
+		mes "Yes! It's over! Isn't work supposed to be fun when it's over?";
+		next;
+		mes "[Silk]";
+		mes "If you give me the Pitaya tail you have collected, today's farm experience is over! Come on, let's go outside!";
+		if ('lost_farm == 21)
+			'lost_farm = 22;
+		close;
+	}
+	if (isbegin_quest(8588) == 1) {
+		if (checkweight(1000103,8) == 0) {	// (custom)
+			mes "^008800Wait a sec!!";
+			mes "You cannot receive any more items because you're carrying too many items. Please try again after you lighten up.^000000";
+			close;
+		}
+		mes "[Silk]";
+		mes "Let's see... How many did you collect?";
+		next;
+		setarray .@item[0],1000093,1000094,1000095,1000096,1000097;
+		for ( .@i = 0; .@i < 5; ++.@i ) {
+			if (countitem(.@item[.@i]) > 0) {
+				.@count += countitem(.@item[.@i]);
+				delitem .@item[.@i], countitem(.@item[.@i]);
+			}
+		}
+		if (.@count >= 20)
+			.@reward = 4;
+		else
+			.@reward = 2;
+		if (countitem(1000098) > 0) {
+			delitem 1000098, countitem(1000098);
+			.@reward += 2;
+		}
+		mes "[Silk]";
+		mes "The total is " + .@count + ".";
+		mes "Thank you for your hard work!";
+		erasequest 8588;
+		getitem 1000103, .@reward;
+		next;
+	}
+	mes "[Silk]";
+	mes "So... do you want to go out?";
+	next;
+	if (select( "Go out.", "Don't go out." ) == 2) {
+		mes "[Silk]";
+		mes "Are you waiting for your colleagues?";
+		mes "I'll wait for you, so please tell me when you want to go out~";
+		close;
+	}
+	if (isbegin_quest(8589) == 0) {	// first time entering the instance
+		mes "[Silk]";
+		mes "Luina... I finished the extension report, please say something to the guest after this!";
+		mes "I did a great job... *sob*";
+		setquest 8589;
+	}
+	mes "See you next time!";
+	close2;
+	warp "ba_maison",308,202;
+	end;
+}
+
+
+1@lost,1,1,0	script	#1_lost_boss	HIDDEN_WARP_NPC,{
+	end;
+OnBossSummon:
+	monster 'map_lost$,167,318,"Boss Meow",20659,1, instance_npcname("#1_lost_boss") + "::OnBossKill";
+	donpcevent instance_npcname("#1_lost_boss") + "::OnSlaveSummon";
+	enablenpc instance_npcname("bossbang#301");
+	enablenpc instance_npcname("bossbang#302");
+	enablenpc instance_npcname("bossbang#401");
+	enablenpc instance_npcname("bossbang#402");
+	end;
+OnBossKill:
+	killmonster 'map_lost$, instance_npcname("#1_lost_boss") + "::OnBossKill";
+	if ('lost_farm == 20)
+		'lost_farm = 21;
+	disablenpc instance_npcname("Wooden Box#10-1");
+	disablenpc instance_npcname("bossbang#301");
+	disablenpc instance_npcname("bossbang#302");
+	disablenpc instance_npcname("bossbang#401");
+	disablenpc instance_npcname("bossbang#402");
+	enablenpc instance_npcname("Wooden Box#10");
+	end;
+OnSlaveSummon:
+	// note: mobs not killed when the boss dies
+	monster 'map_lost$,157,316,"Mora",20661,1;
+	monster 'map_lost$,167,314,"Max",20664,1;
+	monster 'map_lost$,166,319,"Cache",20664,1;
+	sleep 3000;
+	monster 'map_lost$,172,318,"Sammy",20655,1;
+	monster 'map_lost$,172,325,"Lightning",20656,1;
+	monster 'map_lost$,169,329,"Daisy",20657,1;
+	monster 'map_lost$,156,329,"Rudolf",20658,1;
+	monster 'map_lost$,155,318,"Happy",20654,1;
+	sleep 3000;
+	monster 'map_lost$,156,329,"Joy",20658,1;
+	monster 'map_lost$,169,329,"Glory",20657,1;
+	monster 'map_lost$,150,323,"King Eyes",20664,1;
+	monster 'map_lost$,161,332,"Elizabeth",20656,1;
+	sleep 6000;
+	monster 'map_lost$,150,320,"Roro",20660,1;
+	monster 'map_lost$,152,314,"Toto",20661,1;
+	monster 'map_lost$,166,327,"Dough",20664,1;
+	monster 'map_lost$,174,318,"Adonis",20660,1;
+	monster 'map_lost$,172,313,"Coco",20662,1;
+	end;
+}
+
+1@lost,135,317,0	script(DISABLED)	bossbang#301	HIDDEN_WARP_NPC,5,5,{
+	end;
+OnTouch_:	// note: mobs not killed when the boss dies
+	monster 'map_lost$,135,319,"Onyx",20656,1;
+	monster 'map_lost$,135,316,"Tanzanite","G_PITAYA_V",1;
+	monster 'map_lost$,131,313,"Jasper","G_PITAYA_R",1;
+	monster 'map_lost$,137,315,"Rhodonite","G_PITAYA_R",1;
+	monster 'map_lost$,133,319,"Jet",20656,1;
+	end;
+}
+
+1@lost,129,317,0	script(DISABLED)	bossbang#302	HIDDEN_WARP_NPC,5,5,{
+	end;
+OnTouch_:
+	monster 'map_lost$,129,316,"Rutile","G_PITAYA_R",1;
+	monster 'map_lost$,132,317,"Aragonite",20656,1;
+	monster 'map_lost$,134,316,"Amber","G_PITAYA_Y",1;
+	monster 'map_lost$,130,316,"Joysite",20656,1;
+	monster 'map_lost$,131,316,"Obsidian",20656,1;
+	end;
+}
+
+1@lost,195,317,0	script(DISABLED)	bossbang#401	HIDDEN_WARP_NPC,5,5,{
+	end;
+OnTouch_:
+	monster 'map_lost$,197,313,"Onyx",20656,1;
+	monster 'map_lost$,194,315,"Tanzanite","G_PITAYA_V",1;
+	monster 'map_lost$,201,313,"Jasper","G_PITAYA_R",1;
+	monster 'map_lost$,200,315,"Rhodonite","G_PITAYA_R",1;
+	monster 'map_lost$,202,318,"Jet",20656,1;
+	end;
+}
+
+1@lost,201,317,0	script(DISABLED)	bossbang#402	HIDDEN_WARP_NPC,5,5,{
+	end;
+OnTouch_:
+	monster 'map_lost$,199,316,"Rutile","G_PITAYA_R",1;
+	monster 'map_lost$,203,317,"Aragonite",20656,1;
+	monster 'map_lost$,204,316,"Amber","G_PITAYA_Y",1;
+	monster 'map_lost$,199,315,"Joysite",20656,1;
+	monster 'map_lost$,193,315,"Obsidian",20656,1;
+	end;
+}

+ 923 - 0
npc/re/instances/TwilightGarden.txt

@@ -0,0 +1,923 @@
+//===== rAthena Script =======================================
+//= Twilight Garden
+//===== Description: =========================================
+//= [Walkthrough Conversion]
+//= Episode 17.2 Twilight Garden
+//= Episode 17.2 Hey Sweety
+//= Note:
+// - NPC_LOCKON_LASER skill is currently no implemented.
+//===== Changelog: ===========================================
+//= 1.0 Initial release [crazyarashi]
+//= 1.1 Optimizations and cleanup [Everade]
+//= 1.2 Cleanup [Capuche]
+//============================================================
+
+1@bamn,1,1,0	script	#twilight_garden_control	-1,{
+	end;
+OnInstanceInit:
+	'twilight_story = 0;
+	'sweety = 0;
+	'map_bamn$ = instance_mapname("1@bamn");
+	'map_bamq$ = instance_mapname("1@bamq");
+
+	// npcs from story
+	//----------------------------
+	// npcs on 1@bamn
+
+	// disablenpc instance_npcname("Repeater#wifi03");	// (not disabled)
+	// disablenpc instance_npcname("Repeater#wifi02");	// (not disabled)
+	// disablenpc instance_npcname("Repeater#wifi01");	// (not disabled)
+
+	//----------------------------
+	// Daily: Hey! Sweety
+	if (instance_live_info(ILI_NAME) == "Hey! Sweety")
+		disablenpc instance_npcname("#bamn_evt01");	// story starter npc
+	else
+		disablenpc instance_npcname("#sweety_evt01");	// daily starter npc
+	end;
+}
+
+// Story
+1@bamn,100,320,0	script	#bamn_evt01	HIDDEN_WARP_NPC,2,2,{
+	end;
+OnTouch:
+	if (!is_party_leader())
+		end;
+	disablenpc();
+	enablenpc instance_npcname("Est#est01");
+	end;
+}
+
+1@bamn,96,318,5	script(DISABLED)	Est#est01	4_F_ESTLOVELOY,{
+	if (!is_party_leader())
+		end;
+	if ('twilight_story == 0) {
+		'twilight_story = 1;
+		npctalk "Est : It's dark and quiet. If you want to execute the plan, now's the perfect time. Right?";
+		sleep 2000;
+		npctalk "Est : Elena said she'd join us later, but there's a good chance she won't able to join.";
+		sleep 2000;
+		npctalk "Est : Even so, there's no need to worry. The others are prepared and waiting for the ambush signal.";
+		sleep 2000;
+		npctalk "Est : All we have to do is walk around like a patrol and catch them off guard.";
+		sleep 2000;
+		npctalk "Est : Go along the road to the main building of the mansion. I'll lurk behind you.";
+		sleep 2000;
+		npctalk "Est : Don't look around too much, and pretend you're not vigilant, got it?";
+		sleep 2000;
+		npctalk "Est : Now, let's go.";
+		for ( .@i = 1; .@i < 6; ++.@i )
+			enablenpc instance_npcname("Heart Hunter#md_hh0" + .@i);
+		end;
+	}
+	if ('twilight_story == 1)
+		end;
+	if ('twilight_story == 2) {
+		cutin "ep162_est01",2;
+		mes "[Est]";
+		mes "They must have been waiting too.";
+		mes "Let's do this more quietly.";
+		close3;
+	}
+	end;
+}
+
+1@bamn,119,299,3	script(DISABLED)	Heart Hunter#md_hh01	G_EP17_2_HEART_HUNTER,3,3,{
+	end;
+OnTouch_:
+	if (!is_party_leader())
+		end;
+	if ('twilight_story == 1) {
+		'twilight_story = 2;
+		npctalk "Quietly surrender or return back to where you came from.";
+		sleep 2000;
+		npctalk "Well, that doesn't mean we'll let you go back.";
+		sleep 1000;
+		for ( .@i = 1; .@i < 6; ++.@i )
+			disablenpc instance_npcname("Heart Hunter#md_hh0" + .@i);
+		donpcevent instance_npcname("twilight_story_mob_1") + "::OnStart";
+	}
+	end;
+}
+
+1@bamn,119,305,3	duplicate(dummy_disabled_npc)	Heart Hunter#md_hh02	G_EP17_2_HEART_HUNTER
+1@bamn,119,302,3	duplicate(dummy_disabled_npc)	Heart Hunter#md_hh03	G_EP17_2_HEART_HUNTER
+1@bamn,119,296,3	duplicate(dummy_disabled_npc)	Heart Hunter#md_hh04	G_EP17_2_HEART_HUNTER
+1@bamn,119,293,3	duplicate(dummy_disabled_npc)	Heart Hunter#md_hh05	G_EP17_2_HEART_HUNTER
+
+
+1@bamn,1,1,0	script	twilight_story_mob_1	-1,{
+	end;
+OnStart:
+	.@event$ = instance_npcname("twilight_story_mob_1") + "::OnMobDead";
+	monster 'map_bamn$,119,308,"Heart Hunter","G_EP17_2_HEART_HUNTER",1, .@event$;
+	monster 'map_bamn$,128,308,"Heart Hunter","G_EP17_2_HEART_HUNTER",1, .@event$;
+	monster 'map_bamn$,121,300,"Heart Hunter","G_EP17_2_HEART_HUNTER",1, .@event$;
+	monster 'map_bamn$,118,293,"Heart Hunter","G_EP17_2_HEART_HUNTER",1, .@event$;
+	monster 'map_bamn$,124,294,"Heart Hunter","G_EP17_2_HEART_HUNTER",1, .@event$;
+	monster 'map_bamn$,130,308,"Heart Hunter","G_EP17_2_HEART_HUNTER",1, .@event$;
+	end;
+OnMobDead:
+	.@event$ = instance_npcname("twilight_story_mob_1") + "::OnMobDead";
+	if (mobcount('map_bamn$, .@event$) < 1) {
+		disablenpc instance_npcname("Est#est01");
+		enablenpc instance_npcname("Est#est02");
+		if ('twilight_story == 2)
+			'twilight_story = 3;
+	}
+	end;
+}
+
+1@bamn,119,299,5	script(DISABLED)	Est#est02	4_F_ESTLOVELOY,{
+	if (!is_party_leader())
+		end;
+	if ('twilight_story == 3) {
+		cutin "ep162_est01",2;
+		mes "[Est]";
+		mes "I don't know if we should set a trap, or give you a chance.";
+		mes "Activate the tracker that we got from Elyumina.";
+		next;
+		cutin "",255;
+		unittalk getcharid(3), "" + strcharinfo(0) + " : Tracker : According to the intuition of the great Elyumina... Too Doo Too Doo Too~";
+		sleep2 2000;
+		unittalk getcharid(3), "" + strcharinfo(0) + " : Tracker : Over there!! Beep!";
+		navigateto("1@bamn",206,273);
+		sleep2 2000;
+		cutin "ep162_est01",2;
+		mes "[Est]";
+		mes "That's a loud thing.";
+		mes "Will you move out first?";
+		mes "I have a place to go for a second.";
+		next;
+		mes "[Est]";
+		mes "I'll join you soon.";
+		close2;
+		if ('twilight_story == 3) {
+			'twilight_story = 4;
+			donpcevent instance_npcname("twilight_story_mob_2") + "::OnStart";
+		}
+		cutin "",255;
+		disablenpc();
+		end;
+	}
+	end;
+}
+
+1@bamn,1,1,0	script	twilight_story_mob_2	-1,{
+	end;
+OnStart:
+	.@event$ = instance_npcname("twilight_story_mob_2") + "::OnMobDead";
+	monster 'map_bamn$,208,283,"Heart Hunter","G_EP17_2_HEART_HUNTER",1, .@event$;
+	monster 'map_bamn$,210,285,"Heart Hunter","G_EP17_2_HEART_HUNTER",1, .@event$;
+	monster 'map_bamn$,210,282,"Heart Hunter","G_EP17_2_HEART_HUNTER",1, .@event$;
+	monster 'map_bamn$,213,284,"Heart Hunter","G_EP17_2_HEART_HUNTER",1, .@event$;
+	monster 'map_bamn$,213,281,"Heart Hunter","G_EP17_2_HEART_HUNTER",1, .@event$;
+	end;
+OnMobDead:
+	.@event$ = instance_npcname("twilight_story_mob_2") + "::OnMobDead";
+	if (mobcount('map_bamn$, .@event$) < 1) {
+		enablenpc instance_npcname("Est#est03");
+		enablenpc instance_npcname("Almond#amond01");
+		if ('twilight_story == 4)
+			'twilight_story = 5;
+	}
+	end;
+}
+
+1@bamn,202,274,5	script(DISABLED)	Est#est03	4_F_ESTLOVELOY,{
+	if ('twilight_story == 5) {
+		cutin "ep162_est01",2;
+		mes "[Est]";
+		mes "I thought it might be better to throw in more bait, so I went to ask for the help of the automatic dolls.";
+		mes "Also, Almond said she had to go out and check something.";
+		next;
+		cutin "ep172_beta",0;
+		mes "[Almond]";
+		mes "The repeater is dead again. That's why I have to fix it.";
+		mes "The repeater is the favorite target of the intruders, so we can't just leave it broken, right?";
+		next;
+		cutin "ep162_est01",2;
+		mes "[Est]";
+		mes "For that reason, I'd like to ask you to escort Almon here to check the repeater.";
+		mes "I'll look around and find other routes.";
+		next;
+		cutin "ep172_beta",0;
+		mes "[Almond]";
+		mes "Let's go together whenever you're ready.";
+		close2;
+		cutin "",255;
+		if ('twilight_story == 5)
+			'twilight_story = 6;
+		end;
+	}
+	if ('twilight_story == 6) {
+		cutin "ep162_est01",2;
+		mes "[Est]";
+		mes "Talk to Almond, when you're ready to move.";
+		close3;
+	}
+	end;
+}
+
+1@bamn,199,275,5	script(DISABLED)	Almond#amond01	EP17_2_BETA_BASIC,{
+	if ('twilight_story < 6) {
+		cutin "ep172_beta",2;
+		mes "[Almond]";
+		mes "Everyone was supposed to be in the mansion today.";
+		mes "Something important came up. That's why I'm here with Est.";
+		close3;
+	}
+	if ('twilight_story == 6) {
+		'guide = getnpcid(0);
+		'twilight_story = 7;
+		npcspeed 200;
+		npctalk "Then, let us go.";
+		unitwalk 'guide,199,248, instance_npcname("Almond#amond01") + "::OnEvent00";
+		enablenpc instance_npcname("Intruder#sweety02");
+		end;
+	}
+	if ('twilight_story == 7)
+		end;
+	if ('twilight_story == 8) {
+		'twilight_story = 9;
+		unittalk getcharid(3), "" + strcharinfo(0) + " : Tracker : Pyo-o-o-o-o! There!!";
+		setpcblock PCBLOCK_NPC, true;
+		navigateto("1@bamn",242,206);
+		sleep2 2000;
+		npctalk "Ahahaha, it's noisy.";
+		sleep2 2000;
+		npctalk "I'm curious, should we go quickly?";
+		sleep2 2000;
+		npctalk "Guest, there is an intruder!";
+		donpcevent instance_npcname("twilight_story_mob_3") + "::OnStart";
+		setpcblock PCBLOCK_NPC, false;
+		sleep 200;
+		npcspeed 80;
+		unitwalk 'guide,245,229, instance_npcname("Almond#amond01") + "::OnEvent02";
+		end;
+	}
+	if ('twilight_story == 10 || 'twilight_story == 11 || 'twilight_story == 12) {
+		npctalk "Be careful!";
+		end;
+	}
+	if ('twilight_story == 13) {
+		'twilight_story = 14;
+		npcspeed 200;
+		setpcblock PCBLOCK_NPC, true;
+		npctalk "Let's go check the repeater.";
+		sleep2 2000;
+		setpcblock PCBLOCK_NPC, false;
+		sleep2 1000;
+		unitwalk 'guide,244,208, instance_npcname("Almond#amond01") + "::OnEvent04";
+		end;
+	}
+	if ('twilight_story == 14)
+		end;
+	if ('twilight_story == 15) {
+		'twilight_story = 16;
+		setpcblock PCBLOCK_NPC, true;
+		for ( .@i = 1; .@i < 5; ++.@i )
+			enablenpc instance_npcname("Rebellion#md_rb0" + .@i);
+		for ( .@i = 6; .@i < 9; ++.@i )
+			enablenpc instance_npcname("Heart Hunter#md_hh0" + .@i);
+		unittalk getcharid(3), "" + strcharinfo(0) + " : Tracker : Kakakakakakakil! The culprit is around! They're on my radar! It's that way!";
+		navigateto("1@bamn",332,143);
+		sleep2 2000;
+		setpcblock PCBLOCK_NPC, false;
+		sleep2 1000;
+		npcspeed 80;
+		npctalk "There's another intruder! No wonder I'm starting to get excited~!";
+		unitwalk 'guide,332,169;
+		end;
+	}
+	if ('twilight_story < 18)
+		end;
+	if ('twilight_story == 18) {
+		npcspeed 200;
+		'twilight_story = 19;
+		npctalk "Are you all right, adventurer? Then, we can keep going.";
+		unitwalk 'guide,332,143, instance_npcname("Almond#amond01") + "::OnEvent11";
+		end;
+	}
+	if ('twilight_story == 19)
+		end;
+	if ('twilight_story == 20) {
+		npctalk "Shouldn't you talk to Est? Looks like she've been waiting.";
+		end;
+	}
+	end;
+
+OnEvent00:
+	npctalk "This way.";
+	sleep 1000;
+	unitwalk 'guide,225,248, instance_npcname("Almond#amond01") + "::OnFollow00";
+	end;
+OnFollow00:
+	unitwalk 'guide,245,248, instance_npcname("Almond#amond01") + "::OnEvent01";
+	end;
+OnEvent01:
+	npctalk "Let's go see the Repeater that is oftenly hacked.";
+	sleep 2000;
+	npctalk "Huh? What are you carrying right now? Take it out and show it to me.";
+	'twilight_story = 8;
+	end;
+
+OnEvent02:
+	npctalk "Adventurer, there's an intruder!";
+	unitwalk 'guide,245,215, instance_npcname("Almond#amond01") + "::OnEvent03";
+	end;
+OnEvent03:
+	'twilight_story = 10;
+	end;
+
+OnEvent04:
+	npctalk "...checking the signal.";
+	sleep 2000;
+	npctalk "...hacking channel checked.";
+	sleep 2000;
+	npctalk "...recovering...";
+	sleep 2000;
+	npctalk "...recovering...84%";
+	sleep 2000;
+	npctalk "...recovery completed.";
+	sleep 2000;
+	npctalk "Shall we go to the repeater?";
+	sleep 2000;
+	unitwalk 'guide,245,204, instance_npcname("Almond#amond01") + "::OnEvent05";
+	end;
+OnEvent05:
+	npctalk "Adventurer. Do you like Almonds? A customer who liked almonds named me. Does it suit me?";
+	sleep 3000;
+	unitwalk 'guide,265,204, instance_npcname("Almond#amond01") + "::OnEvent06";
+	end;
+OnEvent06:
+	npctalk "That kid a while ago, I've seen him before.";
+	unitwalk 'guide,285,204, instance_npcname("Almond#amond01") + "::OnEvent07";
+	end;
+OnEvent07:
+	npctalk "But he always ran so well, It's the first time I've seen him properly~";
+	unitwalk 'guide,300,204, instance_npcname("Almond#amond01") + "::OnEvent08";
+	end;
+OnEvent08:
+	npctalk "The Pitaya's here is cute~ They say Almonds is delicious? Have you eaten almonds before?";
+	sleep 2000;
+	npctalk "This way.";
+	unitwalk 'guide,300,190, instance_npcname("Almond#amond01") + "::OnEvent09";
+	end;
+OnEvent09:
+	npctalk "It's been a while since I've been this comfortable~";
+	unitwalk 'guide,327,189, instance_npcname("Almond#amond01") + "::OnEvent10";
+	end;
+OnEvent10:
+	npctalk "Adventurer. Is that noisy thing flickering again? Let us check it for a second.";
+	'twilight_story = 15;
+	end;
+
+OnEvent11:
+	npctalk "...checking the signal.";
+	sleep 2000;
+	npctalk "...hacking channel checked.";
+	sleep 2000;
+	npctalk "...recovering...";
+	sleep 2000;
+	npctalk "...recovering...72%";
+	sleep 2000;
+	npctalk "...recovery completed.";
+	sleep 2000;
+	npctalk "Let's go to the next repeater~";
+	sleep 2000;
+	unitwalk 'guide,320,139, instance_npcname("Almond#amond01") + "::OnFollow12";
+	end;
+OnFollow12:
+	unitwalk 'guide,300,139, instance_npcname("Almond#amond01") + "::OnEvent12";
+	end;
+OnEvent12:
+	npctalk "It's the kid from before, right? He's an intruder. That's weird, kind of like almonds...";
+	unitwalk 'guide,285,139, instance_npcname("Almond#amond01") + "::OnEvent13";
+	end;
+OnEvent13:
+	npctalk "Shall we go faster? There's a sound coming from over there...";
+	unitwalk 'guide,285,118, instance_npcname("Almond#amond01") + "::OnEvent14";
+	end;
+OnEvent14:
+	npctalk "It's more quiet than I thought. Where did the intruders go?";
+	unitwalk 'guide,285,98, instance_npcname("Almond#amond01") + "::OnEvent15";
+	end;
+OnEvent15:
+	npctalk "This way.";
+	unitwalk 'guide,261,98, instance_npcname("Almond#amond01") + "::OnEvent16";
+	end;
+OnEvent16:
+	npcspeed 80;
+	npctalk "It's Est!";
+	'twilight_story = 20;
+	unitwalk 'guide,261,87;
+	end;
+}
+
+1@bamn,1,1,0	script	twilight_story_mob_3	-1,{
+	end;
+OnStart:
+	.@event$ = instance_npcname("twilight_story_mob_3") + "::OnMobDead";
+	monster 'map_bamn$,246,208,"Heart Hunter","G_EP17_2_HEART_HUNTER",1, .@event$;
+	monster 'map_bamn$,248,208,"Heart Hunter","G_EP17_2_HEART_HUNTER",1, .@event$;
+	monster 'map_bamn$,246,206,"Heart Hunter","G_EP17_2_HEART_HUNTER",1, .@event$;
+	monster 'map_bamn$,248,206,"Heart Hunter","G_EP17_2_HEART_HUNTER",1, .@event$;
+	enablenpc instance_npcname("Intruder#sweety02");
+	end;
+OnMobDead:
+	.@event$ = instance_npcname("twilight_story_mob_3") + "::OnMobDead";
+	if (mobcount('map_bamn$, .@event$) < 1) {
+		if ('twilight_story == 10)
+			'twilight_story = 11;
+	}
+	end;
+}
+
+1@bamn,243,208,5	script	Repeater#wifi03	CLEAR_NPC,{
+	mes "There is no way to find out what the state of the repeater is. The communication chip seems to be properly installed.";
+	close;
+}
+
+1@bamn,242,206,7	script(DISABLED)	Intruder#sweety02	4_EP17_SWEETY,{
+	if ('twilight_story < 11) {
+		npctalk "You're one step behind! You bunch of idiots!";
+		end;
+	}
+	if ('twilight_story == 11) {
+		'twilight_story = 12;
+		npctalk "Hah! Do you think you can catch me?";
+		sleep 2000;
+		npctalk "Go suffer!";
+		sleep 500;
+		disablenpc();
+		donpcevent instance_npcname("twilight_story_mob_4") + "::OnStart";
+		end;
+	}
+	end;
+}
+
+1@bamn,1,1,0	script	twilight_story_mob_4	-1,{
+	end;
+OnStart:
+	.@event$ = instance_npcname("twilight_story_mob_4") + "::OnMobDead";
+	monster 'map_bamn$,248,206,"Heart Hunter Commander","G_BELLARE3",1, .@event$;
+	monster 'map_bamn$,248,208,"Heart Hunter Commander","G_BELLARE3",1, .@event$;
+	end;
+OnMobDead:
+	.@event$ = instance_npcname("twilight_story_mob_4") + "::OnMobDead";
+	if (mobcount('map_bamn$, .@event$) < 1) {
+		if ('twilight_story == 12)
+			'twilight_story = 13;
+	}
+	end;
+}
+
+
+1@bamn,331,161,3	script(DISABLED)	Rebellion#md_rb02	4_F_REBELLION,7,7,{
+	end;
+OnTouch:
+	if ('twilight_story == 16) {
+		'twilight_story = 17;
+		npctalk "We'll take over this place, just watch!";
+		sleep 1000;
+		specialeffect EF_DESPERADO, AREA, instance_npcname("Heart Hunter#md_hh06");
+		sleep 1000;
+		npctalk "Kakaka, Let's beat them down with a blast!", instance_npcname("Rebellion#md_rb04");
+		specialeffect EF_TRIPLEACTION, AREA, instance_npcname("Heart Hunter#md_hh07");
+		sleep 1000;
+		specialeffect EF_DESPERADO, AREA, instance_npcname("Heart Hunter#md_hh07");
+		sleep 2000;
+		npctalk "Thank you for showing yourselves! You bastards!", instance_npcname("Rebellion#md_rb03");
+		sleep 2000;
+		specialeffect EF_DESPERADO, AREA, instance_npcname("Heart Hunter#md_hh08");
+		sleep 2000;
+		npctalk "...", instance_npcname("Heart Hunter#md_hh07");
+		sleep 2000;
+		npctalk "...(Nods)", instance_npcname("Heart Hunter#md_hh06");
+		sleep 1000;
+		npctalk "...", instance_npcname("Heart Hunter#md_hh08");
+		sleep 1000;
+		npctalk "What signal are you sending to each other?";
+		sleep 1000;
+		specialeffect EF_DESPERADO, AREA, instance_npcname("Heart Hunter#md_hh07");
+		for ( .@i = 1; .@i < 5; ++.@i )
+			specialeffect EF_SPREADATTACK, AREA, instance_npcname("Rebellion#md_rb0" + .@i);
+		sleep 1000;
+		for ( .@i = 6; .@i < 9; ++.@i )
+			disablenpc instance_npcname("Heart Hunter#md_hh0" + .@i);
+		sleep 1000;
+		npctalk "What? Did they ran?! Move out!";
+		sleep 2000;
+		for ( .@i = 1; .@i < 5; ++.@i )
+			disablenpc instance_npcname("Rebellion#md_rb0" + .@i);
+		enablenpc instance_npcname("Intruder#sweety03");
+		npctalk "What...?", instance_npcname("Intruder#sweety03");
+	}
+	end;
+}
+1@bamn,321,161,5	duplicate(dummy_disabled_npc)	Rebellion#md_rb01	4_M_REBELLION
+1@bamn,331,155,1	duplicate(dummy_disabled_npc)	Rebellion#md_rb03	4_M_REBELLION
+1@bamn,321,155,7	duplicate(dummy_disabled_npc)	Rebellion#md_rb04	4_F_REBELLION
+1@bamn,324,158,7	duplicate(dummy_disabled_npc)	Heart Hunter#md_hh06	G_EP17_2_HEART_HUNTER
+1@bamn,326,159,3	duplicate(dummy_disabled_npc)	Heart Hunter#md_hh07	G_EP17_2_HEART_HUNTER
+1@bamn,328,158,1	duplicate(dummy_disabled_npc)	Heart Hunter#md_hh08	G_EP17_2_HEART_HUNTER
+
+
+1@bamn,333,141,7	script(DISABLED)	Intruder#sweety03	4_EP17_SWEETY,{
+	if ('twilight_story == 17) {
+		setpcblock PCBLOCK_NPC, true;
+		'twilight_story = 18;
+		npctalk "What, where did the other guys go?";
+		sleep2 2000;
+		npctalk "Did you do it?";
+		sleep2 2000;
+		npctalk "You're pretty good, aren't you?";
+		sleep2 2000;
+		npctalk "Repeater : (... .. ..)", instance_npcname("Repeater#wifi02");
+		npctalk "Oh, there's a message. Stay there for a while. Yes, Hello.";
+		sleep2 2000;
+		npctalk "Repeater : (... ??... ??)", instance_npcname("Repeater#wifi02");
+		sleep2 2000;
+		npctalk "Now? More time... Yes, no... Ah...";
+		sleep2 2000;
+		npctalk "... ... so far... no?!... Okay...";
+		sleep2 2000;
+		emotion ET_THINK;
+		sleep2 2000;
+		npctalk "You! You're the reason I don't have time right now! I'll kill you the next time we meet!";
+		sleep2 2000;
+		disablenpc();
+		enablenpc instance_npcname("Est#est04");
+		for ( .@i = 5; .@i < 9; ++.@i )
+			enablenpc instance_npcname("Rebellion#md_rb0" + .@i);
+		for ( .@i = 0; .@i < 3; ++.@i )
+			enablenpc instance_npcname("Heart Hunter#md_hh1" + .@i);
+		setpcblock PCBLOCK_NPC, false;
+	}
+	end;
+}
+1@bamn,334,143,5	duplicate(dummy_npc)	Repeater#wifi02	2_POSTBOX
+
+
+1@bamn,257,84,3	script(DISABLED)	Est#est04	4_F_ESTLOVELOY,{
+	if ('twilight_story == 20) {
+		cutin "ep162_est01",2;
+		mes "[Est]";
+		mes "I've heard the report. You found a guy who looked like the leader?";
+		mes "I think the rest of the members are somewhat good too.";
+		next;
+		mes "[Est]";
+		mes "What happened to the repeater?";
+		next;
+		cutin "ep172_beta",2;
+		mes "[Almond]";
+		mes "Were on the way to the other one.";
+		mes "But it's quite far from here.";
+		next;
+		cutin "ep162_est01",2;
+		mes "[Est]";
+		mes "Hmm... Shall we do this?";
+		mes "The guy you missed is a boy with purple hair, right?";
+		mes "We're going to bait him out.";
+		next;
+		mes "[Est]";
+		mes "I'll deal with the rest who's hiding in the garden.";
+		mes "Ah. I'll also escort Almond.";
+		next;
+		mes "[Est]";
+		mes "He probably went to the western part of the mansion, so head over there.";
+		mes "You have Elyumina's tracker. It will activate, if you get near him.";
+		if ('twilight_story == 20) {
+			'twilight_story = 21;
+			enablenpc instance_npcname("#to_bamq");
+			enablenpc instance_npcname("Intruder#sweety");
+			enablenpc instance_npcname("#to_swty01");
+			enablenpc instance_npcname("#to_swty02");
+		}
+		close3;
+	}
+	if ('twilight_story == 21) {
+		mes "[Est]";
+		mes "He probably went to the western part of the mansion, so head over there.";
+		mes "You have Elyumina's tracker, if you get near him, it will activate.";
+		next;
+		mes "[Est]";
+		mes "Don't worry, I'll take care of Almond from here.";
+		close3;
+	}
+	end;
+}
+
+1@bamn,250,80,7	script(DISABLED)	Rebellion#md_rb05	4_M_REBELLION,{
+	npctalk "Leave the rest to us.";
+	end;
+}
+
+// 1@bamn,254,80,7	script	Rebellion#md_rb06	4_F_REBELLION,7,7,{	// unknown effect
+1@bamn,254,80,7	script(DISABLED)	Rebellion#md_rb06	4_F_REBELLION,{
+	npctalk "Hehehe... It's finally time for revenge... Hehehe...";
+	end;
+}
+
+1@bamn,258,80,1	script(DISABLED)	Rebellion#md_rb07	4_M_REBELLION,{
+	npctalk "If there's an enemy causing commotion, we should attack them with more numbers.";
+	end;
+}
+
+1@bamn,202,84,3	script(DISABLED)	Rebellion#md_rb08	4_M_REBELLION2,{
+	npctalk "You're looking for a boy with purple hair, right? He went towards the labs.";
+	end;
+}
+
+
+1@bamn,67,173,0	script(DISABLED)	#to_swty01	HIDDEN_WARP_NPC,5,5,{
+	end;
+OnTouch:
+	if ('twilight_story == 21) {
+		unittalk getcharid(3), "" + strcharinfo(0) + " : Tracker : Pyo-o-o-o-o! That way! Pyo-pyo~!";
+		navigateto("1@bamn",33,224);
+	}
+	end;
+}
+
+1@bamn,121,204,0	duplicate(#to_swty01)	#to_swty02	HIDDEN_WARP_NPC,7,7
+
+1@bamn,67,195,3	script(DISABLED)	Heart Hunter#md_hh10	G_BELLARE3,5,5,{
+	end;
+OnTouch:
+	monster 'map_bamn$,67,195,"Heart Hunter Commander","G_BELLARE3",1;
+	monster 'map_bamn$,65,199,"Heart Hunter Commander","G_BELLARE3",1;
+	monster 'map_bamn$,71,197,"Heart Hunter Commander","G_BELLARE3",1;
+	disablenpc();
+	end;
+}
+
+1@bamn,78,204,5	script(DISABLED)	Heart Hunter#md_hh11	G_BELLARE3,5,5,{
+	end;
+OnTouch:
+	emotion ET_GO;
+	monster 'map_bamn$,78,204,"Heart Hunter Commander","G_BELLARE3",1;
+	monster 'map_bamn$,83,204,"Heart Hunter Commander","G_BELLARE3",1;
+	monster 'map_bamn$,76,200,"Heart Hunter Commander","G_BELLARE3",1;
+	disablenpc();
+	end;
+}
+
+1@bamn,61,214,7	script(DISABLED)	Heart Hunter#md_hh12	G_BELLARE3,5,5,{
+	end;
+OnTouch:
+	emotion ET_GO;
+	monster 'map_bamn$,61,214,"Heart Hunter Commander","G_BELLARE3",1;
+	monster 'map_bamn$,58,212,"Heart Hunter Commander","G_BELLARE3",1;
+	monster 'map_bamn$,64,214,"Heart Hunter Commander","G_BELLARE3",1;
+	disablenpc();
+	end;
+}
+
+1@bamn,145,106,5	duplicate(dummy_npc)	Repeater#wifi01	CLEAR_NPC
+
+
+1@bamq,125,39,3	script(DISABLED)	Intruder#sweety	4_EP17_SWEETY,5,5,{
+	end;
+OnTouch:
+	if ('twilight_story == 21) {
+		setpcblock PCBLOCK_NPC, true;
+		'twilight_story = 22;
+		npctalk "You're too late. You idiots!";
+		sleep2 2000;
+		npctalk "They already escaped using the airships!";
+		sleep2 2000;
+		npctalk "Now, I, Sweety will take care of the idiots that just came in!";
+		sleep2 2000;
+		setpcblock PCBLOCK_NPC, false;
+		disablenpc();
+		donpcevent instance_npcname("twilight_story_mob_5") + "::OnStart";
+		end;
+	}
+	end;
+}
+
+1@bamq,1,1,7	script	twilight_story_mob_5	-1,{
+	end;
+OnStart:
+	monster 'map_bamq$,125,39,"Sweety",20642,1, instance_npcname("twilight_story_mob_5") + "::OnMobDead";
+	setunitdata $@mobid[0],UMOB_HP,500000;
+	end;
+OnMobDead:
+	killmonster 'map_bamq$, instance_npcname("twilight_story_mob_5") + "::OnMobDead";
+	if ('twilight_story == 22)
+		'twilight_story = 23;
+	mapannounce 'map_bamq$, "Est: Did you hear a loud noise from here?", bc_map, 0xFF00;
+	enablenpc instance_npcname("Broken Sweety#sweety04");
+	enablenpc instance_npcname("Est#est05");
+	enablenpc instance_npcname("#tgd_bamq_exit");
+	end;
+}
+
+1@bamq,123,39,3	script(DISABLED)	Broken Sweety#sweety04	4_EP17_SWEETY,{
+	specialeffect EF_NPC_STOP;
+	npctalk " ... yes ... s ... go ... no ... two ...";
+	mes "The electricity bounces and doesn't move, as if the machine is broken.";
+	mes "Seeing that he averts his gaze, he doesn't seem completely broken.";
+	close;
+}
+
+1@bamq,108,41,5	script(DISABLED)	Est#est05	4_F_ESTLOVELOY,{
+	cutin "ep162_est01",2;
+	mes "[Est]";
+	mes "It's a little late, but it's over.";
+	mes "So that's you. The guy who was dragging his feet in the garden.";
+	next;
+	mes "[Est]";
+	mes "Did this guy think that controlling the automatic dolls will help him buy time?";
+	next;
+	cutin "ep162_est02",2;
+	mes "[Est]";
+	mes "After all, they're just automatic dolls, right?";
+	mes "I had no choice but to blow the automatic dolls of the mansion...";
+	next;
+	cutin "ep162_est01",2;
+	mes "[Est]";
+	mes "Let's get out of here.";
+	mes "I'll be waiting at the guesthouse.";
+	close3;
+}
+
+// warps story
+1@bamn,33,224,0	script(DISABLED)	#to_bamq	WARPNPC,1,1,{
+	end;
+OnTouch_:
+	if ('twilight_story == 21)
+		warp 'map_bamq$,103,39;
+	end;
+}
+
+1@bamq,101,39,0	warp2(DISABLED)	#tgd_bamq_exit	1,1,ba_maison,33,220
+
+
+// Daily
+1@bamq,16,39,0	script	#sweety_evt01	HIDDEN_WARP_NPC,2,2,{
+	end;
+OnTouch:
+	if (!is_party_leader())
+		end;
+	disablenpc();
+	enablenpc instance_npcname("Almond#amond02");
+	enablenpc instance_npcname("Sweety#sweety_boss");
+	enablenpc instance_npcname("#to_bamq2");
+	enablenpc instance_npcname("#to_bamn");
+
+	monster 'map_bamn$,120,257,"--ja--",20681,1;	// G_EP17_2_HEART_HUNTER
+	monster 'map_bamn$,130,255,"--ja--",20681,1;
+	monster 'map_bamn$,130,244,"--ja--",20681,1;
+	monster 'map_bamn$,127,184,"--ja--",20681,1;
+	monster 'map_bamn$,188,240,"--ja--",20699,1;	// G_BELLARE3
+	monster 'map_bamn$,203,248,"--ja--",20699,1;
+	monster 'map_bamn$,203,252,"--ja--",20699,1;
+	monster 'map_bamn$,301,234,"--ja--",20681,1;
+	monster 'map_bamn$,302,239,"--ja--",20681,1;
+	monster 'map_bamn$,297,244,"--ja--",20681,1;
+	monster 'map_bamn$,197,52,"--ja--",20699,1;
+	monster 'map_bamn$,120,83,"--ja--",20681,1;
+	monster 'map_bamn$,117,84,"--ja--",20681,1;
+	monster 'map_bamn$,137,176,"--ja--",20681,1;
+	monster 'map_bamn$,143,181,"--ja--",20681,1;
+	monster 'map_bamn$,62,165,"--ja--",20699,1;
+	end;
+}
+
+1@bamq,32,49,3	script(DISABLED)	Sweety#sweety_boss	4_EP17_Sweety,{
+	if ('sweety == 0) {
+		cutin "ep172_Sweety01",2;
+		mes "[Sweety]";
+		mes "Hey, are you ready?";
+		mes "Come at me anytime.";
+		mes "I'm sure I'll feel better once I beat you.";
+		next;
+		if (select( "Wait a bit.", "Let's go!" ) == 1) {
+			mes "[Sweety]";
+			mes "What, did you come here to explore the garden?";
+			mes "The heart hunter don't know what happened to me, but...";
+			next;
+			cutin "ep172_Sweety02",2;
+			mes "[Sweety]";
+			mes "What, why?";
+			mes "I'm not like them at all, I'm an excellent creature!";
+			mes "So did the teachers.";
+			mes "But, those guys are nothing but failures.";
+			close3;
+
+		}
+		cutin "",255;
+		npctalk "I won't lose to you this time!";
+		disablenpc();
+		donpcevent instance_npcname("twilight_daily") + "::OnStart";
+		'sweety = 1;
+		close;
+	}
+	specialeffect EF_NPC_STOP;
+	mes "He is not responding to anything.";
+	mes "I think he fainted from my attacks.";
+	npctalk "... ...";
+	close;
+}
+
+1@bamq,1,1,7	script	twilight_daily	-1,{
+	end;
+OnStart:
+	monster 'map_bamq$,32,49,"Sweety",20642,1, instance_npcname("twilight_daily") + "::OnMobDead";
+	end;
+OnMobDead:
+	killmonster 'map_bamq$, instance_npcname("twilight_daily") + "::OnMobDead";
+	mapannounce 'map_bamq$, "Almond: Sweety~ Do it in moderation~", bc_map, 0xFF00;
+	enablenpc instance_npcname("Sweety#sweety_boss");
+	'sweety = 2;
+	end;
+}
+
+1@bamq,32,43,3	script(DISABLED)	Stunned Sweety#sweety_bo	4_EP17_SWEETY,{
+	setpcblock PCBLOCK_NPC, true;
+	specialeffect EF_NPC_STOP;
+	sleep2 500;
+	setpcblock PCBLOCK_NPC, false;
+	npctalk " ... ... ";
+	mes "I passed out from the shock.";
+	mes "Looks like he passed out.";
+	close;
+}
+	
+1@bamq,37,59,3	script(DISABLED)	Almond#amond02	EP17_2_BETA_BASIC,{
+	if ('sweety < 2) {
+		cutin "ep172_beta",2;
+		mes "[Almond]";
+		mes "I can't understand.";
+		mes "Why Sweety likes to push his body to the limit...";
+		next;
+		mes "[Almond]";
+		mes "And it's my job to fix his destroyed body.";
+		mes "Please deal with him enough to make him satisfied.";
+		close3;
+	}
+	cutin "ep172_beta",2;
+	mes "[Almond]";
+	mes "I will take care of moving Sweety.";
+	mes "Do you want to wrap up now?";
+	next;
+	if (select( "Let's wrap up.", "I'll explore the garden first." ) == 2) {
+		mes "[Almond]";
+		mes "There is still some intruders out there.";
+		mes "Are you aware of it?";
+		close3;
+	}
+	mes "[Almond]";
+	mes "Then, shall we?";
+	close2;
+	warp "ba_in01",18,255;
+	end;
+}
+
+
+// warps daily
+1@bamn,33,224,0	warp2(DISABLED)	#to_bamq2	1,1,1@bamq,13,39
+1@bamq,8,39,0	warp2(DISABLED)	#to_bamn	1,1,1@bamn,33,220
+
+
+// Daily quest
+1@bamn,150,47,3	script	#bam_body01	4_EP17_BROKENBETA,{
+	if (isbegin_quest(18024) == 1) {
+		if (checkweight(1000226,1) == 0) {	// (custom)
+			mes "^008800Wait a sec!!";
+			mes "You cannot receive any more items because you're carrying too many items. Please try again after you lighten up.^000000";
+			close;
+		}
+		.@id = atoi(replacestr(strnpcinfo(2), "bam_body0", ""));
+
+		if ('broken_beta[.@id] == 0) {
+			mes "The body of Manager Beta is hidden under the landscapes.";
+			next;
+			if (rand(1,10) < 5)
+				mes "The core slot is empty.";
+			else {
+				mes "I've recovered the core.";
+				getitem 1000226,1;
+			}
+			mes "I'll let Alpha know later so she can retrieve the doll's body.";
+			'broken_beta[.@id] = 1;
+		}
+	}
+	mes "The core part is empty.";
+	close;
+
+OnInstanceInit:
+	questinfo( QTYPE_CLICKME, QMARK_YELLOW, "isbegin_quest(18024) == 1" );
+	end;
+}
+1@bamn,221,193,3	duplicate(#bam_body01)	#bam_body02	4_EP17_BROKENBETA
+1@bamn,208,87,3	duplicate(#bam_body01)	#bam_body03	4_EP17_BROKENBETA
+1@bamn,314,146,3	duplicate(#bam_body01)	#bam_body04	4_EP17_BROKENBETA
+1@bamn,207,276,3	duplicate(#bam_body01)	#bam_body05	4_EP17_BROKENBETA
+1@bamn,70,256,3	duplicate(#bam_body01)	#bam_body06	4_EP17_BROKENBETA
+1@bamn,64,187,3	duplicate(#bam_body01)	#bam_body07	4_EP17_BROKENBETA
+1@bamn,275,313,3	duplicate(#bam_body01)	#bam_body08	4_EP17_BROKENBETA
+1@bamn,338,267,3	duplicate(#bam_body01)	#bam_body09	4_EP17_BROKENBETA

+ 1029 - 0
npc/re/instances/WaterGarden.txt

@@ -0,0 +1,1029 @@
+//===== rAthena Script =======================================
+//= Water Garden
+//===== Description: =========================================
+//= [Walkthrough Conversion]
+//= Episode 17.2 Water Garden
+//= Episode 17.2 Water Garden Hard Mode
+//===== Changelog: ===========================================
+//= 1.0 Initial release [crazyarashi]
+//= 1.1 Optimizations and cleanup [Everade]
+//= 1.2 Cleanup [Capuche]
+//============================================================
+
+ba_maison,238,44,5	script	Harad#jh_ba1	4_EP17_BASIC_B,{
+	if (ep172_watergarden < 3) {
+		cutin "ep172_beta",2;
+		mes "[Harad]";
+		mes "Hello, guest.";
+		mes "This place is the docks.";
+		next;
+		mes "[Harad]";
+		mes "We don't have any ships operating right now. But the scenery is nice, feel free to take a look around for a while!";
+		close3;
+	}
+	switch( checkquest(16439,PLAYTIME) ) {
+	case -1:
+		break;
+	case 0:
+	case 1:
+		cutin "ep172_beta",2;
+		mes "[Harad]";
+		mes "In accordance with the Gardeners' plant cultivation and herbicide plans. Admission to the water garden is limited once per day for both the normal and hard water garden.";
+		next;
+		mes "[Harad]";
+		mes "Thank you for your understanding.";
+		mes "Please take enough rest and come back again after dawn!";
+		close3;
+	case 2:
+		erasequest 16439;
+		break;
+	}
+	cutin "ep172_beta",2;
+	mes "[Harad]";
+	mes "Would you like to take a ride to the water garden?";
+	mes "The ship only run once a day!";
+	next;
+	mes "^FF0000Please note that, any abnormal monster handling inside the instance such as taming, is not considered normal.^000000";
+	mes "";
+	mes "^FF0000The party leader who received the quest for the 'Water Garden' or 'Water Garden Hard' must enter the instance to proceed. In the case of party leader changes, the instance will be cancelled and you may not proceed.^000000";
+	next;
+	cutin "",255;
+	.@normal = is_party_leader();
+	.@hard = (.@normal && isbegin_quest(16430) == 2);
+	.@md_name$ = "Water Garden";	// default
+	switch( select( (.@normal ? "Create Water Garden" : ""), (.@hard ? "Create Water Garden Hard" : ""), "^0000CDGarden Entrance^000000" ) ) {
+	case 1:
+		.@quest_given = 16437;
+		.@other_quest = 16438;
+		break;
+	case 2:
+		if (BaseLevel < 180) {
+			cutin "ep172_beta",2;
+			mes "[Harad]";
+			mes "You can tell me if you want to enter the water garden.";
+			mes "But it's dangerous inside. You can't enter right now.";
+			next;
+			mes "- This MD is for level 180 or above. -";
+			close3;
+		}
+		.@md_name$ = "Water Garden Hard";
+		.@quest_given = 16438;
+		.@other_quest = 16437;
+		break;
+	case 3:
+		if (ep172_watergarden > 3) {
+			.@instance_name$ = instance_live_info(ILI_NAME, instance_id(IM_PARTY));
+			if (.@instance_name$ != "Water Garden" && .@instance_name$ != "Water Garden Hard") {
+				cutin "ep172_beta",2;
+				mes "[Harad]";
+				mes "The instance has not been created yet.";
+				mes "Please check it.";
+				close3;
+			}
+			cutin "ep172_beta",2;
+			mes "[Harad]";
+			mes "Enter the ^CC0000" + .@instance_name$ + "^000000.";
+			next;
+			cutin "",255;
+			if (select( "^0000CDEnter Water Garden", "Enter Water Garden Hard^000000" ) == 1)
+				.@md_name$ = "Water Garden";
+			else
+				.@md_name$ = "Water Garden Hard";
+		}
+		if (instance_enter(.@md_name$) != IE_OK) {
+			cutin "ep172_beta",2;
+			mes "[Harad]";
+			mes "The instance has not been created yet.";
+			mes "Please check it.";
+			close2;
+			cutin "",255;
+			end;
+		}
+		setquest 16439;
+		mapannounce "ba_maison", "" + strcharinfo(0) + " of the party, " + getpartyname( getcharid(1) ) + ", is entering the " + .@md_name$ + ".", bc_map, "0x00FF99";
+		end;
+	}
+	if (instance_create(.@md_name$) == -3)
+		dispbottom "The reservation of the instance '" + .@md_name$ + "' has failed due to an active instance.";
+	if (isbegin_quest(.@quest_given) > 0)
+		erasequest .@quest_given;
+	if (isbegin_quest(.@other_quest) > 0)
+		erasequest .@other_quest;
+	setquest .@quest_given;
+	mes "[Harad]";
+	mes "When the " + .@md_name$ + " MD has opened, please speak to me again and select ^0000CDEnter " + .@md_name$ + "^000000.";
+	close;
+}
+
+1@ghg,1,1,0	script	#172_water_garden_control	-1,{
+	end;
+OnInstanceInit:
+	// 'mode = 0;	// not resetted
+	'water_garden = 0;
+	'map_ghg$ = instance_mapname("1@ghg");
+
+	// warps
+	// disablenpc instance_npcname("#ghg_w1");
+
+	// Area 1
+	// disablenpc instance_npcname("Gardener#ghg_g1");
+	end;
+}
+
+1@ghg,66,69,0	script	#ghg_hw1	HIDDEN_WARP_NPC,4,4,{
+	end;
+OnTouch:
+	if (!is_party_leader())
+		end;
+	if ('water_garden != 0)
+		end;
+	if (isbegin_quest(16438) > 0) {
+		erasequest 16438;
+		'mode = 1;
+	}
+	else if (isbegin_quest(16437) > 0) {
+		erasequest 16437;
+		'mode = 0;
+	}
+	'water_garden = 1;
+	end;
+}
+
+// warps
+1@ghg,75,69,0	script	#ghg_w1	WARPNPC,2,2,{
+	end;
+OnTouch:
+	if ('water_garden == 0) {
+		mes "- You can enter the water garden after the party leader has entered the MD. -";
+		close;
+	}
+	warp 'map_ghg$,208,57;
+	end;
+}
+
+1@ghg,269,68,0	warp2(DISABLED)	#ghg_w2	2,2,1@ghg,311,67
+1@ghg,343,97,0	warp2(DISABLED)	#ghg_w3	2,2,1@ghg,343,139
+1@ghg,265,309,0	warp2(DISABLED)	#ghg_wb	2,2,1@ghg,189,287
+
+1@ghg,343,184,0	script(DISABLED)	#ghg_w4	WARPNPC,2,2,{
+	end;
+OnTouch:
+	switch( rand(1,4) ) {
+	case 1:
+		warp 'map_ghg$,345,235;
+		break;
+	case 2:
+		warp 'map_ghg$,345,278;
+		break;
+	case 3:
+		warp 'map_ghg$,305,310;
+		break;
+	case 4:
+		warp 'map_ghg$,305,236;
+		break;
+	}
+	end;
+}
+
+
+// Area 1
+1@ghg,216,58,3	script	Gardener#ghg_g1	4_EP17_SCISSORE,{
+	if ('water_garden == 0)
+		end;
+	if ('water_garden == 1) {
+		mes "[Hetilla]";
+		mes " Guests, welcome to the water garden,";
+		mes "Are you going to see Papilla? Papilla's been very sensitive about the intruders lately...";
+		npctalk "Guests, welcome to the water garden. Are you going to see Papilla? Papilla's been very sensitive about the intruders lately...";
+		next;
+		mes "[Hetilla]";
+		mes "Papillas are playing around here and there.";
+		mes "They use psychedelic materials from their wings to make short distance movements or use a dangerous magic over them.";
+		npctalk "Papillas are playing around here and there. They use psychedelic materials from their wings to make short distance movements or use a dangerous magic over them.";
+		next;
+		mes "[Hetilla]";
+		mes "I warned you on advanced, but be careful.";
+		mes "Pruning all overgrown plants and animals opens the door to the next area at 3 o'clock.";
+		npctalk "I warned you on advanced, but be careful. Pruning all overgrown plants and animals opens the door to the next area at 3 o'clock.";
+		close2;
+		if ('water_garden == 1) {
+			'water_garden = 2;
+			donpcevent instance_npcname("#172_wg_mob_1") + "::OnStart";
+			donpcevent instance_npcname("#172_wg_area_1") + "::OnStart";
+		}
+		end;
+	}
+	if ('water_garden == 2)
+		npctalk "Be careful of the papila's hallucinogens.";
+	else
+		npctalk "Guest, you can already move to the next area.";
+	end;
+}
+
+1@ghg,1,1,0	script	#172_wg_mob_1	HIDDEN_WARP_NPC,{
+	end;
+OnStart:
+	.@event$ = instance_npcname("#172_wg_mob_1") + "::OnMobDead";
+	if ('mode == 0) {
+		monster 'map_ghg$,247,89,"--ja--",20677,1, .@event$;
+		monster 'map_ghg$,257,90,"--ja--",20677,1, .@event$;
+		monster 'map_ghg$,228,89,"--ja--",20677,1, .@event$;
+		monster 'map_ghg$,227,93,"--ja--",20677,1, .@event$;
+		monster 'map_ghg$,238,54,"--ja--",20677,1, .@event$;
+		monster 'map_ghg$,245,52,"--ja--",20677,1, .@event$;
+		monster 'map_ghg$,251,89,"--ja--",20669,1, .@event$;
+		monster 'map_ghg$,253,92,"--ja--",20669,1, .@event$;
+		monster 'map_ghg$,244,53,"--ja--",20669,1, .@event$;
+		monster 'map_ghg$,227,96,"--ja--",20669,1, .@event$;
+		monster 'map_ghg$,226,83,"--ja--",20669,1, .@event$;
+		monster 'map_ghg$,244,59,"--ja--",20669,1, .@event$;
+	}
+	else {
+		monster 'map_ghg$,257,65,"--ja--","MD_ARIES_H",1, .@event$;
+		monster 'map_ghg$,253,64,"--ja--","MD_ARIES_H",1, .@event$;
+		monster 'map_ghg$,245,77,"--ja--","MD_ARIES_H",1, .@event$;
+		monster 'map_ghg$,245,78,"--ja--","MD_ARIES_H",1, .@event$;
+		monster 'map_ghg$,249,70,"--ja--","MD_PAPILA_H",1, .@event$;
+		monster 'map_ghg$,257,87,"--ja--","MD_ARIES_H",1, .@event$;
+		monster 'map_ghg$,250,81,"--ja--","MD_ARIES_H",1, .@event$;
+		monster 'map_ghg$,253,85,"--ja--","MD_PAPILA_H",1, .@event$;
+		monster 'map_ghg$,254,93,"--ja--","MD_ARIES_H",1, .@event$;
+		monster 'map_ghg$,251,59,"--ja--","MD_ARIES_H",1, .@event$;
+		monster 'map_ghg$,252,59,"--ja--","MD_PAPILA_H",1, .@event$;
+		monster 'map_ghg$,239,54,"--ja--","MD_ARIES_H",1, .@event$;
+		monster 'map_ghg$,237,53,"--ja--","MD_ARIES_H",1, .@event$;
+		monster 'map_ghg$,242,52,"--ja--","MD_PAPILA_H",1, .@event$;
+		monster 'map_ghg$,241,52,"--ja--","MD_PAPILA_H",1, .@event$;
+		monster 'map_ghg$,239,51,"--ja--","MD_PAPILA_H",1, .@event$;
+		monster 'map_ghg$,234,69,"--ja--","MD_PAPILA_H",1, .@event$;
+		monster 'map_ghg$,231,61,"--ja--","MD_PAPILA_H",1, .@event$;
+		monster 'map_ghg$,232,73,"--ja--","MD_PAPILA_H",1, .@event$;
+		monster 'map_ghg$,228,58,"--ja--","MD_PAPILA_H",1, .@event$;
+		monster 'map_ghg$,225,66,"--ja--","MD_ARIES_H",1, .@event$;
+		monster 'map_ghg$,225,63,"--ja--","MD_PAPILA_H",1, .@event$;
+		monster 'map_ghg$,224,62,"--ja--","MD_ARIES_H",1, .@event$;
+		monster 'map_ghg$,220,88,"--ja--","MD_ARIES_H",1, .@event$;
+		monster 'map_ghg$,219,92,"--ja--","MD_PAPILA_H",1, .@event$;
+		monster 'map_ghg$,226,95,"--ja--","MD_PAPILA_H",1, .@event$;
+		monster 'map_ghg$,228,98,"--ja--","MD_ARIES_H",1, .@event$;
+		monster 'map_ghg$,221,98,"--ja--","MD_PAPILA_H",1, .@event$;
+		monster 'map_ghg$,249,97,"--ja--","MD_ARIES_H",1, .@event$;
+		monster 'map_ghg$,254,96,"--ja--","MD_PAPILA_H",1, .@event$;
+	}
+	end;
+OnMobDead:
+	if ('water_garden != 2)
+		end;
+	if (mobcount('map_ghg$, instance_npcname("#172_wg_mob_1") + "::OnMobDead") < 2) {	// note: stops when less than 2 mobs remain
+		killmonster 'map_ghg$, instance_npcname("#172_wg_mob_1") + "::OnMobDead";
+		'water_garden = 3;
+		enablenpc instance_npcname("#ghg_w2");
+		specialeffect EF_READYPORTAL, AREA, instance_npcname("#ghg_w2");
+		donpcevent instance_npcname("#172_wg_area_1") + "::OnStop";
+		enablenpc instance_npcname("Gardener#ghg_g2");
+		mapannounce 'map_ghg$, "Cleanup is complete. Please proceed to the next area.", bc_map, 0xFFFF99;
+		end;
+	}
+	end;
+}
+
+1@ghg,1,1,0	script	#172_wg_area_1	HIDDEN_WARP_NPC,{
+	end;
+OnStart:
+	switch( rand(1,8) ) {
+	case 1:
+		instance_warpall 'map_ghg$,240,73,instance_id(), IWA_NOTDEAD;
+		break;
+	case 2:
+		instance_warpall 'map_ghg$,225,59,instance_id(), IWA_NOTDEAD;
+		break;
+	case 3:
+		instance_warpall 'map_ghg$,253,91,instance_id(), IWA_NOTDEAD;
+		break;
+	case 4:
+		instance_warpall 'map_ghg$,257,76,instance_id(), IWA_NOTDEAD;
+		break;
+	case 5:
+		instance_warpall 'map_ghg$,240,54,instance_id(), IWA_NOTDEAD;
+		break;
+	case 6:
+		instance_warpall 'map_ghg$,227,80,instance_id(), IWA_NOTDEAD;
+		break;
+	case 7:
+		instance_warpall 'map_ghg$,228,92,instance_id(), IWA_NOTDEAD;
+		break;
+	case 8:
+		instance_warpall 'map_ghg$,261,54,instance_id(), IWA_NOTDEAD;
+		break;
+	}
+	initnpctimer;
+	end;
+OnTimer2000:
+	mapannounce 'map_ghg$, "The magic of the Papilla's has activated. Be careful!", bc_map, 0xFFFF99;
+	end;
+OnTimer4000:
+	callsub( S_Spawn, 240,73,20676,9 );
+	callsub( S_Spawn, 225,59,20676,4 );
+	callsub( S_Spawn, 253,91,20676,4 );
+	callsub( S_Spawn, 257,76,20676,6 );
+	callsub( S_Spawn, 240,54,20673,6 );
+	callsub( S_Spawn, 227,80,20673,4 );
+	callsub( S_Spawn, 223,92,20673,6 );
+	callsub( S_Spawn, 261,54,20673,4 );
+	end;
+OnTimer9000:
+	killmonster 'map_ghg$, instance_npcname("#172_wg_area_1") + "::OnMobDead";
+	end;
+
+S_Spawn:
+	.@x = getarg(0);
+	.@y = getarg(1);
+
+	monster 'map_ghg$,.@x,.@y, "", getarg(2),1, instance_npcname("#172_wg_area_1") + "::OnMobDead";
+	unitskillusepos $@mobid[0],"NPC_RAINOFMETEOR",getarg(3),.@x,.@y,-10000;
+	return;
+
+OnTimer24000:
+	stopnpctimer;
+	donpcevent instance_npcname("#172_wg_area_1") + "::OnStart";
+	end;
+OnStop:
+	stopnpctimer;
+	killmonster 'map_ghg$, instance_npcname("#172_wg_area_1") + "::OnMobDead";
+	end;
+OnMobDead:
+	end;
+}
+
+
+// Area 2
+1@ghg,316,69,3	script(DISABLED)	Gardener#ghg_g2	4_EP17_SCISSORE,{
+	if ('water_garden == 3) {
+		mes "[Juventus]";
+		mes "Be careful, Papillas' and other type of Papillas seems to be wandering around.";
+		npctalk "Be careful, Papillas' and other type of Papillas seems to be wandering around.";
+		next;
+		mes "[Juventus]";
+		mes "The attack range varies depending on the color of the Papilla.";
+		npctalk "The attack range varies depending on the color of the Papilla.";
+		next;
+		mes "[Juventus]";
+		mes "Also some of the gardeners were destroyed by the intruders.";
+		npctalk "Also some of the gardeners were destroyed by the intruders.";
+		next;
+		mes "[Juventus]";
+		mes "If they ever attack the guest, they're all broken gardeners, so don't hesitate to take it down.";
+		npctalk "If they ever attack the guest, they're all broken gardeners, so don't hesitate to take it down.";
+		close2;
+		if ('water_garden == 3) {
+			'water_garden = 4;
+			donpcevent instance_npcname("#172_wg_mob_2") + "::OnStart";	// mobs
+			donpcevent instance_npcname("#172_wg_area_2") + "::OnStart";	// traps
+		}
+		end;
+	}
+	if ('water_garden == 4) {
+		mes "[Juventus]";
+		mes "If the gardeners ever attack the guest, they're all broken gardeners, so don't hesitate to take it down.";
+		close;
+	}
+	npctalk "The obstructions is now gone, you can not move to the next area.";
+	end;
+}
+
+1@ghg,1,1,0	script	#172_wg_mob_2	HIDDEN_WARP_NPC,{
+	end;
+OnStart:
+	.@event$ = instance_npcname("#172_wg_mob_2") + "::OnMobDead";
+	if ('mode == 0) {
+		monster 'map_ghg$,334,84,"--ja--",20677,1, .@event$;
+		monster 'map_ghg$,328,79,"--ja--",20677,1, .@event$;
+		monster 'map_ghg$,325,84,"--ja--",20677,1, .@event$;
+		monster 'map_ghg$,332,69,"--ja--",20677,1, .@event$;
+		monster 'map_ghg$,331,74,"--ja--",20677,1, .@event$;
+		monster 'map_ghg$,327,87,"--ja--",20677,1, .@event$;
+		monster 'map_ghg$,338,73,"--ja--",20677,1, .@event$;
+		monster 'map_ghg$,340,84,"--ja--",20677,1, .@event$;
+		monster 'map_ghg$,342,79,"--ja--",20677,1, .@event$;
+		monster 'map_ghg$,337,67,"--ja--",20622,1, .@event$;
+		monster 'map_ghg$,325,82,"--ja--",20622,1, .@event$;
+		monster 'map_ghg$,338,83,"--ja--",20622,1, .@event$;
+	}
+	else {
+		monster 'map_ghg$,322,82,"--ja--","MD_ARIES_H",1, .@event$;
+		monster 'map_ghg$,322,82,"--ja--","MD_BETA_SCISSORE_NG_H",1, .@event$;
+		monster 'map_ghg$,327,73,"--ja--","MD_BETA_SCISSORE_NG_H",1, .@event$;
+		monster 'map_ghg$,327,73,"--ja--","MD_VERPORTE_H",1, .@event$;
+		monster 'map_ghg$,328,69,"--ja--","MD_BETA_SCISSORE_NG_H",1, .@event$;
+		monster 'map_ghg$,329,73,"--ja--","MD_ARIES_H",1, .@event$;
+		monster 'map_ghg$,329,79,"--ja--","MD_VERPORTE_H",1, .@event$;
+		monster 'map_ghg$,330,78,"--ja--","MD_ARIES_H",1, .@event$;
+		monster 'map_ghg$,332,67,"--ja--","MD_ARIES_H",1, .@event$;
+		monster 'map_ghg$,332,82,"--ja--","MD_BETA_SCISSORE_NG_H",1, .@event$;
+		monster 'map_ghg$,333,74,"--ja--","MD_ARIES_H",1, .@event$;
+		monster 'map_ghg$,334,69,"--ja--","MD_BETA_SCISSORE_NG_H",1, .@event$;
+		monster 'map_ghg$,334,78,"--ja--","MD_VERPORTE_H",1, .@event$;
+		monster 'map_ghg$,333,83,"--ja--","MD_BETA_SCISSORE_NG_H",1, .@event$;
+		monster 'map_ghg$,332,83,"--ja--","MD_VERPORTE_H",1, .@event$;
+		monster 'map_ghg$,336,74,"--ja--","MD_VERPORTE_H",1, .@event$;
+		monster 'map_ghg$,338,84,"--ja--","MD_ARIES_H",1, .@event$;
+		monster 'map_ghg$,338,84,"--ja--","MD_ARIES_H",1, .@event$;
+		monster 'map_ghg$,339,80,"--ja--","MD_BETA_SCISSORE_NG_H",1, .@event$;
+		monster 'map_ghg$,341,78,"--ja--","MD_ARIES_H",1, .@event$;
+		monster 'map_ghg$,341,83,"--ja--","MD_BETA_SCISSORE_NG_H",1, .@event$;
+		monster 'map_ghg$,333,86,"--ja--","MD_VERPORTE_H",1, .@event$;
+		monster 'map_ghg$,332,86,"--ja--","MD_VERPORTE_H",1, .@event$;
+		monster 'map_ghg$,344,78,"--ja--","MD_BETA_SCISSORE_NG_H",1, .@event$;
+		monster 'map_ghg$,332,89,"--ja--","MD_ARIES_H",1, .@event$;
+		monster 'map_ghg$,335,90,"--ja--","MD_VERPORTE_H",1, .@event$;
+		monster 'map_ghg$,327,90,"--ja--","MD_VERPORTE_H",1, .@event$;
+	}
+	end;
+OnMobDead:
+	if ('water_garden != 4)
+		end;
+	if (mobcount('map_ghg$, instance_npcname("#172_wg_mob_2") + "::OnMobDead") < 2) {	// note: stops when less than 2 mobs remain
+		killmonster 'map_ghg$, instance_npcname("#172_wg_mob_2") + "::OnMobDead";
+		'water_garden = 5;
+		enablenpc instance_npcname("#ghg_w3");
+		specialeffect EF_READYPORTAL, AREA, instance_npcname("#ghg_w3");
+		donpcevent instance_npcname("#172_wg_area_2") + "::OnStop";
+		enablenpc instance_npcname("Gardener#ghg_g3");
+		enablenpc instance_npcname("Gardener#gmck3");
+		mapannounce 'map_ghg$, "You have eliminated all the obstructions. Please proceed to the next area.", bc_map, 0xFFFF99;
+		end;
+	}
+	end;
+}
+
+1@ghg,1,1,0	script	#172_wg_area_2	HIDDEN_WARP_NPC,{
+	end;
+OnStart:
+	deletearray 'gid_area_2;
+	deletearray 'type_area_2;
+
+	mapannounce 'map_ghg$, "The Papilla's has returned!", bc_map, 0xFFFF99;
+
+	setarray .@xy[0],
+		320,91,325,91,330,91,335,91,340,91,345,91,
+		320,86,325,86,330,86,335,86,340,86,345,86,
+		320,81,325,81,330,81,335,81,340,81,345,81,
+		320,76,325,76,330,76,335,76,340,76,345,76,
+		320,71,325,71,330,71,335,71,340,71,345,71,
+		320,66,325,66,330,66,335,66,340,66,345,66;
+	.@size = getarraysize(.@xy) / 2;
+
+	.@event$ = instance_npcname("#172_wg_area_2") + "::OnMobDead";
+
+	for ( .@i = 0; .@i < 3; ++.@i ) {
+		.@r = rand( .@size ) * 2;
+		if (rand(2))	// (red) Cross Pattern
+			monster 'map_ghg$,.@xy[.@r],.@xy[.@r+1],"Papilla",20673,1, .@event$;
+		else	// (blue) Diagonal Pattern
+			monster 'map_ghg$,.@xy[.@r],.@xy[.@r+1],"Papilla",20676,1, .@event$;
+		'gid_area_2[.@i] = $@mobid[0];
+		deletearray .@xy[.@r],2;
+		.@size -= 2;
+	}
+	initnpctimer;
+	end;
+OnTimer5000:
+	callsub( S_Skill, 'gid_area_2[0], 'type_area_2[0] );
+OnTimer5600:
+	callsub( S_Skill, 'gid_area_2[1], 'type_area_2[1] );
+OnTimer6200:
+	callsub( S_Skill, 'gid_area_2[2], 'type_area_2[2] );
+OnTimer11800:
+	killmonster 'map_ghg$, instance_npcname("#172_wg_area_2") + "::OnMobDead";
+	end;
+OnTimer26800:
+	stopnpctimer;
+	donpcevent instance_npcname("#172_wg_area_2") + "::OnStart";
+	end;
+OnStop:
+	stopnpctimer;
+	killmonster 'map_ghg$, instance_npcname("#172_wg_area_2") + "::OnMobDead";
+	end;
+OnMobDead:
+	end;
+
+S_Skill:
+	.@gid = getarg(0);
+	if (!unitexists(.@gid))
+		end;
+	getunitdata( .@gid, .@data );
+	.@type = getarg(1);
+
+	for ( .@i = 0; .@i < 5; ++.@i ) {
+		if (!unitexists(.@gid))
+			end;
+
+		switch( .@data[UMOB_CLASS] ) {
+		case 20673:	// (red) Cross Pattern
+			setarray .@x[0],
+				(.@data[UMOB_X] + 5 * .@i),
+				(.@data[UMOB_X] - 5 * .@i),
+				.@data[UMOB_X],
+				.@data[UMOB_X];
+			setarray .@y[0],
+				.@data[UMOB_Y],
+				.@data[UMOB_Y],
+				(.@data[UMOB_Y] + 5 * .@i),
+				(.@data[UMOB_Y] - 5 * .@i);
+			break;
+		case 20676:	// (blue) Diagonal Pattern
+			setarray .@x[0],
+				(.@data[UMOB_X] + 5 * .@i),
+				(.@data[UMOB_X] + 5 * .@i),
+				(.@data[UMOB_X] - 5 * .@i),
+				(.@data[UMOB_X] - 5 * .@i);
+			setarray .@y[0],
+				(.@data[UMOB_Y] + 5 * .@i),
+				(.@data[UMOB_Y] - 5 * .@i),
+				(.@data[UMOB_Y] + 5 * .@i),
+				(.@data[UMOB_Y] - 5 * .@i);
+			break;
+		}
+		unitskillusepos .@gid,"WZ_HEAVENDRIVE",3,.@x[0],.@y[0],-2000,false,0,true;
+		unitskillusepos .@gid,"WZ_HEAVENDRIVE",3,.@x[1],.@y[1],-2000,false,0,true;
+		unitskillusepos .@gid,"WZ_HEAVENDRIVE",3,.@x[2],.@y[2],-2000,false,0,true;
+		unitskillusepos .@gid,"WZ_HEAVENDRIVE",3,.@x[3],.@y[3],-2000,false,0,true;	// note: can hit the player outside the board
+		sleep 50;
+	}
+	end;
+}
+
+
+// Area 3
+1@ghg,341,143,3	script(DISABLED)	Gardener#ghg_g3	4_EP17_SCISSORE,5,1,{
+	mes "[Aditura]";
+	mes "The rose garden is a very beautiful place, but recently, we are having trouble maintaining it because of the swarms of animals and plants that appeared in groups.";
+	npctalk "The rose garden is a very beautiful place, but recently, we are having trouble maintaining it because of the swarms of animals and plants that appeared in groups.";
+	next;
+	mes "[Aditura]";
+	mes "Guest, I'd like you to please prune the plants and animals.";
+	npctalk "Guest, I'd like you to please prune the plants and animals.";
+	next;
+	mes "[Aditura]";
+	mes "At the end of the garden, there is a manager waiting to open the next area, so please speak to her when you reach there.";
+	npctalk "At the end of the garden, there is a manager waiting to open the next area, so please speak to her when you reach there.";
+	next;
+	mes "[Aditura]";
+	mes "It's a little slow, so you might have to wait, but... the next area will definitely open.";
+	npctalk "It's a little slow, so you might have to wait, but... the next area will definitely open.";
+	close;
+
+OnTouch_:	// note: hidden player doesn't trigger it!
+	if ('water_garden == 5)
+		'water_garden = 6;
+	end;
+}
+
+1@ghg,315,149,0	script(DISABLED)	mob3_1#ghg	HIDDEN_WARP_NPC,1,3,{
+	end;
+OnTouch_:	// note: hidden player doesn't trigger it!
+	disablenpc();
+	if ('mode == 0) {
+		monster 'map_ghg$,315,150,"",20665,1;
+		monster 'map_ghg$,317,149,"",20665,1;
+		monster 'map_ghg$,317,150,"",20665,1;
+	}
+	else {
+		monster 'map_ghg$,318,147,"--ja--","MD_VERPORTE_H",1;
+		monster 'map_ghg$,317,147,"--ja--","MD_VERPORTE_H",1;
+		monster 'map_ghg$,318,149,"--ja--","MD_VERPORTE_H",1;
+		monster 'map_ghg$,316,150,"--ja--","MD_BETA_SCISSORE_NG_H",1;
+		monster 'map_ghg$,317,149,"--ja--","MD_BETA_SCISSORE_NG_H",1;
+		monster 'map_ghg$,315,148,"--ja--","MD_BETA_SCISSORE_NG_H",1;
+	}
+	end;
+}
+1@ghg,295,149,0	script(DISABLED)	mob3_2#ghg	HIDDEN_WARP_NPC,1,3,{
+	end;
+OnTouch_:
+	disablenpc();
+	if ('mode == 0) {
+		monster 'map_ghg$,298,148,"",20665,1;
+		monster 'map_ghg$,294,150,"",20665,1;
+		monster 'map_ghg$,296,147,"",20665,1;
+	}
+	else {
+		monster 'map_ghg$,298,151,"--ja--","MD_VERPORTE_H",1;
+		monster 'map_ghg$,296,151,"--ja--","MD_VERPORTE_H",1;
+		monster 'map_ghg$,297,150,"--ja--","MD_VERPORTE_H",1;
+		monster 'map_ghg$,296,148,"--ja--","MD_BETA_SCISSORE_NG_H",1;
+		monster 'map_ghg$,296,150,"--ja--","MD_BETA_SCISSORE_NG_H",1;
+		monster 'map_ghg$,298,148,"--ja--","MD_BETA_SCISSORE_NG_H",1;
+	}
+	end;
+}
+
+1@ghg,275,149,0	script(DISABLED)	mob3_3#ghg	HIDDEN_WARP_NPC,1,3,{
+	end;
+OnTouch_:
+	disablenpc();
+	if ('mode == 0) {
+		monster 'map_ghg$,274,148,"",20665,1;
+		monster 'map_ghg$,276,148,"",20665,1;
+		monster 'map_ghg$,278,147,"",20665,1;
+	}
+	else {
+		monster 'map_ghg$,278,151,"--ja--","MD_VERPORTE_H",1;
+		monster 'map_ghg$,278,148,"--ja--","MD_VERPORTE_H",1;
+		monster 'map_ghg$,276,148,"--ja--","MD_VERPORTE_H",1;
+		monster 'map_ghg$,275,151,"--ja--","MD_BETA_SCISSORE_NG_H",1;
+		monster 'map_ghg$,278,150,"--ja--","MD_BETA_SCISSORE_NG_H",1;
+		monster 'map_ghg$,277,151,"--ja--","MD_BETA_SCISSORE_NG_H",1;
+	}
+	end;
+}
+
+1@ghg,255,149,0	script(DISABLED)	mob3_4#ghg	HIDDEN_WARP_NPC,1,3,{
+	end;
+OnTouch_:
+	disablenpc();
+	if ('mode == 0) {
+		monster 'map_ghg$,254,151,"",20665,1;
+		monster 'map_ghg$,258,149,"",20665,1;
+		monster 'map_ghg$,256,150,"",20665,1;
+	}
+	else {
+		monster 'map_ghg$,256,151,"--ja--","MD_VERPORTE_H",1;
+		monster 'map_ghg$,254,149,"--ja--","MD_VERPORTE_H",1;
+		monster 'map_ghg$,256,147,"--ja--","MD_VERPORTE_H",1;
+		monster 'map_ghg$,256,151,"--ja--","MD_BETA_SCISSORE_NG_H",1;
+		monster 'map_ghg$,256,147,"--ja--","MD_BETA_SCISSORE_NG_H",1;
+		monster 'map_ghg$,256,147,"--ja--","MD_BETA_SCISSORE_NG_H",1;
+	}
+	end;
+}
+
+1@ghg,231,162,0	script(DISABLED)	mob3_5#ghg	HIDDEN_WARP_NPC,3,1,{
+	end;
+OnTouch_:
+	disablenpc();
+	if ('mode == 0) {
+		monster 'map_ghg$,231,163,"",20665,1;
+		monster 'map_ghg$,230,160,"",20665,1;
+		monster 'map_ghg$,231,162,"",20665,1;
+	}
+	else {
+		monster 'map_ghg$,232,163,"--ja--","MD_VERPORTE_H",1;
+		monster 'map_ghg$,229,159,"--ja--","MD_VERPORTE_H",1;
+		monster 'map_ghg$,232,159,"--ja--","MD_VERPORTE_H",1;
+		monster 'map_ghg$,231,160,"--ja--","MD_BETA_SCISSORE_NG_H",1;
+		monster 'map_ghg$,230,162,"--ja--","MD_BETA_SCISSORE_NG_H",1;
+		monster 'map_ghg$,231,159,"--ja--","MD_BETA_SCISSORE_NG_H",1;
+	}
+	end;
+}
+
+1@ghg,255,173,0	script(DISABLED)	mob3_6#ghg	HIDDEN_WARP_NPC,1,3,{
+	end;
+OnTouch_:
+	disablenpc();
+	if ('mode == 0) {
+		monster 'map_ghg$,253,174,"",20665,1;
+		monster 'map_ghg$,254,173,"",20665,1;
+		monster 'map_ghg$,252,174,"",20665,1;
+	}
+	else {
+		monster 'map_ghg$,254,173,"--ja--","MD_VERPORTE_H",1;
+		monster 'map_ghg$,254,173,"--ja--","MD_VERPORTE_H",1;
+		monster 'map_ghg$,256,171,"--ja--","MD_VERPORTE_H",1;
+		monster 'map_ghg$,254,172,"--ja--","MD_BETA_SCISSORE_NG_H",1;
+		monster 'map_ghg$,253,174,"--ja--","MD_BETA_SCISSORE_NG_H",1;
+		monster 'map_ghg$,252,174,"--ja--","MD_BETA_SCISSORE_NG_H",1;
+	}
+	end;
+}
+
+1@ghg,275,173,0	script(DISABLED)	mob3_7#ghg	HIDDEN_WARP_NPC,1,3,{
+	end;
+OnTouch_:
+	disablenpc();
+	if ('mode == 0) {
+		monster 'map_ghg$,274,173,"",20665,1;
+		monster 'map_ghg$,275,175,"",20665,1;
+		monster 'map_ghg$,276,175,"",20665,1;
+	}
+	else {
+		monster 'map_ghg$,276,171,"--ja--","MD_VERPORTE_H",1;
+		monster 'map_ghg$,275,175,"--ja--","MD_VERPORTE_H",1;
+		monster 'map_ghg$,274,173,"--ja--","MD_VERPORTE_H",1;
+		monster 'map_ghg$,274,175,"--ja--","MD_BETA_SCISSORE_NG_H",1;
+		monster 'map_ghg$,274,171,"--ja--","MD_BETA_SCISSORE_NG_H",1;
+		monster 'map_ghg$,274,173,"--ja--","MD_BETA_SCISSORE_NG_H",1;
+	}
+	end;
+}
+
+1@ghg,295,173,0	script(DISABLED)	mob3_8#ghg	HIDDEN_WARP_NPC,1,3,{
+	end;
+OnTouch_:
+	disablenpc();
+	if ('mode == 0) {
+		monster 'map_ghg$,293,173,"",20665,1;
+		monster 'map_ghg$,295,171,"",20665,1;
+		monster 'map_ghg$,292,173,"",20665,1;
+	}
+	else {
+		monster 'map_ghg$,295,171,"--ja--","MD_VERPORTE_H",1;
+		monster 'map_ghg$,296,172,"--ja--","MD_VERPORTE_H",1;
+		monster 'map_ghg$,293,171,"--ja--","MD_VERPORTE_H",1;
+		monster 'map_ghg$,292,171,"--ja--","MD_BETA_SCISSORE_NG_H",1;
+		monster 'map_ghg$,294,172,"--ja--","MD_BETA_SCISSORE_NG_H",1;
+		monster 'map_ghg$,296,173,"--ja--","MD_BETA_SCISSORE_NG_H",1;
+	}
+	end;
+}
+
+1@ghg,315,173,0	script(DISABLED)	mob3_9#ghg	HIDDEN_WARP_NPC,1,3,{
+	end;
+OnTouch_:
+	disablenpc();
+	if ('mode == 0) {
+		monster 'map_ghg$,316,173,"",20665,1;
+		monster 'map_ghg$,316,174,"",20665,1;
+		monster 'map_ghg$,314,173,"",20665,1;
+	}
+	else {
+		monster 'map_ghg$,314,171,"--ja--","MD_VERPORTE_H",1;
+		monster 'map_ghg$,313,175,"--ja--","MD_VERPORTE_H",1;
+		monster 'map_ghg$,312,173,"--ja--","MD_VERPORTE_H",1;
+		monster 'map_ghg$,315,172,"--ja--","MD_BETA_SCISSORE_NG_H",1;
+		monster 'map_ghg$,314,173,"--ja--","MD_BETA_SCISSORE_NG_H",1;
+		monster 'map_ghg$,314,175,"--ja--","MD_BETA_SCISSORE_NG_H",1;
+	}
+	end;
+}
+
+1@ghg,344,173,3	script(DISABLED)	Gardener#gmck3	4_EP17_SCISSORE,2,2,{
+	if ('water_garden < 6) {
+		npctalk "An error... has occurred.";
+		end;
+	}
+	progressbar_npc "00FF00",5;
+	mes "[Higel]";
+	mes "Next garden... portal creation complete... Move into the 12 o'clock direction... to use... Thank you...";
+	npctalk "Next garden... portal creation complete... Move into the 12 o'clock direction... to use... Thank you...";
+	next;
+	mes "[Higel]";
+	mes "After the move... Papilla in the maze... Please prune all of them.";
+	close2;
+	if ('water_garden == 6) {
+		// note: mobs from traps are not killed
+		disablenpc();
+		'water_garden = 7;
+		enablenpc instance_npcname("#ghg_w4");
+		specialeffect EF_READYPORTAL, AREA, instance_npcname("#ghg_w4");
+		enablenpc instance_npcname("Gardener#keeper" + rand(1,4));
+		donpcevent instance_npcname("#172_wg_mob_4") + "::OnStart";
+	}
+	end;
+
+OnTouch:	// unknown effect
+	end;
+}
+
+
+// Area 4
+1@ghg,1,1,0	script	#172_wg_mob_4	HIDDEN_WARP_NPC,{
+	end;
+OnStart:
+	.@event$ = instance_npcname("#172_wg_mob_4") + "::OnMobDead";
+	if ('mode == 0) {
+		monster 'map_ghg$,314,301,"--ja--",20665,1;
+		monster 'map_ghg$,317,296,"--ja--",20665,1;
+		monster 'map_ghg$,324,296,"--ja--",20665,1;
+		monster 'map_ghg$,317,275,"--ja--",20677,1;
+		monster 'map_ghg$,318,266,"--ja--",20677,1;
+		monster 'map_ghg$,311,268,"--ja--",20677,1;
+		monster 'map_ghg$,277,279,"--ja--",20665,1;
+		monster 'map_ghg$,286,284,"--ja--",20665,1;
+		monster 'map_ghg$,280,284,"--ja--",20665,1;
+		monster 'map_ghg$,278,241,"--ja--",20671,1, .@event$;	// other monsters are not required
+		monster 'map_ghg$,278,301,"--ja--",20674,1, .@event$;
+	}
+	else {
+		monster 'map_ghg$,334,304,"--ja--","MD_ARIES_H",1;
+		monster 'map_ghg$,333,310,"--ja--","MD_ARIES_H",1;
+		monster 'map_ghg$,327,304,"--ja--","MD_ARIES_H",1;
+		monster 'map_ghg$,327,303,"--ja--","MD_ARIES_H",1;
+		monster 'map_ghg$,326,302,"--ja--","MD_ARIES_H",1;
+		monster 'map_ghg$,321,299,"--ja--","MD_VERPORTE_H",1;
+		monster 'map_ghg$,318,295,"--ja--","MD_VERPORTE_H",1;
+		monster 'map_ghg$,314,296,"--ja--","MD_VERPORTE_H",1;
+		monster 'map_ghg$,318,291,"--ja--","MD_VERPORTE_H",1;
+		monster 'map_ghg$,313,297,"--ja--","MD_VERPORTE_H",1;
+		monster 'map_ghg$,315,271,"--ja--","MD_ARIES_H",1;
+		monster 'map_ghg$,320,271,"--ja--","MD_ARIES_H",1;
+		monster 'map_ghg$,318,266,"--ja--","MD_ARIES_H",1;
+		monster 'map_ghg$,322,264,"--ja--","MD_ARIES_H",1;
+		monster 'map_ghg$,311,269,"--ja--","MD_ARIES_H",1;
+		monster 'map_ghg$,275,273,"--ja--","MD_VERPORTE_H",1;
+		monster 'map_ghg$,275,277,"--ja--","MD_VERPORTE_H",1;
+		monster 'map_ghg$,285,279,"--ja--","MD_VERPORTE_H",1;
+		monster 'map_ghg$,275,282,"--ja--","MD_VERPORTE_H",1;
+		monster 'map_ghg$,286,282,"--ja--","MD_VERPORTE_H",1;
+		monster 'map_ghg$,278,301,"--ja--","MD_PAPILA_CAE_H",1, .@event$;	// other monsters are not required
+		monster 'map_ghg$,278,241,"--ja--","MD_PAPILA_RUBA_H",1, .@event$;
+	}
+	end;
+OnMobDead:
+	if ('water_garden != 7)
+		end;
+	if (mobcount('map_ghg$, instance_npcname("#172_wg_mob_4") + "::OnMobDead") < 1) {
+		'water_garden = 8;
+		enablenpc instance_npcname("#ghg_wb");
+		specialeffect EF_READYPORTAL, AREA, instance_npcname("#ghg_wb");
+		mapannounce 'map_ghg$, "The final garden has opened. Please proceed to the next area.", bc_map, 0xFFFF99;
+		enablenpc instance_npcname("Gardener#ghg_gb");
+		end;
+	}
+	end;
+}
+
+// (daily quest)
+1@ghg,346,248,3	script(DISABLED)	Gardener#keeper1	4_EP17_SCISSORE,{
+	if (isbegin_quest(16435) == 1) {
+		if (checkweight(1000099,1) == 0) {	// (custom)
+			mes "^008800Wait a sec!!";
+			mes "You cannot receive any more items because you're carrying too many items. Please try again after you lighten up.^000000";
+			close;
+		}
+		if (countitem(1000099) == 0) {
+			npctalk "Oh, I forgot to make regular contact! I'll get in touch. Would you like a cookie while you're here?", "", bc_self;
+			getitem 1000099,1;
+			end;
+		}
+		npctalk "Do not worry, I already contacted Alpha. Hehe.", "", bc_self;
+		end;
+	}
+	if ('water_garden == 7) {
+		npctalk "That's strange, I forgot it yesterday, but I forgot it today as well.";
+		end;
+	}
+	npctalk "The final garden opened. But... I forgot what should I do...";
+	end;
+}
+1@ghg,334,272,3	duplicate(Gardener#keeper1)	Gardener#keeper2	4_EP17_SCISSORE
+1@ghg,334,310,3	duplicate(Gardener#keeper1)	Gardener#keeper3	4_EP17_SCISSORE
+1@ghg,288,272,3	duplicate(Gardener#keeper1)	Gardener#keeper4	4_EP17_SCISSORE
+
+
+// Area 5 (boss)
+1@ghg,186,287,3	script(DISABLED)	Gardener#ghg_gb	4_EP17_SCISSORE,{
+	if ('water_garden == 8) {
+		mes "[Velkina]";
+		mes "If a Papilla shows up during the battle, make it follow you to the pillar of the same color.";
+		next;
+		mes "[Velkina]";
+		mes "If the Papilla touches the light, it will take damage and die.";
+		next;
+		mes "[Velkina]";
+		mes "If you can safely stop Silva Papilla, we will handle the rest!";
+		next;
+		mes "[Velkina]";
+		mes "Then, I'll burn the incense that calls out Silva Papilla...";
+		close2;
+		if ('water_garden == 8) {
+			'water_garden = 9;
+			cloakonnpcself();
+			donpcevent instance_npcname("#172_wg_boss") + "::OnStart";
+		}
+		end;
+	}
+	end;
+}
+
+1@ghg,1,1,0	script	#172_wg_boss	-1,{
+	end;
+OnStart:
+	monster 'map_ghg$,180,288,"--ja--",(20667+'mode),1, instance_npcname("#172_wg_boss") + "::OnBossDead";
+	'boss_id = $@mobid[0];
+	donpcevent instance_npcname("#172_wg_boss") + "::OnSlave";
+	end;
+OnBossDead:	// note: other events continue
+	killmonster 'map_ghg$, instance_npcname("#172_wg_boss") + "::OnBossDead";
+	// killmonster 'map_ghg$, instance_npcname("#172_wg_boss") + "::OnMobDead";
+	stopnpctimer;
+	if ('water_garden == 9)
+		'water_garden = 10;
+	enablenpc instance_npcname("Gardener#ghg_gb1");
+	disablenpc instance_npcname("#ghg_bosshw");
+	end;
+OnSlave:
+	'red = rand(1,3);
+	'blue = rand(1,3);
+	.@event$ = instance_npcname("#172_wg_boss") + "::OnMobDead";
+	monster 'map_ghg$,182,286,"Papilla Ruba",(20671+'mode),1, .@event$;
+	monster 'map_ghg$,182,286,"Papilla Cae",(20674+'mode),1, .@event$;
+	enablenpc instance_npcname("#blue" + 'blue + "ghg");
+	enablenpc instance_npcname("#red" + 'red + "ghg");
+	sleep 15000;
+	disablenpc instance_npcname("#blue" + 'blue + "ghg");
+	disablenpc instance_npcname("#red" + 'red + "ghg");
+	// note: the event continues when the boss dies up to this point
+	if (!unitexists('boss_id))
+		killmonster 'map_ghg$, instance_npcname("#172_wg_boss") + "::OnMobDead";
+	else {
+		initnpctimer;
+		enablenpc instance_npcname("#ghg_bosshw");
+		instance_warpall 'map_ghg$,182,286,instance_id(), IWA_NOTDEAD;	// (triggers the npc which makes lose hp)
+	}
+	end;
+
+OnTimer1000:
+	switch( rand(1,4)) {
+	case 1:
+		.@x = 152;
+		.@y = 'y_mob = 287;
+		'x_mob = 151;
+		break;
+	case 2:
+		.@x = 183;
+		.@y = 'y_mob = 256;
+		'x_mob = 182;
+		break;
+	case 3:
+		.@x = 183;
+		.@y = 'y_mob = 317;
+		'x_mob = 182;
+		break;
+	case 4:
+		.@x = 214;
+		.@y = 'y_mob = 287;
+		'x_mob = 215;
+		break;
+	}
+	instance_warpall 'map_ghg$,.@x,.@y,instance_id(), IWA_NOTDEAD;
+	disablenpc instance_npcname("#ghg_bosshw");
+	end;
+OnTimer3000:
+	monster 'map_ghg$,'x_mob,'y_mob,"",2537,1, instance_npcname("#172_wg_boss") + "::OnMobDead";
+	end;
+OnTimer13000:
+	killmonster 'map_ghg$, instance_npcname("#172_wg_boss") + "::OnMobDead";
+	end;
+OnTimer18000:
+	stopnpctimer;
+	donpcevent instance_npcname("#172_wg_boss") + "::OnSlave";
+	end;
+OnMobDead:
+	end;
+}
+
+1@ghg,183,286,0	script(DISABLED)	#ghg_bosshw	HIDDEN_WARP_NPC,4,4,{
+	end;
+OnTouch:
+	.@DAMAGE = MaxHp/2;
+	if (.@DAMAGE > Hp)
+		Hp = 1;
+	else
+		Hp -= .@DAMAGE;
+	end;
+}
+
+1@ghg,186,294,3	script(DISABLED)	#blue1ghg	4_ENERGY_BLUE,2,2,{
+	end;
+OnTouchNPC:
+	getunitdata( getattachedrid(), .@data );
+	if (.@data[UMOB_CLASS] == (20674+'mode))
+		unitkill getattachedrid();
+	end;
+}
+
+1@ghg,190,287,3	duplicate(#blue1ghg)	#blue2ghg	4_ENERGY_BLUE,2,2
+1@ghg,187,280,3	duplicate(#blue1ghg)	#blue3ghg	4_ENERGY_BLUE,2,2
+
+1@ghg,179,294,3	script(DISABLED)	#red1ghg	4_ENERGY_RED,2,2,{
+	end;
+OnTouchNPC:
+	getunitdata( getattachedrid(), .@data );
+	if (.@data[UMOB_CLASS] == (20671+'mode))
+		unitkill getattachedrid();
+	end;
+}
+
+1@ghg,174,287,3	duplicate(#red1ghg)	#red2ghg	4_ENERGY_RED,2,2
+1@ghg,178,280,3	duplicate(#red1ghg)	#red3ghg	4_ENERGY_RED,2,2
+
+1@ghg,187,287,3	script(DISABLED)	Gardener#ghg_gb1	4_EP17_SCISSORE,2,2,{
+	if ('water_garden == 10) {
+		mes "[Velkina]";
+		mes "You didn't forget your request from Seiyu, and came in here, right?";
+		next;
+		mes "[Velkina]";
+		mes "Don't forget to go out and talk to Seiyu to ^0000CDReceive your rewards^000000 from todays work.";
+		next;
+		mes "[Velkina]";
+		mes "Then, I'll show you the way outside again!";
+		close2;
+		warp "ba_maison",233,46;
+		end;
+	}
+	end;
+OnTouch_:	// unknown effect
+	end;
+}

+ 1 - 0
npc/re/merchants/barters.yml

@@ -52,6 +52,7 @@ Footer:
   - Path: npc/re/merchants/barters/quests_16_1.yml
   - Path: npc/re/merchants/barters/quests_16_2.yml
   - Path: npc/re/merchants/barters/quests_17_1.yml
+  - Path: npc/re/merchants/barters/quests_17_2.yml
   - Path: npc/re/merchants/barters/refine.yml
   - Path: npc/re/merchants/barters/enchantgrade.yml
   - Path: npc/re/merchants/barters/cashmall.yml

+ 467 - 0
npc/re/merchants/barters/quests_17_2.yml

@@ -0,0 +1,467 @@
+# This file is a part of rAthena.
+#   Copyright(C) 2022 rAthena Development Team
+#   https://rathena.org - https://github.com/rathena
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+#
+###########################################################################
+# Barter Database
+###########################################################################
+#
+# Barter Settings
+#
+###########################################################################
+#  - Name               NPC name.
+#    Map                Map name. (Default: not on a map)
+#    X                  Map x coordinate. (Default: 0)
+#    Y                  Map y coordinate. (Default: 0)
+#    Direction          Direction the NPC is looking. (Default: North)
+#    Sprite             Sprite name of the NPC. (Default: FakeNpc)
+#    Items:             List of sold items.
+#      - Index          Index of the item inside the shop. (0-...)
+#                       Maximum index depends on client.
+#        Item           Aegis name of the item.
+#        Stock          Amount of item in stock. 0 means unlimited. (Default: 0)
+#        Zeny           Cost of them item in Zeny. (Default: 0)
+#        RequiredItems: List of required items (Optional)
+#          - Index      Index of the required item. (0-4)
+#            Item       Aegis name of required item.
+#            Amount     Amount of required item. (Default: 1)
+#            Refine     Refine level of required item. (Default: 0)
+###########################################################################
+
+Header:
+  Type: BARTER_DB
+  Version: 1
+
+Body:
+  - Name: barter_Teleport_Ep17_02
+    Items:
+      - Index: 0
+        Item: Teleport_Ep17_02
+        RequiredItems:
+          - Index: 0
+            Item: BarMealTicket
+  - Name: barter_Ep_17_2_C_Admin_Acc
+    Items:
+      - Index: 0
+        Item: Ep_17_2_C_Admin2_Acc
+        RequiredItems:
+          - Index: 0
+            Item: BarMealTicket
+            Amount: 10
+      - Index: 1
+        Item: Ep_17_2_C_Admin1_Acc
+        RequiredItems:
+          - Index: 0
+            Item: BarMealTicket
+            Amount: 5
+  - Name: barter_EP17_2_EP
+    Items:
+      - Index: 0
+        Item: EP17_2_EP1
+        RequiredItems:
+          - Index: 0
+            Item: Magical_Igni_Stone
+            Amount: 300
+      - Index: 1
+        Item: EP17_2_EP2
+        RequiredItems:
+          - Index: 0
+            Item: Magical_Igni_Stone
+            Amount: 300
+      - Index: 2
+        Item: EP17_2_EP3
+        RequiredItems:
+          - Index: 0
+            Item: Magical_Igni_Stone
+            Amount: 300
+      - Index: 3
+        Item: EP17_2_EP4
+        RequiredItems:
+          - Index: 0
+            Item: Magical_Igni_Stone
+            Amount: 300
+      - Index: 4
+        Item: EP17_2_EP5
+        RequiredItems:
+          - Index: 0
+            Item: Magical_Igni_Stone
+            Amount: 300
+      - Index: 5
+        Item: EP17_2_EP6
+        RequiredItems:
+          - Index: 0
+            Item: Magical_Igni_Stone
+            Amount: 300
+      - Index: 6
+        Item: EP17_2_EP7
+        RequiredItems:
+          - Index: 0
+            Item: Magical_Igni_Stone
+            Amount: 300
+      - Index: 7
+        Item: EP17_2_EP8
+        RequiredItems:
+          - Index: 0
+            Item: Magical_Igni_Stone
+            Amount: 300
+      - Index: 8
+        Item: EP17_2_EP9
+        RequiredItems:
+          - Index: 0
+            Item: Magical_Igni_Stone
+            Amount: 300
+      - Index: 9
+        Item: EP17_2_EP10
+        RequiredItems:
+          - Index: 0
+            Item: Magical_Igni_Stone
+            Amount: 300
+      - Index: 10
+        Item: EP17_2_EP11
+        RequiredItems:
+          - Index: 0
+            Item: Magical_Igni_Stone
+            Amount: 300
+      - Index: 11
+        Item: EP17_2_EP12
+        RequiredItems:
+          - Index: 0
+            Item: Magical_Igni_Stone
+            Amount: 300
+      - Index: 12
+        Item: EP17_2_EP13
+        RequiredItems:
+          - Index: 0
+            Item: Magical_Igni_Stone
+            Amount: 300
+      - Index: 13
+        Item: EP17_2_EP14
+        RequiredItems:
+          - Index: 0
+            Item: Magical_Igni_Stone
+            Amount: 300
+      - Index: 14
+        Item: EP17_2_EP15
+        RequiredItems:
+          - Index: 0
+            Item: Magical_Igni_Stone
+            Amount: 300
+      - Index: 15
+        Item: EP17_2_EP16
+        RequiredItems:
+          - Index: 0
+            Item: Magical_Igni_Stone
+            Amount: 300
+      - Index: 16
+        Item: EP17_2_EP17
+        RequiredItems:
+          - Index: 0
+            Item: Magical_Igni_Stone
+            Amount: 300
+      - Index: 17
+        Item: EP17_2_EP18
+        RequiredItems:
+          - Index: 0
+            Item: Magical_Igni_Stone
+            Amount: 300
+      - Index: 18
+        Item: EP17_2_EP19
+        RequiredItems:
+          - Index: 0
+            Item: Magical_Igni_Stone
+            Amount: 300
+      - Index: 19
+        Item: EP17_2_EP20
+        RequiredItems:
+          - Index: 0
+            Item: Magical_Igni_Stone
+            Amount: 300
+      - Index: 20
+        Item: EP17_2_EP21
+        RequiredItems:
+          - Index: 0
+            Item: Magical_Igni_Stone
+            Amount: 300
+      - Index: 21
+        Item: EP17_2_EP22
+        RequiredItems:
+          - Index: 0
+            Item: Magical_Igni_Stone
+            Amount: 300
+      - Index: 22
+        Item: EP17_2_EP23
+        RequiredItems:
+          - Index: 0
+            Item: Magical_Igni_Stone
+            Amount: 300
+      - Index: 23
+        Item: EP17_2_EP24
+        RequiredItems:
+          - Index: 0
+            Item: Magical_Igni_Stone
+            Amount: 300
+      - Index: 24
+        Item: EP17_2_EP25
+        RequiredItems:
+          - Index: 0
+            Item: Magical_Igni_Stone
+            Amount: 300
+      - Index: 25
+        Item: EP17_2_EP26
+        RequiredItems:
+          - Index: 0
+            Item: Magical_Igni_Stone
+            Amount: 300
+      - Index: 26
+        Item: EP17_2_EP27
+        RequiredItems:
+          - Index: 0
+            Item: Magical_Igni_Stone
+            Amount: 300
+      - Index: 27
+        Item: EP17_2_EP28
+        RequiredItems:
+          - Index: 0
+            Item: Magical_Igni_Stone
+            Amount: 300
+      - Index: 28
+        Item: EP17_2_EP29
+        RequiredItems:
+          - Index: 0
+            Item: Magical_Igni_Stone
+            Amount: 300
+      - Index: 29
+        Item: EP17_2_EP30
+        RequiredItems:
+          - Index: 0
+            Item: Magical_Igni_Stone
+            Amount: 300
+      - Index: 30
+        Item: EP17_2_EP31
+        RequiredItems:
+          - Index: 0
+            Item: Magical_Igni_Stone
+            Amount: 300
+      - Index: 31
+        Item: EP17_2_EP32
+        RequiredItems:
+          - Index: 0
+            Item: Magical_Igni_Stone
+            Amount: 300
+      - Index: 32
+        Item: EP17_2_EP33
+        RequiredItems:
+          - Index: 0
+            Item: Magical_Igni_Stone
+            Amount: 300
+      - Index: 33
+        Item: EP17_2_EP34
+        RequiredItems:
+          - Index: 0
+            Item: Magical_Igni_Stone
+            Amount: 300
+      - Index: 34
+        Item: EP17_2_EP35
+        RequiredItems:
+          - Index: 0
+            Item: Magical_Igni_Stone
+            Amount: 300
+      - Index: 35
+        Item: EP17_2_EP36
+        RequiredItems:
+          - Index: 0
+            Item: Magical_Igni_Stone
+            Amount: 300
+      - Index: 36
+        Item: EP17_2_EP37
+        RequiredItems:
+          - Index: 0
+            Item: Magical_Igni_Stone
+            Amount: 300
+      - Index: 37
+        Item: EP17_2_EP38
+        RequiredItems:
+          - Index: 0
+            Item: Magical_Igni_Stone
+            Amount: 300
+      - Index: 38
+        Item: EP17_2_EP39
+        RequiredItems:
+          - Index: 0
+            Item: Magical_Igni_Stone
+            Amount: 300
+      - Index: 39
+        Item: EP17_2_EP40
+        RequiredItems:
+          - Index: 0
+            Item: Magical_Igni_Stone
+            Amount: 300
+      - Index: 40
+        Item: EP17_2_EP41
+        RequiredItems:
+          - Index: 0
+            Item: Magical_Igni_Stone
+            Amount: 300
+      - Index: 41
+        Item: EP17_2_EP42
+        RequiredItems:
+          - Index: 0
+            Item: Magical_Igni_Stone
+            Amount: 300
+      - Index: 42
+        Item: EP17_2_EP43
+        RequiredItems:
+          - Index: 0
+            Item: Magical_Igni_Stone
+            Amount: 300
+      - Index: 43
+        Item: EP17_2_EP44
+        RequiredItems:
+          - Index: 0
+            Item: Magical_Igni_Stone
+            Amount: 300
+      - Index: 44
+        Item: EP17_2_EP45
+        RequiredItems:
+          - Index: 0
+            Item: Magical_Igni_Stone
+            Amount: 300
+      - Index: 45
+        Item: EP17_2_EP46
+        RequiredItems:
+          - Index: 0
+            Item: Magical_Igni_Stone
+            Amount: 300
+      - Index: 46
+        Item: EP17_2_EP47
+        RequiredItems:
+          - Index: 0
+            Item: Magical_Igni_Stone
+            Amount: 300
+      - Index: 47
+        Item: EP17_2_EP48
+        RequiredItems:
+          - Index: 0
+            Item: Magical_Igni_Stone
+            Amount: 300
+      - Index: 48
+        Item: EP17_2_EP49
+        RequiredItems:
+          - Index: 0
+            Item: Magical_Igni_Stone
+            Amount: 300
+      - Index: 49
+        Item: EP17_2_EP50
+        RequiredItems:
+          - Index: 0
+            Item: Magical_Igni_Stone
+            Amount: 300
+      - Index: 50
+        Item: EP17_2_EP51
+        RequiredItems:
+          - Index: 0
+            Item: Magical_Igni_Stone
+            Amount: 300
+  - Name: barter_auto_equip_1
+    Items:
+      - Index: 0
+        Item: Auto_Armor_A
+        RequiredItems:
+          - Index: 0
+            Item: Illusion_Armor_A
+            Refine: 9
+          - Index: 1
+            Item: BarMealTicket
+            Amount: 900
+      - Index: 1
+        Item: Auto_Armor_B
+        RequiredItems:
+          - Index: 0
+            Item: Illusion_Armor_B
+            Refine: 9
+          - Index: 1
+            Item: BarMealTicket
+            Amount: 900
+      - Index: 2
+        Item: Auto_Engine_A
+        RequiredItems:
+          - Index: 0
+            Item: Illusion_Engine_A
+            Refine: 9
+          - Index: 1
+            Item: BarMealTicket
+            Amount: 900
+      - Index: 3
+        Item: Auto_Engine_B
+        RequiredItems:
+          - Index: 0
+            Item: Illusion_Engine_B
+            Refine: 9
+          - Index: 1
+            Item: BarMealTicket
+            Amount: 900
+      - Index: 4
+        Item: Auto_Leg_A
+        RequiredItems:
+          - Index: 0
+            Item: Illusion_Leg_A
+            Refine: 9
+          - Index: 1
+            Item: BarMealTicket
+            Amount: 900
+      - Index: 5
+        Item: Auto_Leg_B
+        RequiredItems:
+          - Index: 0
+            Item: Illusion_Leg_B
+            Refine: 9
+          - Index: 1
+            Item: BarMealTicket
+            Amount: 900
+  - Name: barter_auto_equip_2
+    Items:
+      - Index: 0
+        Item: Auto_B_R
+        RequiredItems:
+          - Index: 0
+            Item: Illusion_B_R
+          - Index: 1
+            Item: BarMealTicket
+            Amount: 1500
+      - Index: 1
+        Item: Auto_B_L
+        RequiredItems:
+          - Index: 0
+            Item: Illusion_B_L
+          - Index: 1
+            Item: BarMealTicket
+            Amount: 1500
+      - Index: 2
+        Item: Auto_BC_R
+        RequiredItems:
+          - Index: 0
+            Item: Illusion_BC_R
+          - Index: 1
+            Item: BarMealTicket
+            Amount: 1500
+      - Index: 3
+        Item: Auto_BC_L
+        RequiredItems:
+          - Index: 0
+            Item: Illusion_BC_L
+          - Index: 1
+            Item: BarMealTicket
+            Amount: 1500

+ 485 - 0
npc/re/merchants/enchan_sage_legacy_17_2.txt

@@ -0,0 +1,485 @@
+//===== rAthena Script =======================================
+//= Episode 17.2 - Sage's Legacy Enchants
+//===== Description: =========================================
+//= [Walkthrough Conversion]
+//= Sage's Legacy related merchants and enchanters
+//===== Changelog: ===========================================
+//= 1.0 Initial release [crazyarashi]
+//= 1.1 Optimizations and cleanup [Everade]
+//= 1.2 Cleanup [Capuche]
+//============================================================
+
+ba_in01,87,370,3	script	Lisa#ep172_merchant	20698,{
+	if (checkweight(1201,3) == 0) {
+		mes "^ff0000It seems that the type or weight of the item you have is too much. Please organize your inventory.^000000";
+		close;
+	}
+	disable_items;
+	mes "[Lisa]";
+	mes "Welcome welcome~";
+	next;
+	switch( select( "Explore Devices", "Automatic Engine Wing Enhancement", "Automatic Armor Enhancement", "Automatic Leg Enhancement", "Automatic Accessories(R) Enhancement", "Automatic Accessories(L) Enhancement" ) ) {
+	case 1:
+		mes "[Lisa]";
+		mes "If you bring automatic equipment and reinforcement modules, we can enchant the appropriate module on the equipment.";
+		next;
+		mes "[Lisa]";
+		mes "This is done according to the specification module, so the equipment will not be destroyed. However, the number of upgrades can vary depending on the module.";
+		next;
+		mes "[Lisa]";
+		mes "Then please visit again when you need help~";
+		close;
+	case 2:
+		.@part = EQI_GARMENT;
+		setarray .@equip_required[0],480020,480021;
+		break;
+	case 3:
+		.@part = EQI_ARMOR;
+		setarray .@equip_required[0],450127,450128;
+		break;
+	case 4:
+		.@part = EQI_SHOES;
+		setarray .@equip_required[0],470022,470023;
+		break;
+	case 5:
+		.@part = EQI_ACC_R;
+		setarray .@equip_required[0],490024,490026;
+		break;
+	case 6:
+		.@part = EQI_ACC_L;
+		setarray .@equip_required[0],490025,490027;
+		break;
+	}
+	.@equip_id = getequipid(.@part);
+	.@equip_name$ = getequipname(.@part);
+	.@refine = getequiprefinerycnt(.@part);
+	for ( .@i = 0; .@i < 4; ++.@i )
+		.@card[.@i] = getequipcardid(.@part,.@i);
+
+	mes "[Lisa]";
+	mes "If you bring automatic equipment and reinforcement modules, we can enchant the appropriate module on the equipment.";
+	next;
+	mes "[Lisa]";
+	mes strcharinfo(0) + ".";
+	mes "Please select the grade of module that you want to use.";
+	next;
+	switch( select( "Cancel", "Normal Grade", "Rare Grade", "Unique Grade", "Legendary Grade", "Epic Grade 1", "Epic Grade 2", "Epic Grade 3" ) ) {
+	case 1:
+		mes "[Lisa]";
+		mes "Stopping conversation.";
+		close;
+	case 2:
+		setarray .@module_etc[0],1000105,1000106,1000107,1000108,1000109,1000110,1000111,1000112;
+		break;
+	case 3:
+		setarray .@module_etc[0],1000113,1000114,1000115,1000116,1000117,1000118,1000119,1000120,1000121,1000122,1000123,1000124,1000125,1000126,1000127;
+		break;
+	case 4:
+		setarray .@module_etc[0],1000128,1000129,1000130,1000131,1000132,1000133,1000134,1000135,1000136,1000137,1000138,1000139,1000140,1000141,1000142,1000143,1000207,1000208;
+		break;
+	case 5:
+		setarray .@module_etc[0],1000144,1000145,1000146,1000147,1000148,1000149;
+		break;
+	case 6:
+		setarray .@module_etc[0],1000152,1000153,1000154,1000155,1000156,1000157,1000158,1000159,1000160,1000161,1000162,1000163,1000164,1000165,1000166,1000167,1000168;
+		break;
+	case 7:
+		setarray .@module_etc[0],1000169,1000170,1000171,1000172,1000173,1000174,1000175,1000176,1000177,1000178,1000179,1000180,1000181,1000182,1000183,1000184,1000185;
+		break;
+	case 8:
+		setarray .@module_etc[0],1000186,1000187,1000188,1000189,1000190,1000191,1000192,1000193,1000194,1000195,1000196,1000197,1000198,1000199,1000200,1000201,1000202;
+		break;
+	}
+	.@size = getarraysize(.@module_etc);
+	.@menu$ = "Cancel:";
+
+	// Build the menu according to all the modules with the given grade in inventory
+	for ( .@i = 0; .@i < .@size; ++.@i ) {
+		if (countitem(.@module_etc[.@i]) < 1)
+			.@menu$ += "^808080(Module Amount 0)^000000" + ":";
+		else {
+			.@item_name$ = getitemname(.@module_etc[.@i]);
+			.@item_name$ = replacestr(.@item_name$, "Automatic Modification Module(", "");
+			.@item_name$ = replacestr(.@item_name$, ")", "");
+			.@menu$ += .@item_name$ + ":";
+		}
+	}
+	.@s = select(.@menu$) - 2;
+	if (.@s == -1) {
+		mes "[Lisa]";
+		mes "Stopping conversation.";
+		close;
+	}
+	.@module_id = .@module_etc[.@s];
+
+	if (countitem(.@module_id) < 1) {
+		mes "[Lisa]";
+		mes "You must possess a module in your inventory that matches the efficacy to proceed with the enhancement.";
+		close;
+	}
+	if (.@equip_required[0] != .@equip_id && .@equip_required[1] != .@equip_id) {
+		mes "[Lisa]";
+		mes "Please make sure you have equipped the proper automatic equipment that you want to enhance.";
+		close;
+	}
+	if (.@card[1] > 0) {
+		mes "[Lisa]";
+		mes "This automatic equipment is already at its maximum capacity.";
+		mes "Please try another automatic equipment.";
+		close;
+	}
+	if (.@module_id < 1000105 || .@module_id == 1000150 || .@module_id == 1000151 || (.@module_id >= 1000203 && .@module_id != 1000207 && .@module_id != 1000208)) {
+		mes "[Lisa]";
+		mes "Unknown error has occured.";
+		close;
+	}
+
+	// Each part has a list of allowed module and a maximum allowed number of the same module
+	switch( .@part ) {
+	case EQI_GARMENT:
+		setarray .@module_etc_data[0],1000105,3,1000106,3,1000125,2,1000126,2,1000127,2,1000135,1,1000142,1,1000208,1;
+		break;
+	case EQI_ARMOR:
+		setarray .@module_etc_data[0],1000105,3,1000106,3,1000122,2,1000123,2,1000124,2,1000128,1,1000129,1,1000130,1,1000131,1,1000132,1,1000133,1,1000207,1,1000140,1;
+		.@size = getarraysize(.@module_etc_data);
+
+		// Epic enchants. Max 2 epic enchants of the same enchant allowed
+		for (.@i = 1000152; .@i < 1000203; .@i++) {
+			setarray .@module_etc_data[.@size], .@i, 2;
+			.@size += 2;
+		}
+		break;
+	case EQI_SHOES:
+		setarray .@module_etc_data[0],
+			1000105,3,1000106,3,1000119,2,1000120,2,1000121,2,1000134,1,1000141,1,
+			1000144,1,1000145,1,1000146,1,1000147,1,1000148,1,1000149,1;	// Legendary enchants (must be unique on EQI_SHOES)
+		break;
+	case EQI_ACC_L:
+	case EQI_ACC_R:
+		setarray .@module_etc_data[0],1000107,3,1000108,3,1000109,3,1000110,3,1000111,3,1000112,3,1000113,2,1000114,2,1000115,1,1000116,1,1000117,1,1000118,1,1000136,1,1000137,1,1000138,1,1000139,1,1000143,1;
+		break;
+	}
+
+	.@data_index = inarray(.@module_etc_data, .@module_id);
+
+	if (.@data_index == -1) {
+		mes "[Lisa]";
+		mes "You can not enchant this module to this automatic equipment.";
+		close;
+	}
+	// Max number of the selected module allowed
+	.@max_module = .@module_etc_data[.@data_index+1];
+	
+	// Bind the module etc to the specific enchant
+	for ( .@i = 1000105; .@i < 1000203; ++.@i ) {
+		if (.@i == 1000150 || .@i == 1000151)
+			continue;
+		.@auto_module[.@i] = 310082 + .@size_auto_module;
+		.@size_auto_module++;
+	}
+	.@auto_module[1000207] = 310178;
+	.@auto_module[1000208] = 310179;
+
+	// Check the count of the corresponding enchant in card slots
+	.@enchant_id = .@auto_module[.@module_id];
+	if (.@enchant_id == 0) {
+		mes "[Lisa]";
+		mes "Unknown error has occured.";
+		close;
+	}
+	if (countinarray(.@card[0], .@enchant_id) >= .@max_module) {
+		mes "[Lisa]";
+		mes "This automatic equipment has already maximized the enhancement from this module.";
+		mes "Please try another module.";
+		close;
+	}
+	mes "[Lisa]";
+	mes "Are you sure you want to enchance your ^FF0000" + .@equip_name$ + "^000000 with ^0000CD" + getitemname(.@module_id) + "^000000? This process cannot be reversed.";
+	next;
+	if (select( "Wait... Don't", "I'm sure. Do it." ) == 1) {
+		mes "[Lisa]";
+		mes "Stopping conversation.";
+		close;
+	}
+	delitem .@module_id,1;
+
+	if (callfunc("F_IsEquipIDHack", .@part, .@equip_id) || callfunc("F_IsEquipRefineHack", .@part, .@refine) || callfunc("F_IsEquipCardHack", .@part, .@card[0], .@card[1], .@card[2], .@card[3]))
+		end;
+
+	for ( .@i = 3; .@i > 0; .@i--) {
+		if (.@card[.@i] == 0) {
+			.@card[.@i] = .@enchant_id;
+			break;
+		}
+	}
+	delequip .@part;
+	getitem2 .@equip_id,1,1,.@refine,0,.@card[0],.@card[1],.@card[2],.@card[3];
+	mes "[Lisa]";
+	mes "Woaaaah~ I can feel the power of your automatic equipment already~!";
+	close;
+}
+
+//= Merchants
+-	marketshop	ep172littlemanager00	-1,1000227:172:999999
+
+ba_in01,87,386,3	script	Child Manager ©¬#ep172_pet	EP17_2_CHILD_ADMIN1,{
+	if (checkweight(1201,3) == 0) {
+		mes "- You have too many items.";
+		mes "Please clear your inventory and try again. -";
+		close;
+	}
+	mes "[Child Manager ©¬]";
+	mes "I have a whole bunch of little stuffs!";
+	next;
+	switch( select( "Little Manager", "Cloud Cotton", "Little Headress", "Cancel" ) ) {
+	case 1:
+		mes "[Child Manager ©¬]";
+		mes "If you want to play with the little manager, it would cost you 30 Barmeal Tickets.";
+		next;
+		if (select( "Exchange.", "Stop." ) == 2) {
+			mes "[Child Manager ©¬]";
+			mes "Then, it's time for me to play!";
+			close;
+		}
+		if (countitem(1000103) < 30) {
+			mes "[Child Manager ©¬]";
+			mes "Like I said, if you want to play with the little manager, you'll need 30 Barmeal Tickets!";
+			close;
+		}
+		mes "[Child Manager ©¬]";
+		mes "Have fun with your new friend!";
+		delitem 1000103,30;
+		getitem 9123,1;
+		close;
+	case 2:
+		callshop "ep172littlemanager00";
+		end;
+	case 3:
+		callshop "barter_Ep_17_2_C_Admin_Acc";
+		end;
+	case 4:
+		mes "[Child Manager ©¬]";
+		mes "Then, it's time for me to play!";
+		close;
+	}
+	end;
+}
+
+//= Cube Shop
+-	marketshop	ep172cubeshop00	-1,100251:10000000:-1,100252:30000000:-1
+
+ba_in01,87,376,3	script	Cube Lane#ep172cube	4_EP17_GUARD_B,{
+	mes "[Cube Lane]";
+	mes "We are offering reinforcement cubes that will refine your ^0000CD+4^000000 Illusion and Automatic Equipment to ^FF0000+7^000000 in an instant!";
+	mes "Varmundt is no doubt the best man in the world!";
+	close2;
+	callshop "ep172cubeshop00";
+	end;
+}
+
+//= Module Shop
+ba_in01,87,373,3	script	Spiera#ep172_soapstone	MD_ASSISTANT,{
+	callshop "barter_EP17_2_EP";
+	end;
+}
+
+//= Equipment Shop
+ba_in01,87,383,3	script	Yeoncheong#equipment_exchange	4_EP17_CLEANER_W,{
+	if (checkweight(1201,3) == 0) {
+		cutin "ep172_omega.bmp",2;
+		mes "[Yeoncheong]";
+		mes "The bag is full. Please check the weight and number of items in your possession before talking again.";
+		close3;
+	}
+	disable_items;
+	cutin "ep172_omega",2;
+	mes "[Yeoncheong]";
+	mes "We accept Barmeal Tickets for upgrading your Illusion Equipment into Automatic Requipments.";
+	mes "What would you like to exchange?";
+	next;
+	switch( select( "Exchange Information", "Automatic Equipment Exchange", "Automatic Accessory Exchange", "Quit" ) ) {
+	case 1:
+		mes "[Yeoncheong]";
+		mes "You can exchange your ^0000CD+9 Illusion Armor, Engine, or Leg and 900 Barmeal Tickets^000000 to ^FF0000Automatic Armor, Engine, or Leg^000000.";
+		next;
+		mes "[Yeoncheong]";
+		mes "The ^FF0000Automatic Accessories^000000 can be exchanged for ^0000CDIllusion Accessories and 1500 Barmeal Tickets^000000.";
+		next;
+		mes "[Yeoncheong]";
+		mes "The equipment you want to exchange must be in your inventory and talk to me.";
+		mes "^FF0000Bring only one equipment that you want to exchange and proceed.^000000";
+		close3;
+	case 2:
+		.@shop$ = "barter_auto_equip_1";
+		break;
+	case 3:
+		.@shop$ = "barter_auto_equip_2";
+		break;
+	case 4:
+		mes "[Yeoncheong]";
+		mes "Have a nice day, dear guest~";
+		close3;
+	}
+	mes "[Yeoncheong]";
+	mes "^FF0000Bring only one equipment that you want to exchange and proceed.^000000";
+	mes "If there are multiple equipments in your inventory, it will be exchanged randomly if it meets the condition.";
+	close2;
+	cutin "",255;
+	callshop .@shop$;
+	end;
+}
+
+//= Device Module Exchange
+ba_in01,87,380,3	script	Yecheon#ep172module_trader	4_EP17_CLEANER_W,{
+	if (checkweight(1201,3) == 0) {
+		cutin "ep172_omega",2;
+		mes "[Yecheon]";
+		mes "The bag is full. Please check the weight and number of items in your possession before talking again.";
+		close3;
+	}
+	disable_items;
+	cutin "ep172_omega",2;
+	mes "[Yecheon]";
+	mes "I can provide you an Automatic Module, Physical Automatic Improvement Device, and Magical Automatic Improvement Device. It will help you the improve abilites of your automatic equipments.";
+	next;
+	cutin "",255;
+	switch( select( "More information.", "Get Automatic Module", "Get Physical Automatic Improvement Device", "Get Magical Automatic Improvement Device", "Cancel" ) ) {
+	case 1:
+		cutin "ep172_omega",2;
+		mes "[Yecheon]";
+		mes "You can get an ^FF0000automatic module^000000 for ^0000CD90 Barmeal Tickets^000000. I will give you a random automatic module excluding the epic grade modules.";
+		next;
+		mes "[Yecheon]";
+		mes "I'm also providing ^FF0000Physical Automatic Improvement Device and Magical Automatic Improvement Device^000000. You can exchange it for ^0000CD45 Barmeal Tickets^000000, or ^0000CD1500000 Zeny^000000.";
+		next;
+		mes "[Yecheon]";
+		mes "Then, combat-specialized guest, do safely improve your abilities.";
+		close3;
+	case 2:
+		.@price = 90;
+		cutin "ep172_omega",2;
+		mes "[Yecheon]";
+		mes "I will exchange 1 random Automatic Module excluding the epic grade modules for " + .@price + " " + mesitemlink(1000103) + ".";
+		next;
+		cutin "",255;
+		if (select( "Exchange Barmeal Ticket.", "Do not exchange" ) == 2) {
+			mes "[Yecheon]";
+			mes "Transaction ended.";
+			close3;
+		}
+		cutin "ep172_omega",2;
+		if (countitem(1000103) < .@price) {
+			mes "[Yecheon]";
+			mes "You don't have enough Barmeal tickets for the exchange.";
+			close3;
+		}
+		mes "[Yecheon]";
+		mes "I exchanged it for one random Automatic Module.";
+		delitem 1000103,.@price;
+		getitem rand(1000105,1000149),1;
+		close3;
+	case 3:
+		.@price = 45;
+		.@zeny = 1500000;
+		cutin "ep172_omega",2;
+		mes "[Yecheon]";
+		mes "I will exchange ^FF00001 Physical Automatic Improvement Device^000000 for " + .@price + " " + mesitemlink(1000103) + " or " + .@zeny + " Zeny.";
+		next;
+		cutin "",255;
+		switch( select( "Exchange for Barmeal Ticket.", "Exchange for 1500000 Zeny.", "Do not exchange." ) ) {
+		case 1:
+			cutin "ep172_omega",2;
+			if (countitem(1000103) < .@price) {
+				mes "[Yecheon]";
+				mes "You don't have enough Barmeal tickets for the exchange.";
+				close3;
+			}
+			delitem 1000103,.@price;
+			break;
+		case 2:
+			cutin "ep172_omega",2;
+			if (Zeny < .@zeny) {
+				mes "[Yecheon]";
+				mes "You don't have enough Zeny for the exchange.";
+				close3;
+			}
+			Zeny -= .@zeny;
+			break;
+		case 3:
+			mes "[Yecheon]";
+			mes "Transaction ended.";
+			close3;
+		}
+		mes "[Yecheon]";
+		mes "I exchanged it for one random Physical Automatic Improvement Device.";
+		.@r = rand(100);
+		if (.@r < 50)
+			getitem 100164,1;
+		else if (.@r < 80)
+			getitem 100165,1;
+		else
+			getitem 100166,1;
+		close3;
+	case 4:
+		.@price = 45;
+		.@zeny = 1500000;
+		cutin "ep172_omega",2;
+		mes "[Yecheon]";
+		mes "I will exchange ^FF00001 Magical Automatic Improvement Device^000000 for " + .@price + " " + mesitemlink(1000103) + " or " + .@zeny + " Zeny.";
+		next;
+		cutin "",255;
+		switch( select( "Exchange for Barmeal Ticket.", "Exchange for 1500000 Zeny.", "Do not exchange." ) ) {
+		case 1:
+			cutin "ep172_omega",2;
+			if (countitem(1000103) < .@price) {
+				mes "[Yecheon]";
+				mes "You don't have enough Barmeal tickets for the exchange.";
+				close3;
+			}
+			delitem 1000103,.@price;
+			break;
+		case 2:
+			cutin "ep172_omega",2;
+			if (Zeny < .@zeny) {
+				mes "[Yecheon]";
+				mes "You don't have enough Zeny for the exchange.";
+				close3;
+			}
+			Zeny -= .@zeny;
+			break;
+		case 3:
+			mes "[Yecheon]";
+			mes "Transaction ended.";
+			close3;
+		}
+		mes "[Yecheon]";
+		mes "I exchanged it for one random Magical Automatic Improvement Device.";
+		.@r = rand(100);
+		if (.@r < 50)
+			getitem 100167,1;
+		else if (.@r < 80)
+			getitem 100168,1;
+		else
+			getitem 100169,1;
+		close3;
+	case 5:
+		mes "[Yecheon]";
+		mes "Transaction ended.";
+		close3;
+	}
+	end;
+}
+
+ba_in01,87,389,2	script	Butterfly Merchant#ba_in01	4_EP17_MASTER_A,{
+	if (ep17_2_main < 8) {
+		mes "[Butterfly Merchant]";
+		mes "Sorry. Registration is required to purchase butterflies.";
+		close;
+	}
+	mes "[Butterfly Merchant]";
+	mes "Welcome.";
+	mes "Do you need wings to move to Barmund Mansion?";
+	close2;
+	callshop "barter_Teleport_Ep17_02";
+	end;
+}

+ 17 - 0
npc/re/mobs/dungeons/ba_2whs.txt

@@ -0,0 +1,17 @@
+//===== rAthena Script =======================================
+//= Monsters from Varmundt's Mansion
+//===== Changelog: ===========================================
+//= 1.0 First version. [JohnnyPlayy]
+//============================================================
+
+//= Tartar Cellar - Level 1
+//============================================================
+ba_2whs01,0,0	monster	Broken Beta Guards	20639,30,5000
+ba_2whs01,0,0	monster	Broken Omega Cleaner	20641,90,5000
+ba_2whs01,0,0	monster	Heart Hunter Skirmisher	20682,70,5000
+
+//= Tartar Cellar - Level 2
+//============================================================
+ba_2whs02,0,0	monster	Broken Warehouse Manager	20637,80,5000
+ba_2whs02,0,0	monster	Broken Beta Guards	20639,80,5000
+ba_2whs02,0,0	monster	Broken Omega Cleaner	20641,20,5000

+ 14 - 0
npc/re/mobs/dungeons/ba_bath.txt

@@ -0,0 +1,14 @@
+//===== rAthena Script =======================================
+//= Monsters from Varmundt's Mansion
+//===== Changelog: ===========================================
+//= 1.0 First version. [JohnnyPlayy]
+//============================================================
+
+//= Meditation Bath
+//============================================================
+ba_bath,0,0	monster	Broken Cleaner	20633,30,5000
+ba_bath,0,0	monster	Broken Cleaner	20634,30,5000
+ba_bath,0,0	monster	Boiling Water Phen	20643,70,5000
+ba_bath,0,0	monster	Boiling Water Marc	20644,50,5000
+ba_bath,0,0	monster	Boiling Water Swordfish	20645,50,5000
+ba_bath,0,0	monster	Boiling Water Piranha	20646,70,5000

+ 12 - 0
npc/re/mobs/dungeons/ba_lib.txt

@@ -0,0 +1,12 @@
+//===== rAthena Script =======================================
+//= Monsters from Varmundt's Mansion
+//===== Changelog: ===========================================
+//= 1.0 First version. [JohnnyPlayy]
+//============================================================
+
+//= Library - Memory Corridor
+//============================================================
+ba_lib,0,0	monster	Broken Beta	20630,10,5000
+ba_lib,0,0	monster	Heart Hunter Skirmisher	20680,15,5000
+ba_lib,0,0	monster	Bookworm	20683,80,5000
+ba_lib,0,0	monster	Roaming Spellbook	20684,70,5000

+ 28 - 0
npc/re/mobs/dungeons/ba_pw.txt

@@ -0,0 +1,28 @@
+//===== rAthena Script =======================================
+//= Monsters from Varmundt's Mansion
+//===== Changelog: ===========================================
+//= 1.0 First version. [JohnnyPlayy]
+//============================================================
+
+//= Power Plant - Level 1
+//=============================================================
+ba_pw01,0,0	monster	Broken Beta	20630,15,5000
+ba_pw01,0,0	monster	Heart Hunter Skirmisher	20680,15,5000
+ba_pw01,0,0	monster	Elite Bellare	20688,90,5000
+ba_pw01,0,0	monster	Spell Addicted Dolor	20689,80,5000
+ba_pw01,0,0	monster	Released Spell	20690,50,5000
+
+//= Sewage Treatment Station
+//=============================================================
+ba_pw02,0,0	monster	Heart Hunter Skirmisher	20680,15,5000
+ba_pw02,0,0	monster	Sewage Venenum	20685,60,5000
+ba_pw02,0,0	monster	Sewage Clamp	20686,80,5000
+ba_pw02,0,0	monster	Sewage Waterfall	20687,60,5000
+ba_pw02,0,0	monster	Elite Bellare	20688,60,5000
+
+//= Power Plant - Level 2
+//=============================================================
+ba_pw03,0,0	monster	Spell Addicted Plaga	20691,80,5000
+ba_pw03,0,0	monster	Spell Addicted Sanare	20692,80,5000
+ba_pw03,0,0	monster	Powerful Spell	20693,70,5000
+ba_pw03,0,0	monster	Sharp Spell	20694,70,5000

+ 14 - 0
npc/re/mobs/fields/ba_lost.txt

@@ -0,0 +1,14 @@
+//===== rAthena Script =======================================
+//= Monsters from Varmundt's Mansion
+//===== Changelog: ===========================================
+//= 1.0 First version. [JohnnyPlayy]
+//============================================================
+
+//= Forgotten Valley
+//============================================================
+ba_lost,0,0	monster	Pitaya	20649,50,5000
+ba_lost,0,0	monster	Pitaya	20650,50,5000
+ba_lost,0,0	monster	Pitaya	20651,50,5000
+ba_lost,0,0	monster	Pitaya	20652,50,5000
+ba_lost,0,0	monster	Pitaya	20653,30,5000
+ba_lost,0,0,0,0	boss_monster	Boss Pitaya	20648,1,7200000,600000,0

+ 13 - 0
npc/re/mobs/fields/ba_maison.txt

@@ -0,0 +1,13 @@
+//===== rAthena Script =======================================
+//= Monsters from Varmundt's Mansion
+//===== Changelog: ===========================================
+//= 1.0 First version. [JohnnyPlayy]
+//============================================================
+
+//= Varmundt Mansion Garden
+//============================================================
+ba_maison,0,0	monster	Broken Beta	20630,15,5000
+ba_maison,0,0	monster	Omega Cleaner	20640,5,5000
+ba_maison,0,0	monster	Guardian Parts	20679,15,5000
+ba_maison,0,0	monster	Bookworm	20683,2,5000
+ba_maison,0,0	monster	Roaming Spellbook	20684,1,5000

+ 26 - 0
npc/re/other/Global_Functions.txt

@@ -40,3 +40,29 @@ function	script	F_22507	{// ShabbyOldScroll
 	else if (.@r == 10) warp "pay_fild10",147,267;
 	end;
 }
+
+// Return a value according to the quests states.
+// -1 : One of the quest has a different state
+//  0 : All the quests are not started
+//  1 : All the quests are started
+//  2 : All the quests are completed
+function	script	F_queststatus	{
+	.@type = getarg(0);
+	.@base = checkquest(getarg(1),.@type);
+	.@size = getargcount();
+
+	for ( .@i = 2; .@i < .@size; ++.@i ) {
+		if (checkquest(getarg(.@i),.@type) != .@base)
+			return -1;
+	}
+	switch( .@base ) {
+	case -1:
+		return 0;
+	case 0:
+	case 1:
+		return 1;
+	case 2:
+		return 2;
+	}
+	end;
+}	

+ 31 - 23
npc/re/quests/quests_17_1.txt

@@ -6905,26 +6905,31 @@ sp_cor,255,285,1	script	Rookie#rm171_2	4_M_ROOKIE,{
 		cutin "",255;
 		end;
 	case 2:
-		cutin "16loo_01",2;
+		break;
+	}
+	// Episode 17.2 - START - (Walkthrough Conversion)
+	if (BaseLevel < 130) {
 		mes "[Rookie]";
-		mes "I'll let you know if we come across more information. Until then, please get some rest.";
-		mes "Also, Elyumina will be kept here with us for the time being.";
+		mes "I'll get back to you when I get more info. So take a break for a while.";
+		mes "Elyumina should also be in charge here for the time being.";
 		next;
-		cutin "16loo_01",2;
+		cutin "16loo_01.bmp",2;
 		mes "[Rookie]";
-		mes "While he's with us, we'll also see if he can modify the damaged weapons found here for us.";
+		mes "We'll keep an eye on it and suggest modifying the damaged weapons we can get here for our own use.";
 		next;
 		mes "[Rookie]";
-		mes "If you're interested in that, you should ask Captain Volkova's <NAVI>[subordinates]<INFO>sp_cor,108,130,0,101,0</INFO></NAVI> for more details.";
+		mes "If you're an adventurer, if you're interested, it's managed by Captain Volkova's <NAVI>[subordinates]<INFO>sp_cor,108,130,0,101,0</INFO></NAVI>, so go and ask.";
 		next;
-		cutin "16loo_02",2;
+		cutin "16loo_02.bmp",2;
 		mes "[Rookie]";
-		mes "There are still many things to do around here. If you're not busy, maybe you can stay and help us.";
-		mes "Now, good luck, Adventurer! We'll contact you if we come across new information!";
-		close3;
+		mes "There's still quite a bit of work to do around here, so if you're free, feel free to help out.";
+		mes "Then good luck, adventurer! I'll be in touch when I learn something new!";
+		next;
+		cutin "",255;
+		mes "^4d4dffThese quests are available from level 130 or higher.^000000";
+		close;
 	}
-	// Episode 17.2 - START - (Walkthrough Conversion)
-/*	if (isbegin_quest(18000) == 0) {
+	if (ep17_2_main == 0) {
 		cutin "16loo_01",2;
 		mes "[Rookie]";
 		mes "You're welcome.";
@@ -6950,19 +6955,20 @@ sp_cor,255,285,1	script	Rookie#rm171_2	4_M_ROOKIE,{
 		mes "[Rookie]";
 		mes "... Hmm, for some reason, I feel like I'm always playing the role of a gatekeeper?";
 		mes "Is it only for adventurers? You must be feeling bad, huh? Ha-ha-ha-ha";
+		ep17_2_main = 1;
 		setquest 18000;
 		next;
 		mes "[Rookie]";
 		mes "I'll open the door anytime you need to need, adventurer. Just let me know.";
 		close3;
 	}
-	if (isbegin_quest(18000) == 1) {
+	if (ep17_2_main == 1) {
 		cutin "16loo_01",2;
 		mes "[Rookie]";
 		mes "Shall we go?";
 		mes "To the great mansion left by the great sages?";
 		next;
-		if (select("Let's Go!:Not now.") == 2) {
+		if (select( "Let's Go!", "Not now." ) == 2) {
 			mes "[Rookie]";
 			mes "Let me know whenever you are ready.";
 			close3;
@@ -6998,14 +7004,15 @@ sp_cor,255,285,1	script	Rookie#rm171_2	4_M_ROOKIE,{
 		next;
 		mes "[Rookie]";
 		mes "Then, this way.";
-		completequest 18000;
+		ep17_2_main = 2;
+		erasequest 18000;
 		setquest 18001;
 		close2;
 		cutin "",255;
 		warp "ba_pw02",275,20;
 		end;
 	}
-	if (isbegin_quest(18001) == 1) {
+	if (ep17_2_main == 2) {
 		mes "[Rookie]";
 		mes "Go ahead and enter the mansion through this sewer.";
 		mes "Most of the colleagues who went in first cleaned up already.";
@@ -7019,11 +7026,11 @@ sp_cor,255,285,1	script	Rookie#rm171_2	4_M_ROOKIE,{
 	mes "The path we took with you adventurer is a fresh feeling for me.";
 	mes "I feel really alive these days.";
 	close;
-*/ // Episode 17.2 - END
-	end;
 
 OnInit:
-	questinfo (QTYPE_QUEST, QMARK_YELLOW, " isbegin_quest(16360) == 1 ");
+	questinfo( QTYPE_QUEST, QMARK_YELLOW, "isbegin_quest(16360) == 1" );
+	questinfo( QTYPE_QUEST, QMARK_YELLOW, "isbegin_quest(16360) == 2 && isbegin_quest(18000) == 0 && BaseLevel >= 130 && ep17_2_main == 0" );
+	questinfo( QTYPE_QUEST, QMARK_YELLOW, "isbegin_quest(18000) == 1" );
 	end;
 }
 
@@ -8629,10 +8636,11 @@ sp_cor,235,292,7	script	Rebellion#171_rvs_39	4_M_REBELLION2,{
 	close;
 }
 
-sp_cor,260,280,3	script	Rebellion#171_rvs_40	4_F_ANYA,{
-	npctalk "We're on high alert! Keep a lookout!","",bc_self;
-	end;
-}
+// duplicated ?
+// sp_cor,260,280,3	script	Rebellion#171_rvs_40	4_F_ANYA,{
+	// npctalk "We're on high alert! Keep a lookout!","",bc_self;
+	// end;
+// }
 
 sp_cor,63,144,3	script	Worker#171_rvs_44	1_M_SIGNMONK,{
 	mes "[Worker]";

+ 10423 - 0
npc/re/quests/quests_17_2.txt

@@ -0,0 +1,10423 @@
+//===== rAthena Script =======================================
+//= Sage's Legacy
+//===== Description: =========================================
+//= [Walkthrough Conversion]
+//--- NPC quests for Episode 17.2
+//===== Changelog: ===========================================
+//= 1.0 Initial release [crazyarashi]
+//= 1.1 Optimizations and cleanup [Everade]
+//= 1.2 Cleanup [Capuche]
+//============================================================
+
+// Main quest
+ba_pw02,90,93,0	script	???????????????#ep172_bapw2-00	4_ENERGY_BLUE,{
+	if (ep17_2_main == 2) {
+		cutin "bu_du5",2;
+		mes "[???????????????]";
+		mes "Urrrrrrrrrrrr!!!!";
+		mes "Gruueeeeek...!!!";
+		next;
+		cutin "",255;
+		mes "- When I looked at the strange sound, I saw a person who seems to be drowning. -";
+		next;
+		if (select( "Help him.", "Ignore it." ) == 2) {
+			cutin "bu_du5",2;
+			mes "[???????????????]";
+			mes "Eeeeeek...";
+			close2;
+			cutin "",255;
+			cloakonnpcself( "Dew#ep172_bapw2-00" );
+			end;
+		}
+		mes "- It seems he is already incapable to do any action. Let's go get him a piece of Yggdrasil Leaf. -";
+		ep17_2_main = 3;
+		erasequest 18001;
+		setquest 11615;
+		close2;
+		cloakonnpcself( "Dew#ep172_bapw2-00" );
+		end;
+	}
+	if (ep17_2_main == 3) {
+		if (countitem(610) < 1) {
+			mes "- It seems he is already incapable to do any action. Let's go get him a piece of Yggdrasil Leaf. -";
+			close;
+		}
+		cloakoffnpcself( "Dew#ep172_bapw2-01" );
+		mes "[Dew]";
+		mes "Cough cough!!!!";
+		mes "Eeeeeek.";
+		delitem 610,1;
+		ep17_2_main = 4;
+		erasequest 11615;
+		setquest 11616;
+		next;
+		mes "[Dew]";
+		mes "Wooooo!!!!";
+		next;
+		cutin "bu_du4",2;
+		mes "[Dew]";
+		mes "Ehem...";
+		mes "I thought I was going to die!";
+		next;
+		mes "[Dew]";
+		mes "Thank you!!";
+		mes "You saved my life!";
+		mes "I will never forget your kindness...";
+		next;
+		cutin "bu_du5",2;
+		mes "[Dew]";
+		mes "...Ah!!";
+		mes "Ahhhhhhhhhhhh!!";
+		next;
+		cutin "bu_du2",2;
+		mes "[Dew]";
+		mes "Look who's here!!!";
+		mes "" + strcharinfo(0) + "!!!";
+		next;
+		mes "[Dew]";
+		mes "It's really fate to meet you in a place like this again!!!";
+		next;
+		cutin "bu_du3",2;
+		mes "[Dew]";
+		mes "If it wasn't for you, I'd wake up at the Prontera Church!";
+		mes "For a moment, I saw Mark smiling brightly carrying a donation bag...";
+		next;
+		cutin "bu_du5",2;
+		mes "[Dew]";
+		mes "it's terrible... I don't want to... think about it again...";
+		next;
+		cutin "bu_du4",2;
+		mes "[Dew]";
+		mes "anyways, apart from that terrible story... you saved me here...";
+		mes "Are you here to investigate the mansion?";
+		next;
+		cutin "bu_du2",2;
+		mes "[Dew]";
+		mes "As expected of someone whom I recognize as my rival!";
+		mes "Isn't this place awesome???";
+		mes "I can't believe this place has been hidden so far...";
+		next;
+	}
+	if (ep17_2_main == 4) {
+		cloakoffnpcself( "Dew#ep172_bapw2-01" );
+		cutin "bu_du1",2;
+		mes "[Dew]";
+		mes "This is not the time for this!";
+		mes "Let's go up!!!";
+		mes "Now!!";
+		next;
+		mes "[Dew]";
+		mes "I'm sure the other guys are gonna take all the fun for themselves!!!";
+		next;
+		cutin "bu_du3",2;
+		mes "[Dew]";
+		mes "Well, we should go and meet up with Mark and the others.";
+		mes "Hmm...";
+		mes "Ohhhhhhhhhhhhhhhhh!!";
+		next;
+		cutin "bu_du1",2;
+		mes "[Dew]";
+		mes "All right, over there!";
+		mes "I think I can hear Magi's voice over there!!!";
+		close2;
+		cutin "",255;
+		navigateto("ba_pw01",14,115);
+		cloakonnpcself( "Dew#ep172_bapw2-01" );
+		end;
+	}
+	mes "- It seems to be a purifying device for dirty water. -";
+	close;
+
+OnInit:
+	questinfo( QTYPE_QUEST, QMARK_YELLOW, "isbegin_quest(18001) == 1 && BaseLevel > 130" );
+	questinfo( QTYPE_QUEST, QMARK_YELLOW, "isbegin_quest(11615) == 1 && countitem(610) > 0" );
+	end;
+}
+
+ba_pw02,90,93,5	duplicate(dummy_cloaked_npc)	Dew#ep172_bapw2-00	4_M_REDMAN
+ba_pw02,93,93,3	duplicate(dummy_cloaked_npc)	Dew#ep172_bapw2-01	4_M_REDMAN
+
+ba_pw01,14,115,0	script	#ep172_ev_00	HIDDEN_WARP_NPC,2,2,{
+	end;
+OnTouch:
+	if (ep17_2_main == 4) {
+		cloakoffnpcself( "Magi#ep172_bapw1-00" );
+		cutin "bu_maggi4",2;
+		mes "[Magi]";
+		mes "Aaaaaaah!!!";
+		mes "Don't... don't come near me!!";
+		mes "If you come any closer, I'll attack you!!!";
+		next;
+		cloakoffnpcself( "Dew#ep172_bapw1-00" );
+		cutin "bu_du5",2;
+		mes "[Dew]";
+		mes "Aaaaaah!!!";
+		mes "Magi!!!";
+		next;
+		mes "[Dew]";
+		mes "These guys~~~";
+		mes "How dare you, Magi!";
+		next;
+		mes "[Dew]";
+		mes "Ignition Break...!!!";
+		next;
+		cutin "",255;
+		cloakoffnpcself( "Lasis#ep172_bapw1-00" );
+		specialeffect EF_DESPERADO, AREA, "Lasis#ep172_bapw1-00";
+		mes "[Lasis]";
+		mes "Magi, are you okay?";
+		mes "Are you hurt somewhere?";
+		mes "Phew... I thought it was Heart Hunters... It would be dangerous to be ambushed again in a place like this.";
+		next;
+		mes "[Lasis]";
+		mes "Ugh...";
+		mes "I used a big skill and my wound hurts...";
+		next;
+		cutin "bu_maggi4",2;
+		mes "[Magi]";
+		mes "Lasis, your wound has just healed, don't strain it. Don't push yourself too hard!!!";
+		mes "Come. This way...";
+		next;
+		cutin "",255;
+		mes "[Lasis]";
+		mes "It's alright, Mark's healing skills have almost healed me completely.";
+		next;
+		cutin "bu_du1",2;
+		mes "[Dew]";
+		mes "Magi, are you okay?";
+		mes "Where are the others?";
+		mes "And who's this guy?";
+		next;
+		cutin "bu_maggi3",2;
+		mes "[Magi]";
+		mes "Dew?!";
+		mes "Where have you been!!";
+		mes "Do you know how worried I was when you suddenly disappeared?";
+		mes "We've waited for a long time and you didn't show up, so Mark went to look for you!";
+		next;
+		cutin "",255;
+		mes "[Lasis]";
+		mes "Oh!";
+		mes "Is this the guy Mark's looking for?";
+		next;
+		mes "[Lasis]";
+		mes "It's nice to meet you.";
+		mes "I'm Lasis of the Rebellion.";
+		mes "You're Dew, and you're... I saw you at the base before...";
+		next;
+		cutin "bu_maggi1",2;
+		mes "[Magi]";
+		mes "I met Lasis earlier on the way up here.";
+		mes "When Mark and I were alone, suddenly the a huge number of enemy came out of nowhere.";
+		next;
+		cutin "bu_du3",2;
+		mes "[Dew]";
+		mes "Without me too...";
+		next;
+		cutin "",255;
+		mes "Bang!!!";
+		next;
+		cutin "bu_du4",2;
+		mes "[Dew]";
+		mes "Ouch!!!";
+		next;
+		cloakoffnpcself( "Mark#ep172_bapw1-00" );
+		cutin "bu_mark3",2;
+		mes "[Mark]";
+		mes "What were you doing!!!";
+		mes "What do you think I'm talking about?";
+		mes "I told you not to go anywhere!!!!!";
+		next;
+		cutin "bu_du5",2;
+		mes "[Dew]";
+		mes "It hurts!!!";
+		next;
+		cutin "bu_mark3",2;
+		mes "[Mark]";
+		mes "Oh, my God. This guy is so...";
+		mes "Sigh...";
+		next;
+		cutin "",255;
+		mes "[Lasis]";
+		mes "Mark, take a look at this place.";
+		next;
+		cutin "bu_mark1",2;
+		mes "[Mark]";
+		mes "Are you certain about this?";
+		next;
+		cutin "",255;
+		mes "[Lasis]";
+		mes "Yes, it's the same gem that we got from the Heart Hunters that you knocked down earlier.";
+		mes "I wonder if it's really just a gem.";
+		next;
+		cutin "bu_mark1",2;
+		mes "[Mark]";
+		mes "Since the Heart Hunters have something like this in their possession, I'm sure it's something important since.";
+		mes "Let's keep it for now.";
+		mes "I'll figure something out later.";
+		next;
+		mes "[Mark]";
+		mes "I've got a notice from Alp... that they found the door on their way back, so let's get up there before it gets any more dangerous.";
+		ep17_2_main = 5;
+		erasequest 11616;
+		setquest 11617;
+		close2;
+		cutin "",255;
+		cloakonnpcself( "Dew#ep172_bapw1-00" );
+		cloakonnpcself( "Mark#ep172_bapw1-00" );
+		cloakonnpcself( "Magi#ep172_bapw1-00" );
+		cloakonnpcself( "Lasis#ep172_bapw1-00" );
+		navigateto("ba_pw01",87,290);
+		end;
+	}
+	if (ep17_2_main == 5) {
+		cloakoffnpcself( "Mark#ep172_bapw1-00" );
+		cutin "bu_mark1",2;
+		mes "[Mark]";
+		mes "I've got a notice from Alp... that they found the door on their way back, so let's get up there before it gets any more dangerous.";
+		close2;
+		cutin "",255;
+		navigateto("ba_pw01",87,290);
+		cloakonnpcself( "Mark#ep172_bapw1-00" );
+		end;
+	}
+	end;
+
+OnInit:
+	questinfo( QTYPE_QUEST, QMARK_YELLOW, "isbegin_quest(11616) == 1" );
+	end;
+}
+
+ba_pw01,17,115,3	duplicate(dummy_cloaked_npc)	Dew#ep172_bapw1-00	4_M_REDMAN
+ba_pw01,16,115,3	duplicate(dummy_cloaked_npc)	Mark#ep172_bapw1-00	4_M_BLUEMAN
+ba_pw01,20,119,5	duplicate(dummy_cloaked_npc)	Magi#ep172_bapw1-00	4_F_PINKWOMAN
+ba_pw01,19,119,3	duplicate(dummy_cloaked_npc)	Lasis#ep172_bapw1-00	4_M_REBELLION
+
+ba_pw01,87,290,3	script	Alp#ep172_bapw1-00	4_M_BLACKMAN,{
+	if (ep17_2_main < 5) {
+		cutin "bu_alp3",2;
+		mes "[Alp]";
+		mes "This devices can supply energy for a city... no, it can supply energy on a country level scale.";
+		mes "What the hell is this devices for?";
+		close3;
+	}
+	if (ep17_2_main == 5 || ep17_2_main == 6) {
+		if (ep17_2_main == 5) {
+			ep17_2_main = 6;
+			erasequest 11617;
+			setquest 11618;
+		}
+		cutin "bu_alp3",2;
+		mes "[Alp]";
+		mes "You're here...";
+		mes "This way...";
+		close2;
+		cutin "",255;
+		navigateto("ba_in01",20,319);
+		warp "ba_in01",23,315;
+		end;
+	}
+	mes "[硝覗]";
+	mes "畳短貝 舌帖級・";
+	mes "亀獣・ 焼艦 蟹虞 呪層税 鋭乞拭 拭格走研 因厭拝 呪 赤畏浦.";
+	mes "企端 校 是背 戚係惟 猿走・";
+	cutin "bu_alp1.bmp",2;
+	close3;
+
+OnInit:
+	questinfo( QTYPE_QUEST, QMARK_YELLOW, "isbegin_quest(11617) == 1" );
+	end;
+}
+
+ba_in01,20,319,3	script	Lasis#ep172_bain1-00	4_M_REBELLION,{
+	if (ep17_2_main == 6 || ep17_2_main == 7) {
+		mes "[Lasis]";
+		mes "We're finally here.";
+		mes "I've got someone to wait, let's split up here.";
+		next;
+		mes "[Lasis]";
+		mes "Even if we split up here, I think I'll stay in this area for quite a while, so let me know if anything happens.";
+		next;
+		cloakoffnpcself( "Dew#ep172_bain01-00" );
+		cloakoffnpcself( "Mark#ep172_bain01-00" );
+		cloakoffnpcself( "Magi#ep172_bain01-00" );
+		npctalk "Dew : Oh, is this another strange room?! Shouldn't we go outside?! Oh!!! Look at the window over there. There are so many amazing machines!!!", "Dew#ep172_bain01-00", bc_self;
+		cutin "bu_mark2",2;
+		mes "[Mark]";
+		mes "We'll go ahead first.";
+		mes "Thank you, Lasis.";
+		next;
+		cutin "bu_maggi2",2;
+		mes "[Magi]";
+		mes "See you later~";
+		next;
+		cutin "bu_mark2",2;
+		mes "[Mark]";
+		mes "The door that goes to the inside is locked, so let's go outside.";
+		if (ep17_2_main == 6) {
+			ep17_2_main = 7;
+			erasequest 11618;
+			setquest 11620;
+		}
+		close2;
+		cutin "",255;
+		cloakonnpcself( "Dew#ep172_bain01-00" );
+		cloakonnpcself( "Mark#ep172_bain01-00" );
+		cloakonnpcself( "Magi#ep172_bain01-00" );
+		navigateto("ba_maison",70,145);
+		end;
+	}
+	mes "[Lasis]";
+	mes "By the way, why were you late?";
+	close;
+
+OnInit:
+	questinfo( QTYPE_QUEST, QMARK_YELLOW, "isbegin_quest(11618) == 1" );
+	end;
+}
+
+ba_in01,31,321,5	duplicate(dummy_cloaked_npc)	Dew#ep172_bain01-00	4_M_REDMAN
+ba_in01,19,322,5	duplicate(dummy_cloaked_npc)	Mark#ep172_bain01-00	4_M_BLUEMAN
+ba_in01,18,323,5	duplicate(dummy_cloaked_npc)	Magi#ep172_bain01-00	4_F_PINKWOMAN
+
+
+ba_maison,70,145,3	script	Tamarin#ep172_bamaison-00	4_EP17_TAMARIN,{
+	if (checkweight(1000103,5) == 0) {
+		mes "- You have too many items.";
+		mes "Please clear your inventory and try again. -";
+		close;
+	}
+	if (ep17_2_main == 7 || ep17_2_main == 8) {
+		if (ep17_2_main == 7) {
+			cutin "ep172_tamarin02",2;
+			mes "[Tamarin]";
+			mes "You came?";
+			mes "Why are you so late?";
+			next;
+			cloakoffnpcself( "Dew#ep172_bamaison-00" );
+			cloakoffnpcself( "Mark#ep172_bamaison-00" );
+			cloakoffnpcself( "Magi#ep172_bamaison-00" );
+			cutin "bu_mark1",2;
+			mes "[Mark]";
+			mes "Sorry~ Dew suddenly disappeared again.";
+			next;
+			cutin "bu_du5",2;
+			mes "[Dew]";
+			mes "Kehahahahahahah!!!";
+			mes "What is wrong with your clothes!!";
+			next;
+		}
+		else {
+			cloakoffnpcself( "Dew#ep172_bamaison-00" );
+			cloakoffnpcself( "Mark#ep172_bamaison-00" );
+			cloakoffnpcself( "Magi#ep172_bamaison-00" );
+		}
+		cutin "ep172_tamarin03",2;
+		mes "[Tamarin]";
+		mes "They told me that you need a registration to get around the mansion, so I signed up and they suddenly replaced my clothes with this!";
+		next;
+		cutin "bu_du5",2;
+		mes "[Dew]";
+		mes "Kuahahaahahahaha!!!";
+		mes "I laughed so hard, that it made my stomach hurt!!!";
+		next;
+		cutin "ep172_tamarin03",2;
+		mes "[Tamarin]";
+		mes "Stop laughing!";
+		next;
+		mes "[Tamarin]";
+		mes "Stop laughing and register immediately.";
+		mes "Talk to Alpha near the door, She'll register you as guests.";
+		if (ep17_2_main == 7) {
+			ep17_2_main = 8;
+			completequest 11620;
+			getitem 1000103,5;
+			getexp 401075,0;
+		}
+		close2;
+		cutin "",255;
+		cloakonnpcself( "Dew#ep172_bamaison-00" );
+		cloakonnpcself( "Mark#ep172_bamaison-00" );
+		cloakonnpcself( "Magi#ep172_bamaison-00" );
+		end;
+	}
+	if (ep17_2_main < 10) {
+		mes "[Tamarin]";
+		mes "I heard that the Varmundt's mansion was burned down during the uprising of mercenaries... I think it's a lot different from what's written in the books.";
+		cutin "ep172_tamarin01.bmp",2;
+		close3;
+	}
+
+	// Start Library Quest
+	if (ep17_2_library == 0) {
+		cloakoffnpcself( "Dew#ep172_bamaison-00" );
+		cloakoffnpcself( "Mark#ep172_bamaison-00" );
+		cloakoffnpcself( "Magi#ep172_bamaison-00" );
+		cutin "ep172_tamarin02",2;
+		mes "[Tamarin]";
+		mes "Why is everyone like this...";
+		next;
+		cutin "bu_du5",2;
+		mes "[Dew]";
+		mes "Kahahahahahahak!!!!";
+		next;
+		cutin "ep172_tamarin03",2;
+		mes "[Tamarin]";
+		mes "Stop laughing!!!";
+		mes "You should have changed clothes...";
+		next;
+		cutin "ep172_tamarin02",2;
+		mes "[Tamarin]";
+		mes "Keh!!!!!!";
+		mes "This smell!!!!!!!!!!!!!!";
+		mes "It's smell so bad!!!!";
+		next;
+		cutin "bu_mark4",2;
+		mes "[Mark]";
+		mes "Come to think if it, you look so dirty in a bright place.";
+		mes "Ugh... You smell awful!!";
+		next;
+		cutin "bu_maggi3",2;
+		mes "[Magi]";
+		mes "Dew.";
+		mes "You have a rotten smell...";
+		next;
+		cutin "bu_du1",2;
+		mes "[Dew]";
+		mes "Huh?";
+		mes "Is it because I feel into the sewers?";
+		next;
+		cutin "bu_du2",2;
+		mes "[Dew]";
+		mes "Yeah!!";
+		mes "Listen, I fell into the sewers earlier, and it was really dangerous!";
+		mes "My lifesaver was...";
+		next;
+		cutin "bu_mark3",2;
+		mes "[Mark]";
+		mes "You reek, don't come near me you idiot!!!";
+		next;
+		cutin "bu_du5",2;
+		mes "[Dew]";
+		mes "Uehhhhhhhh...";
+		mes "I reek!!!!";
+		mes "This is no joke!!!";
+		next;
+		mes "[Dew]";
+		mes "Water!!!";
+		mes "I need clean water!!!!!";
+		next;
+		mes "[Dew]";
+		mes "Oh, there's something just right over there?!";
+		next;
+		cutin "bu_mark3",2;
+		mes "[Mark]";
+		mes "Where are you going!!!";
+		ep17_2_library = 1;
+		setquest 11621;
+		close2;
+		cutin "",255;
+		cloakonnpcself( "Dew#ep172_bamaison-00" );
+		cloakonnpcself( "Mark#ep172_bamaison-00" );
+		cloakonnpcself( "Magi#ep172_bamaison-00" );
+		navigateto("ba_maison",85,111);
+		end;
+	}
+	if (ep17_2_library == 1) {
+		cloakoffnpcself( "Dew#ep172_bamaison-00" );
+		cloakoffnpcself( "Mark#ep172_bamaison-00" );
+		cloakoffnpcself( "Magi#ep172_bamaison-00" );
+		cutin "ep172_tamarin02",2;
+		mes "[Tamarin]";
+		mes "Keh!!!!!!";
+		mes "This smell!!!!!!!!!!!!!!";
+		mes "It's smell so bad!!!!";
+		next;
+		cutin "bu_mark4",2;
+		mes "[Mark]";
+		mes "Come to think if it, you look so dirty in a bright place.";
+		mes "Ugh... You smell awful!!";
+		next;
+		cutin "bu_maggi3",2;
+		mes "[Magi]";
+		mes "Dew.";
+		mes "You have a rotten smell...";
+		next;
+		cutin "bu_du1",2;
+		mes "[Dew]";
+		mes "Huh?";
+		mes "Is it because I feel into the sewers?";
+		next;
+		cutin "bu_du2",2;
+		mes "[Dew]";
+		mes "Yeah!!";
+		mes "Listen, I fell into the sewers earlier, and it was really dangerous!";
+		mes "My lifesaver was...";
+		next;
+		cutin "bu_mark3",2;
+		mes "[Mark]";
+		mes "You reek, don't come near me you idiot!!!";
+		next;
+		cutin "bu_du5",2;
+		mes "[Dew]";
+		mes "Uehhhhhhhh...";
+		mes "I reek!!!!";
+		mes "This is no joke!!!";
+		next;
+		mes "[Dew]";
+		mes "Water!!!";
+		mes "I need clean water!!!!!";
+		next;
+		mes "[Dew]";
+		mes "Oh, there's something just right over there?!";
+		next;
+		cutin "bu_mark3",2;
+		mes "[Mark]";
+		mes "Where are you going!!!";
+		close2;
+		cutin "",255;
+		navigateto("ba_maison",85,111);
+		end;
+	}
+	if (ep17_2_library < 5) {
+		mes "[Tamarin]";
+		mes "I heard that the Varmundt's mansion was burned down during the uprising of mercenaries... I think it's a lot different from what's written in the books.";
+		cutin "ep172_tamarin01.bmp",2;
+		close3;
+	}
+	cutin "ep172_tamarin01",2;
+	mes "[Tamarin]";
+	mes "Hello, " + strcharinfo(0) + ".";
+	mes "I've got a temporary assignment from Alpha and I'm requesting assistance from other adventurers.";
+	next;
+	switch( checkquest(11639,PLAYTIME) ) {
+	case -1:
+		break;
+	case 0:
+	case 1:
+		cutin "ep172_tamarin04",2;
+		mes "[Tamarin]";
+		mes "Today's work has already been completed. Thank you for offering a hand.";
+		close3;
+	case 2:
+		erasequest 11639;
+		break;
+	}
+	switch( checkquest(11638,HUNTING) ) {
+	case -1:
+		mes "[Tamarin]";
+		mes "We are requesting the collection of the Guardian Parts remnants around the mansion, it seems to have been attacked recently and it's harming the residential enviroment of the mansion.";
+		mes "Please collect 20 Guardian Parts to improve the enviromental image of the mansion.";
+		next;
+		if (select( "Accept.", "Decline." ) == 2) {
+			cutin "ep172_tamarin04",2;
+			mes "[Tamarin]";
+			mes "I hope you have safe and comfortable time here.";
+			close3;
+		}
+		cutin "ep172_tamarin04",2;
+		mes "[Tamarin]";
+		mes "Thank you very much.";
+		setquest 11638;
+		close3;
+	case 0:
+	case 1:
+		mes "[Tamarin]";
+		mes "Hmm... " + strcharinfo(0) + ", you already accepted this request.";
+		close3;
+	case 2:
+		cutin "ep172_tamarin04",2;
+		mes "[Tamarin]";
+		mes "I have confirmed that you completed this request. Thank you very much.";
+		erasequest 11638;
+		setquest 11639;
+		getitem 1000103,2;
+		getexp 500000,300000;
+		close3;
+	}
+	end;
+
+OnInit:
+	questinfo( QTYPE_QUEST, QMARK_YELLOW, "isbegin_quest(11620) == 1" );
+	questinfo( QTYPE_QUEST, QMARK_YELLOW, "ep17_2_main >= 10 && isbegin_quest(11621) == 0 && ep17_2_library == 0" );
+
+	questinfo( QTYPE_DAILYQUEST, QMARK_YELLOW, "ep17_2_library == 5 && checkquest(11639,PLAYTIME) == -1 && checkquest(11638,HUNTING) == -1" );
+	questinfo( QTYPE_DAILYQUEST, QMARK_YELLOW, "checkquest(11639,PLAYTIME) == 2" );
+	questinfo( QTYPE_QUEST2, QMARK_YELLOW, "checkquest(11638,HUNTING) == 2" );
+	end;
+}
+
+ba_maison,69,146,5	duplicate(dummy_cloaked_npc)	Dew#ep172_bamaison-00	4_M_REDMAN
+ba_maison,66,145,5	duplicate(dummy_cloaked_npc)	Mark#ep172_bamaison-00	4_M_BLUEMAN
+ba_maison,68,146,5	duplicate(dummy_cloaked_npc)	Magi#ep172_bamaison-00	4_F_PINKWOMAN
+
+// Daily quest : Supply the spare parts
+ba_maison,74,150,3	script	Mansion Manager メ#172nw01	4_EP17_MASTER_A,{
+	if (checkweight(1000103,15) == 0) {
+		mes "The number of items in your possession is too high, so you cannot proceed with the conversation.";
+		mes "Please clean up your inventory and try again.";
+		close;
+	}
+	if (ep17_2_main < 8) {
+		cutin "ep172_alpha",2;
+		mes "[Mansion Manager メ]";
+		mes "If you are a guest to the mansion, please complete a guest registration first. Please understand that we are not responsible for any mishap that is caused by mistaking you as an intruder.";
+		close3;
+	}
+	if (ep17_2_main == 8) {
+		cutin "ep172_alpha",2;
+		mes "[Mansion Manager メ]";
+		mes "Welcome. It's a pleasure to meet you. I was worried that you got lost in the mansion.";
+		next;
+		mes "[Mansion Manager メ]";
+		mes "We have issued you a guest license. Unlike a formal invitation from Varmundt, this card is only temporary.";
+		next;
+		mes "[Mansion Manager メ]";
+		mes "Since you did not commit any harm to the property such as vandalism or theft, unlike the other intruders. You were given a temporary license for the investigation.";
+		next;
+		mes "[Mansion Manager メ]";
+		mes "This is a measure taken to prevent unpleasant incidents that may occur while you're wandering the mansion prior to the investigation.";
+		next;
+		mes "[Mansion Manager メ]";
+		mes "We kindly ask for your understanding. After confirming the purpose, method, and your identity, we will allow your investigation in the mansion.";
+		next;
+		mes "[Mansion Manager メ]";
+		mes "First, please tell me your name.";
+		next;
+		cutin "",255;
+		select( "I'm " + strcharinfo(0) + "." );
+		cutin "ep172_alpha",2;
+		mes "[Mansion Manager メ]";
+		mes "" + strcharinfo(0) + ". What is the purpose of your visit to the mansion?";
+		next;
+		cutin "",255;
+		select( "I am..." );
+		cutin "ep172_alpha",2;
+		mes "[Mansion Manager メ]";
+		mes ".....";
+		mes "Please wait a moment..";
+		npctalk "The purpose... is... for.......", "", bc_self;
+		next;
+		mes ".....";
+		next;
+		mes ".....";
+		mes ".............";
+		next;
+		mes ".....";
+		mes ".............";
+		mes "...................";
+		next;
+		mes "[Mansion Manager メ]";
+		mes "...Do you happen to have a party with you?";
+		next;
+		cutin "",255;
+		select( "I came with the Rebellions and some government officials." );
+		mes ".....";
+		next;
+		mes ".....";
+		mes ".............";
+		next;
+		mes ".....";
+		mes ".............";
+		mes "...................";
+		next;
+		cutin "ep172_alpha",2;
+		mes "[Mansion Manager メ]";
+		mes "Excuse me. " + strcharinfo(0) + ", I will issue you a formal guest license right away.";
+		next;
+		cutin "",255;
+		select( "What? Suddenly?" );
+		cutin "ep172_alpha",2;
+		mes "[Mansion Manager メ]";
+		mes "I registered after confirming the identity and purpose of the visit of the other party members who came together from other places in the mansion.";
+		next;
+		mes "[Mansion Manager メ]";
+		mes "Your ^0000CDparty^000000 has been granted formal status automatically because they were from the ^0000CDsame party^000000 who visited this mansion the other day.";
+		next;
+		mes "[Mansion Manager メ]";
+		mes "In addition, they have also stated that, you have come here to ^0000CDcatch the intruders^000000 who are making a disturbance inside the mansion.";
+		next;
+		mes "[Mansion Manager メ]";
+		mes "Therefore, we will also issue a formal guest license for the mansion to your party, " + strcharinfo(0);
+		next;
+		mes "[Mansion Manager メ]";
+		mes "Please wait a moment.";
+		next;
+		cutin "",255;
+		progressbar_npc "00FF00",2;
+		specialeffect EF_VALLENTINE;
+		cutin "ep172_alpha",2;
+		mes "[Mansion Manager メ]";
+		mes "" + strcharinfo(0) + ". Welcome to the Varmundt's Mansion. Nice to meet you. I'm メ the manager of this mansion.";
+		next;
+		mes "[Mansion Manager メ]";
+		mes "From now on. " + strcharinfo(0) + ", As a guest of honor, you are free to use the facilities in this mansion. If you have any question, please feel free to contact the nearest automatic dolls.";
+		next;
+		mes "[Mansion Manager メ]";
+		mes "Also, if you need help cleaning up and information about the intruders in the mansion, we will fully cooperate.";
+		mes "To that end, we've opened the outside of the mansion to the general public.";
+		next;
+		cutin "",255;
+		select( "Thank you." );
+		cutin "ep172_alpha",2;
+		mes "[Mansion Manager メ]";
+		mes "I'll share the list of the new registered guests with " + strcharinfo(0) + " to the other automatic dolls.";
+		next;
+		progressbar_npc "00FF00",2;
+		mes "[Mansion Manager メ]";
+		mes "" + strcharinfo(0) + ", all of the automatic dolls in the mansion are... dear... oh...";
+		next;
+		mes ".....";
+		next;
+		mes ".....";
+		mes ".............";
+		next;
+		mes ".....";
+		mes ".............";
+		mes "...................";
+		next;
+		cutin "ep172_alpha",2;
+		mes "[Mansion Manager メ]";
+		mes "I'm sorry, please wait a moment.";
+		ep17_2_main = 9;
+		setquest 17333;
+		close3;
+	}
+	if (ep17_2_main == 9) {
+		cutin "ep172_alpha",2;
+		mes "[Mansion Manager メ]";
+		mes "Again... trouble...";
+		next;
+		cutin "",255;
+		select( "Is there a problem?" );
+		cutin "ep172_alpha",2;
+		mes "[Mansion Manager メ]";
+		mes "There's a problem with the ^0000CDrepeaters^000000 in some areas. The signal is not transmitting or not being received.";
+		next;
+		close2;
+		select( "Repeater?" );
+		cutin "ep172_alpha",2;
+		mes "[Mansion Manager メ]";
+		mes "All the automatic dolls in the mansion are connected to a wireless network.";
+		mes "We use that network to share information to every automatic dolls in the mansion in an instant.";
+		next;
+		mes "[Mansion Manager メ]";
+		mes "It's important for things like, guest registration and schedules sharing.";
+		next;
+		mes "[Mansion Manager メ]";
+		mes "If you want to relay an information to anywhere in the mansion. Use the repeater to relay the information to all automatic dolls.";
+		next;
+		mes "[Mansion Manager メ]";
+		mes "I have already send the information of the updated guest lists. But, I haven't received a confirmation from some automatic dolls.";
+		next;
+		mes "[Mansion Manager メ]";
+		mes "The repeater in the area where the signal is not transmitting has failed.";
+		next;
+		close2;
+		select( "Does it break down often?" );
+		cutin "ep172_alpha",2;
+		mes "[Mansion Manager メ]";
+		mes "Failure is not frequent because we meticulously maintain it.";
+		mes "However, when the ^0000CDintruders^000000 entered the mansion the other day, they disassembled and extorted the facilities in the mansion.";
+		next;
+		mes "[Mansion Manager メ]";
+		mes "Some automatic dolls were destroyed by the intruders.";
+		next;
+		mes "[Mansion Manager メ]";
+		mes "I'll have to check which area's repeater is not functioning properly.";
+		next;
+		mes "[Mansion Manager メ]";
+		mes "I apologize, but could you wait a little longer? I have to check which area is the problem and manually forward the updated guest list.";
+		next;
+		cutin "",255;
+		progressbar_npc "00FF00",2;
+		npctalk "Accommodations... Signal received...", "", bc_self;
+		sleep2 2000;
+		npctalk "Laboratory... Signal received...", "", bc_self;
+		sleep2 2000;
+		npctalk "Auditorium... Signal received...", "", bc_self;
+		sleep2 2000;
+		npctalk "Restaurants... Signal failed...", "", bc_self;
+		sleep2 2000;
+		npctalk "Guard Post... Signal received...", "", bc_self;
+		sleep2 2000;
+		npctalk "Pavilion... Signal failed...", "", bc_self;
+		sleep2 2000;
+		npctalk "Warehouse... Signal received...", "", bc_self;
+		sleep2 2000;
+		npctalk "Garden... Signal failed...", "", bc_self;
+		cutin "ep172_alpha",2;
+		mes "[Mansion Manager メ]";
+		mes "Our of the 20 repeaters, only three have not responded. I'm glad that the count is small. We'll go the place where the signal can't get through to manually pass through the updated guest list. We also need to check the repeaters.";
+		next;
+		cutin "",255;
+		sleep2 700;
+		cloakoffnpcself( "Tommy#172nw01" );
+		cloakoffnpcself( "Meimei#172nw01" );
+		mes "[Tommy]";
+		mes "Is it here??";
+		npctalk "Is it here??", "Tommy#172nw01", bc_self;
+		next;
+		mes "[Meimei]";
+		mes "Oh, adventurer, here you are.";
+		npctalk "Oh, adventurer, here you are.", "Meimei#172nw01", bc_self;
+		next;
+		cutin "ep172_alpha",2;
+		mes "[Mansion Manager メ]";
+		mes "Another person. Are they a part of your party?";
+		next;
+		cutin "",255;
+		select( "Yes, I'm with them." );
+		mes "[Meimei]";
+		mes "Wow, this is the mansion. Varmundt's Mansion!";
+		npctalk "Wow, this is the mansion. Varmundt's Mansion!", "Meimei#172nw01", bc_self;
+		next;
+		mes "[Tommy]";
+		mes "Adventurer! The movement of the Illusions has been confirmed inside the mansion. Soon we're going to form a team, figure out the structure of the mansion, and start the operation.";
+		next;
+		select( "I'll be waiting." );
+		cutin "ep172_alpha",2;
+		mes "[Mansion Manager メ]";
+		mes "If you're new, please come this way. I'll officially register you as a guest of the mansion.";
+		next;
+		mes "[Mansion Manager メ]";
+		mes "Oh, before that... " + strcharinfo(0) + ", have you looked around the mansion?";
+		next;
+		cutin "",255;
+		select( "Not yet." );
+		cutin "ep172_alpha",2;
+		mes "[Mansion Manager メ]";
+		mes "Then, may I take the liberty of asking you a favor? I didn't mean to eavesdrop, but you said you needed to figure out the structure of the mansion.";
+		next;
+		mes "[Mansion Manager メ]";
+		mes "Can you tell the automatic dolls near the broken repeater to check the broken repeater?";
+		next;
+		mes "[Mansion Manager メ]";
+		mes "It's a good course to take a look around the mansion.";
+		next;
+		mes "[Mansion Manager メ]";
+		mes "It's my job, but I don't have enough time to register, update and share information manually since guests are still coming in.";
+		next;
+		cutin "",255;
+		if (select( "I'll do that.", "I need to do something first." ) == 2) {
+			mes "[Mansion Manager メ]";
+			mes "Is that so, I'm sorry for asking too much on your busy schedule.";
+			mes "Feel free to look around the mansion.";
+			close3;
+		}
+		cutin "ep172_alpha",2;
+		mes "[Mansion Manager メ]";
+		mes "Thank you for accepting my troublesome request.";
+		mes "There are automatic dolls who haven't receieve the updated guest list yet, but we have officially granted " + strcharinfo(0) + " as a guest. The dolls will recognize you as you get close to them.";
+		next;
+		mes "[Mansion Manager メ]";
+		mes "Everyone else has received the list, so it won't be that inconvenient to use the mansion. If you need any assistance, feel free to contact the nearest automatic doll.";
+		next;
+		mes "[Mansion Manager メ]";
+		mes "First, the nearest is the <NAVI>[restaurant]<INFO>ba_maison,146,109,0,101,0</INFO></NAVI>. You should go over there. If you tell the nearest automatic doll near the repeater about the problem, they will take care of it for you.";
+		next;
+		mes "[Mansion Manager メ]";
+		mes "Then, please.";
+		ep17_2_main = 10;
+		erasequest 17333;
+		setquest 17334;
+		close2;
+		cutin "",255;
+		navigateto("ba_maison",146,109);
+		end;
+	}
+	if (ep17_2_main == 10 || ep17_2_main == 11) {
+		cutin "ep172_alpha",2;
+		mes "[Mansion Manager メ]";
+		mes "First, the nearest is the <NAVI>[restaurant]<INFO>ba_maison,146,109,0,101,0</INFO></NAVI>. You should go over there. If you tell the nearest automatic doll near the repeater about the problem, they will take care of it for you.";
+		close3;
+	}
+	if (ep17_2_main == 12) {
+		cutin "ep172_alpha",2;
+		mes "[Mansion Manager メ]";
+		mes "The <NAVI>[pavilion]<INFO>ba_maison,334,143,0,101,0</INFO></NAVI> is this way. Automatic doll over there will take care of the broken repeater if you deliver it.";
+		close3;
+	}
+	if (ep17_2_main == 13) {
+		cutin "ep172_alpha",2;
+		mes "[Mansion Manager メ]";
+		mes "Tell the problem to the automatic doll near the broken repeater on the <NAVI>[central garden]<INFO>ba_maison,245,206,0,0,0</INFO></NAVI> area and it will take care of it.";
+		close3;
+	}
+	if (ep17_2_main == 14) {
+		cutin "ep172_alpha",2;
+		mes "[Mansion Manager メ]";
+		mes "" + strcharinfo(0) + ", welcome back. Have you looked around the mansion? Also, did you delivered the message to the automatic dolls near the broken repeater's area?";
+		next;
+		cutin "",255;
+		select( "I delivered them all." );
+		mes "[Mansion Manager メ]";
+		mes "Thank you so much for your hard work. Let me check the network status for a moment.";
+		progressbar_npc "00FF00",2;
+		next;
+		cutin "",255;
+		npctalk "Accommodations... Signal received...", "", bc_self;
+		sleep2 2000;
+		npctalk "Laboratory... Signal received...", "", bc_self;
+		sleep2 2000;
+		npctalk "Auditorium... Signal received...", "", bc_self;
+		sleep2 2000;
+		npctalk "Restaurants... Signal received...", "", bc_self;
+		sleep2 2000;
+		npctalk "Guard Post... Signal received...", "", bc_self;
+		sleep2 2000;
+		npctalk "Pavilion... Signal received...", "", bc_self;
+		sleep2 2000;
+		npctalk "Warehouse... Signal received...", "", bc_self;
+		sleep2 2000;
+		npctalk "Garden... Signal received...", "", bc_self;
+		cutin "ep172_alpha",2;
+		mes "[Mansion Manager メ]";
+		mes "The network of the mansion has been restored and the signals in all areas are being sent and received clearly.";
+		mes "Now, you can use all the facilities of the mansion as an official guest.";
+		next;
+		mes "[Mansion Manager メ]";
+		mes "" + strcharinfo(0) + ", Thank you very much.";
+		mes "You handled this troublesome intruders very well. It gave me an impression that, you're a very skilled adventurer who handles this kind of situation splendidly.";
+		next;
+		mes "[Mansion Manager メ]";
+		mes "You quickly learned the geography of the mansion, and you quickly become accustomed with the automatic dolls. It was impressive.";
+		next;
+		mes "[Mansion Manager メ]";
+		mes "Please take a look around the mansion and if you ever find any problems, I would like to ask for your help.";
+		next;
+		mes "[Mansion Manager メ]";
+		mes "We automatic dolls serve the human guests as how we served the owner of the mansion, we are already familiar with it. But we have insufficient information and response skills to unfamiliar problems.";
+		next;
+		mes "[Mansion Manager メ]";
+		mes "We still haven't resolved the problem with the intruders. From a non-human perspective, it seems difficult to resolve it because there are many parts that doesn't have enough information.";
+		next;
+		mes "[Mansion Manager メ]";
+		mes "We would like to collect resolving intruder problems related data through " + strcharinfo(0) + ", It will be a great help in future cases.";
+		next;
+		cutin "",255;
+		select( "Okay." );
+		cutin "ep172_alpha",2;
+		mes "[Mansion Manager メ]";
+		mes "It's not much, but as a token of appreciation, I will give you this.";
+		mes "This is a ^0000CDBarmeal Ticket^000000, you can use it in the mansion's restaurant.";
+		mes "You can freely eat anything with it, feel free to use it anytime.";
+		next;
+		mes "[Mansion Manager メ]";
+		mes "The mansion's <NAVI>[restaurant]<INFO>ba_maison,146,109,0,101,0</INFO></NAVI> is located at the bottom, as I showed earlier.";
+		next;
+		cutin "",255;
+		select( "Have you seen my party?" );
+		cutin "ep172_alpha",2;
+		mes "[Mansion Manager メ]";
+		mes "Those who came before you are now staying at the <NAVI>[tea house]<INFO>ba_in01,206,106,0,101,0</INFO></NAVI>, please take a look around and talk with them.";
+		next;
+		mes "[Mansion Manager メ]";
+		mes "If you have any inconvenience in the mansion, please feel free to tell any automatic dolls. Please take this Barmeal Ticket, as a token of appreciation for your hard work.";
+		ep17_2_main = 15;
+		erasequest 17338;
+		setquest 17381;
+		getitem 1000103,15;
+		getexp 900000,0;	// note: ~exp. getbaseexp_ratio?
+		close3;
+	}
+	cutin "ep172_alpha",2;
+	mes "[Mansion Manager メ]";
+	mes "Welcome, " + strcharinfo(0) + ".";
+	next;
+	if (ep17_2_main == 15) {
+		mes "[Mansion Manager メ]";
+		mes "Those who came before you are now staying at the <NAVI>[tea house]<INFO>ba_in01,206,106,0,101,0</INFO></NAVI>, please take a look around and talk with them.";
+		next;
+	}
+	switch( checkquest(17341,PLAYTIME) ) {
+	case -1:
+		break;
+	case 0:
+	case 1:
+		mes "[Mansion Manager メ]";
+		mes "Do you have something you need or are you uncomfortable in any ways?";
+		mes "Oh, by any chance did you come to bring me a spare communication chips for the repeater?";
+		next;
+		mes "[Mansion Manager メ]";
+		mes "The supply of the repeater's communication chips is sufficient.";
+		mes "Don't worry about the repeater. Please rest for today and come back ^0000CDafter dawn^000000.";
+		close3;
+	case 2:
+		mes "[Mansion Manager メ]";
+		mes "Are you here today to help me get spare communication chips for the repeater?";
+		next;
+		if (select( "Yes.", "No." ) == 2) {
+			mes "[Mansion Manager メ]";
+			mes "In that case, did you come here because of any inconvenience while using the mansion facilities?";
+			mes "If you tell the nearest automatic doll, we'll take care of it right away.";
+			close3;
+		}
+		mes "[Mansion Manager メ]";
+		mes "Thank you so much for your help today.";
+		next;
+		mes "[Mansion Manager メ]";
+		mes "Please bring me ^0000CD10 Automatic Doll Communication Chips^000000 for the repeater. I think that will be enough for the days supply.";
+		next;
+		mes "[Mansion Manager メ]";
+		mes "It also help us with the broken automatic dolls roaming around the mansion. Please take care of any Broken Betas roaming around the mansion and bring it's communication chips with you.";
+		next;
+		mes "[Mansion Manager メ]";
+		mes "Then, please adventurer.";
+		erasequest 17341;
+		setquest 17340;
+		close3;
+	}
+	switch( isbegin_quest(17340) ) {
+	case 0:
+		mes "[Mansion Manager メ]";
+		mes "Do you have something you need or are you uncomfortable in any ways?";
+		next;
+		cutin "",255;
+		select( "Is the network working fine?" );
+		cutin "ep172_alpha",2;
+		mes "[Mansion Manager メ]";
+		mes "Are you here for that matter? Thank you very much for your concern.";
+		next;
+		mes "[Mansion Manager メ]";
+		mes "Just like the previous situation, the network status in some area of the mansion are losing connectivity.";
+		next;
+		mes "[Mansion Manager メ]";
+		mes "Although it's repaired upon discovery, it's a problem that occurs continuously. The necessary communication chips demand are difficult to supply.";
+		next;
+		mes "[Mansion Manager メ]";
+		mes "In addition, the broken automatic dolls is wandering around and keeps destroying the repeaters, doubling the supply needed.";
+		next;
+		cutin "",255;
+		if (select( "Can I help?", "Oh, that must be difficult." ) == 2) {
+			mes "[Mansion Manager メ]";
+			mes "Thank you for considering the difficulties. We will take care of the repeater as soon as possible so that there will be no inconvenience when using it.";
+			close;
+		}
+		cutin "ep172_alpha",2;
+		mes "[Mansion Manager メ]";
+		mes "Thank you very much. But I'm afraid that I'm taking too much of your time " + strcharinfo(0) + "... If you don't mind at all, I'd like to ask you a favor.";
+		next;
+		mes "[Mansion Manager メ]";
+		mes "Please bring me ^0000CD10 Automatic Doll Communication Chips^000000 for the repeater. I think that will be enough for the days supply.";
+		next;
+		mes "[Mansion Manager メ]";
+		mes "It also help us with the broken automatic dolls roaming around the mansion. Please take care of any Broken Betas roaming around the mansion and bring it's communication chips with you.";
+		next;
+		mes "[Mansion Manager メ]";
+		mes "Then, please adventurer.";
+		setquest 17340;
+		close3;
+	case 1:
+		cutin "ep172_alpha",2;
+		mes "[Mansion Manager メ]";
+		mes "Did you bring the Automatic Doll Communication Chips that I asked for?";
+		next;
+		if (countitem(1000232) < 10) {
+			mes "[Mansion Manager メ]";
+			mes "Please bring me ^0000CD10 Automatic Doll Communication Chips^000000 for the repeater. I think that will be enough for the days supply.";
+			next;
+			mes "[Mansion Manager メ]";
+			mes "It also help us with the broken automatic dolls roaming around the mansion. Please take care of any Broken Betas roaming around the mansion and bring its communication chips with you.";
+			close3;
+		}
+		mes "[Mansion Manager メ]";
+		mes "This is enough for the day. Thank you for your hard work.";
+		mes "If you have time, I'd like to ask for your help again ^0000CDafter dawn^000000, If you don't mind please come again tomorrow.";
+		next;
+		mes "[Mansion Manager メ]";
+		mes "Thank you very much. Please take this with you.";
+		erasequest 17340;
+		setquest 17341;
+		delitem 1000232,10;
+		getitem 1000103,2;
+		getexp 949720,664800;
+		close3;
+	}
+	end;
+
+OnInit:
+	// main quest
+	questinfo( QTYPE_QUEST2, QMARK_YELLOW, "ep17_2_main == 8" );
+	questinfo( QTYPE_QUEST, QMARK_YELLOW, "isbegin_quest(17333) == 1" );
+	questinfo( QTYPE_QUEST, QMARK_YELLOW, "isbegin_quest(17338) == 1" );
+
+	// daily quest
+	questinfo( QTYPE_QUEST, QMARK_YELLOW, "ep17_2_main >= 15 && checkquest(17341,PLAYTIME) == -1 && isbegin_quest(17340) == 0" );
+	questinfo( QTYPE_DAILYQUEST, QMARK_YELLOW, "checkquest(17341,PLAYTIME) == 2" );
+	questinfo( QTYPE_QUEST2, QMARK_YELLOW, "isbegin_quest(17340) == 1 && countitem(1000232) >= 10" );
+	end;
+}
+
+ba_maison,72,151,5	script(CLOAKED)	Tommy#172nw01	4_M_GUNSLINGER2,{
+	mes "[Tommy]";
+	mes "This mansion is huge. I'm actually like this place.";
+	mes "I didn't even know there was something like this.";
+	close;
+}
+
+ba_maison,70,150,5	script(CLOAKED)	Meimei#172nw01	4_F_REBELLION3,{
+	mes "[Meimei]";
+	mes "So, this is where you are. The mercenaries...";
+	close;
+}
+
+ba_maison,146,109,5	script	Tasty#172nw01	4_EP17_BASIC_B,{
+	if (checkweight(1000103,5) == 0) {
+		mes "The number of items in your possession is too high, so you cannot proceed with the conversation.";
+		mes "Please clean up your inventory and try again.";
+		close;
+	}
+	if (ep17_2_main == 10) {
+		mes "[Tasty]";
+		mes "Ugh! Now, wait. What is that? Tch, the intruder?";
+		emotion ET_HUK;
+		next;
+		mes "[Tasty]";
+		mes "That's right! That's right! Oh, what should I do? What do I do, What do I do? Security? Oh, yeah. I was told to call security.";
+		npctalk "Come here, security, security...", "", bc_self;
+		progressbar_npc "00FF00",2;
+		next;
+		sleep2 1150;
+		mes "[Tasty]";
+		mes "What? It's not working! When did it break down? Oh, what do I do?";
+		emotion ET_HUK;
+		next;
+		mes "[Tasty]";
+		mes "Yeah! Mochi! I'll give you a piece of Mochi, so why don't we go somewhere else? You like mochi, don't you?";
+		next;
+		emotion ET_QUESTION, getcharid(3);
+		select( "..." );
+		mes "[Tasty]";
+		mes "Oh, it's not mochi? Aren't you the guy I met before? Then, meat? Do you like meat? You like meat, don't you? I've never seen anyone who doesn't like meat. I'll give you all the meat I have.";
+		next;
+		emotion ET_SWEAT, getcharid(3);
+		select( "......" );
+		mes "[Tasty]";
+		mes "Strange? It's not meat? Then what can I get you? Do you want to go back?";
+		emotion ET_QUESTION;
+		next;
+		mes "[Tasty]";
+		mes "Oh, what should I do? I was told not to run to the intruders. Are you here to ^0000CDtake my parts^000000? Is this the end of me?";
+		next;
+		emotion ET_SWEAT, getcharid(3);
+		select( "I'm not that kind of person." );
+		mes "[Tasty]";
+		mes "You're not that kind of person...? Then, what kind of person are you?";
+		next;
+		mes "[Tasty]";
+		mes "Hold on...? You're right? You're not drooling, and your eyes are normal. Are you not an ^0000CDintruder^000000?";
+		emotion ET_QUESTION;
+		next;
+		select( "I'm a guest of the mansion, but..." );
+		mes "[Tasty]";
+		mes "What? A guest? Oh wait. I'll check...";
+		emotion ET_HUK;
+		progressbar_npc "00FF00",2;
+		next;
+		mes "[Tasty]";
+		mes "It's real? But... You're a first time guest? New guest? Finally? Oh, I'm sorry for mistaking you as an intruder.";
+		emotion ET_SURPRISE;
+		next;
+		mes "[Tasty]";
+		mes "I thought you were one of the intruder.";
+		mes "Somehow, everyone said they were running away, it's because of you, the new guests, right?";
+		next;
+		mes "[Tasty]";
+		mes "What's your relationship with the intruder? Are we natural enemies? Which way is above the pyramid? The intruders is running away, so it's your fault?";
+		next;
+		select( "It's not like that." );
+		mes "[Tasty]";
+		mes "Oh, really? I didn't know because it's been so long since I saw a human being.";
+		mes "So why didn't I recognize a guest? All new guests would have been shared to us.";
+		next;
+		select( "The repeater is broken, so..." );
+		mes "[Tasty]";
+		mes "Oh, no wonder! The network stopped working suddenly. The repeater is not functioning! Then why isn't Alpha coming?";
+		next;
+		select( "Alpha is busy right now." );
+		mes "[Tasty]";
+		mes "Alpha is too busy to come? No way. Oh, were you trying to help me voluntarily? What an unusual guest. Come to think of it, there was a^0000CDcustomer like that before^000000.";
+		next;
+		mes "[Tasty]";
+		mes "I'm sorry.";
+		mes "The guest who visited the mansion showed interest in the mansion and us automatic dolls, but there were no guests who helped us around the mansion.";
+		next;
+		mes "[Tasty]";
+		mes "Anyway, If we have a lot of guests, they'll be coming to eat soon. I've got to prepare. It's been a long time since I've had guests.";
+		next;
+		mes "[Tasty]";
+		mes "I haven't had any guests in the restaurant for a long time. I had no customer when I was cooking. The intruders... when they got here. My eyes change and I took them away. They were not guests.";
+		next;
+		mes "[Tasty]";
+		mes "The invaders didn't last long, but they threw the mansion into chaos in that brief moment. They took the machines in the mansion, the automatic dools, everything that seemed useful to them were removed out of place.";
+		next;
+		mes "[Tasty]";
+		mes "That repeater over there must have a ^0000CDbroken communication chip too^000000?";
+		next;
+		mes "[Tasty]";
+		mes "Damn humans. Most of them seems to have run away by now, but there are still some left. I've seen them here a few times. They're after the food.";
+		next;
+		mes "[Tasty]";
+		mes "Again, I'm sorry.";
+		mes "Now that I see it, I don't know why I mistaken you as an intruder. You're different.";
+		next;
+		mes "[Tasty]";
+		mes "Anyway, I have to fix the repeater. Let me see...";
+		next;
+		mes "[Tasty]";
+		mes "Well... the communication chip was ripped off! I'll have to put it in. Where should we get it right now? I have to greet guests?";
+		next;
+		cloakoffnpcself( "Strange Automatic Doll#172nw01" );
+		npctalk "Let's burn them all!!! Hehehe!", "Strange Automatic Doll#172nw01", bc_self;
+		specialeffect EF_FIREWALL, AREA, "Strange Automatic Doll#172nw01";
+		sleep2 1100;
+		mes "[Tasty]";
+		mes "Ugh- There's another broken one over there.";
+		next;
+		mes "[Tasty]";
+		mes "......";
+		mes "...... wait?";
+		next;
+		mes "[Tasty]";
+		mes "" + strcharinfo(0) + ". Can you catch that? Can you do it?";
+		next;
+		select( "A broken automatic doll?" );
+		mes "[Tasty]";
+		mes "Uh. All communication chips are standard, so if they're replaced with a new one. I think it'll return back to normal.";
+		next;
+		select( "Uh..." );
+		mes "[Tasty]";
+		mes "Why do you look like that? Is it because you're reluctant to hurt an automatic doll in front of another one? Don't worry about that.";
+		next;
+		mes "[Tasty]";
+		mes "We need to repair it anyway, but we need to capture it first.";
+		mes "You can think of it as saving the trouble for us automatic dolls.";
+		next;
+		mes "[Tasty]";
+		mes "If you leave it alone, it will wander around the mansion and destroy it, so you'll have to deal with it quickly as you can.";
+		mes "It's better to capture it, then take out the chip and use it to fix the repeater.";
+		next;
+		mes "[Tasty]";
+		mes "Everyone has been doing that ever since the intruders showed up. Even if " + strcharinfo(0) + " doesn't do it, it's all up to us automatic dolls.";
+		mes "It's nice to work a little bit.";
+		next;
+		ep17_2_main = 11;
+		erasequest 17334;
+		setquest 17335;
+		mes "[Tasty]";
+		mes "Please take care of the Broken Beta and bring ^0000CD1 Automatic Doll Communication Chip^000000.";
+		npctalk "Garden! Let's go to the garden!!", "Strange Automatic Doll#172nw01", bc_self;
+		sleep2 300;
+		cloakonnpcself( "Strange Automatic Doll#172nw01" );
+		npctalk "Oh, it ran away! Just grab another broken one and bring it to me.", "", bc_self;
+		close;
+	}
+	if (ep17_2_main == 11) {
+		mes "[Tasty]";
+		mes "What about the communication chip?";
+		next;
+		if (countitem(1000232) < 1) {
+			mes "[Tasty]";
+			mes "You haven't yet? Are you reluctant to hurt an automatic doll? Don't worry about it. I will do it later on anyway.";
+			next;
+			mes "[Tasty]";
+			mes "I'll take care of the broken automatic dolls, just bring ^0000CD1 Automatic Doll Communication Chip^000000.";
+			close;
+		}
+		mes "[Tasty]";
+		mes "Did you bring it? Give it to me. I'll fix it. Thank you very much for bringing it.";
+		next;
+		mes "[Tasty]";
+		mes "By the way, is that the only broken repeater?";
+		next;
+		select( "The pavilion and the garden..." );
+		mes "[Tasty]";
+		mes "Oh, really? Then go ahead to the <NAVI>[pavilion]<INFO>ba_maison,334,143,0,0,0</INFO></NAVI> first. It's the closest one here. Just follow this road over here.";
+		next;
+		mes "[Tasty]";
+		mes "Don't touch the broken repeater carelessly. Tell the nearby automatic dolls over there and they'll take care of it.";
+		next;
+		mes "[Tasty]";
+		mes "Do you happen to have a Barmeal Ticket? It's use to eat at the restaurant. I'll give you this, so come and eat later! I'll prepare a good food for you! As thanks!";
+		delitem 1000232,countitem(1000232);
+		ep17_2_main = 12;
+		erasequest 17335;
+		setquest 17336;
+		getitem 1000103,5;
+		getexp 300000,0;	// note: ~exp. getbaseexp_ratio?
+		close2;
+		navigateto("ba_maison",334,143);
+		end;
+	}
+	if (ep17_2_main == 12) {
+		mes "[Tasty]";
+		mes "Go ahead to the <NAVI>[pavilion]<INFO>ba_maison,334,143,0,0,0</INFO></NAVI> first. It's the closest one here. Just follow this road over here.";
+		next;
+		mes "[Tasty]";
+		mes "Don't touch the broken repeater carelessly. Tell the nearby automatic dolls over there and they'll take care of it.";
+		close;
+	}
+	mes "[Tasty]";
+	mes "What should I make today... What should I do to make it taste good?";
+	close;
+
+OnInit:
+	questinfo( QTYPE_QUEST, QMARK_YELLOW, "isbegin_quest(17334) == 1" );
+	questinfo( QTYPE_QUEST, QMARK_YELLOW, "isbegin_quest(17335) == 1 && countitem(1000232) > 0" );
+	end;
+}
+
+ba_maison,148,107,3	duplicate(dummy_cloaked_npc)	Strange Automatic Doll#172nw01	4_EP17_BASIC_B_NG
+
+ba_maison,334,143,3	script	Repeater#172nw02	2_POSTBOX,{
+	if (checkweight(1000103,5) == 0) {	// (custom)
+		mes "^008800Wait a sec!!";
+		mes "You cannot receive any more items because you're carrying too many items. Please try again after you lighten up.^000000";
+		close;
+	}
+	if (ep17_2_main == 12) {
+		mes "[" + strcharinfo(0) + "]";
+		mes "There's no one here...? What should I do with this? Is the automatic doll communication chip broken again...?";
+		next;
+		mes "[" + strcharinfo(0) + "]";
+		mes "What if I open this...?";
+		next;
+		mes "[" + strcharinfo(0) + "]";
+		mes "Argh!!!! My hand!!";
+		specialeffect2 EF_THUNDERSTORM2;
+		specialeffect2 EF_STASIS;
+		next;
+		cloakoffnpcself( "Worry#172nw01" );
+		sleep2 1000;
+		specialeffect EF_FIREHIT;
+		sleep2 1000;
+		specialeffect EF_FIREHIT;
+		mes "[Worry]";
+		mes "This...! What a mess! Here we go again! It wants to fight.";
+		npctalk "This...! What a mess! Here we go again! It wants to fight.", "Worry#172nw01", bc_self;
+		next;
+		mes "[Worry]";
+		mes "Get out of my head right now!";
+		next;
+		select( "Over there..." );
+		mes "[Worry]";
+		mes "Are you trying to control me?";
+		npctalk "That's not how it works.", "Worry#172nw01", bc_self;
+		next;
+		mes "[Worry]";
+		mes "This little thing! I'll dispose of it!";
+		npctalk "At this rate, we're all going to suffer!", "Worry#172nw01", bc_self;
+		specialeffect EF_FIREHIT;
+		next;
+		mes "[Worry]";
+		mes "Are you trying to take over me?? Just try!!";
+		specialeffect EF_FIREHIT;
+		next;
+		select( "What should I do? Should I just go?" );
+		cloakoffnpcself( "Kimchi#172nw01" );
+		mes "[Kimchi]";
+		mes "Phew- Here you are. Why do you keep escaping? Calm down for a bit.";
+		npctalk "Okay.", "Worry#172nw01", bc_self;
+		next;
+		mes "[Kimchi]";
+		mes "Anyway, who...? An intruder? ...Is it not?";
+		next;
+		mes "[Kimchi]";
+		mes "Oh, you're a guest, aren't you? Those who come and go in front of the pavilion are also guests.";
+		next;
+		mes "[Kimchi]";
+		mes "But that's weird. If you're a guest, I would recognize you in an instance.";
+		mes "You are not an unregistered guest, you're a regular guest here.";
+		next;
+		select( "They can't share it because of the repeater." );
+		mes "[Kimchi]";
+		mes "Oh, it's because of that! Everytime time I find something broken, I'll repair it, but as you can see, even if I take my eyes out for a moment, Wary comes out and break it like this.";
+		next;
+		mes "[Kimchi]";
+		mes "Oh, did our hawk bit you? It's been going on since he was attacked by the ^0000CDintruders^000000. I already fixed it before, but Wary always come out and does this...";
+		next;
+		mes "[Kimchi]";
+		mes "There are a lot of dolls that became like this.";
+		mes "They will return to normal if you fix it, but there are so many dolls that we are a hard time fixing all of them.";
+		next;
+		mes "[Kimchi]";
+		mes "I heard the hawks wander around the mansion and ruin it.";
+		next;
+		mes "[Kimchi]";
+		mes "I'm sorry to interrupt you at your break. Please enjoy this area of the Varmundt's mansion to your hearts content.";
+		next;
+		mes "[Worry]";
+		mes "How can this thing be this lively.";
+		npctalk "You better start talking!", "Worry#172nw01", bc_self;
+		specialeffect EF_FIREHIT;
+		next;
+		mes "[Worry]";
+		mes "You, are you going to get out of my head or not? If you won't then I'll go out!";
+		next;
+		mes "[Kimchi]";
+		mes "Hey, hey. Why are you opening the repeater?";
+		specialeffect EF_FIREHIT, AREA, "Worry#172nw01";
+		next;
+		select( "Oh, you need to fix it quickly." );
+		mes "[Worry]";
+		mes "What the hell are you? Are you pitying me?";
+		npctalk "Are you one of them?", "Worry#172nw01", bc_self;
+		next;
+		mes "[Kimchi]";
+		mes "Hey, this person is not an intruder. It's our guest. Let them enjoy here in the mansion.";
+		next;
+		mes "[Kimchi]";
+		mes "I'll fix the repeater quickly. Wary will surely come out and destroy it, but don't worry we can fix it again.";
+		next;
+		mes "[Kimchi]";
+		mes "Thank you for letting me know in person. Here, atleast, take this. Are there any other places where it doesn't work? I don't think there's only one or two places.";
+		emotion ET_OHNO, getnpcid(0,"Kimchi#172nw01");
+		next;
+		select( "The garden in front of the mansion." );
+		mes "[Kimchi]";
+		mes "Oh, it's not working there either.";
+		mes "Go up from this road and turn left to go to the <NAVI>[central garden]<INFO>ba_maison,245,206,0,0,0</INFO></NAVI>.";
+		next;
+		mes "[Kimchi]";
+		mes "Come on, Warry. Let's go back.";
+		npctalk "Yes!", "Worry#172nw01", bc_self;
+		sleep2 1000;
+		cloakonnpcself( "Worry#172nw01" );
+		cloakonnpcself( "Kimchi#172nw01" );
+		ep17_2_main = 13;
+		erasequest 17336;
+		setquest 17337;
+		getitem 1000103,5;
+		getexp 300000,0;	// note: ~exp. getbaseexp_ratio?
+		close;
+	}
+	if (ep17_2_main == 13) {
+		mes "[" + strcharinfo(0) + "]";
+		mes "The doll told me to go up from this road and turn left to go to the <NAVI>[central garden]<INFO>ba_maison,245,206,0,0,0</INFO></NAVI>.";
+		close;
+	}
+	npctalk "In normal operation. High signal strength.", "", bc_self;
+	end;
+
+OnInit:
+	questinfo( QTYPE_QUEST, QMARK_YELLOW, "isbegin_quest(17336) == 1" );
+	end;
+}
+
+ba_maison,333,144,5	duplicate(dummy_cloaked_npc)	Worry#172nw01	4_EP17_SCISSORE
+ba_maison,331,145,5	duplicate(dummy_cloaked_npc)	Kimchi#172nw01	4_EP17_TABLET
+
+ba_maison,245,206,5	script	Gabriel#172nw01	4_EP17_GUARD_B,5,5,{
+	if (ep17_2_main < 10) {
+		npctalk "Only authorize persons are allowed to access this area.", "", bc_self;
+		end;
+	}
+	if (ep17_2_main == 14) {
+		mes "[Gabriel]";
+		mes "If this is the last one, please report back to <NAVI>[Alpha]<INFO>ba_maison,74,150,0,0,0</INFO></NAVI>.";
+		close;
+	}
+	mes "[Gabriel]";
+	mes "May I help you?";
+	mes "This place is accessible only to authorized personnels.";
+	mes "Please return to the entrance.";
+	close;
+
+OnTouch:
+	if (checkweight(1000103,5) == 0) {
+		mes "The number of items in your possession is too high, so you cannot proceed with the conversation.";
+		mes "Please clean up your inventory and try again.";
+		close;
+	}
+	if (ep17_2_main < 10) {
+		npctalk "Only authorize persons are allowed to access this area.", "", bc_self;
+		end;
+	}
+	if (ep17_2_main < 13) {
+		mes "[Gabriel]";
+		mes "Hello, adventurer.";
+		close;
+	}
+	if (ep17_2_main == 13) {
+		mes "[Gabriel]";
+		mes "Don't come any closer.";
+		mes "This place is accessible only to authorized personnels.";
+		next;
+		select( "Oh, I am..." );
+		mes "[Gabriel]";
+		mes "I'm not concern about that. I don't need to know anything about you. This place is restricted. Raise your hands and don't come any closer.";
+		next;
+		mes "[Gabriel]";
+		mes "Don't even think about using weapons, I'm way faster than you are. Where did you come from?";
+		next;
+		select( "The sewer, but I..." );
+		mes "[Gabriel]";
+		mes "So you came from the sewers, huh. Then stand still until I hand you over to the security.";
+		next;
+		sleep2 1500;
+		npctalk "Calling. Area 4. Area 4.", "", bc_self;
+		sleep2 2000;
+		npctalk "Security Office : This is area 4, over.", "", bc_self;
+		sleep2 2000;
+		npctalk "I need support. There's an intruder in area 7, over.", "", bc_self;
+		sleep2 2000;
+		npctalk "Security Office : Currently, all intruders have been repelled. Patrolling is not required anymore, over.", "", bc_self;
+		sleep2 2000;
+		npctalk "What are you talking about when there's one right in front of me? Area 4! Area 4??", "", bc_self;
+		sleep2 2000;
+		npctalk "Security Office : ...", "", bc_self;
+		select( "I'm a guest at the mansion." );
+		mes "[Gabriel]";
+		mes "A guest? If you are one I would have known.";
+		unittalk getcharid(3), "" + strcharinfo(0) + " : I'm saying the truth...";
+		next;
+		mes "[Gabriel]";
+		mes "I will check it for a moment. Don't move from your spot.";
+		progressbar_npc "00FF00",2;
+		next;
+		mes "[Gabriel]";
+		mes "Oh, you're a real guest aren't you? You're a special guest who has permission to access all areas... I apologize for my mistake. Please excuse me.";
+		next;
+		select( "I can't believe it. You suddenly attacked me." );
+		mes "[Gabriel]";
+		mes "Attack? Did I attack? I only responded according to the intruder response manual. Oh, did you felt like you were attacked?";
+		next;
+		select( "No..." );
+		mes "[Gabriel]";
+		mes "Once again, I apologize for my mistake.";
+		mes "Recently, we guards are more suspicious and sharper because of the intruders. Also, among the them there is a man with a low profile that appeared and resisted strongly.";
+		next;
+		mes "[Gabriel]";
+		mes "By the way, how were you able to get permission to access all areas? Normally, ordinary guests can only use non-restricted areas.";
+		next;
+		mes "[Gabriel]";
+		mes "If you were such a distinguished guest, I should have received your information much earlier.";
+		next;
+		select( "It's because of the repeater." );
+		mes "[Gabriel]";
+		mes "The repeater? The repeater here is working fine...";
+		next;
+		mes "[Gabriel]";
+		mes "Wait, this isn't a signal problem, suddenly there's a ^0000CDhacking channel^000000 jamming it... right?";
+		next;
+		select( "Hacking?" );
+		mes "[Gabriel]";
+		mes "Knowing that the automatic dolls in the mansion send and receive signals throught the repeater. Sometimes, people ^0000CDhack the repeater^000000 to try to control the automatic dolls or to keep track of what's happening inside the mansion.";
+		next;
+		mes "[Gabriel]";
+		mes "There are still intruders left inside the mansion.";
+		mes "I must search thoroughly.";
+		next;
+		mes "[Gabriel]";
+		mes "Previously, the intruders were alerted because of a guest who wandered around the mansion, thinking there were no such guest int the mansion.";
+		next;
+		mes "[Gabriel]";
+		mes "But that doesn't change the fact that they're intruders. Unlike the previous guest who were just curious, they infiltrated the premises and commited all kinds of violence in the mansion. Don't you think they're like a thief?";
+		next;
+		mes "[Gabriel]";
+		mes "" + strcharinfo(0) + ", If you don't want to be misunderstood by the other automatic dolls in the mansion, especially in the vicinity of restricted areas, you should identify yourself in advance.";
+		next;
+		select( "This is the last." );
+		mes "[Gabriel]";
+		mes "Is that so? Then I'll have to hurry and the repeater, please excuse me.";
+		mes "Also, it's not much but please accept this as an apology.";
+		next;
+		mes "[Gabriel]";
+		mes "If this is the last one, please report back to <NAVI>[Alpha]<INFO>ba_maison,74,150,0,0,0</INFO></NAVI>. Also... Welcome to the Varmundt's Mansion. If you need assistance, feel free to ask any automatic doll.";
+		ep17_2_main = 14;
+		erasequest 17337;
+		setquest 17338;
+		getitem 1000103,5;
+		getexp 300000,0;	// note: ~exp. getbaseexp_ratio?
+		close;
+	}
+	if (ep17_2_main == 14) {
+		mes "[Gabriel]";
+		mes "If this is the last one, please report back to <NAVI>[Alpha]<INFO>ba_maison,74,150,0,0,0</INFO></NAVI>.";
+		close;
+	}
+	end;
+
+OnInit:
+	questinfo( QTYPE_QUEST, QMARK_YELLOW, "isbegin_quest(17337) == 1" );
+	end;
+}
+
+ba_in01,221,116,0	script	#jh5_1hw	HIDDEN_WARP_NPC,2,2,{
+	end;
+OnTouch:
+	if (ep17_2_main == 17 && (isbegin_quest(16442) == 1 || isbegin_quest(16443) == 1 || isbegin_quest(16444) == 1 || isbegin_quest(16445) == 1 || isbegin_quest(16453) == 1))
+		cloakonnpcself( "Kaya Toss#jh5_1" );
+	if (ep17_2_main >= 20 && ep17_2_main < 24)
+		cloakonnpcself( "Kaya Toss#jh5_1" );
+	if (ep17_2_main >= 24)
+		cloakoffnpcself( "Tatio#jh5_1" );
+	if (ep17_2_main == 25)
+		cloakonnpcself( "Rookie#jh5" );
+	end;
+}
+
+ba_in01,206,106,3	script	Philofontes#jh5_1	4_M_PHILOFONTES,{
+	if (ep17_2_main < 15) {
+		cutin "ep16_tes01",2;
+		mes "[Tess]";
+		mes "Can you meet Alpha first and then come back here at the teahouse?";
+		mes "It seems that the first thing you need to do here is register yourself as a guest.";
+		mes "- A preceding quest still exist. -";
+		close3;
+	}
+	if (ep17_2_main == 15) {
+		cutin "ep16_tes01",2;
+		mes "[Tess]";
+		mes "Dien, please check the authenticity again.";
+		mes "This is a document that the goverment examined when the mercenaries stayed here at the Varmundt Mansion.";
+		next;
+		cutin "ep162_dn01",2;
+		mes "[Dien]";
+		mes "Well... even if tried to check the authenticity many times.";
+		mes "I'm not sure to what extent our cooperation will go.";
+		next;
+		mes "[Dien]";
+		mes "I'm a bit tired of saying the same thing over and over again.";
+		next;
+		cutin "",255;
+		mes "(The mood looks bad, Let's observe for now.)";
+		next;
+		cutin "ep16_tes01",2;
+		mes "[Tess]";
+		mes "If you take a look, you'll be to understand this evidence.";
+		mes "It's a proof that the goverment tried to talk to the mercenaries, but they didn't respond to it.";
+		next;
+		cutin "ep162_rds01",2;
+		mes "[Ridsh]";
+		mes "That kind of talk never happened! Not a single soul from the government came to talk you know?";
+		mes "I already said no, how long will you keep asking me to find out the truth like a parrot?";
+		next;
+		cutin "ep162_rds02",2;
+		mes "[Ridsh]";
+		mes "It's the same when you brought us new documents, you're lying!";
+		mes "You've been lying to us several times already!";
+		next;
+		cutin "ep16_tes03",2;
+		mes "[Tess]";
+		mes "Why would you think that we'll deliberately use false documents...!";
+		mes "Ah, " + strcharinfo(0) + ", since when have you been here? I've shown you a shameful side of me.";
+		next;
+		mes "[Tess]";
+		mes "I'm talking with the Rebellion <NAVI>[Elders]<INFO>ba_in01,203,103,0,0,0</INFO></NAVI>, but it's difficult to verify events that happened in the past...";
+		ep17_2_main = 16;
+		erasequest 17381;
+		setquest 16440;
+		close3;
+	}
+	if (ep17_2_main == 16) {
+		cutin "ep16_tes03",2;
+		mes "[Tess]";
+		mes "I'm talking with the Rebellion <NAVI>[Elders]<INFO>ba_in01,203,103,0,0,0</INFO></NAVI>, but they're quite stubborn, perhaps because they're already seniors.";
+		next;
+		cutin "ep162_rds02",2;
+		mes "[Ridsh]";
+		mes "Hey! Who are you calling seniors?";
+		close3;
+	}
+	if (ep17_2_main == 17) {
+		cutin "ep16_tes01",2;
+		mes "[Tess]";
+		mes "Adventurer, please go to the managers of the mansion and find out what happened about the time when the mercenaries stayed here in Varmundt Mansion.";
+		close3;
+	}
+	if (ep17_2_main == 18) {
+		npctalk "Tess : Please pay attention to Ridsh.", "", bc_self;
+		end;
+	}
+	if (ep17_2_main == 19) {
+		npctalk "Tess : I think Kaya Toss has something to say.", "", bc_self;
+		end;
+	}
+	if (ep17_2_main < 25) {
+		npctalk "Tess : All of us were playing in the hands of the corporate.", "", bc_self;
+		end;
+	}
+	npctalk "Tess : Thank you for all your help, adventurer.", "", bc_self;
+	end;
+
+OnInit:
+	questinfo( QTYPE_QUEST, QMARK_YELLOW, "isbegin_quest(17381) == 1" );
+	end;
+}
+
+ba_in01,203,103,5	script	Dien#jh5_1	4_F_DIENE,{
+	if (ep17_2_main < 16) {
+		cutin "ep162_dn02",2;
+		mes "[Dien]";
+		mes "If you're looking for a high-quality tea, this mansion is the place you're looking for.";
+		mes "The tea that I'm drinking in Einbech is not bad, but it's incomparable from the tea here.";
+		close3;
+	}
+	if (ep17_2_main == 16) {
+		cutin "ep162_dn01",2;
+		mes "[Dien]";
+		mes "Hmm... Hey, gentleman from the government. Why do you keep asking for evidence when you don't believe what we're saying?";
+		next;
+		cutin "ep162_dn03",2;
+		mes "[Dien]";
+		mes "Let's bring a false documents to the mercenaries and ask them to prove every mistakes. We can't say anything about that.";
+		next;
+		cutin "ep162_dn02",2;
+		mes "[Dien]";
+		mes "It's a waste of time.";
+		mes "I'd rather find another way, instead of wasting my time doing something contradictory.";
+		next;
+		cutin "ep16_tes02",2;
+		mes "[Tess]";
+		mes "... what else could there be, other than to examine the records and write report.";
+		mes "Are you saying that you can't believe goverment-made report unconditionally?";
+		next;
+		cutin "16loo_01",2;
+		mes "[Rookie]";
+		mes "For a minute, could you listen to me?";
+		next;
+		mes "[Rookie]";
+		mes "The question is, isn't it the credibility of the record itself?";
+		mes "No matter how much we use that record with mixed opinions, we won't be able to reach an agreement.";
+		next;
+		cutin "ep16_tes02",2;
+		mes "[Tess]";
+		mes "...as a result, this happened.";
+		next;
+		cutin "16loo_01",2;
+		mes "[Rookie]";
+		mes "So instead of relying on the government records, why don't we investigate the events that really happened here?";
+		next;
+		mes "[Rookie]";
+		mes "This place is the base of the Mercenaries War, If you investigate it with your own eyes, you might see things you haven't seen before.";
+		next;
+		cutin "",255;
+		select( "It's a good idea." );
+		cutin "16loo_01",2;
+		mes "[Rookie]";
+		mes "Well, who can remember exactly and vividly what occured here?";
+		next;
+		cutin "",255;
+		if (select( "The Mansion Manager.", "The Cleaning Robots." ) == 2) {
+			cutin "16loo_03",2;
+			mes "[Rookie]";
+			mes "Adventurer, cleaning robots only response to what people say.";
+			mes "Ah, yes. The mansion managers would remember it!";
+			next;
+		}
+		cutin "16loo_01",2;
+		mes "[Rookie]";
+		mes "Yes, the Varmundt Mansion Managers! It's not human, but it probably a more neutral source of data.";
+		next;
+		cutin "ep162_rds02",2;
+		mes "[Ridsh]";
+		mes "Lucky, Why aren't you listening to us and taking the government's side?";
+		next;
+		cutin "ep16_tes01",2;
+		mes "[Tess]";
+		mes "It's a reasonable way. But who will witness it?";
+		mes "If I said I would, you wouldn't believe me.";
+		next;
+		cutin "ep162_dn01",2;
+		mes "[Dien]";
+		mes "If the government is asking me to believe the lies they've been building until now, then I can't cooperate with you.";
+		next;
+		cutin "ep162_dn03",2;
+		mes "[Dien]";
+		mes "How would you know if the government really tried to talk to the mercenaries, also how would you know that the mercenaries rejected it. You're just bringing us evidence that none of us have know.";
+		next;
+		cutin "ep16_tes03",2;
+		mes "[Tess]";
+		mes "The elders wouldn't even go out to investigate themselves...,";
+		mes "Adventurer, you're the only one that the elders will believe.";
+		next;
+		cutin "",255;
+		select( "I'll get their permission." );
+		cutin "ep162_dn01",2;
+		mes "[Dien]";
+		mes "I can believe what the adventurer done so far.";
+		mes "Will you listen to the managers for us, adventurer?";
+		next;
+		cutin "ep16_tes01",2;
+		mes "[Tess]";
+		mes "The existence of the adventurer is very important to both parties and invaluable in this place where various enemy forces are in motion.";
+		next;
+		cutin "ep16_tes03",2;
+		mes "[Tess]";
+		mes "Adventurer, please go to the managers of the mansion and find out what happened about the time when the mercenaries stayed here in Varmundt Mansion.";
+		next;
+		if (select( "Accept.", "Refuse." ) == 2) {
+			cutin "ep16_tes02",2;
+			mes "[Tess]";
+			mes "Are you busy or it's just a bad time?";
+			mes "Don't you like what I asked you to do?";
+			mes "I can't force you to do it.";
+			close3;
+		}
+		cutin "ep162_dn02",2;
+		mes "[Dien]";
+		mes "Thank you, adventurer. It seems you're left with the troublesome work again.";
+		mes "I look forward to the truth that is given by a neutral party.";
+		close2;
+		cutin "",255;
+		ep17_2_main = 17;
+		erasequest 16440;
+		setquest 16441;
+		setquest 16442;
+		setquest 16443;
+		setquest 16444;
+		setquest 16445;
+		end;
+	}
+	if (ep17_2_main == 17) {
+		cutin "ep162_dn02",2;
+		mes "[Dien]";
+		mes "Thank you, adventurer. It seems you're left with the troublesome work again.";
+		mes "I look forward to the truth that is given by a neutral party.";
+		close3;
+	}
+	if (ep17_2_main == 18) {
+		npctalk "Dien : Would you mind listening to Ridsh's story?", "", bc_self;
+		end;
+	}
+	if (ep17_2_main == 19) {
+		npctalk "Dien : Let's hear what the corporate has to say.", "", bc_self;
+		end;
+	}
+	if (ep17_2_main < 25) {
+		npctalk "Dien : I have nothing to say right now, please excuse me.", "", bc_self;
+		end;
+	}
+	npctalk "Dien : The scent of the tea is nice. Would you like a drink?", "", bc_self;
+	end;
+
+OnInit:
+	questinfo( QTYPE_QUEST, QMARK_YELLOW, "isbegin_quest(16440) == 1" );
+	end;
+}
+
+ba_in01,202,108,5	script	Rookie#jh5	4_M_ROOKIE,{
+	if (ep17_2_main < 17) {
+		npctalk "Rookie : Well, we made a lot of progress. It's all thanks to your help adventurer.", "", bc_self;
+		end;
+	}
+	if (ep17_2_main == 17) {
+		if (isbegin_quest(16442) == 1 || isbegin_quest(16443) == 1 || isbegin_quest(16444) == 1 || isbegin_quest(16445) == 1 || isbegin_quest(16453) == 1) {
+			cutin "16loo_01",2;
+			mes "[Rookie]";
+			mes "The managers knows the truth about the mercenary war.";
+			mes "They're all automatic dolls, they will have a vivid memory and they won't tell lies.";
+			next;
+			mes "[Rookie]";
+			mes "Please listen to the stories of those days, adventurer.";
+			close3;
+		}
+		cutin "16loo_01",2;
+		mes "[Rookie]";
+		mes "Have you heard enough from the managers?";
+		mes "Now, tell us about the facts that you've heard.";
+		next;
+		cutin "",255;
+		select( "Tell the story of the mysterious body." );
+		cutin "16loo_03",2;
+		mes "[Rookie]";
+		mes "There is a body suddenly, What do you mean?";
+		emotion ET_SWEAT;
+		next;
+		cutin "ep162_dn03",2;
+		mes "[Dien]";
+		mes "It is said that the body that was found was not of the mercenaries, mansion's staff, or part of the corporate... Do you have any specific information?";
+		next;
+		cutin "",255;
+		select( "Hand over specific data." );
+		cutin "ep162_rds03",2;
+		mes "[Ridsh]";
+		mes "This person doesn't really look like a mercenary. Why would a person like this be near Varmundt Mansion and be killed?";
+		next;
+		cutin "ep16_tes01",2;
+		mes "[Tess]";
+		mes "Wait... Show me the data too.";
+		next;
+		mes "[Tess]";
+		mes "..................";
+		mes "..................";
+		emotion ET_SURPRISE, getnpcid(0,"Philofontes#jh5_1");
+		next;
+		cutin "ep162_dn01",2;
+		mes "[Dien]";
+		mes "Is there something bothering you about this data?";
+		next;
+		cutin "ep16_tes01",2;
+		mes "[Tess]";
+		mes "We know who this person is.";
+		mes "This person is one of the commissioner the government sent to the mercenaries for the negotiation.";
+		next;
+		mes "[Tess]";
+		mes "It's said that the commissioner didn't come back after being sent, the commissioner was later presumed as a missing person.";
+		mes "But, later found dead in the Varmundt Mansion.";
+		next;
+		cutin "16loo_01",2;
+		mes "[Rookie]";
+		mes "So, you're saying... A government official who went to see the mercenaries, was killed before even meeting the mercenaries...";
+		next;
+		mes "[Rookie]";
+		mes "This, who did such thing.";
+		next;
+		cutin "",255;
+		switch( select( "The Enterprise.", "The Government.", "The Mercenaries." ) ) {
+		case 1:
+			cutin "16loo_03",2;
+			mes "[Rookie]";
+			mes "...There is no evidence, adventurer.";
+			mes "Your words gives me heartaches.";
+			emotion ET_SWEAT;
+			next;
+			mes "[Rookie]";
+			mes "We should talk more carefully.";
+			break;
+		case 2:
+			cutin "ep16_tes02",2;
+			mes "[Tess]";
+			mes "Why would someone from the government kill the one they sent?";
+			emotion ET_QUESTION, getnpcid(0,"Philofontes#jh5_1");
+			next;
+			cutin "ep16_tes03",2;
+			mes "[Tess]";
+			mes "Even if it's the government's opposition, it would have been difficult to commit murder without escaping the eyes of the mercenaries' and workers inside the Varmundt Mansion.";
+			break;
+		case 3:
+			cutin "ep162_dn03",2;
+			mes "[Dien]";
+			mes "No, the mercenaries didn't even know it was a person from the government. Even the body was found late.";
+			emotion ET_SURPRISE, getnpcid(0,"Dien#jh5_1");
+			next;
+			mes "[Dien]";
+			mes "It wasn't the mercenaries.";
+			break;
+		}
+		next;
+		cutin "16loo_01",2;
+		mes "[Rookie]";
+		mes "It would have been a difficult to avoid the eyes of the mercenaries' and workers in the Varmundt Mansion.";
+		mes "But, the mercenaries are not the culprit.";
+		next;
+		cutin "",255;
+		emotion ET_SURPRISE, getnpcid(0,"Dien#jh5_1");
+		select( "It's probably the mercenaries." );
+		cutin "ep162_dn03",2;
+		mes "[Dien]";
+		mes "Are you saying that we're lying? Even after listening to the managers?!";
+		next;
+		cutin "",255;
+		select( "There must have been a traitor among the mercenaries." );
+		cutin "ep162_dn03",2;
+		mes "[Dien]";
+		mes "I'm sure there's enough evidence for you to say that.";
+		mes "Now, show us the evidence.";
+		next;
+		cutin "",255;
+		if (select( "H's suspicious behavior.", "Evidence of internal communication with the enterprise." ) == 1) {
+			cutin "16loo_01",2;
+			mes "[Rookie]";
+			mes "... But there's no evidence.";
+			mes "Right now, we can't rely on suspicions. We need proof, adventurer.";
+			close3;
+		}
+		cutin "ep171_kaya03",2;
+		mes "[Kaya Toss]";
+		mes "Thats... No, it's an envelope with the corporate's seal on it. It's badly crumpled. Where did you get this envelope? It's an item that's strictly forbidden to leak outside of Rekenber.";
+		emotion ET_SURPRISE, getnpcid(0,"Kaya Toss#jh5_1");
+		next;
+		cutin "ep162_dn01",2;
+		mes "[Dien]";
+		mes "Look at the contents of the envelope. That's what's important.";
+		mes "It's been a long time since I've last read, but I can read it perfectly, like it's a command book.";
+		emotion ET_SURPRISE, getnpcid(0,"Dien#jh5_1");
+		next;
+		cutin "ep162_dn03",2;
+		mes "[Dien]";
+		mes "I've asked someone to 'dispose' of the government personnel to prevent contact with the mercenaries... And I told him to break inside Varmundt Mansion and steal Varmundt's research data...";
+		next;
+		cutin "16loo_01",2;
+		mes "[Rookie]";
+		mes "It's signed by the recipient, 'H. Luckenberg";
+		mes "It's a proof of the identity of the traitor that you mentioned.";
+		next;
+		cutin "ep171_kaya02",2;
+		mes "[Kaya Toss]";
+		mes "..........";
+		emotion ET_THINK, getnpcid(0,"Kaya Toss#jh5_1");
+		next;
+		cutin "ep162_dn01",2;
+		mes "[Dien]";
+		mes "Corporate representative, You don't look so well.";
+		next;
+		cutin "ep171_kaya01",2;
+		mes "[Kaya Toss]";
+		mes "...I need some time, I have something that I want to check.";
+		mes "I'll get in touch with my secretary, please continue without me.";
+		emotion ET_THINK, getnpcid(0,"Kaya Toss#jh5_1");
+		cloakonnpcself( "Kaya Toss#jh5_1" );
+		close2;
+		cutin "",255;
+		ep17_2_main = 18;
+		erasequest 16441;
+		setquest 16446;
+		end;
+	}
+	if (ep17_2_main == 18) {
+		npctalk "Rookie : Let's listen to Ridsh.", "", bc_self;
+		end;
+	}
+	if (ep17_2_main == 19) {
+		npctalk "Rookie : Let's listen to the corporate representative.", "", bc_self;
+		end;
+	}
+	if (ep17_2_main == 20) {
+		cutin "16loo_03",2;
+		mes "[Rookie]";
+		mes "Adventurer, Hey. Mr. Kaya was quite depressed. do you mind checking on Mr. Kaya?";
+		next;
+		cutin "16loo_02",2;
+		mes "[Rookie]";
+		mes "It's always for something bad to happen at times like this...";
+		mes "I'd be reassured if could take a look at the <NAVI>[garden]<INFO>ba_maison,103,92,0,101,0</INFO></NAVI>.";
+		close2;
+		cutin "",255;
+		ep17_2_main = 21;
+		erasequest 16448;
+		setquest 16449;
+		end;
+	}
+	if (ep17_2_main < 25) {
+		npctalk "Rookie : Well, at this point, I'd rather refrain from speaking, right?", "", bc_self;
+		end;
+	}
+	npctalk "Rookie : Well, we made a lot of progress. It's all thanks to your help adventurer.", "", bc_self;
+	end;
+
+OnInit:
+	questinfo( QTYPE_QUEST, QMARK_YELLOW, "ep17_2_main == 17 && isbegin_quest(16442) == 0 && isbegin_quest(16443) == 0 && isbegin_quest(16444) == 0 && isbegin_quest(16445) == 0 && isbegin_quest(16453) == 0" );
+	questinfo( QTYPE_QUEST, QMARK_YELLOW, "isbegin_quest(16448) == 1" );
+	end;
+}
+
+ba_in01,208,110,3	script	Ridsh#jh5_1	4_F_LEEDSH,{
+	if (ep17_2_main == 17) {
+		cutin "ep162_rds02",2;
+		mes "[Ridsh]";
+		mes "I hope you're not thinking that we're stuck.";
+		close3;
+	}
+	if (ep17_2_main == 18) {
+		cutin "ep162_rds01",2;
+		mes "[Ridsh]";
+		mes "Is there anything else suspicious about the mercenary?";
+		next;
+		cutin "",255;
+		select( "Tell about various suspicious activities." );
+		cutin "ep16_tes01",2;
+		mes "[Tess]";
+		mes "From the mercenaries' perspective, he was suspicious.";
+		mes "However, it seems only a few people knew about it, and they believe each other, so the whole thing was not revealed.";
+		next;
+		cutin "ep162_rds01",2;
+		mes "[Ridsh]";
+		mes "That's entirely the mercenary's mistake.";
+		mes "I would have known if I had a doubt and poked more into it.";
+		emotion ET_SWEAT;
+		next;
+		cutin "ep162_dn01",2;
+		mes "[Dien]";
+		mes "If we found out more about 'H. Luckenberg' at that time...";
+		mes "The Mercenary War might have ended differently.";
+		next;
+		cutin "ep16_tes02",2;
+		mes "[Tess]";
+		mes "I'm glad to know the truth.";
+		mes "The government offered an aid, but they were stopped by the companies...";
+		next;
+		cutin "ep162_dn01",2;
+		mes "[Dien]";
+		mes "I apologize for not listening to your plead.";
+		mes "You weren't making false evidence. You just didn't know the truth.";
+		next;
+		cutin "ep16_tes01",2;
+		mes "[Tess]";
+		mes "I also want to apologize, for not believing your side of the story and forcing the evidence that we have brought.";
+		next;
+		cloakoffnpcself( "Kaya Toss#jh5_1" );
+		cutin "ep171_kaya01",2;
+		mes "[Kaya Toss]";
+		mes "..........";
+		mes "I'm sorry for leaving suddenly.";
+		next;
+		mes "[Kaya Toss]";
+		mes "Something came in to my mind, and I checked it.";
+		mes "I'd like to tell you something what I have found out on my side.";
+		next;
+		cutin "ep162_dn01",2;
+		mes "[Dien]";
+		mes "What is it?";
+		next;
+		cutin "ep171_kaya01",2;
+		mes "[Kaya Toss]";
+		mes "On the corporate's employee directory... there is someone who has an exact match of H. Luckenberg's activity during that time.";
+		next;
+		cutin "ep162_dn01",2;
+		mes "[Dien]";
+		mes "I see.";
+		next;
+		cutin "ep171_kaya01",2;
+		mes "[Kaya Toss]";
+		mes "He was recorded as a returning employee from a long business trip during the mercenary war.";
+		mes "However, the place he went to was not documented.";
+		next;
+		mes "[Kaya Toss]";
+		mes "My secretary, Grey, searched through an incomplete records and found this note among the remaining work log memos.";
+		mes "'As fast as possible (Traces of erased memo) lead them to the mansion'";
+		next;
+		mes "[Kaya Toss]";
+		mes "The subject of the memo is vaguely written but it can be clearly understood.";
+		mes "That, he was in Varmundt Mansion...";
+		next;
+		cutin "ep162_dn03",2;
+		mes "[Dien]";
+		mes "So that's what happened.";
+		mes "The government and mercenaries have been played by the companies again.";
+		next;
+		cutin "ep171_kaya02",2;
+		mes "[Kaya Toss]";
+		mes "It's a shame...";
+		close2;
+		cutin "",255;
+		ep17_2_main = 19;
+		erasequest 16446;
+		setquest 16447;
+		end;
+	}
+	if (ep17_2_main == 19) {
+		npctalk "Ridsh : The corporate guy wants to say something.", "", bc_self;
+		end;
+	}
+	if (ep17_2_main < 25) {
+		npctalk "Ridsh : I have nothing to say right now.", "", bc_self;
+		end;
+	}
+	npctalk "Ridsh : Would you like some tea? There's a snack here if you want.", "", bc_self;
+	end;
+
+
+OnInit:
+	questinfo( QTYPE_QUEST, QMARK_YELLOW, "isbegin_quest(16446) == 1" );
+	end;
+}
+
+ba_in01,207,102,3	script	Kaya Toss#jh5_1	4_EP17_KAYA,{
+	if (ep17_2_main == 16) {
+		npctalk "Kaya Toss : Please listen to the elders.", "", bc_self;
+		end;
+	}
+	if (ep17_2_main == 19) {
+		cutin "ep171_kaya01",2;
+		mes "[Kaya Toss]";
+		mes "All contextual, and material evidence evidence leads to the corporate.";
+		mes "This is, really, a shame.";
+		next;
+		cutin "ep171_kaya02",2;
+		mes "[Kaya Toss]";
+		mes "I am sorry.";
+		mes "As the Vice President, I feel responsible for all of this.";
+		next;
+		cutin "ep162_dn01",2;
+		mes "[Dien]";
+		mes "Well... Mr. Corporate Representative, what's the difference between you feeling responsible at this point?";
+		mes "If you apologized, will it bring the dead back?";
+		next;
+		cutin "ep171_kaya01",2;
+		mes "[Kaya Toss]";
+		mes "I will take full responsibility for everything, starting by not forgetting the past.";
+		next;
+		cutin "ep162_rds03",2;
+		mes "[Ridsh]";
+		mes "The past? No. It's about what's happening now, the present time. Those Rebellion kids and those who are still sick at Cor are happening now.";
+		mes "Everything you say of the past continues to this day.";
+		next;
+		cutin "ep162_dn03",2;
+		mes "[Dien]";
+		mes "What are going to do now? You can apologize as much as you want. But it's hard to change people's mind.";
+		next;
+		cutin "ep162_dn01",2;
+		mes "[Dien]";
+		mes "Let's stop talking about this now. I don't want to talk to you anymore if you continue to repeat the words of taking responsibility without even saying what you're planning to do.";
+		next;
+		cutin "ep171_kaya03",2;
+		mes "[Kaya Toss]";
+		mes "But, Elder........";
+		next;
+		cutin "ep162_ctn01",2;
+		mes "[Cotnes]";
+		mes "When you talk proudly like that, it's better not to do it pitifully.";
+		mes "Hohoho, Then I'm off too.";
+		close2;
+		cutin "",255;
+		ep17_2_main = 20;
+		erasequest 16447;
+		setquest 16448;
+		npctalk "Kaya Toss : I'll come back after I organize my thoughts for a moment.", "", bc_self;
+		cloakonnpcself( "Kaya Toss#jh5_1" );
+		end;
+	}
+	cutin "ep171_kaya01",2;
+	mes "[Kaya Toss]";
+	mes "Recently, I'm thinking for a lot of things.";
+	close3;
+
+OnInit:
+	questinfo( QTYPE_QUEST, QMARK_YELLOW, "isbegin_quest(16447) == 1" );
+	end;
+}
+
+ba_in01,205,109,3	script(CLOAKED)	Tatio#jh5_1	4_M_TATIO,{
+	if (checkweight(1000103,15) == 0) {	// (custom)
+		mes "^008800Wait a sec!!";
+		mes "You cannot receive any more items because you're carrying too many items. Please try again after you lighten up.^000000";
+		close;
+	}
+	if (ep17_2_main == 24) {
+		cutin "ep162_dn01",2;
+		mes "[Dien]";
+		mes "We've got a new visitor after our walk.";
+		next;
+		cutin "ep171_kaya01",2;
+		mes "[Kaya Toss]";
+		mes "No, Tatio! I've sent you a call through Grey, but I didn't expect you to arrive this soon!";
+		next;
+		cutin "ep15_tatio01",2;
+		mes "[Tatio]";
+		mes "From what I heard from Grey, it seemed like an urgent matter.";
+		mes "I decided it would be better to visit in person as soon as possible.";
+		next;
+		cutin "ep162_dn02",2;
+		mes "[Dien]";
+		mes "It's important for you to show us what you're going to do.";
+		mes "That's a good first step.";
+		next;
+		cutin "ep15_tatio01",2;
+		mes "[Tatio]";
+		mes "As you know, Rekenber has already taken a step forward.";
+		mes "Hasn't the use of warp magic restriction in your country has been lifted?";
+		next;
+		cutin "ep16_tes01",2;
+		mes "[Tess]";
+		mes "Yes, that kind of consideration was given by the corporate.";
+		next;
+		cutin "ep15_tatio01",2;
+		mes "[Tatio]";
+		mes "Besides that, I intend to do what a corporate must do.";
+		next;
+		cutin "ep162_dn01",2;
+		mes "[Dien]";
+		mes "I've already told you,	but now is not a good time to make vague promises.";
+		mes "I'm curious about what specific things you can do.";
+		next;
+		cutin "ep15_tatio01",2;
+		mes "[Tatio]";
+		mes "I left as soon as I got contact from Vice President Kaya Toss and just arrived.";
+		mes "I know what you want hear, but I can't simply decide everything here.";
+		next;
+		mes "[Tatio]";
+		mes "However, I am going to tell you all the promises I can make with my authority.";
+		next;
+		mes "[Tatio]";
+		mes "Vice President Toss, I've seen the reports that you've worked with the government agents and adventurers.";
+		mes "Thank you for your hard work.";
+		next;
+		cutin "ep171_kaya01",2;
+		mes "[Kaya Toss]";
+		mes "Thank you, Tatio.";
+		next;
+		cutin "ep15_tatio01",2;
+		mes "[Tatio]";
+		mes "I've seen everything that's happened.";
+		mes "Now, I have to make my own move.";
+		next;
+		cutin "16loo_01",2;
+		mes "[Rookie]";
+		mes "Ah... Are you talking about the secretary?";
+		next;
+		cutin "ep15_tatio01",2;
+		mes "[Tatio]";
+		mes "In order to manage the corporate integrity. We will strictly enforce the rules that can prevent these things from happening in the future.";
+		next;
+		mes "[Tatio]";
+		mes "It's hard to tell everything now, but I promise to work with the government and the private sector, rather than the corporate itself.";
+		next;
+		cutin "ep16_tes02",2;
+		mes "[Tess]";
+		mes "So, you're planning to tell your secretary's opinion to the president, right?";
+		next;
+		cutin "ep15_tatio01",2;
+		mes "[Tatio]";
+		mes "We will also accept Vice President Kaya Toss' opinion and throughly analyze what he has investigated so far, and distribute the compensations and punishment accordingly.";
+		next;
+		cutin "ep162_dn01",2;
+		mes "[Dien]";
+		mes "That's the president's will, right?";
+		next;
+		cutin "ep15_tatio01",2;
+		mes "[Tatio]";
+		mes "Yes... of course.";
+		next;
+		mes "[Tatio]";
+		mes "For that purpose, the corporate wants to talk more with the government and the Rebellions.";
+		next;
+		cutin "ep16_tes01",2;
+		mes "[Tess]";
+		mes "This is also what the goverment is hoping for.";
+		mes "I have a lot to talk about in the future.";
+		next;
+		cutin "ep162_dn02",2;
+		mes "[Dien]";
+		mes "Since you're here and there are delicious tea and snacks, why don't you tell us stories?";
+		mes "You came all the way here, you didn't come empty-handed, did you?";
+		next;
+		cutin "ep15_tatio01",2;
+		mes "[Tatio]";
+		mes "Let's start right away.";
+		mes "This place is good for long conversations.";
+		next;
+		cutin "ep162_dn01",2;
+		mes "[Dien]";
+		mes "The more advanced the story, the more welcome it is.";
+		next;
+		cutin "16loo_01",2;
+		mes "[Rookie]";
+		mes "Well, the... Adventurer, I'm sure the representatives here will be having a long conversation.";
+		mes "Shall we go outside?";
+		next;
+		select( "I'll listen more.", "I'll go outside." );
+		cutin "16loo_02",2;
+		mes "[Rookie]";
+		mes "As you like adventurer, I'll wait outside.";
+		mes "You did a great job wandering around the mansion.";
+		next;
+		mes "[Rookie]";
+		mes "Also, it's a small amount but I'll give you some Barmeal Tickets. I got it from the automatic dolls here.";
+		mes "It's thank for your hardwork!";
+		close2;
+		cutin "",255;
+		cloakonnpcself( "Rookie#jh5" );
+		ep17_2_main = 25;
+		completequest 16452;
+		getitem 1000103,20;
+		getexp 900000,0;	// note: ~exp. getbaseexp_ratio?
+		end;
+	}
+	npctalk "Tatio : I will humbly listen to anything.", "", bc_self;
+	end;
+
+OnInit:
+	questinfo( QTYPE_QUEST, QMARK_YELLOW, "isbegin_quest(16452) == 1" );
+	end;
+}
+
+ba_in01,204,113,5	script	Cotnes#jh5_1	4_F_COATNEIS,{
+	if (ep17_2_main == 17) {
+		cutin "ep162_ctn01",2;
+		mes "[Cotnes]";
+		mes "I don't have the luxury, to listen to your stories.";
+		close3;
+	}
+	if (ep17_2_main == 18) {
+		npctalk "Cotnes : It looks like Ridsh has something to say.", "", bc_self;
+		end;
+	}
+	if (ep17_2_main == 19) {
+		npctalk "Cotnes : Hohoho, I think the corporate representative has something to say.", "", bc_self;
+		end;
+	}
+	if (ep17_2_main < 25) {
+		npctalk "Cotnes : Well, I have nothing to say right now.", "", bc_self;
+		end;
+	}
+	npctalk "Cotnes : Everyone here is in high spirit. Hohoho.", "", bc_self;
+	end;
+}
+
+ba_maison,103,92,3	script	Kaya Toss#jh5_2	4_EP17_KAYA,{
+	if (checkweight(1000103,15) == 0) {	// (custom)
+		mes "^008800Wait a sec!!";
+		mes "You cannot receive any more items because you're carrying too many items. Please try again after you lighten up.^000000";
+		close;
+	}
+	if (ep17_2_main == 21) {
+		cloakoffnpcself( "Assassin#jh5_1" );
+		mes "[???]";
+		mes "To think you're really going to take out the liver and gallbladder for everyone.";
+		mes "The corporate is ashamed of you.";
+		next;
+		cutin "ep171_kaya01",2;
+		mes "[Kaya Toss]";
+		mes "?!?";
+		next;
+		cutin "ep171_kaya03",2;
+		mes "[Kaya Toss]";
+		mes "Who are you. Why are you hiding in a place like this?";
+		next;
+		cutin "",255;
+		mes "[???]";
+		mes "Vice President, I'm with the Rekenber's Board. ...... You don't need to know my identity.";
+		next;
+		cutin "ep171_kaya03",2;
+		mes "[Kaya Toss]";
+		mes "You rude...! This is not a place for anyone to come and go. Why did you sneak and look for me?";
+		next;
+		cutin "",255;
+		mes "[???]";
+		mes "The corporate is worried about the Vice President's action. How long are you going to be swayed by their eloquence? What would you do if a representative of the corporate repeatedly acts againt the interest of the corporate?";
+		next;
+		cutin "ep171_kaya01",2;
+		mes "[Kaya Toss]";
+		mes "Act against the corporate's interest, I'm always working for the benefit of the corporate.";
+		next;
+		cutin "",255;
+		mes "[???]";
+		mes "Let's pick one. Excessive promise of compensation for an accident, overestimation of corporate responsibility.";
+		mes "You're hurting not only the corporate's finances but also its reputation.";
+		next;
+		mes "[???]";
+		mes "Why would the corporate compensate for an accident caused by the Illusions?";
+		mes "Rather, it should be the corporate that should receive compensation.";
+		next;
+		cutin "ep171_kaya01",2;
+		mes "[Kaya Toss]";
+		mes "Is there a problem when I promised the welfare benefits of the corporate to those who we hired and working under the name of the corporate?";
+		next;
+		cutin "",255;
+		mes "[???]";
+		mes "You're giving too much benefits.";
+		mes "At this rate, more and more people will want to extort money from the corporate for various reasons.";
+		next;
+		cutin "ep171_kaya01",2;
+		mes "[Kaya Toss]";
+		mes "I don't think all of that is too much.";
+		mes "I'm just doing what we have to do.";
+		next;
+		cutin "",255;
+		mes "[???]";
+		mes "Phew...... If I had been through with you, I wouldn't have come. That's it. I didn't come here to have a conversation anyway.";
+		next;
+		cutin "ep171_kaya01",2;
+		mes "[Kaya Toss]";
+		mes "What do you mean?";
+		next;
+		cutin "",255;
+		mes "[???]";
+		mes "A conversation is meaningless. It's time for you to disappear from this place!";
+		next;
+		select( "It's dangerous!" );
+		cloakoffnpcself( "Dien#jh5_2" );
+		cutin "ep162_dn03",2;
+		mes "[Dien]";
+		mes "It's dangerous!";
+		emotion ET_SURPRISE, getnpcid(0,"Dien#jh5_2");
+		next;
+		cloakoffnpcself( "Ridsh#jh5_2" );
+		cutin "ep162_rds02",2;
+		mes "[Ridsh]";
+		mes "I've come here to see what's wrong, and looks like a rat appeared.";
+		emotion ET_SURPRISE, getnpcid(0,"Ridsh#jh5_2");
+		next;
+		cloakoffnpcself( "Cotnes#jh5_2" );
+		cutin "ep162_ctn02",2;
+		mes "[Cotnes]";
+		mes "Who are you! I'm not going to let you go!";
+		emotion ET_SURPRISE, getnpcid(0,"Cotnes#jh5_2");
+		next;
+		cutin "",255;
+		mes "[???]";
+		mes "Shit, were you caught?! By these uselessly sharp old people!";
+		next;
+		cloakonnpcself( "Assassin#jh5_1" );
+		cutin "ep171_kaya01",2;
+		mes "[Kaya Toss]";
+		mes "Do, thank you for your help, Elders. It's... It's a job I've devoted my while life to. And the corporate sent an assassin to kill me.";
+		next;
+		mes "[Kaya Toss]";
+		mes "I won't lose though.";
+		mes "The only path for the corporate is clearing the past and improving the present.";
+		close2;
+		cutin "",255;
+		ep17_2_main = 22;
+		erasequest 16449;
+		setquest 16450;
+		end;
+	}
+	if (ep17_2_main == 22) {
+		cloakoffnpcself( "Dien#jh5_2" );
+		cloakoffnpcself( "Ridsh#jh5_2" );
+		cloakoffnpcself( "Cotnes#jh5_2" );
+		cutin "ep171_kaya01",2;
+		mes "[Kaya Toss]";
+		mes "I won't lose though.";
+		mes "The only path for the corporate is clearing the past and improving the present.";
+		close3;
+	}
+	if (ep17_2_main == 23) {
+		cloakoffnpcself( "Dien#jh5_2" );
+		cloakoffnpcself( "Ridsh#jh5_2" );
+		cloakoffnpcself( "Cotnes#jh5_2" );
+		cutin "ep171_kaya01",2;
+		mes "[Kaya Toss]";
+		mes "Understood. I'm going to contact the company and ask for an important person to talk more deeply with the government and the Rebellions.";
+		next;
+		mes "[Kaya Toss]";
+		mes "We should investigate this incident properly and catch the culprit.";
+		mes "Thank you again for your cooperation.";
+		next;
+		cutin "ep162_dn01",2;
+		mes "[Dien]";
+		mes "You must have been very surprised, but I gave my thanks to you for proceeding quickly.";
+		next;
+		cutin "ep171_kaya01",2;
+		mes "[Kaya Toss]";
+		mes "Then let's return to the tea house. I also want to calm down a little.";
+		mes "Elders, will you come with me?";
+		next;
+		cutin "ep162_dn02",2;
+		mes "[Dien]";
+		mes "I'd be happy to escort you.";
+		next;
+		cutin "ep171_kaya01",2;
+		mes "[Kaya Toss]";
+		mes "I'd be grateful if you would come with us too, adventurer.";
+		mes "Let's have a tea together, while waiting for the important person to come.";
+		close2;
+		cutin "",255;
+		cloakonnpcself( "Dien#jh5_2" );
+		cloakonnpcself( "Ridsh#jh5_2" );
+		cloakonnpcself( "Cotnes#jh5_2" );
+		ep17_2_main = 24;
+		erasequest 16451;
+		setquest 16452;
+		getitem 1000103,15;
+		getexp 900000,0;	// note: ~exp. getbaseexp_ratio?
+		end;
+	}
+	cutin "ep171_kaya01",2;
+	mes "[Kaya Toss]";
+	mes "I'm here to think for a moment.";
+	close3;
+
+OnInit:
+	questinfo( QTYPE_QUEST, QMARK_YELLOW, "isbegin_quest(16449) == 1" );
+	questinfo( QTYPE_QUEST, QMARK_YELLOW, "isbegin_quest(16451) == 1" );
+	end;
+}
+
+ba_maison,100,90,7	script(CLOAKED)	Dien#jh5_2	4_F_DIENE,{
+	if (ep17_2_main == 22) {
+		cutin "ep162_dn01",2;
+		mes "[Dien]";
+		mes "I've heard your opinions.";
+		mes "Well... I now understand that the word you said about taking responsibility wasn't gilded in front of us.";
+		next;
+		mes "[Dien]";
+		mes "However, there is no reason to believe that you can apologize for everything that the corporates have done.";
+		mes "Just trust yourself a little bit more, I just thought I'd watch what you'll do from now.";
+		next;
+		cutin "ep162_dn03",2;
+		mes "[Dien]";
+		mes "Do not forget. Even if we disappear someday, the younger generations, new rebellions, countless innocent people who have been affected by the wrong doings of the corporates and those who are not, are all watching the corporates' actions.";
+		next;
+		mes "[Dien]";
+		mes "If you're already decided, I would like talk with the representative more clearly.";
+		mes "Also, in order for us to do the job correctly, it would be better to accompany not only us, but also the people of the president.";
+		next;
+		cutin "ep162_dn02",2;
+		mes "[Dien]";
+		mes "For starter, show us what you can do with your first step.";
+		close2;
+		cutin "",255;
+		ep17_2_main = 23;
+		erasequest 16450;
+		setquest 16451;
+		end;
+	}
+	end;
+
+OnInit:
+	questinfo( QTYPE_QUEST, QMARK_YELLOW, "isbegin_quest(16450) == 1" );
+	end;
+}
+
+ba_maison,105,95,3	script(CLOAKED)	Ridsh#jh5_2	4_F_LEEDSH,{
+	npctalk "Ridsh : Tell the president to come out!", "", bc_self;
+	end;
+}
+
+ba_maison,105,90,1	script(CLOAKED)	Cotnes#jh5_2	4_F_COATNEIS,{
+	npctalk "Ridsh : Are you fine, Mr. Kaya?", "", bc_self;
+	end;
+}
+
+ba_maison,100,95,5	duplicate(dummy_cloaked_npc)	Assassin#jh5_1	4_M_MASKMAN
+
+
+//= Managers
+ba_maison,189,56,3	script	Yunas#jh5	4_EP17_BASIC_B,{
+	if (ep17_2_main == 17) {
+		cutin "ep172_beta",2;
+		mes "[Yunas]";
+		mes "Welcome, honored guest, I'm an automatic doll with an identifier called Yunas.";
+		mes "Of course, I'm standing here to assist any guests that needs it.";
+		next;
+		cutin "",255;
+		select( "I want to ask about past records." );
+		cutin "ep172_beta",2;
+		mes "[Yunas]";
+		mes "What record would you like me to check?";
+		next;
+		cutin "",255;
+		select( "Any record of mercenaries is a bell." );
+		cutin "ep172_beta",2;
+		mes "[Yunas]";
+		mes "I'll prepare the record. Please wait a moment.";
+		next;
+		mes "[Yunas]";
+		mes "As the guest requested. I'll deliver random selection of record about mercenaries in the database.";
+		next;
+		cutin "",255;
+		cloakoffnpcself( "Mercenary#jh5_1" );
+		cloakoffnpcself( "Mercenary#jh5_2" );
+		specialeffect EF_DA_SPACE, AREA, "Mercenary#jh5_1";
+		specialeffect EF_DA_SPACE, AREA, "Mercenary#jh5_2";
+		mes "..................";
+		mes "..................";
+		next;
+		mes "[Mercenary]";
+		mes "How did we get here?";
+		emotion ET_THINK, getnpcid(0,"Mercenary#jh5_1");
+		next;
+		mes "[Mercenary]";
+		mes "A mansion... of someone you never knew.";
+		mes "I have never been in a mansion like this before.";
+		emotion ET_THINK, getnpcid(0,"Mercenary#jh5_2");
+		next;
+		mes "[Mercenary]";
+		mes "What kind of person is Varmundt, who accepted us willingly?";
+		emotion ET_QUESTION, getnpcid(0,"Mercenary#jh5_1");
+		next;
+		mes "[Mercenary]";
+		mes "Oh, you should've asked who it is.";
+		mes "Aren't you the one who saved us when we thought we're all going to die?";
+		emotion ET_THINK, getnpcid(0,"Mercenary#jh5_2");
+		next;
+		mes "[Mercenary]";
+		mes "Yes, we're alive thanks to Mr. Varmundt and Mr. H";
+		mes "If Mr.H hadn't asked us to come here, we'd all be dead by now.";
+		emotion ET_THINK, getnpcid(0,"Mercenary#jh5_1");
+		next;
+		mes "[Mercenary]";
+		mes "Let's regain our strength here and prepare for the fight.";
+		emotion ET_THINK, getnpcid(0,"Mercenary#jh5_2");
+		next;
+		mes "..................";
+		mes "..................";
+		cloakonnpcself( "Mercenary#jh5_1" );
+		cloakonnpcself( "Mercenary#jh5_2" );
+		next;
+		cutin "ep172_beta",2;
+		mes "[Yunas]";
+		mes "Do you have any more records you'd want to take a look at?";
+		next;
+		cutin "",255;
+		if (select( "I'm curious about the guy named Mr. H.", "No more." ) == 2) {
+			cutin "ep172_beta",2;
+			mes "[Yunas]";
+			mes "Thank you for reading the records!";
+			mes "If you need any more records, please do not hesitate to ask.";
+			close3;
+		}
+		cutin "",255;
+		cloakoffnpcself( "Mercenary#jh5_11" );
+		cloakoffnpcself( "Mercenary#jh5_21" );
+		specialeffect EF_DA_SPACE, AREA, "Mercenary#jh5_11";
+		specialeffect EF_DA_SPACE, AREA, "Mercenary#jh5_21";
+		mes "..................";
+		mes "..................";
+		next;
+		mes "[Mercenary]";
+		mes "... I think I've finally calm down.";
+		mes "Everyone was furious.";
+		emotion ET_SWEAT, getnpcid(0,"Mercenary#jh5_11");
+		next;
+		mes "[Mercenary]";
+		mes "But it was something that had to be done.";
+		mes "People simply died like that, people... There was blood everywhere and their eyes turned over.";
+		mes "Now that I think about it, I deeply regret it.";
+		emotion ET_KEK, getnpcid(0,"Mercenary#jh5_21");
+		next;
+		mes "[Mercenary]";
+		mes "We used the substitute plan and we took more casualty than we should have.";
+		mes "I should have stopped Mr. H.";
+		mes "Everyone started yelling and panicking that we had to get rid of them first...";
+		emotion ET_SCRATCH, getnpcid(0,"Mercenary#jh5_11");
+		next;
+		mes "[Mercenary]";
+		mes "Neither Mr.H and we are not so bled up back then.";
+		mes "Don't blame Mr.H too much.";
+		emotion ET_THINK, getnpcid(0,"Mercenary#jh5_21");
+		next;
+		mes "[Mercenary]";
+		mes "Well, that's true... Let's stop talking about, dwelling on it will just be hard on us.";
+		emotion ET_THINK, getnpcid(0,"Mercenary#jh5_11");
+		next;
+		mes "..................";
+		mes "..................";
+		cloakonnpcself( "Mercenary#jh5_11" );
+		cloakonnpcself( "Mercenary#jh5_21" );
+		next;
+		cutin "ep172_beta",2;
+		mes "[Yunas]";
+		mes "Do you have any more records you'd want to take a look at?";
+		next;
+		cutin "",255;
+		select( "I'm done." );
+		cutin "ep172_beta",2;
+		mes "[Yunas]";
+		mes "Thank you for reading the records!";
+		mes "If you need any more records, please do not hesitate to ask.";
+		next;
+		mes "- I need to remember what I heard carefully. -";
+		close2;
+		cutin "",255;
+		if (isbegin_quest(16442) == 1)
+			erasequest 16442;
+		if (isbegin_quest(16442) == 0 && isbegin_quest(16443) == 0 && isbegin_quest(16444) == 0 && isbegin_quest(16445) == 0 && isbegin_quest(16453) == 0)
+			unittalk getcharid(3), "" + strcharinfo(0) + " : I think I've heard enough stories. Should I go back to the teahouse now?", bc_self;
+		end;
+	}
+	cutin "ep172_beta",2;
+	mes "[Yunas]";
+	mes "Welcome to the Varmundt Mansion. The Varmundt Mansion provides various benefits such as medical services, shopping and entertainment, and leisure activities...";
+	next;
+	mes "[Yunas]";
+	mes "Uh. Oops. This is not it. I have mistakenly told you the wrong thing.";
+	mes "Please disregard it...";
+	close3;
+
+OnInit:
+	questinfo( QTYPE_QUEST, QMARK_YELLOW, "isbegin_quest(16442) == 1" );
+	end;
+}
+
+ba_maison,187,54,5	duplicate(dummy_cloaked_npc)	Mercenary#jh5_1	1_ETC_01
+ba_maison,190,54,3	duplicate(dummy_cloaked_npc)	Mercenary#jh5_2	1_F_MERCHANT_02
+ba_maison,187,54,5	duplicate(dummy_cloaked_npc)	Mercenary#jh5_11	1_M_JOBGUIDER
+ba_maison,190,54,3	duplicate(dummy_cloaked_npc)	Mercenary#jh5_21	1_M_SMITH
+
+ba_maison,318,169,5	script	Skippy#jh5	4_EP17_BASIC_B,{
+	if (ep17_2_main == 17) {
+		cutin "ep172_beta",2;
+		mes "[Skippy]";
+		mes "Do you want any records from a guest from the past?";
+		mes "Do you have a specific record in mind?";
+		next;
+		cutin "",255;
+		select( "Any record of incidents and accidents." );
+		cutin "ep172_beta",2;
+		mes "[Skippy]";
+		mes "Let me check for a moment...";
+		mes "Record is randomly selected from the incedent and accident category.";
+		next;
+		mes "[Skippy]";
+		mes "Incident, record 5872, confirmed.";
+		mes "I'll play back the records of that time.";
+		next;
+		cutin "",255;
+		cloakoffnpcself( "Mercenary#jh5_51" );
+		cloakoffnpcself( "Mercenary#jh5_61" );
+		specialeffect EF_DA_SPACE, AREA, "Mercenary#jh5_51";
+		specialeffect EF_DA_SPACE, AREA, "Mercenary#jh5_61";
+		mes "..................";
+		mes "..................";
+		next;
+		mes "[Mercenary]";
+		mes "A body was found near the wall of the mansion.";
+		emotion ET_SURPRISE, getnpcid(0,"Mercenary#jh5_51");
+		next;
+		mes "[Mercenary]";
+		mes "What's that horrible story?";
+		mes "Whose body is it?";
+		emotion ET_SURPRISE, getnpcid(0,"Mercenary#jh5_61");
+		next;
+		mes "[Mercenary]";
+		mes "Well, no one knows. Even the managers doesn't know.";
+		mes "The body was neatly dressed, and doesn't look like a mercenary at all.";
+		emotion ET_THINK, getnpcid(0,"Mercenary#jh5_51");
+		next;
+		mes "[Mercenary]";
+		mes "Do you think they're already here?";
+		mes "But the corporate people aren't going to dress up and visit us.";
+		emotion ET_QUESTION, getnpcid(0,"Mercenary#jh5_61");
+		next;
+		mes "[Mercenary]";
+		mes "I know, it's just an apparition that's grumbling,";
+		mes "I hope it's not a big deal...";
+		emotion ET_THINK, getnpcid(0,"Mercenary#jh5_51");
+		next;
+		mes "..................";
+		mes "..................";
+		cloakonnpcself( "Mercenary#jh5_51" );
+		cloakonnpcself( "Mercenary#jh5_61" );
+		next;
+		cutin "ep172_beta",2;
+		mes "[Skippy]";
+		mes "The record playback has finished.";
+		mes "Do you need any information about other records?";
+		next;
+		cutin "",255;
+		select( "I need more information about the body." );
+		cutin "ep172_beta",2;
+		mes "[Skippy]";
+		mes "Please wait a moment, gender is female, name is unidentified and she was wearing a gray suit, but very disheveled with blood.";
+		mes "The cause of death was an attack from behind... then...";
+		next;
+		mes "- I received a records of an unknown body. -";
+		close2;
+		cutin "",255;
+		if (isbegin_quest(16443) == 1)
+			erasequest 16443;
+		if (isbegin_quest(16442) == 0 && isbegin_quest(16443) == 0 && isbegin_quest(16444) == 0 && isbegin_quest(16445) == 0 && isbegin_quest(16453) == 0)
+			unittalk getcharid(3), "" + strcharinfo(0) + " : I think I've heard enough stories. Should I go back to the teahouse now?", bc_self;
+		end;
+	}
+	cutin "ep172_beta",2;
+	mes "[Skippy]";
+	mes "Hello, there. Do you need a record of the past guests?";
+	mes "The guest list is recorded in a huge database.";
+	close3;
+
+OnInit:
+	questinfo( QTYPE_QUEST, QMARK_YELLOW, "isbegin_quest(16443) == 1" );
+	end;
+}
+
+ba_maison,321,168,3	duplicate(dummy_cloaked_npc)	Mercenary#jh5_51	1_M_02
+ba_maison,322,165,3	duplicate(dummy_cloaked_npc)	Mercenary#jh5_61	1_F_04
+
+ba_maison,249,161,3	script	Adore#jh5	4_EP17_BASIC_B,{
+	if (ep17_2_main == 17) {
+		cutin "ep172_beta",2;
+		mes "[Adore]";
+		mes "Hello, guest. Can I help you?";
+		next;
+		cutin "",255;
+		select( "Records about the mercenaries in the past." );
+		cutin "ep172_beta",2;
+		mes "[Adore]";
+		mes "There's a lot of record about past guests, what kind of records do you need?";
+		next;
+		cutin "",255;
+		select( "About a mercenary named H." );
+		cutin "ep172_beta",2;
+		mes "[Adore]";
+		mes "Searching, searching... Search complete. There are a very few records about Mr. H...";
+		mes "However, there are many records of what others said about Mr. H.";
+		next;
+		mes "[Adore]";
+		mes "If you want to read about the record, I will prepare it for you.";
+		next;
+		cutin "",255;
+		cloakoffnpcself( "Mercenary#jh5_5" );
+		cloakoffnpcself( "Mercenary#jh5_6" );
+		specialeffect EF_DA_SPACE, AREA, "Mercenary#jh5_5";
+		specialeffect EF_DA_SPACE, AREA, "Mercenary#jh5_6";
+		mes "..................";
+		mes "..................";
+		next;
+		mes "[Mercenary]";
+		mes "By the way, where's Mr. H?";
+		mes "I've been looking for him for a while, but...";
+		emotion ET_QUESTION, getnpcid(0,"Mercenary#jh5_5");
+		next;
+		mes "[Mercenary]";
+		mes "It seems his away often.";
+		mes "I have to talk to him someday. What if the corporates suddenly comes in.";
+		emotion ET_THINK, getnpcid(0,"Mercenary#jh5_6");
+		next;
+		mes "[Mercenary]";
+		mes "Not long ago, I saw Mr. H talking with someone I don't know.";
+		emotion ET_THINK, getnpcid(0,"Mercenary#jh5_5");
+		next;
+		mes "[Mercenary]";
+		mes "A person you don't know, where would you find a person a random person here?";
+		emotion ET_QUESTION, getnpcid(0,"Mercenary#jh5_6");
+		next;
+		mes "[Mercenary]";
+		mes "That's why it's weird. He was also thoroughly checking the perimeter, but I'm good at hiding.";
+		emotion ET_THINK, getnpcid(0,"Mercenary#jh5_5");
+		next;
+		mes "[Mercenary]";
+		mes "What did they talk about?";
+		emotion ET_THINK, getnpcid(0,"Mercenary#jh5_6");
+		next;
+		mes "[Mercenary]";
+		mes "I didn't hear it because it was too far.";
+		emotion ET_THINK, getnpcid(0,"Mercenary#jh5_5");
+		next;
+		mes "[Mercenary]";
+		mes "You didn't hide well, you were just far away!";
+		mes "Anyway, that's really suspicious. What the hell is going on?";
+		mes "..................";
+		mes "..................";
+		emotion ET_SWEAT, getnpcid(0,"Mercenary#jh5_6");
+		next;
+		cloakonnpcself( "Mercenary#jh5_5" );
+		cloakonnpcself( "Mercenary#jh5_6" );
+		cutin "ep172_beta",2;
+		mes "[Adore]";
+		mes "Record out is complete.";
+		mes "Do you need more information about H.?";
+		next;
+		cutin "",255;
+		select( "H's conversation with the stranger." );
+		cutin "ep172_beta",2;
+		mes "[Adore]";
+		mes "Searching... no results found. We don't have any record of that information.";
+		mes "This record was recorded by a cleaning robot and the manager without ears.";
+		next;
+		cutin "",255;
+		select( "The place where the conversation was recorded." );
+		cutin "ep172_beta",2;
+		mes "[Adore]";
+		mes "Searching... Through the records of the cleaning robot, I can guide you to the last recognized location at that record.";
+		mes "I will give you the coordinate. Please follow this <NAVI>[guide]<INFO>ba_maison,357,291,0,101,0</INFO></NAVI>.";
+		close2;
+		cutin "",255;
+		if (isbegin_quest(16444) == 1) {
+			erasequest 16444;
+			setquest 16453;
+		}
+		if (isbegin_quest(16442) == 0 && isbegin_quest(16443) == 0 && isbegin_quest(16444) == 0 && isbegin_quest(16445) == 0 && isbegin_quest(16453) == 0)
+			unittalk getcharid(3), "" + strcharinfo(0) + " : I think I've heard enough stories. Should I go back to the teahouse now?", bc_self;
+		end;
+	}
+	cutin "ep172_beta",2;
+	mes "[Adore]";
+	mes "Hello, there. How can I help you?";
+	mes "I am really glad to assist any guest.";
+	next;
+	mes "[Adore]";
+	mes "You should do anything to please me!";
+	mes "Yes, I am created that way.";
+	close3;
+
+OnInit:
+	questinfo( QTYPE_QUEST, QMARK_YELLOW, "isbegin_quest(16444) == 1" );
+	end;
+}
+
+ba_maison,246,158,5	duplicate(dummy_cloaked_npc)	Mercenary#jh5_5	1_M_02
+ba_maison,249,158,3	duplicate(dummy_cloaked_npc)	Mercenary#jh5_6	1_M_ORIENT01
+
+ba_maison,232,310,5	script	Nono#jh5	4_EP17_BASIC_B,{
+	if (ep17_2_main == 17) {
+		mes "- Do you remember any of the guests' conversations? -";
+		next;
+		cutin "ep172_beta",2;
+		mes "[Nono]";
+		mes "You mean the old guests?";
+		mes "Of course I remember everything!";
+		mes "What story would you like to hear? I'll tell you all about it!";
+		next;
+		mes "[Nono]";
+		mes "I have searched the database for past guests' conversations, the records are selected randomly!";
+		mes "Here are the following results!";
+		cutin "",255;
+		next;
+		.@s = select( "Someone's Travel.", "Traces of Discovery.", "Goverment Criticism." );
+		cutin "ep172_beta",2;
+		mes "[Nono]";
+		mes "I'll play the record!";
+		next;
+		cutin "",255;
+		mes "..................";
+		mes "..................";
+		switch( .@s ) {
+		case 1:
+			cloakoffnpcself( "Mercenary#jh5_7" );
+			cloakoffnpcself( "Mercenary#jh5_8" );
+			specialeffect EF_DA_SPACE, AREA, "Mercenary#jh5_7";
+			specialeffect EF_DA_SPACE, AREA, "Mercenary#jh5_8";
+			next;
+			mes "[Mercenary]";
+			mes "There is a mercenary who was almost thrown out while trying to go deep into the mansion. Who is it?";
+			emotion ET_QUESTION, getnpcid(0,"Mercenary#jh5_7");
+			next;
+			mes "[Mercenary]";
+			mes "I think it was Mr. H. Why would he do such a thing.";
+			emotion ET_THINK, getnpcid(0,"Mercenary#jh5_8");
+			next;
+			mes "[Mercenary]";
+			mes "Yeah. The supply that was provided to us are enough to get by already.";
+			emotion ET_THINK, getnpcid(0,"Mercenary#jh5_7");
+			next;
+			mes "[Mercenary]";
+			mes "Did H. needed more Barmeal Tickets?";
+			mes "Even if he didn't need it, I would still have shared it to him if he asked.";
+			emotion ET_QUESTION, getnpcid(0,"Mercenary#jh5_8");
+			next;
+			mes "[Mercenary]";
+			mes "I'm suspicious of Mr. H. Don't you think he's only doing that stands out?";
+			emotion ET_THINK, getnpcid(0,"Mercenary#jh5_7");
+			next;
+			mes "[Mercenary]";
+			mes "Come on, don't say that. We should trust each other.";
+			emotion ET_BLABLA, getnpcid(0,"Mercenary#jh5_8");
+			close2;
+			cloakonnpcself( "Mercenary#jh5_7" );
+			cloakonnpcself( "Mercenary#jh5_8" );
+			break;
+		case 2:
+			cloakoffnpcself( "Mercenary#jh5_71" );
+			cloakoffnpcself( "Mercenary#jh5_81" );
+			specialeffect EF_DA_SPACE, AREA, "Mercenary#jh5_71";
+			specialeffect EF_DA_SPACE, AREA, "Mercenary#jh5_81";
+			next;
+			mes "[Mercenary]";
+			mes "Another suspicious trace was found near the mansion.";
+			mes "This time, someone said it's the trace of a fierce battle, but none of us got hurt or went missing.";
+			emotion ET_THINK, getnpcid(0,"Mercenary#jh5_71");
+			next;
+			mes "[Mercenary]";
+			mes "I've heard it too. It must have been those corporate guys! We musn't stay here and clean up out there.";
+			emotion ET_ANGER, getnpcid(0,"Mercenary#jh5_81");
+			next;
+			mes "[Mercenary]";
+			mes "Calm down. You don't even know what happened, do you?";
+			mes "No one was hurt but they found a lot of blood stains. The leaders are still investigating it.";
+			emotion ET_THINK, getnpcid(0,"Mercenary#jh5_71");
+			next;
+			mes "[Mercenary]";
+			mes "How can we not know anything when there is a lot of mess happening out there. I'm so frustrating, very frustrating!!";
+			emotion ET_STARE, getnpcid(0,"Mercenary#jh5_81");
+			close2;
+			cloakonnpcself( "Mercenary#jh5_71" );
+			cloakonnpcself( "Mercenary#jh5_81" );
+			break;
+		case 3:
+			cloakoffnpcself( "Mercenary#jh5_72" );
+			cloakoffnpcself( "Mercenary#jh5_82" );
+			specialeffect EF_DA_SPACE, AREA, "Mercenary#jh5_72";
+			specialeffect EF_DA_SPACE, AREA, "Mercenary#jh5_82";
+			next;
+			mes "[Mercenary]";
+			mes "I thought that the goverment will mediate in the case of an incident, but it's as if we didn't exist in the goverment's eyes.";
+			emotion ET_THINK, getnpcid(0,"Mercenary#jh5_72");
+			next;
+			mes "[Mercenary]";
+			mes "There's no movement at all, let alone mediation.";
+			mes "Are we not citizens? How could they do this!";
+			emotion ET_ANGER, getnpcid(0,"Mercenary#jh5_82");
+			next;
+			mes "[Mercenary]";
+			mes "There's been a lot of bloodshed, and such big commotions.";
+			mes "If the government doesn't come forward at times like this, someone has to step up and advance the government forward.";
+			emotion ET_SURPRISE, getnpcid(0,"Mercenary#jh5_72");
+			next;
+			mes "[Mercenary]";
+			mes "But no one's stepping up. The government is not like a real government, it's not moving forward at all.";
+			emotion ET_THINK, getnpcid(0,"Mercenary#jh5_82");
+			close2;
+			cloakonnpcself( "Mercenary#jh5_72" );
+			cloakonnpcself( "Mercenary#jh5_82" );
+			break;
+		}
+		if (isbegin_quest(16445) == 1)
+			erasequest 16445;
+		if (isbegin_quest(16442) == 0 && isbegin_quest(16443) == 0 && isbegin_quest(16444) == 0 && isbegin_quest(16445) == 0 && isbegin_quest(16453) == 0)
+			unittalk getcharid(3), "" + strcharinfo(0) + " : I think I've heard enough stories. Should I go back to the teahouse now?", bc_self;
+		end;
+	}
+	cutin "ep172_beta",2;
+	mes "[Nono]";
+	mes "My name is Nono, and I want to fly high in the sky.";
+	mes "I was named Nono because I want to be called that way.";
+	close3;
+
+OnInit:
+	questinfo( QTYPE_QUEST, QMARK_YELLOW, "isbegin_quest(16445) == 1" );
+	end;
+}
+
+ba_maison,234,307,5	duplicate(dummy_cloaked_npc)	Mercenary#jh5_7	4_M_ORIENT02
+ba_maison,237,307,3	duplicate(dummy_cloaked_npc)	Mercenary#jh5_8	4_F_01
+ba_maison,234,307,5	duplicate(dummy_cloaked_npc)	Mercenary#jh5_71	1_F_MERCHANT_02
+ba_maison,237,307,3	duplicate(dummy_cloaked_npc)	Mercenary#jh5_81	1_M_02
+ba_maison,234,307,5	duplicate(dummy_cloaked_npc)	Mercenary#jh5_72	1_M_INNKEEPER
+ba_maison,237,307,3	duplicate(dummy_cloaked_npc)	Mercenary#jh5_82	2_F_MAGICMASTER
+
+ba_maison,357,291,3	script	Cleaning Robot#jh5_1	4_EP17_CLEANER_W,{
+	if (isbegin_quest(16453) == 1) {
+		cutin "ep172_omega",2;
+		mes "- A little away from the reception area, a cleaning robot lies discharged in the shadow. It seems like it's been here for a very long time. -";
+		next;
+		mes "- I turned it upside down and it's stopped because of a little paper envelope stucked in it. -";
+		next;
+		mes "- Is this a Rekenber's pattern on the envelope? Why are these things here?";
+		next;
+		mes "- Carefully, I took out the envelope to not tear it. -";
+		close2;
+		cutin "",255;
+		erasequest 16453;
+		end;
+	}
+	cutin "ep172_omega",2;
+	mes "- ......? -";
+	close3;
+
+OnInit:
+	questinfo( QTYPE_QUEST, QMARK_YELLOW, "isbegin_quest(16453) == 1" );
+	end;
+}
+
+ba_maison,106,65,0	script	#ep172_main_evt01	HIDDEN_WARP_NPC,3,3,{
+	end;
+OnTouch:
+	if (ep17_2_main == 25) {
+		cloakoffnpcself( "Rookie#ep172_m_rk01" );
+		cloakoffnpcself( "Manager#ep172_m_ap0" );
+		end;
+	}
+	end;
+}
+
+ba_maison,116,67,5	script(CLOAKED)	Rookie#ep172_m_rk01	4_M_ROOKIE,{
+	if (ep17_2_main == 25) {
+		setpcblock PCBLOCK_NPC, true;
+		sleep2 2000;
+		npctalk "I'm looking forward to your kind cooperation.", "Manager#ep172_m_ap0", bc_self;
+		sleep2 2000;
+		cloakonnpcself( "Manager#ep172_m_ap0" );
+		setpcblock PCBLOCK_NPC, false;
+		select( "What's wrong?" );
+		cutin "16loo_01",0;
+		mes "[Rookie]";
+		mes "It's about the intruder in the mansion.";
+		mes "There's another mansion manager who's been damaged by the heart hunters.";
+		next;
+		mes "[Rookie]";
+		mes "This time again, the communication was interrupted first, the managers must have been attacked before the security officers noticed it.";
+		next;
+		cutin "16loo_03",0;
+		mes "[Rookie]";
+		mes "Alpha said that we can fix anything that's broken, but there's a bigger problem...";
+		next;
+		mes "[Rookie]";
+		mes "The hacked automatic doll is immediately cut off from the network to prevent contamination, assuming that Alpha has a strong signal.";
+		next;
+		mes "[Rookie]";
+		mes "Even the identification code is broken.";
+		mes "Alpha said that we will have to use force to automatic dolls like that.";
+		next;
+		mes "[Rookie]";
+		mes "If there's an automatic doll attacking us, we'll take it out of course.";
+		mes "Alpha asked me to bring it's 'Core'.";
+		next;
+		select( "Core?" );
+		cutin "16loo_01",0;
+		mes "[Rookie]";
+		mes "It's the one on their chests. I guess it's the only way to fix the automatic dolls.";
+		mes "I'll be glad if I can recover the cores...";
+		next;
+		mes "[Rookie]";
+		mes "When on earth will those people arrive?";
+		mes "I'm a bit frustrated because I couldn't find a single Illusion's member.";
+		next;
+		mes "[Rookie]";
+		mes "I can't find where they're hiding during daytime......,";
+		mes "I think they're working after the sun goes down, but they're in trouble in many ways.";
+		next;
+		mes "[Rookie]";
+		mes "Anyway, Alpha said, we have to deal with the automatic robots who are not able to distinguish identification code and recover the cores.";
+		mes "Would you like to come with me?";
+		next;
+		cloakoffnpcself( "Elyumina#ep172_m_el01" );
+		cloakoffnpcself( "Rebellion#ep172_m_rb01" );
+		sleep2 200;
+		npctalk "Rookie, where are you!! You're here!!", "Elyumina#ep172_m_el01", bc_self;
+		sleep2 1500;
+		npctalk "Surprise!", "", bc_self;
+		cutin "ep171_elyumina02",2;
+		mes "[Elyumina]";
+		mes "Those guys are really crazy! Why the hell are you doing this to me? Traitor? You traitor?";
+		mes "Do you think it is right for enemies to call you a traitor?";
+		next;
+		cutin "16loo_03",0;
+		mes "[Rookie]";
+		mes "Um... Mina? Can you talk to people without biting them?";
+		mes "I don't understand what you're saying? Did you just speak a human language just now?";
+		next;
+		cutin "ep171_elyumina02",2;
+		mes "[Elyumina]";
+		mes "Ha-! Is that it?";
+		mes "Hey, why do you keep leaving me alone?";
+		mes "Don't leave me alone, even if I'm mean and sarcastic! Please, do you understand?";
+		next;
+		cutin "",255;
+		select( "What happened?" );
+		mes "[Rebellion]";
+		mes "The manager who brought the meal suddenly changed and attack Elyumina.";
+		mes "Fortunately, I was on the guest list, and the manager reverted to it's normal state right away,";
+		next;
+		mes "[Rebellion]";
+		mes "The manager used the tray that it was carrying to struck Elyumina in the head so strong, that it made a loud sound.";
+		npctalk "I thought you saw the lettuce flying to you.", "Rebellion#ep172_m_rb01", bc_self;
+		next;
+		cutin "16loo_02",0;
+		mes "[Rookie]";
+		mes "I've heard a similar story from Alpha, and I would never thought it was you.";
+		mes "If you told me as soon as the incident happened, that would've been great.";
+		mes "Well, are you all right?";
+		next;
+		cutin "ep171_elyumina02",2;
+		mes "[Elyumina]";
+		mes "Great? Did you experience it? That wasn't even the end! You heartless bastard!";
+		mes "There's also the manager who was sweeping the garden, and suddenly attacked me!";
+		mes "It kept saying 'kill the traitor'!";
+		npctalk "You bastard, what about my safety!", "Elyumina#ep172_m_el01", bc_self;
+		next;
+		cutin "16loo_02",0;
+		mes "[Rookie]";
+		mes "Aha ha ha... don't get too excited, anyway.";
+		mes "I was just about to check it, look here, the adventurer here is going with me.";
+		next;
+		mes "[Rookie]";
+		mes "We're going to retrieve the cores of the hacked managers that Alpha talked about.";
+		mes "Why don't you just go back and stay with the other Rebellions?";
+		npctalk "I always have something to do!", "Rebellion#ep172_m_rb01", bc_self;
+		next;
+		cutin "ep171_elyumina03",2;
+		mes "[Elyumina]";
+		mes "You, I'll return now.";
+		mes "Never come empty-handed you hear!";
+		mes "I need to find a safe place!";
+		next;
+		cloakonnpcself( "Elyumina#ep172_m_el01" );
+		cloakonnpcself( "Rebellion#ep172_m_rb01" );
+		cutin "16loo_02",0;
+		mes "[Rookie]";
+		mes "I can't help it. I'm worried about Elyumina's safety.";
+		mes "I'm also worried about the managers who lost their identification code that Alpha mentioned.";
+		next;
+		mes "[Rookie]";
+		mes "Shall we retrieve the cores first? If you found a 'Broken Manager', retrieve it's core.";
+		next;
+		mes "[Rookie]";
+		mes "I'm going to look up on the northern area, you can look at the southern area.";
+		next;
+		mes "[Rookie]";
+		mes "Let's meet up at the lake on the eastern end of the road and wrap it up.";
+		mes "Then, I'll get going first.";
+		ep17_2_main = 26;
+		setquest 18002;
+		close2;
+		cutin "",255;
+		cloakonnpcself();
+		end;
+	}
+	end;
+
+OnInit:
+	questinfo( QTYPE_QUEST, QMARK_YELLOW, "ep17_2_main == 25" );
+	end;
+}
+
+ba_maison,118,68,3	duplicate(dummy_cloaked_npc)	Manager#ep172_m_ap0	4_EP17_MASTER_A
+ba_maison,120,67,3	duplicate(dummy_cloaked_npc)	Elyumina#ep172_m_el01	4_EP17_ELYUMINA
+ba_maison,122,66,1	duplicate(dummy_cloaked_npc)	Rebellion#ep172_m_rb01	4_M_REBELLION3
+
+ba_maison,150,47,0	script	#ep172_body-0	CLEAR_NPC,{
+	.@id = atoi(replacestr(strnpcinfo(2), "ep172_body-", ""));
+	.@quest = 18003 + .@id;
+	if (ep17_2_main == 26 && isbegin_quest(.@quest) == 0 && countitem(1000226) < 5) {
+		if (checkweight(1000226,1) == 0) {	// (custom)
+			mes "^008800Wait a sec!!";
+			mes "You cannot receive any more items because you're carrying too many items. Please try again after you lighten up.^000000";
+			close;
+		}
+		cloakonnpcself();
+		cloakoffnpcself( "#ep172_beta-" + .@id );
+		mes "The body of Manager Beta is hidden under the landscapes.";
+		next;
+		mes "I've recovered the core.";
+		mes "I'll let Alpha know later so she can retrieve the doll's body.";
+		setquest .@quest;
+		completequest .@quest;
+		getitem 1000226,1;
+		if (countitem(1000226) < 5)
+			mes "Let's look for more.";
+		else {
+			mes "I've recovered enough cores.";
+			ep17_2_main = 27;
+			erasequest 18002;
+			setquest 18013;
+		}
+		close;
+	}
+	end;
+
+OnInit:
+	.@id = atoi(replacestr(strnpcinfo(2),"ep172_body-",""));
+	.@quest = 18003 + .@id;
+	questinfo( QTYPE_CLICKME, QMARK_YELLOW, "isbegin_quest(18002) == 1 && isbegin_quest(" + .@quest + ") == 0 && countitem(1000226) < 5" );
+	end;
+}
+
+ba_maison,208,87,0	duplicate(#ep172_body-0)	#ep172_body-1	CLEAR_NPC
+ba_maison,221,193,0	duplicate(#ep172_body-0)	#ep172_body-2	CLEAR_NPC
+ba_maison,314,146,0	duplicate(#ep172_body-0)	#ep172_body-3	CLEAR_NPC
+ba_maison,338,267,0	duplicate(#ep172_body-0)	#ep172_body-4	CLEAR_NPC
+ba_maison,275,313,0	duplicate(#ep172_body-0)	#ep172_body-5	CLEAR_NPC
+ba_maison,207,276,0	duplicate(#ep172_body-0)	#ep172_body-6	CLEAR_NPC
+ba_maison,131,197,0	duplicate(#ep172_body-0)	#ep172_body-7	CLEAR_NPC
+ba_maison,64,187,0	duplicate(#ep172_body-0)	#ep172_body-8	CLEAR_NPC
+ba_maison,70,256,0	duplicate(#ep172_body-0)	#ep172_body-9	CLEAR_NPC
+
+ba_maison,150,47,3	duplicate(dummy_cloaked_npc)	#ep172_beta-0	4_EP17_BROKENBETA
+ba_maison,208,87,3	duplicate(dummy_cloaked_npc)	#ep172_beta-1	4_EP17_BROKENBETA
+ba_maison,221,193,3	duplicate(dummy_cloaked_npc)	#ep172_beta-2	4_EP17_BROKENBETA
+ba_maison,314,146,3	duplicate(dummy_cloaked_npc)	#ep172_beta-3	4_EP17_BROKENBETA
+ba_maison,338,267,3	duplicate(dummy_cloaked_npc)	#ep172_beta-4	4_EP17_BROKENBETA
+ba_maison,275,313,3	duplicate(dummy_cloaked_npc)	#ep172_beta-5	4_EP17_BROKENBETA
+ba_maison,207,276,3	duplicate(dummy_cloaked_npc)	#ep172_beta-6	4_EP17_BROKENBETA
+ba_maison,131,197,3	duplicate(dummy_cloaked_npc)	#ep172_beta-7	4_EP17_BROKENBETA
+ba_maison,64,187,3	duplicate(dummy_cloaked_npc)	#ep172_beta-8	4_EP17_BROKENBETA
+ba_maison,70,256,3	duplicate(dummy_cloaked_npc)	#ep172_beta-9	4_EP17_BROKENBETA
+
+ba_maison,303,141,3	script	Elena Bolkova#ep172_eln	4_F_ELENA,{
+	if (checkweight(1000103,10) == 0) {
+		mes "You cannot proceed with the quest because you have too many items in your possession.";
+		mes "Please clean up your inventory and try again.";
+		close;
+	}
+	if (ep17_2_main == 27) {
+		cutin "162elena_01",2;
+		mes "[Elena Bolkova]";
+		mes "Hey, adventurer, this way. Did you get any results?";
+		next;
+		select( "Why, Elena?" );
+		cutin "162elena_02",2;
+		mes "[Elena Bolkova]";
+		mes "Lucky asked me a favor.";
+		mes "Elyumina seems to have been attacked again.";
+		mes "I just happen to be nearby at the time and somehow pull her out from that predicament.";
+		next;
+		select( "Show her the cores." );
+		cutin "162elena_01",2;
+		mes "[Elena Bolkova]";
+		mes "Did you found anything unusual?";
+		mes "I've already searched a lot of places in the mansion, and all of it were empty.";
+		next;
+		mes "[Elena Bolkova]";
+		mes "What, so did you?";
+		mes "How do these guys avoid our eyes and keep making trouble?";
+		mes "It's very annoying.";
+		close2;
+		sleep2 1000;
+		cutin "",255;
+		setpcblock PCBLOCK_NPC, true;
+		cloakoffnpcself( "Eisen Werner#ep172_eiz" );
+		specialeffect EF_BEGINSPELL, AREA, "Eisen Werner#ep172_eiz";
+		sleep2 500;
+		npctalk "...Where... is the coordinate setting wrong? What's this place?", "Eisen Werner#ep172_eiz", bc_self;
+		sleep2 1500;
+		npctalk "Oh? Who's this?!", "", bc_self;
+		specialeffect EF_CONCENTRATION;
+		sleep2 500;
+		specialeffect EF_PIERCE, AREA, "Eisen Werner#ep172_eiz";
+		sleep2 500;
+		setpcblock PCBLOCK_NPC, false;
+		cutin "ep16_eisen03",0;
+		mes "[Eisen]";
+		mes "What is this!!!!";
+		next;
+		cutin "162elena_01",2;
+		mes "[Elena Bolkova]";
+		mes "Hey, suspicious guy, you're that guy, right?";
+		mes "You look exactly like guy that I missed at the lab last time.";
+		specialeffect EF_TRACKCASTING, AREA, "Eisen Werner#ep172_eiz";
+		next;
+		mes "[Elena Bolkova]";
+		mes "I'm very lucky. How did a big fish like you ended up here?";
+		next;
+		cutin "ep16_eisen01",0;
+		mes "[Eisen]";
+		mes "What, the mercenaries really became the dogs of the republic aren't they?";
+		mes "You already destroyed my lab. What else do I need to do?";
+		next;
+		mes "[Eisen]";
+		mes "I don't have anything to say to you, so just let me go.";
+		next;
+		cutin "162elena_01",2;
+		mes "[Elena Bolkova]";
+		mes "Stop opening your filthy mouth.";
+		mes "Ha, My personality has already died a long time ago.";
+		mes "Uh, take this guy as prisoner, uh and keep him alive.";
+		specialeffect EF_MAGICALBULLET, AREA, "Eisen Werner#ep172_eiz";
+		npctalk "Ugh...","","Eisen Werner#ep172_eiz";
+		next;
+		cutin "ep16_eisen01",0;
+		mes "[Eisen]";
+		mes "What do you want from me?";
+		mes "Seyren failed because of that adventurer.";
+		mes "Was he a hopeless failure too?";
+		next;
+		select( "Is it right to talk about experiments in this situation?" );
+		mes "[Eisen]";
+		mes "What's left if you take the research and the experiments out of me?";
+		mes "Stop asking the obvious.";
+		mes "All right. I won't fall for your provocation. Instead I'll ask you one thing.";
+		mes "If you answer me, I am willing to cooperate with you in response.";
+		next;
+		cutin "162elena_01",2;
+		mes "[Elena Bolkova]";
+		mes "You're not in the position to negotiate, are you?";
+		specialeffect EF_MAGICALBULLET, AREA, "Eisen Werner#ep172_eiz";
+		npctalk "Damn it!", "Eisen Werner#ep172_eiz", bc_self;
+		next;
+		cutin "ep16_eisen01",0;
+		mes "[Eisen]";
+		mes "Damn it! I won't run away, so stop!";
+		mes "Where did the guys from Cor go?";
+		next;
+		cutin "162elena_01",2;
+		mes "[Elena Bolkova]";
+		mes "(This guy, why would he be curious about that? It looks like he came here to join his colleagues late... Wouldn't we know where the others are if we successfully talk it out?)";
+		next;
+		cutin "ep16_eisen01",0;
+		mes "[Eisen]";
+		mes "Why are you being so quiet? Did you already disposed them?";
+		next;
+		select( "She is currently held captive." );
+		mes "[Eisen]";
+		mes "Really? Then take me there.";
+		mes "I don't want to wander around this crappy garden anymore.";
+		npctalk "(Hehehe. I will take care of you all the moment I join my colleagues.)";
+		next;
+		cutin "162elena_01",2;
+		mes "[Elena Bolkova]";
+		mes "You look so arrogant, don't you?";
+		mes "I don't know what you're planning, but I Elena Bolkova will take you.";
+		next;
+		cutin "ep16_eisen02",0;
+		mes "[Eisen]";
+		mes "I'm willing to come with you.";
+		next;
+		cutin "162elena_01",2;
+		mes "[Elena Bolkova]";
+		mes "What a weird guy. I'll take this guy with me. Rookie is probably there too.";
+		next;
+		cutin "162elena_02",2;
+		mes "[Elena Bolkova]";
+		mes "Huh? Where will I bring this guy?";
+		mes "Ah, the guesthouse. We are currently using it as a prison.";
+		mes "Follow me. Also, I'll take all the cores with me.";
+		ep17_2_main = 28;
+		erasequest 18013;
+		setquest 18014;
+		delitem 1000226,countitem(1000226);
+		getitem 1000103,10;
+		getexp 515668,0;	// getbaseexp_ratio?
+		close2;
+		cutin "",255;
+		cloakonnpcself();
+		cloakonnpcself( "Eisen Werner#ep172_eiz" );
+		end;
+	}
+	if (ep17_2_main == 28) {
+		cutin "162elena_01",2;
+		mes "[Elena Bolkova]";
+		mes "I'll see you at the guesthouse.";
+		close2;
+		cutin "",255;
+		cloakonnpcself();
+		end;
+	}
+	cutin "162elena_01",2;
+	mes "[Elena Bolkova]";
+	mes "I'm watching the area to see if there are hidden enemies lurking around.";
+	mes "There are a lot of blind spots in this place.";
+	close3;
+
+OnInit:
+	questinfo( QTYPE_QUEST, QMARK_YELLOW, "isbegin_quest(18013) == 1" );
+	end;
+}
+
+ba_maison,301,148,5	duplicate(dummy_cloaked_npc)	Eisen Werner#ep172_eiz	4_M_EISEN
+
+
+ba_in01,35,142,5	script	Rebellion#ep172_rb02	4_M_REBELLION3,{
+	if (ep17_2_main < 28) {
+		mes "[Rebellion]";
+		mes "There is nothing particular here.";
+		close;
+	}
+	mes "[Rebellion]";
+	mes "Are you going in?";
+	next;
+	if (select( "Yes.", "No." ) == 2) {
+		mes "[Rebellion]";
+		mes "I'll stay here and keep this place safe.";
+		close;
+	}
+	if (ep17_2_main < 33)
+		cloakoffnpcself( "Eisen Werner#ep172_eiz2" );
+	warp "ba_in01",28,144;
+	end;
+}
+
+ba_in01,20,145,3	script	Elena Bolkova#ep172_eln_	4_F_ELENA,{
+	if (ep17_2_main == 28) {
+		cutin "162elena_02",2;
+		mes "[Elena Bolkova]";
+		mes "Oh, here you are, this way, is Lucky not here yet?";
+		next;
+		cloakoffnpcself( "Rookie#ep172_rk02" );
+		cutin "16loo_01",1;
+		mes "[Rookie]";
+		mes "No, no, I'm here too. Am a bit late?";
+		mes "I talked to Alpha for a moment.";
+		next;
+		mes "[Rookie]";
+		mes "Who is that?";
+		next;
+		cutin "162elena_01",2;
+		mes "[Elena Bolkova]";
+		mes "A big catch?";
+		mes "Just watch. It's a sight for these two to play.";
+		next;
+		cutin "ep16_eisen01",0;
+		mes "[Eisen]";
+		mes "Hey, this is different from what we've talked about.";
+		mes "Who is this?";
+		next;
+		select( "That's the guy in Cor that you've mentioned." );
+		cutin "ep16_eisen02",0;
+		mes "[Eisen]";
+		mes "This kid? I can't recall...?";
+		mes "Are you lying to me?";
+		next;
+		cutin "ep171_elyumina02",2;
+		mes "[Elyumina]";
+		mes "Who are you to treat me like that?!";
+		mes "Are you a dog of those punks?";
+		next;
+		cutin "ep171_elyumina03",2;
+		mes "[Elyumina]";
+		mes "They betrayed me first, and they're calling me a traitor.";
+		mes "Are you with those punks?";
+		next;
+		cutin "ep16_eisen03",0;
+		mes "[Eisen]";
+		mes "I can't believe it, Is this really the Illusion?";
+		mes "No, are you really a member of the Illusion?";
+		next;
+		cutin "ep171_elyumina04",2;
+		mes "[Elyumina]";
+		mes "What the hell are you talking about?! Why would I be held here when I'm not even one of the Illusion!";
+		mes "What should I do, You didn't recognize the Great Elyumina. Do you want me to hit your head?";
+		next;
+		cutin "ep16_eisen01",0;
+		mes "[Eisen]";
+		mes "Hey, Rebellion, I need you to change this one to something that talks properly.";
+		mes "If you want any information from me, bring me a decent Illusion member.";
+		next;
+		cutin "ep171_elyumina02",2;
+		mes "[Elyumina]";
+		mes "No, did you wuss out just now?";
+		mes "Hey, I've been telling you that I'm a member of the Illusion for a while now. Do you even know how many years I've been doing this for?";
+		next;
+		cutin "162elena_01",2;
+		mes "[Elena Bolkova]";
+		mes "(See, isn't it funny? Watching them fight like that.)";
+		next;
+		cutin "16loo_01",1;
+		mes "[Rookie]";
+		mes "(Do you think it's an internal division? Come to think of it, you said he was the director of the research facility of the previous operation, right? How was he captured by us?)";
+		next;
+		cutin "ep16_eisen01",0;
+		mes "[Eisen]";
+		mes "You are lacking something important, you don't have a 'chip'!";
+		mes "If only the 'chip' was detected, I wouldn't have come in here, and I would never have met a con like you.";
+		next;
+		mes "[Eisen]";
+		mes "The Illusion is an alliance, but it's like a structure of thought. The official members has a 'chip' planted in their body, it's use to recognize traitors like you.";
+		next;
+		mes "[Eisen]";
+		mes "Unless that 'chip' exist in you, you're not one of the Illusion. Do you get it now? You kid.";
+		next;
+		cutin "ep171_elyumina04",2;
+		mes "[Elyumina]";
+		mes "Ho? Did you hear that, Rookie? It's called 'chip'.";
+		mes "This stupid thing blew it all out of his mouth.";
+		mes "Fucking bastards, they left me alone.";
+		mes "You mean, I who were in the middle of it all, were just a pawn, right?";
+		next;
+		cutin "ep16_eisen03",0;
+		mes "[Eisen]";
+		mes "Wa... wait...!";
+		next;
+		cutin "ep171_elyumina04",2;
+		mes "[Elyumina]";
+		mes "Is it too late to make a stupid expression now?";
+		mes "Are you a self proclaimed elite member of the Illusion?";
+		mes "Rookie! I'll rip this off his neck and make a tracker to trace those 'chips'!";
+		next;
+		mes "[Elyumina]";
+		mes "Yeah! Let's do it! Revenge on the traitors! Chaos! Destruction! Revenge! Fall!";
+		close2;
+		setpcblock PCBLOCK_NPC, true;
+		npctalk "Rookie! Use that thing over there!", "Elyumina#ep172_elmn02", bc_self;
+		sleep2 1500;
+		npctalk "What? Now?", "Rookie#ep172_rk02", bc_self;
+		specialeffect EF_GRIMTOOTH, AREA, "Rookie#ep172_rk02";
+		specialeffect EF_NPC_STOP, AREA, "Eisen Werner#ep172_eiz2";
+		npctalk "What's this...! Ugh...,", "Eisen Werner#ep172_eiz2", bc_self;
+		sleep2 1000;
+		npctalk "Get knocked out, bastard!", "Elyumina#ep172_elmn02", bc_self;
+		sleep2 1000;
+		specialeffect EF_HIT4, AREA, "Eisen Werner#ep172_eiz2";
+		sleep2 1000;
+		setpcblock PCBLOCK_NPC, false;
+		cutin "ep171_elyumina01",2;
+		mes "[Elyumina]";
+		mes "How dare you play with me?";
+		mes "How dare you ignore the Great Elyumina, the line is very short, isn't it?";
+		next;
+		cutin "162elena_02",2;
+		mes "[Elena Bolkova]";
+		mes "Fuahahahahaha!!!!";
+		mes "No, what am I seeing?!!!";
+		mes "I thought our teamwork was good, but we're not as good as our enemies?";
+		next;
+		cutin "16loo_02",1;
+		mes "[Rookie]";
+		mes "I know.";
+		mes "Mina, what are you going to do now?";
+		next;
+		cutin "ep171_elyumina04",2;
+		mes "[Elyumina]";
+		mes "To guarantee my research rights, I'm going to make you something you'd like.";
+		mes "No, I just can't stand being harassed like this just because I'm a traitor, right?";
+		next;
+		mes "[Elyumina]";
+		mes "I'll investigate the 'chip' planted in this guy's body and create a tracker that respond to this 'chip'.";
+		mes "I've been building something before to protect myself from those hearthunters.";
+		next;
+		cutin "ep171_elyumina01",2;
+		mes "[Elyumina]";
+		mes "I wouldn't have gone this far too if I didn't protect my own life.";
+		mes "Anyway, Please get me some materials that I need while I'm trying to rip off this guy. what's this guy called again, Eisen?";
+		next;
+		cutin "16loo_01",0;
+		mes "[Rookie]";
+		mes "What materials do you need?";
+		next;
+		cutin "ep171_elyumina01",2;
+		mes "[Elyumina]";
+		mes "10 Fluorescent Liquid, 10 Broken Sword, and some modules...";
+		next;
+		cutin "16loo_01",0;
+		mes "[Rookie]";
+		mes "Do you need that many? I hope you're not thinking about something stupid. I'll get the modules from Cor.";
+		mes "Adventurer, could you get us the Fluorescent Liquids and Broken Swords?";
+		next;
+		mes "[Rookie]";
+		mes "I think I've seen a fluorescent liquid in the sewage treatment plant, you can get it if you catch a black colored heart hunter scout.";
+		next;
+		cutin "162elena_01",2;
+		mes "[Elena Bolkova]";
+		mes "Then I'll stay here and protect this place, and when he wakes up, shouldn't someone stay here and knock him out again?";
+		mes "You two, can leave it to me. Don't worry about this place.";
+		ep17_2_main = 29;
+		erasequest 18014;
+		setquest 18015;
+		close2;
+		cutin "",255;
+		npctalk "Rookie : Then I'll be back!", "Rookie#ep172_rk02", bc_self;
+		sleep2 2000;
+		removespecialeffect EF_NPC_STOP, SELF, "Eisen Werner#ep172_eiz2";
+		cloakonnpcself( "Rookie#ep172_rk02" );
+		end;
+	}
+	if (ep17_2_main == 30) {
+		cutin "162elena_01",2;
+		mes "[Elena Bolkova]";
+		mes "Erst is probably right in the front lounge.";
+		mes "Go ahead and meet with Erst first, and I'll join later.";
+		close3;
+	}
+	if (isbegin_quest(18019) > 0) {
+		cutin "162elena_01",2;
+		mes "[Elena]";
+		mes "Oh, where is Eisen Werner.";
+		mes "He was taken by Tess. It looks like they're going to interrogate him on their own.";
+		next;
+		mes "[Elena]";
+		mes "And he'll be locked up somewhere for the rest of his life.";
+		mes "Elyumina would have been like that too. Elyumina's pretty lucky, right?";
+		next;
+		mes "[Elena]";
+		mes "Don't worry about this place. I'll keep it safe.";
+		close3;
+	}
+	cutin "162elena_01",2;
+	mes "[Elena Bolkova]";
+	mes "Don't worry about this place. I'm guarding it properly.";
+	close3;
+
+OnInit:
+	questinfo( QTYPE_QUEST, QMARK_YELLOW, "isbegin_quest(18014) == 1" );
+	end;
+}
+
+ba_in01,14,145,1	duplicate(dummy_cloaked_npc)	Rookie#ep172_rk02	4_M_ROOKIE
+
+ba_in01,13,149,5	script(CLOAKED)	Eisen Werner#ep172_eiz2	4_M_EISEN,{
+	if (ep17_2_main < 30)
+		end;
+	mes "He is thoroughly constrained for what he has done.";
+	close;
+}
+
+ba_in01,15,147,3	script	Elyumina#ep172_elmn02	4_EP17_ELYUMINA,{
+	if (checkweight(1201,3) == 0) {
+		mes "You cannot proceed with the quest because you have too many items in your possession.";
+		mes "Please clean up your inventory and try again.";
+		close;
+	}
+	if (ep17_2_main == 28) {
+		cutin "ep171_elyumina01",2;
+		mes "[Elyumina]";
+		mes "Now you're safe, and all you have to do is chase those traitors to the end.";
+		mes "Hahahahaha!! I'll be the winner who survived until the end.";
+		close3;
+	}
+	if (ep17_2_main == 29) {
+		if (countitem(7110) < 10 || countitem(7326) < 10) {
+			cutin "ep171_elyumina04",2;
+			mes "[Elyumina]";
+			mes "Hmm~ Modules modules~ Hmm~";
+			mes "Cores cores~ Hmm~";
+			mes "What are you doing? Why didn't bring the materials I told you about?";
+			close3;
+		}
+		cutin "ep171_elyumina04",2;
+		mes "[Elyumina]";
+		mes "Good, good~ Hmm";
+		mes "If you do this here...";
+		next;
+		mes "[Elyumina]";
+		mes "A masterpiece is born!";
+		mes "If you send a signal, the receiver will~";
+		next;
+		specialeffect EF_GUIDEDATTACK, AREA, "Eisen Werner#ep172_eiz2";
+		mes "[Elyumina]";
+		mes "That's a good catch!";
+		mes "Now, with this, go after the remnant of the Heart Hunter and the traitors.";
+		next;
+		select( "By myself?" );
+		cutin "ep171_elyumina03",2;
+		mes "[Elyumina]";
+		mes "Can you do it alone when I'm holding the tracker?";
+		mes "I can't believe I was caught by this guy.";
+		mes "It's a disgrace to me, the great Elyumina.";
+		next;
+		cutin "162elena_01",0;
+		mes "[Elena Bolkova]";
+		mes "Huh, how about me if there's no one else to go with?";
+		mes "or Erst.";
+		mes "Didn't you join Erst in the last operation?";
+		next;
+		select( "Where is Erst?" );
+		mes "[Elena Bolkova]";
+		mes "She is probably right in the front lounge.";
+		mes "Didn't you see her when you came?";
+		mes "I'll also take the opportunity to turn them over and join you later.";
+		next;
+		mes "[Elena Bolkova]";
+		mes "Erst, is good with brainstorm things. Hahahaha.";
+		mes "Go ahead and meet with Erst.";
+		delitem 7110,10;
+		delitem 7326,10;
+		ep17_2_main = 30;
+		erasequest 18015;
+		setquest 18016;
+		getitem 1000092,1; //Elyumina Tracker
+		getitem 1000103,10;
+		getexp 1031336,0;	// getbaseexp_ratio?
+		close3;
+	}
+	if (ep17_2_main == 32) {
+		cutin "ep171_elyumina01",2;
+		mes "[Elyumina]";
+		mes "I've heard the news. Those bastards.";
+		mes "However, Is it true that all the important Illusion members we're able to run away?";
+		next;
+		mes "[Elyumina]";
+		mes "You hid like rats, and you secretly operated at night, right?";
+		mes "Let's see how far they can ran away.";
+		close3;
+	}
+	cutin "ep171_elyumina04",2;
+	mes "[Elyumina]";
+	mes "*Chuckles*, I'll go find those traitors.";
+	mes "Adventurer, *Chuckles*";
+	close3;
+
+OnInit:
+	questinfo( QTYPE_QUEST2, QMARK_YELLOW, "isbegin_quest(18015) == 1 && countitem(7110) >= 10 && countitem(7326) >= 10" );
+	end;
+}
+
+ba_in01,51,157,3	script	Est#ep172_est01	4_F_ESTLOVELOY,{
+	if (ep17_2_main == 30) {
+		cutin "ep162_est01",2;
+		mes "[Est]";
+		mes "Adventurer, what's that?";
+		next;
+		cutin "ep162_est02",2;
+		mes "[Est]";
+		mes "Ho..., a tracker that tells you where the Illusion and Heart Hunters are?";
+		mes "That's a little tempting.";
+		next;
+		mes "[Est]";
+		mes "Based on their behavior so far, they seem to be working in the dark when the sun sets.";
+		mes "Let's wait until the sun goes down and then proceed to the operation quietly.";
+		next;
+		cutin "ep162_est01",2;
+		mes "[Est]";
+		mes "I'm going to reduce the night patrol drastically today so they can crawl out of their caves.";
+		mes "I'm going to make the exterior of the mansion look empty.";
+		next;
+		mes "[Est]";
+		mes "I'll tell the managers about the operation.";
+		mes "Don't wander around the garden at night, it'll be dangerous.";
+		next;
+		mes "[Est]";
+		mes "It's an obvious trap, but I don't think they'll let this opportunity pass by.";
+		next;
+		mes "[Est]";
+		mes "If you have no objection, we'll proceed as it is.";
+		mes "You should get ready for the operation.";
+		mes "Talk to me when you're ready.";
+		ep17_2_main = 31;
+		erasequest 18016;
+		setquest 18017;
+		close3;
+	}
+	if (ep17_2_main == 31) {
+		switch( checkquest(18017,HUNTING) ) {
+		case -1:
+			end;	// shouldn't happen
+		case 0:
+		case 1:
+			if (getcharid(1) < 1) {
+				mes "^0000CDThis is a memorial dungeon.^000000";
+				mes "Please create a party and try again.";
+				mes "^0000CDA party can be created using the /organize partyname command.^000000";
+				close;
+			}
+			cutin "ep162_est01",2;
+			mes "[Est]";
+			mes "Shall we go?";
+			next;
+			.@md_name$ = "Twilight Garden";
+			if (select( "Create '" + .@md_name$ + "'.", "Enter '" + .@md_name$ + "'.'" ) == 1) {
+				if (!is_party_leader()) {
+					mes "^4D4DFFThis place is a memorial dungeon.";
+					mes "You have to be a party leader to create a memorial dungeon.^000000";
+					close;
+				}
+				if (instance_create(.@md_name$) == -3)
+					dispbottom "The reservation of the instance '" + .@md_name$ + "' has failed due to an active instance.";
+				cutin "ep162_est01",2;
+				mes "[Est]";
+				mes "Then, let's proceed quietly.";
+				close3;
+			}
+			if (instance_enter(.@md_name$) == IE_OK) {
+				mapannounce "ba_in01", "" + strcharinfo(0) + " of the party, " + getpartyname( getcharid(1) ) + ", is entering the " + .@md_name$ + ".", bc_map, "0x00FF99";
+				end;
+			}
+			cutin "ep162_est01",2;
+			mes "[Est]";
+			mes "Let's wait out a little longer before going out... We can't be careless.";
+			close3;
+		case 2:
+			cutin "ep162_est03",2;
+			mes "[Est]";
+			mes "We handed the prisoner to Alpha.";
+			mes "By the way, I've prepared a trap to cause a commotion, and to catch the non-officer members.";
+			next;
+			cutin "ep162_est01",2;
+			mes "[Est]";
+			mes "They're not easy to catch...";
+			mes "Alpha is going to do some more research on the airship hangar, so go check it out.";
+			next;
+			mes "[Est]";
+			mes "Let's take a break for now.";
+			mes "Sigh... You did a great job.";
+			ep17_2_main = 32;
+			erasequest 18017;
+			setquest 18018;
+			delitem 1000092,1;
+			next;
+			mes "[Est]";
+			mes "Oh, I'll also take the Radar.";
+			mes "It'll be helpful for looking for the rest of the members.";
+			close3;
+		}
+		end;
+	}
+	if (ep17_2_main == 32) {
+		cutin "ep162_est01",2;
+		mes "[Est]";
+		mes "We're going to investigate the airship hangar.";
+		mes "I'm going to explain to the rest of the Rebellion first, so go ahead and take care of it.";
+		close3;
+	}
+	mes "[Est]";
+	mes "Can you see all the wine in here?";
+	mes "There is a lot of luxurious selection of wine here. Did the sage like wine?";
+	close;
+
+OnInit:
+	questinfo( QTYPE_QUEST, QMARK_YELLOW, "isbegin_quest(18016) == 1" );
+	questinfo( QTYPE_QUEST, QMARK_YELLOW, "checkquest(18017,HUNTING) == 0 || checkquest(18017,HUNTING) == 1" );
+	questinfo( QTYPE_QUEST2, QMARK_YELLOW, "checkquest(18017,HUNTING) == 2" );
+	end;
+}
+
+
+ba_in01,26,266,3	script	Smart Ellie#ep172_ely01	4_EP17_TABLET,{
+	if (checkweight(1000103,15) == 0) {
+		mes "You cannot proceed with the quest because you have too many items in your possession.";
+		mes "Please clean up your inventory and try again.";
+		close;
+	}
+	if (ep17_2_main == 32) {
+		cutin "ep172_beta",2;
+		mes "[Ellie]";
+		mes "Hello, guest.";
+		mes "I'm responsible for the airship hangar's information.";
+		mes "Please call me Ellie.";
+		next;
+		mes "[Ellie]";
+		mes "After the master had destroyed this place, I have been doing something else for a while, but...";
+		next;
+		mes "[Ellie]";
+		mes "Now I'm back at Alpha's request.";
+		mes "Please leave the hangar's matters to me, Ellie.";
+		next;
+		mes "[Ellie]";
+		mes "The leader of the 'intruders' had freely access the area for the master's collection 3...";
+		mes "I returned here to manage it.";
+		npctalk "Sounds troublesome.", "", bc_self;
+		next;
+		mes "[Ellie]";
+		mes "We are currently tracking the expected path after receiving the incident report.";
+		mes "However, tracking it is not easy because the main system of No. 3 is completely disconnected.";
+		next;
+		mes "[Ellie]";
+		mes "The 'invaders' which the 'guests' calls the 'Illusions' has a 99.9% chance that they made modifications on the system.";
+		next;
+		mes "[Ellie]";
+		mes "Dear 'guests', are you here?";
+		cloakoffnpcself( "Est#ep172_est02" );
+		cloakoffnpcself( "Rookie#ep172_rk03" );
+		next;
+		cutin "ep162_est01",1;
+		mes "[Erst]";
+		mes "Um, yeah. What's the big deal?";
+		mes "You've been having a hard time since last night.";
+		next;
+		cutin "16loo_01",0;
+		mes "[Rookie]";
+		mes "I told Alpha that the analysisable data in the current state is over.";
+		next;
+		cutin "ep172_beta",2;
+		mes "[Ellie]";
+		mes "Yes. I have sent the data.";
+		mes "Currently, there is no reception from the master's collection 3, but we have caught some unusual signals.";
+		next;
+		mes "[Ellie]";
+		mes "This facility has not been used for a long time, but it has been secretly used by the 'intruders' and...";
+		npctalk "Unusual signal?", "Rookie#ep172_rk03", bc_self;
+		next;
+		mes "[Ellie]";
+		mes "There are traces of magical communication with certain places outside the mansion.";
+		mes "It's an intermittent signal.";
+		next;
+		cutin "ep162_est01",0;
+		mes "[Erst]";
+		mes "What, do they keep in touch with the outside world regularly?";
+		mes "Where? the enterprise?";
+		next;
+		cutin "ep172_beta",2;
+		mes "[Ellie]";
+		mes "According to the analysis, it's a one-way reception.";
+		mes "It appears to be collecting reports from the outside...";
+		next;
+		mes "[Ellie]";
+		mes "It will take some time to completely analyze the code because it was used by the 'intruders' for one-way reception.";
+		next;
+		cutin "16loo_01",0;
+		mes "[Rookie]";
+		mes "Then, Ellie, I'll ask for one thing.";
+		mes "Continue receiving the signals as if the 'intruders' leader is still here.";
+		next;
+		cutin "ep162_est01",1;
+		mes "[Erst]";
+		mes "That's a smart move, Rookie.";
+		mes "With that, we'll be able to trace back the other collaborators out there.";
+		next;
+		cutin "ep172_beta",2;
+		mes "[Ellie]";
+		mes "I will do as you say.";
+		mes "We will maintain information patters of the 'intruders' and collect information received from their accomplices from outside the mansion.";
+		next;
+		cutin "16loo_03",0;
+		mes "[Rookie]";
+		mes "If we're lucky, we might be able to locate the airship route that the 'Illusions' used to ran away.";
+		next;
+		cutin "ep162_est01",1;
+		mes "[Erst]";
+		mes "So we really didn't catch the 'Illusions' here after all.";
+		mes "Except for that kid.";
+		next;
+		cutin "16loo_01",0;
+		mes "[Rookie]";
+		mes "We protected the mansion... Can't we be a little bit satisfied?";
+		mes "Tess seems to be working hard on coordinating with the companies, so that's all for us.";
+		next;
+		cutin "16loo_03",0;
+		mes "[Rookie]";
+		mes "As always, you did great.";
+		mes "We were close, but next time we'll catch the rest of them.";
+		mes "I've been collecting these, I'll let you have it, adventurer.";
+		ep17_2_main = 33;
+		completequest 18018;
+		// note: unlock episode 18 main quest
+		getitem 1000103,15;
+		getexp 1547004,0;	// getbaseexp_ratio?
+		next;
+		cutin "ep162_est01",1;
+		mes "[Erst]";
+		mes "I'll stay in the guest house, if you need anything, come over there.";
+		next;
+		cutin "16loo_03",0;
+		mes "[Rookie]";
+		mes "Then I'll let everyone and help Alpha.";
+		mes "Take good care of Ellie!";
+		next;
+		cutin "ep172_beta",2;
+		mes "[Ellie]";
+		mes "Do not worry about this place.";
+		mes "Me and Almond will take care of it.";
+		mes "You can be rest assured.";
+		close2;
+		cutin "",255;
+		cloakonnpcself( "Est#ep172_est02" );
+		cloakonnpcself( "Rookie#ep172_rk03" );
+		end;
+	}
+	cutin "ep172_beta",2;
+	mes "[Ellie]";
+	mes "No intermittent signal has been received yet.";
+	mes "The whereabouts of the master's collection 3 are also being tracked at the same time.";
+	next;
+	mes "[Ellie]";
+	mes "Don't worry.";
+	mes "Time is on our side.";
+	next;
+	mes "[Ellie]";
+	mes "Me and Alpha will analyze the information properly, so I'd like you to clean up the intruders remnant.";
+	close3;
+
+// OnInit:
+	// note: commented (no questinfo at this point)
+	// questinfo( QTYPE_QUEST, QMARK_YELLOW, "isbegin_quest(18018) == 1" );
+	// end;
+}
+
+ba_in01,22,262,5	duplicate(dummy_cloaked_npc)	Est#ep172_est02	4_F_ESTLOVELOY
+ba_in01,24,262,7	duplicate(dummy_cloaked_npc)	Rookie#ep172_rk03	4_M_ROOKIE
+
+ba_maison,33,220,0	script	#ep172_main_evt02	HIDDEN_WARP_NPC,3,3,{
+	end;
+OnTouch:
+	if (ep17_2_main == 33) {
+		cloakoffnpcself( "Philofontes#ep172_tes02" );
+		cloakoffnpcself( "Crux#ep172_clx02" );
+		end;
+	}
+	end;
+}
+
+ba_maison,36,221,3	script(CLOAKED)	Philofontes#ep172_tes02	4_M_PHILOFONTES,{
+	mes "[Philofontes]";
+	mes "Nice to see you again.";
+	mes "Mr. Crux here came from Rune-Midgarts.";
+	mes "I think he's here to deliver some important news.";
+	close;
+}
+
+ba_maison,38,219,5	script(CLOAKED)	Crux#ep172_clx02	4_EP16_CRUX,{
+	if (ep17_2_main == 33) {
+		cutin "ep16_crux_findel02",2;
+		mes "[Crux]";
+		mes "Adventurer! Long time no see!";
+		mes "I've been hearing news occasionally through the court wizard...";
+		next;
+		mes "[Crux]";
+		mes "If you're schedule is open, won't you come with me to the Prontera Palace?";
+		next;
+		select( "What happened?" );
+		mes "[Crux]";
+		mes "We can't keep the throne empty for too long.";
+		mes "Thanks to your visit to Terra Gloria last time, The coronation ceremony will be held soon.";
+		next;
+		mes "[Crux]";
+		mes "Everyone in the royal family wants to give thanks to you, adventurer.";
+		mes "Of course, even the ladies of my family.";
+		mes "If we leave now...";
+		next;
+		mes "[Crux]";
+		mes "We will arrive on time for the coronation.";
+		mes "I came here to pick you up.";
+		next;
+		mes "[Crux]";
+		mes "Shall we go?";
+		ep17_2_main = 34;
+		setquest 18021;
+		next;
+		if (select( "Let's go right now.", "Let's go a bit later." ) == 2) {
+			mes "[Crux]";
+			mes "I see. Well, you have a busy schedule after all.";
+			mes "Is there a place where I can wait?";
+			next;
+			cutin "ep16_tes01",0;
+			mes "[Philofontes]";
+			mes "There is a guest house in the northern part of the mansion.";
+			mes "The Rebellion are currently using it as a lounge, is it fine if you wait over there?";
+			next;
+			cutin "ep16_crux_findel02",2;
+			mes "[Crux]";
+			mes "Is that so?";
+			mes "Then I'll be waiting at the guest house.";
+			mes "See you later, " + strcharinfo(0) + ".";
+			npctalk "I'll get going.";
+			close2;
+			cutin "",255;
+			cloakonnpcself( "Philofontes#ep172_tes02" );
+			cloakonnpcself( "Crux#ep172_clx02" );
+			end;
+		}
+		cutin "ep16_tes01",0;
+		mes "[Philofontes]";
+		mes "I will tell the others about it.";
+		mes "See you later.";
+		next;
+		cutin "ep16_crux_findel02",2;
+		mes "[Crux]";
+		mes "Then, let us go.";
+		close2;
+		cutin "",255;
+		cloakonnpcself( "Philofontes#ep172_tes02" );
+		cloakonnpcself( "Crux#ep172_clx02" );
+		warp "prt_cas",138,342;
+		end;
+	}
+	end;
+}
+
+ba_in01,37,138,0	script	#ep172_main_evt03	HIDDEN_WARP_NPC,2,2,{
+	end;
+OnTouch:
+	if (ep17_2_main == 34)
+		cloakoffnpcself( "Crux#ep172_clx01" );
+	end;
+}
+
+ba_in01,48,146,3	script(CLOAKED)	Crux#ep172_clx01	4_EP16_CRUX,{
+	if (ep17_2_main == 34) {
+		cutin "ep16_crux_findel02",2;
+		mes "[Crux]";
+		mes "It's cozy and nice here.";
+		mes "There is also a beautiful rest area in the main house of the Nerius family.";
+		mes "When we're off duty, we usually play dice together.";
+		next;
+		mes "[Crux]";
+		mes "Well, shall we leave now?";
+		next;
+		if (select( "Let's go right now.", "Let's go a bit later." ) == 2) {
+			mes "[Crux]";
+			mes "I'll wait for you.";
+			close3;
+		}
+		mes "[Crux]";
+		mes "Then, let us go.";
+		close2;
+		cutin "",255;
+		cloakonnpcself();
+		warp "prt_cas",138,342;
+		end;
+	}
+	end;
+}
+
+prt_cas,138,342,0	script	#ep172_main_evt04	HIDDEN_WARP_NPC,3,3,{
+	end;
+OnTouch:
+	if (ep17_2_main == 34) {
+		setpcblock PCBLOCK_NPC, true;
+		sleep2 2000;
+		specialeffect2 EF_DEVIL10;
+		setpcblock PCBLOCK_NPC, false;
+		mes "I arrived with Crux to the Prontera Palace, the palace was filled with a strange excitement.";
+		next;
+		mes "The people in the hall, were the royal family and nobility of the royal family who we saw before.";
+		next;
+		cutin "ep171_coronation",4;
+		mes "At the end of the red carpet, there's a young man who's on his knees with a crown on his head.";
+		next;
+		mes "He restored his honor by regaining the glory he had lost.";
+		next;
+		mes "He who once had nothing but misery in his name.";
+		next;
+		mes "He who only saw the world, last time when he was with me.";
+		next;
+		mes "Wearing a crown named Glory, while his head towards the earth.";
+		next;
+		mes "The moment it is declared, a new time will begin.";
+		next;
+		mes "My heart starts pounding hard at the fact that I'm standing in the middle of the passage of time.";
+		next;
+		mes "This proved the fact that the path that I've been walking is not wrong.";
+		next;
+		mes "At the end of a long adventure, that young man standing in front of the throne, was guided by my hand.";
+		next;
+		mes "Knowing the sorrow of the unchosen, knowing the pain of the past that cannot be reversed.";
+		next;
+		mes "I knew you'd stand in the way of the future, you're not assertive and knows how to seek help.";
+		next;
+		mes "You will be a great king.";
+		ep17_2_main = 35;
+		completequest 18021;
+		close2;
+		cutin "",255;
+		removespecialeffect2 EF_DEVIL10;
+		end;
+	}
+	end;
+}
+
+prt_cas,140,344,3	script	Chamberlain Bell#ep172	4_M_RUSMAN1,{
+	if (ep17_2_main < 35)
+		end;
+	mes "[Bell]";
+	mes "I was waiting for your return.";
+	mes "Where should I take you?";
+	next;
+	if (select( "Go out.", "Talk." ) == 2) {
+		mes "[Bell]";
+		mes "I didn't expect at all that it would turn out like this.";
+		close;
+	}
+	mes "[Bell]";
+	mes "Then, let us go.";
+	close2;
+	warp "prt_cas",215,160;
+	end;
+}
+
+prt_cas,325,263,3	script	Nyhill M. Heine#ep172	4_EP17_NIHIL_K,{
+	if (ep17_2_main < 35)
+		end;
+	if (ep17_2_main == 35) {
+		cutin "ep171_nihil01",2;
+		mes "[Nyhill]";
+		mes "What a surprise guest!";
+		mes "I didn't expect that we'll meet like this.";
+		mes "Thank you for coming despite your busy schedule.";
+		next;
+		select( "You look good in that." );
+		mes "[Nyhill]";
+		mes "I feel like I'm wearing someone else's clothes...";
+		mes "I'm still wondering if I can really do this.";
+		mes "I mean, is it really okay?";
+		next;
+		select( "You'll do well." );
+		cutin "ep171_nihil02",2;
+		mes "[Nyhill]";
+		mes "If you say so, then I'll believe in you.";
+		mes "You'll stop me if I ever went astray someday, right?";
+		next;
+		mes "[Nyhill]";
+		mes "I believe you will.";
+		mes "Because you're an upright person.";
+		mes "Also...";
+		next;
+		mes "[Nyhill]";
+		mes "Feel free rest whenever you want.";
+		mes "After all, you're not alone.";
+		ep17_2_main = 36;
+		setquest 18020;
+		completequest 18020;
+		close3;
+	}
+	cutin "ep171_nihil01",2;
+	mes "[Nyhill]";
+	mes "I can only see you for a moment now.";
+	mes "I will have to take over the king's responsibilities soon.";
+	next;
+	cutin "ep171_nihil02",2;
+	mes "[Nyhill]";
+	mes "So, stay healthy, and if you ever need help someday, I will help you with all my power.";
+	close3;
+}
+
+// End of main quest
+
+
+ba_in01,14,257,5	script	Automatic Doll Guard Beta#172_hangar_0	4_EP17_GUARD_B,{
+	npctalk "You don't have to worry. This place is well guarded.";
+	end;
+}
+
+ba_in01,30,252,5	script	Automatic Doll Guard Beta#ep172_hangar_1	4_EP17_GUARD_B,{
+	npctalk "We're on 24-hour surveillance.";
+	end;
+}
+
+ba_in01,30,248,3	script	Automatic Doll Guard Beta#ep172_hangar_2	4_EP17_GUARD_B,{
+	npctalk "Rest assured. The dolls can monitor without even blinking their eyes.", "Automatic Doll Guard Beta#ep172_hangar_1";
+	end;
+}
+
+
+
+// Sidequest quest : Exploring bathhouse - Step 1
+ba_in01,384,38,3	script	Shrine#172ba01	4_EP17_BUCKETS,5,5,{
+	if (ep17_2_main < 10) {
+		mes "[Shrine]";
+		mes "I apologize, but the bath house is currently closed due to an internal condition, and we cannot assure the reopening time. Please come back later. If you would like a quiet bath, please use the private bathroom provided with your guest room.";
+		close;
+	}
+	if (ep17_2_bath == 0) {
+		cloakoffnpcself( "Rookie#172ba01" );
+		cloakoffnpcself( "Denny#172ba01" );
+		cloakoffnpcself( "Molar#172ba01" );
+		cloakoffnpcself( "Canine#172ba01" );
+		cloakoffnpcself( "Danae#172ba01" );
+		cloakoffnpcself( "Magenta#172ba01" );
+		cloakoffnpcself( "Cyan#172ba01" );
+		cutin "ep172_beta",2;
+		mes "[Shrine]";
+		mes "I apologize. It is Varmundt Mansion's policy to keep guests from ^0000CDdangerous situations^000000. Please wait a little longer.";
+		npctalk "Why does it take so long to search? Let us in. I can find it faster.", "Denny#172ba01", bc_self;
+		npctalk "We're experts in this field.", "Molar#172ba01", bc_self;
+		next;
+		cutin "",255;
+		mes "[Magenta]";
+		mes "Let's not keep to what the danger is to ourselves , please let us know.";
+		npctalk "Time goes by while we're standing in here.", "Canine#172ba01", bc_self;
+		next;
+		cutin "ep172_beta",2;
+		mes "[Shrine]";
+		mes "Sorry, we have yet to figure it out. The search is aimed at investigating the existence of risk factors. Please wait a little longer. Please understand this is a procedure.";
+		npctalk "If this goes wrong, I'll hold you responsible!", "Cyan#172ba01", bc_self;
+		npctalk "We also have that procedure! You're interrupting the operation!", "Denny#172ba01", bc_self;
+		next;
+		mes "[Shrine]";
+		mes "I repeat, you can't go in unless your safety is confirmed. I'll abide your request once I hear from my colleagues.";
+		next;
+		cutin "16loo_01",2;
+		mes "[Rookie]";
+		mes "We are told to cooperate with the automatic dolls of the mansion as much as possible. But if you don't move at the end, we have no choice but to use force, right?";
+		next;
+		if (select( "Rookie? What's going on?", "It looks complicated, I'll just pass it by." ) == 2) {
+			cutin "ep172_beta",2;
+			mes "[Shrine]";
+			mes "Then, we have no choice but to call the guards.";
+			next;
+			cutin "16loo_03",2;
+			mes "[Rookie]";
+			mes "Hmm... What should I do with this?";
+			close3;
+		}
+		cutin "16loo_02",2;
+		mes "[Rookie]";
+		mes "Oh, the adventurer is here too. If you're here for a bath, I'm afraid you can't use it for a while. Look at that. The automatic doll is blocking the entrance.";
+		next;
+		cutin "ep172_beta",2;
+		mes "[Shrine]";
+		mes "There's a ghost coming out of here. You should watch yourself too.";
+		next;
+		select( "Ghost??" );
+		cutin "16loo_01",2;
+		mes "[Rookie]";
+		mes "I don't know what it is yet. As you know, the moment we entered the mansion, everyone scattered to check the facilities.";
+		mes "The scout team, who went to check for possible Illusion remnants in the bathhouse, came back dead. There is ^0000CDsomething inside the bathhouse^000000.";
+		npctalk "It's not a ghost, it's just a conspiracy around the mansion!", "Denny#172ba01", bc_self;
+		npctalk "It's a ghost. It has to be a ghost!", "Magenta#172ba01", bc_self;
+		npctalk "There's something. That's terrifying. I'm excited!", "Cyan#172ba01", bc_self;
+		next;
+		cutin "16loo_02",2;
+		mes "[Rookie]";
+		mes "I had to figure out what was really inside, whether it was the Illusion's weird prank, that's why this time ^0000CDGonie^000000 went in. It's perfect to move quietly by yourself.";
+		next;
+		select( "So why are you here...?" );
+		cutin "16loo_01",2;
+		mes "[Rookie]";
+		mes "Well... It's been a while since Gonie went in, but hasn't come out yet. If someone with a power like Gonie doesn't come out after the time limit, it means there is a problem.";
+		next;
+		mes "[Rookie]";
+		mes "I'm here to follow the procedure to find out what's the dangerous something are because I'm certain there are unknown risks. We shouldn't let unknown risks interfere with our mission in this mansion.";
+		npctalk "Is there a something?", "Danae#172ba01", bc_self;
+		next;
+		cutin "16loo_03",2;
+		mes "[Rookie]";
+		mes "The force that we sent in lost... We should be more careful. And as you can see, they're blocking us.";
+		npctalk "Is Gonie just a simple force? It's too cold to losses in the midst of this.", "Molar#172ba01", bc_self;
+		npctalk "He's still alive. That's what my guts tell me!", "Denny#172ba01", bc_self;
+		npctalk "Let's go in there quickly and find him. The adventurer is here too, we can find him faster!", "Magenta#172ba01", bc_self;
+		next;
+		cutin "ep172_beta",2;
+		mes "[Shrine]";
+		mes "I'm sorry, but we're still searching now. When it's over please listen to the results and decide from there.";
+		next;
+		cutin "16loo_01",2;
+		mes "[Rookie]";
+		mes "There are certain dangers in this mansion now. Whether there is more or not is a very important matter for us.";
+		next;
+		mes "[Rookie]";
+		mes "We need to check first if the risk is supernatural or it's the ^0000CDIllusions^000000. Can you tell me more? Maybe it's the reason the Illusion came to this mansion in the first place.";
+		mes "Otherwise, it's likely to fall into their hands.";
+		next;
+		cutin "ep172_beta",2;
+		mes "[Shrine]";
+		mes "I fully understand what you're trying to say. But the procedure...";
+		mes "Oh! The one who went to search are coming back. Talk to them.";
+		next;
+		cloakoffnpcself( "Boiler#172ba01" );
+		cloakoffnpcself( "Sweep#172ba01" );
+		cutin "ep172_beta",0;
+		mes "[Boiler]";
+		mes "Wrong, you're all wrong. There's no danger.";
+		next;
+		cutin "ep172_beta",1;
+		mes "[Sweep]";
+		mes "There were no guests who were said to have died. Did they really go in?";
+		npctalk "No! How! You may not even know the dangers that lurks in their management!", "Denny#172ba01", bc_self;
+		npctalk "A lot of people saw it.", "Cyan#172ba01", bc_self;
+		next;
+		cutin "16loo_01",2;
+		mes "[Rookie]";
+		mes "Were there really no missing person in there?";
+		next;
+		cutin "ep172_beta",1;
+		mes "[Sweep]";
+		mes "Maybe he ran away.";
+		npctalk "You've only been fooled.", "Boiler#172ba01", bc_self;
+		next;
+		cutin "16loo_01",2;
+		mes "[Rookie]";
+		mes "If so, I would come back earlier. Even if it's not, I'm sure I'll get a contact from a crew, who are scattered around the mansion.";
+		next;
+		select( "Any guess?" );
+		cutin "ep172_beta",2;
+		mes "[Shrine]";
+		mes "Among what you have said, the most suspicious is the action of the intruders.";
+		next;
+		cutin "ep172_beta",0;
+		mes "[Boiler]";
+		mes "Shrine, isn't that it? The long dark green ^0000CD hair^000000. It appeared a long time ago.";
+		npctalk "Hair... there's a possibility. It doesn't match anything in the bathhouse.", "", bc_self;
+		next;
+		select( "Hair?" );
+		cutin "ep172_beta",2;
+		mes "[Shrine]";
+		mes "Literally as Boiler said. Since from a very long time ago, unknown hair was often found. Perhaps the hair and the unknown dangers of the bath is the same.";
+		npctalk "What are you talking about now?", "Denny#172ba01", bc_self;
+		next;
+		cutin "ep172_beta",1;
+		mes "[Sweep]";
+		mes "I think it's better to let the human guests in and search themselves.";
+		mes "We didn't sense the unknown danger and we failed to locate the human guests. Perhaps because we can't feel like humans do.";
+		next;
+		cutin "ep172_beta",0;
+		mes "[Boiler]";
+		mes "You're right. Human being have senses. Maybe we'll find we missed as an automatic doll. Maybe this time we'll be able to identify whose hair is that.";
+		next;
+		cutin "ep172_beta",1;
+		mes "[Sweep]";
+		mes "We've heard the characteristic of the missing persons, but I'm sure the human guests are likely to recognize them better.";
+		npctalk "There's an automatic doll here that can think.", "Cyan#172ba01", bc_self;
+		next;
+		cutin "ep172_beta",2;
+		mes "[Shrine]";
+		mes "......that makes sense. All right.";
+		mes "From now on, we will open the bathhouse to our guests. Please pay special attention while conducting the search, as there are circumstances and testimonies suspecting the existence of unidentified creatures.";
+		next;
+		mes "[Shrine]";
+		mes "If you see a monster while inside the bath, please don't rush to make contact with it and tell the dolls around you. Please let me know if you need any help finding the missing persons.";
+		next;
+		mes "[Shrine]";
+		mes "Then, I'll take you inside.";
+		npctalk "They fought amongst themselves, and then they suddenly.", "Denny#172ba01", bc_self;
+		next;
+		mes "[Shrine]";
+		mes "Well, before we enter, I'd like to ask you one thing.";
+		mes "The skills such as ^CC0000Water Ball and Aqua Benedicta^000000 are prohibited in Meditatio, the grand bath.";
+		mes "I ask for your understanding.";
+		next;
+		cutin "",255;
+		mes "[Magenta]";
+		mes "There's... you know, Lucky. Um... um... don't get me wrong. Wouldn't it be better if Lucky stays here?";
+		npctalk "Yeah, that's right. We'll look for Gonie. You'd better stay here.", "Cyan#172ba01", bc_self;
+		next;
+		cutin "16loo_01",2;
+		mes "[Rookie]";
+		mes "What are you talking about? I'm good at finding lost items. I may not be good enough for field missions, but I can atleast protect myself. You don't trust me that much?";
+		next;
+		cutin "",255;
+		mes "[Magenta]";
+		mes "No!! Lucky you're the best! The best!! You know we really can't live without Lucky! But...";
+		next;
+		cutin "16loo_01",2;
+		mes "[Rookie]";
+		mes "Okay. I'll stay. Then I'll look around the entrance area. I have to check who's going in and out anyway. There's only one entrance to the bath.";
+		next;
+		select( "I'll come with you." );
+		cutin "16loo_02",2;
+		mes "[Rookie]";
+		mes "It feels reassuring when the adventurer is with us.";
+		mes "Then, come and go <NAVI>[inside]<INFO>ba_bath,165,43,0,101,0</INFO></NAVI>. If we find anything, we'll send a signal.";
+		ep17_2_bath = 1;
+		setquest 17363;
+		close2;
+		cutin "",255;
+		cloakonnpcself( "Rookie#172ba01" );
+		cloakonnpcself( "Denny#172ba01" );
+		cloakonnpcself( "Molar#172ba01" );
+		cloakonnpcself( "Canine#172ba01" );
+		cloakonnpcself( "Danae#172ba01" );
+		cloakonnpcself( "Magenta#172ba01" );
+		cloakonnpcself( "Cyan#172ba01" );
+		cloakonnpcself( "Boiler#172ba01" );
+		cloakonnpcself( "Sweep#172ba01" );
+		end;
+	}
+	if (ep17_2_bath < 13) {
+		mes "[Shrine]";
+		mes "Go ahead <NAVI>[inside]<INFO>ba_bath,165,43,0,101,0</INFO></NAVI>. If you see a monster while inside the bath, please don't rush to make contact with it and tell the dolls around you.";
+		navigateto("ba_bath",165,43);
+		next;
+		mes "^EE0000[ 『Caution『 ]^000000";
+		mes "For protection and management of the facility, the grand bathhouse Meditatio prohibits the use of the skills such as ^CC0000Water Ball and Aqua Benedicta^000000.";
+		close;
+	}
+	mes "[Shrine]";
+	mes "Hello. Feel free to use the bathhouse to comfortably to relieve your fatigue.";
+	next;
+	mes "^EE0000[ 『Caution『 ]^000000";
+	mes "For protection and management of the facility, the grand bathhouse Meditatio prohibits the use of the skills such as ^CC0000Water Ball and Aqua Benedicta^000000.";
+	close;
+
+OnTouch:
+	if (ep17_2_main >= 9 && ep17_2_bath == 0) {
+		cloakoffnpcself( "Rookie#172ba01" );
+		cloakoffnpcself( "Denny#172ba01" );
+		cloakoffnpcself( "Molar#172ba01" );
+		cloakoffnpcself( "Canine#172ba01" );
+		cloakoffnpcself( "Danae#172ba01" );
+		cloakoffnpcself( "Magenta#172ba01" );
+		cloakoffnpcself( "Cyan#172ba01" );
+		end;
+	}
+	end;
+
+OnInit:
+	questinfo( QTYPE_QUEST, QMARK_YELLOW, "ep17_2_main >= 9 && ep17_2_bath == 0" );
+	end;
+}
+
+ba_in01,381,39,5	duplicate(dummy_cloaked_npc)	Rookie#172ba01	4_M_ROOKIE
+ba_in01,379,36,7	duplicate(dummy_cloaked_npc)	Danae#172ba01	4_F_REBELLION2
+ba_in01,385,41,3	duplicate(dummy_cloaked_npc)	Canine#172ba01	4_F_REBELLION3
+ba_in01,383,41,5	duplicate(dummy_cloaked_npc)	Denny#172ba01	4_M_REBELLION3
+ba_in01,379,42,5	duplicate(dummy_cloaked_npc)	Magenta#172ba01	4_M_GUNSLINGER2
+ba_in01,379,38,5	duplicate(dummy_cloaked_npc)	Molar#172ba01	4_M_REBELLION
+ba_in01,383,36,7	duplicate(dummy_cloaked_npc)	Cyan#172ba01	4_F_REBELLION3
+ba_in01,384,40,3	duplicate(dummy_cloaked_npc)	Boiler#172ba01	4_EP17_BASIC_B
+ba_in01,385,37,3	duplicate(dummy_cloaked_npc)	Sweep#172ba01	4_EP17_CLEANER
+
+// Sidequest quest : Exploring bathhouse - Step 2, 5
+ba_bath,165,43,3	script	Shrine#172ba02	4_EP17_BUCKETS,5,5,{
+	if (checkweight(1201,3) == 0) {
+		mes "The number of items in your possession is too high, so you cannot proceed with the conversation.";
+		mes "Please clean up your inventory and try again.";
+		close;
+	}
+	if (ep17_2_bath == 0) {
+		cutin "ep172_beta",0;
+		mes "[Shrine]";
+		mes "Varmundt Mansion's bath house has been famous for a long time. Varmundt is a person who valued taking a rest at the end of an exhausting day.";
+		next;
+		mes "[Shrine]";
+		mes "He enjoyed bathing as he could relieve his fatigue, get energized for tomorrow, and organize his thoughts, and as he could improve his blood flow and replenish moisture in his skin.";
+		next;
+		mes "[Shrine]";
+		mes "Augmenting the bath house due to his interest in various bathing methods, the bath house has expanded to today's size. The guests to the mansion have used the bath house and have praised its facilities.";
+		next;
+		mes "[Shrine]";
+		mes "Because of that, the mansion's bathhouse became very famous. I hope that you get replenished in this historic bath house.";
+		close3;
+	}
+	if (ep17_2_bath == 1) {
+		cloakoffnpcself( "Rookie#172ba02" );
+		cloakoffnpcself( "Denny#172ba02" );
+		cloakoffnpcself( "Molar#172ba02" );
+		cloakoffnpcself( "Canine#172ba02" );
+		cloakoffnpcself( "Danae#172ba02" );
+		cloakoffnpcself( "Magenta#172ba02" );
+		cloakoffnpcself( "Cyan#172ba02" );
+		cutin "ep172_beta",0;
+		mes "[Shrine]";
+		mes "Please come, your party is already here.";
+		next;
+		cutin "16loo_01",2;
+		mes "[Rookie]";
+		mes "Is everyone gathered? In pairs, follow the procedures for searching dangerous goods and for searching missing persons. Send a signal when you find anything, and the meeting area is in the lounge.";
+		next;
+		cutin "16loo_03",2;
+		mes "[Rookie]";
+		mes "We should focus on searching for the dangerous goods rather than the the missing persons. The identity of the dangerous being has not yet been revealed, and various testimonies and circumstances presumed it's a humans, monster, automatic doll, and supernatural beings.";
+		next;
+		cutin "16loo_01",2;
+		mes "[Rookie]";
+		mes "Denny and Canine. The humans are likely to be individual or groups of Illusion remnants or a third party. There is also the possibility of them using a different exit other than what is known, so check the facilities carefully.";
+		npctalk "Okay.", "Denny#172ba02", bc_self;
+		npctalk "Let's go.", "Canine#172ba02", bc_self;
+		next;
+		cloakonnpcself( "Denny#172ba02" );
+		cloakonnpcself( "Canine#172ba02" );
+		mes "[Rookie]";
+		mes "Cyan and Danae. Next is the monsters. Since it's a bathhouse, it's assumed that there are aquatic monsters, or something like them. So focus on the bath and pipes.";
+		npctalk "Leave it to me.", "Cyan#172ba02", bc_self;
+		npctalk "Roger!", "Danae#172ba02", bc_self;
+		next;
+		cloakonnpcself( "Cyan#172ba02" );
+		cloakonnpcself( "Danae#172ba02" );
+		mes "[Rookie]";
+		mes "If it's a broken automatic doll, you know this mansion well, so you'll have to listen to the bath managers first. I'll do this one.";
+		next;
+		cutin "16loo_03",2;
+		mes "[Rookie]";
+		mes "Last but not the least, if it's a ghost...";
+		next;
+		cutin "",255;
+		mes "[Magenta]";
+		mes "I know!! I'll take a look! At the ceiling! and drains!";
+		next;
+		cutin "16loo_03",2;
+		mes "[Rookie]";
+		mes "... Okay. Magenta. Go with Molar.";
+		npctalk "Got it!", "Magenta#172ba02", bc_self;
+		next;
+		cloakonnpcself( "Magenta#172ba02" );
+		cloakonnpcself( "Molar#172ba02" );
+		cutin "16loo_01",2;
+		mes "[Rookie]";
+		mes "Adventurer meet with the other managers like me to check if there's anything suspicious about the other automatic dolls. I have to get the blueprints first.";
+		next;
+		cutin "",255;
+		specialeffect EF_DRAGONSMOKE, AREA, "Rookie#172ba02";
+		specialeffect EF_PEONG, AREA, "Rookie#172ba02";
+		mes "Ching";
+		next;
+		specialeffect EF_DRAGONSMOKE, AREA, "Rookie#172ba02";
+		cutin "16loo_03",2;
+		mes "[Rookie]";
+		mes "I think I should start with this ^0000CDsteam^000000.";
+		mes "It's so blurry, I can't barely see things.";
+		next;
+		select( "I'll go to the Boiler Room." );
+		cutin "16loo_01",2;
+		mes "[Rookie]";
+		mes "Will you? I'll take the blueprints from Shrine here. Adventurer, please go to the <NAVI>[boiler room]<INFO>ba_bath,286,68,0,101,0</INFO></NAVI> and ask them to shut down. I'll catch up with you soon.";
+		ep17_2_bath = 2;
+		erasequest 17363;
+		setquest 17364;
+		close3;
+	}
+	if (ep17_2_bath < 4) {
+		cutin "16loo_01",2;
+		mes "[Rookie]";
+		mes "Will you? I'll take the blueprints from Shrine here. Adventurer, please go to the <NAVI>[boiler room]<INFO>ba_bath,286,68,0,101,0</INFO></NAVI> and ask them to shut down. I'll catch up with you soon.";
+		close3;
+	}
+	if (ep17_2_bath == 4) {
+		cutin "16loo_01",2;
+		mes "[Rookie]";
+		mes "I usually go on a mission alone, but this is the first time I haven't heard from him in so long. That's why everyone is looking for him anxiously. Something happened. Think about it quickly.";
+		next;
+		cutin "ep172_beta",0;
+		mes "[Shrine]";
+		mes "Even if you say that, I have nothing to say.";
+		next;
+		cutin "16loo_01",2;
+		mes "[Rookie]";
+		mes "Hm? Adventurer? The boiler seems to have stopped, where do you plan on going?";
+		next;
+		select( "Didn't you say that we should go to the lake?" );
+		cutin "16loo_03",2;
+		mes "[Rookie]";
+		mes "Who? ... me? Adventurer, did you really ^0000CDsee me^000000?";
+		next;
+		select( "Come to think of it..." );
+		cutin "16loo_01",2;
+		mes "[Rookie]";
+		mes "The tone seemed stiff and perplexed... That's definitely not me. I guess it's the unknown entity that appears in this bathhouse.";
+		mes "That's quite a headache. I can't believe it can mimic other people's appearance. No, in a way, it's better than that.";
+		next;
+		mes "[Rookie]";
+		mes "Seeing that I told you to go to the lake, I think it was trying to get you out of the bathhouse somehow. So it's not a supernatural being.";
+		next;
+		mes "[Rookie]";
+		mes "Whatever it is, we'll have to settle it before it falls to chaos.";
+		next;
+		cutin "",255;
+		mes "P-peeep-";
+		next;
+		cutin "16loo_01",2;
+		mes "[Rookie]";
+		mes "Adventurer, let's go to the <NAVI>[lounge]<INFO>ba_bath,203,58,0,101,0</INFO></NAVI>.";
+		ep17_2_bath = 5;
+		erasequest 17366;
+		setquest 17367;
+		close2;
+		cutin "",255;
+		cloakonnpcself( "Rookie#172ba02" );
+		end;
+	}
+	if (ep17_2_bath == 5) {
+		cutin "ep172_beta",0;
+		mes "[Shrine]";
+		mes "Your party went to the <NAVI>[lounge]<INFO>ba_bath,203,58,0,101,0</INFO></NAVI>.";
+		close2;
+		cutin "",255;
+		cloakonnpcself( "Rookie#172ba02" );
+		end;
+	}
+	if (ep17_2_bath == 6) {
+		cutin "ep172_beta",0;
+		mes "[Shrine]";
+		mes "How's the search for the creature going?";
+		close3;
+	}
+	if (ep17_2_bath < 12) {
+		cutin "ep172_beta",0;
+		mes "[Shrine]";
+		mes "Aren't you in a middle of an operation?";
+		close3;
+	}
+	cutin "ep172_beta",0;
+	mes "[Shrine]";
+	mes "Is there any inconvenience in using the bathhouse?";
+	close3;
+
+OnTouch:
+	if (ep17_2_bath == 1) {
+		cloakoffnpcself( "Rookie#172ba02" );
+		cloakoffnpcself( "Denny#172ba02" );
+		cloakoffnpcself( "Molar#172ba02" );
+		cloakoffnpcself( "Canine#172ba02" );
+		cloakoffnpcself( "Danae#172ba02" );
+		cloakoffnpcself( "Magenta#172ba02" );
+		cloakoffnpcself( "Cyan#172ba02" );
+		end;
+	}
+	if (ep17_2_bath == 4) {
+		cloakoffnpcself( "Rookie#172ba02" );
+		end;
+	}
+	end;
+
+OnInit:
+	questinfo( QTYPE_QUEST, QMARK_YELLOW, "isbegin_quest(17363) == 1" );
+	questinfo( QTYPE_QUEST, QMARK_YELLOW, "isbegin_quest(17366) == 1" );
+	end;
+}
+
+ba_bath,162,43,5	duplicate(dummy_cloaked_npc)	Danae#172ba02	4_F_REBELLION2
+ba_bath,163,39,7	duplicate(dummy_cloaked_npc)	Canine#172ba02	4_F_REBELLION3
+ba_bath,163,43,5	duplicate(dummy_cloaked_npc)	Denny#172ba02	4_M_REBELLION3
+ba_bath,167,40,1	duplicate(dummy_cloaked_npc)	Magenta#172ba02	4_M_GUNSLINGER2
+ba_bath,165,40,7	duplicate(dummy_cloaked_npc)	Molar#172ba02	4_M_REBELLION
+ba_bath,163,41,7	duplicate(dummy_cloaked_npc)	Cyan#172ba02	4_F_REBELLION3
+
+ba_bath,166,42,3	script(CLOAKED)	Rookie#172ba02	4_M_ROOKIE,{
+	if (ep17_2_bath < 4) {
+		cutin "16loo_01",2;
+		mes "[Rookie]";
+		mes "Will you? I'll take the blueprints from Shrine here. Adventurer, please go to the <NAVI>[boiler room]<INFO>ba_bath,286,68,0,101,0</INFO></NAVI> and ask them to shut down. I'll catch up with you soon.";
+		close3;
+	}
+	end;
+}
+
+// Sidequest quest : Exploring bathhouse - Step 3
+// Daily : Boiler's request
+ba_bath,286,68,5	script	Boiler#172ba02	4_EP17_BASIC_B,{
+	if (checkweight(1201,3) == 0) {
+		mes "The number of items in your possession is too high, so you cannot proceed with the conversation.";
+		mes "Please clean up your inventory and try again.";
+		close;
+	}
+	if (ep17_2_bath == 2) {
+		cutin "ep172_beta",1;
+		mes "[Boiler]";
+		mes "Uhh, human guests shouldn't just come in here. This place is not very durable.";
+		next;
+		cutin "",255;
+		select( "I have something to check." );
+		cutin "ep172_beta",1;
+		mes "[Boiler]";
+		mes "Umm... I can't stop you. But be careful with the pipes. It'll melt your skin when you touch it in the wrong place.";
+		mes "But what's the point? We don't have much time.";
+		next;
+		cutin "",255;
+		select( "Please shut down the boiler." );
+		mes "[Boiler]";
+		mes "Boiler? ^0000CDIt's already stopped^000000, right? That's weird. The steam is still coming out? Is the boiler not working? Look at this. I was checking it out while it's on stop.";
+		mes "Is it because the water hasn't cooled down yet? Anyways, I already turned the boiler off.";
+		next;
+		cloakonnpcself();
+		cloakoffnpcself( "Boiler#172ba03" );
+		cutin "",255;
+		mes "[Boiler]";
+		mes "I think this will be perfect. Oh... it's not perfect, but it's useful.";
+		next;
+		cloakonnpcself( "Boiler#172ba03" );
+		cloakoffnpcself();
+		cutin "ep172_beta",1;
+		mes "[Boiler]";
+		mes "Have you seen this a lot on your way here?";
+		next;
+		cutin "",255;
+		select( "No, I've never seen it before." );
+		cutin "ep172_beta",1;
+		mes "[Boiler]";
+		mes "Um... I picked it up on the way here, and it looked like an automatic doll accessory. There are so many people out there that I thought they were all over the place. I was going to pick it up and repair it.";
+		next;
+		mes "[Boiler]";
+		mes "By the way, broken dolls are still appearing out of order. Why is that even if we fix broken automatic dolls, broken dolls are still appearing? Is the errors self-replicating?";
+		mes "I can't even clean up properly. But I have to anyway. I have to thank you.";
+		npctalk "I clean often, but there are many of them.", "Sweep#172ba02", bc_self;
+		next;
+		mes "[Boiler]";
+		mes "... are you not going? I already turned off the boiler. Isn't that why you came here?";
+		next;
+		cutin "",255;
+		select( "Is it an automatic doll?" );
+		cutin "ep172_beta",1;
+		mes "[Boiler]";
+		mes "What? The monster?";
+		next;
+		cutin "ep172_beta",2;
+		mes "[Sweep]";
+		mes "I don't think so. Didn't you think ever think we'd notice it first, if it was?";
+		next;
+		cutin "ep172_beta",1;
+		mes "[Boiler]";
+		mes "Those things out there are the work of the invaders... They want it to be like that.";
+		npctalk "Evil intruders. The intruders destroyed many facilities, even some of us were destroyed. We're restoring everything.", "", bc_self;
+		next;
+		cutin "",255;
+		select( "What do you think about the monster?" );
+		cutin "ep172_beta",1;
+		mes "[Boiler]";
+		mes "Maybe it's the ^0000CDghost in the boiler^000000.";
+		next;
+		cutin "ep172_beta",2;
+		mes "[Sweep]";
+		mes "What are you talking about?";
+		next;
+		cutin "ep172_beta",1;
+		mes "[Boiler]";
+		mes "The ghost. Don't you know what a ghost is? Do you know about it " + strcharinfo(0) + "? It's a something that died, and floats around without a physical form.";
+		mes "What happens here is very similar to what the ghost humans talk about.";
+		next;
+		cutin "",255;
+		select( "Then, the identity of the ghost..." );
+		cutin "ep172_beta",1;
+		mes "[Boiler]";
+		mes "Um... I don't it's what you're thinking. Ah~ I thought it was a human ghost. But no, I think it was the automatic doll that used to manage this place before I even came.";
+		mes "It was a small bath boiler at the time, and it was often overloaded with water from so many baths. It couldn't withstand the high pressure.";
+		next;
+		mes "[Boiler]";
+		mes "Anyways, it exploded while I was working on it, and the other automatic doll was burned down. Maybe it's that automatic doll.";
+		mes "I wonder if that doll's data was engraved in some unknown way. In this boiler.";
+		next;
+		mes "[Boiler]";
+		mes "This boiler move sometimes on its own without anyone using it, but I think the data from the past automatic dolls remains and continues to carry out commands.";
+		mes "Then it makes sense to hear the sound without form and make noises. You can also see strange shapes because of the steam that comes out.";
+		next;
+		cutin "",255;
+		select( "That's quite scary." );
+		cutin "ep172_beta",1;
+		mes "[Boiler]";
+		mes "It's scary. The valve here think it's just a boiler. Is it scary? Valve, look over here.";
+		next;
+		cutin "ep172_omega",4;
+		mes "[Valve]";
+		mes "Beep-";
+		next;
+		cutin "ep172_beta",2;
+		mes "[Sweep]";
+		mes "The boiler's spectre, do you think it makes sense? It's probably because of a problem that we haven't found yet. But maybe because we are automatic dolls.";
+		next;
+		mes "[Sweep]";
+		mes "We think that there must be something missing because we can't hear the sounds or feel the signs like the human guests.";
+		next;
+		mes "[Sweep]";
+		mes "But in the end, we didn't even notice the existence of the problem. Problems that we probably won't find because of the limitations of us being a doll.";
+		mes "That's why I suggested to find the problem with the guests.";
+		next;
+		mes "[Sweep]";
+		mes "Honestly, we didn't know what was weird because there were no customers for a long time. Not until the human guests came in, so isn't it reasonable to note the difference between humans and automatic dolls?";
+		next;
+		mes "[Sweep]";
+		mes "I heard that humans have developed senses and emotions. And the thinking ability to put it all together.";
+		mes "We only collect information and find a conclusion, but humans are different. I've heard you gather all personal experiences, thoughts, and imagination to come up with a conclusion.";
+		next;
+		mes "[Sweep]";
+		mes "I hope we can solve the problem.";
+		next;
+		cutin "ep172_beta",0;
+		mes "[Boiler]";
+		mes "Since the boiler has been turned off. Please tell the <NAVI>[other guests]<INFO>ba_bath,270,94,0,101,0</INFO></NAVI> to search freely.";
+		ep17_2_bath = 3;
+		erasequest 17364;
+		setquest 17365;
+		getitem 1000103,7;
+		getexp2 260267,0;
+		close3;
+	}
+	if (ep17_2_bath == 3) {
+		cutin "ep172_beta",2;
+		mes "[Boiler]";
+		mes "Sweep, go meet the <NAVI>[other guests]<INFO>ba_bath,270,94,0,101,0</INFO></NAVI>. I have to keep my eyes on the boiler. If you find out anything, come here and let me know. Because I'm curious.";
+		close3;
+	}
+	if (ep17_2_bath < 13) {
+		cutin "ep172_beta",2;
+		mes "[Boiler]";
+		mes "It would be better to look somewhere else than this place.";
+		close3;
+	}
+
+	// Daily : Boiler's request
+	if (isbegin_quest(17375) == 0) {
+		npctalk "Maybe it's done!", "Valve#172ba01", bc_self;
+		cloakonnpcself( "Valve#172ba01" );
+		sleep2 1000;
+		cutin "ep172_beta",2;
+		mes "[Boiler]";
+		mes "What are you curious about? Do you have any questions for us?";
+		next;
+		cutin "",255;
+		if (select( "Boiler...", "About medicinal herbs..." ) == 2) {
+			cutin "ep172_beta",2;
+			mes "[Boiler]";
+			mes "Medicinal herbs? Are you curious about the herbs that is used in the bath? Why? Is the bath water not to your liking?";
+			next;
+			cutin "",255;
+			select( "I really like it." );
+			cutin "ep172_beta",2;
+			mes "[Boiler]";
+			mes "Is that why you came here?";
+			close3;
+		}
+		cutin "ep172_beta",2;
+		mes "[Boiler]";
+		mes "Boiler? Are you curious about the boiler? Why? Are you planning to steal the boiler?";
+		next;
+		cutin "",255;
+		select( "Steal the boiler?" );
+		cutin "ep172_beta",2;
+		mes "[Boiler]";
+		mes "Oh, am I wrong? The intruder was very interested in the boiler and the supply system. They stealed the other boiler without my knowledge.";
+		mes "But. " + strcharinfo(0) + " doesn't seem to be interested in it. I was just wondering if you wanted to take the boiler. If i'm wrong then nevermind.";
+		next;
+		mes "[Boiler]";
+		mes "But what will the intruder do with it? Do you think they're planning on making an open-air bath?";
+		mes "Hmm.. I don't really know what they could do with the boiler. Can you humans make anything out of it? Do you have an idea, " + strcharinfo(0) + "?";
+		next;
+		cutin "",255;
+		select( "What else did they do?" );
+		cutin "ep172_beta",2;
+		mes "[Boiler]";
+		mes "Hmmm... I liking soaking myself, but I'm more obsessed with the boiler. They seemed to be interested in the purification facility.";
+		next;
+		mes "[Boiler]";
+		mes "I was excited to explain about boilers. But I didn't know that they would steal it. I~ really didn't know. Is humans famous for acting on a whim?";
+		next;
+		mes "[Boiler]";
+		mes "" + strcharinfo(0) + ", are you acting on whim too? I don't know much about humans yet. There's a lot to know. That's how I prepare. I won't let them steal it again.";
+		next;
+		mes "[Boiler]";
+		mes "For example. My master says that it's cool when he soaked in the bath, but when I soaked myself. It's incredibly hot. Did I set the temperature wrong? I did, but it wasn't for him.";
+		next;
+		mes "[Boiler]";
+		mes "But it's cool. What does that mean? Am I mistaken?";
+		next;
+		mes "[Boiler]";
+		mes "And then. If you soak these dry leaves in hot water, the contents of the leaves comes out. But it's just that.";
+		mes "But somehow it's good for your health, that's why we fill every bath with herbal leaves. Do humans breath on their skins? Or do you drink water from your skins?";
+		next;
+		mes "[Boiler]";
+		mes "Humans are happy to immerse themselves in the bath. Why is that?";
+		next;
+		mes "[Boiler]";
+		mes "Oh, there's another one! Why do you put ground seaweed in the bath and apply the water on your face?";
+		next;
+		mes "[Boiler]";
+		mes "I was so curious that I tried it myself, but I didn't know what it was good for. Maybe because I'm an automatic doll?";
+		next;
+		mes "[Boiler]";
+		mes "If I had five senses like humans, I could have understand humans better. Why didn't the master gave us that?";
+		next;
+		cloakoffnpcself( "Valve#172ba01" );
+		cutin "ep172_omega",4;
+		mes "[Valve]";
+		mes "It's all done. You have to drink now.";
+		next;
+		cutin "ep172_beta",2;
+		mes "[Boiler]";
+		mes "I'm not going to drink. No one's drinking.";
+		next;
+		cutin "ep172_omega",4;
+		mes "[Valve]";
+		mes "Is not ready yet? Can't you just drink a little? Squeeze it out and you'll get a lot of essence.";
+		next;
+		cutin "ep172_beta",2;
+		mes "[Boiler]";
+		mes "Valve. Humans are not tea bags. Remember, I've said this many times.";
+		next;
+		cloakonnpcself( "Valve#172ba01" );
+		cloakoffnpcself( "Valve#172ba02" );
+		cutin "ep172_omega",4;
+		mes "[Valve]";
+		mes "All you have to do is boil the water well.";
+		next;
+		mes "[Valve]";
+		mes "The temperature needs to be increased to make it better.";
+		cloakonnpcself();
+		cloakoffnpcself( "Boiler#172ba03" );
+		next;
+		cutin "ep172_beta",2;
+		mes "[Boiler]";
+		mes "I told you not to touch the boiler.";
+		next;
+		specialeffect EF_PIERCE, AREA, "Valve#172ba02";
+		mes "- Ack! -";
+		next;
+		mes "[Boiler]";
+		mes "Stop it and come over here.";
+		next;
+		cloakonnpcself( "Valve#172ba02" );
+		cloakoffnpcself( "Valve#172ba01" );
+		cloakonnpcself( "Boiler#172ba03" );
+		cloakoffnpcself();
+		mes "[Boiler]";
+		mes "It's okay because it's quiet for a while.";
+		next;
+		cutin "",255;
+		select( "It looks dangerous, but the disposal..." );
+		cutin "ep172_beta",2;
+		mes "[Boiler]";
+		mes "Why waste it! It'll still be useful if we fix it. Who am I supposed to work with if you scrap Valve? I don't like strangers.";
+		next;
+		cutin "",255;
+		select( "Why don't you fix it?" );
+		cutin "ep172_beta",2;
+		mes "[Boiler]";
+		mes "Because I can't leave my hands off the boiler? The intruders broke the boiler and the valves, and there was no time to fix them.";
+		next;
+		mes "[Boiler]";
+		mes "I'm alone and the boiler room has to be ran by two, but I'm the only one left. There's no time to fix it. I can send it somewhere else, I'm worried that they'll reformat the data.";
+		mes "It's not so serious, I can fix it slowly. Valve is not that bad, it only touches the boiler sometimes. I don't know much about humans, but I know a lot about herbs and boilers.";
+		next;
+		mes "[Boiler]";
+		mes "But I still have to fix it.";
+		mes "Hmm... " + strcharinfo(0) + "? Are you free?";
+		next;
+		cutin "",255;
+		select( "Why?" );
+		cutin "ep172_beta",2;
+		mes "[Boiler]";
+		mes "If you're free, please help me. I'm short on hands. The valve and the boiler needs to be fixed. But I'm alone and the other dolls are busy.";
+		mes "I wish I were two. Wow... wouldn't it be nice? If there were two of me, this would be the best boiler room.";
+		next;
+		mes "[Boiler]";
+		mes "I'll ask Alpha to clone me. I don't know if it's possible, but logically, it's more efficient if there's two of me.";
+		mes "But, what can I do right now? There's no other me. I should ask for help. So please help me if you're free.";
+		next;
+		cutin "",255;
+		if (select( "I'll help you.", "I have to go take a bath." ) == 2) {
+			cutin "ep172_beta",2;
+			mes "[Boiler]";
+			mes "Really? Then there's nothing I can do. You also look tired, so I'll send you herbs for recovery. Goodbye.";
+			close3;
+		}
+		cutin "ep172_beta",2;
+		mes "[Boiler]";
+		mes "Thank you. Then, can you handle 20 ^0000CDbroken automatic dolls^000000? I also need 5 ^0000CDbroken automatic doll parts^000000.";
+		next;
+		cutin "",255;
+		select( "Sure." );
+		cutin "ep172_beta",2;
+		mes "[Boiler]";
+		mes "Yes, then please.";
+		setquest 17375;
+		completequest 17375;
+		setquest 17376;
+		close3;
+	}
+	cutin "ep172_beta",2;
+	mes "[Boiler]";
+	mes "What brings you here today? Oh, is it for work?";
+	next;
+	.@playtime = checkquest(17377,PLAYTIME);
+	.@hunting = checkquest(17376,HUNTING);
+
+	if (.@playtime == 0 || .@playtime == 1)
+		.@menu$ = "^C0C0C0Help on work - Cooldown^000000";
+	else if (.@hunting == 0 || .@hunting == 1)
+		.@menu$ = "^C0C0C0Help on work - On Progress^000000";
+	else
+		.@menu$ = "Help on work";
+
+	if (select( .@menu$, "I came to say hello." ) == 2) {
+		mes "[Boiler]";
+		mes "Yes, I don't know why you are here. Nothing has changed here. We are still working on the boiler.";
+		close3;
+	}
+	if (.@playtime == 0 || .@playtime == 1) {
+		mes "[Boiler]";
+		mes "Umm... I heard humans break down easily if they work too much. Please go get some rest and come back after dawn.";
+		close3;
+	}
+	switch( .@hunting ) {
+	case -1:
+		if (select( "Let me handle it.", "I'l like to take a break today." ) == 2) {
+			mes "[Boiler]";
+			mes "That's weird. I thought you came to see me because you want to get work, right? Well, I understand.";
+			close3;
+		}
+		mes "[Boiler]";
+		mes "How can there be such a sincere human? Then, today too please handle 20 ^0000CDbroken automatic dolls^000000 and bring 5 ^0000CDbroken automatic doll parts^000000.";
+		setquest 17376;
+		if (isbegin_quest(17377) == 1)
+			erasequest 17377;
+		close3;
+	case 0:
+	case 1:
+		mes "[Boiler]";
+		mes "Are you done with your work?";
+		next;
+		mes "[Boiler]";
+		if (countitem(1000231) < 5) {
+			mes "Where is it? We need 5 Broken Automatic Doll Parts. I think there is a hole in your bag. You should check it.";
+			close3;
+		}
+		mes "Did you handle the 20 Broken Automatic Dolls? Are you injured somewhere?";
+		close3;
+	case 2:
+		if (countitem(1000231) < 5) {
+			mes "[Boiler]";
+			mes "Where is it? We need 5 Broken Automatic Doll Parts. I think there is a hole in your bag. You should check it.";
+			close3;
+		}
+		mes "[Boiler]";
+		mes "Are you done with your work?";
+		next;
+		mes "[Boiler]";
+		mes "You've brought a lot. Well, I'll trade it for this barmeal ticket. Thank you.";
+		erasequest 17376;
+		setquest 17377;
+		delitem 1000231,5;
+		getitem rand(100147,100149),1;
+		getitem 1000103,2;
+		getexp 834974,584500;
+		close3;
+	}
+	end;
+
+OnInit:
+	// Sidequest quest : Exploring bathhouse
+	questinfo( QTYPE_QUEST, QMARK_YELLOW, "isbegin_quest(17364) == 1" );
+
+	// Daily
+	questinfo( QTYPE_DAILYQUEST, QMARK_YELLOW, "isbegin_quest(17374) == 2 && checkquest(17376,HUNTING) == -1 && checkquest(17377,PLAYTIME) == -1" );
+	questinfo( QTYPE_DAILYQUEST, QMARK_YELLOW, "checkquest(17377,PLAYTIME) == 2" );
+	questinfo( QTYPE_QUEST2, QMARK_YELLOW, "checkquest(17376,HUNTING) == 2 && countitem(1000231) >= 5" );
+	end;
+}
+
+// Sidequest quest : Exploring bathhouse - Step 4
+ba_bath,270,94,0	script	#172bav01	HIDDEN_WARP_NPC,5,5,{
+	end;
+OnTouch:
+	if (ep17_2_bath == 3)
+		cloakoffnpcself( "Rookie#172ba03" );
+	end;
+}
+
+ba_bath,270,94,5	script(CLOAKED)	Rookie#172ba03	4_M_ROOKIE,{
+	if (ep17_2_bath == 3) {
+		cutin "16loo_03",2;
+		mes "[Rookie]";
+		mes "...This, that...";
+		next;
+		select( "Lucky?" );
+		cutin "16loo_01",2;
+		mes "[Rookie]";
+		mes "What? Yes. There's... nothing here. I'd rather go to the ^0000CDlake^000000.";
+		next;
+		mes "[Rookie]";
+		mes "There maybe something <NAVI>[there]<INFO>ba_bath,165,43,0,101,0</INFO></NAVI>. Let's take a look.";
+		ep17_2_bath = 4;
+		erasequest 17365;
+		setquest 17366;
+		close2;
+		cutin "",255;
+		cloakonnpcself();
+		end;
+	}
+	end;
+
+OnInit:
+	questinfo( QTYPE_QUEST, QMARK_YELLOW, "isbegin_quest(17365) == 1" );
+	end;
+}
+
+// Sidequest quest : Exploring bathhouse - Step 5
+// ba_bath,165,43,3	script	Shrine#172ba02	4_EP17_BUCKETS,5,5,{
+
+// Sidequest quest : Exploring bathhouse - Step 6
+ba_bath,203,58,0	script	#172bar01	HIDDEN_WARP_NPC,5,5,{
+	end;
+OnTouch:
+	if (ep17_2_bath == 5)
+		cloakoffnpcself( "Rookie#172ba04" );
+	end;
+}
+
+ba_bath,203,58,3	script(CLOAKED)	Rookie#172ba04	4_M_ROOKIE,{
+	if (checkweight(1201,2) == 0) {	// (custom)
+		mes "^008800Wait a sec!!";
+		mes "You cannot receive any more items because you're carrying too many items. Please try again after you lighten up.^000000";
+		close;
+	}
+	if (ep17_2_bath == 5) {
+		cloakoffnpcself( "Molar#172ba03" );
+		cloakoffnpcself( "Magenta#172ba03" );
+		mes "[Magenta]";
+		mes "Lucky! You're safe! I thought something happened to you because you were alone!";
+		next;
+		cutin "16loo_01",2;
+		mes "[Rookie]";
+		mes "Did you see me too?";
+		next;
+		cloakoffnpcself( "Canine#172ba03" );
+		cloakoffnpcself( "Denny#172ba03" );
+		cutin "",255;
+		mes "[Denny]";
+		mes "Lucky? Are you the one who fired the signal? Why did you call us, didn't you tell us to go to the lake?";
+		next;
+		cloakoffnpcself( "Danae#172ba03" );
+		cloakoffnpcself( "Cyan#172ba03" );
+		mes "[Cyan]";
+		mes "How did you get here faster than me?";
+		next;
+		cutin "16loo_01",2;
+		mes "[Rookie]";
+		mes "Hold on, calm down. Did you all of you see me out there?";
+		next;
+		cutin "",255;
+		mes "[Denny]";
+		mes "Of course! If Lucky is not Lucky, then who is it?";
+		npctalk "I wouldn't lie to you.", "Cyan#172ba03", bc_self;
+		next;
+		cutin "16loo_03",2;
+		mes "[Rookie]";
+		mes "Then it doesn't seem to be one of them.";
+		mes "Listen. We don't know the identity of the unknown entity here yet. But it's not an automatic doll nor ghost. It's not a monster. Not even a supernatural being.";
+		npctalk "So what is it?", "Cyan#172ba03", bc_self;
+		next;
+		cutin "",255;
+		mes "[Denny]";
+		mes "How did you figure it out?";
+		next;
+		cutin "16loo_01",2;
+		mes "[Rookie]";
+		mes "I met everyone once. You saw me out there, didn't you? I even told you where to go. Didn't you feel anything out of place? It's a fake that imitates me.";
+		next;
+		cutin "",255;
+		mes "[Magenta]";
+		mes "What?? It wasn't really you?";
+		npctalk "It looks exactly like you.", "Cyan#172ba03", bc_self;
+		npctalk "Oh, that's right! He also told me to go to the lake too!", "Denny#172ba03", bc_self;
+		next;
+		cutin "16loo_01",2;
+		mes "[Rookie]";
+		mes "I've been with Shrine all this time. The adventurer met with the fake and almost went to the lake.";
+		mes "Given the circumstances, it's an intelligent life and it doesn't mean to hurt us. It's just trying to get us out of this place. There's a high possibility that Gonie's safe.";
+		next;
+		cutin "",255;
+		mes "[Magenta]";
+		mes "You mean I've been fooled by fake? Whoever it is, I'll find it out.";
+		npctalk "You lied to me...", "Cyan#172ba03", bc_self;
+		npctalk "Ha. Yeah. I'm amazing.", "Denny#172ba03", bc_self;
+		next;
+		cutin "16loo_01",2;
+		mes "[Rookie]";
+		mes "Our opponent knows this bathhouse well. Given that it knows the existence of a lake where the water drains intermittently, it also might know a secret passage.";
+		next;
+		mes "[Rookie]";
+		mes "You'll get used to the water. And... the steam. Yeah it must know how to use the steam. I don't know what it's doing with the steam. But there's gotta be something else more than obstructing the view. So, be careful.";
+		next;
+		cutin "16loo_03",2;
+		mes "[Rookie]";
+		mes "The opponent will be very fast on the water. Like an aquatic creature.";
+		next;
+		cutin "",255;
+		mes "[Magenta]";
+		mes "Well, then we should keep it out of the water.";
+		npctalk "Maybe it's a Racoon.", "Cyan#172ba03", bc_self;
+		npctalk "Yeah, let's drive it away!", "Denny#172ba03", bc_self;
+		next;
+		cutin "16loo_01",2;
+		mes "[Rookie]";
+		mes "Denny, prepare to set up a trap. A tight one.";
+		npctalk "I never thought I'd use a trap here. I'm glad I brought it.", "Denny#172ba03", bc_self;
+		next;
+		mes "[Rookie]";
+		mes "Magenta, block the drain and possible location for retreat.";
+		npctalk "I've seen it all before.", "Magenta#172ba03", bc_self;
+		next;
+		mes "[Rookie]";
+		mes "Next, use a smoke bomb and blank bombs while moving from one side to another. Be careful not get the ammunition wet, there's a lot of water and steam in here. And lastly do not damage the facility here.";
+		npctalk "Okay.", "Cyan#172ba03", bc_self;
+		next;
+		cutin "16loo_03",2;
+		mes "[Rookie]";
+		mes "Hmm... There's a lot of water in here, so it'd be nice if we can use it. If we catch it's feet with ice... Can we use the freezing trap?";
+		next;
+		cutin "",255;
+		mes "[Denny]";
+		mes "I brought it all here. Let me see... here it is.";
+		next;
+		cutin "16loo_02",2;
+		mes "[Rookie]";
+		mes "Adventurer, take these ^0000CDfreezing trap^000000. Please plant it in every marked ?? <NAVI>[places]<INFO>ba_bath,55,55,0,101,0</INFO></NAVI>. You just have to plant it in place and keep it steady. Please hurry.";
+		next;
+		cutin "16loo_01",2;
+		mes "[Rookie]";
+		mes "Then, move out!";
+		ep17_2_bath = 6;
+		erasequest 17367;
+		setquest 17368;
+		getitem 1000103,7;
+		getitem 1000100,4;
+		getexp 309400,0;
+		close2;
+		cutin "",255;
+		cloakonnpcself();
+		cloakonnpcself( "Denny#172ba03" );
+		cloakonnpcself( "Molar#172ba03" );
+		cloakonnpcself( "Canine#172ba03" );
+		cloakonnpcself( "Danae#172ba03" );
+		cloakonnpcself( "Magenta#172ba03" );
+		cloakonnpcself( "Cyan#172ba03" );
+		end;
+	}
+	end;
+
+OnInit:
+	questinfo( QTYPE_QUEST, QMARK_YELLOW, "isbegin_quest(17367) == 1" );
+	end;
+}
+
+ba_bath,202,54,7	duplicate(dummy_cloaked_npc)	Danae#172ba03	4_F_REBELLION2
+ba_bath,204,54,1	duplicate(dummy_cloaked_npc)	Canine#172ba03	4_F_REBELLION3
+ba_bath,201,58,5	duplicate(dummy_cloaked_npc)	Denny#172ba03	4_M_REBELLION3
+ba_bath,204,56,1	duplicate(dummy_cloaked_npc)	Magenta#172ba03	4_M_GUNSLINGER2
+ba_bath,200,57,7	duplicate(dummy_cloaked_npc)	Molar#172ba03	4_M_REBELLION
+ba_bath,201,55,7	duplicate(dummy_cloaked_npc)	Cyan#172ba03	4_F_REBELLION3
+
+// Sidequest quest : Exploring bathhouse - Step 7
+ba_bath,55,55,0	script	#172bat01	HIDDEN_WARP_NPC,3,3,{
+	end;
+OnTouch:
+	if (ep17_2_bath == 6) {
+		cloakoffnpcself( "Marked Position#172ba01" );
+		end;
+	}
+	end;
+}
+
+ba_bath,55,55,5	script(CLOAKED)	Marked Position#172ba01	4_ENERGY_BLUE,{
+	if (ep17_2_bath == 6) {
+		specialeffect EF_ICEMINE_1;
+		specialeffect EF_ICECRASH;
+		unittalk getcharid(3), "" + strcharinfo(0) + " : This must be the place. The cold air started to flow when the trap was set. Let's move to the next location.", bc_self;
+		cloakonnpcself();
+		ep17_2_bath = 7;
+		erasequest 17368;
+		setquest 17369;
+		if (countitem(1000100) > 0)
+			delitem 1000100,1;
+		navigateto("ba_bath",306,121);
+		end;
+	}
+	end;
+
+OnInit:
+	questinfo( QTYPE_QUEST, QMARK_YELLOW, "isbegin_quest(17368) == 1" );
+	end;
+}
+
+// Sidequest quest : Exploring bathhouse - Step 8
+ba_bath,306,121,0	script	#172bat02	HIDDEN_WARP_NPC,3,3,{
+	end;
+OnTouch:
+	if (ep17_2_bath == 7) {
+		cloakoffnpcself( "Marked Position#172ba02" );
+		end;
+	}
+	end;
+}
+
+ba_bath,306,121,0	script(CLOAKED)	Marked Position#172ba02	4_ENERGY_BLUE,{
+	if (ep17_2_bath == 7) {
+		specialeffect EF_ICEMINE_1;
+		specialeffect EF_ICECRASH;
+		unittalk getcharid(3), "" + strcharinfo(0) + " : I set the trap where Lucky asked me too. Let's move to the next location.", bc_self;
+		cloakonnpcself();
+		ep17_2_bath = 8;
+		erasequest 17369;
+		setquest 17370;
+		if (countitem(1000100) > 0)
+			delitem 1000100,1;
+		navigateto("ba_bath",21,276);
+		end;
+	}
+	end;
+
+OnInit:
+	questinfo( QTYPE_QUEST, QMARK_YELLOW, "isbegin_quest(17369) == 1" );
+	end;
+}
+
+// Sidequest quest : Exploring bathhouse - Step 9
+ba_bath,21,276,0	script	#172bat03	HIDDEN_WARP_NPC,3,3,{
+	end;
+OnTouch:
+	if (ep17_2_bath == 8) {
+		cloakoffnpcself( "Marked Position#172ba03" );
+		end;
+	}
+	end;
+}
+
+ba_bath,21,276,0	script(CLOAKED)	Marked Position#172ba03	4_ENERGY_BLUE,{
+	if (ep17_2_bath == 8) {
+		specialeffect EF_ICEMINE_1;
+		specialeffect EF_ICECRASH;
+		unittalk getcharid(3), "" + strcharinfo(0) + " : I set the trap securely in the marked position. Let's move to the next location.", bc_self;
+		cloakonnpcself();
+		ep17_2_bath = 9;
+		erasequest 17370;
+		setquest 17371;
+		if (countitem(1000100) > 0)
+			delitem 1000100,1;
+		navigateto("ba_bath",155,305);
+		end;
+	}
+	end;
+
+OnInit:
+	questinfo( QTYPE_QUEST, QMARK_YELLOW, "isbegin_quest(17370) == 1" );
+	end;
+}
+
+// Sidequest quest : Exploring bathhouse - Step 10
+ba_bath,155,305,0	script	#172bat04	HIDDEN_WARP_NPC,3,3,{
+	end;
+OnTouch:
+	if (ep17_2_bath == 9) {
+		cloakoffnpcself( "Marked Position#172ba04" );
+		end;
+	}
+	end;
+}
+
+ba_bath,155,305,0	script(CLOAKED)	Marked Position#172ba04	4_ENERGY_BLUE,{
+	if (ep17_2_bath == 9) {
+		specialeffect EF_ICEMINE_1;
+		specialeffect EF_ICECRASH;
+		unittalk getcharid(3), "" + strcharinfo(0) + " : I've finally set all the traps securely. Where should I go now?", bc_self;
+		setpcblock PCBLOCK_NPC, true;
+		sleep2 500;
+		cloakoffnpcself( "Magenta#172ba04" );
+		npctalk "Adventurer, have you set up all the traps? It already started over there. Hurry and go.", "Magenta#ep172_bath_trap", bc_self;
+		sleep2 1500;
+		setpcblock PCBLOCK_NPC, false;
+		cloakonnpcself( "Magenta#172ba04" );
+		cloakonnpcself();
+		ep17_2_bath = 10;
+		erasequest 17371;
+		setquest 17372;
+		if (countitem(1000100) > 0)
+			delitem 1000100,1;
+		navigateto("ba_bath",286,298);
+		end;
+	}
+	end;
+
+OnInit:
+	questinfo( QTYPE_QUEST, QMARK_YELLOW, "isbegin_quest(17371) == 1" );
+	end;
+}
+
+ba_bath,154,303,5	duplicate(dummy_cloaked_npc)	Magenta#172ba04	4_M_GUNSLINGER2
+
+// Sidequest quest : Exploring bathhouse - Step 11, 12, 13
+ba_bath,286,298,0	script	#172bas02	HIDDEN_WARP_NPC,5,5,{
+	end;
+OnTouch:
+	if (ep17_2_bath == 10) {
+		setnpcdisplay( "Unknown Creature#172ba01", 4_CENERE );
+		cloakoffnpcself( "Unknown Creature#172ba01" );
+		end;
+	}
+	if (ep17_2_bath == 11) {
+		setnpcdisplay( "Unknown Creature#172ba01", 4_M_GONY );
+		cloakoffnpcself( "Unknown Creature#172ba01" );
+		end;
+	}
+	if (ep17_2_bath == 12) {
+		setnpcdisplay( "Unknown Creature#172ba01", 4_EP17_MERMAID );
+		cloakoffnpcself( "Unknown Creature#172ba01" );
+		end;
+	}
+	end;
+}
+
+ba_bath,286,298,3	script(CLOAKED)	Unknown Creature#172ba01	4_EP17_MERMAID,{
+	if (checkweight(1000103,16) == 0) {	// (custom)
+		mes "^008800Wait a sec!!";
+		mes "You cannot receive any more items because you're carrying too many items. Please try again after you lighten up.^000000";
+		close;
+	}
+	if (ep17_2_bath == 10) {
+		cloakoffnpcself( "Rookie#172ba05" );
+		cloakoffnpcself( "Denny#172ba04" );
+		cloakoffnpcself( "Magenta#172ba05" );
+		cloakoffnpcself( "Cyan#172ba04" );
+		cloakoffnpcself( "Molar#172ba04" );
+		cloakoffnpcself( "Canine#172ba04" );
+		cloakoffnpcself( "Danae#172ba04" );
+		cutin "16loo_01",2;
+		mes "[Rookie]";
+		mes "Adventurer, you arrived just in time.";
+		mes "Here, the one in front of us. Everybody be careful.";
+		next;
+		cutin "",255;
+		mes "Ching-";
+		specialeffect EF_SMOKE;
+		specialeffect EF_PEONG;
+		next;
+		select( "This steam must be..." );
+		setnpcdisplay( "Unknown Creature#172ba01", 4_CENERE );
+		cloakoffnpcself( "Unknown Creature#172ba01" );
+		cloakoffnpcself( "Gonie#172ba01" );
+		mes "[Denny]";
+		mes "Isn't that Gonie? And there are... two Lucky?";
+		npctalk "Lucky...?", "Denny#172ba04", bc_self;
+		npctalk "Who's real?", "Magenta#172ba05", bc_self;
+		next;
+		cutin "16loo_01",2;
+		mes "[Rookie]";
+		mes "Of course it's me! Who did you guys come all the way here with? We're here to catch that fake.";
+		npctalk "This is Lucky. Right.", "Molar#172ba04", bc_self;
+		npctalk "Of course it's me!", "Rookie#172ba05", bc_self;
+		next;
+		cutin "16loo_03",2;
+		mes "[Rookie]";
+		mes "I don't know who you are, but since you don't have a place to run away, you'd better not think about it. This place is surrounded by three party. Denny, Magenta. Check Gonie.";
+		next;
+		cutin "16loo_01",0;
+		mes "[??????]";
+		mes "......";
+		npctalk "......", "", bc_self;
+		next;
+		cutin "",255;
+		cloakonnpcself( "Denny#172ba04" );
+		cloakonnpcself( "Magenta#172ba05" );
+		sleep2 1000;
+		cloakoffnpcself( "Denny#172ba05" );
+		cloakoffnpcself( "Magenta#172ba06" );
+		mes "[Denny]";
+		mes "Gonie, stayed hidden and go stuck. There seems to be no traumas.";
+		next;
+		cutin "16loo_01",2;
+		mes "[Rookie]";
+		mes "Take out all the potions that you have.";
+		next;
+		cutin "",255;
+		mes "[Magenta]";
+		mes "Is that necessary? It'll heal up in no time, I just need to spray water here and a few slap on the cheek.";
+		npctalk "You, I told you to stop readying spy novels, right?", "Cyan#172ba04", bc_self;
+		next;
+		cloakonnpcself( "Rookie#172ba05" );
+		sleep2 1000;
+		cloakoffnpcself( "Rookie#172ba06" );
+		cutin "16loo_01",2;
+		mes "[Rookie]";
+		mes "Gonie, Gonie? Drink this. Can you drink it?";
+		npctalk "Lucky, you'd better stand back a little. I think I'll get confused when you get too close with it.", "Canine#172ba04", bc_self;
+		next;
+		cutin "",255;
+		mes "[Magenta]";
+		mes "Lucky, stand back a little bit. Is that really Gonie? Not a fake one? Let's check it out.";
+		next;
+		cutin "16loo_01",2;
+		mes "[Rookie]";
+		mes "How could it be not Gonie, there's literally a fake me over there.";
+		next;
+		cutin "16go_03.bmp",2;
+		mes "[Gonie]";
+		mes "......!!";
+		next;
+		cutin "16loo_01",2;
+		mes "[Rookie]";
+		mes "Gonie? Are you awake now? Are you alright?";
+		next;
+		mes "[Rookie]";
+		mes "Everyone take cover! You too adventurer!";
+		specialeffect EF_SUI_EXPLOSION, AREA, "Gonie#172ba01";
+		next;
+		cutin "",255;
+		select( "Yes!" );
+		cloakonnpcself( "Rookie#172ba06" );
+		sleep2 1500;
+		cloakoffnpcself( "Rookie#172ba05" );
+		mes "[Denny]";
+		mes "No, even if you told us to cover...";
+		next;
+		mes "Ching-";
+		specialeffect EF_SMOKE;
+		specialeffect EF_PEONG;
+		next;
+		setnpcdisplay( "Unknown Creature#172ba01", 4_M_GONY );
+		cloakoffnpcself( "Unknown Creature#172ba01" );
+		cutin "16loo_01",2;
+		mes "[Rookie]";
+		mes "Ah! Again, another steam!!!";
+		next;
+		cutin "",255;
+		mes "[Denny]";
+		mes "Now, Gonie... there's two of them.";
+		npctalk "Hey, Lucky. Gonie doesn't even know the code. What should we do?", "Denny#172ba05", bc_self;
+		npctalk "Doesn't the left one looks like Gonie? He looks like he's having a hard time?", "Magenta#172ba06", bc_self;
+		npctalk "Gonie is obviously the one on the right. Look at those eyes.", "Canine#172ba04", bc_self;
+		next;
+		cutin "16loo_02",2;
+		mes "[Rookie]";
+		mes "Everybody be quiet. We have an easy and sure way to recognize the real Gonie.";
+		mes "Gonie? Which one is the real Gonie?";
+		next;
+		cutin "16go_03",2;
+		mes "[Gonie]";
+		mes "......";
+		npctalk "......", "Gonie#172ba01", bc_self;
+		next;
+		cutin "16go_03",0;
+		mes "[Gonie]";
+		mes "Of course it's me.";
+		npctalk "Of course it's me.", "", bc_self;
+		next;
+		cutin "",255;
+		mes "[Cyan]";
+		mes "Huh... really. It's too easy. Even a newborn child can surely answer this one.";
+		npctalk "Denny, Magenta. Hold the fake firmly.", "Rookie#172ba05", bc_self;
+		next;
+		cutin "16go_03",0;
+		mes "[Gonie]";
+		mes "What's wrong with you? Let go of me! That's the fake!";
+		npctalk "What's wrong with you? Let go of me! That's the fake!", "", bc_self;
+		next;
+		cutin "16loo_02",2;
+		mes "[Rookie]";
+		mes "Adventurer, do you which one is the real one?";
+		next;
+		cutin "",255;
+		if (select( "The silent one.", "The one who claims to be the real one." ) == 2) {
+			mes "[Cyan]";
+			mes "We're disappointed in you! You still don't know after hanging with us for sometime now, how.";
+		}
+		else {
+			mes "[Cyan]";
+			mes "You have a good eyes, adventurer.";
+		}
+		next;
+		mes "[Cyan]";
+		mes "Gonie, come over here.";
+		next;
+		cutin "16go_03",2;
+		mes "[Gonie]";
+		mes "......";
+		npctalk "......", "Gonie#172ba01", bc_self;
+		next;
+		cutin "",255;
+		cloakonnpcself( "Gonie#172ba01" );
+		sleep2 1500;
+		cloakoffnpcself( "Gonie#172ba02" );
+		mes "[Magenta]";
+		mes "Hahaha! Our Gonie is a very silent person!!";
+		npctalk "Reveal who you are! You villain!!!", "Cyan#172ba04", bc_self;
+		npctalk "You're more like a villain, Cyan...", "Danae#172ba04", bc_self;
+		next;
+		cutin "16go_03",0;
+		mes "[??????]";
+		mes "Sigh... I guess I've delayed it too much. I'm going to get out of this form right away.";
+		mes "I, cured his injures... Well, since we haven't done anything to each other, why don't we end it up like this?";
+		next;
+		cutin "16loo_02",2;
+		mes "[Rookie]";
+		mes "You can't do that. He's the victim here. Isn't that right, Gonie?";
+		next;
+		cutin "16go_03",2;
+		mes "[Gonie]";
+		mes "......";
+		npctalk "......", "Gonie#172ba02", bc_self;
+		next;
+		cutin "16loo_01",2;
+		mes "[Rookie]";
+		mes "Okay. Shall we talk now? Who are you exactly?";
+		next;
+		cutin "16go_03",0;
+		mes "[??????]";
+		mes "Before that...";
+		ep17_2_bath = 11;
+		erasequest 17372;
+		setquest 17373;
+		close3;
+	}
+	if (ep17_2_bath == 11) {
+		cloakoffnpcself( "Rookie#172ba05" );
+		cloakoffnpcself( "Denny#172ba05" );
+		cloakoffnpcself( "Magenta#172ba06" );
+		cloakoffnpcself( "Cyan#172ba04" );
+		cloakoffnpcself( "Molar#172ba04" );
+		cloakoffnpcself( "Canine#172ba04" );
+		cloakoffnpcself( "Danae#172ba04" );
+		cloakoffnpcself( "Gonie#172ba02" );
+		cutin "16go_03",0;
+		mes "[??????]";
+		mes "Before that, don't touch me. I won't attack you. But let me go as it is. Then I won't hurt you.";
+		mes "I gave him back. Wasn't that what you're aiming for? If you let me go, you'll be blessed in the future.";
+		npctalk "Who's hurting who? I don't you don't know the situation you're in.", "Denny#172ba05", bc_self;
+		next;
+		cutin "16loo_01",2;
+		mes "[Rookie]";
+		mes "I was looking for Gonie, but that's not what's not all I was looking for. I've been looking for the one who put Gonie in danger. It might hurt other people too.";
+		mes "We can't return with risks like this. We have to do some research...";
+		npctalk "But how can do it nicely!", "Denny#172ba05", bc_self;
+		next;
+		cutin "16go_03",0;
+		mes "[??????]";
+		mes "Well, I won't do anything anymore, so just bite this. I'm not a villain.";
+		npctalk "Sigh~ I'm not curious at all~", "Magenta#172ba06", bc_self;
+		npctalk "I guess everyone learn such cliche lines from somewhere. It's all the same.", "Canine#172ba04", bc_self;
+		npctalk "I'd like to know where's the place. So I can turn it to ashes.", "Molar#172ba04", bc_self;
+		next;
+		cloakoffnpcself( "Shrine#172ba03" );
+		cutin "ep172_beta",1;
+		mes "[Shrine]";
+		mes "What's the fuss about? If there's an accident...";
+		mes "There's two person...? Is this what you're talking about " + strcharinfo(0) + "?";
+		npctalk "Oh no... even an automatic doll...", "", bc_self;
+		next;
+		cutin "",255;
+		select( "Yes. The other one is a fake." );
+		cutin "ep172_beta",1;
+		mes "[Shrine]";
+		mes "Please wait a moment. I'll deal with it.";
+		mes "Who are you? Please identify yourself. Why are you bothering the guests here?";
+		next;
+		cutin "16loo_01",2;
+		mes "[Rookie]";
+		mes "Wait, are you going to keep talking like that? It's confusing, why don't you talk to him in his original form?";
+		next;
+		cutin "16go_03",0;
+		mes "[??????]";
+		mes "Well... I understand. I need you to put your gun away. I won't run nor hurt you.";
+		next;
+		cutin "",255;
+		specialeffect EF_SMOKE;
+		specialeffect EF_PEONG;
+		setnpcdisplay( "Unknown Creature#172ba01", 4_EP17_MERMAID );
+		cloakoffnpcself( "Unknown Creature#172ba01" );
+		mes "[??????]";
+		mes "This is who I am.";
+		next;
+		select( "A mermaid?" );
+		emotion ET_HUK;
+		mes "[??????]";
+		mes "Is it the term for half human and fish for humans?";
+		mes "I'm not exactly the same species as the mermaids here.";
+		next;
+		mes "[??????]";
+		mes "But it's complicated to describe our kind, so call me whatever you're comfortable with.";
+		mes "Even if you call me that anyway, there's no one here who would dispute about it. Above all, we are not the same guests of Varmundt.";
+		next;
+		cutin "ep172_beta",1;
+		mes "[Shrine]";
+		mes "You really know the master, so are you a guest? Then, please let me know your name.";
+		next;
+		cutin "",255;
+		mes "[??????]";
+		mes "Is it self-introduction time? I've heard that the people here introduce themselves before socializing. I'm a princess. I'm from the East Sea.";
+		next;
+		cutin "ep172_beta",1;
+		mes "[Shrine]";
+		mes "Please wait a moment. I'll check.";
+		npctalk "By the way, where is the East Sea? I've never heard of it.", "Denny#172ba05", bc_self;
+		next;
+		cutin "",255;
+		mes "[Magenta]";
+		mes "Why are you here when you're a princess?";
+		next;
+		mes "[Princess]";
+		mes "It's... it's... no what I meant... it's not that I don't want to show up in front of my people.";
+		mes "Don't look at me like that. I've heard my name among humans, but where I was born and raised is completely different.";
+		npctalk "Oh, she's not a princess. Her name is Princess", "Cyan#172ba04", bc_self;
+		npctalk "You're right. Shrine should be able to find it.", "Denny#172ba05", bc_self;
+		npctalk "The name fits you.", "Magenta#172ba06", bc_self;
+		npctalk "Really? Do I really look like a strong being that can support everything?", "", bc_self;
+		sleep2 1500;
+		npctalk "... that's what you meant?", "Magenta#172ba06", bc_self;
+		sleep2 1000;
+		npctalk "... that's what it means.", "", bc_self;
+		next;
+		cutin "ep172_beta",1;
+		mes "[Shrine]";
+		mes "I'm sorry, I've double-checked the list, but I can't find your name. May I have your name again?";
+		next;
+		cutin "",255;
+		mes "[Princess]";
+		mes "I'm probably not in the list. That's what I asked for.";
+		mes "I've been wandering away from home. That's how Varmundt was able to let me use the mansion's bathhouse without anyone contacting him about me.";
+		next;
+		mes "[Princess]";
+		mes "I don't remember the exact time since its some quite time ago already... and Varmundt haven't showed up for a long time.";
+		next;
+		cutin "ep172_beta",1;
+		mes "[Shrine]";
+		mes "So it's been a while since you've been in and out of this bathhouse. But as Princess claims, we need to make sure that you're a guest of the bathhouse.";
+		next;
+		mes "[Shrine]";
+		mes "Please understand that this is a necessary confirmation procedure without the master giving us any other word. Do you happen to have any memento or messages from the master?";
+		next;
+		cutin "",255;
+		mes "[Princess]";
+		mes "I'm afraid that I don't have any. I was supposed to be quiet in the first place.";
+		next;
+		mes "[Princess]";
+		mes "I've been staying on the water around here. Then I met Varmundt who was taking a walk outside the mansion.";
+		mes "Varmundt knew my situation and was very kind to invite me to his mansion and make the bathhouse available for me at any time.";
+		next;
+		mes "[Princess]";
+		mes "I'm using it quietly without letting anyone know in regards to the concern to my situation, that's why I'm wary of people. Especially I'm avoiding contact with the automatic dolls that are different from living things.";
+		mes "Varmundt also gave me a special access to be able to enter the bathhouse.";
+		next;
+		cutin "ep172_beta",1;
+		mes "[Shrine]";
+		mes "Security would have been triggeered the moment an outsider entered the mansion in an unusual way for certain. Okay. Excuse me. I'll make sure you don't have any inconvenience in registering and using the bathhouse as an official guest.";
+		next;
+		cutin "",255;
+		mes "[Princess]";
+		mes "Well, do I have to?";
+		next;
+		cutin "ep172_beta",1;
+		mes "[Shrine]";
+		mes "If you use it without registering, it may cause unnecessary misunderstanding to other guests, so you should atleast register. The master is also not here for consultation.";
+		next;
+		cutin "",255;
+		mes "[Princess]";
+		mes "Then... I understand.";
+		next;
+		cutin "ep172_beta",1;
+		mes "[Shrine]";
+		mes "I'll take care of it. May I have your name again.";
+		next;
+		cutin "",255;
+		mes "[Princess]";
+		mes "Princess, from the East Sea.";
+		next;
+		cutin "16loo_01",2;
+		mes "[Rookie]";
+		mes "Is it our turn now? Why don't we talk while you register?";
+		ep17_2_bath = 12;
+		erasequest 17373;
+		setquest 17374;
+		close3;
+	}
+	if (ep17_2_bath == 12) {
+		cloakoffnpcself( "Rookie#172ba05" );
+		cloakoffnpcself( "Denny#172ba05" );
+		cloakoffnpcself( "Magenta#172ba06" );
+		cloakoffnpcself( "Cyan#172ba04" );
+		cloakoffnpcself( "Molar#172ba04" );
+		cloakoffnpcself( "Canine#172ba04" );
+		cloakoffnpcself( "Danae#172ba04" );
+		cloakoffnpcself( "Gonie#172ba02" );
+		mes "[Princess]";
+		mes "What do you want to know?";
+		next;
+		cutin "16loo_01",2;
+		mes "[Rookie]";
+		mes "I know why you're here. But why did you attack people? You could have known that he didn't mean to hurt you.";
+		next;
+		cutin "",255;
+		mes "[Princess]";
+		mes "First of all, I didn't attack him. He's been following me for a long time. And then I accidentally...";
+		mes "I was going to treat the fainted man and let him out nicely, but then you guys just came in and...";
+		next;
+		mes "[Princess]";
+		mes "I always tried to get people out of here, but it didn't work. I didn't mean to harm you. I was reluctant to make contact in the first place.";
+		mes "That's why Varmundt considered me, since I've been chased for a long time, I've stopped reflexively... That's what my anxiety is about.";
+		next;
+		select( "Why are you so reluctant?" );
+		mes "[Princess]";
+		mes "It's because of my sexuality. It forced me to leave my hometown after being bullied. That's why when I come into contact with other people, I become unknowingly wary.";
+		mes "I'm so sorry if I hurt you. Please forgive me for doing something unintentionally to protect myself.";
+		next;
+		cutin "16loo_01",2;
+		mes "[Rookie]";
+		mes "I don't know... he said he was injured but he didn't mean it, and he's a guest at this mansion.";
+		next;
+		mes "[Rookie]";
+		mes "As long as you promise to not disturb or harm other people, we're going to step down at this point. What do you say?";
+		next;
+		cutin "",255;
+		mes "[Princess]";
+		mes "Of course, I will promise with my honor on it.";
+		next;
+		cutin "16loo_01",2;
+		mes "[Rookie]";
+		mes "Then we'll trust your word of honor, and we'll wrap it up and step down.";
+		next;
+		cutin "ep172_beta",1;
+		mes "[Shrine]";
+		mes "Thank you for waiting. Princess of the East Sea, I've registered you as an official guest of Varmundt Mansion. I apologize if it took some time since the communication is unstable.";
+		mes "The princess can now stay in this mansion as a guest of Varmundt. Please feel free to use it.";
+		next;
+		cutin "",255;
+		mes "[Princess]";
+		mes "I'm curious about something. Is Varmundt busy these days? I've been looking for him, but he hasn't shown up for a while.";
+		mes "Should I think that Varmundt won't show anytime in the future?";
+		next;
+		cutin "ep172_beta",1;
+		mes "[Shrine]";
+		mes "The master may come back tomorrow. But his return is not expected for a while.";
+		next;
+		cutin "",255;
+		mes "[Princess]";
+		mes "Then can I use this bathhouse as my base to make my new force?";
+		next;
+		cutin "ep172_beta",1;
+		mes "[Shrine]";
+		mes "I'm sorry, but what do you mean?";
+		next;
+		cutin "",255;
+		mes "[Princess]";
+		mes "I'm trying to get back to my people of my hometown by creating a new force. Don't you need a base to pull that off?";
+		mes "I've been in and out of this place for a long time, but it's been a hassle for me to keep doing that. So let me own this place.";
+		npctalk "What's that supposed to mean?", "Denny#172ba05", bc_self;
+		npctalk "Does that make any sense?", "Molar#172ba04", bc_self;
+		npctalk "Well, I've never heard of that logic before.", "Canine#172ba04", bc_self;
+		next;
+		cloakoffnpcself( "Boiler#172ba04" );
+		cloakoffnpcself( "Sweep#172ba03" );
+		cutin "ep172_beta",1;
+		mes "[Sweep]";
+		mes "What is the conversation that we heard as soon as we arrived?";
+		next;
+		cutin "ep172_beta",2;
+		mes "[Boiler]";
+		mes "What are you talking about? This is the bathhouse of the Varmundt Mansion.";
+		next;
+		cutin "",255;
+		mes "[Princess]";
+		mes "Varmundt will understand. He has a broad sense of understanding, so he'll allow me to wander from his home just as he helped me hide myself in this bathhouse. Gladly.";
+		next;
+		cutin "ep172_beta",1;
+		mes "[Shrine]";
+		mes "Althought he master has granted you access to the bathhouse and have been generous as you have said, you should show some sincerity to it.";
+		mes "Please don't ignore the kindness of master Varmundt and show courtesy.";
+		npctalk "It is illegal extortion to acquire real estate of an object whose intention cannot be expressed.", "Sweep#172ba03", bc_self;
+		next;
+		cutin "",255;
+		mes "[Princess]";
+		mes "I disagree. If you have lived in a particular place for a long time, that property should belong to you. That's how everyone lives.";
+		mes "Or how about this one? Why don't you recognize me as the official successor to the legacy of Varmundt. Can't you claim legitimate ownership during the owners absence?";
+		npctalk "Wait, is my common sense weird? Is that normal?", "Denny#172ba05", bc_self;
+		npctalk "That sounds plausible, but it's weird if you listen to it carefully. Did you force Varmundt to adopt you?", "Magenta#172ba06", bc_self;
+		npctalk "I think... so?", "Molar#172ba04", bc_self;
+		next;
+		cutin "ep172_beta",1;
+		mes "[Shrine]";
+		mes "The rightful owner of this mansion is Varmundt, and even a long-term resident cannot claim ownership.";
+		mes "When the master Varmundt comes back later, we'll discuss it ourselves. It's not something we can tell you about as guest.";
+		npctalk "Real state is scary.", "Danae#172ba04", bc_self;
+		npctalk "People like us should just follow the law.", "Denny#172ba05", bc_self;
+		npctalk "Why do you keep taking the master's property.", "Boiler#172ba04", bc_self;
+		npctalk "There's no logic to your argument and there's no argument to be made out of it.", "Sweep#172ba03", bc_self;
+		next;
+		cutin "",255;
+		mes "[Princess]";
+		mes "There's a secret all over this mansion. The same goes for this bathhouse. At first glance, it seems to have been built in disorder while following the flow of interest, but it has its own rules.";
+		mes "It looks like the flow lines are made according to the order of baths and the temperature of the water, but even the lines are very meaningful, as everything in this mansion.";
+		next;
+		mes "[Princess]";
+		mes "Where can you get the sunlight and moonlight, the ceiling where the light grunts in the water. Besides those drainage pipes... He made those for a great research that you wouldn't understand. It's not just a bathhouse.";
+		next;
+		mes "[Princess]";
+		mes "Is there anyone who understands even one of these things? Varmundt also doesn't want the bathhouse to be abandoned and forgotten in the long time.";
+		mes "I have everything I need here to avenge the disgrace of my life. Why can't I use it?";
+		next;
+		cutin "ep172_beta",1;
+		mes "[Shrine]";
+		mes "I repeat, I'm telling you. You can't make all the decision yourself. Neither us nor the princess who's just a guest.";
+		next;
+		cutin "",255;
+		select( "How are you going to gather forces?" );
+		mes "[Princess]";
+		mes "Shouldn't you ask the guy who came here? The one right on front of me.";
+		next;
+		cutin "16loo_01",2;
+		mes "[Rookie]";
+		mes "How do you think you're going to do that? I think you'd better grow your own strength first.";
+		mes "If you have power before you truly had power, you'd just break down and lose it.";
+		next;
+		cutin "",255;
+		mes "[Princess]";
+		mes "... I already know that I'm weak even if you don't say that. But I don't know what to do.";
+		npctalk "Woah... this atmosphere...", "Magenta#172ba06", bc_self;
+		next;
+		select( "You can start training." );
+		mes "[Princess]";
+		mes "Training...? But with who... Ah...!";
+		npctalk "I suddenly feel nervous.", "Denny#172ba05", bc_self;
+		npctalk "Why are you looking at us like that?", "Cyan#172ba04", bc_self;
+		next;
+		mes "[Princess]";
+		mes "You guys look strong. Why don't you fight and train me? I don't have the means to protect myself, the only reason I survived because I'm weak and hiding.";
+		mes "So I want you to teach how to properly survive and fight.";
+		npctalk "As expected...", "Danae#172ba04", bc_self;
+		next;
+		mes "[Magenta]";
+		mes "That sounds fun. Are we going to shoot you? We only know how to shoot, will that be okay? I'm perfectly fine with revolver to gatling guns, you can choose whatever you want for me.";
+		next;
+		cutin "16loo_01",2;
+		mes "[Rookie]";
+		mes "Ammunition fighting isn't right for anyone who usually stays in the underwater. So you'd rather ask the adventurer over here for help rather than us.";
+		next;
+		mes "[Princess]";
+		mes "Is that so...? I'd like to fight you often, if you don't mind adventurer.";
+		next;
+		select( "Sure, it's not so hard." );
+		mes "[Princess]";
+		mes "Thank you very much. I look forward to meeting you for training.";
+		mes "I apologize for causing you trouble. Forgive me. But do you know friendships become stonger after a quarrel? We are not the same guests of Varmundt.";
+		next;
+		cutin "ep172_beta",1;
+		mes "[Shrine]";
+		mes "Are you done talking? " + strcharinfo(0) + ", thank you very much for your help in many ways. This is a small amount but please accept it.";
+		npctalk "Why aren't we receiving any?", "Magenta#172ba06", bc_self;
+		next;
+		cutin "ep172_beta",0;
+		mes "[Boiler]";
+		mes "Adventurer, whenever you're free please come to the Boiler Room. I'll you for one thing.";
+		mes "Well, we're going to go now.";
+		next;
+		mes "[Shrine]";
+		mes "If you need anything, please feel free to visit us. It was unintentionally rude to you, too.";
+		next;
+		cloakonnpcself( "Shrine#172ba03" );
+		cloakonnpcself( "Boiler#172ba04" );
+		cloakonnpcself( "Sweep#172ba03" );
+		cutin "16loo_01",2;
+		mes "[Rookie]";
+		mes "We've found Gonie, and we've confirmed there's no danger in the bathhouse, so let's go.";
+		npctalk "Thank you for your helping us find Gonie, adventurer.", "Cyan#172ba04", bc_self;
+		next;
+		cutin "",255;
+		cloakonnpcself( "Rookie#172ba05" );
+		cloakonnpcself( "Denny#172ba05" );
+		cloakonnpcself( "Magenta#172ba06" );
+		cloakonnpcself( "Cyan#172ba04" );
+		cloakonnpcself( "Molar#172ba04" );
+		cloakonnpcself( "Canine#172ba04" );
+		cloakonnpcself( "Danae#172ba04" );
+		cloakonnpcself( "Gonie#172ba02" );
+		mes "[Princess]";
+		mes "You'd better go now. See you next time.";
+		ep17_2_bath = 13;
+		completequest 17374;
+		getitem 1000103,16;
+		getexp 515668,0;
+		close2;
+		cloakonnpcself();
+		end;
+	}
+	mes "[Princess]";
+	mes "Even if you come to me now, there is nothing I can do for you.";
+	close;
+
+OnInit:
+	questinfo( QTYPE_QUEST, QMARK_YELLOW, "isbegin_quest(17372) == 1" );
+	questinfo( QTYPE_QUEST, QMARK_YELLOW, "isbegin_quest(17373) == 1" );
+	questinfo( QTYPE_QUEST, QMARK_YELLOW, "isbegin_quest(17374) == 1" );
+	end;
+}
+
+ba_bath,285,297,7	duplicate(dummy_cloaked_npc)	Gonie#172ba01	4_M_GONY
+ba_bath,282,296,7	duplicate(dummy_cloaked_npc)	Gonie#172ba02	4_M_GONY
+ba_bath,283,295,7	duplicate(dummy_cloaked_npc)	Rookie#172ba05	4_M_ROOKIE
+ba_bath,283,298,5	duplicate(dummy_cloaked_npc)	Rookie#172ba06	4_M_ROOKIE
+ba_bath,281,298,7	duplicate(dummy_cloaked_npc)	Denny#172ba04	4_M_REBELLION3
+ba_bath,285,294,1	duplicate(dummy_cloaked_npc)	Magenta#172ba05	4_M_GUNSLINGER2
+ba_bath,285,299,5	duplicate(dummy_cloaked_npc)	Denny#172ba05	4_M_REBELLION3
+ba_bath,287,298,3	duplicate(dummy_cloaked_npc)	Magenta#172ba06	4_M_GUNSLINGER2
+ba_bath,287,295,7	duplicate(dummy_cloaked_npc)	Cyan#172ba04	4_F_REBELLION3
+ba_bath,283,300,5	duplicate(dummy_cloaked_npc)	Molar#172ba04	4_M_REBELLION
+ba_bath,281,295,7	duplicate(dummy_cloaked_npc)	Canine#172ba04	4_F_REBELLION3
+ba_bath,283,293,7	duplicate(dummy_cloaked_npc)	Danae#172ba04	4_F_REBELLION2
+ba_bath,284,297,7	duplicate(dummy_cloaked_npc)	Shrine#172ba03	4_EP17_BUCKETS
+ba_bath,282,297,5	duplicate(dummy_cloaked_npc)	Boiler#172ba04	4_EP17_BASIC_B
+ba_bath,280,297,5	duplicate(dummy_cloaked_npc)	Sweep#172ba03	4_EP17_CLEANER
+//
+
+
+// Daily : Sweepy's request
+ba_bath,288,68,3	script	Sweep#172ba02	4_EP17_CLEANER,{
+	if (checkweight(1000103,2) == 0) {
+		mes "The number of items in your possession is too high, so you cannot proceed with the conversation.";
+		mes "Please clean up your inventory and try again.";
+		close;
+	}
+	if (ep17_2_bath == 2) {
+		cutin "ep172_beta",2;
+		mes "[Sweep]";
+		mes "What's going on? See you come all the way here, are you here to look at something at the boiler?";
+		close3;
+	}
+	if (ep17_2_bath == 3) {
+		cutin "ep172_beta",2;
+		mes "[Sweep]";
+		mes "The boiler is already stopped. Isn't that why you're here? Shouldn't you go and report?";
+		close3;
+	}
+	if (ep17_2_bath < 13) {
+		cutin "ep172_beta",2;
+		mes "[Sweep]";
+		mes "Is there anything left to see here? Didn't you have something to do?";
+		close3;
+	}
+
+	// Daily : Sweepy's request
+	if (isbegin_quest(17378) == 0) {
+		cutin "ep172_beta",2;
+		mes "[Sweep]";
+		mes "What's going on? Do we still have a story to hear? Haven't you found the all the answer for the monsters?";
+		next;
+		cutin "",255;
+		select( "I'd like to talk to you." );
+		cutin "ep172_beta",2;
+		mes "[Sweep]";
+		mes "What do you want to talk about? The only thing I can talk about is cleaning. Are you curious about cleaning?";
+		mes "Hygiene is very important here because it's a public bath. Besides cleaning regularly everyday, I do it as often as necessary.";
+		next;
+		mes "[Sweep]";
+		mes "Automatic dolls for cleaning sweeps foreign substances and dirt all over the place. This basic policy is to send all the guests out of the bathhouse when cleaning, but if the guest want to continue taking a bath, we shouldn't bother them and wait.";
+		next;
+		mes "[Sweep]";
+		mes "However, it is not recommended that the automatic dolls that come out for cleaning should not be approached as much as possible because they are dangerous and they're for cleaning purposes only.";
+		mes "Actually, the cleaning dolls wasn't as strong as it is now. The measure was taken inevitably because of the intruders.";
+		next;
+		cutin "",255;
+		select( "Because of the intruders?" );
+		cutin "ep172_beta",2;
+		mes "[Sweep]";
+		mes "Have you seen the intruder before? When I found them in the bath, my switch for intruder was activated, I didn't let them in. But they came by swarm and forced their way in.";
+		next;
+		mes "[Sweep]";
+		mes "They went through places where you can fit your body, such as water pipes and drains. The fish from the lake are also able to enter through the pipes.";
+		mes "Thanks to them, cleaning became more difficult. The intruder even interfered when I was cleaning. And they didn't even bother helping me clean after.";
+		next;
+		mes "[Sweep]";
+		mes "This is a bathhouse. Hygiene should be the top priority. The cleaner automatic dolls are strengthened because of that.";
+		next;
+		mes "[Sweep]";
+		mes "The intruder took a step back however they're not completely gone yet. Therefore, the cleaner dolls had no choice but to remain the strengthened form. So be careful when coming into contact during cleaning time.";
+		next;
+		cutin "",255;
+		select( "Were you interrupted a lot?" );
+		cutin "ep172_beta",2;
+		mes "[Sweep]";
+		mes "I don't know what the humans want.";
+		mes "However, humans needs to take a bath and the space to do so. The task that was given to me was cleaning. It's all I know.";
+		next;
+		mes "[Sweep]";
+		mes "There were two groups of intruders. One was obsessed with the bath and the other one is in it's facilites. What they had in common is that they're both obsessed with something.";
+		next;
+		mes "[Sweep]";
+		mes "Humans that are obsessed with bathing did not cooperate with the cleaning, and humans obsessed with the facilities destroyed the facilites and the automatic dolls managing it.";
+		mes "The boiler was ripped apart and stolen, pipes were broken, and automatic dolls are dismantled. The other say they don't know how long will it take to recover from this. The situation in the other part of the mansion is not much different, the entire mansion is in this predicament.";
+		next;
+		mes "[Sweep]";
+		mes "What is the biggest feature that distinguish guests from the intruders? Why do guests and intruders have different behavior patterns? How do humans tell the difference between the two?";
+		next;
+		mes "[Sweep]";
+		mes "We, the automatic dolls, think it's natural that we don't know because we've only been in contact with guests before.";
+		mes "We can't feel things that humans can. I can't even feel the touch of the end of my hand.";
+		next;
+		mes "[Sweep]";
+		mes "But even if I don't know such thing, It won't impose a problem on my work. I can clean. I can carry out the task that was given to me. What is designated as trash should be swept away.";
+		next;
+		mes "[Sweep]";
+		mes "Human beings are human beings, automatic dolls are automatic dolls.";
+		next;
+		mes "[Sweep]";
+		mes "But... I'd be happy if you could help me with one thing. Are you interested?";
+		next;
+		cutin "",255;
+		if (select( "I'd be happy to.", "I'm a little busy." ) == 2) {
+			cutin "ep172_beta",2;
+			mes "[Sweep]";
+			mes "I see. I understand. I learned that I should not take the time of a busy guest.";
+			close3;
+		}
+		cutin "ep172_beta",2;
+		mes "[Sweep]";
+		mes "Then can I ask you to exterminate ^0000CD15 Boiling Piranha and 15 Boiling Marc^000000. They are one of the main cause of the miss in the bathhouse.";
+		next;
+		mes "[Sweep]";
+		mes "Other parts of the mansion are also lacking in hands, so we have to do it ourselves. I clean up whenever I can, but there are too many. It must not be delayed too much because it's about hygiene and safety. Then, please.";
+		setquest 17378;
+		completequest 17378;
+		setquest 17379;
+		close3;
+	}
+	cutin "ep172_beta",2;
+	mes "[Sweep]";
+	mes "What's the matter? Are you here to help me?";
+	next;
+	.@playtime = checkquest(17380,PLAYTIME);
+	.@hunting = checkquest(17379,HUNTING);
+
+	if (.@playtime == 0 || .@playtime == 1)
+		.@menu$ = "^C0C0C0Fish extermination - Cooldown^000000";
+	else if (.@hunting == 0 || .@hunting == 1)
+		.@menu$ = "^C0C0C0Fish extermination - On Progress^000000";
+	else
+		.@menu$ = "Fish extermination";
+
+	if (select( .@menu$, "I'm curious about cleaning." ) == 2) {
+		mes "[Sweep]";
+		mes "Cleaning is something I do usually. It's just difficult at the moment since there are too many obstacles.";
+		close3;
+	}
+	if (.@playtime == 0 || .@playtime == 1) {
+		mes "[Sweep]";
+		mes "Um.. I'm happy that you're here to help me. But I've heard that humans need a lot of rest. Please come back again after dawn.";
+		close3;
+	}
+	switch( .@hunting ) {
+	case -1:
+		mes "[Sweep]";
+		mes "Thank you for your help. Then can I ask you to exterminate ^0000CD15 Boiling Piranha and 15 Boiling Marc^000000?";
+		next;
+		if (select( "All right.", "I'd like to take a break today.." ) == 2) {
+			mes "[Sweep]";
+			mes "I see. I've heard that humans should rest often.";
+			close3;
+		}
+		mes "[Sweep]";
+		mes "Then I'll let you handle it.";
+		setquest 17379;
+		if (isbegin_quest(17380) > 0)
+			erasequest 17380;
+		close3;
+	case 0:
+	case 1:
+		mes "[Sweep]";
+		mes "Have you dealt with it?";
+		next;
+		mes "[Boiler]";
+		mes "Did you forgot about it? then please exterminate ^0000CD15 Boiling Piranha and 15 Boiling Marc^000000.";
+		close3;
+	case 2:
+		mes "[Sweep]";
+		mes "Have you dealt with it?";
+		next;
+		mes "[Boiler]";
+		mes "Perfect. Thank you very much. I'd be more grateful if you could come back after dawn.";
+		erasequest 17379;
+		setquest 17380;
+		getitem 1000103,2;
+		getexp 722940,506070;
+		close3;
+	}
+	end;
+
+OnInit:
+	// Daily
+	questinfo( QTYPE_DAILYQUEST, QMARK_YELLOW, "isbegin_quest(17374) == 2 && checkquest(17379,HUNTING) == -1 && checkquest(17380,PLAYTIME) == -1" );
+	questinfo( QTYPE_DAILYQUEST, QMARK_YELLOW, "checkquest(17380,PLAYTIME) == 2" );
+	questinfo( QTYPE_QUEST2, QMARK_YELLOW, "checkquest(17379,HUNTING) == 2" );
+	end;
+}
+
+ba_bath,289,65,5	duplicate(dummy_cloaked_npc)	Boiler#172ba03	4_EP17_BASIC_B
+
+ba_bath,284,67,5	script	Valve#172ba01	4_EP17_CLEANER_W,{
+	npctalk "Beep- Are you lost?", "", bc_self;
+	end;
+}
+
+ba_bath,289,64,5	duplicate(dummy_cloaked_npc)	Valve#172ba02	4_EP17_CLEANER_W
+
+ba_bath,254,270,3	script	Nameless Spring#bathifo	4_BOARD3,{
+	mes "^006600⇒Nameless Spring⇒^000000";
+	mes "^006600This is the place when you want to forget everything and immerse yourself into nature. However, if things are too difficult. Please come to us for assistance.^000000";
+	close;
+}
+
+ba_bath,259,191,3	script	Footbath#bathifo	4_BOARD3,{
+	mes "^006600⇒Footbath⇒^000000";
+	mes "^006600No need to be grand. Feel free to go and soak your feet.^000000";
+	close;
+}
+
+ba_bath,162,139,3	script	Fountain of Wisdom#bathifo	4_BOARD3,{
+	mes "^006600⇒Fountain of Wisdom - Public Bath⇒^000000";
+	mes "^006600The oldest and most famous bath in Varmundt Mansion. Soak yourself in this bath and think about the deepest, most difficult things in your heart. The answer will surely come up.^000000";
+	close;
+}
+
+ba_bath,31,276,5	script	Cold Spring#bathifo	4_BOARD3,{
+	mes "^006600⇒Cold Spring - Cold Bath⇒^000000";
+	mes "^0000CDSoak yourself in the cold spring if you want to be ice-cold. The cold air in the bath will bring together your disordered spirit.^000000";
+	close;
+}
+
+
+
+// Sidequest quest : I don't like it - Step 1
+// Daily quest : Warehouse Clearance
+// Daily quest : Basement Clearance
+ba_2whs01,150,51,5	script	Chirp#172wh01	4_EP17_BASKET,{
+	if (checkweight(1000103,3) == 0) {
+		mes "The number of items in your possession is too high, so you cannot proceed with the conversation.";
+		mes "Please clean up your inventory and try again.";
+		close;
+	}
+	if (BaseLevel < 160) {
+		cutin "ep172_beta",2;
+		mes "[Chirp]";
+		mes "This place is dangerous.";
+		mes "Please come back again when you are able to protect yourself better.";
+		next;
+		mes "- You must be atleast level 160 to perform this quest. -";
+		close3;
+	}
+	if (ep17_2_main < 9) {
+		cutin "ep172_beta",2;
+		mes "[Chirp]";
+		mes "Since all places are open to special guests, we can't stop you from coming in here. However, if you're going to look around the warehouse, you shouldn't touch anything here.";
+		close3;
+	}
+	// Sidequest quest
+	if (ep17_2_chirp == 0) {
+		cutin "ep172_beta",2;
+		mes "[Chirp]";
+		mes "What a mess is this.";
+		mes "How did you come in here?";
+		mes "You don't even have a key with you.";
+		next;
+		cutin "",255;
+		if (select( "What's this place for?", "I don't want to cause trouble, I'll go back." ) == 2) {
+			cutin "ep172_beta",2;
+			mes "[Chirp]";
+			mes "Maybe you just got in accidentally.";
+			close3;
+		}
+		cutin "ep172_beta",2;
+		mes "[Chirp]";
+		mes "A human.";
+		mes "In addition... a guest?";
+		next;
+		mes "[Chirp]";
+		mes "Did you come here to find the mansion's blueprint?";
+		mes "I'll bring it to you, if you can wait.";
+		mes "I remember the saying, that human lacks patience.";
+		next;
+		mes "[Chirp]";
+		mes "This is the second warehouse of the Varmundt Mansion.";
+		next;
+		cutin "",255;
+		select( "Warehouse...?" );
+		cutin "ep172_beta",2;
+		mes "[Chirp]";
+		mes "Oh, is there no concept of warehouse for humans outside? The warehouse is where you store things that you don't use.";
+		unittalk getcharid(3), "" + strcharinfo(0) + " : I know that!", bc_self;
+		next;
+		mes "[Chirp]";
+		mes "I came here to get the mansion's blueprint and the ingredients for the restaurant. Did you come here in person because you don't trust me? If that's the case, please don't worry.";
+		next;
+		mes "[Chirp]";
+		mes "I've been in charge of the warehouse for a very long time, I can quickly old or very small items that have been stored.";
+		mes "Needless to say, I also remember where the blueprint is.";
+		next;
+		mes "[Chirp]";
+		mes "I'm an automatic doll. We don't lose memories.";
+		next;
+		cutin "",255;
+		if (select( "I'm not looking for a blueprint.", "This place is very complicated." ) == 1) {
+			cutin "ep172_beta",2;
+			mes "[Chirp]";
+			mes "Is that so? I misunderstood the situation.";
+			mes "I didn't think there would be any humans visiting the warehouse. Usually the humans that come all the way here were usually thieves.";
+			next;
+			mes "[Chirp]";
+			mes "That doesn't mean that you are a thief. Becayse you wouldn't have qualified as a guest. The Varmundt Mansion does not invite everyone as a guest.";
+			next;
+			mes "[Chirp]";
+			mes "Even if you have that intention, it won't be easy to find what you want here anyway.";
+			next;
+			select( "This place is very complicated." );
+		}
+		cutin "ep172_beta",2;
+		mes "[Chirp]";
+		mes "Of course, it's an old warehouse of Varmundt.";
+		mes "It's this big now because there is not enough space to keep all items from all over the continent, that's why we constantly expanded and renovated it.";
+		next;
+		mes "[Chirp]";
+		mes "Although it looks complex from what the eyes see, It's really not that complicated because everything is organized according to it classification.";
+		next;
+		mes "[Chirp]";
+		mes "This is only possible because it is a very large space unlike what you see outside. So if you're waiting for it, please go back and wait for me... I'll bring it to you soon.";
+		next;
+		cutin "",255;
+		select( "Why?" );
+		cutin "ep172_beta",2;
+		mes "[Chirp]";
+		mes "I think I'll be delayed a little because of the broken cleaning robots. It's an automatic robot that was hacked by the intruders. I'm thinking of how to clean the mess it made.";
+		next;
+		mes "[Chirp]";
+		mes "^CC0000Setting it on fire^000000 will be the cleanest way, don't you think?";
+		next;
+		cutin "",255;
+		select( "What? Everything will be burnt." );
+		cutin "ep172_beta",2;
+		mes "[Chirp]";
+		mes "That's okay. They're all fireproof. Even if it burns everything, the mansion plans are in the other warehouses. We have to go a little far, but it's fine. Rest assured.";
+		next;
+		mes "[Chirp]";
+		mes "It's fastest and cleanest to handle everything at once.";
+		next;
+		cutin "",255;
+		select( "That's not the problem..." );
+		cutin "ep172_beta",2;
+		mes "[Chirp]";
+		mes "Then, what is the problem?";
+		next;
+		cutin "",255;
+		if (select( "I'd rather call the security.", "I'd rather call the superiors." ) == 2) {
+			cutin "ep172_beta",2;
+			mes "[Chirp]";
+			mes "What do you mean by calling the superiors?";
+			mes "Are you telling me to leave the superiors to solve this problem?";
+		}
+		else {
+			cutin "ep172_beta",2;
+			mes "[Chirp]";
+			mes "It would be fine to call the security, but it would take a lot of time.";
+			mes "Are you fine with that? Security will be in place and it will take at least a day to put them under control and deal with them.";
+		}
+		next;
+		cutin "ep172_beta",2;
+		mes "[Chirp]";
+		mes "It's not necessary to waste time passing a problem, when you can handle it on your own, no?";
+		next;
+		mes "[Chirp]";
+		mes "However, We are told to respect the guest's opinion as much as possible. Please wait a moment.";
+		unittalk getcharid(3), "" + strcharinfo(0) + " : I'm so eager to...", bc_self;
+		progressbar_npc "00FF00",3;
+		next;
+		cloakoffnpcself( "Beta#ep172_2whs01-00" );
+		cutin "ep172_beta",0;
+		mes "[Beta]";
+		mes "You called? What's going on? Is it long? I'm busy right now.";
+		next;
+		cutin "ep172_beta",2;
+		mes "[Chirp]";
+		mes "Look over here. What do you think?";
+		mes "What do you want me to do with all the broken cleaning robots here?";
+		mes "Do you have a good idea?";
+		next;
+		cutin "ep172_beta",0;
+		mes "[Beta]";
+		mes "Oh. It's a serious situation.";
+		next;
+		cutin "ep172_beta",2;
+		mes "[Chirp]";
+		mes "Right? Now, tell me how to solve it quickly.";
+		mes "For the human guest here to hear. Because the guest wants me to call you here for another solution.";
+		next;
+		cutin "ep172_beta",0;
+		mes "[Beta]";
+		mes "The problem is not only in this place. There's no security that I can send here right now.";
+		next;
+		cutin "ep172_beta",2;
+		mes "[Chirp]";
+		mes "I need to get something for the guest here right now. If I go in there now, will I end up broken just like them? Is that fine?";
+		next;
+		cutin "ep172_beta",0;
+		mes "[Beta]";
+		mes "You can't do that, but I can't help you. I'll send you help as soon as possible. But not until tomorrow.";
+		next;
+		cutin "ep172_beta",2;
+		mes "[Chirp]";
+		mes "Can I start a fire?";
+		next;
+		cutin "ep172_beta",0;
+		mes "[Beta]";
+		mes "No. Don't. The broken robot will just move to another place.";
+		mes "Also, we can't risk our guests into such thing.";
+		next;
+		cutin "ep172_beta",2;
+		mes "[Chirp]";
+		mes "I'm confident that I can keep the fire from spreading.";
+		next;
+		cutin "ep172_beta",0;
+		mes "[Beta]";
+		mes "You can't. The more you delay me like this, the slower the process it gets. Wait a little longer. And ask the guest's for their understanding.";
+		next;
+		cloakonnpcself( "Beta#ep172_2whs01-00" );
+		cutin "ep172_beta",2;
+		mes "[Chirp]";
+		mes "Have you seen it? Even if I call my superior, there's no help that will come right now. I can't even proceed with my solution of starting a fire anymore. I could have started it, if you didn't talk to me.";
+		next;
+		mes "[Chirp]";
+		mes "What should I do now? There's something I need to get from over there, and If I went there, I'll end up broken just like them. I'm not a combat type doll after all.";
+		next;
+		mes "[Chirp]";
+		mes "I can avoid them to some extent, but I'm worried because there are too many of them. If they attacked all at once, even the strongest dolls will be destroyed in no time.";
+		next;
+		mes "[Chirp]";
+		mes "Of course, I can go sacrifice myself for this request.";
+		mes "But, I don't think that's not the choice right now. It would be more valuable if I sacrifice myself for something more important.";
+		next;
+		mes "[Chirp]";
+		mes "Besides, who else would manage the warehouse?";
+		mes "No one even knows what's where.";
+		next;
+		cutin "",255;
+		select( "Should I sort it out?" );
+		cutin "ep172_beta",2;
+		mes "[Chirp]";
+		mes "" + strcharinfo(0) + ", Are you sure?";
+		mes "Are you saying that you're going to sort out those cleaning robots?";
+		next;
+		if (select( "Can't I do it?", "You look troubled." ) == 2) {
+			cutin "ep172_beta",2;
+			mes "[Chirp]";
+			mes "Are you showing pity to me for being helpless in front of the automatic doll in the warehouse? Do humans feel responsible for things they didn't do?";
+		}
+		else {
+			cutin "ep172_beta",2;
+			mes "[Chirp]";
+			mes "Is the fault of one human, the fault of all human?";
+		}
+		next;
+		cutin "",255;
+		select( "No." );
+		cutin "ep172_beta",2;
+		mes "[Chirp]";
+		mes "Is that so? That's why we've misunderstood. They're all connected, so they share everything. Both blame and responsiblity.";
+		next;
+		cutin "",255;
+		select( "Varmundt is also human." );
+		cutin "ep172_beta",2;
+		mes "[Chirp]";
+		mes "He's different. He's a wise man.";
+		mes "If he's here now, he would have solve all the problems. Or maybe the problem itself didn't occur.";
+		next;
+		mes "[Chirp]";
+		mes "Thank you for your help, but there was a notice telling to cooperate with the guests as much as possible without causing you harm. I'll think of another way. Anything will do.";
+		next;
+		cutin "",255;
+		select( "I'm a combatant." );
+		cutin "ep172_beta",2;
+		mes "[Chirp]";
+		mes "... Is that so? If you're a combatant, you're job is to deal with these kind of things, isn't it? Wouldn't that hurt you?";
+		next;
+		cutin "",255;
+		select( "Not at all." );
+		cutin "ep172_beta",2;
+		mes "[Chirp]";
+		mes "I see, you're a human being who finds pleasure with these kind of things. I've heard of it before. Then I'd like to ask you a favor. Oh, of course, I'll reward you for it.";
+		emotion ET_SWEAT, getcharid(3);
+		next;
+		mes "[Chirp]";
+		mes "Please collect ^0000CDFive Cleaning Robot^000000.";
+		mes "Then I'll be able to get through this mess.";
+		mes "I hope you find pleasure on it.";
+		ep17_2_chirp = 1;
+		setquest 17342;
+		close3;
+	}
+	if (ep17_2_chirp == 1) {
+		switch( checkquest(17342,HUNTING) ) {
+		case -1:
+			end;
+		case 0:
+		case 1:
+			cutin "ep172_beta",2;
+			mes "[Chirp]";
+			mes "Are you done? There are still too many of them. I need you to work harder.";
+			mes "Please collect ^0000CDFive Cleaning Robot^000000.";
+			mes "Then I'll be able to get through this mess.";
+			close3;
+		case 2:
+			cutin "ep172_beta",2;
+			mes "[Chirp]";
+			mes "Did you enjoy it? I wonder if you get pleasure from destroying it or pleasure from conservation, But I don't have to know that.";
+			next;
+			mes "[Chirp]";
+			mes "Thanks to you, I was able to retrieve the stuffs that we need.";
+			mes "At that level, you can move your body faster than normal.";
+			next;
+			mes "- Rumbling -";
+			next;
+			mes "- Rattling -";
+			next;
+			mes "[Chirp]";
+			mes "Did you hear that?";
+			next;
+			cutin "",255;
+			select( "Is that a rattling sound?" );
+			cutin "ep172_beta",2;
+			mes "[Chirp]";
+			mes "Yes, that's right. Stay still, and be quiet.";
+			next;
+			mes "- Rattling -";
+			next;
+			mes "- ...Ooh... Uh... -";
+			next;
+			mes "[Chirp]";
+			mes "It's the sound made by an automatic doll based on the voice pattern. But it's not a sound of an automatic dolls near here. It's a little bit far from here.";
+			next;
+			mes "[Chirp]";
+			mes "I think it's from the basement. If it's really from the basement, it's a big deal.";
+			next;
+			cutin "",255;
+			select( "Why?" );
+			cutin "ep172_beta",2;
+			mes "[Chirp]";
+			mes "Unlike this warehouse, only Varmundt can enter the basement. There are a lot of secrets and dangerous thing there.";
+			emotion ET_SURPRISE;
+			next;
+			mes "[Chirp]";
+			mes "If automatic dolls or human go in and mess with a dangerous object by mistake.";
+			mes "A foreseeable destruction will surely occur.";
+			next;
+			mes "[Chirp]";
+			mes "If this is really from the underground, and that's a sound of an automatic doll, only destruction awaits us.";
+			next;
+			mes "[Chirp]";
+			mes "It's only a matter of time before this place becomes ash from the massive explosion. It's a different level from my plan to set it on fire.";
+			next;
+			mes "[Chirp]";
+			mes "There's danger lurking underground.";
+			mes "Someone has to check it. If you check what happened, we might be able to ask your superiors to come soon. Then It'll be fine.";
+			next;
+			mes "[Chirp]";
+			mes "We need to do something to stop this.";
+			next;
+			mes "[Chirp]";
+			mes "I have to go pick up the blueprint and ingredients while the broken automatic dolls is organized.";
+			next;
+			mes "[Chirp]";
+			mes "" + strcharinfo(0) + " is a combatant.";
+			mes "So the rest is...";
+			next;
+			cutin "",255;
+			select( "...to go and check it." );
+			cutin "ep172_beta",2;
+			mes "[Chirp]";
+			mes "Oh, you would? That's unexpected.";
+			mes "I can't believe you don't do this much security job. I'll keep that in mind. Taking care of guest's entertaiment is one of our job.";
+			emotion ET_SWEAT, getcharid(3);
+			next;
+			mes "[Chirp]";
+			mes "There'a stairway that goes underground in the ^0000CDuppermost part of the warehouse^000000. Go down stairs and check the situation below. Don't touch anything there.";
+			next;
+			mes "[Chirp]";
+			mes "Go ahead and come back when you're done.";
+			ep17_2_chirp = 2;
+			erasequest 17342;
+			setquest 17343;
+			getitem 1000103,3;
+			close3;
+		}
+	}
+	if (ep17_2_chirp == 2) {
+		cutin "ep172_beta",2;
+		mes "[Chirp]";
+		mes "There'a stairway that goes underground in the ^0000CDuppermost part of the warehouse^000000. Go down stairs and check the situation below. Don't touch anything there.";
+		close3;
+	}
+	if (ep17_2_chirp == 3) {
+		cutin "ep172_beta",2;
+		mes "[Chirp]";
+		mes "Have you checked? What's the situation underground?";
+		next;
+		cutin "",255;
+		select( "It's locked." );
+		cutin "ep172_beta",2;
+		mes "[Chirp]";
+		mes "Was it locked? But how did the automatic doll go in? That's even a bigger problem. This proves that there is a hole in the security of the mansion, the intruders also entered through as passage other than the only entrance.";
+		next;
+		mes "[Chirp]";
+		mes "It would be a good idea to check it... You said it was locked. I can't force myself to get in, I need to find the emergency key.";
+		next;
+		mes "[Chirp]";
+		mes "It was only for the master, but after going down to the basement, the master left an emergency key that can only be used if something goes wrong with the master or a dangerous emergency.";
+		next;
+		mes "[Chirp]";
+		mes "That would be know a dangerous emergency.";
+		next;
+		cutin "",255;
+		select( "Give it to me." );
+		cutin "ep172_beta",2;
+		mes "[Chirp]";
+		mes "Do you like treasure hunt? Or do you have an exceptional talent for treasure hunting? If not, I hope you'll have it from now on.";
+		next;
+		mes "[Chirp]";
+		mes "The master hid a ^0000CDtotal of three emergency keys in the warehouse^000000. And there is still a lot of broken automatic dolls in here.";
+		next;
+		cutin "",255;
+		select( "That means..." );
+		cutin "ep172_beta",2;
+		mes "[Chirp]";
+		mes "That's right. It's time for you to have fun again. I'm glad to help you like this again.";
+		next;
+		mes "[Chirp]";
+		mes "You can go down to the basement by finding all the emergency keys at the hints that I'll point out. Use it to unlock the door that goes down to the basement.";
+		next;
+		mes "[Chirp]";
+		mes "<NAVI>[Spinning World]<INFO>ba_2whs01,110,217,0,101,0</INFO></NAVI>. He said all the truth is beneath it. Try to find a place with such an item.";
+		next;
+		mes "[Chirp]";
+		mes "He also said that in a <NAVI>[place]<INFO>ba_2whs01,110,217,0,101,0</INFO></NAVI> where your breath freezes, everything is said to remain unchanged forever.";
+		next;
+		mes "[Chirp]";
+		mes "Lastly, he said that all air must be hollow. He also said that it uses a lot of energy. I can't even guess where <NAVI>[such a place]<INFO>ba_2whs01,110,217,0,101,0</INFO></NAVI> is.";
+		next;
+		mes "[Chirp]";
+		mes "I don't know what all the hints mean, but you adventurer are a human like our master. You might be interpret them.";
+		next;
+		mes "[Chirp]";
+		mes "I don't expect you to interpret even a single line of the great master's will, but... If you don't know, you can just go search everywhere. Then go ahead and come back.";
+		next;
+		mes "[Chirp]";
+		mes "Oh, I forgot to tell you this.";
+		mes "The warehouse is very dangerous, so you have to be very careful. Okay?";
+		ep17_2_chirp = 4;
+		erasequest 17344;
+		getitem 1000103,3;
+		setquest 17345;
+		setquest 17346;
+		setquest 17347;
+		close3;
+	}
+	if (ep17_2_chirp == 4) {
+		cutin "ep172_beta",2;
+		mes "[Chirp]";
+		mes "<NAVI>[Spinning World]<INFO>ba_2whs01,110,217,0,101,0</INFO></NAVI>. He said all the truth is beneath it. Try to find a place with such an item.";
+		next;
+		mes "[Chirp]";
+		mes "He also said that in a <NAVI>[place]<INFO>ba_2whs01,110,217,0,101,0</INFO></NAVI> where your breath freezes, everything is said to remain unchanged forever.";
+		next;
+		mes "[Chirp]";
+		mes "Lastly, he said that all air must be hollow. He also said that it uses a lot of energy. I can't even guess where <NAVI>[such a place]<INFO>ba_2whs01,110,217,0,101,0</INFO></NAVI> is.";
+		next;
+		mes "[Chirp]";
+		mes "I don't know what all the hints mean, but you adventurer are a human like our master. You might be interpret them.";
+		next;
+		mes "[Chirp]";
+		mes "I don't expect you to interpret even a single line of the great master's will, but... If you don't know, you can just go search everywhere. Then go ahead and come back.";
+		close3;
+	}
+	if (ep17_2_chirp < 11) {
+		cutin "ep172_beta",2;
+		mes "[Chirp]";
+		mes "Did you check the situation of the underground?";
+		mes "What do you think? I see... You haven't checked it out yet. I'll be waiting.";
+		close3;
+	}
+	if (ep17_2_chirp == 11) {
+		cutin "ep172_beta",2;
+		mes "[Chirp]";
+		mes "Did you check the situation of the underground?";
+		mes "How was it? Good thing you came back, I was already thinking of a way to tell Alpha the news that the guest " + strcharinfo(0) + " has died.";
+		emotion ET_SWEAT, getcharid(3);
+		next;
+		mes "[Chirp]";
+		mes "It was very unpleasant for me. But fortunately, you're alive. Why did you took so long? Have you encountered a problem down there that your abilities can't handle?";
+		next;
+		mes "[Chirp]";
+		mes "I've heard that sometimes humans are reckless in challenging things beyond their abilities.";
+		next;
+		cutin "",255;
+		select( "It's..." );
+		cutin "ep172_beta",2;
+		mes "[Chirp]";
+		mes "So, to summarize " + strcharinfo(0) + "'s words, if you hadn't opened the door and went underground, it wouldn't have been dangerous and it would remain safe down there.";
+		next;
+		cutin "",255;
+		select( "Yes." );
+		cutin "ep172_beta",2;
+		mes "[Chirp]";
+		mes "And there's someone who got a new body.";
+		next;
+		mes "[Chirp]";
+		mes "Even though I warned you not to touch anything, you still collected the parts that made the body. Is that correct?";
+		next;
+		cutin "",255;
+		select( "Yes..." );
+		cutin "ep172_beta",2;
+		mes "[Chirp]";
+		mes "I don't know what it's like. In the worst case scenario, it might come up from the basement and destroy us. Is that correct?";
+		next;
+		cutin "",255;
+		select( "But it's not leaving..." );
+		cutin "ep172_beta",2;
+		mes "[Chirp]";
+		mes "Think about it this way. Why did the master bother to keep his head in the danger zone? A head laid alone in a place full of dangerous goods. Perhaps that thing is also a dangerous .";
+		next;
+		mes "[Chirp]";
+		mes "Even the highest class of the combat automatic dolls are not made in the basement's dangerous zone. It may be a next generation of weapon. You're lucky if you were able to distinguish it as an ally.";
+		next;
+		mes "[Chirp]";
+		mes "If that ise the case, the catastrophe that the automatic doll will bring is no longer a concern.";
+		next;
+		mes "[Chirp]";
+		mes "Now, how would you like to solve this problem? " + strcharinfo(0) + ", going down to the basement with his arms and legs, with good intention to finish it's body.";
+		next;
+		cutin "",255;
+		select( "That's too much..." );
+		cutin "ep172_beta",2;
+		mes "[Chirp]";
+		mes "What are you going to do, " + strcharinfo(0) + ". Are you going to go back down there to have more fun? But if you're going to do it yourself, you don't need to ask for it everytime.";
+		next;
+		cutin "",255;
+		select( "....." );
+		cutin "ep172_beta",2;
+		mes "[Chirp]";
+		mes "Fortunately, you said that it won't leave the basement. Then, there's only one way.";
+		next;
+		mes "[Chirp]";
+		mes "^0000CDI'm going to cover this up quietly^000000. In this mansion, no in the world, only me and " + strcharinfo(0) + " should know about this.";
+		next;
+		mes "[Chirp]";
+		mes "You must also share the role. I'll stay here to stop anyone from entering and leaving the basement. We will also monitor that thing to see if it will leave the basement.";
+		next;
+		mes "[Chirp]";
+		mes "^0000CD" + strcharinfo(0) + " should come here everyday^000000, and help clear up the warehouse and the basement .";
+		next;
+		cutin "",255;
+		select( "Clear up?" );
+		cutin "ep172_beta",2;
+		mes "[Chirp]";
+		mes "It wasn't a problem like the broken cleaning robots. While inspecting the warehouse, we noticed that there's some residual intruders in it. They said it was a Heart Hunter Skirmishers. As I said before, I have a lot of work to do.";
+		next;
+		mes "[Chirp]";
+		mes "To protect the goods here in the warehouse, I'd like you clear up those Heart Hunters. And clear up the broken warehouse manager in the basement so that we don't make an enemy out of that thing in the basement.";
+		next;
+		mes "[Chirp]";
+		mes "There's nothing to lose, and you can use it for your personal entertaiment. Of course, I'll pay you accordingly. I'll register your data so that you can get in and out of the basement without an emergency key.";
+		next;
+		select( "Sure." );
+		mes "[Chirp]";
+		mes "Thank you. I'll give you this voucher as token of your promise. Then, let's keep it as a secret.";
+		mes "I'll also take the emergency key back.";
+		ep17_2_chirp = 12;
+		completequest 17358;
+		delitem 1000102,3;
+		getitem 1000103,6;
+		getexp2 3156050,0;
+		close3;
+	}
+
+	// Daily quests
+	cutin "ep172_beta",2;
+	mes "[Chirp]";
+	mes "Are you here to keep our promise?";
+	mes "Which job would you like to take on?";
+	next;
+	.@quest_menu$[0] = callsub( S_Menu, 17359,17360, "Warehouse Clearance" );
+	.@quest_menu$[1] = callsub( S_Menu, 17361,17362, "Basement Clearance" );
+
+	switch( select( .@quest_menu$[0], .@quest_menu$[1], "Is there something wrong?" ) ) {
+	case 1:
+		.@lvl = 160;
+		.@hunt = 17359;
+		.@cooldown = 17360;
+		break;
+	case 2:
+		.@lvl = 170;
+		if (BaseLevel < .@lvl) {
+			cutin "ep172_beta",2;
+			mes "[Chirp]";
+			mes "What? You mean the basement?";
+			mes "Like I said, the basement is very dangerous place, so... It looks difficult for you. How about spending your life on something more valuable?";
+			next;
+			cutin "",255;
+			mes "- You must be atleast level " + .@lvl + " to perform this quest. -";
+			close;
+		}
+		.@hunt = 17361;
+		.@cooldown = 17362;
+		break;
+	case 3:
+		cutin "ep172_beta",2;
+		mes "[Chirp]";
+		mes "Nothing's wrong yet. But no one knows how long it will last. Don't let your guard down";
+		close3;
+	}
+	switch( checkquest(.@cooldown,PLAYTIME) ) {
+	case -1:
+		break;
+	case 0:
+	case 1:
+		mes "[Chirp]";
+		mes "If we make too much noise, that thing in the basement might come up here. Please come back after dawn.";
+		close3;
+	case 2:
+		erasequest .@cooldown;
+		break;
+	}
+	switch( checkquest(.@hunt,HUNTING) ) {
+	case -1:
+		if (.@hunt == 17359) {
+			mes "[Chirp]";
+			mes "You really like fighting. Then, I'd like you deal with ^0000CD20 Heart Hunter Skirmisher^000000 in the warehouse.";
+		}
+		else {
+			mes "[Chirp]";
+			mes "You really like fighting. Then, I'd like you to deal with ^0000CD20 Broken Warehouse Manager^000000 in the basement.";
+		}
+		next;
+		if (select( "I got it.", "I want to rest today" ) == 2) {
+			mes "[Chirp]";
+			mes "Is that so? I thought you'd want to do it every day for your personal entertaiment.";
+			mes "That's unexpected.";
+			close3;
+		}
+		mes "[Chirp]";
+		mes "In the meantime, I'll do what I can here.";
+		setquest .@hunt;
+		close3;
+	case 0:
+	case 1:
+		mes "[Chirp]";
+		mes "Have you taken care of everything?";
+		next;
+		if (.@hunt == 17359) {
+			mes "[Chirp]";
+			mes "Don't you see them running around like that?";
+			mes "Then, I'd like you deal with ^0000CD20 Heart Hunter Skirmisher^000000 in the warehouse.";
+			close3;
+		}
+		mes "[Chirp]";
+		mes "Don't you see them running around like that?";
+		mes "Then, I'd like you to deal with ^0000CD20 Broken Warehouse Manager^000000 in the basement.";
+		close3;
+	case 2:
+		mes "[Chirp]";
+		mes "Have you taken care of everything?";
+		next;
+		mes "[Chirp]";
+		mes "I can confirm that the population has decreased.";
+		mes "Now, I can start my job.";
+		mes "Thank you. Please come back after dawn.";
+		setquest .@cooldown;
+		erasequest .@hunt;
+		getitem 1000103,1;
+		if (.@hunt == 17359)
+			getexp 4431108,3101780;
+		else
+			getexp 5974540,4182156;
+		close3;
+	}
+	end;
+
+S_Menu:
+	.@string$ = getarg(2);
+
+	switch( checkquest(getarg(1),PLAYTIME) ) {
+	case -1:
+		switch( checkquest(getarg(0),HUNTING) ) {
+		case -1:
+			.@menu$ = .@string$;
+			break;
+		case 0:
+		case 1:
+			.@menu$ = "^777777" + .@string$ + " - Ongoing^000000";
+			break;
+		case 2:
+			.@menu$ = "" + .@string$ + " - Completed";
+			break;
+		}
+		break;
+	case 0:
+	case 1:
+		.@menu$ = "^777777" + .@string$ + " - Waiting^000000";
+		break;
+	case 2:
+		.@menu$ = .@string$;
+		break;
+	}
+	return .@menu$;
+
+OnInit:
+	// sidequest
+	questinfo( QTYPE_QUEST, QMARK_YELLOW, "BaseLevel >= 160 && ep17_2_main >= 9 && ep17_2_chirp == 0" );
+	questinfo( QTYPE_QUEST2, QMARK_YELLOW, "checkquest(17342,HUNTING) == 2" );
+	questinfo( QTYPE_QUEST2, QMARK_YELLOW, "isbegin_quest(17344) == 1" );
+	questinfo( QTYPE_QUEST2, QMARK_YELLOW, "isbegin_quest(17358) == 1" );
+
+	// daily
+	questinfo( QTYPE_DAILYQUEST, QMARK_YELLOW, "isbegin_quest(17358) == 2 && checkquest(17359,HUNTING) == -1 && checkquest(17360,PLAYTIME) == -1" );
+	questinfo( QTYPE_DAILYQUEST, QMARK_YELLOW, "checkquest(17360,PLAYTIME) == 2" );
+	questinfo( QTYPE_QUEST2, QMARK_YELLOW, "checkquest(17359,HUNTING) == 2" );
+
+	questinfo( QTYPE_DAILYQUEST, QMARK_YELLOW, "isbegin_quest(17358) == 2 && BaseLevel >= 170 && checkquest(17361,HUNTING) == -1 && checkquest(17362,PLAYTIME) == -1" );
+	questinfo( QTYPE_DAILYQUEST, QMARK_YELLOW, "checkquest(17362,PLAYTIME) == 2" );
+	questinfo( QTYPE_QUEST2, QMARK_YELLOW, "checkquest(17361,HUNTING) == 2" );
+	end;
+}
+
+ba_2whs01,153,49,1	duplicate(dummy_cloaked_npc)	Beta#ep172_2whs01-00	4_EP17_BASIC_B
+
+ba_2whs01,110,218,0	script	#ep172_key_ev_0	HIDDEN_WARP_NPC,3,3,{
+	end;
+OnTouch:
+	if (ep17_2_chirp != 4)
+		end;
+	.@id = atoi(replacestr(strnpcinfo(2),"ep172_key_ev_",""));
+	.@quest_id = (17345 + .@id);
+	if (isbegin_quest(.@quest_id) == 1)
+		cloakoffnpcself( "Emergency Key#ep172_" + .@id );
+	end;
+}
+
+ba_2whs01,14,282,0	duplicate(#ep172_key_ev_0)	#ep172_key_ev_1	HIDDEN_WARP_NPC,3,3
+ba_2whs01,222,257,0	duplicate(#ep172_key_ev_0)	#ep172_key_ev_2	HIDDEN_WARP_NPC,3,3
+
+ba_2whs01,110,218,0	script(CLOAKED)	Emergency Key#ep172_0	4_ENERGY_WHITE,{
+	if (checkweight(1000102,1) == 0) {	// (custom)
+		mes "^008800Wait a sec!!";
+		mes "You cannot receive any more items because you're carrying too many items. Please try again after you lighten up.^000000";
+		close;
+	}
+	if (ep17_2_chirp != 4)
+		end;
+	.@id = atoi(replacestr(strnpcinfo(2),"ep172_",""));
+	.@quest_id = (17345 + .@id);
+	switch( .@id ) {
+	case 0:
+		.@word$ = "Let's take a closer look under the map...";
+		break;
+	case 1:
+		.@word$ = "Oh, it's cold...";
+		break;
+	case 2:
+		.@word$ = "Let me put my hand in...";
+		break;
+	}
+	if (isbegin_quest(.@quest_id) == 1) {
+		setpcblock PCBLOCK_NPC, true;
+		unittalk getcharid(3), "" + strcharinfo(0) + " : She said there's an emergency key over here... " + .@word$, bc_self;
+		sleep2 2500;
+		unittalk getcharid(3), "" + strcharinfo(0) + " : I've found it!!!", bc_self;
+		sleep2 2500;
+		setpcblock PCBLOCK_NPC, false;
+		erasequest .@quest_id;
+		getitem 1000102,1;
+		if (isbegin_quest(17345) != 0 || isbegin_quest(17346) != 0 || isbegin_quest(17347) != 0)
+			unittalk getcharid(3), "" + strcharinfo(0) + " : Let's go find the other emergency key.", bc_self;
+		else {
+			unittalk getcharid(3), "" + strcharinfo(0) + " : Now that you've found all the emergency keys, let's go open the locked door.", bc_self;
+			ep17_2_chirp = 5;
+			setquest 17348;
+		}
+		cloakonnpcself();
+		end;
+	}
+	end;
+
+OnInit:
+	.@id = atoi(replacestr(strnpcinfo(2),"ep172_",""));
+	.@quest_id = 17345 + .@id;
+	questinfo( QTYPE_QUEST2, QMARK_YELLOW, "isbegin_quest(" + .@quest_id + ") == 1" );
+	end;
+}
+
+ba_2whs01,14,282,0	duplicate(Emergency Key#ep172_0)	Emergency Key#ep172_1	4_ENERGY_WHITE
+ba_2whs01,222,257,0	duplicate(Emergency Key#ep172_0)	Emergency Key#ep172_2	4_ENERGY_WHITE
+
+ba_2whs01,276,290,0	script	Lock#ep172_2whs01-00	4_ENERGY_BLUE,{
+	if (ep17_2_chirp == 2) {
+		mes "- The door is firmly locked. -";
+		next;
+		mes "- Rattling -";
+		next;
+		mes "- W... who... -";
+		next;
+		mes "- I heard a slighly clearer sound than I heard at the entrance. But I can't go down and check because I have no key. Let's go back and ask. -";
+		ep17_2_chirp = 3;
+		erasequest 17343;
+		setquest 17344;
+		close;
+	}
+	if (ep17_2_chirp == 5) {
+		setpcblock PCBLOCK_NPC, true;
+		unittalk getcharid(3), "I put three emergency keys in the lock and the door opened.", bc_self;
+		sleep2 2000;
+		npctalk "Emergency door opening.", "", bc_self;
+		sleep2 2000;
+		npctalk "Emergency Level 1.", "", bc_self;
+		sleep2 2000;
+		npctalk "Priority is life protection.", "", bc_self;
+		sleep2 2000;
+		npctalk "If a person is found injured, please check the signs of life and conduct a quick rescue operation.", "", bc_self;
+		sleep2 2000;
+		setpcblock PCBLOCK_NPC, false;
+		ep17_2_chirp = 6;
+		erasequest 17348;
+		setquest 17349;
+		warp "ba_2whs02",338,332;
+		end;
+	}
+	if (ep17_2_chirp >= 6) {
+		setpcblock PCBLOCK_NPC, true;
+		npctalk "Welcome.", "", bc_self;
+		sleep2 2000;
+		setpcblock PCBLOCK_NPC, false;
+		warp "ba_2whs02",338,332;
+		end;
+	}
+	mes "- The door is firmly locked. -";
+	close;
+
+OnInit:
+	questinfo( QTYPE_QUEST2, QMARK_YELLOW, "isbegin_quest(17343) == 1" );
+	questinfo( QTYPE_QUEST2, QMARK_YELLOW, "isbegin_quest(17348) == 1" );
+	end;
+}
+
+
+ba_2whs02,37,312,3	script	#ep172_ev2whs01	HIDDEN_WARP_NPC,5,5,{
+	end;
+OnTouch:
+	if (ep17_2_chirp >= 6 || ep17_2_chirp <= 10) {
+		setnpcdisplay( "Head#ep172_2whs01", 4_GHOSTRING );
+		cloakoffnpcself( "Head#ep172_2whs01" );
+		end;
+	}
+	if (ep17_2_chirp > 10) {
+		setnpcdisplay( "Head#ep172_2whs01", 4_F_KR_TIGER );
+		cloakoffnpcself( "Head#ep172_2whs01" );
+		end;
+	}
+	end;
+}
+
+ba_2whs02,37,312,3	script(CLOAKED)	Head#ep172_2whs01	4_GHOSTRING,{
+	if (ep17_2_chirp < 6)
+		end;
+	if (ep17_2_chirp == 6) {
+		mes "[Head]";
+		mes "Hey~ Who's there~";
+		next;
+		select( "I heard a noise from here." );
+		mes "[Head]";
+		mes "Master? Are you the master? Come on! What took you so long?";
+		next;
+		mes "[Head]";
+		mes "But... your face has changed a lot. What happened to it? Where have you been? What have you been doing?";
+		next;
+		select( "I'm not Varmundt." );
+		mes "[Head]";
+		mes "So... who're you? Who is the master? How did you get in here?";
+		next;
+		select( "I'm a guest." );
+		mes "[Head]";
+		mes "A guest? Oh, so you're here at the invitation of the master? I've never seen a guest before! Actually, it's my first time seeing someone other than my master! Nice to meet you. Second Human! I'm T2WH-0448.";
+		next;
+		mes "[T2WH-0448]";
+		mes "By the way, how's the outside these days?";
+		mes "I've been asleep for a long time. It was too loud recently, that's why I woke up.";
+		next;
+		mes "[T2WH-0448]";
+		mes "...I actually don't know anything about the outside as well as the old days.";
+		mes "I was here since I was born. The only thing I know is the stories that my master told me.";
+		next;
+		mes "[T2WH-0448]";
+		mes "He said he'd take me outside when he finished me later. He said he'd connect me to the other automatic dolls. That's why I've been waiting for the master to come back.";
+		next;
+		mes "[T2WH-0448]";
+		mes "It's been too long since the master came. How long have I been asleep?";
+		next;
+		mes "[T2WH-0448]";
+		mes "How did you get here? They said only the master could come in here, right? Unless it's an emergency... Oh! Did the master die? Is he hurt? Is that why he couldn't come?";
+		next;
+		select( "That's not it..." );
+		mes "[T2WH-0448]";
+		mes "Really? Are you a descendant of a guest who visited here a long time ago, and you're here to deal with the invaders? You're pretty cool Second Human, aren't you?";
+		next;
+		mes "[T2WH-0448]";
+		mes "Hasn't the master come to the mansion for a long time as well as here? Is something wrong?";
+		next;
+		mes "[T2WH-0448]";
+		mes "Then, why are you here? Opening the door with the emergency key. You can't simply pick those keys up.";
+		next;
+		select( "There was a suspicious sound in the basement." );
+		mes "[T2WH-0448]";
+		mes "Oh. The sound of me singing? You mistook me for a broken automatic doll? But what's that? That thing behind you?";
+		next;
+		mes "[T2WH-0448]";
+		mes "You said it's broken, but why aren't they falling down and flashing? Why are they attacking? Automatic dolls weren't supposed to attack guests, right?";
+		next;
+		select( "These are the dolls broken down by the intruder." );
+		mes "[T2WH-0448]";
+		mes "Really? But, you brought it here? Why?";
+		next;
+		select( "Wasn't this the original one?" );
+		mes "[T2WH-0448]";
+		mes "No, there wasn't anything here. It was completely empty. You brought him in with you on your way in.";
+		next;
+		select( "I'm sorry. They must've come in with me opening the door." );
+		mes "[T2WH-0448]";
+		mes "How am I supposed to be doing this without being able to move among those fiends? If they hurt me, will I disappear without being able to defend once?";
+		next;
+		select( "Should I bring you it out?" );
+		mes "[T2WH-0448]";
+		mes "No, you can't. The master left me here. So I have to stay here. Until the master returns.";
+		next;
+		mes "[T2WH-0448]";
+		mes "But what about all that? I don't want to disappear without even going outside.";
+		next;
+		mes "[T2WH-0448]";
+		mes "You can protect me. That'll do. Also please bring me some parts so I can build my body.";
+		next;
+		select( "What?" );
+		mes "[T2WH-0448]";
+		mes "You brought them here, you should be responsible for it.";
+		mes "I'll hide as much as I can so that they don't find me, but if they attack, I'll be able to run away, even If I can't fight back.";
+		next;
+		mes "[T2WH-0448]";
+		mes "It won't work as it is. You shouldn't have open the door. I'm too small and fragile.";
+		next;
+		select( "What should I do?" );
+		mes "[T2WH-0448]";
+		mes "This is the place where the master used to make things out of all the things he had collected.";
+		mes "It's how I was born.";
+		mes "So please bring me something that I can ^0000CDgo use and make my body^000000.";
+		next;
+		mes "[T2WH-0448]";
+		mes "A body... arms and legs, right?";
+		mes "It's okay to have only a legs, but everyone seems to have arms.";
+		next;
+		mes "[T2WH-0448]";
+		mes "Unless the masters moved it.";
+		mes "I'm sure there's a room down there that's good for the body, and somewhere that's good for the arms, and somewhere that's good for the legs.";
+		next;
+		mes "[T2WH-0448]";
+		mes "The closest place is where the <NAVI>[body]<INFO>ba_2whs02,31,50,0,101,0</INFO></NAVI> is, so go there first. Get me one quickly. I'm scared.";
+		ep17_2_chirp = 7;
+		erasequest 17349;
+		setquest 17350;
+		close;
+	}
+	if (ep17_2_chirp < 10) {
+		mes "[T2WH-0448]";
+		mes "The closest place is where the body is, so go there first. Get me one quickly. I'm scared.";
+		close;
+	}
+	if (ep17_2_chirp == 10) {
+		mes "[T2WH-0448]";
+		mes "You brought it? Come on. Put it together.";
+		next;
+		progressbar_npc "00FF00",2;
+		mes "[T2WH-0448]";
+		mes "Are you done? Where is it...";
+		next;
+		specialeffect EF_GUARD2;
+		setnpcdisplay( "Head#ep172_2whs01", 4_F_KR_TIGER );
+		cloakoffnpcself( "Head#ep172_2whs01" );
+		if (isbegin_quest(17355) == 0) {
+			setquest 17355;
+			completequest 17355;
+		}
+		mes "[T2WH-0448]";
+		mes "What do you think? Is it weird?";
+		next;
+		select( "Cute." );
+		mes "[T2WH-0448]";
+		mes "I really like it. Thank you. Now I'm a little relieved.";
+		next;
+		select( "I have to go back and report the situation." );
+		mes "[T2WH-0448]";
+		mes "To whom? What's her name?";
+		mes "Is it an automatic doll? or human?";
+		next;
+		select( "Oh, to a doll..." );
+		mes "[T2WH-0448]";
+		mes "Really? All the old automatic dolls outside got a name? Then give me a name too. My master didn't make a name for me. It's just a serial number.";
+		next;
+		select( "All of a sudden?" );
+		mes "[T2WH-0448]";
+		mes "Can't you name me? Can it only be done by special human? But, you're a special guest, too.";
+		next;
+		mes "[T2WH-0448]";
+		mes "Then, there's nothing we can do. I have no choice but to think. Um... How about this? Varmundt.";
+		next;
+		select( "What??" );
+		mes "[T2WH-0448]";
+		mes "Why? Is it strange? I don't know any names. How about the underground gatekeeper? Home... I'll have to think a little bit more about the name. I have to wait here until the master comes back anyway.";
+		next;
+		mes "[T2WH-0448]";
+		mes "I can think while avoiding them. Or I can ask him to name me when he comes back.";
+		next;
+		mes "[T2WH-0448]";
+		mes "You said, you should go up and report to another automatic doll, right? Well, bye! Thank you for your help.";
+		ep17_2_chirp = 11;
+		erasequest 17353;
+		setquest 17358;
+		getitem 1000103,3;
+		close;
+	}
+	if (ep17_2_chirp == 11) {
+		mes "[T2WH-0448]";
+		mes "You said, you should go up and report to another automatic doll, right? Do you think I can do this?";
+		close;
+	}
+	mes "I still haven't decided what to name it. Those guys are fine didn't touch me Oddly enough.";
+	close;
+
+OnInit:
+	questinfo( QTYPE_QUEST2, QMARK_YELLOW, "isbegin_quest(17349) == 1" );
+	questinfo( QTYPE_QUEST2, QMARK_YELLOW, "isbegin_quest(17353) == 1" );
+	end;
+}
+
+ba_2whs02,31,50,0	script	Junk#ep172_whs2body	4_ENERGY_BLACK,{
+	if (checkweight(1000101,1) == 0) {
+		mes "The number of items in your possession is too high, so you cannot proceed with the conversation.";
+		mes "Please clean up your inventory and try again.";
+		close;
+	}
+	if (ep17_2_chirp == 7) {
+		setpcblock PCBLOCK_NPC, true;
+		unittalk getcharid(3), "" + strcharinfo(0) + " : Let's see... What's worth using as the body...", bc_self;
+		progressbar_npc "00FF00",2;
+		setpcblock PCBLOCK_NPC, false;
+		if (rand(1,3) != 1)
+			unittalk getcharid(3), "" + strcharinfo(0) + " : I can't see anything suitable. Let's look again.", bc_self;
+		else {
+			unittalk getcharid(3), "" + strcharinfo(0) + " : Looks like it can be used as a body. I'll take it. Let's look for the arms next.", bc_self;
+			ep17_2_chirp = 8;
+			erasequest 17350;
+			setquest 17351;
+			getitem 1000101,1;
+		}
+		end;
+	}
+	if (ep17_2_chirp == 8) {
+		unittalk getcharid(3), "" + strcharinfo(0) + " : I already found something useful for the body. Now, let's go find an arm.", bc_self;
+		end;
+	}
+	unittalk getcharid(3), "" + strcharinfo(0) + " : I shouldn't touch these kind things.", bc_self;
+	end;
+
+OnInit:
+	questinfo( QTYPE_QUEST2, QMARK_YELLOW, "isbegin_quest(17350) == 1" );
+	end;
+}
+
+ba_2whs02,129,82,0	script	Junk#ep172_whs2arm	4_ENERGY_BLACK,{
+	if (checkweight(1000101,1) == 0) {
+		mes "The number of items in your possession is too high, so you cannot proceed with the conversation.";
+		mes "Please clean up your inventory and try again.";
+		close;
+	}
+	if (ep17_2_chirp == 8) {
+		setpcblock PCBLOCK_NPC, true;
+		unittalk getcharid(3), "" + strcharinfo(0) + " : Arm... arm... I wonder which is suitable...", bc_self;
+		progressbar_npc "00FF00",2;
+		setpcblock PCBLOCK_NPC, false;
+		if (rand(1,3) != 1)
+			unittalk getcharid(3), "" + strcharinfo(0) + " : I can't see anything suitable. Let's look again.", bc_self;
+		else {
+			unittalk getcharid(3), "" + strcharinfo(0) + " : Is this good enough for the arm? Will it be okay? Let's just take it for now. Now all we have to do is find a leg.", bc_self;
+			ep17_2_chirp = 9;
+			erasequest 17351;
+			setquest 17352;
+			getitem 1000101,1;
+		}
+		end;
+	}
+	if (ep17_2_chirp == 9) {
+		unittalk getcharid(3), "" + strcharinfo(0) + " : I already found something useful for the arm. Now, let's go find a leg.", bc_self;
+		end;
+	}
+	unittalk getcharid(3), "" + strcharinfo(0) + " : I'll just keep it pile up like this.", bc_self;
+	end;
+
+OnInit:
+	questinfo( QTYPE_QUEST2, QMARK_YELLOW, "isbegin_quest(17351) == 1" );
+	end;
+}
+
+ba_2whs02,239,124,0	script	Junk#ep172_whs2leg	4_ENERGY_BLACK,{
+	if (checkweight(1000101,1) == 0) {
+		mes "The number of items in your possession is too high, so you cannot proceed with the conversation.";
+		mes "Please clean up your inventory and try again.";
+		close;
+	}
+	if (ep17_2_chirp == 9) {
+		setpcblock PCBLOCK_NPC, true;
+		unittalk getcharid(3), "" + strcharinfo(0) + " : Arm... arm... I wonder which is suitable...", bc_self;
+		progressbar_npc "00FF00",2;
+		setpcblock PCBLOCK_NPC, false;
+		if (rand(1,3) != 1)
+			unittalk getcharid(3), "" + strcharinfo(0) + " : I can't see anything suitable. Let's look again.", bc_self;
+		else {
+			unittalk getcharid(3), "" + strcharinfo(0) + " : Would he be satisfied with a leg like this? Let's go back.", bc_self;
+			ep17_2_chirp = 10;
+			erasequest 17352;
+			setquest 17353;
+			getitem 1000101,1;
+		}
+		end;
+	}
+	if (ep17_2_chirp == 10) {
+		unittalk getcharid(3), "" + strcharinfo(0) + " : I already found everything. Let's go back.", bc_self;
+		end;
+	}
+	unittalk getcharid(3), "" + strcharinfo(0) + " : Isn't this dangerous?", bc_self;
+	end;
+
+OnInit:
+	questinfo( QTYPE_QUEST2, QMARK_YELLOW, "isbegin_quest(17352) == 1" );
+	end;
+}
+
+
+
+// Daily Quest : Cleaning Robot Omega
+ba_in01,24,322,3	script	Cleaning Robot ヘ#ba_pw01_02Q	20640,{
+	if (checkweight(1000103,2) == 0) {
+		mes "- You cannot proceed because you have too many items. -";
+		close;
+	}
+	setpcblock PCBLOCK_NPC, true;
+	npctalk "(ヨ_ヨ?) ∀ Loading..", "", bc_self;
+	sleep2 1000;
+	npctalk "Cleaning Robot ヘ : Communication is in progress for user recognition.", "", bc_self;
+	sleep2 2000;
+	npctalk "(∩_∩*) ∀ Connect !!", "", bc_self;
+	sleep2 1000;
+	if (ep17_2_main < 9) {
+		npctalk "Cleaning Robot ヘ : Unauthorized user. Communication terminated.", "", bc_self;
+		setpcblock PCBLOCK_NPC, false;
+		end;
+	}
+	npctalk "Cleaning Robot ヘ : User authorized. Nice to meet you.";
+	sleep2 1000;
+	setpcblock PCBLOCK_NPC, false;
+
+	if (isbegin_quest(5892) == 0) {
+		mes "[Cleaning Robot ヘ]";
+		mes "Hello, Guest! Nice to meet you~ I'm Cleaning Robot ヘ~";
+		next;
+		select( "Hi. Nice to meet you." );
+		mes "[Cleaning Robot ヘ]";
+		mes "The task of the cleaning robot is to clean up the sewage and the first power plant.";
+		npctalk "Ξ(^>^)ΠCleaning..", "", bc_self;
+		next;
+		mes "[Cleaning Robot ヘ]";
+		mes "But Cleaning Robot ヘ can't clean right now~ Sad~";
+		npctalk "ゐ(X_X)ゐ", "", bc_self;
+		next;
+		mes "[Cleaning Robot ヘ]";
+		mes "Unauthorized users prevents us cleaning robots to do our job~";
+		npctalk "(-_-a);;;", "", bc_self;
+		next;
+		mes "[Cleaning Robot ヘ]";
+		mes "Cleaning Robot ヘ is having difficulties. Good Guest, I need your help~ Please~";
+		npctalk "�∃ �⊂∃ �∃", "", bc_self;
+		next;
+		if (select( "Okay. I'll help you.", " I don't want to!" ) == 2) {
+			mes "[Cleaning Robot ヘ]";
+			mes "Cleaning Robot ヘ~ is sad..";
+			npctalk "(ば_ば)ゐ", "", bc_self;
+			close;
+		}
+		mes "[Cleaning Robot ヘ]";
+		mes "The guest are really kind~";
+		mes "Cleaning Robot ヘ~ is very happy";
+		npctalk "(|>∥)⊂⊇⊂⊇⊂⊇", "", bc_self;
+		setquest 5892;
+		completequest 5892;
+		close;
+	}
+	.@status[0] = F_queststatus(HUNTING,5893,5894,5895);
+	.@status[1] = F_queststatus(HUNTING,5897,5898,5899);
+
+	if (.@status[0] == 2 || .@status[1] == 2) {
+		mes "[Cleaning Robot ヘ]";
+		mes "Thank you very much, Cleaning Robot ヘ is happy to be able to go clean up.";
+		if (.@status[0] == 2) {
+			erasequest 5893;
+			erasequest 5894;
+			erasequest 5895;
+			setquest 5896;
+			getitem 1000103,2;
+			getexp 5065368,3500000;
+		}
+		if (.@status[1] == 2) {
+			erasequest 5897;
+			erasequest 5898;
+			erasequest 5899;
+			setquest 5900;
+			getitem 1000103,2;
+			getexp 5197368,3500000;
+		}
+		close;
+	}
+	switch( rand(1,4) ) {
+	case 1:
+		npctalk "(|>∥)/", "", bc_self;
+		break;
+	case 2:
+		npctalk "Ρ(^>^)Π Power..", "", bc_self;
+		break;
+	case 3:
+		npctalk "(|>∥)~⊥", "", bc_self;
+		break;
+	case 4:
+		npctalk "Ξ(^>^)Π Cleaning..", "", bc_self;
+		break;
+	}
+	.@quest_menu$[0] = callsub( S_Menu, 5893,5894,5895,5896, "Sewage Plant Cleaning" );
+	.@quest_menu$[1] = callsub( S_Menu, 5897,5898,5899,5900, "1st Power Plant Cleaning" );
+
+	mes "[Cleaning Robot ヘ]";
+	mes "Cleaning is fun~";
+	next;
+	switch( select( .@quest_menu$[0], .@quest_menu$[1], "Good luck." ) ) {
+	case 1:
+		setarray .@quest[0],5893,5894,5895;
+		.@cd = 5896;
+		break;
+	case 2:
+		setarray .@quest[0],5897,5898,5899;
+		.@cd = 5900;
+		break;
+	case 3:
+		npctalk "(ト_ト). .(ヨ_ヨ). .(zZzZ)", "", bc_self;
+		mes "[Cleaning Robot ヘ]";
+		mes "Communication ended.";
+		close;
+	}
+	switch( checkquest(.@cd,PLAYTIME) ) {
+	case -1:
+		break;
+	case 0:
+	case 1:
+		if (.@quest[0] == 5893) {
+			mes "[Cleaning Robot ヘ]";
+			mes "Thank you, nice guest~ Cleaning Robot ヘ has already treated the sewage plant.";
+		}
+		else {
+			mes "[Cleaning Robot ヘ]";
+			mes "Thank you, nice guest~ Cleaning Robot ヘ has already cleaned the first power plant.";
+		}
+		close;
+	case 2:
+		erasequest .@cd;
+		break;
+	}
+	switch( checkquest(.@quest[0],HUNTING) ) {
+	case -1:
+		if (.@quest[0] == 5893) {
+			mes "[Cleaning Robot ヘ]";
+			mes "Cleaning Robot ヘ was supposed to be the one treating the sewage plant.";
+			mes "We can't clean up because there more, Venenum, Waterfall, and Cramps~";
+		}
+		else {
+			mes "[Cleaning Robot ヘ]";
+			mes "Cleaning Robot ヘ can't clean the first power plant because there are many Elite Bellare, Magical Dolor, and Unleashed Magic.";
+		}
+		npctalk "(ば^ば) OTL ..", "", bc_self;
+		next;
+		if (.@quest[0] == 5893) {
+			mes "[Cleaning Robot ヘ]";
+			mes "Cleaning Robot ヘ is sad~";
+			mes "I think I'll be able to treat the sewage plant, if you're able to take care of 44 Venenum, Waterfall, and Cramps.";
+		}
+		else {
+			mes "[Cleaning Robot ヘ]";
+			mes "Cleaning Robot ヘ is sad~";
+			mes "I think I'll be able to treat the first power plant, if you're able to take care of 44 Elite Bellare, Magical Dolor, and Unleashed Magic.";
+		}
+		npctalk "(?>?)~⊇", "", bc_self;
+		next;
+		if (select( "I'll help.", "Refuse." ) == 2) {
+			npctalk "ゐ(@ば@)ゐ", "", bc_self;
+			mes "[Cleaning Robot ヘ]";
+			mes "Cleaning Robot ヘ~ is sad..";
+			close;
+		}
+		mes "[Cleaning Robot ヘ]";
+		mes "Thank you very much~";
+		npctalk "(⊇�⊇)~⊂", "", bc_self;
+		for ( .@i = 0; .@i < 3; ++.@i )
+			setquest .@quest[.@i];
+		close;
+	case 0:
+	case 1:
+	case 2:
+		if (.@quest[0] == 5893) {
+			mes "[Cleaning Robot ヘ]";
+			mes "Cleaning Robot ヘ was supposed to be the one treating the sewage plant.";
+			mes "I'm sad because I can't clean~ Monsters are so scary~";
+		}
+		else {
+			mes "[Cleaning Robot ヘ]";
+			mes "Cleaning Robot ヘ was supposed to be the one cleaning the first power plant.";
+			mes "I'm sad because I can't clean~ Monsters are so scary~";
+		}
+		npctalk "ゐ(ば_∥)ゐ", "", bc_self;
+		close;
+	}
+	end;
+
+S_Menu:
+	.@string$ = getarg(4);
+
+	switch( checkquest(getarg(3),PLAYTIME) ) {
+	case -1:
+		for ( .@i = 0; .@i < 3; ++.@i ) {
+			if (checkquest(getarg(.@i),HUNTING) == 0 || checkquest(getarg(.@i),HUNTING) == 1)
+				return "^777777[Ongoing]^000000 " + .@string$;
+		}
+		.@menu$ = "[Daily] " + .@string$;
+		break;
+	case 0:
+	case 1:
+		.@menu$ = "^777777[Waiting]^000000 " + .@string$;
+		break;
+	case 2:
+		.@menu$ = "[Daily] " + .@string$;
+		break;
+	}
+	return .@menu$;
+
+OnMove:
+	.@gid = getnpcid(0);
+	npcspeed rand(50,200);
+	do {
+		.@x = rand(16,31);
+		.@y = rand(311,332);
+	}
+	while (!checkcell("ba_in01",.@x,.@y,cell_chkpass));
+
+	unitstopwalk .@gid, USW_FORCE_STOP;
+	unitwalk .@gid,.@x,.@y;
+	switch( rand(1,11) ) {
+	case 1:
+		npctalk "(�∈��∈)";
+		break;
+	case 2:
+		npctalk "∃(^>^)�ノ》=�";
+		break;
+	case 3:
+		npctalk "(|>∥)⊂⊇⊂⊇⊂⊇";
+		break;
+	case 4:
+		npctalk "(∩�∩)";
+		break;
+	case 5:
+		npctalk "(+┠+)";
+		break;
+	case 6:
+		npctalk "(】�】)";
+		break;
+	case 7:
+		npctalk "(⊇�⊇)~⊂";
+		break;
+	case 8:
+		npctalk "(-�-)";
+		break;
+	case 9:
+		npctalk "(*'≦'*)b";
+		break;
+	default:
+		break;
+	}
+	sleep rand(1500,5000);
+	donpcevent strnpcinfo(0) + "::OnMove";
+	end;
+
+OnInit:
+	// (commented, no questinfo)
+	// questinfo( QTYPE_QUEST, QMARK_YELLOW, "ep17_2_main >= 9 && isbegin_quest(5892) == 0" );
+
+	questinfo( QTYPE_QUEST2, QMARK_YELLOW, "checkquest(5893,HUNTING) == 2 && checkquest(5894,HUNTING) == 2 && checkquest(5895,HUNTING) == 2" );
+	questinfo( QTYPE_QUEST2, QMARK_YELLOW, "checkquest(5897,HUNTING) == 2 && checkquest(5898,HUNTING) == 2 && checkquest(5899,HUNTING) == 2" );
+
+	questinfo( QTYPE_DAILYQUEST, QMARK_YELLOW, "isbegin_quest(5892) == 2 && checkquest(5896,PLAYTIME) == -1 && checkquest(5893,HUNTING) == -1" );
+	questinfo( QTYPE_DAILYQUEST, QMARK_YELLOW, "isbegin_quest(5892) == 2 && checkquest(5900,PLAYTIME) == -1 && checkquest(5897,HUNTING) == -1" );
+
+	questinfo( QTYPE_DAILYQUEST, QMARK_YELLOW, "isbegin_quest(5892) == 2 && checkquest(5896,PLAYTIME) == 2" );
+	questinfo( QTYPE_DAILYQUEST, QMARK_YELLOW, "isbegin_quest(5892) == 2 && checkquest(5900,PLAYTIME) == 2" );
+	donpcevent strnpcinfo(0) + "::OnMove";
+	end;
+}
+
+
+// Sidequest quest : Be quiet in the Library! - Step 1
+// ba_maison,70,145,3	script	Tamarin#ep172_bamaison-00	4_EP17_TAMARIN,{
+
+// Sidequest quest : Be quiet in the Library! - Step 2
+ba_maison,85,111,3	script	Fountain#ba	4_ENERGY_BLUE,{
+	if (ep17_2_library == 1) {
+		cloakoffnpcself( "Dew#ep172_fountain" );
+		cutin "bu_du5",2;
+		mes "[Dew]";
+		mes "Ugh! Ugh!";
+		mes "Ha... I think I'm going to be fine now.";
+		next;
+		cloakoffnpcself( "Mark#ep172_fountain" );
+		cloakoffnpcself( "Magi#ep172_fountain" );
+		cutin "bu_mark3",2;
+		mes "[Mark]";
+		mes "Hey!!!";
+		mes "What are you doing in the fountain!!!";
+		mes "Get out of there now!!!";
+		next;
+		cloakoffnpcself( "Mansion Manager モ#ep172_fountain" );
+		cutin "ep172_beta",2;
+		mes "[Mansion Manager モ]";
+		mes "Warning.";
+		mes "This facility is not for cleaning. Going in it is prohibited.";
+		next;
+		cutin "bu_du5",2;
+		mes "[Dew]";
+		mes "Eeeeek!!!";
+		mes "Who is that!!!";
+		next;
+		cutin "ep172_beta",2;
+		mes "[Mansion Manager モ]";
+		mes "I'm Mansion Manager モ of [The Mansion of the Great Sage Varmundt].";
+		mes "The facilities in the mansion are public, and is being used by every guest.";
+		mes "Please follow thhe instructions when using the facility.";
+		next;
+		mes "[Mansion Manager モ]";
+		mes "Warnings are being recorded during abnormal usage of a facility, and if warnings accumulate, you will be removed from the mansion.";
+		next;
+		mes "[Mansion Manager モ]";
+		mes "In addition, there is a facility for body washing located in the basement of the mansion. We encourage guests who visits the mansion, to visit Meditatio, the great bathhouse.";
+		next;
+		mes "[Mansion Manager モ]";
+		mes "Then, I hope you have a comfortable time. Thank you.";
+		next;
+		cloakonnpcself( "Mansion Manager モ#ep172_fountain" );
+		cutin "bu_du4",2;
+		mes "[Dew]";
+		mes "Isn't it too much to probibit washing in the fountain?";
+		next;
+		cutin "bu_mark3",2;
+		mes "[Mark]";
+		mes "No, It's enough measure, but...";
+		next;
+		cutin "bu_maggi4",2;
+		mes "[Magi]";
+		mes "Mark...";
+		mes "Mark...";
+		next;
+		cutin "bu_mark2",2;
+		mes "[Mark]";
+		mes "Yeah?";
+		mes "What's wrong?";
+		next;
+		cutin "bu_maggi4",2;
+		mes "[Magi]";
+		mes "Look at the guards over there.";
+		mes "It's... it's all broken up.";
+		next;
+		cloakoffnpcself( "Alp#ep172_fountain" );
+		cutin "bu_alp3",2;
+		mes "[Alp]";
+		mes "I also saw a lot on the way here.";
+		next;
+		cutin "bu_mark4",2;
+		mes "[Mark]";
+		mes "As expected of the Heart Hunters...";
+		mes "This is not the time to be doing this.";
+		mes "We need to hurry up with the investigation.";
+		next;
+		cutin "bu_maggi3",2;
+		mes "[Magi]";
+		mes "Yes!";
+		mes "I won't let the Heart Hunters ruin this wonderful place!";
+		next;
+		cutin "bu_mark1",2;
+		mes "[Mark]";
+		mes "Where should we go first...";
+		next;
+		cloakoffnpcself( "Oliver#ep172_fountain" );
+		mes "[Oliver]";
+		mes "Of course it's the library!";
+		next;
+		cutin "bu_alp3",2;
+		mes "[Alp]";
+		mes "Oh!";
+		mes "As expected, you know something!!! It's the great sage Varmundt!!! He's a legend, that no one has ever surpassed him during and after his time.";
+		next;
+		mes "[Alp]";
+		mes "It's said that the science and technology are only maintaining the foundation that he has established, but they can't implement things that have no data left from his research.";
+		mes "It's a library that holds that research that he loved!!! It's a privately owned library, but I heard it's bigger than the Geffen Library!!! It's been a while since I've been this excited!!!";
+		next;
+		cutin "bu_du5",2;
+		mes "[Dew]";
+		mes "Ugh...";
+		mes "It came out...";
+		mes "The bookmania...";
+		next;
+		cutin "bu_maggi1",2;
+		mes "[Magi]";
+		mes "Me too!!!";
+		mes "I wonder how many magic books are there!";
+		next;
+		cutin "bu_mark2",2;
+		mes "[Mark]";
+		mes "The Great Sage Varmundt is said to excel in magic and healing, right?";
+		mes "Come on! Let's go to the library.";
+		ep17_2_library = 2;
+		erasequest 11621;
+		setquest 11622;
+		close2;
+		cutin "",255;
+		cloakonnpcself( "Mark#ep172_fountain" );
+		cloakonnpcself( "Magi#ep172_fountain" );
+		cloakonnpcself( "Dew#ep172_fountain" );
+		cloakonnpcself( "Alp#ep172_fountain" );
+		cloakonnpcself( "Oliver#ep172_fountain" );
+		navigateto("ba_in01",211,83);
+		end;
+	}
+	if (ep17_2_library == 2) {
+		cloakoffnpcself( "Mark#ep172_fountain" );
+		cloakoffnpcself( "Magi#ep172_fountain" );
+		cloakoffnpcself( "Dew#ep172_fountain" );
+		cloakoffnpcself( "Alp#ep172_fountain" );
+		cutin "bu_mark1",2;
+		mes "[Mark]";
+		mes "Where should we go first...";
+		next;
+		cloakoffnpcself( "Oliver#ep172_fountain" );
+		mes "[Oliver]";
+		mes "Of course it's the library!";
+		next;
+		cutin "bu_alp3",2;
+		mes "[Alp]";
+		mes "Oh!";
+		mes "As expected, you know something!!! It's the great sage Varmundt!!! He's a legend, that no one has ever surpassed him during and after his time.";
+		next;
+		mes "[Alp]";
+		mes "It's said that the science and technology are only maintaining the foundation that he has established, but they can't implement things that have no data left from his research.";
+		mes "It's a library that holds that research that he loved!!! It's a privately owned library, but I heard it's bigger than the Geffen Library!!! It's been a while since I've been this excited!!!";
+		next;
+		cutin "bu_du5",2;
+		mes "[Dew]";
+		mes "Ugh...";
+		mes "It came out...";
+		mes "The bookmania...";
+		next;
+		cutin "bu_maggi1",2;
+		mes "[Magi]";
+		mes "Me too!!!";
+		mes "I wonder how many magic books are there!";
+		next;
+		cutin "bu_mark2",2;
+		mes "[Mark]";
+		mes "The Great Sage Varmundt is said to excel in magic and healing, right?";
+		mes "Come on! Let's go to the library.";
+		close2;
+		cutin "",255;
+		cloakonnpcself( "Mark#ep172_fountain" );
+		cloakonnpcself( "Magi#ep172_fountain" );
+		cloakonnpcself( "Dew#ep172_fountain" );
+		cloakonnpcself( "Alp#ep172_fountain" );
+		cloakonnpcself( "Oliver#ep172_fountain" );
+		navigateto("ba_in01",211,83);
+		end;
+	}
+	mes "- It's the fountain where Dew washed his body.";
+	mes "Fortunately, it seems that it has been cleaned already. -";
+	close;
+
+OnInit:
+	questinfo( QTYPE_QUEST, QMARK_YELLOW, "isbegin_quest(11621) == 1" );
+	end;
+}
+
+ba_maison,82,110,5	duplicate(dummy_cloaked_npc)	Mansion Manager モ#ep172_fountain	4_EP17_BASIC_B
+ba_maison,89,109,3	duplicate(dummy_cloaked_npc)	Dew#ep172_fountain	4_M_REDMAN
+ba_maison,88,113,5	duplicate(dummy_cloaked_npc)	Mark#ep172_fountain	4_M_BLUEMAN
+ba_maison,87,114,5	duplicate(dummy_cloaked_npc)	Magi#ep172_fountain	4_F_PINKWOMAN
+ba_maison,78,112,3	duplicate(dummy_cloaked_npc)	Alp#ep172_fountain	4_M_BLACKMAN
+ba_maison,84,109,5	duplicate(dummy_cloaked_npc)	Oliver#ep172_fountain	4_M_OLIVER
+
+// Sidequest quest : Be quiet in the Library! - Step 3
+ba_in01,211,183,0	script	#libent_to_library	WARPNPC,2,2,{
+	end;
+OnTouch:
+	if (ep17_2_library < 2) {
+		mes "The pile of fire in front of door prevent us from going forward.";
+		close;
+	}
+	if (ep17_2_library == 2) {
+		cloakoffnpcself( "Mark#ep172_libent" );
+		cloakoffnpcself( "Magi#ep172_libent" );
+		cloakoffnpcself( "Dew#ep172_libent" );
+		cloakoffnpcself( "Oliver#ep172_libent" );
+		cutin "bu_du5",2;
+		mes "[Dew]";
+		mes "Is this the entrance to the library?";
+		mes "The entrance seems normal... No, fire!!!";
+		mes "There's a fire!!!";
+		next;
+		specialeffect EF_WATERBALL, AREA, "#fire2";
+		cloakonnpcself( "#fire1" );
+		cloakonnpcself( "#fire2" );
+		cloakonnpcself( "#fire3" );
+		cloakonnpcself( "#fire4" );
+		cloakoffnpcself( "#fire1_0" );
+		cloakoffnpcself( "#fire2_0" );
+		cloakoffnpcself( "#fire3_0" );
+		cloakoffnpcself( "#fire4_0" );
+		cutin "bu_maggi3",2;
+		mes "[Magi]";
+		mes "Kyaaah!!!";
+		mes "It's dangerous!!";
+		mes "Wa... Waterball!!!";
+		next;
+		cutin "ep172_tamarin02",2;
+		mes "[Tamarin]";
+		mes "Uhh...";
+		mes "What's going on here?";
+		next;
+		mes "Click";
+		cloakoffnpcself( "Mansion Manager メ#ep172_libent" );
+		next;
+		cloakoffnpcself( "#fire1" );
+		cloakoffnpcself( "#fire2" );
+		cloakoffnpcself( "#fire3" );
+		cloakoffnpcself( "#fire4" );
+		cloakonnpcself( "#fire1_0" );
+		cloakonnpcself( "#fire2_0" );
+		cloakonnpcself( "#fire3_0" );
+		cloakonnpcself( "#fire4_0" );
+		cutin "ep172_alpha",2;
+		mes "[Mansion Manager メ]";
+		mes "This material is installed by the master himself, and cannot be removed with the master's permission.";
+		next;
+		mes "[Mansion Manager メ]";
+		mes "Therefore, we would like to ask you to refrain from entering. It could pose a fatal risk to your discharge from the mansion, and we are not responsible for any injuries or deaths if you forced your way in despite the warning.";
+		next;
+		cutin "bu_du5",2;
+		mes "[Dew]";
+		mes "Fire...?";
+		next;
+		cutin "bu_mark1",2;
+		mes "[Mark]";
+		mes "No matter how good your recovery skills are, you cannot recover hair or clothes...";
+		next;
+		cutin "ep172_tamarin02",2;
+		mes "[Tamarin]";
+		mes "I don't think we can enter...";
+		next;
+		cutin "bu_maggi3",2;
+		mes "[Magi]";
+		mes "That's too bad...";
+		next;
+		cloakoffnpcself( "Alp#ep172_libent" );
+		cutin "bu_alp1",2;
+		mes "[Alp]";
+		mes "......";
+		next;
+		cutin "ep172_alpha",2;
+		mes "[Mansion Manager メ]";
+		mes "I hope you stay safe and have a comfortable time.";
+		next;
+		cloakonnpcself( "Mansion Manager メ#ep172_libent" );
+		cutin "bu_alp1",2;
+		mes "[Alp]";
+		mes "...";
+		next;
+		cutin "bu_alp1",2;
+		mes "[Alp]";
+		mes "All right...";
+		mes "She's gone...";
+		mes "Let's break through!!";
+		next;
+		cutin "bu_mark1",2;
+		mes "[Mark]";
+		mes "Well...";
+		mes "You weren't warned for killing the fire, so it's okay, right?";
+		next;
+		cutin "bu_du2",2;
+		mes "[Dew]";
+		mes "One more time.";
+		mes "Magi!!";
+		next;
+		cutin "bu_maggi3",2;
+		mes "[Magi]";
+		mes "Waterball!!!";
+		ep17_2_library = 3;
+		erasequest 11622;
+		setquest 11623;
+		close2;
+		navigateto("ba_lib",157,19);
+		warp "ba_lib",159,12;
+		cloakonnpcself( "Mark#ep172_libent" );
+		cloakonnpcself( "Magi#ep172_libent" );
+		cloakonnpcself( "Dew#ep172_libent" );
+		cloakonnpcself( "Oliver#ep172_libent" );
+		cloakonnpcself( "Alp#ep172_libent" );
+		end;
+	}
+	if (ep17_2_library == 3) {
+		cutin "bu_du2",2;
+		mes "[Dew]";
+		mes "One more time.";
+		mes "Magi!!";
+		next;
+		cutin "bu_maggi3",2;
+		mes "[Magi]";
+		mes "Waterball!!!";
+		close2;
+		cutin "",255;
+		warp "ba_lib",159,12;
+		navigateto("ba_lib",157,19);
+		end;
+	}
+	warp "ba_lib",159,12;
+	end;
+
+OnInit:
+	questinfo( QTYPE_QUEST, QMARK_YELLOW, "isbegin_quest(11622) == 1" );
+	end;
+}
+
+ba_in01,213,178,3	duplicate(dummy_cloaked_npc)	Dew#ep172_libent	4_M_REDMAN
+ba_in01,209,181,5	duplicate(dummy_cloaked_npc)	Mark#ep172_libent	4_M_BLUEMAN
+ba_in01,209,179,5	duplicate(dummy_cloaked_npc)	Magi#ep172_libent	4_F_PINKWOMAN
+ba_in01,213,181,3	duplicate(dummy_cloaked_npc)	Oliver#ep172_libent	4_M_OLIVER
+ba_in01,210,184,5	duplicate(dummy_cloaked_npc)	Alp#ep172_libent	4_M_BLACKMAN
+ba_in01,209,186,5	duplicate(dummy_cloaked_npc)	Mansion Manager メ#ep172_libent	4_EP17_MASTER_A
+ba_in01,210,186,3	duplicate(dummy_npc)	#fire1	4_BONFIRE
+ba_in01,211,186,3	duplicate(dummy_npc)	#fire2	4_BONFIRE
+ba_in01,212,186,3	duplicate(dummy_npc)	#fire3	4_BONFIRE
+ba_in01,213,186,3	duplicate(dummy_npc)	#fire4	4_BONFIRE
+ba_in01,210,186,3	duplicate(dummy_cloaked_npc)	#fire1_0	4_TRACE
+ba_in01,211,186,3	duplicate(dummy_cloaked_npc)	#fire2_0	4_TRACE
+ba_in01,212,186,3	duplicate(dummy_cloaked_npc)	#fire3_0	4_TRACE
+ba_in01,213,186,3	duplicate(dummy_cloaked_npc)	#fire4_0	4_TRACE
+
+// Sidequest quest : Be quiet in the Library! - Step 4, 6
+// Daily quest : Hunting Bookworm
+// Daily quest : Hunting Roaming Spellbook
+ba_lib,157,19,5	script	Mansion Manager モ#ep172_balib	4_EP17_BASIC_B,{
+	if (checkweight(1000103,5) == 0) {
+		mes "- You have too many items.";
+		mes "Please clear your inventory and try again. -";
+		close;
+	}
+	// Sidequest quest
+	if (ep17_2_library < 3)	// no access, shouldn't happen
+		end;
+	if (ep17_2_library == 3) {
+		cutin "ep172_beta",2;
+		mes "[Mansion Manager モ]";
+		mes "Please be quiet inside the library. Also, you need to register to use the library. If you don't register, you won't be able to read any book inside the library.";
+		next;
+		select( "Register." );
+		mes "[Mansion Manager モ]";
+		mes "You have been registered.";
+		mes "Would you like to confirm your party's registration?";
+		next;
+		cutin "bu_du3",2;
+		mes "[Dew]";
+		mes "Ahh!";
+		mes "I'm done!";
+		mes "The others have already found a book, and got captivated by it...";
+		mes "and they told me to stay here and wait!";
+		next;
+		cutin "bu_du1",2;
+		mes "[Dew]";
+		mes "You have your library registration already, is there a book you're looking for?";
+		mes "I don't care about books... you should look around.";
+		next;
+		cutin "bu_du2",2;
+		mes "[Dew]";
+		mes "While you're looking around, let the other guys know that they need to register... See you later~~~";
+		ep17_2_library = 4;
+		erasequest 11623;
+		setquest 11624;
+		setquest 11625;
+		setquest 11626;
+		setquest 11627;
+		setquest 11628;
+		close3;
+	}
+	if (ep17_2_library == 4) {
+		if (F_queststatus(HAVEQUEST, 11629,11630,11631,11632,11633) != 1) {
+			cutin "ep172_beta",2;
+			mes "[Mansion Manager モ]";
+			mes "Please be quiet inside the library. Also, you need to register to use the library. If you don't register, you won't be able to read any book inside the library.";
+			next;
+			mes "[Mansion Manager モ]";
+			mes "Would you like to confirm your party's registration?";
+			next;
+			cutin "bu_du3",2;
+			mes "[Dew]";
+			mes "Ahh!";
+			mes "I'm done!";
+			mes "The others have already found a book, and got captivated by it...";
+			mes "and they told me to stay here and wait!";
+			next;
+			cutin "bu_du1",2;
+			mes "[Dew]";
+			mes "You have your library registration already, is there a book you're looking for?";
+			mes "I don't care about books... you should look around.";
+			next;
+			cutin "bu_du2",2;
+			mes "[Dew]";
+			mes "While you're looking around, let the other guys know that they need to register... See you later~~~";
+			close3;
+		}
+		cutin "ep172_beta",2;
+		mes "[Mansion Manager モ]";
+		mes "Thank you for your party confirmation.";
+		mes "" + strcharinfo(0) + " and 4... 5... 4... 6... 7... 4... 3... people has been registered.";
+		mes "Thank you for your cooperation.";
+		ep17_2_library = 5;
+		erasequest 11629;
+		erasequest 11630;
+		erasequest 11631;
+		erasequest 11632;
+		erasequest 11633;
+		getitem 1000103,5;
+		getexp 1031336,0;
+		close3;
+	}
+	// Daily quests
+	cutin "ep172_beta",2;
+	mes "[Mansion Manager モ]";
+	mes "Hello, " + strcharinfo(0) + ".";
+	mes "The following requests are only for library users, we'd appreciate if you'd give us your support.";
+	next;
+	.@quest_menu$[0] = callsub( S_Menu, 11634,11635, "Ultimate Bookworm" );
+	.@quest_menu$[1] = callsub( S_Menu, 11636,11637, "Ultimate Book" );
+
+	switch( select( .@quest_menu$[0], .@quest_menu$[1], "Cancel" ) ) {
+	case 1:
+		.@hunt = 11634;
+		.@cooldown = 11635;
+		setarray .@exp[0],910040,637040;
+		break;
+	case 2:
+		.@hunt = 11636;
+		.@cooldown = 11637;
+		setarray .@exp[0],934000,653800;
+		break;
+	case 3:
+		mes "[Mansion Manager モ]";
+		mes "I hope you stay safe and have a comfortable time.";
+		close3;
+	}
+	switch( checkquest(.@cooldown,PLAYTIME) ) {
+	case -1:
+		break;
+	case 0:
+	case 1:
+		mes "[Mansion Manager モ]";
+		mes "Today's work has already been completed.";
+		mes "Thank you.";
+		close3;
+	case 2:
+		erasequest .@cooldown;
+		break;
+	}
+	switch( checkquest(.@hunt,HUNTING) ) {
+	case -1:
+		if (.@hunt == 11634) {
+			mes "[Mansion Manager モ]";
+			mes "Recently, we received an inquiry that the number of the Bookworms that feeds on magic books has increased exponentially, causing inconvenience in using the library.";
+			mes "Please take care of 20 Bookworms to improve the environment of the library.";
+		}
+		else {
+			mes "[Mansion Manager モ]";
+			mes "Recently, we received an inquiry that the library's bookshelves was in a mess because of the spellbooks, that wanders away from their designated section.";
+			mes "Please collect 20 Roaming Spellbook around to improve the environment of the library.";
+		}
+		next;
+		if (select( "Accept", "Decline" ) == 2) {
+			mes "[Mansion Manager モ]";
+			mes "I hope you stay safe and have a comfortable time.";
+			close3;
+		}
+		mes "[Mansion Manager モ]";
+		mes "Thank you very much.";
+		setquest .@hunt;
+		close3;
+	case 0:
+	case 1:
+		mes "[Mansion Manager モ]";
+		mes "This quest is already active.";
+		close3;
+	case 2:
+		mes "[Mansion Manager モ]";
+		mes "I have confirmed the completion of the request.";
+		mes "Thank you.";
+		setquest .@cooldown;
+		erasequest .@hunt;
+		getitem 1000103,2;
+		getexp .@exp[0],.@exp[1];
+		close3;
+	}
+	end;
+
+S_Menu:
+	.@string$ = getarg(2);
+
+	switch( checkquest(getarg(1),PLAYTIME) ) {
+	case -1:
+		switch( checkquest(getarg(0),HUNTING) ) {
+		case -1:
+			.@menu$ = .@string$ + " [130]";
+			break;
+		case 0:
+		case 1:
+			.@menu$ = "^777777" + .@string$ + " (Ongoing)^000000";
+			break;
+		case 2:
+			.@menu$ = .@string$ + " [130]";
+			break;
+		}
+		break;
+	case 0:
+	case 1:
+		.@menu$ = "^777777" + .@string$ + " (Waiting)^000000";
+		break;
+	case 2:
+		.@menu$ = .@string$ + " [130]";
+		break;
+	}
+	return .@menu$;
+
+OnInit:
+	questinfo( QTYPE_QUEST, QMARK_YELLOW, "isbegin_quest(11623) == 1" );
+	questinfo( QTYPE_QUEST, QMARK_YELLOW, "isbegin_quest(11629) == 1 && isbegin_quest(11630) == 1 && isbegin_quest(11631) == 1 && isbegin_quest(11632) == 1 && isbegin_quest(11633) == 1" );
+
+	// Daily quests
+	questinfo( QTYPE_QUEST2, QMARK_YELLOW, "checkquest(11634,HUNTING) == 2" );
+	questinfo( QTYPE_QUEST2, QMARK_YELLOW, "checkquest(11636,HUNTING) == 2" );
+
+	questinfo( QTYPE_DAILYQUEST, QMARK_YELLOW, "checkquest(11635,PLAYTIME) == 2" );
+	questinfo( QTYPE_DAILYQUEST, QMARK_YELLOW, "checkquest(11637,PLAYTIME) == 2" );
+
+	questinfo( QTYPE_DAILYQUEST, QMARK_YELLOW, "ep17_2_library == 5 && checkquest(11634,HUNTING) == -1 && checkquest(11635,PLAYTIME) == -1" );
+	questinfo( QTYPE_DAILYQUEST, QMARK_YELLOW, "ep17_2_library == 5 && checkquest(11636,HUNTING) == -1 && checkquest(11637,PLAYTIME) == -1" );
+	end;
+}
+
+// Sidequest quest : Be quiet in the Library! - Step 5
+ba_lib,159,19,5	script	Dew#ep172_balib	4_M_REDMAN,{
+	cutin "bu_du3",2;
+	mes "[Dew]";
+	mes "Maybe I'll take home... some books...";
+	close3;
+}
+
+ba_lib,84,85,3	script	Mark#ep172_balib	4_M_BLUEMAN,{
+	if (ep17_2_library == 4) {
+		if (isbegin_quest(11624) == 1) {
+			cutin "bu_mark2",2;
+			mes "[Mark]";
+			mes "This is unbelievable!!!!";
+			mes "I can't believe there are so many books that I couldn't find in the Prontera library!";
+			next;
+			cutin "bu_mark1",2;
+			mes "[Mark]";
+			mes "You need to register? I was in a hurry, I didn't even take a look into it.";
+			mes "I'll go ahead and register first.";
+			erasequest 11624;
+			setquest 11629;
+			close3;
+		}
+		if (isbegin_quest(11629) == 1) {
+			cutin "bu_mark1",2;
+			mes "[Mark]";
+			mes "You need to register? I was in a hurry, I didn't even take a look into it.";
+			mes "I'll go ahead and register first.";
+			close3;
+		}
+	}
+	// (no text)
+	end;
+
+OnInit:
+	questinfo( QTYPE_QUEST, QMARK_YELLOW, "isbegin_quest(11624) == 1" );
+	end;
+}
+
+ba_lib,96,208,5	script	Tamarin#ep172_balib	4_EP17_TAMARIN,{
+	if (ep17_2_library == 4) {
+		cutin "ep172_tamarin02",2;
+		mes "[Tamarin]";
+		mes "Library registration... I was so excited about the library that I just came in. There are so many books that I want to read... I'll go register as soon as possible.";
+		next;
+		cloakoffnpcself( "????????#ep172_balib-0" );
+		cutin "ep172_barmund_b03",2;
+		mes "[????????]";
+		mes "It's over here~";
+		mes "Let me know if you've seen the book, [City of Fairies]~";
+		next;
+		cutin "ep172_tamarin02",2;
+		mes "[Tamarin]";
+		mes "Huh? City of Fairies?";
+		mes "I don't know?";
+		next;
+		cutin "ep172_barmund_b04",2;
+		mes "[????????]";
+		mes "Eh? You don't know?";
+		mes "That's odd?";
+		mes "I'm sure that you would know where it is...";
+		next;
+		cutin "ep172_barmund_b05",2;
+		mes "[????????]";
+		mes "Oh!";
+		mes "Looking at you closely, you look quite different from the other managers, am I right?";
+		next;
+		cutin "ep172_tamarin02",2;
+		mes "[Tamarin]";
+		mes "It's totally different, even if you don't look closely!!!";
+		next;
+		cutin "ep172_barmund_b05",2;
+		mes "[????????]";
+		mes "Yeah, yeah~";
+		mes "I got it already.";
+		mes "I'll look for it myself!";
+		if (isbegin_quest(11627) == 1) {
+			erasequest 11627;
+			setquest 11632;
+		}
+		close2;
+		cutin "",255;
+		cloakonnpcself( "????????#ep172_balib-0" );
+		end;
+	}
+	cutin "ep172_tamarin02",2;
+	mes "[Tamarin]";
+	mes "Do I really look like one of the managers here?";
+	mes "What, without a doubt?!";
+	close3;
+
+OnInit:
+	questinfo( QTYPE_QUEST, QMARK_YELLOW, "isbegin_quest(11627) == 1" );
+	end;
+}
+
+ba_lib,99,209,3	duplicate(dummy_cloaked_npc)	????????#ep172_balib-0	4_EP17_BOY_B
+
+ba_lib,199,233,3	script	Oliver#ep172_balib	4_M_OLIVER,{
+	if (ep17_2_library == 4) {
+		cutin "bu_oliver5",2;
+		mes "[Oliver]";
+		mes "Hmm...";
+		mes "This also...";
+		mes "That one too...";
+		mes "You've read it all, haven't you?";
+		next;
+		mes "[Oliver]";
+		mes "I thought I could find a new book...";
+		mes "By the way... where did you found these books...";
+		next;
+		cloakoffnpcself( "????????#ep172_balib-1" );
+		cutin "ep172_barmund_a03",2;
+		mes "[????????]";
+		mes "Even if you already read a book, you might be able to discover new parts by reading it again.";
+		next;
+		cutin "bu_oliver2",2;
+		mes "[Oliver]";
+		mes "But once I read a book, I remember every word in it.";
+		next;
+		cutin "ep172_barmund_a03",2;
+		mes "[????????]";
+		mes "But, the emotions you'll feel will be different, depending on the situation you are in.";
+		next;
+		cutin "bu_oliver5",2;
+		mes "[Oliver]";
+		mes "Oh~~ That's right!";
+		next;
+		cutin "bu_oliver2",2;
+		mes "[Oliver]";
+		mes "By the way... who are you brother?";
+		next;
+		cloakonnpcself( "????????#ep172_balib-1" );
+		cutin "ep172_barmund_a03",2;
+		mes "[????????]";
+		mes "Well?";
+		mes "Like the book in your hand.";
+		mes "You don't know who I am right now, but you'll eventually know who I am if you think it over and over again.";
+		next;
+		cutin "bu_oliver5",2;
+		mes "[Oliver]";
+		mes "That brother was quite strange...";
+		mes "Then I'll decide with this book as the brother said!!!";
+		if (isbegin_quest(11628) == 1) {
+			erasequest 11628;
+			setquest 11633;
+		}
+		close3;
+	}
+	cutin "bu_oliver1",2;
+	mes "I hope this book is interesting.";
+	mes "Right?";
+	close3;
+
+OnInit:
+	questinfo( QTYPE_QUEST, QMARK_YELLOW, "isbegin_quest(11628) == 1" );
+	end;
+}
+
+ba_lib,202,232,1	duplicate(dummy_cloaked_npc)	????????#ep172_balib-1	4_EP17_BOY_A
+
+ba_lib,112,266,5	script	Magi#ep172_balib	4_F_PINKWOMAN,{
+	if (ep17_2_library == 4) {
+		cutin "bu_maggi3",2;
+		mes "[Magi]";
+		mes "It's amazing!!!";
+		mes "There are so many magic spells that I've never seen before!!!!!";
+		next;
+		mes "[Magi]";
+		mes "Library registration?";
+		mes "Was there something like that?";
+		next;
+		cutin "bu_maggi2",2;
+		mes "[Magi]";
+		mes "Wait a minute... I'll just look at this a little bit more and go register!!!";
+		if (isbegin_quest(11625) == 1) {
+			erasequest 11625;
+			setquest 11630;
+		}
+		close3;
+	}
+	// (no text)
+	end;
+
+OnInit:
+	questinfo( QTYPE_QUEST, QMARK_YELLOW, "isbegin_quest(11625) == 1" );
+	end;
+}
+
+ba_lib,293,234,3	script	Alp#ep172_balib	4_M_BLACKMAN,{
+	if (ep17_2_library == 4) {
+		cutin "bu_alp1",2;
+		mes "[Alp]";
+		mes "Haha~";
+		next;
+		cutin "",255;
+		mes "- I'd better not talk to him right now. -";
+		if (isbegin_quest(11626) == 1) {
+			erasequest 11626;
+			setquest 11631;
+		}
+		close;
+	}
+	// (no text)
+	end;
+
+OnInit:
+	questinfo( QTYPE_QUEST, QMARK_YELLOW, "isbegin_quest(11626) == 1" );
+	end;
+}
+
+
+
+//= Lost Farm In Time
+// ba_maison,311,206,3	script	Luina#greeen	4_EP17_BASIC_B,{
+ba_maison,306,206,5	script	Cotton#greeen	4_EP17_BASIC_B,{
+	if (checkweight(1000103,2) == 0) {
+		mes "- You cannot proceed with the quest because you have too many items. -";
+		close;
+	}
+	if (BaseLevel < 150) {
+		mes "[Cotton]";
+		mes "Well, you look to weak to work. I don't think you can do it right now.";
+		next;
+		mes "- This quest is for level 150 or higher -";
+		close;
+	}
+	if (isbegin_quest(8586) < 2) {
+		mes "- I've met eyes with the automatic doll in front of the breeding area. -";
+		next;
+		mes "- The doll looked at me up and down, and turn its head. -";
+		close;
+	}
+	switch( checkquest(8595,PLAYTIME) ) {
+	case -1:
+		break;
+	case 0:
+	case 1:
+		mes "[Cotton]";
+		mes "You're already full of grass today... So I'll ask you again tomorrow, kind guest!";
+		close;
+	case 2:
+		mes "[Cotton]";
+		mes "It seems you have rest enough, do you want to play with the Pitayas again?";
+		erasequest 8595;
+		close;
+	}
+	setarray .@quest_id[0],8590,8591,8592,8593,8594;
+
+	for ( .@i = 0; .@i < 5; ++.@i ) {
+		switch( checkquest(.@quest_id[.@i],HUNTING) ) {
+		case -1:
+			break;
+		case 0:
+		case 1:
+			switch( .@quest_id[.@i] ) {
+				case 8590: .@color$ = "^FF45FFRed"; break;
+				case 8591: .@color$ = "^FFBF8CYellow"; break;
+				case 8592: .@color$ = "^0AFFC8Blue"; break;
+				case 8593: .@color$ = "^A679BFViolet"; break;
+				case 8594: .@color$ = "^9ABF94Green"; break;
+			}
+			mes "[Cotton]";
+			mes "Please take care of 20 " + .@color$ + " Pitayas^000000 in the farm... No, I mean just pet them!";
+			close;
+		case 2:
+			switch( .@quest_id[.@i] ) {
+				case 8590: .@color$ = "red"; break;
+				case 8591: .@color$ = "yellow"; break;
+				case 8592: .@color$ = "blue"; break;
+				case 8593: .@color$ = "violet"; break;
+				case 8594: .@color$ = "green"; break;
+			}
+			mes "[Cotton]";
+			mes "Ah! There's a lot of " + .@color$ + " on you... Ah, you've been playing with the Pitayas.";
+			mes "Thank you!";
+			mes "Here's your payment for your hard work.";
+			setquest 8595;
+			erasequest .@quest_id[.@i];
+			getitem 1000103,2;
+			getexp 1800000,1320000;
+			next;
+			mes "[Cotton]";
+			mes "Please assist us again tomorrow!";
+			close;
+		}
+	}
+	mes "[Cotton]";
+	mes "Are you here to help us? If you don't mind, could you play with the pitayas in the farm? Of course, I'll reward you for it.";
+	next;
+	switch( select( "Accept Request.", "Decline Request.", "Ask details." ) ) {
+	case 1:
+		.@quest = .@quest_id[rand(5)];
+		switch( .@quest ) {
+			case 8590: .@color$ = "^FF45FFRed"; break;
+			case 8591: .@color$ = "^FFBF8CYellow"; break;
+			case 8592: .@color$ = "^0AFFC8Blue"; break;
+			case 8593: .@color$ = "^A679BFViolet"; break;
+			case 8594: .@color$ = "^9ABF94Green"; break;
+		}
+		mes "[Cotton]";
+		mes "Thank you very much!";
+		mes "For today. I'd like you to play with 20 " + .@color$ + " Pitayas^000000 please.";
+		mes "You can distinguish them by color. You can go in right now. Have fun!";
+		setquest .@quest;
+		break;
+	case 2:
+		mes "[Cotton]";
+		mes "Sorry for asking during your busy time.";
+		mes "Anyway, in the future, let me know if you have time.";
+		break;
+	case 3:
+		mes "[Cotton]";
+		mes "You just have to go inside the farm and play with the Pitayas. If you accept the request, I will choose one color, but you can kill only 20 a day... No, I mean just pet them.";
+		mes "Don't worry. Pitayas are naturally violent when they play, usually we get bitten when playing with them.";
+		next;
+		mes "[Cotton]";
+		mes "It took quite a long time to realize that equally violent play was appropriate.";
+		mes "Anyway, let me know if you have time.";
+		break;
+	}
+	close;
+
+OnInit:
+	questinfo( QTYPE_QUEST, QMARK_YELLOW, "isbegin_quest(8586) == 2 && checkquest(8595,PLAYTIME) == -1 && checkquest(8590,HUNTING) == -1 && checkquest(8591,HUNTING) == -1 && checkquest(8592,HUNTING) == -1 && checkquest(8593,HUNTING) == -1 && checkquest(8594,HUNTING) == -1" );
+	questinfo( QTYPE_QUEST, QMARK_YELLOW, "checkquest(8595,PLAYTIME) == 2" );
+	questinfo( QTYPE_QUEST2, QMARK_YELLOW, "checkquest(8590,HUNTING) == 2 || checkquest(8591,HUNTING) == 2 || checkquest(8592,HUNTING) == 2 || checkquest(8593,HUNTING) == 2 || checkquest(8594,HUNTING) == 2" );
+	end;
+}
+
+ba_maison,309,206,5	script	Kitty#greeen	EP17_2_PITAYA_G,{
+	switch( rand(1,3) ) {
+	case 1:
+		npctalk "Kitty : ...", "", bc_self;
+		break;
+	case 2:
+		npctalk "Kitty : Tweet.", "", bc_self;
+		break;
+	case 3:
+		npctalk "Kitty : Cluck.", "", bc_self;
+		break;
+	}
+	end;
+}
+
+
+
+// Sidequest quest : Removing Biomagnetic Jamming Chips - Step 1
+// Daily quest : Warehouse Clearance
+ba_maison,79,278,3	script	Europa#eorpa	4_EP17_BASIC_B,{
+	if (checkweight(1000103,1) == 0) {
+		mes "The number of items in your possession is too high, so you cannot proceed with the conversation.";
+		mes "Please clean up your inventory and try again.";
+		close;
+	}
+	if (BaseLevel < 180) {
+		mes "*buzz*...";
+		mes "*buzz*......";
+		mes "...";
+		next;
+		mes "[Europa]";
+		mes "You are still quite inexperienced.";
+		mes "Please come back later...";
+		mes "*buzz*";
+		next;
+		mes "- You must be atleast level 180 to take this quest. -";
+		close;
+	}
+	if (ep17_2_main < 9) {
+		cutin "ep172_beta",2;
+		mes "[Europa]";
+		mes "The reactor are open to all special guests, however I recommend not going inside at the moment.";
+		close3;
+	}
+	switch( isbegin_quest(3390) ) {
+	case 0:
+		switch( isbegin_quest(3389) ) {
+		case 0:
+			mes "[Europa]";
+			mes "Hello... How are you.";
+			mes "I'm... the second horsepower plant manager... *buzz*...";
+			next;
+			mes "[Europa]";
+			mes "My name is Europa...";
+			next;
+			mes "[Europa]";
+			mes "Welcome to the Varmundt Mansion... welcome... *buzz*...";
+			next;
+			select( "You don't look well." );
+			mes "[Europa]";
+			mes "Can you take a look at the... chips in front of me...";
+			next;
+			mes "[Europa]";
+			mes "It's from the second horsepower plant... that we've collected.. It's a... chip that interferes with radio waves...";
+			next;
+			mes "- In front of Europa, there's a heap of delicious looking potato chips. -";
+			next;
+			select( "It's a potato chips no matter how much I look at it..?" );
+			mes "[Europa]";
+			mes "This... bio-interference chip has been interfering my network... There... it's... it's... it's the processing of the biochips... Can I ask you to do me a favor...?";
+			next;
+			select( "How should I handle this?" );
+			mes "[Europa]";
+			mes "Those who has... life... I understand that they can handle the biochips... *buzz*";
+			next;
+			mes "[Europa]";
+			mes "For efficient communication... *buzz*... please handle the chips... *buzz*";
+			next;
+			mes "- She must be asking you to eat the potato chips! -";
+			next;
+			mes "- Would you like to eat the potato chips piled up in front of Europa? -";
+			next;
+			if (select( "Eat it.", "No thanks." ) == 2) {
+				mes "[Europa]";
+				mes "*buzz*...";
+				mes "...";
+				mes "...";
+				close;
+			}
+			mes "[" + strcharinfo(0) + "]";
+			mes "Nom nom nom nom... crunch crunch... wobble wobble........";
+			next;
+			mes "- I've finished all the heap of potato chips that in front of Europa!! -";
+			next;
+			mes "[Europa]";
+			mes "Thank you very much. The removal of the bio-interference chips has been confirmed.";
+			mes "Communication check completed. The connection to the network is in good condition.";
+			next;
+			mes "[Europa]";
+			mes "Restarting the system. Please speak to me in a moment.";
+			setquest 3389;
+			close;
+		case 1:
+			mes "[Europa]";
+			mes "Hello. Thank you for handling the biointerference chips. Now I can communicate with the network properly. I'm Europa, the manager of the second power plant.";
+			next;
+			mes "[Europa]";
+			mes "Let me tell you about the biochips that you've just handled. The chips is installed by the Illusions called ^0000CDMagic Poisoned Sanare^000000 in the second horsepower plant for the sole purpose of jamming radio waves.";
+			next;
+			mes "[Europa]";
+			mes "It's a chip that's letal to the automatic dolls ability to communicate, and these days, it's a major disruption to the management of the second horsepower power plant.";
+			next;
+			mes "[Europa]";
+			mes "I went into the second power plant myself and retrieved the chips, but there was no way for me to deal with them, and it became difficult situation because of the network failure.";
+			next;
+			mes "[Europa]";
+			mes "The problem was resolved, thanks to you handling the chips. " + strcharinfo(0) + ", Thank you very much.";
+			next;
+			mes "[Europa]";
+			mes "I'm sorry to ask after saying my thanks, but it's quite urgent, so could you do me a favor?";
+			next;
+			select( "What is it?" );
+			mes "[Europa]";
+			mes "As I mentioned, the Illusion, ^0000CDMagic Poisoned Sanare^000000, are still installing the jamming chips that I mentioned in the second horsepower plant. If I went in like this, I'll probably end up malfunctioning again.";
+			next;
+			mes "[Europa]";
+			mes "Adventurer, could you go in the second horsepower plant and collect 10 ^0000CDPotato Chips^000000?";
+			next;
+			if (select( "Accept.", "Refuse." ) == 2) {
+				mes "[Europa]";
+				mes "If it continue like this, I'll probably end up malfunctioning again. I need your help.";
+				close;
+			}
+			mes "[Europa]";
+			mes "The best way is to get rid of the ^0000CDMagic Poisoned Sanare^000000 and collect the chips before they install it.";
+			next;
+			mes "[Europa]";
+			mes "Please collect 10 ^0000CDPotato Chips^000000.";
+			close2;
+			erasequest 3389;
+			setquest 3390;
+			end;
+		case 2:
+			end;
+		}
+		end;
+	case 1:
+		if (countitem(1000225) < 10) {
+			mes "[Europa]";
+			mes "Please collect 10 Potato Chips and bring them to me.";
+			close;
+		}
+		mes "[Europa]";
+		mes "I checked the collection of 10 potato chips. Please process the biochip.";
+		next;
+		mes "- I've eaten all of the potato chips without a single leftover. -";
+		next;
+		mes "[Europa]";
+		mes "The processing of potato chips has been confirmed. Thank you very much.";
+		delitem 1000225,10;
+		getitem 1000103,1;
+		completequest 3390;
+		setquest 3391;
+		getexp 11560465,9728632;
+		close;
+	case 2:
+		break;
+	}
+	switch( checkquest(3391,PLAYTIME) ) {
+	case -1:
+		break;
+	case 0:
+	case 1:
+		mes "[Europa]";
+		mes "You have collected enough for today. Could you come and see me again after a day?";
+		close;
+	case 2:
+		erasequest 3391;
+		break;
+	}
+	switch( isbegin_quest(3392) ) {
+	case 0:
+		mes "[Europa]";
+		mes "Adventurer, are you here to help me again?";
+		mes "Then, could you collect 10 ^0000CDPotato Chips^000000 from the ^0000CDMagic Poisoned Sanare^000000 in the second horsepower plant again?";
+		next;
+		if (select( "Accept.", "Refuse." ) == 2) {
+			mes "[Europa]";
+			mes "If it continue like this, I'll probably end up malfunctioning again. I need your help.";
+			close;
+		}
+		mes "[Europa]";
+		mes "Then, please collect 10 ^0000CDPotato Chips^000000.";
+		setquest 3392;
+		close;
+	case 1:
+		if (countitem(1000225) < 10) {
+			mes "[Europa]";
+			mes "Please collect 10 Potato Chips and bring them to me.";
+			close;
+		}
+		mes "[Europa]";
+		mes "I checked the collection of 10 potato chips. Please process the biochip.";
+		next;
+		mes "- I've eaten all of the potato chips without a single leftover. -";
+		next;
+		mes "[Europa]";
+		mes "The processing of potato chips has been confirmed. Thank you very much.";
+		delitem 1000225,10;
+		getitem 1000103,1;
+		erasequest 3392;
+		setquest 3391;
+		getexp 6236863,4365714;
+		close;
+	}
+	end;
+
+OnInit:
+	// Starter
+	questinfo( QTYPE_QUEST, QMARK_YELLOW, "ep17_2_main >= 9 && BaseLevel >= 180 && isbegin_quest(3389) == 0 && isbegin_quest(3390) == 0" );
+	questinfo( QTYPE_QUEST, QMARK_YELLOW, "isbegin_quest(3389) == 1" );
+	questinfo( QTYPE_QUEST2, QMARK_YELLOW, "isbegin_quest(3390) == 1 && countitem(1000225) >= 10" );
+
+	// Daily
+	questinfo( QTYPE_DAILYQUEST, QMARK_YELLOW, "isbegin_quest(3390) == 2 && isbegin_quest(3392) == 0 && checkquest(3391,PLAYTIME) == -1" );
+	questinfo( QTYPE_DAILYQUEST, QMARK_YELLOW, "checkquest(3391,PLAYTIME) == 2" );
+	questinfo( QTYPE_QUEST2, QMARK_YELLOW, "isbegin_quest(3392) == 1 && countitem(1000225) >= 10" );
+	end;
+}
+
+
+		
+// Daily quest and instance : Hey! Sweety
+ba_in01,28,255,5	script	Manager Beta Almond#ep172_amd01	4_EP17_BASIC_B,{
+	if (checkweight(1000103,4) == 0) {
+		mes "You cannot proceed with the quest because you have too many items in your possession.";
+		mes "Please clean up your inventory and try again.";
+		close;
+	}
+	if (ep17_2_main < 33) {
+		cutin "ep172_beta",2;
+		mes "[Almond]";
+		mes "Hello? It's nice to see you again~";
+		mes "I owe you for taking care of me last night.";
+		mes "Are you in charge of this place starting today? I'll clean up well.";
+		next;
+		mes "[Almond]";
+		mes "I am repairing Sweety's broken parts, he is good at breaking them.";
+		mes "He wants to fight often, so you have to be careful~";
+		next;
+		mes "[Almond]";
+		mes "If you want to do a combat training, just tell me.";
+		mes "I'll clean up for you.";
+		close3;
+	}
+	if (isbegin_quest(18019) == 0) {
+		cutin "ep172_beta",2;
+		mes "[Almond]";
+		mes "Sweety woke up. He might know something.";
+		mes "Can you talk to him?";
+		setquest 18019;
+		close3;
+	}
+	if (isbegin_quest(18019) == 1) {
+		cutin "ep172_beta",2;
+		mes "[Almond]";
+		mes "Almond didn't understand half of what Sweety was saying.";
+		mes "But a fighting machine? I do remember seeing him fight in the library before.";
+		close3;
+	}
+	switch( checkquest(18022,HUNTING) ) {
+	case -1:
+		break;
+	case 0:
+	case 1:
+		.@md_name$ = "Hey! Sweety";
+
+		.@party_id = getcharid(1);
+		.@party_name$ = getpartyname(.@party_id);
+		if (.@party_id < 1) {
+			mes "^0000CDThis is a memorial dungeon.^000000";
+			mes "Please create a party and try again.";
+			mes "^0000CDA party can be created using the /organize partyname command.^000000";
+			close;
+		}
+		if (checkquest(18025,PLAYTIME) == 2) {
+			cutin "ep172_beta.bmp",2;
+			mes "[Almond]";
+			mes "Are you going to play against Sweety again?";
+			mes "Then, I want to ask you something...";
+			erasequest 18025;
+			next;
+		}
+		mes "[Almond]";
+		mes "Sweety signed up for a battle?";
+		mes "It's fine as long as Almond keep an eye on him.";
+		if (isbegin_quest(18024) == 0 && checkquest(18025,PLAYTIME) == -1) {
+			mes "Also, while on your way, please go out to the garden and pick up the 'cores' of the broken automatic dolls.";
+			setquest 18024;
+		}
+		next;
+		if (select( "Create '" + .@md_name$ + "'.", "Enter '" + .@md_name$ + "'.'" ) == 1) {
+			if (!is_party_leader()) {
+				mes "^4D4DFFThis place is a memorial dungeon.";
+				mes "You have to be a party leader to create a memorial dungeon.^000000";
+				close;
+			}
+			if (instance_create(.@md_name$) == -3)
+				dispbottom "The reservation of the instance '" + .@md_name$ + "' has failed due to an active instance.";
+			mes "[Almond]";
+			mes "Let's clean up the mess~";
+			close3;
+		}
+		if (instance_enter(.@md_name$) == IE_OK)
+			mapannounce "ba_in01", "" + strcharinfo(0) + " of the party, " + .@party_name$ + ", is entering the " + .@md_name$ + ".", bc_map, "0x00FF99";
+		else {
+			mes "[Almond]";
+			mes "Can you give me time to organize it?";
+			close2;
+		}
+		cutin "",255;
+		end;
+	case 2:
+		break;
+	}
+	switch( checkquest(18025,PLAYTIME) ) {
+	case -1:
+		break;
+	case 0:
+	case 1:
+		cutin "ep172_beta.bmp",2;
+		mes "[Almond]";
+		mes "Guest, when the time comes, please collect the cores of the broken dolls from the mansion after sunset.";
+		mes "There are still many automatons left in ruins.";
+		close3;
+	case 2:
+		cutin "ep172_beta.bmp",2;
+		mes "[Almond]";
+		mes "Are you going to play against Sweety again later?";
+		mes "Then, I wants to ask you something...";
+		erasequest 18025;
+		next;
+		cutin "ep172_beta.bmp",2;
+		mes "[Almond]";
+		mes "Sweetie should be fixed and the automaton should be restored. Almond is busy~";
+		close3;
+	}
+	switch( isbegin_quest(18024) ) {
+	case 0:
+		cutin "ep172_beta",2;
+		mes "[Almond]";
+		mes "Repairing Sweety. The automatic doll Almond is busy.";
+		close3;
+	case 1:
+		if (countitem(1000226) < 10) {
+			cutin "ep172_beta.bmp",2;
+			mes "[Almond]";
+			mes "I need you to collect more than 10 broken doll cores...";
+			mes "You seem a bit short?";
+			mes "Guest, is your effort not enough?";
+			close3;
+		}
+		cutin "ep172_beta",2;
+		mes "[Almond]";
+		mes "This cores is enough~ We'll use it to repair the broken automatic dolls..., and those with remaining data will be fix in no time.";
+		mes "I'll give you this Barmeal Ticket in return.";
+		erasequest 18024;
+		setquest 18025;
+		delitem 1000226,10;
+		getitem 1000103,2;
+		getexp2 206267,0;
+		close3;
+	case 2:
+		end;
+	}
+	end;
+
+OnInit:
+	// starter
+	questinfo( QTYPE_QUEST, QMARK_YELLOW, "isbegin_quest(18018) == 2 && isbegin_quest(18019) == 0" );
+
+	// hunting Sweety
+	questinfo( QTYPE_DAILYQUEST, QMARK_YELLOW, "checkquest(18022,HUNTING) == 0 || checkquest(18022,HUNTING) == 1" );
+
+	// item gathering
+	questinfo( QTYPE_QUEST2, QMARK_YELLOW, "isbegin_quest(18024) == 1 && countitem(1000226) >= 10" );
+	questinfo( QTYPE_DAILYQUEST, QMARK_YELLOW, "checkquest(18025,PLAYTIME) == 2" );
+	end;
+}
+
+ba_in01,32,250,3	script	Sweety#ep172_swty	4_EP17_SWEETY,{
+	if (checkweight(1000103,4) == 0) {
+		mes "You cannot proceed with the quest because you have too many items in your possession.";
+		mes "Please clean up your inventory and try again.";
+		close;
+	}
+	if (ep17_2_main < 33) {
+		cutin "ep172_beta",2;
+		mes "[Almond]";
+		mes "His body's base is the same as ours, so it's easy to repair.";
+		mes "I'll tell you, when he wake up later.";
+		close3;
+	}
+	if (isbegin_quest(18019) == 0) {
+		cutin "ep172_sweety01",2;
+		mes "[Sweety]";
+		mes "What are you looking at?";
+		mes "Get away from me?!";
+		close3;
+	}
+	if (isbegin_quest(18019) == 1) {
+		cutin "ep172_sweety01",2;
+		mes "[Sweety]";
+		mes "Ah. I have a new body...";
+		next;
+		cutin "ep172_beta",0;
+		mes "[Almond]";
+		mes "sweety. You are wrong.";
+		mes "It's not a new body, we just repaired your damages. Do you understand?";
+		next;
+		mes "[Almond]";
+		mes "It's amazing that you're compatible with our automatic dolls part.";
+		mes "Alpha said that sweety's body's base is the same as ours.";
+		next;
+		cutin "ep172_sweety03",2;
+		mes "[Sweety]";
+		mes "Huh, what do you know.";
+		mes "In short, my body is immortal.";
+		next;
+		select( "You were a human before, right?" );
+		cutin "ep172_beta",0;
+		mes "[Almond]";
+		mes "If you think outside of the box, all creatures that can talk and rationally are human beings.";
+		mes "But, Me and sweety aren't humans because we don't have any biological definition, am I right? Haha.";
+		next;
+		cutin "ep172_sweety03",2;
+		mes "[Sweety]";
+		mes "What nonsense! I'm a human being! I was human!";
+		next;
+		mes "[Sweety]";
+		mes "I was the only one recognized among the bunch of idiots!";
+		mes "Do you know how I survived?";
+		npctalk "Haha, the past.", "Manager Beta Almond#ep172_amd01", bc_self;
+		next;
+		mes "[Sweety]";
+		mes "Would I have been abandoned like the rest of them, if it wasn't for my genius brain?";
+		mes "But isn't it great that I survived?";
+		next;
+		select( "It's a nice story..." );
+		cutin "ep172_beta",0;
+		mes "[Almond]";
+		mes "From my perspective... Sweety has a person's brain, right?";
+		mes "His body was modified like an automatic doll.";
+		mes "Does that make you an automatic doll like us~?";
+		next;
+		cutin "ep172_sweety03",2;
+		mes "[Sweety]";
+		mes "Don't treat me like I'm the same as you!";
+		mes "I'm a member of the Illusion!";
+		mes "I'm just buying time, I wont fall down easily!";
+		mes "Soon-";
+		next;
+		select( "Soon?" );
+		cutin "ep172_beta",0;
+		mes "[Almond]";
+		mes "It seems you're mistaken, Sweety.";
+		mes "The leader of the 'intruders' or the one that the guests call the Illusions has ran away, right?";
+		mes "Doesn't that mean that they abandoned you?";
+		mes "That's what I understood from the current situation.";
+		next;
+		mes "[Almond]";
+		mes "Not possible.";
+		mes "You won't be able to receieve it even if it came.";
+		mes "Ellie took your receiving chip while we're repairing you.";
+		mes "Doesn't that mean Ellie will take the orders for you?";
+		npctalk "No! I'll receive my next orders soon!", "", bc_self;
+		next;
+		mes "[Almond]";
+		mes "What do you think should I do, adventurer?";
+		mes "I couldn't destroy him because this kid has a brain of a 'human child'.";
+		next;
+		cutin "ep172_sweety02",2;
+		mes "[Sweety]";
+		mes "You...? What are you talking about?";
+		mes "What are you going to do with me?";
+		mes "My teachers wouldn't abandon me!";
+		next;
+		cutin "ep172_beta",0;
+		mes "[Almond]";
+		mes "Can I make a suggestion?";
+		mes "Sweety is expected to express extreme stress due to anxiety.";
+		next;
+		mes "[Almond]";
+		mes "Wouldn't it be better if you deal with him whenever Sweety goes on a rampage?";
+		mes "Then I'll repair him after.";
+		next;
+		mes "[Almond]";
+		mes "I've once read a book about a training where the trainer knocks down the trainee whenever they try to get up, isn't it common?";
+		mes "In this case, I'll ask you to be trainer.";
+		npctalk "Hey! Can't you hear me?!", "", bc_self;
+		completequest 18019;
+		next;
+		cutin "ep172_sweety04",2;
+		mes "[Sweety]";
+		mes "... ... so you won't even listen to my opinions...?";
+		close3;
+	}
+	switch( checkquest(18023,PLAYTIME) ) {
+	case -1:
+		break;
+	case 0:
+	case 1:
+		cutin "ep172_sweety04",2;
+		mes "[Sweety]";
+		mes "I won't fall for your tricks, even if you look at me like that.";
+		mes "Go away. I need to be repaired.";
+		close3;
+	case 2:
+		mes "[Sweety]";
+		mes "I'm fully repaired!";
+		mes "You. Next time I'll really beat you to death!";
+		erasequest 18023;
+		close;
+	}
+	switch( checkquest(18022,HUNTING) ) {
+	case -1:
+		cutin "ep172_sweety01",2;
+		mes "[Sweety]";
+		mes "What is it? What's going on?";
+		mes "Did you come back here to die in my hands?";
+		next;
+		if (select( "Apply for battle.", "Have a conversation." ) == 2) {
+			cutin "ep172_sweety04",2;
+			mes "[Sweety]";
+			mes "Do you think I'll tell you anything if you do that...?";
+			mes "Why don't you just go and die?";
+			close2;
+			cutin "",255;
+			npctalk "Sweety, you always talk like that~", "Manager Beta Almond#ep172_amd01", bc_self;
+			end;
+		}
+		cutin "ep172_sweety03",2;
+		mes "[Sweety]";
+		mes "I'm glad to hear that.";
+		mes "If you want to battle, you're welcome anytime!";
+		next;
+		cutin "ep172_sweety01",2;
+		mes "[Sweety]";
+		mes "But there's a problem. If you want to fight me, you have to convince Almond.";
+		mes "Can you do it?";
+		next;
+		if (select( "I can.", "It's impossible." ) == 2) {
+			cutin "ep172_sweety02",2;
+			mes "[Sweety]";
+			mes "What, you're just a nobody anyways.";
+			close3;
+		}
+		if (isbegin_quest(18022) == 0)
+			setquest 18022;
+		mes "[Sweety]";
+		mes "*chuckles*... I won't let you live this time... *chuckles*";
+		close3;
+	case 0:
+	case 1:
+		cutin "ep172_sweety03",2;
+		mes "[Sweety]";
+		mes "Whoo-hoo... Come on, tell Almond!";
+		mes "I'm going to warm up this body!";
+		mes "And today's the day that I'll take you down!";
+		close3;
+	case 2:
+		cutin "ep172_sweety02",2;
+		mes "[Sweety]";
+		mes "...Tch, I really don't want to see you.";
+		mes "Just take this and go away!";
+		erasequest 18022;
+		setquest 18023;
+		getitem 1000103,4;
+		getexp2 206267,0;
+		close3;
+	}
+	end;
+
+OnInit:
+	questinfo( QTYPE_QUEST, QMARK_YELLOW, "isbegin_quest(18019) == 1" );
+	questinfo( QTYPE_DAILYQUEST, QMARK_YELLOW, "isbegin_quest(18019) == 2 && checkquest(18023,PLAYTIME) == -1 && checkquest(18022,HUNTING) == -1" );
+	questinfo( QTYPE_DAILYQUEST, QMARK_YELLOW, "checkquest(18023,PLAYTIME) == 2" );
+	questinfo( QTYPE_QUEST2, QMARK_YELLOW, "checkquest(18022,HUNTING) == 2" );
+	end;
+}
+
+
+
+// Water Garden instance - Step 1
+ba_pw02,42,267,5	script	Lensis#jh_ba	20629,{
+	if (ep17_2_main < 9) {
+		mes "[Lensis]";
+		mes "Users who are not registered as guests are considered enemy.";
+		next;
+		mes "- A preceding quest still exist. -";
+		close;
+	}
+	if (ep172_watergarden == 0) {
+		cloakoffnpcself( "Elyumina#jh_ba1" );
+		cutin "ep171_elyumina01",2;
+		mes "[Elyumina]";
+		mes "I just realized, My way of thinking is wrong. This guy called Varmundt isn't he amazing?";
+		mes "To think these beautiful automatic dolls exist. I should've come in more earlier.";
+		npctalk "Elyumina : If I had, I wouldn't have been caught.", "Elyumina#jh_ba1", bc_self;
+		emotion ET_SURPRISE, getnpcid(0,"Elyumina#jh_ba1");
+		next;
+		mes "[Elyumina]";
+		mes "It's beautiful, this form of connection that allows the core entity to freely control sub-objects deployed throughout the mansion with centralized network control method...";
+		next;
+		cutin "ep171_elyumina04",2;
+		mes "[Elyumina]";
+		mes "and yet, it's operating in a way that makes the individuality of the sub-objects stands out.";
+		mes "It's fun. I wonder what kind of machine it works with.";
+		emotion ET_BIGTHROB, getnpcid(0,"Elyumina#jh_ba1");
+		next;
+		cloakoffnpcself( "Rookie#jh_ba1" );
+		cloakoffnpcself( "Lazy#jh_ba1" );
+		cutin "16loo_03",2;
+		mes "[Rookie]";
+		mes "You seem happy. I don't know what makes you happy though.";
+		emotion ET_SWEAT, getnpcid(0,"Rookie#jh_ba1");
+		next;
+		mes "[Rookie]";
+		mes "Be careful anyway. There's a near toxic sewage running right under this thin sheet of iron.";
+		next;
+		cutin "16lei_02",2;
+		mes "[Lazy]";
+		mes "I guess you can't hear us because you're too absorbed in the new machines and the automatic doll. You're like a kid with a new toy, Ms. Criminal Scientist.";
+		next;
+		cutin "ep171_elyumina01",2;
+		mes "[Elyumina]";
+		mes "Are you an automatic doll that manages this place? Can I talk to you for a moment?";
+		mes "Don't worry, I'm not a suspicious person.";
+		emotion ET_DELIGHT, getnpcid(0,"Elyumina#jh_ba1");
+		next;
+		cutin "16lei_02",2;
+		mes "[Lazy]";
+		mes "It's more like a person than an automatic doll.";
+		mes "What? Wait, the automatic doll looks a little weird. Ms. Criminal Scientist, be careful...";
+		next;
+		cutin "ep172_beta",2;
+		mes "[Lensis]";
+		mes "Recognized. Intruder recognized, initiating immediate exclusion.";
+		next;
+		cloakonnpcself( "Elyumina#jh_ba1" );
+		cutin "ep171_elyumina03",2;
+		mes "[Elyumina]";
+		mes "Wait, wait a minute. I'm properly licensed... Argh!";
+		specialeffect EF_ICECRASH, AREA, "Elyumina#jh_ba1";
+		emotion ET_HUK, getnpcid(0,"Elyumina#jh_ba1");
+		next;
+		cloakonnpcself( "Rookie#jh_ba1" );
+		cutin "16loo_03",2;
+		mes "[Rookie]";
+		mes "Oh, it's dangerous!";
+		emotion ET_HUK, getnpcid(0,"Rookie#jh_ba1");
+		next;
+		cloakoffnpcself( "Elyumina#jh_ba1" );
+		cloakoffnpcself( "Rookie#jh_ba1" );
+		cutin "ep171_elyumina03",2;
+		mes "[Elyumina]";
+		mes "Ugh! Cough, cough, cough!";
+		mes "Argh! What the hell is this? I almost died! I can't believe you did it in such a lovely way. You're all wet!";
+		emotion ET_KEK, getnpcid(0,"Elyumina#jh_ba1");
+		next;
+		mes "[Elyumina]";
+		mes "You know how to be forgiven for just being pretty, don't you? The world is not that easy! ... wh, what kind of headache is this?";
+		next;
+		cutin "16loo_01",2;
+		mes "[Rookie]";
+		mes "...... It could have been a disaster.";
+		mes "This person is with us. I'm not an intruder. Alpha said you can communicate with her, but why did you do this?";
+		npctalk "Lazy : The angry context is a bit weird. Are you sure you're okay?", "Lazy#jh_ba1", bc_self;
+		next;
+		cutin "ep172_beta",2;
+		mes "[Lensis]";
+		mes "Network check, automatic error correction. Reconfirming packets......";
+		mes "Ah, I confirmed.";
+		mes "......however, more than 62% of the intruders had similar behavior patterns, so I considered you as an intruder.";
+		next;
+		cutin "16loo_03",2;
+		mes "[Lazy]";
+		mes "Where did the 38% went to?";
+		next;
+		cutin "16loo_03",2;
+		mes "[Rookie]";
+		mes "Don't joke like that, Lazy!";
+		mes "You know Mina is no longer an Ilusion.";
+		next;
+		cutin "ep171_elyumina03",2;
+		mes "[Elyumina]";
+		mes "Wait, I'm a little weird... My head hurts, I'm starting to feel dizzy and nauseous.";
+		next;
+		cutin "16loo_03",2;
+		mes "[Rookie]";
+		mes "What should we do. The sewage around here is coming for the laboratory, that's why it's almost toxic.";
+		mes "I can't believe you fell into the water that looks very bad even at first glance.";
+		emotion ET_THINK, getnpcid(0,"Rookie#jh_ba1");
+		next;
+		cutin "",255;
+		select( "Shouldn't you see a doctor?" );
+		cutin "16loo_01",2;
+		mes "[Rookie]";
+		mes "That's a good idea. Adventurer, can you go ahead into the <NAVI>[mansion]<INFO>ba_maison,169,270,0,101,0</INFO></NAVI> and tell to them to prepare a medical faciltiy?";
+		mes "Me and Lazy will take care of Elyumina and follow quickly.";
+		next;
+		cutin "",255;
+		if (select( "Leave it to me!", "Refuse." ) == 2) {
+			cutin "16loo_01",2;
+			mes "[Rookie]";
+			mes "Adventurer, there's no way that you'd think Mina is still an Illusion, right?";
+			mes "Having received the weapons and modules made by Mina herself!";
+			close3;
+		}
+		cutin "16loo_01",2;
+		mes "[Rookie]";
+		mes "Thank you, adventurer! I'll be right with you.";
+		mes "Ah, Mina. Her face looks blue, isn't it? Adventurer, please tell them to get ready quickly!";
+		navigateto("ba_maison",169,270);
+		close2;
+		cutin "",255;
+		ep172_watergarden = 1;
+		setquest 16427;
+		cloakonnpcself( "Elyumina#jh_ba1" );
+		cloakonnpcself( "Rookie#jh_ba1" );
+		cloakonnpcself( "Lazy#jh_ba1" );
+		end;
+	}
+	cutin "ep172_beta",2;
+	mes "[Lensis]";
+	mes "Hello, guest. Welcome to the sewage treatment plant.";
+	next;
+	mes "[Lensis]";
+	mes "This area is where the laboratory sewage is discharged into and it's very dangerous for skin contact or ingestion, which can lead to immediate death, so we recommend for everyone to stay away from it.";
+	next;
+	mes "[Lensis]";
+	mes "If you need a poison, I will provide you......";
+	close3;
+
+OnInit:
+	questinfo( QTYPE_QUEST, QMARK_YELLOW, "ep17_2_main >= 9 && ep172_watergarden == 0" );
+	end;
+}
+
+ba_pw02,45,267,3	script(CLOAKED)	Elyumina#jh_ba1	4_EP17_ELYUMINA,{
+	emotion ET_DELIGHT;
+	npctalk "Elyumina : I just realized, My way of thinking is wrong. This guy called Varmundt isn't he amazing?", "", bc_self;
+	cloakonnpcself();
+	end;
+}
+
+ba_pw02,50,264,3	script(CLOAKED)	Rookie#jh_ba1	4_M_ROOKIE,{
+	npctalk "Rookie : I don't know how I ended up with these two people.", "", bc_self;
+	cloakonnpcself();
+	end;
+}
+
+ba_pw02,48,262,1	script(CLOAKED)	Lazy#jh_ba1	4_M_LAZY,{
+	npctalk "Lazy : Um, it's a little hard to breathe here.", "", bc_self;
+	cloakonnpcself();
+	end;
+}
+
+
+// Water Garden instance - Step 2
+ba_maison,169,270,5	script	Need#jh_ba	4_EP17_BASIC_B,{
+	if (ep172_watergarden == 1) {
+		cutin "ep172_beta",2;
+		mes "[Need]";
+		mes "Wow~ You're a guest!";
+		mes "Hello. I've been waiting for a guest to come all this time.";
+		emotion ET_SURPRISE;
+		next;
+		mes "[Need]";
+		mes "What do you want me to do first? Meal? Rest? Bath?";
+		mes "I'll prepare anything for you. Just tell me.";
+		next;
+		select( "I need a medical facility." );
+		cutin "ep172_beta",2;
+		mes "[Need]";
+		mes "Ah, ahhhhhh! Dear guest, are you hurt? Where? How? How much?!";
+		mes "I'll prepare the medical equipments and rest areas right now!";
+		emotion ET_KEK;
+		next;
+		select( "No, it's not......" );
+		cloakoffnpcself( "Rookie#jh_ba2" );
+		cloakoffnpcself( "Lazy#jh_ba2" );
+		cloakoffnpcself( "Elyumina#jh_ba2" );
+		cutin "16loo_01",2;
+		mes "[Rookie]";
+		mes "Your complexion looks like dirt. You can't walk straight... You will have to change your wet clothes.";
+		mes "I'm sure the adventurer will have the medical facility ready for you to get treatment right away. So, cheer up.";
+		next;
+		cutin "ep171_elyumina03",2;
+		mes "[Elyumina]";
+		mes "Ugh... it feels weird. Ah, I can see the machine flowing and the river of screws...";
+		next;
+		cutin "16lei_03",2;
+		mes "[Lazy]";
+		mes "What are you looking at. I don't think it's normal. Criminal Scientist, are you all right?";
+		next;
+		cutin "ep172_beta",2;
+		mes "[Need]";
+		mes "Huh? It's an intruder, an intruder!";
+		mes "Don't worry, I won't let them harm you. I'll call for security assistance!";
+		next;
+		cutin "ep171_elyumina03",2;
+		mes "[Elyumina]";
+		mes "Oh... I'm feeling a little bit better now. Intruder or whatever. All I have to do is cross that river, ahahaha...";
+		next;
+		cutin "16loo_03",2;
+		mes "[Rookie]";
+		mes "Wait, wait a minute. She is with us.";
+		mes "We need a diagnosis and treatment. I'd like to ask you to hurry.";
+		next;
+		cutin "ep172_beta",2;
+		mes "[Need]";
+		mes "A diagnosis is not needed. I have been told what happened.";
+		mes "You have been in contact with the contaminated sewage that is specially discharge from the sewage treatment plant, haven't you?";
+		next;
+		mes "[Need]";
+		mes "You have come into contact with a dangerous chemicals from the laboratory...";
+		mes "Basically, your life is at risk!";
+		npctalk "Elyumina : No, I didn't do it because I wanted to make contact. I'm telling you that's true.", "Elyumina#jh_ba2", bc_self;
+		next;
+		mes "[Need]";
+		mes "Oh, You can understand that you're addicted to poison.";
+		mes "Hmm, that's a big deal~";
+		next;
+		cutin "16loo_01",2;
+		mes "[Rookie]";
+		mes "'Hmm, that's a big deal~' well, it's not a big deal!";
+		mes "Is there any way we can decipher it?";
+		npctalk "Lazy : Well, it's a pleasant talk. But, you're not in a situation like that at all, are you?", "Lazy#jh_ba2", bc_self;
+		next;
+		cutin "ep172_beta",2;
+		mes "[Need]";
+		mes "Well, dear guest. She's not a guest. You're an intruder aren't you?";
+		mes "We can't give intruders the same benefit as the guests.";
+		next;
+		cutin "ep171_elyumina03",2;
+		mes "[Elyumina]";
+		mes "Yes, yes. I suppose so. Okay, just leave it alone......";
+		mes "Because if you just leave it, it will die on its own. Goodbye, my beloved machines, I'm going first.";
+		next;
+		cutin "16loo_01",2;
+		mes "[Rookie]";
+		mes "You talk too badly. Come on, is there any way?";
+		mes "Just because you were an Illusion once doesn't mean you're an Illusion forever. Although you still have to pay for your sins. You have to live with that, too.";
+		next;
+		cutin "ep172_beta",2;
+		mes "[Need]";
+		mes "You wouldn't be able to say that if you knew how much the intruders had ruined our precious work.";
+		npctalk "Lazy : Yeah, She still looks line an Illusion, but slightly different from the Illusion. Just slightly.", "Lazy#jh_ba2", bc_self;
+		npctalk "Elyumina : It's slightly...... can you please not lump me as the same category as those idiots?", "Elyumina#jh_ba2", bc_self;
+		next;
+		cutin "16loo_02",2;
+		mes "[Rookie]";
+		mes "I have no choice but to use this method.";
+		mes "Alright, ^0000CDas a mercenary who came here as a guest of Varmundt!!!^000000";
+		mes "I want to save this person. Tell me how!";
+		next;
+		cutin "ep171_elyumina03",2;
+		mes "[Elyumina]";
+		mes "...... Why are you doing that? What am I saying? Of course, I'm the Great Elyumina, but you...";
+		next;
+		cutin "ep172_beta",2;
+		mes "[Need]";
+		mes "That... If you say that...";
+		mes "You can make an antidote using the ^0000CDLeaves of the Silva Papilla^000000, a material from the water garden. It was raised by the master for that purpose.";
+		next;
+		mes "[Need]";
+		mes "But, I don't know if the gardeners will let you enter.";
+		next;
+		cutin "16loo_01",2;
+		mes "[Rookie]";
+		mes "The information is enough. Because this person's life is in danger! You said <NAVI>[Water Garden]<INFO>ba_maison,239,47,0,101,0</INFO></NAVI>, right?";
+		mes "Let's go, we'll check it ourselves.";
+		close2;
+		cutin "",255;
+		ep172_watergarden = 2;
+		erasequest 16427;
+		setquest 16428;
+		cloakonnpcself( "Rookie#jh_ba2" );
+		cloakonnpcself( "Lazy#jh_ba2" );
+		cloakonnpcself( "Elyumina#jh_ba2" );
+		end;
+	}
+	if (ep172_watergarden == 2) {
+		cutin "ep172_beta",2;
+		mes "[Need]";
+		mes "You can make an antidote using the ^0000CDLeaves of the Silva Papilla^000000, a material from the <NAVI>[water garden]<INFO>ba_maison,239,47,0,101,0</INFO></NAVI>. It was raised by the master for that purpose.";
+		close2;
+		cutin "",255;
+		navigateto("ba_maison",239,47);
+		end;
+	}
+	cutin "ep172_beta",2;
+	mes "[Need]";
+	mes "The hamster in the garden eats anything.";
+	mes "However, you should not attack the hamster.";
+	next;
+	mes "[Need]";
+	mes "Oh, a cleaning robot? Of course, some managers call it that, but......";
+	mes "I call it a hamster. I read it in a book. It said that everything that diligently picks up things and puts it in the mouth is a hamster. And, a hamster is cuter than a cleaning robot, right?";
+	close3;
+
+OnInit:
+	questinfo( QTYPE_QUEST, QMARK_YELLOW, "ep17_2_main >= 10 && isbegin_quest(16427) == 1" );
+	end;
+}
+
+ba_maison,177,268,3	script(CLOAKED)	Rookie#jh_ba2	4_M_ROOKIE,{
+	npctalk "Rookie : Ah, Mina is so weak, I can't get used to it~!", "", bc_self;
+	cloakonnpcself();
+	end;
+}
+ba_maison,174,266,3	script(CLOAKED)	Elyumina#jh_ba2	4_EP17_ELYUMINA,{
+	npctalk "Elyumina : I think I'm a bit better now. It doesn't matter what happen to you when you're hated like this......", "", bc_self;
+	cloakonnpcself();
+	end;
+}
+
+ba_maison,176,270,3	script(CLOAKED)	Lazy#jh_ba2	4_M_LAZY,{
+	npctalk "Lazy : I've never seen Ms. Criminal Scientist so depressed before.", "", bc_self;
+	cloakonnpcself();
+	end;
+}
+
+
+// Water Garden instance - Step 3
+ba_maison,234,51,5	script	Elyumina#jh_ba3	4_EP17_ELYUMINA,{
+	if (checkweight(1000103,20) == 0) {	// (custom)
+		mes "^008800Wait a sec!!";
+		mes "You cannot receive any more items because you're carrying too many items. Please try again after you lighten up.^000000";
+		close;
+	}
+	if (ep172_watergarden == 2) {
+		cutin "ep171_elyumina01",2;
+		mes "[Elyumina]";
+		mes "..............................,";
+		next;
+		cutin "ep171_elyumina03",2;
+		mes "[Elyumina]";
+		mes "Damn it... Am I afraid to die like this!";
+		mes "Tch, something that's wet doesn't dry out well.";
+		close2;
+		cutin "",255;
+		cloakonnpcself();
+		end;
+	}
+	if (ep172_watergarden == 3) {
+		switch( checkquest(16429,HUNTING) ) {
+		case -1:
+			break;
+		case 0:
+		case 1:
+			cloakoffnpcself( "Elyumina#jh_ba3" );
+			cloakoffnpcself( "Rookie#jh_ba3" );
+			cloakoffnpcself( "Lazy#jh_ba3" );
+			cutin "ep171_elyumina03",2;
+			mes "[Elyumina]";
+			mes "I'm dizzy... don't shake me.";
+			mes "I can't go, even if I force myself, I can't go. I'll just give you trouble when I go.";
+			next;
+			cutin "16lei_02",2;
+			mes "[Lazy]";
+			mes "...Woah, you cared about that? Ms. Criminal Scientist, this is a surprise.";
+			next;
+			cutin "ep171_elyumina02",2;
+			mes "[Elyumina]";
+			mes "Shut up! There's no need for consideration for idiots!";
+			mes "I'm resting here anyway. I can't move a leg.";
+			next;
+			cutin "16loo_01",2;
+			mes "[Rookie]";
+			mes "I need to keep an eye on Mina, so I'll stay here, adventurer.";
+			next;
+			cutin "16lei_01",2;
+			mes "[Lazy]";
+			mes "I'm not in charge of combat. So, adventurer, do you have a favor to ask?";
+			next;
+			select( "Is it fate to go the water garden alone..." );
+			cutin "16loo_03",2;
+			mes "[Rookie]";
+			mes "I'm sorry, adventurer. How about having a party with another adventurer?";
+			close2;
+			cutin "",255;
+			cloakonnpcself( "Elyumina#jh_ba3" );
+			cloakonnpcself( "Rookie#jh_ba3" );
+			cloakonnpcself( "Lazy#jh_ba3" );
+			end;
+		case 2:
+			cutin "ep171_elyumina03",2;
+			mes "[Elyumina]";
+			mes "Ugh, I think I lost my mind for a moment and came back to see the end of the world!";
+			mes "Ah, this is driving me crazy. Hey, when's the antidote going to be finished?";
+			emotion ET_KEK;
+			close2;
+			cutin "",255;
+			cloakonnpcself();
+			end;
+		}
+		// fall through
+	}
+	else if (ep172_watergarden == 4) {
+		cloakoffnpcself( "Elyumina#jh_ba3" );
+		cloakoffnpcself( "Rookie#jh_ba3" );
+		cloakoffnpcself( "Lazy#jh_ba3" );
+		select( "Hand over the antidote." );
+		cutin "ep171_elyumina03",2;
+		mes "[Elyumina]";
+		mes "...... What is this?";
+		mes "Oh..., Is that it. The antidote.";
+		next;
+		cutin "16loo_03",2;
+		mes "[Rookie]";
+		mes "I'm sorry to make you suffer alone. We should have been there for you.";
+		next;
+		cutin "ep171_elyumina01",2;
+		mes "[Elyumina]";
+		mes "...... you know, thank you.";
+		next;
+		cutin "16lei_03",2;
+		mes "[Lazy]";
+		mes "Huh, I can't hear you well. Speak up, please.";
+		next;
+		cutin "ep171_elyumina03",2;
+		mes "[Elyumina]";
+		mes "Don't worry, I didn't say that to you!";
+		next;
+		cutin "16lei_01",2;
+		mes "[Lazy]";
+		mes "Yeah, right, why don't you go ahead and try it? It's hard to look over the Criminal Scientist when you're lingering beside me.";
+		next;
+		cutin "ep171_elyumina03",2;
+		mes "[Elyumina]";
+		mes "Oh, I'm so sick of it...";
+		mes "Anyways, you, " + strcharinfo(0) + ". Thank you for getting me the antidote.";
+		next;
+		mes "[Elyumina]";
+		mes "And you... Was it Rocky? Lucky? Anyways, Rebellion, thank you for running around for me.";
+		npctalk "......Rookie, it's Rookie.", "Rookie#jh_ba3", bc_self;
+		npctalk "What about me? Are you not thanking me?", "Lazy#jh_ba3", bc_self;
+		next;
+		mes "[Elyumina]";
+		mes "Like you guys said, I'm not an Illusion already.";
+		mes "I don't feel like I belong there anyway. I only stayed because they supported my research.";
+		next;
+		cutin "ep171_elyumina01",2;
+		mes "[Elyumina]";
+		mes "It's different when someone insist on it and others acknowledge it.";
+		next;
+		mes "[Elyumina]";
+		mes "Also being hated by such cute, smart, automatic dolls... is not so bad.";
+		next;
+		cutin "16lei_03",2;
+		mes "[Lazy]";
+		mes "I think that's the main point of what I want to say...?";
+		next;
+		cutin "ep171_elyumina01",2;
+		mes "[Elyumina]";
+		mes "Anyway, I'm not going to get involved with those idiots again. I promise.";
+		next;
+		cutin "ep171_elyumina04",2;
+		mes "[Elyumina]";
+		mes "And if there's anything I can do, I'll cooperate on catching them.";
+		next;
+		cutin "16loo_03",2;
+		mes "[Rookie]";
+		mes "Ah, yeah. This conversation is a little awkward...";
+		mes "But thank you.";
+		next;
+		cutin "16loo_01",2;
+		mes "[Rookie]";
+		mes "By the way, I'm sure the adventurer had a really hard time coming back from the water garden.";
+		mes "It's not much, but I'll give you some of my meal tickets. You'll take it, right?";
+		next;
+		cutin "16loo_02",2;
+		mes "[Rookie]";
+		mes "Look forward to helping Seihyu in her work. I'll come help when I feel like it!";
+		close2;
+		cutin "",255;
+		cloakonnpcself( "Elyumina#jh_ba3" );
+		cloakonnpcself( "Rookie#jh_ba3" );
+		cloakonnpcself( "Lazy#jh_ba3" );
+		ep172_watergarden = 5;
+		completequest 16430;
+		getitem 1000103,20;
+		getexp2 3094009,0;	// note: no jexp and ignores the adjustment factors
+		end;
+	}
+	cutin "ep171_elyumina03",2;
+	mes "[Elyumina]";
+	mes "Adventurer, be quiet! I can't be caught here alone!";
+	next;
+	cutin "ep171_elyumina02",2;
+	mes "[Elyumina]";
+	mes "You, if you're going to take away my precious opportunity to talk to the automatic dolls of Varmundt, I'll kill you!";
+	close2;
+	cutin "",255;
+	cloakonnpcself();
+	end;
+
+OnInit:
+	questinfo( QTYPE_QUEST, QMARK_YELLOW, "isbegin_quest(16430) == 1" );
+	end;
+}
+
+ba_maison,235,45,3	script(CLOAKED)	Rookie#jh_ba3	4_M_ROOKIE,{
+	npctalk "Rookie : I'm a sinner for letting you suffer alone. We should have went there too.", "", bc_self;
+	cloakonnpcself();
+	end;
+}
+
+ba_maison,233,48,5	script(CLOAKED)	Lazy#jh_ba3	4_M_LAZY,{
+	npctalk "Lazy : I'm not in charge of combat. So, adventurer, do you have a favor to ask?", "", bc_self;
+	cloakonnpcself();
+	end;
+}
+
+// Daily quests
+ba_maison,239,47,3	script	Seihyu#jh_ba	4_EP17_SCISSORE,{
+	if (checkweight(1000103,4) == 0) {	// (custom)
+		mes "^008800Wait a sec!!";
+		mes "You cannot receive any more items because you're carrying too many items. Please try again after you lighten up.^000000";
+		close;
+	}
+	if (ep172_watergarden < 2) {
+		cutin "ep172_beta",2;
+		mes "[Seihyu]";
+		mes "Hello, guest.";
+		mes "This is the docks, but there are no ships operating at the moment.";
+		close3;
+	}
+	if (ep172_watergarden == 2) {
+		cloakoffnpcself( "Elyumina#jh_ba3" );
+		cloakoffnpcself( "Rookie#jh_ba3" );
+		cloakoffnpcself( "Lazy#jh_ba3" );
+		cutin "ep172_beta",2;
+		mes "[Seihyu]";
+		mes "......................";
+		next;
+		cutin "16lei_02",2;
+		mes "[Lazy]";
+		mes "your gaze feels cold.";
+		next;
+		cutin "ep172_beta",2;
+		mes "[Seihyu]";
+		mes "Welcome, gue......";
+		mes "What can I do for you?";
+		next;
+		cutin "16loo_02",2;
+		mes "[Rookie]";
+		mes "I'd like to get permission.";
+		mes "Can we enter into the water garden? I have to get a ^0000CDLeaf of Silver Papilla^000000 inside.";
+		next;
+		cutin "ep172_beta",2;
+		mes "[Seihyu]";
+		mes "Ah~ She came! You're the one who requested that!";
+		mes "I don't want to help an intruder!";
+		next;
+		cutin "16lei_03",2;
+		mes "[Lazy]";
+		mes "I've been wondering since a while ago, we're in a same group but, how do you distinguish the intruder from the guests?";
+		next;
+		mes "[Lazy]";
+		mes "There's nothing that says intruder on the face of this Criminal Scientist.";
+		next;
+		cutin "ep172_beta",2;
+		mes "[Seihyu]";
+		mes "We can't distinguish. It's just data collection. Every word you say and actions are datas that we collect.";
+		next;
+		mes "[Seihyu]";
+		mes "And we compare it to produce the best result. Then we exclude out the intruders, this is course of action from Alpha.";
+		next;
+		mes "[Seihyu]";
+		mes "I want to ask. Why are you trying to save that person?";
+		mes "Isn't she a person who've harmed you too?";
+		next;
+		mes "[Seihyu]";
+		mes "Is it because you still have a need for it?";
+		mes "Is that what humans do?";
+		next;
+		cutin "16loo_03",2;
+		mes "[Rookie]";
+		mes "Well, that is...";
+		next;
+		cutin "",255;
+		switch( select( "Elyumina is our colleague.", "She helped enough to pay back what she've done.", "I don't want to kill an enemy or a colleague.") ) {
+		case 1:
+			cutin "ep172_beta",2;
+			mes "[Seihyu]";
+			mes "How come? I'm learning what a colleague is.";
+			mes "According to the definition, she is definitely not a colleague.";
+			next;
+			cutin "ep171_elyumina03",2;
+			mes "[Elyumina]";
+			mes "Humans being are stupid. That's why I'm doing something different than the beautiful thinking of a machine......... it's kind of miserable but that's my story.";
+			next;
+			cutin "ep171_elyumina04",2;
+			mes "[Elyumina]";
+			mes "Anyway, a machine with such curiosity, it's so attractive. I want to know more about your way of thinking.";
+			next;
+			cutin "ep172_beta",2;
+			mes "[Seihyu]";
+			mes "I excluded you.";
+			mes "Human judgement is also too difficult for me. But thank you for your opinion.";
+			break;
+		case 2:
+			cutin "ep172_beta",2;
+			mes "[Seihyu]";
+			mes "Is that so? Did you save her for the reason that she could be helpful in the future?";
+			next;
+			cutin "ep171_elyumina04",2;
+			mes "[Elyumina]";
+			mes "Ha, haha... Isn't it similar to an automatic doll?";
+			mes "You are working like this to be helpful, to help people.";
+			next;
+			cutin "ep172_beta",2;
+			mes "[Seihyu]";
+			mes "Don't compare us with you.";
+			mes "... but the human standard of judgement, I think are a little bit understable.";
+			break;
+		case 3:
+			cutin "ep172_beta",2;
+			mes "[Seihyu]";
+			mes "I didn't expect you to say that.";
+			mes "Based on the data collected overtime, human beings are a species that hurts each other if necessary.";
+			next;
+			cutin "ep171_elyumina03",2;
+			mes "[Elyumina]";
+			mes "I didn't want to kill anyone.";
+			mes "But they were so weak and stupid that they kept dying on their own.";
+			next;
+			cutin "ep172_beta",2;
+			mes "[Seihyu]";
+			mes "The opinion of the excluded is worthless.";
+			next;
+			mes "[Seihyu]";
+			mes "...human beings are really tricky.";
+			mes "I don't understand your criteria, but I understood them anyway.";
+			break;
+		}
+		next;
+		cutin "ep172_beta",2;
+		mes "[Seihyu]";
+		mes "... Okay. If so, do me a favor.";
+		mes "We will give you passage to the water garden, but please help us out in our work.";
+		next;
+		mes "[Seihyu]";
+		mes "Due to the intruders' interference, severals tasks in the water garden have been immobilize.";
+		mes "If you promise to help me with this, I'll open the water garden for you.";
+		next;
+		cutin "",255;
+		if (select( "Help.", "Don't Help." ) == 2) {
+			mes "[Seihyu]";
+			mes "Then there's no deal.";
+			mes "As I said before, I have a duty to exclude the intruder.";
+			close3;
+		}
+		cutin "ep172_beta",2;
+		mes "[Seihyu]";
+		mes "It's a deal.";
+		mes "This is just a deal. I'm still aware of my duty to exclude the intruders.";
+		next;
+		cutin "ep171_elyumina04",2;
+		mes "[Elyumina]";
+		mes "At this point, I'm starting to feel nauseous. I will definitely make you fall for me.";
+		next;
+		cutin "16lei_02",2;
+		mes "[Lazy]";
+		mes "You sound like the heroine of a romance novel, but the other person is very vague.";
+		next;
+		cutin "16loo_03",2;
+		mes "[Rookie]";
+		mes "All right, All right. Whether it's revenge play or a romance novel, we should make an antidote first and talk after you get better.";
+		mes "Mina, can you move? They say it's dangerous inside...";
+		next;
+		cutin "ep171_elyumina03",2;
+		mes "[Elyumina]";
+		mes "...... sorry, I can't overdo it.";
+		mes "It's hard even just to walk now.";
+		next;
+		cutin "16loo_01",2;
+		mes "[Rookie]";
+		mes "Well, then I guess I'll have to stay to keep an eye on Mina.";
+		mes "Adventurer, could you go inside and get the leaves of the Silva Papilla?";
+		next;
+		cutin "16lei_01",2;
+		mes "[Lazy]";
+		mes "I'm a noncombatant, so I'll stay outside. My power is only to protect myself. It's a precaution that I do to keep the pain to a minimum.";
+		next;
+		cutin "",255;
+		if (select( "I'll be right back.", "I'm a noncombatant, too." ) == 2) {
+			cutin "16lei_01",2;
+			mes "[Lazy]";
+			mes "Huh? Adventurer... Look back on the battle you've been so far.";
+			mes "And put your hands on your chest and think again.";
+		}
+		else {
+			cutin "16loo_03",2;
+			mes "[Rookie]";
+			mes "I believe in the adventurer.";
+			mes "Please be careful.";
+		}
+		next;
+		cutin "16loo_01",2;
+		mes "[Rookie]";
+		mes "Then, we'll be waiting here.";
+		mes "Please go talk to Seihyu again.";
+		next;
+		cutin "ep172_beta",2;
+		mes "[Seihyu]";
+		mes "You can speak to <NAVI>[Harad]<INFO>ba_maison,238,44,0,101,0</INFO></NAVI> next to me, and enter the water garden.";
+		mes "It could be dangerous to enter, but the adventurer had chosen it, so be careful.";
+		next;
+		cutin "16lei_02",2;
+		mes "[Lazy]";
+		mes "I think it's in and out of it's mind, that automatic doll......";
+		next;
+		cutin "ep171_elyumina01",2;
+		mes "[Elyumina]";
+		mes "The automatic doll is okay though.";
+		close2;
+		cutin "",255;
+		ep172_watergarden = 3;
+		erasequest 16428;
+		setquest 16429;
+		end;
+	}
+	if (ep172_watergarden == 3) {
+		switch( checkquest(16429,HUNTING) ) {
+		case -1:
+			end;
+		case 0:
+		case 1:
+			cutin "ep172_beta",2;
+			mes "[Seihyu]";
+			mes "You can speak to <NAVI>[Harad]<INFO>ba_maison,238,44,0,101,0</INFO></NAVI> next to me, and enter the water garden.";
+			mes "It could be dangerous to enter, but the adventurer had chosen it, so be careful.";
+			close3;
+		case 2:
+			cloakoffnpcself( "Elyumina#jh_ba3" );
+			cloakoffnpcself( "Rookie#jh_ba3" );
+			cloakoffnpcself( "Lazy#jh_ba3" );
+			cutin "16loo_02",2;
+			mes "[Rookie]";
+			mes "You've returned in one piece.";
+			mes "Good going, adventurer!";
+			next;
+			cutin "16lei_01",2;
+			mes "[Lazy]";
+			mes "We've got the leaves of the Silva Papilla, so I'm going to ask someone to create an antidote.";
+			next;
+			cutin "ep172_beta",2;
+			mes "[Seihyu]";
+			mes "I can make the antidote.";
+			mes "In the first place, the leaves of Silva Papilla itself is an antidote to several kinds of symptoms, so all you have to do is to change to formulation to make it easier for the guest to intake.";
+			next;
+			cutin "16loo_02",2;
+			mes "[Rookie]";
+			mes "Then... can you make it?";
+			next;
+			cutin "ep172_beta",2;
+			mes "[Seihyu]";
+			mes "All right. Give the leaves of Silva Papilla to me.";
+			next;
+			cutin "",255;
+			select( "Hand over the leaves of Silva Papilla" );
+			cutin "ep172_beta",2;
+			mes "[Seihyu]";
+			mes ".....................";
+			next;
+			mes "[Seihyu]";
+			mes ".....................";
+			mes ".....................";
+			next;
+			mes "[Seihyu]";
+			mes ".....................";
+			mes ".....................";
+			mes ".....................";
+			next;
+			cutin "ep171_elyumina01",2;
+			mes "[Elyumina]";
+			mes "It's so nice to see smart automatic dolls made by others.";
+			mes "I want to study and analyze... If only this dizziness goes away...";
+			next;
+			cutin "ep172_beta",2;
+			mes "[Seihyu]";
+			mes "I'm not happy from your compliment.";
+			mes "...... Here, the antidote.";
+			next;
+			cutin "",255;
+			select( "Receive the antidote." );
+			cutin "ep172_beta",2;
+			mes "[Seihyu]";
+			mes "Well, I'd like to ask you to continue helping after you're done with your work.";
+			mes "I believe that you will keep your promise.";
+			next;
+			cutin "16loo_01",2;
+			mes "[Rookie]";
+			mes "Please give the antidote to <NAVI>[Mina]<INFO>ba_maison,234,51,0,101,0</INFO></NAVI>.";
+			close2;
+			cutin "",255;
+			ep172_watergarden = 4;
+			erasequest 16429;
+			setquest 16430;
+			// note: no exp
+			end;
+		}
+	}
+	if (ep172_watergarden == 4) {
+		cutin "ep172_beta",2;
+		mes "[Seihyu]";
+		mes "Well, I'd like to ask you to continue helping after you're done with your work.";
+		mes "I believe that you will keep your promise.";
+		close3;
+	}
+	cutin "ep172_beta",2;
+	mes "[Seihyu]";
+	mes "Welcome back, dear guest.";
+	mes "Are you here to keep your promise? I have a few things to ask for today.";
+	next;
+	cutin "",255;
+	switch( select( "Silva Papilla Hunt", "Grand Papilla Hunt", "Missing Gardener", "Do not help." ) ) {
+	case 1:
+		switch( checkquest(16432,PLAYTIME) ) {
+		case -1:
+			break;
+		case 0:
+		case 1:
+			cutin "ep172_beta",2;
+			mes "[Seihyu]";
+			mes "You need to rest a little. Oh, not only you, but the water garden also needs to rest.";
+			mes "We have a plant culture set by the gardeners, so that's it for today.";
+			next;
+			mes "[Seihyu]";
+			mes "Please take a rest and come back after dawn.";
+			mes "I'll be happy to ask for your help again.";
+			close3;
+		case 2:
+			erasequest 16432;
+			break;
+		}
+		switch( checkquest(16431,HUNTING) ) {
+		case -1:
+			cutin "ep172_beta",2;
+			mes "[Seihyu]";
+			mes "As you already know, a plant called Silva Papilla lives in the deepest part of the water garden.";
+			mes "It is a very intelligent and sensitive plant that can control multiple butterflies.";
+			next;
+			mes "[Seihyu]";
+			mes "Due to the recent events of intruders, the number of dolls has been greatly reduced, our gardeners can't handle the tricky plant as of now.";
+			next;
+			mes "[Seihyu]";
+			mes "can you go into the water garden to hunt down and secure me a ^0000CDSilva Papilla^000000?";
+			next;
+			cutin "",255;
+			if (select( "I'll help you.", "I can't help you right now." ) == 2)
+				break;
+			mes "Thank you. After you hunt one down, the other gardeners will handle the rest.";
+			mes "You can speak to <NAVI>[Harad]<INFO>ba_maison,238,44,0,101,0</INFO></NAVI> next to me, and enter the water garden.";
+			close2;
+			setquest 16431;
+			end;
+		case 0:
+		case 1:
+			cutin "ep172_beta",2;
+			mes "[Seihyu]";
+			mes "Due to the recent events of intruders, the number of dolls has been greatly reduced, our gardeners can't handle the tricky plant as of now.";
+			next;
+			mes "[Seihyu]";
+			mes "can you go into the water garden to hunt down and secure me a ^0000CDSilva Papilla^000000?";
+			close3;
+		case 2:
+			cutin "ep172_beta",2;
+			mes "[Harad]";
+			mes "You've secured a Silva Papilla.";
+			mes "I have already confirmed with one of the gardener inside.";
+			next;
+			mes "[Harad]";
+			mes "Thank you for helping out the gardeners.";
+			mes "I'll ask for your help again next time, if you have the time.";
+			next;
+			mes "[Harad]";
+			mes "I'll give you some Barmeal Tickets in return for your help. You can use it freely at the mansion's restaurant.";
+			close2;
+			cutin "",255;
+			setquest 16432;
+			erasequest 16431;
+			getitem 1000103,4;
+			getexp 800000,500000;
+			end;
+		}
+		break;
+	case 2:
+		if (BaseLevel < 180) {
+			cutin "ep172_beta",2;
+			mes "[Seihyu]";
+			mes "To do this favor from me, I'm afraid that I'll be putting the guest in danger.";
+			next;
+			mes "[Seihyu]";
+			mes "Since the Grand Papilla are hard to handle in many ways. I would prefer to ask this if you're more used to the water garden already.";
+			next;
+			mes "- You must be atleast level 180 to take this quest. -";
+			close3;
+		}
+		switch( checkquest(16434,PLAYTIME) ) {
+		case -1:
+			break;
+		case 0:
+		case 1:
+			cutin "ep172_beta",2;
+			mes "[Seihyu]";
+			mes "You need to rest a little. Oh, not only you, but the water garden also needs to rest.";
+			mes "We have a plant culture set by the gardeners, so that's it for today.";
+			next;
+			mes "[Seihyu]";
+			mes "Please take a rest and come back after dawn.";
+			mes "I'll be happy to ask for your help again.";
+			close3;
+		case 2:
+			erasequest 16434;
+			break;
+		}
+		switch( checkquest(16433,HUNTING) ) {
+		case -1:
+			cutin "ep172_beta",2;
+			mes "[Seihyu]";
+			mes "As you already know, a plant called Grand Papilla lives in the deepest part of the water garden.";
+			mes "It is a very intelligent and sensitive plant that can control multiple butterflies.";
+			next;
+			mes "[Seihyu]";
+			mes "Due to the recent events of intruders, the number of dolls has been greatly reduced, our gardeners can't handle the tricky plant as of now.";
+			next;
+			mes "[Seihyu]";
+			mes "can you go into the water garden to hunt down and secure me a ^0000CDGrand Papilla^000000?";
+			next;
+			cutin "",255;
+			if (select( "I'll help you.", "I can't help you right now." ) == 2)
+				break;
+			mes "[Seihyu]";
+			mes "Thank you. After you hunt one down, the other gardeners will handle the rest.";
+			mes "You can speak to <NAVI>[Harad]<INFO>ba_maison,238,44,0,101,0</INFO></NAVI> next to me, and enter the water garden.";
+			close2;
+			setquest 16433;
+			end;
+		case 0:
+		case 1:
+			cutin "ep172_beta",2;
+			mes "[Seihyu]";
+			mes "Due to the recent events of intruders, the number of dolls has been greatly reduced, our gardeners can't handle the tricky plant as of now.";
+			next;
+			mes "[Seihyu]";
+			mes "can you go into the water garden to hunt down and secure me a ^0000CDGrand Papilla^000000?";
+			close3;
+		case 2:
+			cutin "ep172_beta",2;
+			mes "[Harad]";
+			mes "You've secured a Grand Papilla.";
+			mes "I have already confirmed with one of the gardener inside.";
+			next;
+			mes "[Harad]";
+			mes "Thank you for helping out the gardeners.";
+			mes "I'll ask for your help again next time, if you have the time.";
+			next;
+			mes "[Harad]";
+			mes "I'll give you some Barmeal Tickets in return for your help. You can use it freely at the mansion's restaurant.";
+			close2;
+			cutin "",255;
+			setquest 16434;
+			erasequest 16433;
+			getitem 1000103,4;
+			getexp 8000000,5000000;
+			end;
+		}
+		break;
+	case 3:
+		switch( checkquest(16436,PLAYTIME) ) {
+		case -1:
+			break;
+		case 0:
+		case 1:
+			cutin "ep172_beta",2;
+			mes "[Seihyu]";
+			mes "You need to rest a little. Oh, not only you, but the water garden also needs to rest.";
+			mes "We have a plant culture set by the gardeners, so that's it for today.";
+			next;
+			mes "[Seihyu]";
+			mes "Please take a rest and come back after dawn.";
+			mes "I'll be happy to ask for your help again.";
+			close3;
+		case 2:
+			erasequest 16436;
+			break;
+		}
+		if (isbegin_quest(16435) == 1) {
+			if (countitem(1000099) > 0) {
+				cutin "ep172_beta",2;
+				mes "[Seihyu]";
+				mes "Have you checked? How are the gardeners?";
+				mes "I have been informed that the dolls are safe. I guess it simply forgot to make regular contact.";
+				next;
+				mes "[Seihyu]";
+				mes "The gardener always forget to contact me, so I think I'll have to go through a full inspection as the manager of these district.";
+				mes "Or maybe the intruders are causing some sort of disturbance. First of all, it seems the only way is to check the number of people every time.";
+				next;
+				cutin "",255;
+				select( "Hand over the cookies you received." );
+				cutin "ep172_beta",2;
+				mes "[Seihyu]";
+				mes "......... Cookies?";
+				mes "Did you received this? Of course, it's a snack that only the gardeners have, it can also be used as confirmation that they are well.";
+				next;
+				mes "[Seihyu]";
+				mes "Anyway, thank you for checking. Have some cookies. They say it's delicious. It's a cookie that nourishes the animals and plants in the garden, but guests also like it when I give it to them.";
+				next;
+				mes "[Harad]";
+				mes "I'll give you some Barmeal Tickets in return for your help. You can use it freely at the mansion's restaurant.";
+				close2;
+				cutin "",255;
+				setquest 16436;
+				erasequest 16435;
+				delitem 1000099,countitem(1000099);
+				getitem 1000103,4;
+				getexp 800000,500000;
+				end;
+			}
+			cutin "ep172_beta",2;
+			mes "[Seihyu]";
+			mes "The common place where the gardeners is losing connectivity is on the maze garden.";
+			mes "Would you please go inside the water garden and check if the gardeners are all right?";
+			close3;
+		}
+		cutin "ep172_beta",2;
+		mes "[Seihyu]";
+		mes "Due to the recent event of intruders and plant changes, gardeners are frequently replaced. However, there are gardeners who entered water garden and lost connectivity.";
+		next;
+		mes "[Seihyu]";
+		mes "I assumed there was a problem in the garden, since the connectivity to the other gardener was often cut off.";
+		next;
+		mes "[Seihyu]";
+		mes "Could you go in and check if it's a network problem, fail to communicate, or maybe check if the other gardeners are fine?";
+		next;
+		cutin "",255;
+		if (select( "I'll go and check for you.", "Refuse." ) == 2)
+			break;
+		cutin "ep172_beta",2;
+		mes "[Seihyu]";
+		mes "Thank you. If you ever meet one of the gardeners, please tell them to contact me.";
+		close2;
+		cutin "",255;
+		setquest 16435;
+		end;
+	case 4:
+		break;
+	}
+	cutin "ep172_beta",2;
+	mes "[Seihyu]";
+	mes "Do you have a moment? It's always good to have a helping hand. I'll be here. If you have the time, please come and talk to me.";
+	close3;
+
+OnInit:
+	// Story
+	questinfo( QTYPE_QUEST, QMARK_YELLOW, "isbegin_quest(16428) == 1" );
+	questinfo( QTYPE_QUEST, QMARK_YELLOW, "checkquest(16429,HUNTING) == 2" );
+
+	// Daily quests
+	questinfo( QTYPE_QUEST2, QMARK_YELLOW, "checkquest(16431,HUNTING) == 2" );
+	questinfo( QTYPE_QUEST2, QMARK_YELLOW, "checkquest(16433,HUNTING) == 2" );
+	questinfo( QTYPE_QUEST2, QMARK_YELLOW, "isbegin_quest(16435) == 1 && countitem(1000099) > 1" );
+
+	questinfo( QTYPE_DAILYQUEST, QMARK_YELLOW, "ep172_watergarden == 5 && checkquest(16432,PLAYTIME) == -1 && checkquest(16431,HUNTING) == -1" );
+	questinfo( QTYPE_DAILYQUEST, QMARK_YELLOW, "ep172_watergarden == 5 && BaseLevel >= 180 && checkquest(16434,PLAYTIME) == -1 && checkquest(16433,HUNTING) == -1" );
+	questinfo( QTYPE_DAILYQUEST, QMARK_YELLOW, "ep172_watergarden == 5 && checkquest(16436,PLAYTIME) == -1 && isbegin_quest(16435) == 0" );
+
+	questinfo( QTYPE_DAILYQUEST, QMARK_YELLOW, "checkquest(16432,PLAYTIME) == 2" );
+	questinfo( QTYPE_DAILYQUEST, QMARK_YELLOW, "checkquest(16434,PLAYTIME) == 2" );
+	questinfo( QTYPE_DAILYQUEST, QMARK_YELLOW, "checkquest(16436,PLAYTIME) == 2" );
+	end;
+}
+
+// Water Garden - instance creation
+// ba_maison,238,44,5	script	Harad#jh_ba1	4_EP17_BASIC_B,{

+ 6 - 0
npc/re/scripts_athena.conf

@@ -79,9 +79,11 @@ npc: npc/re/instances/GhostPalace.txt
 npc: npc/re/instances/HazyForest.txt
 npc: npc/re/instances/HorrorToyFactory.txt
 npc: npc/re/instances/HeartHunterWarBase.txt
+npc: npc/re/instances/HiddenGarden.txt
 npc: npc/re/instances/InfiniteSpace.txt
 npc: npc/re/instances/IsleOfBios.txt
 npc: npc/re/instances/LastRoom.txt
+npc: npc/re/instances/LostFarm.txt
 npc: npc/re/instances/MalangdoCulvert.txt
 npc: npc/re/instances/MorseCave.txt
 npc: npc/re/instances/NightmarishJitterbug.txt
@@ -97,6 +99,8 @@ npc: npc/re/instances/SaraMemory.txt
 npc: npc/re/instances/SealedOs.txt
 npc: npc/re/instances/SkyFortress.txt
 npc: npc/re/instances/TempleOfDemonGod.txt
+npc: npc/re/instances/TwilightGarden.txt
+npc: npc/re/instances/WaterGarden.txt
 //npc: npc/re/instances/WaveMode.txt
 npc: npc/re/instances/WeekendDungeon.txt
 npc: npc/re/instances/WernerLaboratoryCentralRoom.txt
@@ -132,6 +136,7 @@ npc: npc/re/merchants/enchan_ko.txt
 npc: npc/re/merchants/enchan_mal.txt
 npc: npc/re/merchants/enchan_mora.txt
 npc: npc/re/merchants/enchan_rockridge.txt
+npc: npc/re/merchants/enchan_sage_legacy_17_2.txt
 npc: npc/re/merchants/enchan_verus.txt
 npc: npc/re/merchants/enchantgrade.txt
 npc: npc/re/merchants/Extended_Ammunition.txt
@@ -229,6 +234,7 @@ 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_17_1.txt
+npc: npc/re/quests/quests_17_2.txt
 npc: npc/re/quests/quests_aldebaran.txt
 npc: npc/re/quests/quests_brasilis.txt
 npc: npc/re/quests/quests_dewata.txt

+ 6 - 0
npc/re/scripts_monsters.conf

@@ -19,6 +19,10 @@ npc: npc/re/mobs/dungeons/ama_dun.txt
 npc: npc/re/mobs/dungeons/amicitia.txt
 npc: npc/re/mobs/dungeons/anthell.txt
 npc: npc/re/mobs/dungeons/ayo_dun.txt
+npc: npc/re/mobs/dungeons/ba_2whs.txt
+npc: npc/re/mobs/dungeons/ba_bath.txt
+npc: npc/re/mobs/dungeons/ba_lib.txt
+npc: npc/re/mobs/dungeons/ba_pw.txt
 npc: npc/re/mobs/dungeons/beach_dun.txt
 npc: npc/re/mobs/dungeons/bra_dun.txt
 npc: npc/re/mobs/dungeons/c_tower.txt
@@ -71,6 +75,8 @@ npc: npc/re/mobs/dungeons/yggdrasil.txt
 // --------------------------- Fields ---------------------------
 npc: npc/re/mobs/fields/amatsu.txt
 npc: npc/re/mobs/fields/ayothaya.txt
+npc: npc/re/mobs/fields/ba_lost.txt
+npc: npc/re/mobs/fields/ba_maison.txt
 npc: npc/re/mobs/fields/bifrost.txt
 npc: npc/re/mobs/fields/brasilis.txt
 npc: npc/re/mobs/fields/comodo.txt

+ 3 - 0
npc/re/scripts_warps.conf

@@ -50,6 +50,9 @@ npc: npc/re/warps/fields/yuno_fild.txt
 
 // --------------------------- Others ---------------------------
 npc: npc/re/warps/other/arena.txt
+npc: npc/re/warps/other/ba_2whs.txt
+npc: npc/re/warps/other/ba_maison.txt
+npc: npc/re/warps/other/ba_pw.txt
 npc: npc/re/warps/other/dimensional_gap.txt
 npc: npc/re/warps/other/jobquests.txt
 npc: npc/re/warps/other/paradise.txt

+ 15 - 10
npc/re/warps/cities/prontera.txt

@@ -4,6 +4,7 @@
 //= Warp Points for Prontera
 //===== Changelogs: ==========================================
 //= 1.0 Prontera castle map changed in ep16.1 [Capuche]
+//= 1.1 Episode 17.2 Sage's Legacy update [crazyarashi]
 //============================================================
 
 prt_lib_q,9,25,0	script	lib_q_to_pprt	WARPNPC,1,1,{
@@ -152,15 +153,19 @@ prt_cas,41,275,0	warp	cuisine_in_cuisine_out	1,1,prt_cas,320,182
 prt_cas,320,178,0	warp	cuisine_out_cuisine_in	1,1,prt_cas,41,271
 prt_cas,54,217,0	warp	dining_in_dining_out	1,1,prt_cas,388,137
 prt_cas,392,137,0	warp	dining_out_dining_in	1,1,prt_cas,58,217
-prt_cas,19,342,0	warp	queen_room_in_queen_room_out	1,1,prt_cas,269,313
-prt_cas,273,313,0	warp	queen_room_out_queen_room_in	1,1,prt_cas,23,342
-prt_cas,174,342,0	warp	king_room_in_king_room_out	1,1,prt_cas,322,336
-prt_cas,318,336,0	warp	king_room_out_king_room_in	1,1,prt_cas,170,342
-prt_cas,48,330,0	warp	queen_office_in_queein_office_out	1,1,prt_cas,251,242
-prt_cas,251,246,0	warp	queein_office_out_queen_office_in	1,1,prt_cas,48,334
-prt_cas,146,330,0	warp	king_office_in_king_office_out	1,1,prt_cas,309,288
-prt_cas,309,291,0	warp	king_office_out_king_office_in	1,1,prt_cas,146,334
-prt_cas,254,347,0	warp	garden_in_garden_out	1,1,prt_cas,96,18
-prt_cas,96,14,0	warp	garden_out_garden_in	1,1,prt_cas,254,343
 prt_cas,216,142,0	warp	cas_out_prt_to_cas	1,1,prontera,156,354
 prontera,156,358,0	warp	prt_to_cas_cas_out	1,1,prt_cas,216,146
+
+//============================================================
+//= Episode 17.2 Sage's Legacy update
+//============================================================
+prt_cas,146,330,0	warp	#ep172_prt_to_prt-0	1,1,prt_cas,309,288
+prt_cas,309,291,0	warp	#ep172_prt_to_prt-1	1,1,prt_cas,146,334
+prt_cas,48,330,0	warp	#ep172_prt_to_prt-2	1,1,prt_cas,252,242
+prt_cas,251,246,0	warp	#ep172_prt_to_prt-3	1,1,prt_cas,48,334
+prt_cas,20,342,0	warp	#ep172_prt_to_prt-4	1,1,prt_cas,269,313
+prt_cas,273,313,0	warp	#ep172_prt_to_prt-5	1,1,prt_cas,23,342
+prt_cas,254,347,0	warp	#ep172_prt_to_prt-6	1,1,prt_cas,96,18
+prt_cas,96,14,0	warp	#ep172_prt_to_prt-7	1,1,prt_cas,254,343
+prt_cas,174,342,0	warp	#ep172_prt_to_prt-8	1,1,prt_cas,322,336
+prt_cas,318,336,0	warp	#ep172_prt_to_prt-9	1,1,prt_cas,170,342

+ 28 - 0
npc/re/warps/other/ba_2whs.txt

@@ -0,0 +1,28 @@
+//===== rAthena Script =======================================
+//= Portals of Varmundt's mansion
+//===== Changelog: ===========================================
+//= 1.0 First version. [crazyarashi]
+//============================================================
+
+//============================================================
+// Adega Tartaros
+//============================================================
+ba_maison,305,322,0	warp	#ep172_2whs01_in	1,1,ba_2whs01,156,32
+ba_2whs01,156,29,0	warp	#ep172_2whs01_out	1,1,ba_maison,305,319
+
+ba_2whs02,337,337,0	warp	#ep172_2whs02_out	1,1,ba_2whs01,275,291
+ba_2whs02,63,300,0	warp	#172wh01_	2,2,ba_2whs02,69,300
+ba_2whs02,63,325,0	warp	#ba2whslab_to_ba2whs02-1	2,2,ba_2whs02,69,325
+
+ba_2whs02,66,300,0	script	#172wh01	WARPNPC,2,2,{
+	end;
+OnTouch:
+	if (ep17_2_chirp == 6) {
+		unittalk getcharid(3), "" + strcharinfo(0) + " : There is a sound in this area. The locked door was opened with an emergency key.", bc_self;
+		sleep2 1000;
+	}
+	warp "ba_2whs02",60,300;
+	end;
+}
+
+ba_2whs02,66,325,0	duplicate(#172wh01)	#ba2whs02_to_ba2whslab-1	WARPNPC,2,2

+ 116 - 0
npc/re/warps/other/ba_maison.txt

@@ -0,0 +1,116 @@
+//===== rAthena Script =======================================
+//= Portals of Varmundt's mansion
+//===== Changelog: ===========================================
+//= 1.0 First version. [crazyarashi]
+//============================================================
+
+ba_in01,12,321,0	script	#ep172_lab1_out	WARPNPC,1,1,{
+	end;
+OnTouch:
+	if (ep17_2_main < 7) {
+		mes "There is still some work to be done here. Let's look around more.";
+		close;
+	}
+	warp "ba_maison",75,146;
+	end;
+}
+
+ba_maison,78,146,0	warp	#ep172_lab2_in	1,1,ba_in01,15,321
+
+ba_in01,24,306,0	warp	#ep172_lab_to_pw1	1,1,ba_pw01,91,288
+
+//============================================================
+// Tea House
+//============================================================
+ba_maison,99,65,0	warp	#ep172_tearoom_in	1,1,ba_in01,223,116
+ba_in01,226,116,0	warp	#ep172_tearoom_out	1,1,ba_maison,103,65
+
+//============================================================
+// Guest House
+//============================================================
+ba_in01,32,144,0	warp	#ep173_room_out	1,1,ba_in01,35,144
+ba_maison,103,323,0	warp	#ep172_sroom1_in	1,1,ba_in01,37,137
+ba_in01,37,134,0	warp	#ep172_sroom1_out	1,1,ba_maison,100,320
+ba_maison,87,324,0	warp	#ep172_sroom2_in	1,1,ba_in01,39,9
+ba_in01,39,6,0	warp	#ep172_sroom2_out	1,1,ba_maison,90,321
+ba_in01,37,210,0	warp	#guesthouse_to_guesthouse2-0	1,1,ba_in01,125,207
+ba_in01,125,210,0	warp	#guesthouse2_to_guesthouse-0	1,1,ba_in01,37,207
+ba_in01,39,106,0	warp	#guesthouse_to_guesthouse2-1	1,1,ba_in01,133,100
+ba_in01,133,104,0	warp	#guesthouse2_to_guesthouse-1	1,1,ba_in01,39,102
+
+//============================================================
+// Rooms
+//============================================================
+ba_maison,53,131,0	warp	#ep172_hall_in	1,1,ba_in01,234,35
+ba_in01,237,35,0	warp	#ep172_hall_out	1,1,ba_maison,56,130
+ba_in01,199,347,0	warp	#ep172_room03_in	1,1,ba_in01,279,194
+ba_in01,276,194,0	warp	#ep172_room03_out	1,1,ba_in01,197,347
+ba_in01,341,371,0	warp	#ep172_room02_in	1,1,ba_in01,375,101
+ba_in01,375,98,0	warp	#ep172_room02_out	1,1,ba_in01,341,368
+
+//============================================================
+// Underground
+//============================================================
+ba_maison,197,279,0	warp	#ep172_in01_in	1,1,ba_in01,271,269
+ba_in01,271,265,0	warp	#ep172_main_out	1,1,ba_maison,197,274
+ba_in01,255,354,0	warp	#ep172_lobby_to_hallway	1,1,ba_in01,307,34
+ba_in01,307,31,0	warp	#ep172_hallway_to_lobby	1,1,ba_in01,255,351
+
+//============================================================
+// Airship Area
+//============================================================
+ba_maison,33,225,0	script	#ep172_proom2_out	WARPNPC,1,1,{
+	end;
+OnTouch:
+	if (ep17_2_main < 32)
+		warp "ba_in01",63,255;
+	else
+		warp "ba_in01",13,255;
+	end;
+}
+ba_in01,60,255,0	warp	#ep172_proom1_out	1,1,ba_maison,33,222
+ba_in01,10,255,0	warp	#ep172_proom2_out_	1,1,ba_maison,33,222
+
+//============================================================
+// Library
+//============================================================
+ba_maison,197,105,0	warp	#ep173_library_in	1,1,ba_in01,211,163
+ba_in01,211,160,0	warp	#ep172_library_out	1,1,ba_maison,197,102
+ba_lib,159,4,0	warp	#ep173_lib_dun_out	1,1,ba_in01,211,178
+
+//============================================================
+// Cafeteria
+//============================================================
+ba_maison,140,96,0	warp	#ep172_restaurant_a_in	1,1,ba_in01,80,367
+ba_maison,140,108,0	warp	#ep172_restaurant_a_in_	1,1,ba_in01,23,375
+ba_in01,23,372,0	warp	#ep172_restaurant_a_out	1,1,ba_maison,137,108
+ba_in01,80,364,0	warp	#ep172_restaurant_a_out_	1,1,ba_maison,137,96
+ba_in01,35,383,0	warp	#ep172_restaurant_atob	1,1,ba_in01,69,381
+ba_in01,66,381,0	warp	#ep172_restaurant_btoa	1,1,ba_in01,32,383
+
+//============================================================
+// Dungeon
+//============================================================
+ba_maison,88,272,0	warp	#ep172_pw03_in	1,1,ba_pw03,13,115
+ba_pw03,10,115,0	warp	#ep172_pw03_out	1,1,ba_maison,88,268
+ba_in01,387,38,0	warp	#ep172_bath_in	1,1,ba_bath,159,26
+ba_bath,159,22,0	warp	#ep172_bath_out	1,1,ba_in01,382,38
+
+//============================================================
+// Forgotten Valley
+//============================================================
+ba_maison,314,203,0	script	#ep173_lost_in	WARPNPC,1,1,{
+	if (isbegin_quest(8586) < 2)
+		npctalk "Luina : Just a moment, If you want to get in there, I need to talk to you first...", "Luina#greeen", bc_self;
+	else
+		warp "ba_lost",162,37;
+	end;
+}
+
+ba_lost,162,33,0	warp	#ep172_lost_out	1,1,ba_maison,311,203
+
+ba_in01,357,303,0	warp2	#ep172_room01_in	1,1,ba_in01,295,101
+ba_in01,295,98,0	warp2	#ep172_room01_out	1,1,ba_in01,357,300
+
+ba_in01,367,290,0	warp2	#ep172_diningRoom_in	1,1,ba_in01,360,194
+ba_in01,356,194,0	warp2	#ep172_diningRoom_out	1,1,ba_in01,364,290

+ 44 - 0
npc/re/warps/other/ba_pw.txt

@@ -0,0 +1,44 @@
+//===== rAthena Script =======================================
+//= Portals of Varmundt's mansion
+//===== Changelog: ===========================================
+//= 1.0 First version. [crazyarashi]
+//============================================================
+
+//= Power Plant
+//============================================================
+ba_pw01,91,291,0	script	#ep172_pw1_to_lab	WARPNPC,1,1,{
+	end;
+OnTouch:
+	if (ep17_2_main < 6) {
+		mes "There is still some work to be done here. Let's look around more.";
+		close;
+	}
+	warp "ba_in01",23,315;
+	end;
+}
+
+ba_pw01,10,115,0	warp	#ep172_pw1_to_pw2	1,1,ba_pw02,10,149
+
+ba_pw02,7,149,0	script	#ep172_pw2_to_pw1	WARPNPC,1,1,{
+	end;
+OnTouch:
+	if (ep17_2_main < 4) {
+		mes "There is still some work to be done here. Let's look around more.";
+		close;
+	}
+	warp "ba_pw01",13,115;
+	end;
+}
+
+ba_pw02,275,15,0	warp	#ep172_pw2_to_cor	1,1,sp_cor,257,285
+
+sp_cor,258,287,0	script	#ep172_cor_to_pw2	WARPNPC,1,1,{
+	end;
+OnTouch:
+	if (ep17_2_main < 2) {
+		npctalk "Rookie : Oh? I haven't opened it yet! Hold on for a while, we're doing our best to open it!", "Rookie#rm171_2", bc_self;
+		end;
+	}
+	warp "ba_pw02",275,20;
+	end;
+}

+ 3 - 0
sql-files/mob_db.sql

@@ -57,6 +57,9 @@ CREATE TABLE `mob_db` (
   `racegroup_temple_demon` tinyint(1) unsigned DEFAULT NULL,
   `racegroup_illusion_vampire` tinyint(1) unsigned DEFAULT NULL,
   `racegroup_malangdo` tinyint(1) unsigned DEFAULT NULL,
+  `racegroup_ep172alpha` tinyint(1) unsigned DEFAULT NULL,
+  `racegroup_ep172beta` tinyint(1) unsigned DEFAULT NULL,
+  `racegroup_ep172bath` tinyint(1) unsigned DEFAULT NULL,
   `element` varchar(24) DEFAULT NULL,
   `element_level` tinyint(4) unsigned DEFAULT NULL,
   `walk_speed` smallint(6) unsigned DEFAULT NULL,

+ 3 - 0
sql-files/mob_db2.sql

@@ -57,6 +57,9 @@ CREATE TABLE `mob_db2` (
   `racegroup_temple_demon` tinyint(1) unsigned DEFAULT NULL,
   `racegroup_illusion_vampire` tinyint(1) unsigned DEFAULT NULL,
   `racegroup_malangdo` tinyint(1) unsigned DEFAULT NULL,
+  `racegroup_ep172alpha` tinyint(1) unsigned DEFAULT NULL,
+  `racegroup_ep172beta` tinyint(1) unsigned DEFAULT NULL,
+  `racegroup_ep172bath` tinyint(1) unsigned DEFAULT NULL,
   `element` varchar(24) DEFAULT NULL,
   `element_level` tinyint(4) unsigned DEFAULT NULL,
   `walk_speed` smallint(6) unsigned DEFAULT NULL,

+ 3 - 0
sql-files/mob_db2_re.sql

@@ -59,6 +59,9 @@ CREATE TABLE `mob_db2_re` (
   `racegroup_temple_demon` tinyint(1) unsigned DEFAULT NULL,
   `racegroup_illusion_vampire` tinyint(1) unsigned DEFAULT NULL,
   `racegroup_malangdo` tinyint(1) unsigned DEFAULT NULL,
+  `racegroup_ep172alpha` tinyint(1) unsigned DEFAULT NULL,
+  `racegroup_ep172beta` tinyint(1) unsigned DEFAULT NULL,
+  `racegroup_ep172bath` tinyint(1) unsigned DEFAULT NULL,
   `element` varchar(24) DEFAULT NULL,
   `element_level` tinyint(4) unsigned DEFAULT NULL,
   `walk_speed` smallint(6) unsigned DEFAULT NULL,

+ 3 - 0
sql-files/mob_db_re.sql

@@ -59,6 +59,9 @@ CREATE TABLE `mob_db_re` (
   `racegroup_temple_demon` tinyint(1) unsigned DEFAULT NULL,
   `racegroup_illusion_vampire` tinyint(1) unsigned DEFAULT NULL,
   `racegroup_malangdo` tinyint(1) unsigned DEFAULT NULL,
+  `racegroup_ep172alpha` tinyint(1) unsigned DEFAULT NULL,
+  `racegroup_ep172beta` tinyint(1) unsigned DEFAULT NULL,
+  `racegroup_ep172bath` tinyint(1) unsigned DEFAULT NULL,
   `element` varchar(24) DEFAULT NULL,
   `element_level` tinyint(4) unsigned DEFAULT NULL,
   `walk_speed` smallint(6) unsigned DEFAULT NULL,

+ 20 - 0
sql-files/upgrades/upgrade_20220407.sql

@@ -0,0 +1,20 @@
+ALTER TABLE `mob_db`
+	ADD COLUMN `racegroup_ep172alpha` tinyint(1) unsigned DEFAULT NULL,
+	ADD COLUMN `racegroup_ep172beta` tinyint(1) unsigned DEFAULT NULL,
+	ADD COLUMN `racegroup_ep172bath` tinyint(1) unsigned DEFAULT NULL
+;
+ALTER TABLE `mob_db2`
+	ADD COLUMN `racegroup_ep172alpha` tinyint(1) unsigned DEFAULT NULL,
+	ADD COLUMN `racegroup_ep172beta` tinyint(1) unsigned DEFAULT NULL,
+	ADD COLUMN `racegroup_ep172bath` tinyint(1) unsigned DEFAULT NULL
+;
+ALTER TABLE `mob_db_re`
+	ADD COLUMN `racegroup_ep172alpha` tinyint(1) unsigned DEFAULT NULL,
+	ADD COLUMN `racegroup_ep172beta` tinyint(1) unsigned DEFAULT NULL,
+	ADD COLUMN `racegroup_ep172bath` tinyint(1) unsigned DEFAULT NULL
+;
+ALTER TABLE `mob_db2_re`
+	ADD COLUMN `racegroup_ep172alpha` tinyint(1) unsigned DEFAULT NULL,
+	ADD COLUMN `racegroup_ep172beta` tinyint(1) unsigned DEFAULT NULL,
+	ADD COLUMN `racegroup_ep172bath` tinyint(1) unsigned DEFAULT NULL
+;

+ 3 - 0
src/map/map.hpp

@@ -360,6 +360,9 @@ enum e_race2 : uint8{
 	RC2_TEMPLE_DEMON,
 	RC2_ILLUSION_VAMPIRE,
 	RC2_MALANGDO,
+	RC2_EP172ALPHA,
+	RC2_EP172BETA,
+	RC2_EP172BATH,
 	RC2_MAX
 };
 

+ 1 - 1
src/map/mob.cpp

@@ -5273,7 +5273,7 @@ static int mob_read_sqldb(void)
 	for( uint8 fi = 0; fi < ARRAYLENGTH(mob_db_name); ++fi ) {
 		// retrieve all rows from the mob database
 		if( SQL_ERROR == Sql_Query(mmysql_handle, "SELECT `id`,`name_aegis`,`name_english`,`name_japanese`,`level`,`hp`,`sp`,`base_exp`,`job_exp`,`mvp_exp`,`attack`,`attack2`,`defense`,`magic_defense`,`str`,`agi`,`vit`,`int`,`dex`,`luk`,`attack_range`,`skill_range`,`chase_range`,`size`,`race`,"
-			"`racegroup_goblin`,`racegroup_kobold`,`racegroup_orc`,`racegroup_golem`,`racegroup_guardian`,`racegroup_ninja`,`racegroup_gvg`,`racegroup_battlefield`,`racegroup_treasure`,`racegroup_biolab`,`racegroup_manuk`,`racegroup_splendide`,`racegroup_scaraba`,`racegroup_ogh_atk_def`,`racegroup_ogh_hidden`,`racegroup_bio5_swordman_thief`,`racegroup_bio5_acolyte_merchant`,`racegroup_bio5_mage_archer`,`racegroup_bio5_mvp`,`racegroup_clocktower`,`racegroup_thanatos`,`racegroup_faceworm`,`racegroup_hearthunter`,`racegroup_rockridge`,`racegroup_werner_lab`,`racegroup_temple_demon`,`racegroup_illusion_vampire`,`racegroup_malangdo`,"
+			"`racegroup_goblin`,`racegroup_kobold`,`racegroup_orc`,`racegroup_golem`,`racegroup_guardian`,`racegroup_ninja`,`racegroup_gvg`,`racegroup_battlefield`,`racegroup_treasure`,`racegroup_biolab`,`racegroup_manuk`,`racegroup_splendide`,`racegroup_scaraba`,`racegroup_ogh_atk_def`,`racegroup_ogh_hidden`,`racegroup_bio5_swordman_thief`,`racegroup_bio5_acolyte_merchant`,`racegroup_bio5_mage_archer`,`racegroup_bio5_mvp`,`racegroup_clocktower`,`racegroup_thanatos`,`racegroup_faceworm`,`racegroup_hearthunter`,`racegroup_rockridge`,`racegroup_werner_lab`,`racegroup_temple_demon`,`racegroup_illusion_vampire`,`racegroup_malangdo`,`racegroup_ep172alpha`,`racegroup_ep172beta`,`racegroup_ep172bath`,"
 			"`element`,`element_level`,`walk_speed`,`attack_delay`,`attack_motion`,`damage_motion`,`damage_taken`,`ai`,`class`,"
 			"`mode_canmove`,`mode_looter`,`mode_aggressive`,`mode_assist`,`mode_castsensoridle`,`mode_norandomwalk`,`mode_nocast`,`mode_canattack`,`mode_castsensorchase`,`mode_changechase`,`mode_angry`,`mode_changetargetmelee`,`mode_changetargetchase`,`mode_targetweak`,`mode_randomtarget`,`mode_ignoremelee`,`mode_ignoremagic`,`mode_ignoreranged`,`mode_mvp`,`mode_ignoremisc`,`mode_knockbackimmune`,`mode_teleportblock`,`mode_fixeditemdrop`,`mode_detector`,`mode_statusimmune`,`mode_skillimmune`,"
 			"`mvpdrop1_item`,`mvpdrop1_rate`,`mvpdrop1_option`,`mvpdrop1_index`,`mvpdrop2_item`,`mvpdrop2_rate`,`mvpdrop2_option`,`mvpdrop2_index`,`mvpdrop3_item`,`mvpdrop3_rate`,`mvpdrop3_option`,`mvpdrop3_index`,"

+ 1 - 0
src/map/script.cpp

@@ -20736,6 +20736,7 @@ BUILDIN_FUNC(erasequest)
 	}
 	pc_show_questinfo(sd); 
 
+	pc_show_questinfo(sd);
 	return SCRIPT_CMD_SUCCESS;
 }
 

+ 3 - 0
src/map/script_constants.hpp

@@ -4213,6 +4213,9 @@
 	export_constant(RC2_TEMPLE_DEMON);
 	export_constant(RC2_ILLUSION_VAMPIRE);
 	export_constant(RC2_MALANGDO);
+	export_constant(RC2_EP172ALPHA);
+	export_constant(RC2_EP172BETA);
+	export_constant(RC2_EP172BATH);
 	export_constant(RC2_MAX);
 
 	/* monster ai */