Prechádzať zdrojové kódy

Merge branch 'master' into refactor/cmake

vstumpf 10 mesiacov pred
rodič
commit
f54a204a7d
100 zmenil súbory, kde vykonal 8002 pridanie a 1292 odobranie
  1. 4 4
      .github/workflows/analysis_codeql.yml
  2. 1 1
      .github/workflows/build_servers_modes.yml
  3. 1 1
      .github/workflows/build_servers_packetversions.yml
  4. 1 1
      .github/workflows/build_servers_vip.yml
  5. 1 1
      .github/workflows/build_servers_windows.yml
  6. 1 1
      .github/workflows/npc_db_validation.yml
  7. 6 0
      conf/atcommands.yml
  8. 11 2
      conf/battle/battle.conf
  9. 1 2
      conf/battle/exp.conf
  10. 27 0
      conf/battle/instance.conf
  11. 1 1
      conf/battle/items.conf
  12. 14 0
      conf/battle/misc.conf
  13. 18 4
      conf/battle/monster.conf
  14. 4 0
      conf/battle/pet.conf
  15. 3 6
      conf/battle/player.conf
  16. 6 4
      conf/battle/skill.conf
  17. 15 12
      conf/battle_athena.conf
  18. 4 0
      conf/char_athena.conf
  19. 9 3
      conf/login_athena.conf
  20. 24 0
      conf/maps_athena.conf
  21. 5 2
      conf/msg_conf/map_msg.conf
  22. 1 1
      conf/msg_conf/map_msg_idn.conf
  23. 1 1
      conf/msg_conf/map_msg_por.conf
  24. 1 1
      conf/msg_conf/map_msg_spn.conf
  25. 2 1
      db/import-tmpl/mob_db.yml
  26. BIN
      db/map_cache.dat
  27. 20 0
      db/map_index.txt
  28. 2 1
      db/mob_db.yml
  29. 3 3
      db/pre-re/item_db_usable.yml
  30. 163 2
      db/pre-re/mob_db.yml
  31. 49 66
      db/pre-re/mob_skill_db.txt
  32. 7 9
      db/pre-re/skill_db.yml
  33. 221 195
      db/re/item_combos.yml
  34. 434 79
      db/re/item_db_equip.yml
  35. 1436 25
      db/re/item_db_etc.yml
  36. 149 109
      db/re/item_db_usable.yml
  37. 731 1
      db/re/item_enchant.yml
  38. 1086 4
      db/re/item_group_db.yml
  39. 1018 0
      db/re/item_reform.yml
  40. 8 4
      db/re/job_stats.yml
  41. 126 2
      db/re/mob_db.yml
  42. 193 110
      db/re/mob_skill_db.txt
  43. 22 0
      db/re/pet_db.yml
  44. 78 18
      db/re/quest_db.yml
  45. 65 9
      db/re/skill_db.yml
  46. 29 8
      db/re/status.yml
  47. 14 2
      doc/ea_job_system.txt
  48. 1 1
      doc/item_bonus.txt
  49. 12 0
      doc/mob_db.txt
  50. 2 2
      doc/mob_skill_db_powerskill.txt
  51. 39 33
      doc/permissions.txt
  52. 107 30
      doc/script_commands.txt
  53. 1 0
      doc/skill_db.txt
  54. 1 1
      doc/yaml/db/license.yml
  55. 1 0
      doc/yaml/db/mob_db.yml
  56. 3 0
      doc/yaml/sql/mob_db.sql
  57. 3 0
      doc/yaml/sql/mob_db2.sql
  58. 3 0
      doc/yaml/sql/mob_db2_re.sql
  59. 3 0
      doc/yaml/sql/mob_db_re.sql
  60. 23 0
      npc/custom/jobmaster.txt
  61. 1 1
      npc/kafras/kafras.txt
  62. 2 2
      npc/merchants/hair_style.txt
  63. 20 0
      npc/other/CashShop_Functions.txt
  64. 3 3
      npc/pre-re/merchants/hair_style.txt
  65. 43 47
      npc/quests/bard_quest.txt
  66. 1 1
      npc/quests/cooking_quest.txt
  67. 27 31
      npc/quests/quests_rachel.txt
  68. 1 1
      npc/quests/seals/mjolnir_seal.txt
  69. 1 3
      npc/quests/the_sign_quest.txt
  70. 3 3
      npc/re/cities/dicastes.txt
  71. 1 1
      npc/re/custom/lasagna/lasagna_npcs.txt
  72. 0 45
      npc/re/custom/lasagna/warps.txt
  73. 1 1
      npc/re/guild3/agit_main_te.txt
  74. 2 2
      npc/re/instances/CharlestonCrisis.txt
  75. 8 3
      npc/re/instances/SealedOs.txt
  76. 1 1
      npc/re/jobs/2e/kagerou_oboro.txt
  77. 1 1
      npc/re/jobs/novice/academy.txt
  78. 5 5
      npc/re/merchants/ammo_boxes.txt
  79. 117 0
      npc/re/merchants/barters/enchan_illusion_dungeons.yml
  80. 51 0
      npc/re/merchants/enchan_illusion_dungeons.txt
  81. 29 0
      npc/re/merchants/shopping_boards.txt
  82. 323 318
      npc/re/mobs/championmobs.txt
  83. 44 0
      npc/re/mobs/dungeons/ein_dun.txt
  84. 23 31
      npc/re/mobs/fields/prontera.txt
  85. 4 4
      npc/re/other/clans.txt
  86. 3 2
      npc/re/quests/eden/56-70.txt
  87. 0 2
      npc/re/quests/illusion_investigation.txt
  88. 3 3
      npc/re/quests/quests_16_1.txt
  89. 3 2
      npc/re/quests/quests_16_2.txt
  90. 3 1
      npc/re/quests/quests_17_1.txt
  91. 1 1
      npc/re/quests/quests_17_2.txt
  92. 996 0
      npc/re/quests/quests_illusion_dungeons.txt
  93. 6 6
      npc/re/quests/quests_malaya.txt
  94. 7 7
      npc/re/quests/quests_mora.txt
  95. 1 1
      npc/re/scripts_athena.conf
  96. 1 0
      npc/re/scripts_mapflags.conf
  97. 1 0
      npc/re/scripts_warps.conf
  98. 47 0
      npc/re/warps/cities/lasagna.txt
  99. 1 0
      npc/scripts_mapflags.conf
  100. 2 0
      sql-files/mob_db.sql

+ 4 - 4
.github/workflows/analysis_codeql.yml

@@ -38,11 +38,11 @@ jobs:
 
     steps:
       - name: Checkout repository
-        uses: actions/checkout@v3
+        uses: actions/checkout@v4
 
       # Initializes the CodeQL tools for scanning.
       - name: Initialize CodeQL
-        uses: github/codeql-action/init@v2
+        uses: github/codeql-action/init@v3
         with:
            # CodeQL supports [ 'cpp', 'csharp', 'go', 'java', 'javascript', 'python', 'ruby' ]
            # Learn more about CodeQL language support at https://aka.ms/codeql-docs/language-support
@@ -74,7 +74,7 @@ jobs:
       #- name: Autobuild
       #  uses: github/codeql-action/autobuild@v2
 
-      # ✏️ If the Autobuild fails above, remove it and uncomment the following
+      # ?? If the Autobuild fails above, remove it and uncomment the following
       #    three lines and modify them (or add more) to build your code if your
       #    project uses a compiled language
       - name: Create build directory
@@ -89,4 +89,4 @@ jobs:
         run: cmake --build . -j2 --target server
 
       - name: Perform CodeQL Analysis
-        uses: github/codeql-action/analyze@v2
+        uses: github/codeql-action/analyze@v3

+ 1 - 1
.github/workflows/build_servers_modes.yml

@@ -36,7 +36,7 @@ jobs:
           mode: ['PRE','RE']
 
     steps:
-      - uses: actions/checkout@v2
+      - uses: actions/checkout@v4
 
       # A simple 'yes' and 'no' can be confusing, so we use names to display in the current job then convert them for use in the compiler.
       - name: Variable Parsing - PRE

+ 1 - 1
.github/workflows/build_servers_packetversions.yml

@@ -38,7 +38,7 @@ jobs:
           packetver: ['20211103', '20200902', '20200401', '20180620', '20151104']
 
     steps:
-      - uses: actions/checkout@v2
+      - uses: actions/checkout@v4
 
       # A simple 'yes' and 'no' can be confusing, so we use names to display in the current job then convert them for use in the compiler.
       - name: Variable Parsing - PRE

+ 1 - 1
.github/workflows/build_servers_vip.yml

@@ -36,7 +36,7 @@ jobs:
           mode: ['PRE', 'RE']
 
     steps:
-      - uses: actions/checkout@v2
+      - uses: actions/checkout@v4
 
       # A simple 'yes' and 'no' can be confusing, so we use names to display in the current job then convert them for use in the compiler.
       - name: Variable Parsing - PRE

+ 1 - 1
.github/workflows/build_servers_windows.yml

@@ -32,7 +32,7 @@ jobs:
           os: [windows-latest]
 
     steps:
-      - uses: actions/checkout@v2
+      - uses: actions/checkout@v4
 
       - name: Create build directory
         run: cmake -E make_directory ${{github.workspace}}/build

+ 1 - 1
.github/workflows/npc_db_validation.yml

@@ -39,7 +39,7 @@ jobs:
           mode: ['PRE', 'RE']
 
     steps:
-      - uses: actions/checkout@v2
+      - uses: actions/checkout@v4
       
       # A simple 'yes' and 'no' can be confusing, so we use names to display in the current job then convert them for use in the compiler.
       - name: Variable Parsing - PRE

+ 6 - 0
conf/atcommands.yml

@@ -918,6 +918,11 @@ Body:
   - Command: reloadbattleconf
     Help: |
       Reload battle settings.
+  - Command: reloadcashdb
+    Aliases:
+      - reloadcashshop
+    Help: |
+      Reload cash shop database.
   - Command: reloadinstancedb
     Help: |
       Reload instance database.
@@ -956,6 +961,7 @@ Body:
       atcommand       battleconf     statusdb
       pcdb                    motd             script
       questdb              msgconf       packetdb
+      cashdb
   - Command: langtype
     Help: |
       Params: <language>

+ 11 - 2
conf/battle/battle.conf

@@ -130,10 +130,19 @@ equip_self_break_rate: 100
 // This affects the behaviour of skills like acid terror and meltdown
 equip_skill_break_rate: 100
 
-// Do weapon attacks have a attack speed delay before actual damage is applied? (Note 1)
-// NOTE: The official setting is yes, even thought it degrades performance a bit.
+// Should damage have a delay before it is applied? (Note 1)
+// Some skills might not have a delay by default regardless of this setting.
+// The official setting is yes, even thought it degrades performance a bit.
 delay_battle_damage: yes
 
+// Should the damage timing be synchronized between the client and server? (Note 1)
+// This is not official behavior, but it should remove the position lag after being hit by a monster.
+// This setting only affects normal monster attacks and takes priority over "delay_battle_damage".
+// Many skills show their damage immediately, so setting "delay_battle_damage" to "no" at the same
+// time might improve the experience further, but will not work for all skills.
+// Tired of Dark Illusion hitting you 5 seconds too late? Then turn this on.
+synchronize_damage: no
+
 // Are arrows/ammo consumed when used on a bow/gun?
 // 0 = No
 // 1 = Yes

+ 1 - 2
conf/battle/exp.conf

@@ -33,8 +33,7 @@ max_exp_gain_rate: 0
 // Method of calculating earned experience when defeating a monster:
 // 0 = uses damage given / total damage as damage ratio
 // 1 = uses damage given / max_hp as damage ratio
-// NOTE: Using type 1 disables the bonus where the first attacker gets 
-//       his share of the exp doubled when multiple people attack the mob.
+// 2 = 0 + first attacker counts twice
 exp_calc_type: 0
 
 // Experience increase per attacker. That is, every additional attacker to the

+ 27 - 0
conf/battle/instance.conf

@@ -0,0 +1,27 @@
+//--------------------------------------------------------------
+// rAthena Battle Configuration File
+// Originally Translated by Peter Kieser <pfak@telus.net>
+// Made in to plainer English by Ancyker
+//--------------------------------------------------------------
+// Note 1: Value is a config switch (on/off, yes/no or 1/0)
+// Note 2: Value is in percents (100 means 100%)
+// Note 3: Value is a bit field. If no description is given,
+//         assume unit types (1: Pc, 2: Mob, 4: Pet, 8: Homun)
+//--------------------------------------------------------------
+
+// Block leaving for parties, guilds or clans if they have an active instance?
+// Default: yes (Official)
+instance_block_leave: yes
+
+// Block leader changes for parties or guilds if they have an active instance?
+// Default: yes (Official)
+instance_block_leaderchange: yes
+
+// Block inviting for parties or guilds if they have an active instance?
+// This also blocks joining parties, guilds or clans that have a running instance.
+// Default: yes (Official)
+instance_block_invite: yes
+
+// Block expulsion for parties or guilds if they have an active instance?
+// Default: yes (Official)
+instance_block_expulsion: yes

+ 1 - 1
conf/battle/items.conf

@@ -93,7 +93,7 @@ allow_equip_restricted_item: yes
 // Default on official servers: yes for Pre-renewal, no for Renewal
 //item_enabled_npc: yes
 
-// Allow map_flooritem to check if item is droppable? (Note 1)
+// Allow map_addflooritem to check if item is droppable? (Note 1)
 // If yes, undroppable items will be destroyed instead of appearing on the map when a player's inventory is full.
 // Default: yes
 item_flooritem_check: yes

+ 14 - 0
conf/battle/misc.conf

@@ -183,3 +183,17 @@ mail_delay: 1000
 
 // Hides items from the player's favorite tab from being sold to a NPC. (Note 1)
 hide_fav_sell: no
+
+// When searching for a random position on the map, how much of the border of the map shall not be considered?
+// Officially the 15 tiles from the edge of the map on each side are not considered as target cells.
+// On some maps like in Pyramids this causes there to be very few monsters in the outer areas. This also
+// affects teleportation. Set this to 1 if you want it to be closer to the old emulator behavior.
+// Valid values: 1-40
+map_edge_size: 15
+
+// When a player drops items, can they stack on the same cell? (Note 1)
+// Officially there's no limit on how many items you can drop on the same cell.
+// If you set this to "no", when you drop an item, it will only drop on a cell that has no item on it yet.
+// A free cell will be searched for in eight directions. If no free cell could be found in those eight tries,
+// then dropping the item will fail (the item stays in the player's inventory).
+item_stacking: yes

+ 18 - 4
conf/battle/monster.conf

@@ -79,10 +79,10 @@ monster_chase_refresh: 30
 // 8: Enable mob-warping when standing on Dimensional Door
 mob_warp: 0
 
-// If these are set above 0, they define the time (in ms) during which monsters
-// will have their 'AI' active after all players have left their vicinity.
-mob_active_time: 0
-boss_active_time: 0
+// Defines the time (in ms) during which monsters will have their AI active
+// after all players have left their vicinity.
+mob_active_time: 5000
+boss_active_time: 5000
 
 // Mobs and Pets view-range adjustment (range2 column in the mob_db) (Note 2)
 view_range_rate: 100
@@ -163,6 +163,15 @@ no_spawn_on_player: 0
 // map regardless of what the mob-spawn file says.
 force_random_spawn: no
 
+// Should each monster's center cell be randomized? (Note 1)
+// Officially, at server start, each monster's center cell is set to a random cell in the spawn area.
+// Each time the monster spawns it will spawn in an area around its center cell rather than the
+// original center of the spawn definition. This results in a much larger total spawn area and a
+// different experience each server start.
+// Set this to "no" if you want all monsters of a spawn to spawn around the original center of the
+// spawn definition, making the total spawn area much smaller (old eAthena behavior).
+randomize_center_cell: yes
+
 // Do summon slaves inherit the passive/aggressive traits of their master?
 // 0: No, retain original mode.
 // 1: Slaves are always aggressive.
@@ -302,3 +311,8 @@ slave_stick_with_master: no
 // Also used in delaying the spawning of guardians when a guild is not loaded.
 // Default (Official): 1000
 mob_respawn_time: 1000
+
+// Defines the time (in ms) after which a monster unlocks its target when trapped.
+// During this time monsters will still be in idle mode and use idle skills on random
+// targets, but they continue chasing their original target when no longer trapped.
+mob_unlock_time: 2000

+ 4 - 0
conf/battle/pet.conf

@@ -41,6 +41,10 @@ pet_hungry_delay_rate: 100
 // These bonuses are unofficial and found in the import/pet_db.yml
 pet_equip_required: yes
 
+// Should the pet equipment be destroyed if the owner doesn't have enough space in their inventory? (Note 1)
+// Official behavior is "yes", setting this to "no" will leave the item equipped. 
+pet_unequip_destroy: yes
+
 // When the master attacks a monster, whether or not the pet will also attack. (Note 1)
 pet_attack_support: no
 

+ 3 - 6
conf/battle/player.conf

@@ -298,12 +298,9 @@ trait_points_job_change: 7
 // Official is 100.
 max_trait_parameter: 100
 
-// Max amount of RES/MRES to take into the resistance damage reduction formula.
-// A setting of 625 means the max reduction of damage allowed is 50.0%.
-// Formula is 100 - 100 * (5000 + RES) / (5000 + 10 * RES)
-// Note: Best to leave this setting alone unless you know what your doing.
-// Default: 625
-max_res_mres_reduction: 625
+// Max percent of RES/MRES that can be ignored by item bonus/skill.
+// Default: 50
+max_res_mres_ignored: 50
 
 // Maximum AP
 // Default: 1000

+ 6 - 4
conf/battle/skill.conf

@@ -26,8 +26,8 @@ min_skill_delay_limit: 100
 
 // This delay is the min 'can't walk delay' of all skills.
 // NOTE: Do not set this too low, if a character starts moving too soon after 
-// doing a skill, the client will not update this, and the player/mob will 
-// appear to "teleport" afterwards.
+// doing a skill, the client will not update this, and the player will appear
+// to "teleport" afterwards. Monsters use AttackMotion instead.
 default_walk_delay: 300
 
 // Completely disable skill delay of the following types (Note 3)
@@ -270,8 +270,10 @@ allow_skill_without_day: no
 // Allow use of ES-type magic on players?
 allow_es_magic_player: no
 
-// Miracle of the Sun, Moon and Stars skill ratio (100% = 10000)
-sg_miracle_skill_ratio: 2
+// Miracle of the Sun, Moon and Stars skill ratio
+// Valid values range from 1 (0.005% per hit) to 20000 (100% per hit)
+// This chance is further reduced if AGI is above 46 (92 = halved chance)
+sg_miracle_skill_ratio: 1
 
 // Miracle of the Sun, Moon and Stars skill duration in milliseconds
 sg_miracle_skill_duration: 3600000

+ 15 - 12
conf/battle_athena.conf

@@ -8,6 +8,9 @@
 //General battle-related settings.
 import: conf/battle/battle.conf
 
+//Battleground settings
+import: conf/battle/battleground.conf
+
 //Settings specific to the client.
 import: conf/battle/client.conf
 
@@ -17,14 +20,20 @@ import: conf/battle/drops.conf
 //Experience rates, exp penalties, stats and max level settings.
 import: conf/battle/exp.conf
 
+//Feature control (on/off) settings
+import: conf/battle/feature.conf
+
 //GM levels, atcommands and hack-related configs.
 import: conf/battle/gm.conf
 
 //Guild and WoE settings
 import: conf/battle/guild.conf
 
-//Battleground settings
-import: conf/battle/battleground.conf
+//Homunc related configuration
+import: conf/battle/homunc.conf
+
+//Instance settings
+import: conf/battle/instance.conf
 
 //Item/card-specific and crafting related options.
 import: conf/battle/items.conf
@@ -32,15 +41,16 @@ import: conf/battle/items.conf
 //Mob related configuration
 import: conf/battle/monster.conf
 
+// Anything else that didn't fit anywhere else.
+// Includes duel, day/night, mute/manner, log settings.
+import: conf/battle/misc.conf
+
 //Party related configuration
 import: conf/battle/party.conf
 
 //Pet related configuration
 import: conf/battle/pet.conf
 
-//Homunc related configuration
-import: conf/battle/homunc.conf
-
 //Player specific settings
 import: conf/battle/player.conf
 
@@ -50,12 +60,5 @@ import: conf/battle/skill.conf
 //Status change related settings
 import: conf/battle/status.conf
 
-//Feature control (on/off) settings
-import: conf/battle/feature.conf
-
-// Anything else that didn't fit anywhere else.
-// Includes duel, day/night, mute/manner, log settings.
-import: conf/battle/misc.conf
-
 //Your custom config goes here.
 import: conf/import/battle_conf.txt

+ 4 - 0
conf/char_athena.conf

@@ -144,6 +144,10 @@ unknown_char_name: Unknown
 // To log the character server?
 log_char: yes
 
+// Minimum length for a character name.
+// Must be set to '4' unless your client uses the 'Remove 4/6 letter Character Name limit' diff patch.
+char_name_min_length: 4
+
 // Allow or not identical name for characters but with a different case (upper/lower):
 // example: Test-test-TEST-TesT; Value: 0 not allowed (default), 1 allowed
 name_ignoring_case: no

+ 9 - 3
conf/login_athena.conf

@@ -55,9 +55,15 @@ console: off
 // Note: This only works if client side password encryption is not enabled.
 new_account: no
 
-//If new_account is enabled, minimum length to userid and passwords should be 4?
-//Must be 'Yes' unless your client uses both 'Disable 4 LetterUserID/Password' Diffs
-new_acc_length_limit: yes
+// If new_account is enabled, changes the minimum length for the account name.
+// By default is set to '4' or '6' (depending on the new login UI).
+// Don't change it unless your client uses the 'Remove 4/6 letter User Name limit' diff patch.
+//acc_name_min_length: 6
+
+// If new_account is enabled, changes the minimum length for the password.
+// By default is set to '4' or '6' (depending on the new login UI).
+// Don't change it unless your client uses the 'Remove 4/6 letter Password limit' diff patch.
+//password_min_length: 6
 
 // Account registration flood protection system
 // allowed_regs is the number of registrations allowed in time_allowed (in seconds)

+ 24 - 0
conf/maps_athena.conf

@@ -1613,5 +1613,29 @@ map: bl_depth2
 // Fantasy Series Sonic Collaboration - Dr. Eggman's Secret Base
 map: 1@vrsn
 
+// Episode 21
+map: 1@ep21a
+map: 1@ep21b
+map: 1@mdtem
+map: 1@twbs2
+map: 1@wtgs
+map: 2@mdtem
+map: jalbe_in
+map: jor_albe
+map: jor_base
+map: jor_crk
+map: jor_crk_p
+map: jor_mbase
+map: jor_raise1
+map: jor_raise2
+map: jor_tmple1
+map: jor_tmple2
+map: luna_sf1
+map: luna_sf2
+map: mbase_in
+
+// Market place
+map: prt_mk
+
 //------------------------- Clone Maps ---------------------------
 //------------------------- Extra Maps ---------------------------

+ 5 - 2
conf/msg_conf/map_msg.conf

@@ -775,7 +775,7 @@
 730: Character cannot be disguised while in monster form.
 731: Transforming into monster is not allowed in Guild Wars.
 
-732: Item cannot be opened when your inventory is full.
+//732: Free
 
 733: Please enter a NPC file name (usage: @reloadnpcfile <file name>).
 
@@ -933,7 +933,10 @@
 // NoBank Mapflag
 831: You cannot use the Bank on this map.
 
-//832-899 free
+// @reloadcashdb
+832: Cash shop database has been reloaded.
+
+//833-899 free
 
 //------------------------------------
 // More atcommands message

+ 1 - 1
conf/msg_conf/map_msg_idn.conf

@@ -765,7 +765,7 @@
 730: Karakter tidak dapat disguise ketika sedang berwujud monster.
 731: Perubahan menjadi monster tidak diizinkan dalam Guild Wars.
 
-732: Item tidak dapat dibuka ketika inventory penuh.
+//732: Free
 
 //733 free
 

+ 1 - 1
conf/msg_conf/map_msg_por.conf

@@ -779,7 +779,7 @@
 730: O personagem não pode ser disfarçado enquanto estiver em forma de monstro.
 731: Transformar em monstro não é permitido em GvG.
 
-732: O item não pode ser aberto quando o seu inventário está cheio.
+//732: Free
 
 733: Por favor insira um nome de arquivo NPC (uso: @reloadnpcfile <nome do arquivo>).
 

+ 1 - 1
conf/msg_conf/map_msg_spn.conf

@@ -775,7 +775,7 @@
 730: El personaje no puede disfrazarse si está transformado en un monstruo.
 731: No puedes transformarte en monstruo durante la guerra de clanes.
 
-732: No puedes abrir el objeto porque tu inventario está lleno.
+//732: libre
 
 733: Introduce la ruta de archivo de un NPC (instrucciones: @reloadnpcfile <ruta>).
 

+ 2 - 1
db/import-tmpl/mob_db.yml

@@ -56,6 +56,7 @@
 #   WalkSpeed               Walk speed. (Default: DEFAULT_WALK_SPEED)
 #   AttackDelay             Attack speed. (Default: 0)
 #   AttackMotion            Attack animation speed. (Default: 0)
+#   ClientAttackMotion      Client attack speed. (Default: AttackMotion)
 #   DamageMotion            Damage animation speed. (Default: 0)
 #   DamageTaken             Rate at which the monster will receive incoming damage. (Default: 100)
 #   Ai                      Aegis monster type AI behavior. (Default: 06)
@@ -77,7 +78,7 @@
 
 Header:
   Type: MOB_DB
-  Version: 3
+  Version: 4
 
 #Body:
 # eAthena Dev Team

BIN
db/map_cache.dat


+ 20 - 0
db/map_index.txt

@@ -1241,6 +1241,26 @@ t_garden
 3@vrpop
 bl_depth2
 1@vrsn
+1@ep21a
+1@ep21b
+1@mdtem
+1@twbs2
+1@wtgs
+2@mdtem
+jalbe_in
+jor_albe
+jor_base
+jor_crk
+jor_crk_p
+jor_mbase
+jor_raise1
+jor_raise2
+jor_tmple1
+jor_tmple2
+luna_sf1
+luna_sf2
+mbase_in
+prt_mk
 
 //======================================================================================
 // - Other/Extra maps -

+ 2 - 1
db/mob_db.yml

@@ -56,6 +56,7 @@
 #   WalkSpeed               Walk speed. (Default: DEFAULT_WALK_SPEED)
 #   AttackDelay             Attack speed. (Default: 0)
 #   AttackMotion            Attack animation speed. (Default: 0)
+#   ClientAttackMotion      Client attack speed. (Default: AttackMotion)
 #   DamageMotion            Damage animation speed. (Default: 0)
 #   DamageTaken             Rate at which the monster will receive incoming damage. (Default: 100)
 #   Ai                      Aegis monster type AI behavior. (Default: 06)
@@ -77,7 +78,7 @@
 
 Header:
   Type: MOB_DB
-  Version: 3
+  Version: 4
 
 Footer:
   Imports:

+ 3 - 3
db/pre-re/item_db_usable.yml

@@ -8637,21 +8637,21 @@ Body:
     Type: Usable
     Weight: 10
     Script: |
-      searchstores 10,0;
+      searchstores 10, SEARCHSTORE_EFFECT_NORMAL;
   - Id: 12581
     AegisName: Vending_Search_Scroll2
     Name: Universal Catalog Gold
     Type: Usable
     Weight: 10
     Script: |
-      searchstores 10,1;
+      searchstores 10, SEARCHSTORE_EFFECT_REMOTE;
   - Id: 12591
     AegisName: Uni_Catalog_Bz
     Name: Universal Catalog Bronze
     Type: Usable
     Weight: 10
     Script: |
-      searchstores 10,1;
+      searchstores 10, SEARCHSTORE_EFFECT_REMOTE;
   - Id: 12609
     AegisName: Old_Ore_Box
     Name: Old Ore Box

Rozdielové dáta súboru neboli zobrazené, pretože súbor je príliš veľký
+ 163 - 2
db/pre-re/mob_db.yml


+ 49 - 66
db/pre-re/mob_skill_db.txt

@@ -102,7 +102,7 @@
 1019,Peco Peco@NPC_EMOTION,chase,197,1,2000,0,5000,yes,self,always,0,6,,,,,,
 1019,Peco Peco@NPC_FIREATTACK,attack,186,1,2000,0,5000,yes,target,always,0,,,,,,,
 1019,Peco Peco@NPC_PROVOCATION,chase,194,1,200,0,5000,yes,target,always,0,,,,,,19,
-1020,Mandragora@NPC_GROUNDATTACK,attack,185,1,2000,0,5000,yes,randomtarget,always,0,,,,,,,
+1020,Mandragora@NPC_GROUNDATTACK,attack,185,1,2000,0,5000,yes,target,always,0,,,,,,,
 1023,Orc Warrior@NPC_EMOTION,chase,197,1,2000,0,5000,yes,self,always,0,,,,,,,
 1023,Orc Warrior@NPC_GROUNDATTACK,attack,185,2,500,500,5000,no,target,always,0,,,,,,6,
 1023,Orc Warrior@NPC_EMOTION,chase,197,1,200,0,5000,yes,self,always,0,19,0x81,,,,,
@@ -349,7 +349,7 @@
 1067,Cornutus@NPC_WATERATTACK,attack,184,2,500,500,5000,no,target,always,0,,,,,,6,
 1067,Cornutus@CR_AUTOGUARD,attack,249,2,500,0,300000,yes,self,always,0,,,,,,,
 1067,Cornutus@CR_AUTOGUARD,chase,249,2,2000,0,300000,yes,self,longrangeattacked,,,,,,,,
-1068,Hydra@NPC_WATERATTACK,attack,184,2,500,500,5000,no,randomtarget,always,0,,,,,,,
+1068,Hydra@NPC_WATERATTACK,attack,184,2,500,500,5000,no,target,always,0,,,,,,,
 1069,Swordfish@NPC_WATERATTACK,attack,184,1,2000,0,5000,yes,target,always,0,,,,,,,
 1069,Swordfish@WZ_WATERBALL,attack,86,3,500,1500,5000,yes,target,always,0,,,,,,,
 1069,Swordfish@WZ_WATERBALL,chase,86,3,500,1500,5000,yes,target,always,0,,,,,,,
@@ -601,9 +601,9 @@
 1117,Evil Druid@NPC_UNDEADATTACK,chase,347,3,500,500,5000,no,target,always,0,,,,,,9,
 1117,Evil Druid@WZ_HEAVENDRIVE,attack,91,5,500,1200,5000,yes,target,always,0,,,,,,,
 1117,Evil Druid@WZ_HEAVENDRIVE,chase,91,5,500,1200,5000,yes,target,always,0,,,,,,,
-1118,Flora@NPC_BLOODDRAIN,attack,199,1,500,0,5000,yes,randomtarget,always,0,,,,,,,
+1118,Flora@NPC_BLOODDRAIN,attack,199,1,500,0,5000,yes,target,always,0,,,,,,,
 1118,Flora@NPC_EMOTION,idle,197,1,2000,0,5000,yes,self,always,0,2,,,,,,
-1118,Flora@NPC_GROUNDATTACK,attack,185,1,2000,0,5000,yes,randomtarget,always,0,,,,,,,
+1118,Flora@NPC_GROUNDATTACK,attack,185,1,2000,0,5000,yes,target,always,0,,,,,,,
 1119,Frilldora@AS_CLOAKING,attack,135,1,2000,200,5000,yes,self,always,0,,,,,,,
 1119,Frilldora@AS_CLOAKING,idle,135,1,2000,200,5000,yes,self,always,0,,,,,,,
 1119,Frilldora@AS_CLOAKING,chase,135,1,2000,200,5000,yes,self,always,0,,,,,,,
@@ -1297,7 +1297,7 @@
 1276,Raydric Archer@CR_AUTOGUARD,attack,249,2,500,0,300000,yes,self,always,0,,,,,,,
 1277,Greatest General@NPC_BLINDATTACK,idle,177,3,10000,1500,5000,no,randomtarget,longrangeattacked,,,,,,,6,
 1277,Greatest General@NPC_BLINDATTACK,idle,177,3,10000,1500,5000,no,randomtarget,casttargeted,,,,,,,6,
-1277,Greatest General@NPC_FIREATTACK,attack,186,2,500,500,5000,no,randomtarget,always,0,,,,,,,
+1277,Greatest General@NPC_FIREATTACK,attack,186,2,500,500,5000,no,target,always,0,,,,,,,
 1277,Greatest General@WZ_EARTHSPIKE,idle,90,3,5000,1500,5000,no,randomtarget,longrangeattacked,,,,,,,6,
 1277,Greatest General@WZ_EARTHSPIKE,idle,90,3,5000,1500,5000,no,randomtarget,casttargeted,,,,,,,6,
 1278,Stalactite Golem@NPC_STUNATTACK,attack,179,4,500,1500,5000,no,target,always,0,,,,,,6,
@@ -1580,7 +1580,7 @@
 1367,Blazer@WZ_SIGHTRASHER,attack,81,5,500,1000,5000,no,target,always,0,,,,,,6,
 1368,Geographer@AL_HEAL,attack,28,9,10000,500,5000,yes,friend,friendhpltmaxrate,60,,,,,,,
 1368,Geographer@AL_HEAL,idle,28,9,10000,500,5000,yes,friend,friendhpltmaxrate,60,,,,,,,
-1368,Geographer@NPC_SLEEPATTACK,attack,182,5,500,0,5000,yes,randomtarget,always,0,,,,,,,
+1368,Geographer@NPC_SLEEPATTACK,attack,182,5,500,0,5000,yes,target,always,0,,,,,,,
 1369,Grand Peco@AS_SONICBLOW,attack,136,5,500,800,5000,no,target,always,0,,,,,,6,
 1369,Grand Peco@NPC_FIREATTACK,attack,186,3,500,500,5000,no,target,always,0,,,,,,6,
 1369,Grand Peco@NPC_EMOTION,chase,197,1,200,0,5000,yes,self,always,0,19,0x81,,,,,
@@ -2563,8 +2563,8 @@
 1510,Hylozoist@MO_BODYRELOCATION,chase,264,1,2000,500,5000,no,target,always,0,,,,,,,
 1511,Amon Ra@NPC_BLOODDRAIN,idle,199,1,2000,0,5000,yes,randomtarget,always,0,,,,,,29,
 1511,Amon Ra@NPC_BLOODDRAIN,idle,199,1,2000,0,5000,yes,randomtarget,always,0,,,,,,29,
-1511,Amon Ra@NPC_BLOODDRAIN,attack,199,1,2000,0,5000,yes,randomtarget,always,0,,,,,,29,
-1511,Amon Ra@NPC_BLOODDRAIN,attack,199,1,2000,0,5000,yes,randomtarget,always,0,,,,,,29,
+1511,Amon Ra@NPC_BLOODDRAIN,attack,199,1,2000,0,5000,yes,target,always,0,,,,,,29,
+1511,Amon Ra@NPC_BLOODDRAIN,attack,199,1,2000,0,5000,yes,target,always,0,,,,,,29,
 1511,Amon Ra@NPC_SUMMONMONSTER,idle,209,5,5000,0,10000,no,self,longrangeattacked,0,1474,1477,1438,,,9,
 1511,Amon Ra@NPC_SUMMONMONSTER,idle,209,5,5000,0,10000,no,self,casttargeted,0,1474,1477,1438,,,9,
 1511,Amon Ra@NPC_SUMMONMONSTER,attack,209,5,5000,0,10000,no,self,longrangeattacked,0,1474,1477,1438,,,9,
@@ -2583,11 +2583,11 @@
 1511,Amon Ra@WZ_METEOR,idle,83,11,10000,0,0,yes,randomtarget,skillused,83,,,,,,9,
 1511,Amon Ra@WZ_METEOR,idle,83,11,10000,0,0,yes,randomtarget,longrangeattacked,,,,,,,9,
 1511,Amon Ra@WZ_METEOR,idle,83,11,10000,0,0,yes,randomtarget,casttargeted,,,,,,,9,
-1511,Amon Ra@WZ_METEOR,attack,83,11,5000,0,3000,yes,randomtarget,always,0,,,,,,9,
+1511,Amon Ra@WZ_METEOR,attack,83,11,5000,0,3000,yes,target,always,0,,,,,,9,
 1511,Amon Ra@WZ_FIREPILLAR,idle,80,10,10000,0,2000,yes,around2,always,0,,,,,,,
 1511,Amon Ra@WZ_FIREPILLAR,idle,80,10,10000,0,2000,yes,around2,always,0,,,,,,,
 1511,Amon Ra@WZ_FIREPILLAR,attack,80,10,5000,0,2000,yes,around2,always,0,,,,,,,
-1511,Amon Ra@NPC_DARKBLESSING,attack,203,1,5000,0,2000,no,randomtarget,always,0,,,,,,,
+1511,Amon Ra@NPC_DARKBLESSING,attack,203,1,5000,0,2000,no,target,always,0,,,,,,,
 1511,Amon Ra@WZ_METEOR,idle,83,11,10000,0,5000,yes,randomtarget,always,0,,,,,,9,
 1511,Amon Ra@AL_TELEPORT,idle,26,1,10000,0,0,yes,self,rudeattacked,,,,,,,,
 1511,Amon Ra@AL_TELEPORT,walk,26,1,5000,0,5000,yes,self,rudeattacked,,,,,,,,
@@ -3398,18 +3398,18 @@
 1663,Laurell Weinder@NPC_EMOTION,idle,197,1,10000,0,5000,yes,self,skillused,28,15,,,,,,
 1663,Laurell Weinder@NPC_EMOTION,attack,197,1,10000,0,5000,yes,self,skillused,28,15,,,,,,
 1663,Laurell Weinder@NPC_EMOTION,chase,197,1,10000,0,5000,yes,self,skillused,28,15,,,,,,
-1664,Photon Cannon@NPC_WINDATTACK,attack,187,5,1000,1000,10000,yes,randomtarget,always,0,,,,,,,
-1664,Photon Cannon@NPC_WINDATTACK,attack,187,3,2000,500,5000,yes,randomtarget,always,0,,,,,,,
-1664,Photon Cannon@NPC_WINDATTACK,attack,187,1,10000,0,0,yes,randomtarget,always,0,,,,,,,
-1665,Photon Cannon@NPC_FIREATTACK,attack,186,5,1000,1000,10000,yes,randomtarget,always,0,,,,,,,
-1665,Photon Cannon@NPC_FIREATTACK,attack,186,3,2000,500,5000,yes,randomtarget,always,0,,,,,,,
-1665,Photon Cannon@NPC_FIREATTACK,attack,186,1,10000,0,0,yes,randomtarget,always,0,,,,,,,
-1666,Photon Cannon@NPC_WATERATTACK,attack,184,5,1000,1000,10000,yes,randomtarget,always,0,,,,,,,
-1666,Photon Cannon@NPC_WATERATTACK,attack,184,3,2000,500,5000,yes,randomtarget,always,0,,,,,,,
-1666,Photon Cannon@NPC_WATERATTACK,attack,184,1,10000,0,0,yes,randomtarget,always,0,,,,,,,
-1667,Photon Cannon@NPC_GROUNDATTACK,attack,185,5,1000,1000,10000,yes,randomtarget,always,0,,,,,,,
-1667,Photon Cannon@NPC_GROUNDATTACK,attack,185,3,2000,500,5000,yes,randomtarget,always,0,,,,,,,
-1667,Photon Cannon@NPC_GROUNDATTACK,attack,185,1,10000,0,0,yes,randomtarget,always,0,,,,,,,
+1664,Photon Cannon@NPC_WINDATTACK,attack,187,5,1000,1000,10000,yes,target,always,0,,,,,,,
+1664,Photon Cannon@NPC_WINDATTACK,attack,187,3,2000,500,5000,yes,target,always,0,,,,,,,
+1664,Photon Cannon@NPC_WINDATTACK,attack,187,1,10000,0,0,yes,target,always,0,,,,,,,
+1665,Photon Cannon@NPC_FIREATTACK,attack,186,5,1000,1000,10000,yes,target,always,0,,,,,,,
+1665,Photon Cannon@NPC_FIREATTACK,attack,186,3,2000,500,5000,yes,target,always,0,,,,,,,
+1665,Photon Cannon@NPC_FIREATTACK,attack,186,1,10000,0,0,yes,target,always,0,,,,,,,
+1666,Photon Cannon@NPC_WATERATTACK,attack,184,5,1000,1000,10000,yes,target,always,0,,,,,,,
+1666,Photon Cannon@NPC_WATERATTACK,attack,184,3,2000,500,5000,yes,target,always,0,,,,,,,
+1666,Photon Cannon@NPC_WATERATTACK,attack,184,1,10000,0,0,yes,target,always,0,,,,,,,
+1667,Photon Cannon@NPC_GROUNDATTACK,attack,185,5,1000,1000,10000,yes,target,always,0,,,,,,,
+1667,Photon Cannon@NPC_GROUNDATTACK,attack,185,3,2000,500,5000,yes,target,always,0,,,,,,,
+1667,Photon Cannon@NPC_GROUNDATTACK,attack,185,1,10000,0,0,yes,target,always,0,,,,,,,
 1668,Archdam@NPC_PIERCINGATT,attack,158,5,1000,0,5000,yes,target,always,0,,,,,,,
 1668,Archdam@NPC_GUIDEDATTACK,attack,172,2,500,1000,20000,no,target,always,0,,,,,,29,
 1668,Archdam@KN_SPEARSTAB,attack,58,5,500,800,5000,no,target,always,0,,,,,,,
@@ -3446,9 +3446,9 @@
 1673,Dimik@NPC_COMBOATTACK,attack,171,4,500,700,5000,no,target,always,0,,,,,,,
 1673,Dimik@NPC_COMBOATTACK,chase,171,4,500,700,5000,no,target,always,0,,,,,,,
 1673,Dimik@NPC_FIREATTACK,attack,186,3,500,0,5000,yes,target,always,0,,,,,,,
-1674,Monemus@NPC_FIREATTACK,attack,186,10,500,1000,30000,yes,randomtarget,always,0,,,,,,,
-1674,Monemus@NPC_FIREATTACK,attack,186,3,1000,0,10000,yes,randomtarget,always,0,,,,,,,
-1674,Monemus@NPC_FIREATTACK,attack,186,1,10000,0,0,yes,randomtarget,always,0,,,,,,,
+1674,Monemus@NPC_FIREATTACK,attack,186,10,500,1000,30000,yes,target,always,0,,,,,,,
+1674,Monemus@NPC_FIREATTACK,attack,186,3,1000,0,10000,yes,target,always,0,,,,,,,
+1674,Monemus@NPC_FIREATTACK,attack,186,1,10000,0,0,yes,target,always,0,,,,,,,
 1675,Venatu@NPC_SILENCEATTACK,attack,178,3,500,700,5000,no,target,always,0,,,,,,,
 1675,Venatu@NPC_GUIDEDATTACK,attack,172,3,500,1000,20000,no,target,always,0,,,,,,6,
 1675,Venatu@NPC_STUNATTACK,attack,179,2,500,1500,5000,no,target,always,0,,,,,,11,
@@ -3524,11 +3524,11 @@
 1688,Lady Tany@AL_TELEPORT,idle,26,1,1000,0,30000,yes,self,always,0,,,,,,,
 1688,Lady Tany@AL_TELEPORT,attack,26,1,1000,0,30000,yes,self,always,0,,,,,,,
 1688,Lady Tany@NPC_EXPULSION,attack,674,1,1000,1000,10000,no,target,myhpltmaxrate,60,,,,,,,
-1688,Lady Tany@AC_CHARGEARROW,attack,148,1,2000,0,5000,yes,randomtarget,always,0,,,,,,6,
-1688,Lady Tany@NPC_COMBOATTACK,attack,171,1,1000,0,5000,no,randomtarget,always,0,,,,,,,
-1688,Lady Tany@NPC_CRITICALSLASH,attack,170,1,500,500,5000,no,randomtarget,always,0,,,,,,6,
-1688,Lady Tany@NPC_GUIDEDATTACK,attack,172,5,500,0,20000,no,randomtarget,always,0,,,,,,,
-1688,Lady Tany@NPC_STUNATTACK,attack,179,5,500,0,5000,no,randomtarget,always,0,,,,,,,
+1688,Lady Tany@AC_CHARGEARROW,attack,148,1,2000,0,5000,yes,target,always,0,,,,,,6,
+1688,Lady Tany@NPC_COMBOATTACK,attack,171,1,1000,0,5000,no,target,always,0,,,,,,,
+1688,Lady Tany@NPC_CRITICALSLASH,attack,170,1,500,500,5000,no,target,always,0,,,,,,6,
+1688,Lady Tany@NPC_GUIDEDATTACK,attack,172,5,500,0,20000,no,target,always,0,,,,,,,
+1688,Lady Tany@NPC_STUNATTACK,attack,179,5,500,0,5000,no,target,always,0,,,,,,,
 1688,Lady Tany@NPC_DEFENDER,attack,205,1,500,0,30000,yes,self,longrangeattacked,,,,,,,29,
 1688,Lady Tany@NPC_POWERUP,attack,349,5,10000,0,30000,yes,self,myhpltmaxrate,30,,,,,,6,
 1688,Lady Tany@NPC_SUMMONSLAVE,attack,196,5,10000,2000,5000,no,self,slavele,2,1691,,,,,,
@@ -4055,7 +4055,7 @@
 1764,Skeggiold@NPC_HOLYATTACK,chase,189,2,500,500,5000,no,target,always,0,,,,,,18,
 1764,Skeggiold@AL_TELEPORT,idle,26,1,10000,0,0,yes,self,rudeattacked,,,,,,,,
 1764,Skeggiold@AL_TELEPORT,walk,26,1,5000,0,5000,yes,self,rudeattacked,,,,,,,,
-1765,Valkyrie@AL_HEAL,idle,28,10,10000,500,5000,yes,friend,friendhpltmaxrate,60,,,,,,3,
+1765,Valkyrie@AL_HEAL,idle,28,11,10000,500,5000,yes,friend,friendhpltmaxrate,60,,,,,,3,
 1765,Valkyrie@AL_HEAL,attack,28,11,10000,500,10000,yes,friend,friendhpltmaxrate,60,,,,,,3,
 1765,Valkyrie@AL_TELEPORT,idle,26,1,10000,0,0,yes,self,rudeattacked,,,,,,,,
 1765,Valkyrie@AS_SONICBLOW,attack,136,10,2000,0,5000,yes,target,always,0,,,,,,,
@@ -4220,18 +4220,18 @@
 1779,Ktullanux@NPC_AGIUP,attack,350,5,2000,0,100000,yes,self,always,0,,,,,,,
 1779,Ktullanux@NPC_AGIUP,attack,350,5,10000,0,25000,yes,self,myhpltmaxrate,30,,,,,,,
 1779,Ktullanux@AL_HEAL,idle,28,11,10000,0,10000,yes,self,myhpltmaxrate,50,,,,,,,
-1780,Muscipular@NPC_BLOODDRAIN,attack,199,1,1000,0,5000,yes,randomtarget,always,0,,,,,,,
-1780,Muscipular@KN_SPEARSTAB,attack,58,5,500,800,5000,no,randomtarget,always,0,,,,,,6,
-1780,Muscipular@NPC_GROUNDATTACK,attack,185,1,1000,0,5000,yes,randomtarget,always,0,,,,,,,
+1780,Muscipular@NPC_BLOODDRAIN,attack,199,1,1000,0,5000,yes,target,always,0,,,,,,,
+1780,Muscipular@KN_SPEARSTAB,attack,58,5,500,800,5000,no,target,always,0,,,,,,6,
+1780,Muscipular@NPC_GROUNDATTACK,attack,185,1,1000,0,5000,yes,target,always,0,,,,,,,
 1780,Muscipular@AL_HEAL,attack,28,9,10000,500,5000,yes,friend,friendhpltmaxrate,50,,,,,,,
 1780,Muscipular@AL_HEAL,idle,28,9,10000,500,5000,yes,friend,friendhpltmaxrate,50,,,,,,,
-1780,Muscipular@NPC_PETRIFYATTACK,attack,180,5,500,0,5000,yes,randomtarget,always,0,,,,,,,
-1781,Drosera@NPC_BLOODDRAIN,attack,199,1,1000,0,5000,yes,randomtarget,always,0,,,,,,,
-1781,Drosera@KN_PIERCE,attack,56,5,500,700,5000,no,randomtarget,always,0,,,,,,,
-1781,Drosera@NPC_GROUNDATTACK,attack,185,1,1000,0,5000,yes,randomtarget,always,0,,,,,,,
+1780,Muscipular@NPC_PETRIFYATTACK,attack,180,5,500,0,5000,yes,target,always,0,,,,,,,
+1781,Drosera@NPC_BLOODDRAIN,attack,199,1,1000,0,5000,yes,target,always,0,,,,,,,
+1781,Drosera@KN_PIERCE,attack,56,5,500,700,5000,no,target,always,0,,,,,,,
+1781,Drosera@NPC_GROUNDATTACK,attack,185,1,1000,0,5000,yes,target,always,0,,,,,,,
 1781,Drosera@RG_CLOSECONFINE,attack,1005,1,1000,0,30000,yes,target,always,0,,,,,,,
-1781,Drosera@NPC_GUIDEDATTACK,attack,172,3,500,1000,20000,no,randomtarget,always,0,,,,,,6,
-1781,Drosera@NPC_SLEEPATTACK,attack,182,5,500,0,5000,yes,randomtarget,always,0,,,,,,,
+1781,Drosera@NPC_GUIDEDATTACK,attack,172,3,500,1000,20000,no,target,always,0,,,,,,6,
+1781,Drosera@NPC_SLEEPATTACK,attack,182,5,500,0,5000,yes,target,always,0,,,,,,,
 1782,Roween@NPC_WINDATTACK,attack,187,2,500,500,5000,no,target,always,0,,,,,,,
 1782,Roween@NPC_COMBOATTACK,attack,171,4,500,500,5000,no,target,always,0,,,,,,6,
 1782,Roween@NPC_EMOTION,idle,197,1,2000,0,5000,yes,self,always,0,22,0x308D,,,,,
@@ -5594,7 +5594,7 @@
 2017,Rata@NPC_ARMORBRAKE,attack,344,3,2000,0,5000,yes,target,myhpltmaxrate,60,,,,,,,
 2017,Rata@WZ_EARTHSPIKE,attack,90,5,3000,1000,5000,no,target,always,0,,,,,,6,
 2017,Rata@NPC_PIERCINGATT,attack,158,3,500,0,5000,yes,target,always,0,,,,,,,
-2017,Rata@SM_MAGNUM,attack,7,10,500,500,5000,no,self,always,0,,,,,,,
+2017,Rata@SM_MAGNUM,attack,7,25,500,500,5000,no,self,always,0,,,,,,,
 2017,Rata@NPC_GROUNDATTACK,attack,185,2,500,500,5000,no,target,always,0,,,,,,,
 2017,Rata@NPC_CURSEATTACK,attack,181,3,500,800,5000,no,target,always,0,,,,,,,
 2017,Rata@NPC_POISONATTACK,attack,188,1,2000,0,5000,yes,target,always,0,,,,,,,
@@ -5694,6 +5694,14 @@
 2027,Dark Shadow@NPC_FIREATTACK,attack,186,3,500,500,5000,no,target,always,0,,,,,,,
 2027,Dark Shadow@NPC_DARKNESSBREATH,attack,658,1,500,1000,5000,no,target,always,0,,,,,,,
 
+//****
+// NC Mechanic Summons
+2042,Silver Sniper@NPC_REVENGE,idle,333,1,10000,0,0,yes,self,masterattacked,0,,,,,,,
+2043,Magic Decoy Fire@MG_FIREBOLT,idle,19,10,10000,800,3500,no,randomtarget,always,0,,,,,,,
+2044,Magic Decoy Water@MG_COLDBOLT,idle,14,10,10000,800,3500,no,randomtarget,always,0,,,,,,,
+2045,Magic Decoy Earth@WZ_EARTHSPIKE,idle,90,10,10000,800,3500,no,randomtarget,always,0,,,,,,,
+2046,Magic Decoy Wind@MG_LIGHTNINGBOLT,idle,20,10,10000,800,3500,no,randomtarget,always,0,,,,,,,
+
 // Brasilis
 2068,Boitata@AL_TELEPORT,idle,26,1,10000,0,0,yes,self,rudeattacked,0,,,,,,,
 2068,Boitata@MG_FIREBALL,idle,17,5,10000,0,5000,yes,randomtarget,always,0,,,,,,,
@@ -5771,28 +5779,3 @@
 2082,Piranha@MG_COLDBOLT,chase,14,3,500,1000,5000,yes,target,always,0,,,,,,,
 2082,Piranha@WZ_WATERBALL,attack,86,3,500,1000,5000,yes,target,always,0,,,,,,6,
 2082,Piranha@NPC_BLOODDRAIN,attack,199,1,500,0,5000,yes,target,always,0,,,,,,,
-//****
-// NC Mechanic Summons
-2042,Silver Sniper@AL_HEAL,chase,28,10,10000,0,1000,no,self,myhpltmaxrate,99,,,,,,,
-2042,Silver Sniper@AL_HEAL,idle,28,10,10000,0,1000,no,self,myhpltmaxrate,99,,,,,,,
-2042,Silver Sniper@AL_HEAL,attack,28,10,10000,0,1000,no,self,myhpltmaxrate,99,,,,,,,
-2043,Magic Decoy Fire@MG_FIREBOLT,attack,19,10,10000,800,3500,no,target,always,0,,,,,,,
-2043,Magic Decoy Fire@MG_FIREBOLT,chase,19,10,10000,800,3500,no,target,always,0,,,,,,,
-2043,Magic Decoy Fire@AL_HEAL,chase,28,10,10000,0,1000,no,self,myhpltmaxrate,99,,,,,,,
-2043,Magic Decoy Fire@AL_HEAL,idle,28,10,10000,0,1000,no,self,myhpltmaxrate,99,,,,,,,
-2043,Magic Decoy Fire@AL_HEAL,attack,28,10,10000,0,1000,no,self,myhpltmaxrate,99,,,,,,,
-2044,Magic Decoy Water@MG_COLDBOLT,attack,14,10,10000,800,3500,no,target,always,0,,,,,,,
-2044,Magic Decoy Water@MG_COLDBOLT,chase,14,10,10000,800,3500,no,target,always,0,,,,,,,
-2044,Magic Decoy Water@AL_HEAL,chase,28,10,10000,0,1000,no,self,myhpltmaxrate,99,,,,,,,
-2044,Magic Decoy Water@AL_HEAL,idle,28,10,10000,0,1000,no,self,myhpltmaxrate,99,,,,,,,
-2044,Magic Decoy Water@AL_HEAL,attack,28,10,10000,0,1000,no,self,myhpltmaxrate,99,,,,,,,
-2045,Magic Decoy Earth@WZ_EARTHSPIKE,attack,90,10,10000,800,3500,no,target,always,0,,,,,,,
-2045,Magic Decoy Earth@WZ_EARTHSPIKE,chase,90,10,10000,800,3500,no,target,always,0,,,,,,,
-2045,Magic Decoy Earth@AL_HEAL,chase,28,10,10000,0,1000,no,self,myhpltmaxrate,99,,,,,,,
-2045,Magic Decoy Earth@AL_HEAL,idle,28,10,10000,0,1000,no,self,myhpltmaxrate,99,,,,,,,
-2045,Magic Decoy Earth@AL_HEAL,attack,28,10,10000,0,1000,no,self,myhpltmaxrate,99,,,,,,,
-2046,Magic Decoy Wind@MG_LIGHTNINGBOLT,attack,20,10,10000,800,3500,no,target,always,0,,,,,,,
-2046,Magic Decoy Wind@MG_LIGHTNINGBOLT,chase,20,10,10000,800,3500,no,target,always,0,,,,,,,
-2046,Magic Decoy Wind@AL_HEAL,chase,28,10,10000,0,1000,no,self,myhpltmaxrate,99,,,,,,,
-2046,Magic Decoy Wind@AL_HEAL,idle,28,10,10000,0,1000,no,self,myhpltmaxrate,99,,,,,,,
-2046,Magic Decoy Wind@AL_HEAL,attack,28,10,10000,0,1000,no,self,myhpltmaxrate,99,,,,,,,

+ 7 - 9
db/pre-re/skill_db.yml

@@ -4153,7 +4153,6 @@ Body:
         Time: 120000
       - Level: 5
         Time: 60000
-    Duration2: 3000
     Requires:
       SpCost: 10
       ItemCost:
@@ -6888,12 +6887,9 @@ Body:
     MaxLevel: 10
     Type: Magic
     TargetType: Self
-    DamageFlags:
-      IgnoreAtkCard: true
-      IgnoreFlee: true
     Flags:
       TargetSelf: true
-    Range: 5
+    Range: 9
     Hit: Single
     HitCount: 1
     Element: Holy
@@ -7363,7 +7359,7 @@ Body:
         Time: 1500
       - Level: 5
         Time: 1000
-    Duration2: 300000
+    Duration1: 300000
     Requires:
       SpCost: 1
       Weapon:
@@ -8542,6 +8538,7 @@ Body:
     HitCount: 1
     SplashArea: -1
     AfterCastActDelay: 4000
+    Duration1: 15000
     Duration2: 12000
     Requires:
       SpCost:
@@ -8833,6 +8830,7 @@ Body:
     HitCount: 1
     SplashArea: -1
     AfterCastActDelay: 4000
+    Duration1: 5000
     Duration2: 5000
     Requires:
       SpCost:
@@ -10805,7 +10803,7 @@ Body:
       IgnoreDefense: true
     Flags:
       TargetTrap: true
-    Range: 5
+    Range: 4
     Hit: Multi_Hit
     HitCount: 5
     Element: Weapon
@@ -11066,7 +11064,7 @@ Body:
     TargetType: Attack
     DamageFlags:
       NoDamage: true
-    Range: 7
+    Range: 9
     Hit: Single
     HitCount: 1
     ActiveInstance: 3
@@ -32756,7 +32754,7 @@ Body:
       IgnoreDefense: true
     Flags:
       TargetTrap: true
-    Range: 5
+    Range: 4
     Hit: Multi_Hit
     HitCount: 5
     Element: Weapon

Rozdielové dáta súboru neboli zobrazené, pretože súbor je príliš veľký
+ 221 - 195
db/re/item_combos.yml


Rozdielové dáta súboru neboli zobrazené, pretože súbor je príliš veľký
+ 434 - 79
db/re/item_db_equip.yml


Rozdielové dáta súboru neboli zobrazené, pretože súbor je príliš veľký
+ 1436 - 25
db/re/item_db_etc.yml


Rozdielové dáta súboru neboli zobrazené, pretože súbor je príliš veľký
+ 149 - 109
db/re/item_db_usable.yml


+ 731 - 1
db/re/item_enchant.yml

@@ -1,5 +1,5 @@
 # This file is a part of rAthena.
-#   Copyright(C) 2022 rAthena Development Team
+#   Copyright(C) 2024 rAthena Development Team
 #   https://rathena.org - https://github.com/rathena
 #
 # This program is free software: you can redistribute it and/or modify
@@ -31469,6 +31469,698 @@ Body:
 #                Chance: 500
 #              - Item: Signet_Of_Wis2
 #                Chance: 500
+  - Id: 143
+    TargetItems:
+      Gaebolg_Armor: true
+      Gaebolg_Robe: true
+    Order:
+      - Slot: 3
+      - Slot: 2
+      - Slot: 1
+    Slots:
+      - Slot: 3
+        PerfectEnchants:
+          - Item: Ep21_4_Def
+            Price: 1000000
+            Materials:
+              - Material: Ep21_Armor_E_Stone1
+                Amount: 50
+              - Material: EP19_S_F_1_Extract
+                Amount: 20
+              - Material: EP19_S_F_2_Extract
+                Amount: 20
+              - Material: EP19_Gla_Extract
+                Amount: 20
+              - Material: EP19_S_F_3_Extract
+                Amount: 10
+              - Material: EP20_D_P_Extract
+                Amount: 10
+          - Item: Ep21_4_Mdef
+            Price: 1000000
+            Materials:
+              - Material: Ep21_Armor_E_Stone1
+                Amount: 50
+              - Material: EP19_S_F_1_Extract
+                Amount: 20
+              - Material: EP19_S_F_2_Extract
+                Amount: 20
+              - Material: EP19_Gla_Extract
+                Amount: 20
+              - Material: EP19_S_F_3_Extract
+                Amount: 10
+              - Material: EP20_D_P_Extract
+                Amount: 10
+          - Item: Ep21_4_Warrior
+            Price: 1000000
+            Materials:
+              - Material: Ep21_Armor_E_Stone1
+                Amount: 50
+              - Material: EP19_S_F_1_Extract
+                Amount: 20
+              - Material: EP19_S_F_2_Extract
+                Amount: 20
+              - Material: EP19_Gla_Extract
+                Amount: 20
+              - Material: EP19_S_F_3_Extract
+                Amount: 10
+              - Material: EP20_D_P_Extract
+                Amount: 10
+          - Item: Ep21_4_Archer
+            Price: 1000000
+            Materials:
+              - Material: Ep21_Armor_E_Stone1
+                Amount: 50
+              - Material: EP19_S_F_1_Extract
+                Amount: 20
+              - Material: EP19_S_F_2_Extract
+                Amount: 20
+              - Material: EP19_Gla_Extract
+                Amount: 20
+              - Material: EP19_S_F_3_Extract
+                Amount: 10
+              - Material: EP20_D_P_Extract
+                Amount: 10
+          - Item: Ep21_4_Assassin
+            Price: 1000000
+            Materials:
+              - Material: Ep21_Armor_E_Stone1
+                Amount: 50
+              - Material: EP19_S_F_1_Extract
+                Amount: 20
+              - Material: EP19_S_F_2_Extract
+                Amount: 20
+              - Material: EP19_Gla_Extract
+                Amount: 20
+              - Material: EP19_S_F_3_Extract
+                Amount: 10
+              - Material: EP20_D_P_Extract
+                Amount: 10
+          - Item: Ep21_4_Magician
+            Price: 1000000
+            Materials:
+              - Material: Ep21_Armor_E_Stone1
+                Amount: 50
+              - Material: EP19_S_F_1_Extract
+                Amount: 20
+              - Material: EP19_S_F_2_Extract
+                Amount: 20
+              - Material: EP19_Gla_Extract
+                Amount: 20
+              - Material: EP19_S_F_3_Extract
+                Amount: 10
+              - Material: EP20_D_P_Extract
+                Amount: 10
+      - Slot: 2
+        PerfectEnchants:
+          - Item: Ep21_3_Berserker
+            Price: 2000000
+            Materials:
+              - Material: Ep21_Armor_E_Stone2
+                Amount: 25
+              - Material: EP19_S_F_1_Extract
+                Amount: 30
+              - Material: EP19_S_F_2_Extract
+                Amount: 30
+              - Material: EP19_Gla_Extract
+                Amount: 30
+              - Material: EP19_S_F_3_Extract
+                Amount: 15
+              - Material: EP20_D_P_Extract
+                Amount: 15
+          - Item: Ep21_3_Marksman
+            Price: 2000000
+            Materials:
+              - Material: Ep21_Armor_E_Stone2
+                Amount: 25
+              - Material: EP19_S_F_1_Extract
+                Amount: 30
+              - Material: EP19_S_F_2_Extract
+                Amount: 30
+              - Material: EP19_Gla_Extract
+                Amount: 30
+              - Material: EP19_S_F_3_Extract
+                Amount: 15
+              - Material: EP20_D_P_Extract
+                Amount: 15
+          - Item: Ep21_3_Executioner
+            Price: 2000000
+            Materials:
+              - Material: Ep21_Armor_E_Stone2
+                Amount: 25
+              - Material: EP19_S_F_1_Extract
+                Amount: 30
+              - Material: EP19_S_F_2_Extract
+                Amount: 30
+              - Material: EP19_Gla_Extract
+                Amount: 30
+              - Material: EP19_S_F_3_Extract
+                Amount: 15
+              - Material: EP20_D_P_Extract
+                Amount: 15
+          - Item: Ep21_3_Wizard
+            Price: 2000000
+            Materials:
+              - Material: Ep21_Armor_E_Stone2
+                Amount: 25
+              - Material: EP19_S_F_1_Extract
+                Amount: 30
+              - Material: EP19_S_F_2_Extract
+                Amount: 30
+              - Material: EP19_Gla_Extract
+                Amount: 30
+              - Material: EP19_S_F_3_Extract
+                Amount: 15
+              - Material: EP20_D_P_Extract
+                Amount: 15
+      - Slot: 1
+        PerfectEnchants:
+          - Item: Ep21_2_P_Force
+            Price: 3000000
+            Materials:
+              - Material: Ep21_Armor_E_Stone3
+                Amount: 15
+              - Material: EP19_S_F_1_Extract
+                Amount: 40
+              - Material: EP19_S_F_2_Extract
+                Amount: 40
+              - Material: EP19_Gla_Extract
+                Amount: 40
+              - Material: EP19_S_F_3_Extract
+                Amount: 20
+              - Material: EP20_D_P_Extract
+                Amount: 20
+          - Item: Ep21_2_M_Force
+            Price: 3000000
+            Materials:
+              - Material: Ep21_Armor_E_Stone3
+                Amount: 15
+              - Material: EP19_S_F_1_Extract
+                Amount: 40
+              - Material: EP19_S_F_2_Extract
+                Amount: 40
+              - Material: EP19_Gla_Extract
+                Amount: 40
+              - Material: EP19_S_F_3_Extract
+                Amount: 20
+              - Material: EP20_D_P_Extract
+                Amount: 20
+          - Item: Ep21_2_G_Cooldown
+            Price: 3000000
+            Materials:
+              - Material: Ep21_Armor_E_Stone3
+                Amount: 15
+              - Material: EP19_S_F_1_Extract
+                Amount: 40
+              - Material: EP19_S_F_2_Extract
+                Amount: 40
+              - Material: EP19_Gla_Extract
+                Amount: 40
+              - Material: EP19_S_F_3_Extract
+                Amount: 20
+              - Material: EP20_D_P_Extract
+                Amount: 20
+  - Id: 144
+    TargetItems:
+      Gaebolg_Manteau: true
+      Gaebolg_Muffler: true
+    Order:
+      - Slot: 3
+      - Slot: 2
+      - Slot: 1
+    Slots:
+      - Slot: 3
+        PerfectEnchants:
+          - Item: Ep21_4_Def
+            Price: 1000000
+            Materials:
+              - Material: Ep21_Robe_E_Stone1
+                Amount: 50
+              - Material: EP19_S_F_1_Extract
+                Amount: 20
+              - Material: EP19_S_F_2_Extract
+                Amount: 20
+              - Material: EP19_Gla_Extract
+                Amount: 20
+              - Material: EP19_S_F_3_Extract
+                Amount: 10
+              - Material: EP20_D_P_Extract
+                Amount: 10
+          - Item: Ep21_4_Mdef
+            Price: 1000000
+            Materials:
+              - Material: Ep21_Robe_E_Stone1
+                Amount: 50
+              - Material: EP19_S_F_1_Extract
+                Amount: 20
+              - Material: EP19_S_F_2_Extract
+                Amount: 20
+              - Material: EP19_Gla_Extract
+                Amount: 20
+              - Material: EP19_S_F_3_Extract
+                Amount: 10
+              - Material: EP20_D_P_Extract
+                Amount: 10
+      - Slot: 2
+        PerfectEnchants:
+          - Item: Ep21_3_Speed
+            Price: 2000000
+            Materials:
+              - Material: Ep21_Robe_E_Stone2
+                Amount: 25
+              - Material: EP19_S_F_1_Extract
+                Amount: 30
+              - Material: EP19_S_F_2_Extract
+                Amount: 30
+              - Material: EP19_Gla_Extract
+                Amount: 30
+              - Material: EP19_S_F_3_Extract
+                Amount: 15
+              - Material: EP20_D_P_Extract
+                Amount: 15
+          - Item: Ep21_3_Caster
+            Price: 2000000
+            Materials:
+              - Material: Ep21_Robe_E_Stone2
+                Amount: 25
+              - Material: EP19_S_F_1_Extract
+                Amount: 30
+              - Material: EP19_S_F_2_Extract
+                Amount: 30
+              - Material: EP19_Gla_Extract
+                Amount: 30
+              - Material: EP19_S_F_3_Extract
+                Amount: 15
+              - Material: EP20_D_P_Extract
+                Amount: 15
+      - Slot: 1
+        PerfectEnchants:
+          - Item: Ep21_2_Melee
+            Price: 3000000
+            Materials:
+              - Material: Ep21_Robe_E_Stone3
+                Amount: 15
+              - Material: EP19_S_F_1_Extract
+                Amount: 40
+              - Material: EP19_S_F_2_Extract
+                Amount: 40
+              - Material: EP19_Gla_Extract
+                Amount: 40
+              - Material: EP19_S_F_3_Extract
+                Amount: 20
+              - Material: EP20_D_P_Extract
+                Amount: 20
+          - Item: Ep21_2_Range
+            Price: 3000000
+            Materials:
+              - Material: Ep21_Robe_E_Stone3
+                Amount: 15
+              - Material: EP19_S_F_1_Extract
+                Amount: 40
+              - Material: EP19_S_F_2_Extract
+                Amount: 40
+              - Material: EP19_Gla_Extract
+                Amount: 40
+              - Material: EP19_S_F_3_Extract
+                Amount: 20
+              - Material: EP20_D_P_Extract
+                Amount: 20
+          - Item: Ep21_2_Critical
+            Price: 3000000
+            Materials:
+              - Material: Ep21_Robe_E_Stone3
+                Amount: 15
+              - Material: EP19_S_F_1_Extract
+                Amount: 40
+              - Material: EP19_S_F_2_Extract
+                Amount: 40
+              - Material: EP19_Gla_Extract
+                Amount: 40
+              - Material: EP19_S_F_3_Extract
+                Amount: 20
+              - Material: EP20_D_P_Extract
+                Amount: 20
+          - Item: Ep21_2_Spell
+            Price: 3000000
+            Materials:
+              - Material: Ep21_Robe_E_Stone3
+                Amount: 15
+              - Material: EP19_S_F_1_Extract
+                Amount: 40
+              - Material: EP19_S_F_2_Extract
+                Amount: 40
+              - Material: EP19_Gla_Extract
+                Amount: 40
+              - Material: EP19_S_F_3_Extract
+                Amount: 20
+              - Material: EP20_D_P_Extract
+                Amount: 20
+          - Item: Ep21_2_Ab_All
+            Price: 3000000
+            Materials:
+              - Material: Ep21_Robe_E_Stone3
+                Amount: 15
+              - Material: EP19_S_F_1_Extract
+                Amount: 40
+              - Material: EP19_S_F_2_Extract
+                Amount: 40
+              - Material: EP19_Gla_Extract
+                Amount: 40
+              - Material: EP19_S_F_3_Extract
+                Amount: 20
+              - Material: EP20_D_P_Extract
+                Amount: 20
+  - Id: 145
+    TargetItems:
+      Gaebolg_Boots: true
+      Gaebolg_Shoes: true
+    Order:
+      - Slot: 3
+      - Slot: 2
+      - Slot: 1
+    Slots:
+      - Slot: 3
+        PerfectEnchants:
+          - Item: Ep21_4_Hp
+            Price: 1000000
+            Materials:
+              - Material: Ep21_Shoes_E_Stone1
+                Amount: 50
+              - Material: EP19_S_F_1_Extract
+                Amount: 20
+              - Material: EP19_S_F_2_Extract
+                Amount: 20
+              - Material: EP19_Gla_Extract
+                Amount: 20
+              - Material: EP19_S_F_3_Extract
+                Amount: 10
+              - Material: EP20_D_P_Extract
+                Amount: 10
+          - Item: Ep21_4_Sp
+            Price: 1000000
+            Materials:
+              - Material: Ep21_Shoes_E_Stone1
+                Amount: 50
+              - Material: EP19_S_F_1_Extract
+                Amount: 20
+              - Material: EP19_S_F_2_Extract
+                Amount: 20
+              - Material: EP19_Gla_Extract
+                Amount: 20
+              - Material: EP19_S_F_3_Extract
+                Amount: 10
+              - Material: EP20_D_P_Extract
+                Amount: 10
+          - Item: Ep21_4_Phy_Force
+            Price: 1000000
+            Materials:
+              - Material: Ep21_Shoes_E_Stone1
+                Amount: 50
+              - Material: EP19_S_F_1_Extract
+                Amount: 20
+              - Material: EP19_S_F_2_Extract
+                Amount: 20
+              - Material: EP19_Gla_Extract
+                Amount: 20
+              - Material: EP19_S_F_3_Extract
+                Amount: 10
+              - Material: EP20_D_P_Extract
+                Amount: 10
+          - Item: Ep21_4_Mag_Force
+            Price: 1000000
+            Materials:
+              - Material: Ep21_Shoes_E_Stone1
+                Amount: 50
+              - Material: EP19_S_F_1_Extract
+                Amount: 20
+              - Material: EP19_S_F_2_Extract
+                Amount: 20
+              - Material: EP19_Gla_Extract
+                Amount: 20
+              - Material: EP19_S_F_3_Extract
+                Amount: 10
+              - Material: EP20_D_P_Extract
+                Amount: 10
+      - Slot: 2
+        PerfectEnchants:
+          - Item: Ep21_3_Size_Atk
+            Price: 2000000
+            Materials:
+              - Material: Ep21_Shoes_E_Stone2
+                Amount: 25
+              - Material: EP19_S_F_1_Extract
+                Amount: 30
+              - Material: EP19_S_F_2_Extract
+                Amount: 30
+              - Material: EP19_Gla_Extract
+                Amount: 30
+              - Material: EP19_S_F_3_Extract
+                Amount: 15
+              - Material: EP20_D_P_Extract
+                Amount: 15
+          - Item: Ep21_3_Size_Matk
+            Price: 2000000
+            Materials:
+              - Material: Ep21_Shoes_E_Stone2
+                Amount: 25
+              - Material: EP19_S_F_1_Extract
+                Amount: 30
+              - Material: EP19_S_F_2_Extract
+                Amount: 30
+              - Material: EP19_Gla_Extract
+                Amount: 30
+              - Material: EP19_S_F_3_Extract
+                Amount: 15
+              - Material: EP20_D_P_Extract
+                Amount: 15
+      - Slot: 1
+        PerfectEnchants:
+          - Item: Ep21_2_Ov_Power
+            Price: 3000000
+            Materials:
+              - Material: Ep21_Shoes_E_Stone3
+                Amount: 15
+              - Material: EP19_S_F_1_Extract
+                Amount: 40
+              - Material: EP19_S_F_2_Extract
+                Amount: 40
+              - Material: EP19_Gla_Extract
+                Amount: 40
+              - Material: EP19_S_F_3_Extract
+                Amount: 20
+              - Material: EP20_D_P_Extract
+                Amount: 20
+          - Item: Ep21_2_Fi_Shot
+            Price: 3000000
+            Materials:
+              - Material: Ep21_Shoes_E_Stone3
+                Amount: 15
+              - Material: EP19_S_F_1_Extract
+                Amount: 40
+              - Material: EP19_S_F_2_Extract
+                Amount: 40
+              - Material: EP19_Gla_Extract
+                Amount: 40
+              - Material: EP19_S_F_3_Extract
+                Amount: 20
+              - Material: EP20_D_P_Extract
+                Amount: 20
+          - Item: Ep21_2_Luk_Strike
+            Price: 3000000
+            Materials:
+              - Material: Ep21_Shoes_E_Stone3
+                Amount: 15
+              - Material: EP19_S_F_1_Extract
+                Amount: 40
+              - Material: EP19_S_F_2_Extract
+                Amount: 40
+              - Material: EP19_Gla_Extract
+                Amount: 40
+              - Material: EP19_S_F_3_Extract
+                Amount: 20
+              - Material: EP20_D_P_Extract
+                Amount: 20
+          - Item: Ep21_2_Spl_Buster
+            Price: 3000000
+            Materials:
+              - Material: Ep21_Shoes_E_Stone3
+                Amount: 15
+              - Material: EP19_S_F_1_Extract
+                Amount: 40
+              - Material: EP19_S_F_2_Extract
+                Amount: 40
+              - Material: EP19_Gla_Extract
+                Amount: 40
+              - Material: EP19_S_F_3_Extract
+                Amount: 20
+              - Material: EP20_D_P_Extract
+                Amount: 20
+  - Id: 146
+    TargetItems:
+      Gaebolg_Ring: true
+      Gaebolg_Earring: true
+      Gaebolg_Glove: true
+      Gaebolg_Necklace: true
+    Order:
+      - Slot: 3
+      - Slot: 2
+      - Slot: 1
+    Slots:
+      - Slot: 3
+        PerfectEnchants:
+          - Item: Ep21_4_F_Spirit
+            Price: 1500000
+            Materials:
+              - Material: Ep21_Acc_E_Stone1
+                Amount: 70
+              - Material: EP19_S_F_1_Extract
+                Amount: 35
+              - Material: EP19_S_F_2_Extract
+                Amount: 35
+              - Material: EP19_Gla_Extract
+                Amount: 35
+              - Material: EP19_S_F_3_Extract
+                Amount: 15
+              - Material: EP20_D_P_Extract
+                Amount: 15
+          - Item: Ep21_4_E_Archer
+            Price: 1500000
+            Materials:
+              - Material: Ep21_Acc_E_Stone1
+                Amount: 70
+              - Material: EP19_S_F_1_Extract
+                Amount: 35
+              - Material: EP19_S_F_2_Extract
+                Amount: 35
+              - Material: EP19_Gla_Extract
+                Amount: 35
+              - Material: EP19_S_F_3_Extract
+                Amount: 15
+              - Material: EP20_D_P_Extract
+                Amount: 15
+          - Item: Ep21_4_Fatal
+            Price: 1500000
+            Materials:
+              - Material: Ep21_Acc_E_Stone1
+                Amount: 70
+              - Material: EP19_S_F_1_Extract
+                Amount: 35
+              - Material: EP19_S_F_2_Extract
+                Amount: 35
+              - Material: EP19_Gla_Extract
+                Amount: 35
+              - Material: EP19_S_F_3_Extract
+                Amount: 15
+              - Material: EP20_D_P_Extract
+                Amount: 15
+          - Item: Ep21_4_Sp_Power
+            Price: 1500000
+            Materials:
+              - Material: Ep21_Acc_E_Stone1
+                Amount: 70
+              - Material: EP19_S_F_1_Extract
+                Amount: 35
+              - Material: EP19_S_F_2_Extract
+                Amount: 35
+              - Material: EP19_Gla_Extract
+                Amount: 35
+              - Material: EP19_S_F_3_Extract
+                Amount: 15
+              - Material: EP20_D_P_Extract
+                Amount: 15
+      - Slot: 2
+        PerfectEnchants:
+          - Item: Ep21_3_Tenacity
+            Price: 3000000
+            Materials:
+              - Material: Ep21_Acc_E_Stone2
+                Amount: 35
+              - Material: EP19_S_F_1_Extract
+                Amount: 45
+              - Material: EP19_S_F_2_Extract
+                Amount: 45
+              - Material: EP19_Gla_Extract
+                Amount: 45
+              - Material: EP19_S_F_3_Extract
+                Amount: 25
+              - Material: EP20_D_P_Extract
+                Amount: 25
+          - Item: Ep21_3_M_Archer
+            Price: 3000000
+            Materials:
+              - Material: Ep21_Acc_E_Stone2
+                Amount: 35
+              - Material: EP19_S_F_1_Extract
+                Amount: 45
+              - Material: EP19_S_F_2_Extract
+                Amount: 45
+              - Material: EP19_Gla_Extract
+                Amount: 45
+              - Material: EP19_S_F_3_Extract
+                Amount: 25
+              - Material: EP20_D_P_Extract
+                Amount: 25
+          - Item: Ep21_3_Acute
+            Price: 3000000
+            Materials:
+              - Material: Ep21_Acc_E_Stone2
+                Amount: 35
+              - Material: EP19_S_F_1_Extract
+                Amount: 45
+              - Material: EP19_S_F_2_Extract
+                Amount: 45
+              - Material: EP19_Gla_Extract
+                Amount: 45
+              - Material: EP19_S_F_3_Extract
+                Amount: 25
+              - Material: EP20_D_P_Extract
+                Amount: 25
+          - Item: Ep21_3_M_Eessence
+            Price: 3000000
+            Materials:
+              - Material: Ep21_Acc_E_Stone2
+                Amount: 35
+              - Material: EP19_S_F_1_Extract
+                Amount: 45
+              - Material: EP19_S_F_2_Extract
+                Amount: 45
+              - Material: EP19_Gla_Extract
+                Amount: 45
+              - Material: EP19_S_F_3_Extract
+                Amount: 25
+              - Material: EP20_D_P_Extract
+                Amount: 25
+      - Slot: 1
+        PerfectEnchants:
+          - Item: Ep21_2_Phy_Power
+            Price: 4500000
+            Materials:
+              - Material: Ep21_Acc_E_Stone3
+                Amount: 20
+              - Material: EP19_S_F_1_Extract
+                Amount: 65
+              - Material: EP19_S_F_2_Extract
+                Amount: 65
+              - Material: EP19_Gla_Extract
+                Amount: 65
+              - Material: EP19_S_F_3_Extract
+                Amount: 35
+              - Material: EP20_D_P_Extract
+                Amount: 35
+          - Item: Ep21_2_Mag_Power
+            Price: 4500000
+            Materials:
+              - Material: Ep21_Acc_E_Stone3
+                Amount: 20
+              - Material: EP19_S_F_1_Extract
+                Amount: 65
+              - Material: EP19_S_F_2_Extract
+                Amount: 65
+              - Material: EP19_Gla_Extract
+                Amount: 65
+              - Material: EP19_S_F_3_Extract
+                Amount: 35
+              - Material: EP20_D_P_Extract
+                Amount: 35
   - Id: 147
     TargetItems:
       StormBow_Furious: true
@@ -31483,6 +32175,32 @@ Body:
       Demonsword_Furious: true
       Foxtail_Furious: true
       Setaria_Furious: true
+      OverSpear_Furious: true
+      Lance_Furious: true
+      Impact_Furious: true
+      RightShape_Furious: true
+      Humma_Furious: true
+      WheelHumma_Furious: true
+      GiganticAxe_Furious: true
+      Hammer_Furious: true
+      MasterSpellBook_Furious: true
+      Grimoire_Furious: true
+      Soul_Furious: true
+      SpiritStick_Furious: true
+      Lapier_Furious: true
+      SharpSword_Furious: true
+      WhiteSword_Furious: true
+      Stick_Furious: true
+      MetalVilolin_Furious: true
+      Harp_Furious: true
+      MetalWhip_Furious: true
+      Whip_Furious: true
+      Flame_Staff_Furious: true
+      Rifle_Furious: true
+      Gatling_Furious: true
+      Specter_Furious: true
+      GaleClaw_Furious: true
+      Exterminate_Furious: true
     Reset:
       Chance: 80000
       Price: 500000
@@ -31647,6 +32365,18 @@ Body:
       FuriousCirclet_DK: true
       FuriousCirclet_ABC: true
       FuriousCirclet_SH: true
+      FuriousCirclet_IG: true
+      FuriousCirclet_SHC: true
+      FuriousCirclet_SS: true
+      FuriousCirclet_MT: true
+      FuriousCirclet_EM: true
+      FuriousCirclet_SOA: true
+      FuriousCirclet_TR: true
+      FuriousCirclet_BO: true
+      FuriousCirclet_HN: true
+      FuriousCirclet_AG: true
+      FuriousCirclet_IQ: true
+      FuriousCirclet_NW: true
     Reset:
       Chance: 80000
       Price: 500000

+ 1086 - 4
db/re/item_group_db.yml

@@ -51768,7 +51768,7 @@ Body:
             Item: aegis_19868
             Rate: 50
           - Index: 3
-            Item: aegis_410245
+            Item: C_Brother_Keen_Eye
             Rate: 50
           - Index: 4
             Item: C_Foxtail
@@ -51777,7 +51777,7 @@ Body:
             Item: aegis_400496
             Rate: 50
           - Index: 6
-            Item: aegis_420242
+            Item: C_Fluttering_Haze
             Rate: 50
           - Index: 7
             Item: C_Cat_Mouth
@@ -92258,7 +92258,7 @@ Body:
             Item: Hero_Token_SH
             Rate: 10
           - Index: 17
-            Item: aegis_490220
+            Item: Hero_Token_HN
             Rate: 10
   - Group: JANUARYGIFTBOX_
     SubGroups:
@@ -109579,7 +109579,7 @@ Body:
             Item: Small_Mana_Potion
             Amount: 250
           - Index: 1
-            Item: aegis_420304
+            Item: C_NightSkyOfRutie
           - Index: 2
             Item: K_Secret_Key
             Amount: 30
@@ -112357,3 +112357,1085 @@ Body:
           - Index: 2
             Item: Enchant_Stone_Box34
             Amount: 10
+  - Group: AEGIS_102947
+    SubGroups:
+      - SubGroup: 6
+        List:
+          - Index: 0
+            Item: aegis_1001480
+            Rate: 800
+          - Index: 1
+            Item: aegis_1001480
+            Rate: 800
+          - Index: 2
+            Item: aegis_1001480
+            Rate: 800
+          - Index: 3
+            Item: aegis_1001480
+            Rate: 800
+          - Index: 4
+            Item: aegis_1001480
+            Rate: 800
+          - Index: 5
+            Item: Gaebolg_Armor
+            Rate: 150
+          - Index: 6
+            Item: Gaebolg_Robe
+            Rate: 150
+          - Index: 7
+            Item: Gaebolg_Boots
+            Rate: 150
+          - Index: 8
+            Item: Gaebolg_Shoes
+            Rate: 150
+          - Index: 9
+            Item: Gaebolg_Manteau
+            Rate: 150
+          - Index: 10
+            Item: Gaebolg_Muffler
+            Rate: 150
+          - Index: 11
+            Item: Gaebolg_Armor
+            Rate: 100
+          - Index: 12
+            Item: Gaebolg_Robe
+            Rate: 100
+          - Index: 13
+            Item: Gaebolg_Boots
+            Rate: 100
+          - Index: 14
+            Item: Gaebolg_Shoes
+            Rate: 100
+          - Index: 15
+            Item: Gaebolg_Manteau
+            Rate: 100
+          - Index: 16
+            Item: Gaebolg_Muffler
+            Rate: 100
+          - Index: 17
+            Item: Gaebolg_Armor
+            Rate: 20
+          - Index: 18
+            Item: Gaebolg_Robe
+            Rate: 20
+          - Index: 19
+            Item: Gaebolg_Boots
+            Rate: 20
+          - Index: 20
+            Item: Gaebolg_Shoes
+            Rate: 20
+          - Index: 21
+            Item: Gaebolg_Manteau
+            Rate: 20
+          - Index: 22
+            Item: Gaebolg_Muffler
+            Rate: 20
+          - Index: 23
+            Item: Gaebolg_Glove
+            Rate: 60
+          - Index: 24
+            Item: Gaebolg_Ring
+            Rate: 60
+          - Index: 25
+            Item: Gaebolg_Earring
+            Rate: 60
+          - Index: 26
+            Item: Gaebolg_Necklace
+            Rate: 60
+          - Index: 27
+            Item: Ep21_Armor_E_Stone1
+            Rate: 100
+          - Index: 28
+            Item: Ep21_Armor_E_Stone1
+            Rate: 100
+          - Index: 29
+            Item: Ep21_Armor_E_Stone1
+            Rate: 100
+          - Index: 30
+            Item: Ep21_Armor_E_Stone1
+            Rate: 100
+          - Index: 31
+            Item: Ep21_Armor_E_Stone1
+            Rate: 100
+          - Index: 32
+            Item: Ep21_Armor_E_Stone2
+            Rate: 50
+          - Index: 33
+            Item: Ep21_Armor_E_Stone2
+            Rate: 50
+          - Index: 34
+            Item: Ep21_Armor_E_Stone2
+            Rate: 50
+          - Index: 35
+            Item: Ep21_Armor_E_Stone2
+            Rate: 50
+          - Index: 36
+            Item: Ep21_Armor_E_Stone2
+            Rate: 50
+          - Index: 37
+            Item: Ep21_Armor_E_Stone3
+            Rate: 20
+          - Index: 38
+            Item: Ep21_Armor_E_Stone3
+            Rate: 20
+          - Index: 39
+            Item: Ep21_Armor_E_Stone3
+            Rate: 20
+          - Index: 40
+            Item: Ep21_Robe_E_Stone1
+            Rate: 100
+          - Index: 41
+            Item: Ep21_Robe_E_Stone1
+            Rate: 100
+          - Index: 42
+            Item: Ep21_Robe_E_Stone1
+            Rate: 100
+          - Index: 43
+            Item: Ep21_Robe_E_Stone1
+            Rate: 100
+          - Index: 44
+            Item: Ep21_Robe_E_Stone1
+            Rate: 100
+          - Index: 45
+            Item: Ep21_Robe_E_Stone2
+            Rate: 50
+          - Index: 46
+            Item: Ep21_Robe_E_Stone2
+            Rate: 50
+          - Index: 47
+            Item: Ep21_Robe_E_Stone2
+            Rate: 50
+          - Index: 48
+            Item: Ep21_Robe_E_Stone2
+            Rate: 50
+          - Index: 49
+            Item: Ep21_Robe_E_Stone2
+            Rate: 50
+          - Index: 50
+            Item: Ep21_Robe_E_Stone3
+            Rate: 20
+          - Index: 51
+            Item: Ep21_Robe_E_Stone3
+            Rate: 20
+          - Index: 52
+            Item: Ep21_Robe_E_Stone3
+            Rate: 20
+          - Index: 53
+            Item: Ep21_Shoes_E_Stone1
+            Rate: 100
+          - Index: 54
+            Item: Ep21_Shoes_E_Stone1
+            Rate: 100
+          - Index: 55
+            Item: Ep21_Shoes_E_Stone1
+            Rate: 100
+          - Index: 56
+            Item: Ep21_Shoes_E_Stone1
+            Rate: 100
+          - Index: 57
+            Item: Ep21_Shoes_E_Stone1
+            Rate: 100
+          - Index: 58
+            Item: Ep21_Shoes_E_Stone2
+            Rate: 50
+          - Index: 59
+            Item: Ep21_Shoes_E_Stone2
+            Rate: 50
+          - Index: 60
+            Item: Ep21_Shoes_E_Stone2
+            Rate: 50
+          - Index: 61
+            Item: Ep21_Shoes_E_Stone2
+            Rate: 50
+          - Index: 62
+            Item: Ep21_Shoes_E_Stone2
+            Rate: 50
+          - Index: 63
+            Item: Ep21_Shoes_E_Stone3
+            Rate: 20
+          - Index: 64
+            Item: Ep21_Shoes_E_Stone3
+            Rate: 20
+          - Index: 65
+            Item: Ep21_Shoes_E_Stone3
+            Rate: 20
+          - Index: 66
+            Item: Ep21_Acc_E_Stone1
+            Rate: 100
+          - Index: 67
+            Item: Ep21_Acc_E_Stone1
+            Rate: 100
+          - Index: 68
+            Item: Ep21_Acc_E_Stone1
+            Rate: 100
+          - Index: 69
+            Item: Ep21_Acc_E_Stone1
+            Rate: 100
+          - Index: 70
+            Item: Ep21_Acc_E_Stone1
+            Rate: 100
+          - Index: 71
+            Item: Ep21_Acc_E_Stone2
+            Rate: 50
+          - Index: 72
+            Item: Ep21_Acc_E_Stone2
+            Rate: 50
+          - Index: 73
+            Item: Ep21_Acc_E_Stone2
+            Rate: 50
+          - Index: 74
+            Item: Ep21_Acc_E_Stone2
+            Rate: 50
+          - Index: 75
+            Item: Ep21_Acc_E_Stone2
+            Rate: 50
+          - Index: 76
+            Item: Ep21_Acc_E_Stone3
+            Rate: 20
+          - Index: 77
+            Item: Ep21_Acc_E_Stone3
+            Rate: 20
+          - Index: 78
+            Item: Ep21_Acc_E_Stone3
+            Rate: 20
+          - Index: 79
+            Item: EP19_Gla_Extract
+            Rate: 60
+          - Index: 80
+            Item: EP19_Gla_Extract
+            Rate: 60
+          - Index: 81
+            Item: EP19_Gla_Extract
+            Rate: 60
+          - Index: 82
+            Item: EP19_S_F_1_Extract
+            Rate: 60
+          - Index: 83
+            Item: EP19_S_F_1_Extract
+            Rate: 60
+          - Index: 84
+            Item: EP19_S_F_1_Extract
+            Rate: 60
+          - Index: 85
+            Item: EP20_D_P_Extract
+            Rate: 60
+          - Index: 86
+            Item: EP20_D_P_Extract
+            Rate: 60
+          - Index: 87
+            Item: EP20_D_P_Extract
+            Rate: 60
+          - Index: 88
+            Item: EP19_S_F_2_Extract
+            Rate: 60
+          - Index: 89
+            Item: EP19_S_F_2_Extract
+            Rate: 60
+          - Index: 90
+            Item: EP19_S_F_2_Extract
+            Rate: 60
+          - Index: 91
+            Item: EP19_S_F_3_Extract
+            Rate: 60
+          - Index: 92
+            Item: EP19_S_F_3_Extract
+            Rate: 60
+          - Index: 93
+            Item: EP19_S_F_3_Extract
+            Rate: 60
+  - Group: AEGIS_102948
+    SubGroups:
+      - SubGroup: 6
+        List:
+          - Index: 0
+            Item: aegis_1001480
+            Rate: 800
+          - Index: 1
+            Item: aegis_1001480
+            Rate: 800
+          - Index: 2
+            Item: aegis_1001480
+            Rate: 800
+          - Index: 3
+            Item: aegis_1001480
+            Rate: 800
+          - Index: 4
+            Item: aegis_1001480
+            Rate: 800
+          - Index: 5
+            Item: Gaebolg_Armor
+            Rate: 150
+          - Index: 6
+            Item: Gaebolg_Robe
+            Rate: 150
+          - Index: 7
+            Item: Gaebolg_Boots
+            Rate: 150
+          - Index: 8
+            Item: Gaebolg_Shoes
+            Rate: 150
+          - Index: 9
+            Item: Gaebolg_Manteau
+            Rate: 150
+          - Index: 10
+            Item: Gaebolg_Muffler
+            Rate: 150
+          - Index: 11
+            Item: Gaebolg_Armor
+            Rate: 100
+          - Index: 12
+            Item: Gaebolg_Robe
+            Rate: 100
+          - Index: 13
+            Item: Gaebolg_Boots
+            Rate: 100
+          - Index: 14
+            Item: Gaebolg_Shoes
+            Rate: 100
+          - Index: 15
+            Item: Gaebolg_Manteau
+            Rate: 100
+          - Index: 16
+            Item: Gaebolg_Muffler
+            Rate: 100
+          - Index: 17
+            Item: Gaebolg_Armor
+            Rate: 20
+          - Index: 18
+            Item: Gaebolg_Robe
+            Rate: 20
+          - Index: 19
+            Item: Gaebolg_Boots
+            Rate: 20
+          - Index: 20
+            Item: Gaebolg_Shoes
+            Rate: 20
+          - Index: 21
+            Item: Gaebolg_Manteau
+            Rate: 20
+          - Index: 22
+            Item: Gaebolg_Muffler
+            Rate: 20
+          - Index: 23
+            Item: Gaebolg_Glove
+            Rate: 60
+          - Index: 24
+            Item: Gaebolg_Ring
+            Rate: 60
+          - Index: 25
+            Item: Gaebolg_Earring
+            Rate: 60
+          - Index: 26
+            Item: Gaebolg_Necklace
+            Rate: 60
+          - Index: 27
+            Item: Ep21_Armor_E_Stone1
+            Rate: 100
+          - Index: 28
+            Item: Ep21_Armor_E_Stone1
+            Rate: 100
+          - Index: 29
+            Item: Ep21_Armor_E_Stone1
+            Rate: 100
+          - Index: 30
+            Item: Ep21_Armor_E_Stone1
+            Rate: 100
+          - Index: 31
+            Item: Ep21_Armor_E_Stone1
+            Rate: 100
+          - Index: 32
+            Item: Ep21_Armor_E_Stone2
+            Rate: 50
+          - Index: 33
+            Item: Ep21_Armor_E_Stone2
+            Rate: 50
+          - Index: 34
+            Item: Ep21_Armor_E_Stone2
+            Rate: 50
+          - Index: 35
+            Item: Ep21_Armor_E_Stone2
+            Rate: 50
+          - Index: 36
+            Item: Ep21_Armor_E_Stone2
+            Rate: 50
+          - Index: 37
+            Item: Ep21_Armor_E_Stone3
+            Rate: 20
+          - Index: 38
+            Item: Ep21_Armor_E_Stone3
+            Rate: 20
+          - Index: 39
+            Item: Ep21_Armor_E_Stone3
+            Rate: 20
+          - Index: 40
+            Item: Ep21_Robe_E_Stone1
+            Rate: 100
+          - Index: 41
+            Item: Ep21_Robe_E_Stone1
+            Rate: 100
+          - Index: 42
+            Item: Ep21_Robe_E_Stone1
+            Rate: 100
+          - Index: 43
+            Item: Ep21_Robe_E_Stone1
+            Rate: 100
+          - Index: 44
+            Item: Ep21_Robe_E_Stone1
+            Rate: 100
+          - Index: 45
+            Item: Ep21_Robe_E_Stone2
+            Rate: 50
+          - Index: 46
+            Item: Ep21_Robe_E_Stone2
+            Rate: 50
+          - Index: 47
+            Item: Ep21_Robe_E_Stone2
+            Rate: 50
+          - Index: 48
+            Item: Ep21_Robe_E_Stone2
+            Rate: 50
+          - Index: 49
+            Item: Ep21_Robe_E_Stone2
+            Rate: 50
+          - Index: 50
+            Item: Ep21_Robe_E_Stone3
+            Rate: 20
+          - Index: 51
+            Item: Ep21_Robe_E_Stone3
+            Rate: 20
+          - Index: 52
+            Item: Ep21_Robe_E_Stone3
+            Rate: 20
+          - Index: 53
+            Item: Ep21_Shoes_E_Stone1
+            Rate: 100
+          - Index: 54
+            Item: Ep21_Shoes_E_Stone1
+            Rate: 100
+          - Index: 55
+            Item: Ep21_Shoes_E_Stone1
+            Rate: 100
+          - Index: 56
+            Item: Ep21_Shoes_E_Stone1
+            Rate: 100
+          - Index: 57
+            Item: Ep21_Shoes_E_Stone1
+            Rate: 100
+          - Index: 58
+            Item: Ep21_Shoes_E_Stone2
+            Rate: 50
+          - Index: 59
+            Item: Ep21_Shoes_E_Stone2
+            Rate: 50
+          - Index: 60
+            Item: Ep21_Shoes_E_Stone2
+            Rate: 50
+          - Index: 61
+            Item: Ep21_Shoes_E_Stone2
+            Rate: 50
+          - Index: 62
+            Item: Ep21_Shoes_E_Stone2
+            Rate: 50
+          - Index: 63
+            Item: Ep21_Shoes_E_Stone3
+            Rate: 20
+          - Index: 64
+            Item: Ep21_Shoes_E_Stone3
+            Rate: 20
+          - Index: 65
+            Item: Ep21_Shoes_E_Stone3
+            Rate: 20
+          - Index: 66
+            Item: Ep21_Acc_E_Stone1
+            Rate: 100
+          - Index: 67
+            Item: Ep21_Acc_E_Stone1
+            Rate: 100
+          - Index: 68
+            Item: Ep21_Acc_E_Stone1
+            Rate: 100
+          - Index: 69
+            Item: Ep21_Acc_E_Stone1
+            Rate: 100
+          - Index: 70
+            Item: Ep21_Acc_E_Stone1
+            Rate: 100
+          - Index: 71
+            Item: Ep21_Acc_E_Stone2
+            Rate: 50
+          - Index: 72
+            Item: Ep21_Acc_E_Stone2
+            Rate: 50
+          - Index: 73
+            Item: Ep21_Acc_E_Stone2
+            Rate: 50
+          - Index: 74
+            Item: Ep21_Acc_E_Stone2
+            Rate: 50
+          - Index: 75
+            Item: Ep21_Acc_E_Stone2
+            Rate: 50
+          - Index: 76
+            Item: Ep21_Acc_E_Stone3
+            Rate: 20
+          - Index: 77
+            Item: Ep21_Acc_E_Stone3
+            Rate: 20
+          - Index: 78
+            Item: Ep21_Acc_E_Stone3
+            Rate: 20
+          - Index: 79
+            Item: EP19_Gla_Extract
+            Rate: 60
+          - Index: 80
+            Item: EP19_Gla_Extract
+            Rate: 60
+          - Index: 81
+            Item: EP19_Gla_Extract
+            Rate: 60
+          - Index: 82
+            Item: EP19_S_F_1_Extract
+            Rate: 60
+          - Index: 83
+            Item: EP19_S_F_1_Extract
+            Rate: 60
+          - Index: 84
+            Item: EP19_S_F_1_Extract
+            Rate: 60
+          - Index: 85
+            Item: EP20_D_P_Extract
+            Rate: 60
+          - Index: 86
+            Item: EP20_D_P_Extract
+            Rate: 60
+          - Index: 87
+            Item: EP20_D_P_Extract
+            Rate: 60
+          - Index: 88
+            Item: EP19_S_F_2_Extract
+            Rate: 60
+          - Index: 89
+            Item: EP19_S_F_2_Extract
+            Rate: 60
+          - Index: 90
+            Item: EP19_S_F_2_Extract
+            Rate: 60
+          - Index: 91
+            Item: EP19_S_F_3_Extract
+            Rate: 60
+          - Index: 92
+            Item: EP19_S_F_3_Extract
+            Rate: 60
+          - Index: 93
+            Item: EP19_S_F_3_Extract
+            Rate: 60
+  - Group: AEGIS_103033
+    SubGroups:
+      - SubGroup: 0
+        List:
+          - Index: 0
+            Item: Lance_Furious
+          - Index: 1
+            Item: Shield_Furious
+  - Group: AEGIS_103034
+    SubGroups:
+      - SubGroup: 0
+        List:
+          - Index: 0
+            Item: RightShape_Furious
+          - Index: 1
+            Item: LeftShape_Furious
+  - Group: P_BOOSTER_CALL_PACKAGE
+    SubGroups:
+      - SubGroup: 0
+        List:
+          - Index: 0
+            Item: P_Booster_Call
+          - Index: 1
+            Item: Booster_Pack_1
+          - Index: 2
+            Item: Booster_Hat_Box
+          - Index: 3
+            Item: Booster_Back_Box
+          - Index: 4
+            Item: Reset_Stat_Ticket
+          - Index: 5
+            Item: Reset_Skill_Ticket
+          - Index: 6
+            Item: E_Boarding_Halter_Box2
+          - Index: 7
+            Item: Boost_C_Enchant_2
+  - Group: P_COMPENSATION_BOX
+    SubGroups:
+      - SubGroup: 0
+        List:
+          - Index: 0
+            Item: P_Booster_Call_Package
+          - Index: 1
+            Item: E_EXP_Drop_Up_7days
+          - Index: 2
+            Item: Comp_AID_Buff_Box
+  - Group: ENCHANT_STONE_BOX35
+    SubGroups:
+      - SubGroup: 1
+        List:
+          - Index: 0
+            Item: Range_Stone_Robe_D
+            Rate: 10
+          - Index: 1
+            Item: Melee_Stone_Robe_D
+            Rate: 10
+          - Index: 2
+            Item: Magic_Stone_Robe_D
+            Rate: 10
+          - Index: 3
+            Item: SmatkStone_Robe
+            Rate: 10
+          - Index: 4
+            Item: M_PATKStone_Robe
+            Rate: 10
+          - Index: 5
+            Item: R_PATKStone_Robe
+            Rate: 10
+          - Index: 6
+            Item: ResistDefStone_Robe
+            Rate: 10
+          - Index: 7
+            Item: StaminaWISStone_Robe_D
+            Rate: 10
+          - Index: 8
+            Item: POWStone_Robe_D
+            Rate: 10
+          - Index: 9
+            Item: SplStone_Robe_D
+            Rate: 10
+          - Index: 10
+            Item: ConStone_Robe_D
+            Rate: 10
+          - Index: 11
+            Item: CrtStone_Robe_D
+            Rate: 10
+          - Index: 12
+            Item: aegis_1001615
+            Rate: 10
+          - Index: 13
+            Item: BioloStone_Robe
+            Rate: 10
+          - Index: 14
+            Item: InquisitorStone_Robe
+            Rate: 10
+          - Index: 15
+            Item: SpiritHandlerStone_Robe
+            Rate: 10
+          - Index: 16
+            Item: ReloadStone_Robe_D
+            Rate: 10
+          - Index: 17
+            Item: CriticalStone_Robe_D
+            Rate: 10
+          - Index: 18
+            Item: DoubleAttack_Stone
+            Rate: 20
+          - Index: 19
+            Item: Critical_Stone_Robe
+            Rate: 20
+          - Index: 20
+            Item: CastStone_Robe_D
+            Rate: 40
+          - Index: 21
+            Item: SPdrainStone_Robe_D
+            Rate: 40
+          - Index: 22
+            Item: HPdrainStone_Robe_D
+            Rate: 80
+          - Index: 23
+            Item: ASPDStone_Robe_D
+            Rate: 80
+          - Index: 24
+            Item: CastStone_Robe
+            Rate: 80
+          - Index: 25
+            Item: GeneticStone_Top3
+            Rate: 80
+          - Index: 26
+            Item: GeneticStone_Middle3
+            Rate: 80
+          - Index: 27
+            Item: GeneticStone_Bottom3
+            Rate: 80
+          - Index: 28
+            Item: SuraStone_Top3
+            Rate: 80
+          - Index: 29
+            Item: SuraStone_Middle3
+            Rate: 80
+          - Index: 30
+            Item: SuraStone_Bottom3
+            Rate: 80
+          - Index: 31
+            Item: DoramStone_Top3
+            Rate: 80
+          - Index: 32
+            Item: DoramStone_Middle3
+            Rate: 80
+          - Index: 33
+            Item: DoramStone_Bottom3
+            Rate: 80
+          - Index: 34
+            Item: Stone_Robe_Box
+            Rate: 170
+          - Index: 35
+            Item: Stone_Robe3_Box
+            Rate: 170
+          - Index: 36
+            Item: Magic_Stone_Top
+            Rate: 200
+          - Index: 37
+            Item: Magic_Stone_Middle
+            Rate: 200
+          - Index: 38
+            Item: Magic_Stone_Bottom
+            Rate: 200
+          - Index: 39
+            Item: Range_Stone_Top
+            Rate: 200
+          - Index: 40
+            Item: Range_Stone
+            Rate: 200
+          - Index: 41
+            Item: Range_Stone_Bottom
+            Rate: 200
+          - Index: 42
+            Item: Melee_Stone_Top
+            Rate: 200
+          - Index: 43
+            Item: Melee_Stone_Middle
+            Rate: 200
+          - Index: 44
+            Item: Melee_Stone_Bottom
+            Rate: 200
+          - Index: 45
+            Item: DefenseStone_Top
+            Rate: 200
+          - Index: 46
+            Item: DefenseStone_Middle
+            Rate: 200
+          - Index: 47
+            Item: DefenseStone_Bottom
+            Rate: 200
+          - Index: 48
+            Item: ReloadStone_Top
+            Rate: 200
+          - Index: 49
+            Item: ReloadStone_Middle
+            Rate: 200
+          - Index: 50
+            Item: ReloadStone_Bottom
+            Rate: 200
+          - Index: 51
+            Item: EXPStone_Middle
+            Rate: 200
+          - Index: 52
+            Item: EXPStone_Bottom
+            Rate: 200
+          - Index: 53
+            Item: EXPStone_Top
+            Rate: 200
+          - Index: 54
+            Item: Stone_Top_Box
+            Rate: 400
+          - Index: 55
+            Item: Stone_Top2_Box
+            Rate: 400
+          - Index: 56
+            Item: Stone_Middle_Box
+            Rate: 400
+          - Index: 57
+            Item: Stone_Middle2_Box
+            Rate: 400
+          - Index: 58
+            Item: Stone_Bottom_Box
+            Rate: 400
+          - Index: 59
+            Item: Stone_Bottom2_Box
+            Rate: 400
+          - Index: 60
+            Item: CastingStone_Top
+            Rate: 400
+          - Index: 61
+            Item: CastingStone_Middle
+            Rate: 400
+          - Index: 62
+            Item: CastingStone_Bottom
+            Rate: 400
+          - Index: 63
+            Item: Critical_Stone
+            Rate: 400
+          - Index: 64
+            Item: Critical_Stone_Top
+            Rate: 400
+          - Index: 65
+            Item: Critical_Stone_Bottom
+            Rate: 400
+  - Group: STOVE_CHANNELING_BOX_1
+    SubGroups:
+      - SubGroup: 0
+        List:
+          - Index: 0
+            Item: Battle_Manual100
+            Amount: 5
+          - Index: 1
+            Item: E_Token_Of_Siegfried
+            Amount: 5
+          - Index: 2
+            Item: Comp_Kafra_Card
+            Amount: 10
+          - Index: 3
+            Item: World_Tour_Ticket
+            Amount: 10
+  - Group: STOVE_CHANNELING_BOX_2
+    SubGroups:
+      - SubGroup: 0
+        List:
+          - Index: 0
+            Item: Boarding_Halter_Box30_Z
+          - Index: 1
+            Item: Comp_Almighty
+            Amount: 10
+          - Index: 2
+            Item: E_Wing_Of_Fly_3Day_Box
+            Amount: 3
+          - Index: 3
+            Item: Buff_Scroll_Box
+            Amount: 3
+  - Group: STOVE_CHANNELING_BOX_3
+    SubGroups:
+      - SubGroup: 0
+        List:
+          - Index: 0
+            Item: E_Life_Potion_Pack
+            Amount: 2
+          - Index: 1
+            Item: Comp_Small_Mana_Potion
+            Amount: 20
+          - Index: 2
+            Item: E_Infinity_Drink
+            Amount: 10
+          - Index: 3
+            Item: Comp_Power_Booster
+            Amount: 10
+  - Group: STOVE_CHANNELING_BOX_4
+    SubGroups:
+      - SubGroup: 0
+        List:
+          - Index: 0
+            Item: All_In_One_buff_B
+            Amount: 10
+          - Index: 1
+            Item: All_In_One_Healing_B
+            Amount: 10
+          - Index: 2
+            Item: Cachua_Coupon
+            Amount: 10
+          - Index: 3
+            Item: Evt_Cos_Coin
+            Amount: 10
+  - Group: LI_NYANGVINE_BOX1_35
+    SubGroups:
+      - SubGroup: 0
+        List:
+          - Index: 0
+            Item: Nyangvine_Fruit
+            Amount: 100
+          - Index: 1
+            Item: Enchant_Stone_Box35
+            Amount: 2
+          - Index: 2
+            Item: Comp_Bubble_Gum
+            Amount: 3
+  - Group: LI_NYANGVINE_BOX2_35
+    SubGroups:
+      - SubGroup: 0
+        List:
+          - Index: 0
+            Item: Nyangvine_Fruit
+            Amount: 200
+          - Index: 1
+            Item: Battle_Manual100
+            Amount: 5
+          - Index: 2
+            Item: Enchant_Stone_Box35
+            Amount: 2
+  - Group: LI_NYANGVINE_BOX3_35
+    SubGroups:
+      - SubGroup: 0
+        List:
+          - Index: 0
+            Item: Nyangvine_Fruit
+            Amount: 400
+          - Index: 1
+            Item: Comp_Bubble_Gum
+            Amount: 10
+          - Index: 2
+            Item: Battle_Manual100
+            Amount: 5
+          - Index: 3
+            Item: Enchant_Stone_Box35
+            Amount: 5
+  - Group: A_SPEED_BOOSTER_BOX
+    SubGroups:
+      - SubGroup: 0
+        List:
+          - Index: 0
+            Item: Speed_Booster
+            Amount: 10
+          - Index: 1
+            Item: K_Secret_Key
+  - Group: A_SPEED_BOOSTER_10_BOX
+    SubGroups:
+      - SubGroup: 0
+        List:
+          - Index: 0
+            Item: Speed_Booster
+            Amount: 100
+          - Index: 1
+            Item: K_Secret_Key
+            Amount: 11
+  - Group: L_INFINITY_POWER_PACK
+    SubGroups:
+      - SubGroup: 0
+        List:
+          - Index: 0
+            Item: Limit_Power_Booster
+            Amount: 100
+          - Index: 1
+            Item: Infinity_Drink
+            Amount: 100
+          - Index: 2
+            Item: K_Secret_Key
+            Amount: 25
+          - Index: 3
+            Item: Cachua_Coupon
+            Amount: 5
+  - Group: L_ALL_RED_PACK
+    SubGroups:
+      - SubGroup: 0
+        List:
+          - Index: 0
+            Item: Almighty
+            Amount: 100
+          - Index: 1
+            Item: Red_Booster
+            Amount: 125
+          - Index: 2
+            Item: K_Secret_Key
+            Amount: 25
+          - Index: 3
+            Item: Cachua_Coupon
+            Amount: 5
+  - Group: L_DEFENSE_POTION_PACK
+    SubGroups:
+      - SubGroup: 0
+        List:
+          - Index: 0
+            Item: Small_Life_Potion
+            Amount: 200
+          - Index: 1
+            Item: Med_Life_Potion
+            Amount: 200
+          - Index: 2
+            Item: Mysterious_Water
+            Amount: 200
+          - Index: 3
+            Item: Small_Mana_Potion
+            Amount: 50
+          - Index: 4
+            Item: M_DEFScroll
+            Amount: 300
+          - Index: 5
+            Item: K_Secret_Key
+            Amount: 25
+          - Index: 6
+            Item: Cachua_Coupon
+            Amount: 5
+  - Group: L_SPEED_FORCE_PACK
+    SubGroups:
+      - SubGroup: 0
+        List:
+          - Index: 0
+            Item: Force_Booster
+            Amount: 100
+          - Index: 1
+            Item: Speed_Booster
+            Amount: 100
+          - Index: 2
+            Item: K_Secret_Key
+            Amount: 25
+          - Index: 3
+            Item: Cachua_Coupon
+            Amount: 5
+  - Group: L_SPECIAL_SPEED_PACK
+    SubGroups:
+      - SubGroup: 0
+        List:
+          - Index: 0
+            Item: Speed_Booster
+            Amount: 200
+          - Index: 1
+            Item: K_Secret_Key
+            Amount: 30
+          - Index: 2
+            Item: Cachua_Coupon
+            Amount: 10
+  - Group: L_SPECIAL_FORCE_PACK
+    SubGroups:
+      - SubGroup: 0
+        List:
+          - Index: 0
+            Item: Force_Booster
+            Amount: 200
+          - Index: 1
+            Item: K_Secret_Key
+            Amount: 30
+          - Index: 2
+            Item: Cachua_Coupon
+            Amount: 10
+  - Group: COSTUMEMILEPACK_35_1
+    SubGroups:
+      - SubGroup: 0
+        List:
+          - Index: 0
+            Item: Nyangvine_Fruit
+            Amount: 100
+          - Index: 1
+            Item: Evt_Cos_Coin
+            Amount: 12
+          - Index: 2
+            Item: Enchant_Stone_Box35
+            Amount: 3
+  - Group: COSTUMEMILEPACK_35_2
+    SubGroups:
+      - SubGroup: 0
+        List:
+          - Index: 0
+            Item: Nyangvine_Fruit
+            Amount: 200
+          - Index: 1
+            Item: Evt_Cos_Coin
+            Amount: 25
+          - Index: 2
+            Item: Enchant_Stone_Box35
+            Amount: 5
+  - Group: COSTUMEMILEPACK_35_3
+    SubGroups:
+      - SubGroup: 0
+        List:
+          - Index: 0
+            Item: Nyangvine_Fruit
+            Amount: 400
+          - Index: 1
+            Item: Evt_Cos_Coin
+            Amount: 50
+          - Index: 2
+            Item: Enchant_Stone_Box35
+            Amount: 10

+ 1018 - 0
db/re/item_reform.yml

@@ -9837,6 +9837,330 @@ Body:
         RandomOptionGroup: Group_0
         ClearSlots: true
         RemoveEnchantgrade: true
+      - BaseItem: Snowflower_Armor
+        Materials:
+          - Material: Imperfect_Rune
+            Amount: 10
+        ResultItem: R_Snowflower_Armor
+        ChangeRefine: -20
+        RandomOptionGroup: Group_0
+        ClearSlots: true
+        RemoveEnchantgrade: true
+      - BaseItem: Snowflower_Manteau
+        Materials:
+          - Material: Imperfect_Rune
+            Amount: 10
+        ResultItem: R_Snowflower_Manteau
+        ChangeRefine: -20
+        RandomOptionGroup: Group_0
+        ClearSlots: true
+        RemoveEnchantgrade: true
+      - BaseItem: Snowflower_Boots
+        Materials:
+          - Material: Imperfect_Rune
+            Amount: 10
+        ResultItem: R_Snowflower_Boots
+        ChangeRefine: -20
+        RandomOptionGroup: Group_0
+        ClearSlots: true
+        RemoveEnchantgrade: true
+      - BaseItem: Snowflower_Pendant
+        Materials:
+          - Material: Imperfect_Rune
+            Amount: 10
+        ResultItem: R_Snowflower_Pendant
+        ChangeRefine: -20
+        RandomOptionGroup: Group_0
+        ClearSlots: true
+        RemoveEnchantgrade: true
+      - BaseItem: Snowflower_Necklace
+        Materials:
+          - Material: Imperfect_Rune
+            Amount: 10
+        ResultItem: R_Snowflower_Necklace
+        ChangeRefine: -20
+        RandomOptionGroup: Group_0
+        ClearSlots: true
+        RemoveEnchantgrade: true
+      - BaseItem: Snowflower_Robe
+        Materials:
+          - Material: Imperfect_Rune
+            Amount: 10
+        ResultItem: R_Snowflower_Robe
+        ChangeRefine: -20
+        RandomOptionGroup: Group_0
+        ClearSlots: true
+        RemoveEnchantgrade: true
+      - BaseItem: Snowflower_Muffler
+        Materials:
+          - Material: Imperfect_Rune
+            Amount: 10
+        ResultItem: R_Snowflower_Muffler
+        ChangeRefine: -20
+        RandomOptionGroup: Group_0
+        ClearSlots: true
+        RemoveEnchantgrade: true
+      - BaseItem: Snowflower_Shoes
+        Materials:
+          - Material: Imperfect_Rune
+            Amount: 10
+        ResultItem: R_Snowflower_Shoes
+        ChangeRefine: -20
+        RandomOptionGroup: Group_0
+        ClearSlots: true
+        RemoveEnchantgrade: true
+      - BaseItem: Snowflower_Ring
+        Materials:
+          - Material: Imperfect_Rune
+            Amount: 10
+        ResultItem: R_Snowflower_Ring
+        ChangeRefine: -20
+        RandomOptionGroup: Group_0
+        ClearSlots: true
+        RemoveEnchantgrade: true
+      - BaseItem: Snowflower_Earring
+        Materials:
+          - Material: Imperfect_Rune
+            Amount: 10
+        ResultItem: R_Snowflower_Earring
+        ChangeRefine: -20
+        RandomOptionGroup: Group_0
+        ClearSlots: true
+        RemoveEnchantgrade: true
+      - BaseItem: Glacier_T_Sword
+        Materials:
+          - Material: Imperfect_Rune
+            Amount: 10
+        ResultItem: R_Glacier_T_Sword
+        ChangeRefine: -20
+        RandomOptionGroup: Group_0
+        ClearSlots: true
+        RemoveEnchantgrade: true
+      - BaseItem: Glacier_Lance
+        Materials:
+          - Material: Imperfect_Rune
+            Amount: 10
+        ResultItem: R_Glacier_Lance
+        ChangeRefine: -20
+        RandomOptionGroup: Group_0
+        ClearSlots: true
+        RemoveEnchantgrade: true
+      - BaseItem: Glacier_Sword
+        Materials:
+          - Material: Imperfect_Rune
+            Amount: 10
+        ResultItem: R_Glacier_Sword
+        ChangeRefine: -20
+        RandomOptionGroup: Group_0
+        ClearSlots: true
+        RemoveEnchantgrade: true
+      - BaseItem: Glacier_B_Sword
+        Materials:
+          - Material: Imperfect_Rune
+            Amount: 10
+        ResultItem: R_Glacier_B_Sword
+        ChangeRefine: -20
+        RandomOptionGroup: Group_0
+        ClearSlots: true
+        RemoveEnchantgrade: true
+      - BaseItem: Glacier_Spear
+        Materials:
+          - Material: Imperfect_Rune
+            Amount: 10
+        ResultItem: R_Glacier_Spear
+        ChangeRefine: -20
+        RandomOptionGroup: Group_0
+        ClearSlots: true
+        RemoveEnchantgrade: true
+      - BaseItem: Glacier_T_Axe
+        Materials:
+          - Material: Imperfect_Rune
+            Amount: 10
+        ResultItem: R_Glacier_T_Axe
+        ChangeRefine: -20
+        RandomOptionGroup: Group_0
+        ClearSlots: true
+        RemoveEnchantgrade: true
+      - BaseItem: Glacier_Axe
+        Materials:
+          - Material: Imperfect_Rune
+            Amount: 10
+        ResultItem: R_Glacier_Axe
+        ChangeRefine: -20
+        RandomOptionGroup: Group_0
+        ClearSlots: true
+        RemoveEnchantgrade: true
+      - BaseItem: Glacier_Mace
+        Materials:
+          - Material: Imperfect_Rune
+            Amount: 10
+        ResultItem: R_Glacier_Mace
+        ChangeRefine: -20
+        RandomOptionGroup: Group_0
+        ClearSlots: true
+        RemoveEnchantgrade: true
+      - BaseItem: Glacier_M_Mace
+        Materials:
+          - Material: Imperfect_Rune
+            Amount: 10
+        ResultItem: R_Glacier_M_Mace
+        ChangeRefine: -20
+        RandomOptionGroup: Group_0
+        ClearSlots: true
+        RemoveEnchantgrade: true
+      - BaseItem: Glacier_R_Knife
+        Materials:
+          - Material: Imperfect_Rune
+            Amount: 10
+        ResultItem: R_Glacier_R_Knife
+        ChangeRefine: -20
+        RandomOptionGroup: Group_0
+        ClearSlots: true
+        RemoveEnchantgrade: true
+      - BaseItem: Glacier_B_Knife
+        Materials:
+          - Material: Imperfect_Rune
+            Amount: 10
+        ResultItem: R_Glacier_B_Knife
+        ChangeRefine: -20
+        RandomOptionGroup: Group_0
+        ClearSlots: true
+        RemoveEnchantgrade: true
+      - BaseItem: Glacier_Knuckle
+        Materials:
+          - Material: Imperfect_Rune
+            Amount: 10
+        ResultItem: R_Glacier_Knuckle
+        ChangeRefine: -20
+        RandomOptionGroup: Group_0
+        ClearSlots: true
+        RemoveEnchantgrade: true
+      - BaseItem: Glacier_Katar
+        Materials:
+          - Material: Imperfect_Rune
+            Amount: 10
+        ResultItem: R_Glacier_Katar
+        ChangeRefine: -20
+        RandomOptionGroup: Group_0
+        ClearSlots: true
+        RemoveEnchantgrade: true
+      - BaseItem: Glacier_Bow
+        Materials:
+          - Material: Imperfect_Rune
+            Amount: 10
+        ResultItem: R_Glacier_Bow
+        ChangeRefine: -20
+        RandomOptionGroup: Group_0
+        ClearSlots: true
+        RemoveEnchantgrade: true
+      - BaseItem: Glacier_Violin
+        Materials:
+          - Material: Imperfect_Rune
+            Amount: 10
+        ResultItem: R_Glacier_Violin
+        ChangeRefine: -20
+        RandomOptionGroup: Group_0
+        ClearSlots: true
+        RemoveEnchantgrade: true
+      - BaseItem: Glacier_Whip
+        Materials:
+          - Material: Imperfect_Rune
+            Amount: 10
+        ResultItem: R_Glacier_Whip
+        ChangeRefine: -20
+        RandomOptionGroup: Group_0
+        ClearSlots: true
+        RemoveEnchantgrade: true
+      - BaseItem: Glacier_Humma
+        Materials:
+          - Material: Imperfect_Rune
+            Amount: 10
+        ResultItem: R_Glacier_Humma
+        ChangeRefine: -20
+        RandomOptionGroup: Group_0
+        ClearSlots: true
+        RemoveEnchantgrade: true
+      - BaseItem: Glacier_Book
+        Materials:
+          - Material: Imperfect_Rune
+            Amount: 10
+        ResultItem: R_Glacier_Book
+        ChangeRefine: -20
+        RandomOptionGroup: Group_0
+        ClearSlots: true
+        RemoveEnchantgrade: true
+      - BaseItem: Glacier_Wand
+        Materials:
+          - Material: Imperfect_Rune
+            Amount: 10
+        ResultItem: R_Glacier_Wand
+        ChangeRefine: -20
+        RandomOptionGroup: Group_0
+        ClearSlots: true
+        RemoveEnchantgrade: true
+      - BaseItem: Glacier_Staff
+        Materials:
+          - Material: Imperfect_Rune
+            Amount: 10
+        ResultItem: R_Glacier_Staff
+        ChangeRefine: -20
+        RandomOptionGroup: Group_0
+        ClearSlots: true
+        RemoveEnchantgrade: true
+      - BaseItem: Glacier_Foxtail
+        Materials:
+          - Material: Imperfect_Rune
+            Amount: 10
+        ResultItem: R_Glacier_Foxtail
+        ChangeRefine: -20
+        RandomOptionGroup: Group_0
+        ClearSlots: true
+        RemoveEnchantgrade: true
+      - BaseItem: Glacier_Revolver
+        Materials:
+          - Material: Imperfect_Rune
+            Amount: 10
+        ResultItem: R_Glacier_Revolver
+        ChangeRefine: -20
+        RandomOptionGroup: Group_0
+        ClearSlots: true
+        RemoveEnchantgrade: true
+      - BaseItem: Glacier_Rifle
+        Materials:
+          - Material: Imperfect_Rune
+            Amount: 10
+        ResultItem: R_Glacier_Rifle
+        ChangeRefine: -20
+        RandomOptionGroup: Group_0
+        ClearSlots: true
+        RemoveEnchantgrade: true
+      - BaseItem: Glacier_Shotgun
+        Materials:
+          - Material: Imperfect_Rune
+            Amount: 10
+        ResultItem: R_Glacier_Shotgun
+        ChangeRefine: -20
+        RandomOptionGroup: Group_0
+        ClearSlots: true
+        RemoveEnchantgrade: true
+      - BaseItem: Glacier_Gatling
+        Materials:
+          - Material: Imperfect_Rune
+            Amount: 10
+        ResultItem: R_Glacier_Gatling
+        ChangeRefine: -20
+        RandomOptionGroup: Group_0
+        ClearSlots: true
+        RemoveEnchantgrade: true
+      - BaseItem: Glacier_Launcher
+        Materials:
+          - Material: Imperfect_Rune
+            Amount: 10
+        ResultItem: R_Glacier_Launcher
+        ChangeRefine: -20
+        RandomOptionGroup: Group_0
+        ClearSlots: true
+        RemoveEnchantgrade: true
   - Item: Season_H_Upgrade
     BaseItems:
       - BaseItem: Season_Hood_Spring
@@ -10701,3 +11025,697 @@ Body:
             Amount: 20
         ResultItem: FuriousCirclet_SH
         ChangeRefine: 1
+      - BaseItem: OverSpear_Furious
+        MinimumRefine: 9
+        MaximumRefine: 11
+        Materials:
+          - Material: HD_Etherdeocon
+            Amount: 10
+          - Material: Enriched_Etherdeocon
+            Amount: 20
+        ResultItem: OverSpear_Furious
+        ChangeRefine: 1
+      - BaseItem: Lance_Furious
+        MinimumRefine: 9
+        MaximumRefine: 11
+        Materials:
+          - Material: HD_Etherdeocon
+            Amount: 10
+          - Material: Enriched_Etherdeocon
+            Amount: 20
+        ResultItem: Lance_Furious
+        ChangeRefine: 1
+      - BaseItem: Impact_Furious
+        MinimumRefine: 9
+        MaximumRefine: 11
+        Materials:
+          - Material: HD_Etherdeocon
+            Amount: 10
+          - Material: Enriched_Etherdeocon
+            Amount: 20
+        ResultItem: Impact_Furious
+        ChangeRefine: 1
+      - BaseItem: RightShape_Furious
+        MinimumRefine: 9
+        MaximumRefine: 11
+        Materials:
+          - Material: HD_Etherdeocon
+            Amount: 10
+          - Material: Enriched_Etherdeocon
+            Amount: 20
+        ResultItem: RightShape_Furious
+        ChangeRefine: 1
+      - BaseItem: Humma_Furious
+        MinimumRefine: 9
+        MaximumRefine: 11
+        Materials:
+          - Material: HD_Etherdeocon
+            Amount: 10
+          - Material: Enriched_Etherdeocon
+            Amount: 20
+        ResultItem: Humma_Furious
+        ChangeRefine: 1
+      - BaseItem: WheelHumma_Furious
+        MinimumRefine: 9
+        MaximumRefine: 11
+        Materials:
+          - Material: HD_Etherdeocon
+            Amount: 10
+          - Material: Enriched_Etherdeocon
+            Amount: 20
+        ResultItem: WheelHumma_Furious
+        ChangeRefine: 1
+      - BaseItem: FuriousCirclet_IG
+        MinimumRefine: 9
+        MaximumRefine: 11
+        Materials:
+          - Material: HD_Ethernium
+            Amount: 10
+          - Material: Enriched_Ethernium
+            Amount: 20
+        ResultItem: FuriousCirclet_IG
+        ChangeRefine: 1
+      - BaseItem: FuriousCirclet_SHC
+        MinimumRefine: 9
+        MaximumRefine: 11
+        Materials:
+          - Material: HD_Ethernium
+            Amount: 10
+          - Material: Enriched_Ethernium
+            Amount: 20
+        ResultItem: FuriousCirclet_SHC
+        ChangeRefine: 1
+      - BaseItem: FuriousCirclet_SS
+        MinimumRefine: 9
+        MaximumRefine: 11
+        Materials:
+          - Material: HD_Ethernium
+            Amount: 10
+          - Material: Enriched_Ethernium
+            Amount: 20
+        ResultItem: FuriousCirclet_SS
+        ChangeRefine: 1
+      - BaseItem: Shield_Furious
+        MinimumRefine: 9
+        MaximumRefine: 11
+        Materials:
+          - Material: HD_Ethernium
+            Amount: 10
+          - Material: Enriched_Ethernium
+            Amount: 20
+        ResultItem: Shield_Furious
+        ChangeRefine: 1
+      - BaseItem: LeftShape_Furious
+        MinimumRefine: 9
+        MaximumRefine: 11
+        Materials:
+          - Material: HD_Etherdeocon
+            Amount: 10
+          - Material: Enriched_Etherdeocon
+            Amount: 20
+        ResultItem: LeftShape_Furious
+        ChangeRefine: 1
+      - BaseItem: GiganticAxe_Furious
+        MinimumRefine: 9
+        MaximumRefine: 11
+        Materials:
+          - Material: HD_Etherdeocon
+            Amount: 10
+          - Material: Enriched_Etherdeocon
+            Amount: 20
+        ResultItem: GiganticAxe_Furious
+        ChangeRefine: 1
+      - BaseItem: Hammer_Furious
+        MinimumRefine: 9
+        MaximumRefine: 11
+        Materials:
+          - Material: HD_Etherdeocon
+            Amount: 10
+          - Material: Enriched_Etherdeocon
+            Amount: 20
+        ResultItem: Hammer_Furious
+        ChangeRefine: 1
+      - BaseItem: MasterSpellBook_Furious
+        MinimumRefine: 9
+        MaximumRefine: 11
+        Materials:
+          - Material: HD_Etherdeocon
+            Amount: 10
+          - Material: Enriched_Etherdeocon
+            Amount: 20
+        ResultItem: MasterSpellBook_Furious
+        ChangeRefine: 1
+      - BaseItem: Grimoire_Furious
+        MinimumRefine: 9
+        MaximumRefine: 11
+        Materials:
+          - Material: HD_Etherdeocon
+            Amount: 10
+          - Material: Enriched_Etherdeocon
+            Amount: 20
+        ResultItem: Grimoire_Furious
+        ChangeRefine: 1
+      - BaseItem: Soul_Furious
+        MinimumRefine: 9
+        MaximumRefine: 11
+        Materials:
+          - Material: HD_Etherdeocon
+            Amount: 10
+          - Material: Enriched_Etherdeocon
+            Amount: 20
+        ResultItem: Soul_Furious
+        ChangeRefine: 1
+      - BaseItem: SpiritStick_Furious
+        MinimumRefine: 9
+        MaximumRefine: 11
+        Materials:
+          - Material: HD_Etherdeocon
+            Amount: 10
+          - Material: Enriched_Etherdeocon
+            Amount: 20
+        ResultItem: SpiritStick_Furious
+        ChangeRefine: 1
+      - BaseItem: FuriousCirclet_MT
+        MinimumRefine: 9
+        MaximumRefine: 11
+        Materials:
+          - Material: HD_Ethernium
+            Amount: 10
+          - Material: Enriched_Ethernium
+            Amount: 20
+        ResultItem: FuriousCirclet_MT
+        ChangeRefine: 1
+      - BaseItem: FuriousCirclet_EM
+        MinimumRefine: 9
+        MaximumRefine: 11
+        Materials:
+          - Material: HD_Ethernium
+            Amount: 10
+          - Material: Enriched_Ethernium
+            Amount: 20
+        ResultItem: FuriousCirclet_EM
+        ChangeRefine: 1
+      - BaseItem: FuriousCirclet_SOA
+        MinimumRefine: 9
+        MaximumRefine: 11
+        Materials:
+          - Material: HD_Ethernium
+            Amount: 10
+          - Material: Enriched_Ethernium
+            Amount: 20
+        ResultItem: FuriousCirclet_SOA
+        ChangeRefine: 1
+      - BaseItem: FuriousCirclet_TR
+        MinimumRefine: 9
+        MaximumRefine: 11
+        Materials:
+          - Material: HD_Ethernium
+            Amount: 10
+          - Material: Enriched_Ethernium
+            Amount: 20
+        ResultItem: FuriousCirclet_TR
+        ChangeRefine: 1
+      - BaseItem: FuriousCirclet_BO
+        MinimumRefine: 9
+        MaximumRefine: 11
+        Materials:
+          - Material: HD_Ethernium
+            Amount: 10
+          - Material: Enriched_Ethernium
+            Amount: 20
+        ResultItem: FuriousCirclet_BO
+        ChangeRefine: 1
+      - BaseItem: FuriousCirclet_HN
+        MinimumRefine: 9
+        MaximumRefine: 11
+        Materials:
+          - Material: HD_Ethernium
+            Amount: 10
+          - Material: Enriched_Ethernium
+            Amount: 20
+        ResultItem: FuriousCirclet_HN
+        ChangeRefine: 1
+      - BaseItem: Lapier_Furious
+        MinimumRefine: 9
+        MaximumRefine: 11
+        Materials:
+          - Material: HD_Etherdeocon
+            Amount: 10
+          - Material: Enriched_Etherdeocon
+            Amount: 20
+        ResultItem: Lapier_Furious
+        ChangeRefine: 1
+      - BaseItem: SharpSword_Furious
+        MinimumRefine: 9
+        MaximumRefine: 11
+        Materials:
+          - Material: HD_Etherdeocon
+            Amount: 10
+          - Material: Enriched_Etherdeocon
+            Amount: 20
+        ResultItem: SharpSword_Furious
+        ChangeRefine: 1
+      - BaseItem: WhiteSword_Furious
+        MinimumRefine: 9
+        MaximumRefine: 11
+        Materials:
+          - Material: HD_Etherdeocon
+            Amount: 10
+          - Material: Enriched_Etherdeocon
+            Amount: 20
+        ResultItem: WhiteSword_Furious
+        ChangeRefine: 1
+      - BaseItem: Stick_Furious
+        MinimumRefine: 9
+        MaximumRefine: 11
+        Materials:
+          - Material: HD_Etherdeocon
+            Amount: 10
+          - Material: Enriched_Etherdeocon
+            Amount: 20
+        ResultItem: Stick_Furious
+        ChangeRefine: 1
+      - BaseItem: MetalVilolin_Furious
+        MinimumRefine: 9
+        MaximumRefine: 11
+        Materials:
+          - Material: HD_Etherdeocon
+            Amount: 10
+          - Material: Enriched_Etherdeocon
+            Amount: 20
+        ResultItem: MetalVilolin_Furious
+        ChangeRefine: 1
+      - BaseItem: Harp_Furious
+        MinimumRefine: 9
+        MaximumRefine: 11
+        Materials:
+          - Material: HD_Etherdeocon
+            Amount: 10
+          - Material: Enriched_Etherdeocon
+            Amount: 20
+        ResultItem: Harp_Furious
+        ChangeRefine: 1
+      - BaseItem: MetalWhip_Furious
+        MinimumRefine: 9
+        MaximumRefine: 11
+        Materials:
+          - Material: HD_Etherdeocon
+            Amount: 10
+          - Material: Enriched_Etherdeocon
+            Amount: 20
+        ResultItem: MetalWhip_Furious
+        ChangeRefine: 1
+      - BaseItem: Whip_Furious
+        MinimumRefine: 9
+        MaximumRefine: 11
+        Materials:
+          - Material: HD_Etherdeocon
+            Amount: 10
+          - Material: Enriched_Etherdeocon
+            Amount: 20
+        ResultItem: Whip_Furious
+        ChangeRefine: 1
+      - BaseItem: Flame_Staff_Furious
+        MinimumRefine: 9
+        MaximumRefine: 11
+        Materials:
+          - Material: HD_Etherdeocon
+            Amount: 10
+          - Material: Enriched_Etherdeocon
+            Amount: 20
+        ResultItem: Flame_Staff_Furious
+        ChangeRefine: 1
+      - BaseItem: Rifle_Furious
+        MinimumRefine: 9
+        MaximumRefine: 11
+        Materials:
+          - Material: HD_Etherdeocon
+            Amount: 10
+          - Material: Enriched_Etherdeocon
+            Amount: 20
+        ResultItem: Rifle_Furious
+        ChangeRefine: 1
+      - BaseItem: Gatling_Furious
+        MinimumRefine: 9
+        MaximumRefine: 11
+        Materials:
+          - Material: HD_Etherdeocon
+            Amount: 10
+          - Material: Enriched_Etherdeocon
+            Amount: 20
+        ResultItem: Gatling_Furious
+        ChangeRefine: 1
+      - BaseItem: Specter_Furious
+        MinimumRefine: 9
+        MaximumRefine: 11
+        Materials:
+          - Material: HD_Etherdeocon
+            Amount: 10
+          - Material: Enriched_Etherdeocon
+            Amount: 20
+        ResultItem: Specter_Furious
+        ChangeRefine: 1
+      - BaseItem: GaleClaw_Furious
+        MinimumRefine: 9
+        MaximumRefine: 11
+        Materials:
+          - Material: HD_Etherdeocon
+            Amount: 10
+          - Material: Enriched_Etherdeocon
+            Amount: 20
+        ResultItem: GaleClaw_Furious
+        ChangeRefine: 1
+      - BaseItem: Exterminate_Furious
+        MinimumRefine: 9
+        MaximumRefine: 11
+        Materials:
+          - Material: HD_Etherdeocon
+            Amount: 10
+          - Material: Enriched_Etherdeocon
+            Amount: 20
+        ResultItem: Exterminate_Furious
+        ChangeRefine: 1
+      - BaseItem: FuriousCirclet_AG
+        MinimumRefine: 9
+        MaximumRefine: 11
+        Materials:
+          - Material: HD_Ethernium
+            Amount: 10
+          - Material: Enriched_Ethernium
+            Amount: 20
+        ResultItem: FuriousCirclet_AG
+        ChangeRefine: 1
+      - BaseItem: FuriousCirclet_IQ
+        MinimumRefine: 9
+        MaximumRefine: 11
+        Materials:
+          - Material: HD_Ethernium
+            Amount: 10
+          - Material: Enriched_Ethernium
+            Amount: 20
+        ResultItem: FuriousCirclet_IQ
+        ChangeRefine: 1
+      - BaseItem: FuriousCirclet_NW
+        MinimumRefine: 9
+        MaximumRefine: 11
+        Materials:
+          - Material: HD_Ethernium
+            Amount: 10
+          - Material: Enriched_Ethernium
+            Amount: 20
+        ResultItem: FuriousCirclet_NW
+        ChangeRefine: 1
+  - Item: Gaebolg_A_Hammer_1
+    BaseItems:
+      - BaseItem: Gaebolg_Armor
+        MinimumRefine: 9
+        MaximumRefine: 9
+        Materials:
+          - Material: Zelunium
+            Amount: 150
+          - Material: Ep21_Armor_E_Stone1
+            Amount: 20
+          - Material: Ep21_Robe_E_Stone1
+            Amount: 20
+          - Material: Ep21_Shoes_E_Stone1
+            Amount: 20
+          - Material: Ep21_Acc_E_Stone1
+            Amount: 20
+        ResultItem: Gaebolg_Armor
+        ChangeRefine: 1
+      - BaseItem: Gaebolg_Robe
+        MinimumRefine: 9
+        MaximumRefine: 9
+        Materials:
+          - Material: Zelunium
+            Amount: 150
+          - Material: Ep21_Armor_E_Stone1
+            Amount: 20
+          - Material: Ep21_Robe_E_Stone1
+            Amount: 20
+          - Material: Ep21_Shoes_E_Stone1
+            Amount: 20
+          - Material: Ep21_Acc_E_Stone1
+            Amount: 20
+        ResultItem: Gaebolg_Robe
+        ChangeRefine: 1
+      - BaseItem: Gaebolg_Manteau
+        MinimumRefine: 9
+        MaximumRefine: 9
+        Materials:
+          - Material: Zelunium
+            Amount: 150
+          - Material: Ep21_Armor_E_Stone1
+            Amount: 20
+          - Material: Ep21_Robe_E_Stone1
+            Amount: 20
+          - Material: Ep21_Shoes_E_Stone1
+            Amount: 20
+          - Material: Ep21_Acc_E_Stone1
+            Amount: 20
+        ResultItem: Gaebolg_Manteau
+        ChangeRefine: 1
+      - BaseItem: Gaebolg_Muffler
+        MinimumRefine: 9
+        MaximumRefine: 9
+        Materials:
+          - Material: Zelunium
+            Amount: 150
+          - Material: Ep21_Armor_E_Stone1
+            Amount: 20
+          - Material: Ep21_Robe_E_Stone1
+            Amount: 20
+          - Material: Ep21_Shoes_E_Stone1
+            Amount: 20
+          - Material: Ep21_Acc_E_Stone1
+            Amount: 20
+        ResultItem: Gaebolg_Muffler
+        ChangeRefine: 1
+      - BaseItem: Gaebolg_Boots
+        MinimumRefine: 9
+        MaximumRefine: 9
+        Materials:
+          - Material: Zelunium
+            Amount: 150
+          - Material: Ep21_Armor_E_Stone1
+            Amount: 20
+          - Material: Ep21_Robe_E_Stone1
+            Amount: 20
+          - Material: Ep21_Shoes_E_Stone1
+            Amount: 20
+          - Material: Ep21_Acc_E_Stone1
+            Amount: 20
+        ResultItem: Gaebolg_Boots
+        ChangeRefine: 1
+      - BaseItem: Gaebolg_Shoes
+        MinimumRefine: 9
+        MaximumRefine: 9
+        Materials:
+          - Material: Zelunium
+            Amount: 150
+          - Material: Ep21_Armor_E_Stone1
+            Amount: 20
+          - Material: Ep21_Robe_E_Stone1
+            Amount: 20
+          - Material: Ep21_Shoes_E_Stone1
+            Amount: 20
+          - Material: Ep21_Acc_E_Stone1
+            Amount: 20
+        ResultItem: Gaebolg_Shoes
+        ChangeRefine: 1
+  - Item: Gaebolg_A_Hammer_2
+    BaseItems:
+      - BaseItem: Gaebolg_Armor
+        MinimumRefine: 10
+        MaximumRefine: 10
+        Materials:
+          - Material: Zelunium
+            Amount: 200
+          - Material: Ep21_Armor_E_Stone2
+            Amount: 7
+          - Material: Ep21_Robe_E_Stone2
+            Amount: 7
+          - Material: Ep21_Shoes_E_Stone2
+            Amount: 7
+          - Material: Ep21_Acc_E_Stone2
+            Amount: 7
+        ResultItem: Gaebolg_Armor
+        ChangeRefine: 1
+      - BaseItem: Gaebolg_Robe
+        MinimumRefine: 10
+        MaximumRefine: 10
+        Materials:
+          - Material: Zelunium
+            Amount: 200
+          - Material: Ep21_Armor_E_Stone2
+            Amount: 7
+          - Material: Ep21_Robe_E_Stone2
+            Amount: 7
+          - Material: Ep21_Shoes_E_Stone2
+            Amount: 7
+          - Material: Ep21_Acc_E_Stone2
+            Amount: 7
+        ResultItem: Gaebolg_Robe
+        ChangeRefine: 1
+      - BaseItem: Gaebolg_Manteau
+        MinimumRefine: 10
+        MaximumRefine: 10
+        Materials:
+          - Material: Zelunium
+            Amount: 200
+          - Material: Ep21_Armor_E_Stone2
+            Amount: 7
+          - Material: Ep21_Robe_E_Stone2
+            Amount: 7
+          - Material: Ep21_Shoes_E_Stone2
+            Amount: 7
+          - Material: Ep21_Acc_E_Stone2
+            Amount: 7
+        ResultItem: Gaebolg_Manteau
+        ChangeRefine: 1
+      - BaseItem: Gaebolg_Muffler
+        MinimumRefine: 10
+        MaximumRefine: 10
+        Materials:
+          - Material: Zelunium
+            Amount: 200
+          - Material: Ep21_Armor_E_Stone2
+            Amount: 7
+          - Material: Ep21_Robe_E_Stone2
+            Amount: 7
+          - Material: Ep21_Shoes_E_Stone2
+            Amount: 7
+          - Material: Ep21_Acc_E_Stone2
+            Amount: 7
+        ResultItem: Gaebolg_Muffler
+        ChangeRefine: 1
+      - BaseItem: Gaebolg_Boots
+        MinimumRefine: 10
+        MaximumRefine: 10
+        Materials:
+          - Material: Zelunium
+            Amount: 200
+          - Material: Ep21_Armor_E_Stone2
+            Amount: 7
+          - Material: Ep21_Robe_E_Stone2
+            Amount: 7
+          - Material: Ep21_Shoes_E_Stone2
+            Amount: 7
+          - Material: Ep21_Acc_E_Stone2
+            Amount: 7
+        ResultItem: Gaebolg_Boots
+        ChangeRefine: 1
+      - BaseItem: Gaebolg_Shoes
+        MinimumRefine: 10
+        MaximumRefine: 10
+        Materials:
+          - Material: Zelunium
+            Amount: 200
+          - Material: Ep21_Armor_E_Stone2
+            Amount: 7
+          - Material: Ep21_Robe_E_Stone2
+            Amount: 7
+          - Material: Ep21_Shoes_E_Stone2
+            Amount: 7
+          - Material: Ep21_Acc_E_Stone2
+            Amount: 7
+        ResultItem: Gaebolg_Shoes
+        ChangeRefine: 1
+  - Item: Gaebolg_A_Hammer_3
+    BaseItems:
+      - BaseItem: Gaebolg_Armor
+        MinimumRefine: 11
+        MaximumRefine: 11
+        Materials:
+          - Material: Zelunium
+            Amount: 250
+          - Material: Ep21_Armor_E_Stone3
+            Amount: 5
+          - Material: Ep21_Robe_E_Stone3
+            Amount: 5
+          - Material: Ep21_Shoes_E_Stone3
+            Amount: 5
+          - Material: Ep21_Acc_E_Stone3
+            Amount: 5
+        ResultItem: Gaebolg_Armor
+        ChangeRefine: 1
+      - BaseItem: Gaebolg_Robe
+        MinimumRefine: 11
+        MaximumRefine: 11
+        Materials:
+          - Material: Zelunium
+            Amount: 250
+          - Material: Ep21_Armor_E_Stone3
+            Amount: 5
+          - Material: Ep21_Robe_E_Stone3
+            Amount: 5
+          - Material: Ep21_Shoes_E_Stone3
+            Amount: 5
+          - Material: Ep21_Acc_E_Stone3
+            Amount: 5
+        ResultItem: Gaebolg_Robe
+        ChangeRefine: 1
+      - BaseItem: Gaebolg_Manteau
+        MinimumRefine: 11
+        MaximumRefine: 11
+        Materials:
+          - Material: Zelunium
+            Amount: 250
+          - Material: Ep21_Armor_E_Stone3
+            Amount: 5
+          - Material: Ep21_Robe_E_Stone3
+            Amount: 5
+          - Material: Ep21_Shoes_E_Stone3
+            Amount: 5
+          - Material: Ep21_Acc_E_Stone3
+            Amount: 5
+        ResultItem: Gaebolg_Manteau
+        ChangeRefine: 1
+      - BaseItem: Gaebolg_Muffler
+        MinimumRefine: 11
+        MaximumRefine: 11
+        Materials:
+          - Material: Zelunium
+            Amount: 250
+          - Material: Ep21_Armor_E_Stone3
+            Amount: 5
+          - Material: Ep21_Robe_E_Stone3
+            Amount: 5
+          - Material: Ep21_Shoes_E_Stone3
+            Amount: 5
+          - Material: Ep21_Acc_E_Stone3
+            Amount: 5
+        ResultItem: Gaebolg_Muffler
+        ChangeRefine: 1
+      - BaseItem: Gaebolg_Boots
+        MinimumRefine: 11
+        MaximumRefine: 11
+        Materials:
+          - Material: Zelunium
+            Amount: 250
+          - Material: Ep21_Armor_E_Stone3
+            Amount: 5
+          - Material: Ep21_Robe_E_Stone3
+            Amount: 5
+          - Material: Ep21_Shoes_E_Stone3
+            Amount: 5
+          - Material: Ep21_Acc_E_Stone3
+            Amount: 5
+        ResultItem: Gaebolg_Boots
+        ChangeRefine: 1
+      - BaseItem: Gaebolg_Shoes
+        MinimumRefine: 11
+        MaximumRefine: 11
+        Materials:
+          - Material: Zelunium
+            Amount: 250
+          - Material: Ep21_Armor_E_Stone3
+            Amount: 5
+          - Material: Ep21_Robe_E_Stone3
+            Amount: 5
+          - Material: Ep21_Shoes_E_Stone3
+            Amount: 5
+          - Material: Ep21_Acc_E_Stone3
+            Amount: 5
+        ResultItem: Gaebolg_Shoes
+        ChangeRefine: 1

+ 8 - 4
db/re/job_stats.yml

@@ -9213,7 +9213,7 @@ Body:
         Vit: 1
         Int: 1
       - Level: 13
-        Agi: 1
+        Dex: 1
         Spl: 1
       - Level: 14
         Sta: 1
@@ -9229,7 +9229,7 @@ Body:
         Int: 1
         Dex: 1
       - Level: 19
-        Dex: 1
+        Int: 1
       - Level: 20
         Vit: 1
         Int: 1
@@ -11154,7 +11154,6 @@ Body:
       - Level: 2
         Str: 1
         Agi: 1
-        Sta: 1
       - Level: 3
         Vit: 1
         Luk: 1
@@ -11190,6 +11189,7 @@ Body:
         Dex: 1
       - Level: 15
         Luk: 1
+        Sta: 1
       - Level: 16
         Vit: 1
         Int: 1
@@ -11230,13 +11230,13 @@ Body:
       - Level: 30
         Str: 1
         Int: 1
-        Sta: 1
       - Level: 31
         Dex: 1
         Con: 1
       - Level: 32
         Pow: 1
       - Level: 33
+        Sta: 1
         Crt: 1
       - Level: 34
         Crt: 1
@@ -11251,7 +11251,10 @@ Body:
       - Level: 40
         Pow: 1
       - Level: 41
+        Sta: 1
         Con: 1
+      - Level: 42
+        Sta: 1
       - Level: 43
         Crt: 1
       - Level: 44
@@ -11260,6 +11263,7 @@ Body:
         Con: 1
       - Level: 46
         Pow: 1
+        Sta: 1
       - Level: 47
         Con: 1
       - Level: 48

Rozdielové dáta súboru neboli zobrazené, pretože súbor je príliš veľký
+ 126 - 2
db/re/mob_db.yml


+ 193 - 110
db/re/mob_skill_db.txt

@@ -102,7 +102,7 @@
 1019,Peco Peco@NPC_EMOTION,chase,197,1,2000,0,5000,yes,self,always,0,6,,,,,,
 1019,Peco Peco@NPC_FIREATTACK,attack,186,1,2000,0,5000,yes,target,always,0,,,,,,,
 1019,Peco Peco@NPC_PROVOCATION,chase,194,1,200,0,5000,yes,target,always,0,,,,,,19,
-1020,Mandragora@NPC_GROUNDATTACK,attack,185,1,2000,0,5000,yes,randomtarget,always,0,,,,,,,
+1020,Mandragora@NPC_GROUNDATTACK,attack,185,1,2000,0,5000,yes,target,always,0,,,,,,,
 1023,Orc Warrior@NPC_EMOTION,chase,197,1,2000,0,5000,yes,self,always,0,,,,,,,
 1023,Orc Warrior@NPC_GROUNDATTACK,attack,185,2,500,500,5000,no,target,always,0,,,,,,6,
 1023,Orc Warrior@NPC_EMOTION,chase,197,1,200,0,5000,yes,self,always,0,19,0x81,,,,,
@@ -351,7 +351,7 @@
 1067,Cornutus@NPC_WATERATTACK,attack,184,2,500,500,5000,no,target,always,0,,,,,,6,
 1067,Cornutus@CR_AUTOGUARD,attack,249,2,500,0,300000,yes,self,always,0,,,,,,,
 1067,Cornutus@CR_AUTOGUARD,chase,249,2,2000,0,300000,yes,self,longrangeattacked,,,,,,,,
-1068,Hydra@NPC_WATERATTACK,attack,184,2,500,500,5000,no,randomtarget,always,0,,,,,,,
+1068,Hydra@NPC_WATERATTACK,attack,184,2,500,500,5000,no,target,always,0,,,,,,,
 1069,Swordfish@NPC_WATERATTACK,attack,184,1,2000,0,5000,yes,target,always,0,,,,,,,
 1069,Swordfish@WZ_WATERBALL,attack,86,3,500,1500,5000,yes,target,always,0,,,,,,,
 1069,Swordfish@WZ_WATERBALL,chase,86,3,500,1500,5000,yes,target,always,0,,,,,,,
@@ -603,9 +603,9 @@
 1117,Evil Druid@NPC_UNDEADATTACK,chase,347,3,500,500,5000,no,target,always,0,,,,,,9,
 1117,Evil Druid@WZ_HEAVENDRIVE,attack,91,5,500,1200,5000,yes,target,always,0,,,,,,,
 1117,Evil Druid@WZ_HEAVENDRIVE,chase,91,5,500,1200,5000,yes,target,always,0,,,,,,,
-1118,Flora@NPC_BLOODDRAIN,attack,199,1,500,0,5000,yes,randomtarget,always,0,,,,,,,
+1118,Flora@NPC_BLOODDRAIN,attack,199,1,500,0,5000,yes,target,always,0,,,,,,,
 1118,Flora@NPC_EMOTION,idle,197,1,2000,0,5000,yes,self,always,0,2,,,,,,
-1118,Flora@NPC_GROUNDATTACK,attack,185,1,2000,0,5000,yes,randomtarget,always,0,,,,,,,
+1118,Flora@NPC_GROUNDATTACK,attack,185,1,2000,0,5000,yes,target,always,0,,,,,,,
 1119,Frilldora@AS_CLOAKING,attack,135,1,2000,200,5000,yes,self,always,0,,,,,,,
 1119,Frilldora@AS_CLOAKING,idle,135,1,2000,200,5000,yes,self,always,0,,,,,,,
 1119,Frilldora@AS_CLOAKING,chase,135,1,2000,200,5000,yes,self,always,0,,,,,,,
@@ -1301,7 +1301,7 @@
 1276,Raydric Archer@CR_AUTOGUARD,attack,249,2,500,0,300000,yes,self,always,0,,,,,,,
 1277,Greatest General@NPC_BLINDATTACK,idle,177,3,10000,1500,5000,no,randomtarget,longrangeattacked,,,,,,,6,
 1277,Greatest General@NPC_BLINDATTACK,idle,177,3,10000,1500,5000,no,randomtarget,casttargeted,,,,,,,6,
-1277,Greatest General@NPC_FIREATTACK,attack,186,2,500,500,5000,no,randomtarget,always,0,,,,,,,
+1277,Greatest General@NPC_FIREATTACK,attack,186,2,500,500,5000,no,target,always,0,,,,,,,
 1277,Greatest General@WZ_EARTHSPIKE,idle,90,3,5000,1500,5000,no,randomtarget,longrangeattacked,,,,,,,6,
 1277,Greatest General@WZ_EARTHSPIKE,idle,90,3,5000,1500,5000,no,randomtarget,casttargeted,,,,,,,6,
 1278,Stalactite Golem@NPC_STUNATTACK,attack,179,4,500,1500,5000,no,target,always,0,,,,,,6,
@@ -1584,7 +1584,7 @@
 1367,Blazer@WZ_SIGHTRASHER,attack,81,5,500,1000,5000,no,target,always,0,,,,,,6,
 1368,Geographer@AL_HEAL,attack,28,9,10000,500,5000,yes,friend,friendhpltmaxrate,60,,,,,,,
 1368,Geographer@AL_HEAL,idle,28,9,10000,500,5000,yes,friend,friendhpltmaxrate,60,,,,,,,
-1368,Geographer@NPC_SLEEPATTACK,attack,182,5,500,0,5000,yes,randomtarget,always,0,,,,,,,
+1368,Geographer@NPC_SLEEPATTACK,attack,182,5,500,0,5000,yes,target,always,0,,,,,,,
 1369,Grand Peco@AS_SONICBLOW,attack,136,5,500,800,5000,no,target,always,0,,,,,,6,
 1369,Grand Peco@NPC_FIREATTACK,attack,186,3,500,500,5000,no,target,always,0,,,,,,6,
 1369,Grand Peco@NPC_EMOTION,chase,197,1,200,0,5000,yes,self,always,0,19,0x81,,,,,
@@ -2569,8 +2569,8 @@
 1510,Hylozoist@MO_BODYRELOCATION,chase,264,1,2000,500,5000,no,target,always,0,,,,,,,
 1511,Amon Ra@NPC_BLOODDRAIN,idle,199,1,2000,0,5000,yes,randomtarget,always,0,,,,,,29,
 1511,Amon Ra@NPC_BLOODDRAIN,idle,199,1,2000,0,5000,yes,randomtarget,always,0,,,,,,29,
-1511,Amon Ra@NPC_BLOODDRAIN,attack,199,1,2000,0,5000,yes,randomtarget,always,0,,,,,,29,
-1511,Amon Ra@NPC_BLOODDRAIN,attack,199,1,2000,0,5000,yes,randomtarget,always,0,,,,,,29,
+1511,Amon Ra@NPC_BLOODDRAIN,attack,199,1,2000,0,5000,yes,target,always,0,,,,,,29,
+1511,Amon Ra@NPC_BLOODDRAIN,attack,199,1,2000,0,5000,yes,target,always,0,,,,,,29,
 1511,Amon Ra@NPC_SUMMONMONSTER,idle,209,5,5000,0,10000,no,self,longrangeattacked,0,1474,1477,1438,,,9,
 1511,Amon Ra@NPC_SUMMONMONSTER,idle,209,5,5000,0,10000,no,self,casttargeted,0,1474,1477,1438,,,9,
 1511,Amon Ra@NPC_SUMMONMONSTER,attack,209,5,5000,0,10000,no,self,longrangeattacked,0,1474,1477,1438,,,9,
@@ -2589,11 +2589,11 @@
 1511,Amon Ra@WZ_METEOR,idle,83,11,10000,0,0,yes,randomtarget,skillused,83,,,,,,9,
 1511,Amon Ra@WZ_METEOR,idle,83,11,10000,0,0,yes,randomtarget,longrangeattacked,,,,,,,9,
 1511,Amon Ra@WZ_METEOR,idle,83,11,10000,0,0,yes,randomtarget,casttargeted,,,,,,,9,
-1511,Amon Ra@WZ_METEOR,attack,83,11,5000,0,3000,yes,randomtarget,always,0,,,,,,9,
+1511,Amon Ra@WZ_METEOR,attack,83,11,5000,0,3000,yes,target,always,0,,,,,,9,
 1511,Amon Ra@WZ_FIREPILLAR,idle,80,10,10000,0,2000,yes,around2,always,0,,,,,,,
 1511,Amon Ra@WZ_FIREPILLAR,idle,80,10,10000,0,2000,yes,around2,always,0,,,,,,,
 1511,Amon Ra@WZ_FIREPILLAR,attack,80,10,5000,0,2000,yes,around2,always,0,,,,,,,
-1511,Amon Ra@NPC_DARKBLESSING,attack,203,1,5000,0,2000,no,randomtarget,always,0,,,,,,,
+1511,Amon Ra@NPC_DARKBLESSING,attack,203,1,5000,0,2000,no,target,always,0,,,,,,,
 1511,Amon Ra@WZ_METEOR,idle,83,11,10000,0,5000,yes,randomtarget,always,0,,,,,,9,
 1511,Amon Ra@AL_TELEPORT,idle,26,1,10000,0,0,yes,self,rudeattacked,,,,,,,,
 1511,Amon Ra@AL_TELEPORT,walk,26,1,5000,0,5000,yes,self,rudeattacked,,,,,,,,
@@ -3405,18 +3405,18 @@
 1663,Laurell Weinder@NPC_EMOTION,idle,197,1,10000,0,5000,yes,self,skillused,28,15,,,,,,
 1663,Laurell Weinder@NPC_EMOTION,attack,197,1,10000,0,5000,yes,self,skillused,28,15,,,,,,
 1663,Laurell Weinder@NPC_EMOTION,chase,197,1,10000,0,5000,yes,self,skillused,28,15,,,,,,
-1664,Photon Cannon@NPC_WINDATTACK,attack,187,5,1000,1000,10000,yes,randomtarget,always,0,,,,,,,
-1664,Photon Cannon@NPC_WINDATTACK,attack,187,3,2000,500,5000,yes,randomtarget,always,0,,,,,,,
-1664,Photon Cannon@NPC_WINDATTACK,attack,187,1,10000,0,0,yes,randomtarget,always,0,,,,,,,
-1665,Photon Cannon@NPC_FIREATTACK,attack,186,5,1000,1000,10000,yes,randomtarget,always,0,,,,,,,
-1665,Photon Cannon@NPC_FIREATTACK,attack,186,3,2000,500,5000,yes,randomtarget,always,0,,,,,,,
-1665,Photon Cannon@NPC_FIREATTACK,attack,186,1,10000,0,0,yes,randomtarget,always,0,,,,,,,
-1666,Photon Cannon@NPC_WATERATTACK,attack,184,5,1000,1000,10000,yes,randomtarget,always,0,,,,,,,
-1666,Photon Cannon@NPC_WATERATTACK,attack,184,3,2000,500,5000,yes,randomtarget,always,0,,,,,,,
-1666,Photon Cannon@NPC_WATERATTACK,attack,184,1,10000,0,0,yes,randomtarget,always,0,,,,,,,
-1667,Photon Cannon@NPC_GROUNDATTACK,attack,185,5,1000,1000,10000,yes,randomtarget,always,0,,,,,,,
-1667,Photon Cannon@NPC_GROUNDATTACK,attack,185,3,2000,500,5000,yes,randomtarget,always,0,,,,,,,
-1667,Photon Cannon@NPC_GROUNDATTACK,attack,185,1,10000,0,0,yes,randomtarget,always,0,,,,,,,
+1664,Photon Cannon@NPC_WINDATTACK,attack,187,5,1000,1000,10000,yes,target,always,0,,,,,,,
+1664,Photon Cannon@NPC_WINDATTACK,attack,187,3,2000,500,5000,yes,target,always,0,,,,,,,
+1664,Photon Cannon@NPC_WINDATTACK,attack,187,1,10000,0,0,yes,target,always,0,,,,,,,
+1665,Photon Cannon@NPC_FIREATTACK,attack,186,5,1000,1000,10000,yes,target,always,0,,,,,,,
+1665,Photon Cannon@NPC_FIREATTACK,attack,186,3,2000,500,5000,yes,target,always,0,,,,,,,
+1665,Photon Cannon@NPC_FIREATTACK,attack,186,1,10000,0,0,yes,target,always,0,,,,,,,
+1666,Photon Cannon@NPC_WATERATTACK,attack,184,5,1000,1000,10000,yes,target,always,0,,,,,,,
+1666,Photon Cannon@NPC_WATERATTACK,attack,184,3,2000,500,5000,yes,target,always,0,,,,,,,
+1666,Photon Cannon@NPC_WATERATTACK,attack,184,1,10000,0,0,yes,target,always,0,,,,,,,
+1667,Photon Cannon@NPC_GROUNDATTACK,attack,185,5,1000,1000,10000,yes,target,always,0,,,,,,,
+1667,Photon Cannon@NPC_GROUNDATTACK,attack,185,3,2000,500,5000,yes,target,always,0,,,,,,,
+1667,Photon Cannon@NPC_GROUNDATTACK,attack,185,1,10000,0,0,yes,target,always,0,,,,,,,
 1668,Archdam@NPC_PIERCINGATT,attack,158,5,1000,0,5000,yes,target,always,0,,,,,,,
 1668,Archdam@NPC_GUIDEDATTACK,attack,172,2,500,1000,20000,no,target,always,0,,,,,,29,
 1668,Archdam@KN_SPEARSTAB,attack,58,5,500,800,5000,no,target,always,0,,,,,,,
@@ -3453,9 +3453,9 @@
 1673,Dimik@NPC_COMBOATTACK,attack,171,4,500,700,5000,no,target,always,0,,,,,,,
 1673,Dimik@NPC_COMBOATTACK,chase,171,4,500,700,5000,no,target,always,0,,,,,,,
 1673,Dimik@NPC_FIREATTACK,attack,186,3,500,0,5000,yes,target,always,0,,,,,,,
-1674,Monemus@NPC_FIREATTACK,attack,186,10,500,1000,30000,yes,randomtarget,always,0,,,,,,,
-1674,Monemus@NPC_FIREATTACK,attack,186,3,1000,0,10000,yes,randomtarget,always,0,,,,,,,
-1674,Monemus@NPC_FIREATTACK,attack,186,1,10000,0,0,yes,randomtarget,always,0,,,,,,,
+1674,Monemus@NPC_FIREATTACK,attack,186,10,500,1000,30000,yes,target,always,0,,,,,,,
+1674,Monemus@NPC_FIREATTACK,attack,186,3,1000,0,10000,yes,target,always,0,,,,,,,
+1674,Monemus@NPC_FIREATTACK,attack,186,1,10000,0,0,yes,target,always,0,,,,,,,
 1675,Venatu@NPC_SILENCEATTACK,attack,178,3,500,700,5000,no,target,always,0,,,,,,,
 1675,Venatu@NPC_GUIDEDATTACK,attack,172,3,500,1000,20000,no,target,always,0,,,,,,6,
 1675,Venatu@NPC_STUNATTACK,attack,179,2,500,1500,5000,no,target,always,0,,,,,,11,
@@ -3531,11 +3531,11 @@
 1688,Lady Tany@AL_TELEPORT,idle,26,1,1000,0,30000,yes,self,always,0,,,,,,,
 1688,Lady Tany@AL_TELEPORT,attack,26,1,1000,0,30000,yes,self,always,0,,,,,,,
 1688,Lady Tany@NPC_EXPULSION,attack,674,1,1000,1000,10000,no,target,myhpltmaxrate,60,,,,,,,
-1688,Lady Tany@AC_CHARGEARROW,attack,148,1,2000,0,5000,yes,randomtarget,always,0,,,,,,6,
-1688,Lady Tany@NPC_COMBOATTACK,attack,171,1,1000,0,5000,no,randomtarget,always,0,,,,,,,
-1688,Lady Tany@NPC_CRITICALSLASH,attack,170,1,500,500,5000,no,randomtarget,always,0,,,,,,6,
-1688,Lady Tany@NPC_GUIDEDATTACK,attack,172,5,500,0,20000,no,randomtarget,always,0,,,,,,,
-1688,Lady Tany@NPC_STUNATTACK,attack,179,5,500,0,5000,no,randomtarget,always,0,,,,,,,
+1688,Lady Tany@AC_CHARGEARROW,attack,148,1,2000,0,5000,yes,target,always,0,,,,,,6,
+1688,Lady Tany@NPC_COMBOATTACK,attack,171,1,1000,0,5000,no,target,always,0,,,,,,,
+1688,Lady Tany@NPC_CRITICALSLASH,attack,170,1,500,500,5000,no,target,always,0,,,,,,6,
+1688,Lady Tany@NPC_GUIDEDATTACK,attack,172,5,500,0,20000,no,target,always,0,,,,,,,
+1688,Lady Tany@NPC_STUNATTACK,attack,179,5,500,0,5000,no,target,always,0,,,,,,,
 1688,Lady Tany@NPC_DEFENDER,attack,205,1,500,0,30000,yes,self,longrangeattacked,,,,,,,29,
 1688,Lady Tany@NPC_POWERUP,attack,349,5,10000,0,30000,yes,self,myhpltmaxrate,30,,,,,,6,
 1688,Lady Tany@NPC_SUMMONSLAVE,attack,196,5,10000,2000,5000,no,self,slavele,2,1691,,,,,,
@@ -4063,7 +4063,7 @@
 1764,Skeggiold@NPC_HOLYATTACK,chase,189,2,500,500,5000,no,target,always,0,,,,,,18,
 1764,Skeggiold@AL_TELEPORT,idle,26,1,10000,0,0,yes,self,rudeattacked,,,,,,,,
 1764,Skeggiold@AL_TELEPORT,walk,26,1,5000,0,5000,yes,self,rudeattacked,,,,,,,,
-1765,Valkyrie@AL_HEAL,idle,28,10,10000,500,5000,yes,friend,friendhpltmaxrate,60,,,,,,3,
+1765,Valkyrie@AL_HEAL,idle,28,11,10000,500,5000,yes,friend,friendhpltmaxrate,60,,,,,,3,
 1765,Valkyrie@AL_HEAL,attack,28,11,10000,500,10000,yes,friend,friendhpltmaxrate,60,,,,,,3,
 1765,Valkyrie@AL_TELEPORT,idle,26,1,10000,0,0,yes,self,rudeattacked,,,,,,,,
 1765,Valkyrie@AS_SONICBLOW,attack,136,10,2000,0,5000,yes,target,always,0,,,,,,,
@@ -4228,18 +4228,18 @@
 1779,Ktullanux@NPC_AGIUP,attack,350,5,2000,0,100000,yes,self,always,0,,,,,,,
 1779,Ktullanux@NPC_AGIUP,attack,350,5,10000,0,25000,yes,self,myhpltmaxrate,30,,,,,,,
 1779,Ktullanux@AL_HEAL,idle,28,11,10000,0,10000,yes,self,myhpltmaxrate,50,,,,,,,
-1780,Muscipular@NPC_BLOODDRAIN,attack,199,1,1000,0,5000,yes,randomtarget,always,0,,,,,,,
-1780,Muscipular@KN_SPEARSTAB,attack,58,5,500,800,5000,no,randomtarget,always,0,,,,,,6,
-1780,Muscipular@NPC_GROUNDATTACK,attack,185,1,1000,0,5000,yes,randomtarget,always,0,,,,,,,
+1780,Muscipular@NPC_BLOODDRAIN,attack,199,1,1000,0,5000,yes,target,always,0,,,,,,,
+1780,Muscipular@KN_SPEARSTAB,attack,58,5,500,800,5000,no,target,always,0,,,,,,6,
+1780,Muscipular@NPC_GROUNDATTACK,attack,185,1,1000,0,5000,yes,target,always,0,,,,,,,
 1780,Muscipular@AL_HEAL,attack,28,9,10000,500,5000,yes,friend,friendhpltmaxrate,50,,,,,,,
 1780,Muscipular@AL_HEAL,idle,28,9,10000,500,5000,yes,friend,friendhpltmaxrate,50,,,,,,,
-1780,Muscipular@NPC_PETRIFYATTACK,attack,180,5,500,0,5000,yes,randomtarget,always,0,,,,,,,
-1781,Drosera@NPC_BLOODDRAIN,attack,199,1,1000,0,5000,yes,randomtarget,always,0,,,,,,,
-1781,Drosera@KN_PIERCE,attack,56,5,500,700,5000,no,randomtarget,always,0,,,,,,,
-1781,Drosera@NPC_GROUNDATTACK,attack,185,1,1000,0,5000,yes,randomtarget,always,0,,,,,,,
+1780,Muscipular@NPC_PETRIFYATTACK,attack,180,5,500,0,5000,yes,target,always,0,,,,,,,
+1781,Drosera@NPC_BLOODDRAIN,attack,199,1,1000,0,5000,yes,target,always,0,,,,,,,
+1781,Drosera@KN_PIERCE,attack,56,5,500,700,5000,no,target,always,0,,,,,,,
+1781,Drosera@NPC_GROUNDATTACK,attack,185,1,1000,0,5000,yes,target,always,0,,,,,,,
 1781,Drosera@RG_CLOSECONFINE,attack,1005,1,1000,0,30000,yes,target,always,0,,,,,,,
-1781,Drosera@NPC_GUIDEDATTACK,attack,172,3,500,1000,20000,no,randomtarget,always,0,,,,,,6,
-1781,Drosera@NPC_SLEEPATTACK,attack,182,5,500,0,5000,yes,randomtarget,always,0,,,,,,,
+1781,Drosera@NPC_GUIDEDATTACK,attack,172,3,500,1000,20000,no,target,always,0,,,,,,6,
+1781,Drosera@NPC_SLEEPATTACK,attack,182,5,500,0,5000,yes,target,always,0,,,,,,,
 1782,Roween@NPC_WINDATTACK,attack,187,2,500,500,5000,no,target,always,0,,,,,,,
 1782,Roween@NPC_COMBOATTACK,attack,171,4,500,500,5000,no,target,always,0,,,,,,6,
 1782,Roween@NPC_EMOTION,idle,197,1,2000,0,5000,yes,self,always,0,22,0x308D,,,,,
@@ -5704,30 +5704,11 @@
 
 //****
 // NC Mechanic Summons
-2042,Silver Sniper@AL_HEAL,chase,28,10,10000,0,1000,no,self,myhpltmaxrate,99,,,,,,,
-2042,Silver Sniper@AL_HEAL,idle,28,10,10000,0,1000,no,self,myhpltmaxrate,99,,,,,,,
-2042,Silver Sniper@AL_HEAL,attack,28,10,10000,0,1000,no,self,myhpltmaxrate,99,,,,,,,
-2042,Silver Sniper@NPC_REVENGE,idle,333,1,10000,0,0,yes,self,always,0,,,,,,,
-2043,Magic Decoy Fire@MG_FIREBOLT,attack,19,10,10000,800,3500,no,target,always,0,,,,,,,
-2043,Magic Decoy Fire@MG_FIREBOLT,chase,19,10,10000,800,3500,no,target,always,0,,,,,,,
-2043,Magic Decoy Fire@AL_HEAL,chase,28,10,10000,0,1000,no,self,myhpltmaxrate,99,,,,,,,
-2043,Magic Decoy Fire@AL_HEAL,idle,28,10,10000,0,1000,no,self,myhpltmaxrate,99,,,,,,,
-2043,Magic Decoy Fire@AL_HEAL,attack,28,10,10000,0,1000,no,self,myhpltmaxrate,99,,,,,,,
-2044,Magic Decoy Water@MG_COLDBOLT,attack,14,10,10000,800,3500,no,target,always,0,,,,,,,
-2044,Magic Decoy Water@MG_COLDBOLT,chase,14,10,10000,800,3500,no,target,always,0,,,,,,,
-2044,Magic Decoy Water@AL_HEAL,chase,28,10,10000,0,1000,no,self,myhpltmaxrate,99,,,,,,,
-2044,Magic Decoy Water@AL_HEAL,idle,28,10,10000,0,1000,no,self,myhpltmaxrate,99,,,,,,,
-2044,Magic Decoy Water@AL_HEAL,attack,28,10,10000,0,1000,no,self,myhpltmaxrate,99,,,,,,,
-2045,Magic Decoy Earth@WZ_EARTHSPIKE,attack,90,10,10000,800,3500,no,target,always,0,,,,,,,
-2045,Magic Decoy Earth@WZ_EARTHSPIKE,chase,90,10,10000,800,3500,no,target,always,0,,,,,,,
-2045,Magic Decoy Earth@AL_HEAL,chase,28,10,10000,0,1000,no,self,myhpltmaxrate,99,,,,,,,
-2045,Magic Decoy Earth@AL_HEAL,idle,28,10,10000,0,1000,no,self,myhpltmaxrate,99,,,,,,,
-2045,Magic Decoy Earth@AL_HEAL,attack,28,10,10000,0,1000,no,self,myhpltmaxrate,99,,,,,,,
-2046,Magic Decoy Wind@MG_LIGHTNINGBOLT,attack,20,10,10000,800,3500,no,target,always,0,,,,,,,
-2046,Magic Decoy Wind@MG_LIGHTNINGBOLT,chase,20,10,10000,800,3500,no,target,always,0,,,,,,,
-2046,Magic Decoy Wind@AL_HEAL,chase,28,10,10000,0,1000,no,self,myhpltmaxrate,99,,,,,,,
-2046,Magic Decoy Wind@AL_HEAL,idle,28,10,10000,0,1000,no,self,myhpltmaxrate,99,,,,,,,
-2046,Magic Decoy Wind@AL_HEAL,attack,28,10,10000,0,1000,no,self,myhpltmaxrate,99,,,,,,,
+2042,Silver Sniper@NPC_REVENGE,idle,333,1,10000,0,0,yes,self,masterattacked,0,,,,,,,
+2043,Magic Decoy Fire@MG_FIREBOLT,idle,19,10,10000,800,3500,no,randomtarget,always,0,,,,,,,
+2044,Magic Decoy Water@MG_COLDBOLT,idle,14,10,10000,800,3500,no,randomtarget,always,0,,,,,,,
+2045,Magic Decoy Earth@WZ_EARTHSPIKE,idle,90,10,10000,800,3500,no,randomtarget,always,0,,,,,,,
+2046,Magic Decoy Wind@MG_LIGHTNINGBOLT,idle,20,10,10000,800,3500,no,randomtarget,always,0,,,,,,,
 
 //2053,Dimik@NPC_ATTRICHANGE,idle,161,1,500,2000,50000,no,self,always,0,,,,,,10,
 //2053,Dimik@NPC_EMOTION_ON,idle,474,1,100,0,60000,yes,self,always,0,20,0x81,,,,,
@@ -7980,8 +7961,8 @@
 2311,Manananggal@AL_TELEPORT,walk,26,1,5000,0,5000,yes,self,rudeattacked,,,,,,,,
 2311,Manananggal@AL_TELEPORT,idle,26,1,1000,0,30000,yes,self,always,0,,,,,,,
 2311,Manananggal@AL_TELEPORT,attack,26,1,100,0,30000,yes,self,always,0,,,,,,,
-2311,Manananggal@NPC_BLOODDRAIN,chase,199,1,2000,0,5000,yes,randomtarget,myhpltmaxrate,50,,,,,,3,
-2311,Manananggal@NPC_BLOODDRAIN,attack,199,1,2000,0,5000,yes,randomtarget,myhpltmaxrate,50,,,,,,3,
+2311,Manananggal@NPC_BLOODDRAIN,chase,199,1,2000,0,5000,yes,target,myhpltmaxrate,50,,,,,,3,
+2311,Manananggal@NPC_BLOODDRAIN,attack,199,1,2000,0,5000,yes,target,myhpltmaxrate,50,,,,,,3,
 2311,Manananggal@NPC_COMBOATTACK,chase,171,5,1000,0,5000,yes,target,always,0,,,,,,7,
 2311,Manananggal@NPC_COMBOATTACK,attack,171,5,1000,0,5000,yes,target,always,0,,,,,,7,
 2312,Mangkukulam@AL_TELEPORT,idle,26,1,500,0,30000,yes,self,always,0,,,,,,,
@@ -8009,8 +7990,8 @@
 2315,Wakwak@AL_TELEPORT,walk,26,1,5000,0,5000,yes,self,rudeattacked,,,,,,,,
 2315,Wakwak@AL_TELEPORT,idle,26,1,500,0,30000,yes,self,always,0,,,,,,,
 2315,Wakwak@AL_TELEPORT,attack,26,1,50,0,30000,yes,self,always,0,,,,,,,
-2315,Wakwak@NPC_BLOODDRAIN,chase,199,1,2000,0,5000,yes,randomtarget,myhpltmaxrate,50,,,,,,3,
-2315,Wakwak@NPC_BLOODDRAIN,attack,199,1,2000,0,5000,yes,randomtarget,myhpltmaxrate,50,,,,,,3,
+2315,Wakwak@NPC_BLOODDRAIN,chase,199,1,2000,0,5000,yes,target,myhpltmaxrate,50,,,,,,3,
+2315,Wakwak@NPC_BLOODDRAIN,attack,199,1,2000,0,5000,yes,target,myhpltmaxrate,50,,,,,,3,
 2315,Wakwak@NPC_DARKTHUNDER,chase,341,3,1000,500,5000,yes,target,always,0,,,,,,29,
 2315,Wakwak@NPC_DARKTHUNDER,attack,341,3,1000,500,5000,yes,target,always,0,,,,,,29,
 2315,Wakwak@NPC_CURSEATTACK,attack,181,3,500,800,5000,no,target,always,0,,,,,,0,
@@ -8113,7 +8094,7 @@
 2331,Seaweed@AL_HEAL,idle,28,9,10000,500,5000,yes,friend,friendhpltmaxrate,100,,,,,,2,
 2337,Hidden Mob@NPC_INVISIBLE,idle,353,1,10000,0,30000,yes,self,always,0,,,,,,,
 2337,Hidden Mob@NPC_INVISIBLE,attack,353,1,10000,0,30000,yes,self,always,0,,,,,,,
-2337,Hidden Mob@WZ_METEOR,attack,83,5,10000,0,1000,yes,randomtarget,always,0,,,,,,,
+2337,Hidden Mob@WZ_METEOR,attack,83,5,10000,0,1000,yes,target,always,0,,,,,,,
 2338,Bangungot Manananggal@AL_TELEPORT,idle,26,1,500,0,5000,yes,self,always,0,,,,,,,
 2338,Bangungot Manananggal@NPC_BLOODDRAIN,attack,199,1,1000,0,5000,no,target,always,0,,,,,,3,
 2338,Bangungot Manananggal@NPC_COMBOATTACK,attack,171,5,500,700,5000,no,target,always,0,,,,,,1,
@@ -8129,11 +8110,11 @@
 2339,Bangungot Mangkukulam@NPC_DARKSTRIKE,chase,340,9,500,700,5000,no,target,always,0,,,,,,29,
 2339,Bangungot Mangkukulam@NPC_MENTALBREAKER,attack,159,3,500,800,5000,no,target,always,0,,,,,,14,
 2339,Bangungot Mangkukulam@NPC_MENTALBREAKER,chase,159,3,500,800,5000,no,target,always,0,,,,,,14,
-2340,Tiyanak@NPC_BLOODDRAIN,attack,199,1,500,0,5000,yes,randomtarget,always,0,,,,,,2,
+2340,Tiyanak@NPC_BLOODDRAIN,attack,199,1,500,0,5000,yes,target,always,0,,,,,,2,
 2340,Tiyanak@NPC_EMOTION,idle,197,1,2000,0,5000,yes,self,always,0,29,,,,,,
 2340,Tiyanak@CR_AUTOGUARD,chase,249,2,2000,0,300000,yes,self,longrangeattacked,,,,,,,,
 2340,Tiyanak@CR_AUTOGUARD,attack,249,2,500,0,300000,yes,self,always,0,,,,,,,
-2340,Tiyanak@NPC_CRITICALSLASH,attack,170,1,500,500,5000,no,randomtarget,always,0,,,,,,6,
+2340,Tiyanak@NPC_CRITICALSLASH,attack,170,1,500,500,5000,no,target,always,0,,,,,,6,
 2340,Tiyanak@NPC_REBIRTH,dead,208,3,2000,0,10000,yes,self,always,0,,,,,,,
 2341,RWC Boss@NPC_CALLSLAVE,attack,352,1,10000,0,30000,yes,self,always,0,,,,,,,
 2341,RWC Boss@NPC_CALLSLAVE,idle,352,1,10000,0,30000,yes,self,always,0,,,,,,,
@@ -8162,7 +8143,7 @@
 2341,RWC Boss@NPC_CRITICALWOUND,attack,673,4,2000,0,5000,yes,target,always,0,,,,,,,
 2343,Hidden Mob@NPC_INVISIBLE,idle,353,1,10000,0,30000,yes,self,always,0,,,,,,,
 2343,Hidden Mob@NPC_INVISIBLE,attack,353,1,10000,0,30000,yes,self,always,0,,,,,,,
-2343,Hidden Mob@WZ_STORMGUST,attack,89,5,10000,0,1000,yes,randomtarget,always,0,,,,,,,
+2343,Hidden Mob@WZ_STORMGUST,attack,89,5,10000,0,1000,yes,target,always,0,,,,,,,
 
 // Nightmare Pyramids
 2353,Nightmare Minorous@AL_TELEPORT,idle,26,1,10000,0,0,yes,self,rudeattacked,,,,,,,,
@@ -8198,8 +8179,8 @@
 2360,Nightmare Ancient Mummy@NPC_DARKBREATH,attack,202,4,500,800,5000,no,target,always,0,,,,,,7,
 2362,Nightmare Amon Ra@NPC_BLOODDRAIN,idle,199,1,2000,0,5000,yes,randomtarget,always,0,,,,,,29,
 2362,Nightmare Amon Ra@NPC_BLOODDRAIN,idle,199,1,2000,0,5000,yes,randomtarget,always,0,,,,,,29,
-2362,Nightmare Amon Ra@NPC_BLOODDRAIN,attack,199,1,2000,0,5000,yes,randomtarget,always,0,,,,,,29,
-2362,Nightmare Amon Ra@NPC_BLOODDRAIN,attack,199,1,2000,0,5000,yes,randomtarget,always,0,,,,,,29,
+2362,Nightmare Amon Ra@NPC_BLOODDRAIN,attack,199,1,2000,0,5000,yes,target,always,0,,,,,,29,
+2362,Nightmare Amon Ra@NPC_BLOODDRAIN,attack,199,1,2000,0,5000,yes,target,always,0,,,,,,29,
 2362,Nightmare Amon Ra@NPC_SUMMONMONSTER,idle,209,5,5000,0,10000,no,self,longrangeattacked,0,2357,2359,2361,,,9,
 2362,Nightmare Amon Ra@NPC_SUMMONMONSTER,idle,209,5,5000,0,10000,no,self,casttargeted,0,1474,1477,1438,,,9,
 2362,Nightmare Amon Ra@NPC_SUMMONMONSTER,attack,209,5,5000,0,10000,no,self,longrangeattacked,0,2357,2359,2361,,,9,
@@ -8218,11 +8199,11 @@
 2362,Nightmare Amon Ra@WZ_METEOR,idle,83,11,10000,0,0,yes,randomtarget,skillused,83,,,,,,9,
 2362,Nightmare Amon Ra@WZ_METEOR,idle,83,11,10000,0,0,yes,randomtarget,longrangeattacked,,,,,,,9,
 2362,Nightmare Amon Ra@WZ_METEOR,idle,83,11,10000,0,0,yes,randomtarget,casttargeted,,,,,,,9,
-2362,Nightmare Amon Ra@WZ_METEOR,attack,83,11,5000,0,3000,yes,randomtarget,always,0,,,,,,9,
+2362,Nightmare Amon Ra@WZ_METEOR,attack,83,11,5000,0,3000,yes,target,always,0,,,,,,9,
 2362,Nightmare Amon Ra@WZ_FIREPILLAR,idle,80,10,10000,0,2000,yes,around2,always,0,,,,,,,
 2362,Nightmare Amon Ra@WZ_FIREPILLAR,idle,80,10,10000,0,2000,yes,around2,always,0,,,,,,,
 2362,Nightmare Amon Ra@WZ_FIREPILLAR,attack,80,10,5000,0,2000,yes,around2,always,0,,,,,,,
-2362,Nightmare Amon Ra@NPC_DARKBLESSING,attack,203,1,5000,0,2000,no,randomtarget,always,0,,,,,,,
+2362,Nightmare Amon Ra@NPC_DARKBLESSING,attack,203,1,5000,0,2000,no,target,always,0,,,,,,,
 2362,Nightmare Amon Ra@WZ_METEOR,idle,83,11,10000,0,5000,yes,randomtarget,always,0,,,,,,9,
 2362,Nightmare Amon Ra@AL_TELEPORT,idle,26,1,10000,0,0,yes,self,rudeattacked,,,,,,,,
 2362,Nightmare Amon Ra@AL_TELEPORT,walk,26,1,5000,0,5000,yes,self,rudeattacked,,,,,,,,
@@ -8856,11 +8837,11 @@
 2481,Wraith Dead (Nightmare)@NPC_ENERGYDRAIN,attack,200,1,500,0,5000,yes,target,always,,,,,,,9,
 2483,Baphomet (Nightmare)@AL_TELEPORT,idle,26,1,10000,0,0,yes,self,rudeattacked,,,,,,,,
 2483,Baphomet (Nightmare)@AL_TELEPORT,walk,26,1,5000,0,5000,yes,self,rudeattacked,,,,,,,,
-2483,Baphomet (Nightmare)@AL_HEAL,idle,28,10,10000,0,5000,yes,self,myhpltmaxrate,50,,,,,,,
+2483,Baphomet (Nightmare)@AL_HEAL,idle,28,11,10000,0,5000,yes,self,myhpltmaxrate,50,,,,,,,
 2483,Baphomet (Nightmare)@KN_BRANDISHSPEAR,attack,57,10,2000,500,5000,no,target,always,,,,,,,29,
-2483,Baphomet (Nightmare)@WZ_VERMILION,attack,85,10,2000,500,2000,no,target,always,,,,,,,29,
-2483,Baphomet (Nightmare)@WZ_VERMILION,chase,85,10,2000,500,2000,no,target,always,,,,,,,29,
-2483,Baphomet (Nightmare)@WZ_VERMILION,chase,85,10,5000,500,2000,no,target,skillused,18,,,,,,29,
+2483,Baphomet (Nightmare)@WZ_VERMILION,attack,85,21,2000,500,2000,no,target,always,,,,,,,29,
+2483,Baphomet (Nightmare)@WZ_VERMILION,chase,85,21,2000,500,2000,no,target,always,,,,,,,29,
+2483,Baphomet (Nightmare)@WZ_VERMILION,chase,85,21,5000,500,2000,no,target,skillused,18,,,,,,29,
 2483,Baphomet (Nightmare)@NPC_GUIDEDATTACK,attack,172,5,500,0,20000,no,target,always,,,,,,,,
 2483,Baphomet (Nightmare)@NPC_DARKBREATH,attack,202,5,2000,800,5000,no,target,always,,,,,,,29,
 2483,Baphomet (Nightmare)@MO_BODYRELOCATION,chase,264,1,2000,200,1000,yes,target,always,,,,,,,,
@@ -8948,15 +8929,15 @@
 2534,Blue Faceworm Queen@WZ_STORMGUST,chase,89,10,2000,1000,5000,no,target,always,,,,,,,,
 2534,Blue Faceworm Queen@WZ_STORMGUST,attack,89,10,2000,1000,5000,no,target,always,,,,,,,,
 2534,Blue Faceworm Queen@NPC_WATERATTACK,attack,184,9,3000,500,5000,no,target,always,,,,,,,,
-2534,Blue Faceworm Queen@MG_FROSTDIVER,chase,15,10,10000,500,5000,yes,target,always,,,,,,,,
-2535,Yellow Faceworm Queen@WZ_VERMILION,attack,85,10,2000,1000,10000,no,target,always,,,,,,,,
-2535,Yellow Faceworm Queen@WZ_VERMILION,chase,85,10,5000,1000,10000,no,target,always,,,,,,,,
+2534,Blue Faceworm Queen@MG_FROSTDIVER,chase,15,40,10000,500,5000,yes,target,always,,,,,,,,
+2535,Yellow Faceworm Queen@WZ_VERMILION,attack,85,21,2000,1000,10000,no,target,always,,,,,,,,
+2535,Yellow Faceworm Queen@WZ_VERMILION,chase,85,21,5000,1000,10000,no,target,always,,,,,,,,
 2535,Yellow Faceworm Queen@NPC_WIDEBLEEDING,chase,665,3,10000,2000,30000,no,self,always,,,,,,,36,
 2535,Yellow Faceworm Queen@NPC_WIDEBLEEDING,attack,665,3,10000,2000,30000,no,self,always,,,,,,,36,
 2535,Yellow Faceworm Queen@WZ_JUPITEL,attack,84,9,1000,500,5000,yes,target,always,,,,,,,,
 2535,Yellow Faceworm Queen@WZ_JUPITEL,chase,84,9,1000,500,5000,yes,target,always,,,,,,,,
 2535,Yellow Faceworm Queen@NPC_WINDATTACK,attack,187,9,3000,500,5000,no,target,always,,,,,,,,
-2535,Yellow Faceworm Queen@MG_THUNDERSTORM,attack,21,10,2000,1000,5000,no,target,always,,,,,,,,
+2535,Yellow Faceworm Queen@MG_THUNDERSTORM,attack,21,20,2000,1000,5000,no,target,always,,,,,,,,
 2536,Monster 3@NPC_INVISIBLE,idle,353,1,10000,0,30000,yes,self,always,,,,,,,,
 2536,Monster 3@NPC_INVISIBLE,attack,353,1,10000,0,30000,yes,self,always,,,,,,,,
 2536,Monster 3@NPC_VENOMFOG,idle,706,1,10000,0,3000,yes,self,always,,,,,,,,
@@ -9840,7 +9821,7 @@
 2741,Muka Ringleader@NPC_PIERCINGATT,attack,158,2,500,0,5000,yes,target,always,,,,,,,6,
 2741,Muka Ringleader@NPC_SPLASHATTACK,attack,174,1,2000,0,5000,yes,target,attackpcge,2,,,,,,,
 2741,Muka Ringleader@NPC_SUMMONSLAVE,idle,196,2,10000,700,30000,no,self,slavele,0,1055,,,,,,
-2742,Furious Incarnation of Morocc@AL_HEAL,idle,28,10,10000,0,5000,yes,self,myhpltmaxrate,45,,,,,,,
+2742,Furious Incarnation of Morocc@AL_HEAL,idle,28,11,10000,0,5000,yes,self,myhpltmaxrate,45,,,,,,,
 2742,Furious Incarnation of Morocc@AL_PNEUMA,idle,25,1,10000,0,1000,yes,self,longrangeattacked,,,,,,,,
 2742,Furious Incarnation of Morocc@AL_TELEPORT,idle,26,1,10000,0,0,yes,self,rudeattacked,,,,,,,,
 2742,Furious Incarnation of Morocc@AL_TELEPORT,chase,26,1,5000,0,5000,yes,self,rudeattacked,,,,,,,,
@@ -9853,7 +9834,7 @@
 2742,Furious Incarnation of Morocc@NPC_WIDECURSE,chase,677,5,5000,800,5000,no,self,always,,,,,,,,
 2742,Furious Incarnation of Morocc@SA_DISPELL,attack,289,5,100,0,30000,yes,target,always,,,,,,,,
 2742,Furious Incarnation of Morocc@SA_DISPELL,chase,289,5,100,0,30000,yes,target,always,,,,,,,,
-2743,Elusive Incarnation of Morocc@AL_HEAL,idle,28,10,10000,0,5000,yes,self,myhpltmaxrate,45,,,,,,,
+2743,Elusive Incarnation of Morocc@AL_HEAL,idle,28,11,10000,0,5000,yes,self,myhpltmaxrate,45,,,,,,,
 2743,Elusive Incarnation of Morocc@AL_PNEUMA,idle,25,1,10000,0,1000,yes,self,longrangeattacked,,,,,,,,
 2743,Elusive Incarnation of Morocc@AL_TELEPORT,idle,26,1,10000,0,0,yes,self,rudeattacked,,,,,,,,
 2743,Elusive Incarnation of Morocc@AL_TELEPORT,chase,26,1,5000,0,5000,yes,self,rudeattacked,,,,,,,,
@@ -9869,7 +9850,7 @@
 2744,Swift Incarnation of Morocc@AL_TELEPORT,idle,26,1,10000,0,0,yes,self,rudeattacked,,,,,,,,
 2744,Swift Incarnation of Morocc@AL_TELEPORT,chase,26,1,5000,0,5000,yes,self,rudeattacked,,,,,,,,
 2744,Swift Incarnation of Morocc@AL_TELEPORT,attack,26,1,500,0,5000,yes,self,myhpltmaxrate,50,,,,,,,
-2744,Swift Incarnation of Morocc@AL_HEAL,idle,28,10,10000,0,5000,yes,self,myhpltmaxrate,45,,,,,,,
+2744,Swift Incarnation of Morocc@AL_HEAL,idle,28,11,10000,0,5000,yes,self,myhpltmaxrate,45,,,,,,,
 2744,Swift Incarnation of Morocc@AL_HEAL,attack,28,5,10000,500,5000,yes,self,myhpltmaxrate,50,,,,,,,
 2744,Swift Incarnation of Morocc@AL_PNEUMA,idle,25,1,10000,0,1000,yes,self,longrangeattacked,,,,,,,,
 2744,Swift Incarnation of Morocc@NPC_GRANDDARKNESS,attack,339,5,10000,2000,30000,no,self,myhpltmaxrate,80,,,,,,6,
@@ -11387,7 +11368,7 @@
 3209,V_MAGALETA@AL_HEAL,idle,28,9,300,0,2000,yes,self,myhpltmaxrate,99,,,,,,3,
 3209,V_MAGALETA@HP_ASSUMPTIO,chase,361,5,1000,1000,10000,no,self,myhpltmaxrate,99,,,,,,,
 3209,V_MAGALETA@HP_ASSUMPTIO,chase,361,5,1000,1000,10000,no,friend,friendhpltmaxrate,99,,,,,,,
-3209,V_MAGALETA@AL_DECAGI,chase,30,10,200,0,10000,yes,target,always,,,,,,,,
+3209,V_MAGALETA@AL_DECAGI,chase,30,48,200,0,10000,yes,target,always,,,,,,,,
 3209,V_MAGALETA@NPC_MAXPAIN,chase,716,5,1000,1000,60000,no,self,longrangeattacked,,,,,,,19,
 3209,V_MAGALETA@PR_LEXDIVINA,chase,76,10,500,0,10000,yes,target,casttargeted,,,,,,,18,
 3209,V_MAGALETA@PR_LEXAETERNA,chase,78,1,100,0,10000,yes,target,always,,,,,,,29,
@@ -11405,11 +11386,11 @@
 3209,V_MAGALETA@NPC_WIDESILENCE,attack,663,2,300,500,5000,no,self,always,,,,,,,,
 3210,V_KATRINN@MG_SIGHT,idle,10,1,200,0,10000,yes,self,always,,,,,,,,
 3210,V_KATRINN@AL_TELEPORT,idle,26,1,1000,0,0,yes,self,rudeattacked,,,,,,,,
-3210,V_KATRINN@WZ_JUPITEL,chase,84,10,300,0,10000,yes,target,always,,,,,,,,
+3210,V_KATRINN@WZ_JUPITEL,chase,84,28,300,0,10000,yes,target,always,,,,,,,,
 3210,V_KATRINN@WZ_WATERBALL,chase,86,5,300,0,10000,yes,target,always,,,,,,,,
 3210,V_KATRINN@NPC_DARKSTRIKE,chase,340,10,300,0,10000,yes,target,always,,,,,,,,
 3210,V_KATRINN@MG_FIREWALL,chase,18,10,300,0,10000,yes,target,always,,,,,,,,
-3210,V_KATRINN@MG_FROSTDIVER,chase,15,10,300,0,10000,yes,target,always,,,,,,,,
+3210,V_KATRINN@MG_FROSTDIVER,chase,15,40,300,0,10000,yes,target,always,,,,,,,,
 3210,V_KATRINN@HW_NAPALMVULCAN,chase,400,5,300,0,10000,yes,target,always,,,,,,,,
 3210,V_KATRINN@WZ_FROSTNOVA,chase,88,10,300,0,10000,yes,target,longrangeattacked,,,,,,,,
 3210,V_KATRINN@WL_EARTHSTRAIN,chase,2216,5,300,0,10000,yes,target,always,,,,,,,,
@@ -11420,7 +11401,7 @@
 3210,V_KATRINN@NPC_WIDEFREEZE,attack,664,3,300,500,10000,no,self,always,,,,,,,,
 3210,V_KATRINN@NPC_DARKSTRIKE,attack,340,10,300,0,10000,yes,target,always,,,,,,,,
 3210,V_KATRINN@WL_TETRAVORTEX,attack,2217,2,300,500,10000,no,target,always,,,,,,,,
-3210,V_KATRINN@WZ_JUPITEL,attack,84,10,300,0,10000,yes,target,always,,,,,,,,
+3210,V_KATRINN@WZ_JUPITEL,attack,84,28,300,0,10000,yes,target,always,,,,,,,,
 3210,V_KATRINN@WL_EARTHSTRAIN,attack,2216,3,300,500,10000,no,target,always,,,,,,,,
 3210,V_KATRINN@WZ_SIGHTRASHER,attack,81,10,300,0,10000,yes,self,always,,,,,,,,
 3210,V_KATRINN@NPC_SUMMONSLAVE,attack,196,1,50,0,600000,yes,self,slavele,0,1641,,,,,,
@@ -11489,11 +11470,11 @@
 3215,V_G_MAGALETA@HP_ASSUMPTIO,chase,361,5,1000,1000,10000,no,self,myhpltmaxrate,99,,,,,,,
 3215,V_G_MAGALETA@HP_ASSUMPTIO,chase,361,5,1000,1000,10000,no,friend,friendhpltmaxrate,99,,,,,,,
 3215,V_G_MAGALETA@AL_INCAGI,chase,29,10,200,0,240000,yes,self,always,,,,,,,2,
-3215,V_G_MAGALETA@AL_DECAGI,chase,30,10,200,0,10000,yes,target,always,,,,,,,,
+3215,V_G_MAGALETA@AL_DECAGI,chase,30,48,200,0,10000,yes,target,always,,,,,,,,
 3215,V_G_MAGALETA@NPC_WIDESILENCE,chase,663,2,500,0,10000,yes,target,casttargeted,,,,,,,18,
 3215,V_G_MAGALETA@AL_PNEUMA,chase,25,1,500,0,10000,yes,self,longrangeattacked,,,,,,,19,
-3215,V_G_MAGALETA@AL_HEAL,chase,28,10,300,0,1500,yes,friend,friendhpltmaxrate,99,,,,,,3,
-3215,V_G_MAGALETA@AL_HEAL,chase,28,10,300,0,1500,yes,self,myhpltmaxrate,99,,,,,,3,
+3215,V_G_MAGALETA@AL_HEAL,chase,28,11,300,0,1500,yes,friend,friendhpltmaxrate,99,,,,,,3,
+3215,V_G_MAGALETA@AL_HEAL,chase,28,11,300,0,1500,yes,self,myhpltmaxrate,99,,,,,,3,
 3215,V_G_MAGALETA@AL_INCAGI,attack,29,10,200,0,240000,yes,self,always,,,,,,,2,
 3215,V_G_MAGALETA@MG_SAFETYWALL,attack,12,10,100,0,10000,yes,self,always,,,,,,,,
 3215,V_G_MAGALETA@AL_PNEUMA,attack,25,1,500,0,10000,yes,self,longrangeattacked,,,,,,,19,
@@ -11510,14 +11491,14 @@
 3216,V_G_KATRINN@NPC_WIDEFREEZE,chase,664,5,300,3000,10000,no,self,always,,,,,,,,
 3216,V_G_KATRINN@HW_NAPALMVULCAN,chase,400,5,200,1000,2000,no,target,always,,,,,,,,
 3216,V_G_KATRINN@NPC_STORMGUST2,chase,723,3,300,1000,10000,no,target,always,,,,,,,,
-3216,V_G_KATRINN@WZ_VERMILION,chase,85,10,300,1000,10000,no,target,always,,,,,,,,
-3216,V_G_KATRINN@WZ_METEOR,chase,83,10,300,1000,10000,no,target,always,,,,,,,,
+3216,V_G_KATRINN@WZ_VERMILION,chase,85,21,300,1000,10000,no,target,always,,,,,,,,
+3216,V_G_KATRINN@WZ_METEOR,chase,83,11,300,1000,10000,no,target,always,,,,,,,,
 3216,V_G_KATRINN@NPC_COMET,attack,708,5,300,1000,7000,no,self,always,,,,,,,,
 3216,V_G_KATRINN@NPC_STORMGUST2,attack,723,3,200,1000,10000,no,target,always,,,,,,,,
 3216,V_G_KATRINN@NPC_WIDESTONE,attack,666,1,200,1000,10000,no,self,always,,,,,,,,
 3216,V_G_KATRINN@HW_GANBANTEIN,attack,483,1,300,500,10000,no,target,always,,,,,,,,
 3216,V_G_KATRINN@WL_EARTHSTRAIN,attack,2216,5,300,1000,7000,no,target,always,,,,,,,,
-3216,V_G_KATRINN@WZ_JUPITEL,attack,84,10,200,1000,10000,no,target,always,,,,,,,,
+3216,V_G_KATRINN@WZ_JUPITEL,attack,84,28,200,1000,10000,no,target,always,,,,,,,,
 3216,V_G_KATRINN@WL_TETRAVORTEX,attack,2217,5,300,1000,7000,no,target,always,,,,,,,,
 3216,V_G_KATRINN@NPC_WIDEFREEZE,attack,664,5,200,1000,10000,no,self,always,,,,,,,,
 3217,V_G_SHECIL@NPC_AGIUP,idle,350,1,1000,0,600000,yes,self,always,,,,,,,,
@@ -11534,7 +11515,7 @@
 3218,V_G_HARWORD@NPC_SELFDESTRUCTION,attack,173,1,200,2000,0,no,self,myhpltmaxrate,10,,,,,,,
 3218,V_G_HARWORD@BS_ADRENALINE,attack,111,10,200,0,150000,yes,self,always,,,,,,,,
 3218,V_G_HARWORD@BS_MAXIMIZE,attack,114,1,100,0,60000,yes,self,always,,,,,,,,
-3218,V_G_HARWORD@MC_MAMMONITE,attack,42,10,200,0,10000,yes,target,always,,,,,,,23,
+3218,V_G_HARWORD@MC_MAMMONITE,attack,42,22,200,0,10000,yes,target,always,,,,,,,23,
 3218,V_G_HARWORD@BS_HAMMERFALL,attack,110,10,200,0,30000,yes,target,always,,,,,,,,
 3218,V_G_HARWORD@NPC_POWERUP,attack,349,5,200,0,100000,yes,self,always,,,,,,,,
 3218,V_G_HARWORD@NPC_SPLASHATTACK,attack,174,1,100,0,0,yes,target,attackpcge,2,,,,,,,
@@ -11548,7 +11529,7 @@
 3219,V_G_SEYREN@SM_PROVOKE,chase,6,10,100,0,10000,yes,target,always,,,,,,,29,
 3219,V_G_SEYREN@SM_ENDURE,chase,8,10,500,0,30000,yes,self,longrangeattacked,,,,,,,6,
 3219,V_G_SEYREN@NPC_DARKPIERCING,chase,715,1,100,0,10000,yes,target,always,,,,,,,,
-3219,V_G_SEYREN@KN_TWOHANDQUICKEN,attack,60,10,1000,0,300000,yes,self,always,,,,,,,2,
+3219,V_G_SEYREN@KN_TWOHANDQUICKEN,attack,60,30,1000,0,300000,yes,self,always,,,,,,,2,
 3219,V_G_SEYREN@LK_SPIRALPIERCE,attack,397,5,200,0,10000,yes,target,always,,,,,,,,
 3219,V_G_SEYREN@NPC_POWERUP,attack,349,5,200,0,25000,yes,self,myhpltmaxrate,30,,,,,,,
 3219,V_G_SEYREN@NPC_DRAGONBREATH,attack,731,5,300,500,10000,no,target,always,,,,,,,,
@@ -11639,7 +11620,7 @@
 3223,V_B_HARWORD@NPC_SUMMONMONSTER,attack,209,1,1000,700,60000000,yes,self,myhpltmaxrate,30,3219,3214,3215,3216,3217,,
 3223,V_B_HARWORD@BS_ADRENALINE,attack,111,10,200,0,150000,yes,self,always,,,,,,,,
 3223,V_B_HARWORD@BS_MAXIMIZE,attack,114,1,100,0,60000,yes,self,always,,,,,,,,
-3223,V_B_HARWORD@MC_MAMMONITE,attack,42,10,200,0,10000,yes,target,always,,,,,,,23,
+3223,V_B_HARWORD@MC_MAMMONITE,attack,42,22,200,0,10000,yes,target,always,,,,,,,23,
 3223,V_B_HARWORD@BS_HAMMERFALL,attack,110,10,200,0,10000,yes,target,always,,,,,,,,
 3223,V_B_HARWORD@NPC_POWERUP,attack,349,5,200,0,100000,yes,self,always,,,,,,,,
 3223,V_B_HARWORD@NPC_MAXPAIN,attack,716,10,500,1000,10000,no,self,always,,,,,,,19,
@@ -11661,7 +11642,7 @@
 3224,V_B_KATRINN@NPC_WIDESTONE,attack,666,1,200,1000,10000,no,self,always,,,,,,,,
 3224,V_B_KATRINN@HW_GANBANTEIN,attack,483,1,300,500,10000,no,target,always,,,,,,,,
 3224,V_B_KATRINN@WL_EARTHSTRAIN,attack,2216,5,300,1000,7000,no,target,always,,,,,,,,
-3224,V_B_KATRINN@WZ_JUPITEL,attack,84,10,200,1000,10000,no,target,always,,,,,,,,
+3224,V_B_KATRINN@WZ_JUPITEL,attack,84,28,200,1000,10000,no,target,always,,,,,,,,
 3224,V_B_KATRINN@WL_TETRAVORTEX,attack,2217,5,300,1000,7000,no,target,always,,,,,,,,
 3224,V_B_KATRINN@NPC_WIDEFREEZE,attack,664,5,200,1000,10000,no,self,always,,,,,,,,
 3224,V_B_KATRINN@NPC_WIDESILENCE,attack,663,5,200,1000,10000,no,self,always,,,,,,,,
@@ -11675,7 +11656,7 @@
 3225,V_B_SEYREN@NPC_MAXPAIN,attack,716,5,1000,0,10000,yes,self,skillused,490,,,,,,8,
 3225,V_B_SEYREN@NPC_CALLSLAVE,attack,352,1,1000,0,10000,yes,self,always,,,,,,,,
 3225,V_B_SEYREN@NPC_SUMMONSLAVE,attack,196,1,1000,700,10000,no,self,slavele,3,3214,3218,3215,3216,3217,,
-3225,V_B_SEYREN@KN_TWOHANDQUICKEN,attack,60,10,1000,0,300000,yes,self,always,,,,,,,2,
+3225,V_B_SEYREN@KN_TWOHANDQUICKEN,attack,60,30,1000,0,300000,yes,self,always,,,,,,,2,
 3225,V_B_SEYREN@LK_SPIRALPIERCE,attack,397,5,200,0,10000,yes,target,always,,,,,,,,
 3225,V_B_SEYREN@NPC_DRAGONBREATH,attack,731,10,300,500,10000,no,target,always,,,,,,,,
 3225,V_B_SEYREN@NPC_DRAGONBREATH,attack,731,5,300,500,10000,no,target,always,,,,,,,,
@@ -11724,7 +11705,7 @@
 3228,V_CELIA@NPC_WIDEWEB,chase,721,1,500,1000,10000,no,self,always,,,,,,,,
 3228,V_CELIA@NPC_PSYCHIC_WAVE,chase,736,1,500,0,10000,no,target,always,,,,,,,,
 3228,V_CELIA@SA_DISPELL,chase,289,5,50,0,10000,yes,target,always,,,,,,,,
-3228,V_CELIA@MG_THUNDERSTORM,chase,21,10,300,500,10000,no,target,always,,,,,,,,
+3228,V_CELIA@MG_THUNDERSTORM,chase,21,20,300,500,10000,no,target,always,,,,,,,,
 3228,V_CELIA@NPC_WIDESOULDRAIN,chase,680,4,300,0,10000,no,self,always,,,,,,,,
 3228,V_CELIA@NPC_MENTALBREAKER,attack,159,3,50,800,10000,no,target,always,,,,,,,,
 3228,V_CELIA@SA_DISPELL,attack,289,5,300,0,10000,yes,target,always,,,,,,,,
@@ -11737,7 +11718,7 @@
 3229,V_CHEN@AL_TELEPORT,idle,26,1,1000,0,0,yes,self,rudeattacked,,,,,,,,
 3229,V_CHEN@AL_TELEPORT,walk,26,1,500,0,10000,yes,self,rudeattacked,,,,,,,,
 3229,V_CHEN@MO_BODYRELOCATION,chase,264,1,200,500,5000,no,target,always,,,,,,,28,
-3229,V_CHEN@AL_DECAGI,chase,30,10,200,0,10000,yes,target,always,,,,,,,,
+3229,V_CHEN@AL_DECAGI,chase,30,48,200,0,10000,yes,target,always,,,,,,,,
 3229,V_CHEN@MO_BALKYOUNG,attack,1016,1,10,0,10000,no,target,always,,,,,,,19,
 3229,V_CHEN@MO_EXTREMITYFIST,attack,271,1,500,1000,6000,no,target,always,,,,,,,,
 3229,V_CHEN@NPC_CRITICALSLASH,attack,170,1,100,0,10000,yes,target,always,,,,,,,,
@@ -12759,7 +12740,7 @@
 3756,Bomi@NPC_SUMMONSLAVE,idle,196,1,10000,200,10000,no,self,slavele,2,3751,,,,,,
 3756,Bomi@NPC_WIDESUCK,idle,722,1,10000,500,30000,no,self,always,0,,,,,,,
 3757,Dracula of Rage@AL_TELEPORT,idle,26,1,10000,0,0,yes,self,rudeattacked,,,,,,,,
-3757,Dracula of Rage@AL_DECAGI,chase,30,10,2000,0,5000,no,target,always,0,,,,,,,
+3757,Dracula of Rage@AL_DECAGI,chase,30,48,2000,0,5000,no,target,always,0,,,,,,,
 3757,Dracula of Rage@AS_GRIMTOOTH,chase,137,5,2000,0,5000,yes,target,always,0,,,,,,,
 3757,Dracula of Rage@NPC_CRITICALWOUND,chase,673,5,2000,500,12000,no,target,myhpltmaxrate,50,,,,,,,
 3757,Dracula of Rage@NPC_HELLJUDGEMENT,attack,662,10,10000,500,20000,no,self,myhpltmaxrate,80,,,,,,36,
@@ -12847,12 +12828,12 @@
 3763,Resentful Soldier@NPC_UNDEADATTACK,attack,347,5,500,500,5000,no,target,always,0,,,,,,,
 3763,Resentful Soldier@AC_CHARGEARROW,attack,148,1,500,0,15000,yes,target,always,0,,,,,,,
 3764,Wizard of Truth@NPC_TALK,idle,682,10,2500,0,60000,yes,self,always,0,,,,,,,55
-3764,Wizard of Truth@WZ_VERMILION,idle,85,10,10000,1000,25000,no,target,always,0,,,,,,,
+3764,Wizard of Truth@WZ_VERMILION,idle,85,21,10000,1000,25000,no,target,always,0,,,,,,,
 3764,Wizard of Truth@AL_TELEPORT,idle,26,1,10000,0,0,yes,self,rudeattacked,,,,,,,,
 3764,Wizard of Truth@AL_TELEPORT,walk,26,1,5000,0,5000,yes,self,rudeattacked,,,,,,,,
-3764,Wizard of Truth@WZ_VERMILION,chase,85,10,10000,500,27000,no,target,always,0,,,,,,,
+3764,Wizard of Truth@WZ_VERMILION,chase,85,21,10000,500,27000,no,target,always,0,,,,,,,
 3764,Wizard of Truth@WZ_STORMGUST,attack,89,9,10000,1000,26000,no,target,always,0,,,,,,,
-3764,Wizard of Truth@WZ_VERMILION,attack,85,10,10000,1000,25000,no,target,always,0,,,,,,,
+3764,Wizard of Truth@WZ_VERMILION,attack,85,21,10000,1000,25000,no,target,always,0,,,,,,,
 3764,Wizard of Truth@MG_FIREWALL,attack,18,9,2000,200,19000,yes,target,always,0,,,,,,,
 3764,Wizard of Truth@WZ_METEOR,attack,83,9,10000,1000,29000,no,target,always,,,,,,,,
 3764,Wizard of Truth@WZ_HEAVENDRIVE,attack,91,5,2000,1000,22000,no,target,always,0,,,,,,,
@@ -13124,6 +13105,108 @@
 20280,G_ILL_WOOTAN_FIGHTER@KN_BRANDISHSPEAR,attack,57,5,2000,0,10000,yes,target,always,0,,,,,,6,
 20280,G_ILL_WOOTAN_FIGHTER@NPC_FIREATTACK,attack,186,4,1000,0,5000,yes,target,always,0,,,,,,,
 
+// Illusion of Teddy Bear
+20255,ILL_TEDDY_BEAR_R@AL_TELEPORT,idle,26,1,5000,0,5000,yes,self,rudeattacked,0,,,,,,,
+20255,ILL_TEDDY_BEAR_R@NPC_CURSEATTACK,chase,181,3,1000,500,5000,no,target,always,0,,,,,,2,
+20255,ILL_TEDDY_BEAR_R@NPC_CRITICALSLASH,attack,170,1,1500,500,5000,no,target,always,0,,,,,,6,
+20255,ILL_TEDDY_BEAR_R@NPC_FIREATTACK,attack,186,2,1000,0,5000,yes,target,always,0,,,,,,37,
+20255,ILL_TEDDY_BEAR_R@BS_HAMMERFALL,attack,110,5,500,1500,5000,no,target,always,0,,,,,,8,
+20256,ILL_TEDDY_BEAR_Y@AL_TELEPORT,idle,26,1,5000,0,5000,yes,self,rudeattacked,0,,,,,,,
+20256,ILL_TEDDY_BEAR_Y@MG_LIGHTNINGBOLT,chase,20,2,1500,1000,5000,no,target,always,0,,,,,,,
+20256,ILL_TEDDY_BEAR_Y@NPC_CURSEATTACK,chase,181,5,1000,500,5000,no,target,always,0,,,,,,2,
+20256,ILL_TEDDY_BEAR_Y@WZ_VERMILION,attack,85,3,500,1500,10000,no,target,always,0,,,,,,6,
+20256,ILL_TEDDY_BEAR_Y@WZ_STORMGUST,attack,89,3,1000,1500,10000,no,target,always,0,,,,,,37,
+20256,ILL_TEDDY_BEAR_Y@HW_GANBANTEIN,attack,483,1,1000,0,5000,no,target,skillused,18,,,,,,8,
+20256,ILL_TEDDY_BEAR_Y@MG_LIGHTNINGBOLT,attack,20,3,500,1500,10000,no,target,always,0,,,,,,,
+20257,ILL_TEDDY_BEAR_G@AL_TELEPORT,idle,26,1,5000,0,5000,yes,self,rudeattacked,0,,,,,,,
+20257,ILL_TEDDY_BEAR_G@NPC_BLOODDRAIN,chase,199,1,1500,0,5000,yes,target,always,0,,,,,,,
+20257,ILL_TEDDY_BEAR_G@NPC_CLOUD_KILL,attack,739,3,500,1500,20000,no,target,always,0,,,,,,6,
+20258,ILL_TEDDY_BEAR_W@AL_TELEPORT,idle,26,1,5000,0,5000,yes,self,rudeattacked,0,,,,,,,
+20258,ILL_TEDDY_BEAR_W@NPC_CHEAL,chase,729,5,3000,500,3000,no,self,friendhpltmaxrate,99,,,,,,,
+20258,ILL_TEDDY_BEAR_W@NPC_CHEAL,chase,729,5,3000,500,3000,no,self,myhpltmaxrate,99,,,,,,,
+20258,ILL_TEDDY_BEAR_W@NPC_CHEAL,attack,729,5,1500,500,5000,no,self,always,0,,,,,,2,
+20258,ILL_TEDDY_BEAR_W@AL_HEAL,attack,28,9,2000,0,2000,yes,friend,friendhpltmaxrate,99,,,,,,,
+20258,ILL_TEDDY_BEAR_W@AL_HEAL,attack,28,9,2000,0,2000,yes,friend,myhpltmaxrate,99,,,,,,3,
+20258,ILL_TEDDY_BEAR_W@AM_POTIONPITCHER,attack,231,4,5000,500,5000,no,friend,friendhpltmaxrate,60,,,,,,,
+20258,ILL_TEDDY_BEAR_W@AM_POTIONPITCHER,attack,231,4,5000,500,5000,no,friend,myhpltmaxrate,30,,,,,,5,
+20258,ILL_TEDDY_BEAR_W@NPC_ALLHEAL,attack,687,1,10000,5000,30000,no,self,myhpltmaxrate,10,,,,,,6,
+20258,ILL_TEDDY_BEAR_W@CR_HOLYCROSS,attack,253,5,500,0,5000,yes,target,always,0,,,,,,32,
+20259,ILL_TEDDY_BEAR_B@AL_TELEPORT,idle,26,1,5000,0,5000,yes,self,rudeattacked,0,,,,,,,
+20259,ILL_TEDDY_BEAR_B@MG_COLDBOLT,chase,14,2,1500,1000,5000,no,target,always,0,,,,,,23,
+20259,ILL_TEDDY_BEAR_B@NPC_STORMGUST2,attack,723,1,500,1500,10000,no,target,always,0,,,,,,20,
+20259,ILL_TEDDY_BEAR_B@NPC_WATERATTACK,attack,184,2,1500,0,5000,yes,target,always,0,,,,,,6,
+20259,ILL_TEDDY_BEAR_B@MG_COLDBOLT,attack,14,3,500,1500,10000,no,target,always,0,,,,,,,
+20260,ILL_TEDDY_BEAR_S@NPC_AGIUP,attack,350,1,5000,0,20000,yes,self,always,0,,,,,,,
+20260,ILL_TEDDY_BEAR_S@NPC_BLEEDING2,attack,764,5,2000,500,10000,no,target,always,0,,,,,,,
+20260,ILL_TEDDY_BEAR_S@NPC_CRITICALWOUND,attack,673,3,1000,500,20000,no,target,always,0,,,,,,,
+20260,ILL_TEDDY_BEAR_S@NPC_WIDESIGHT,attack,669,1,10000,0,30000,yes,self,always,0,,,,,,,
+20260,ILL_TEDDY_BEAR_S@NPC_WEAPONBRAKER,attack,343,1,10000,0,40000,yes,target,always,0,,,,,,,
+20260,ILL_TEDDY_BEAR_S@NPC_DARKBREATH,attack,202,5,2000,3000,10000,no,target,myhpltmaxrate,60,,,,,,0,
+20260,ILL_TEDDY_BEAR_S@CR_HOLYCROSS,attack,253,10,500,0,5000,yes,target,always,0,,,,,,32,
+20260,ILL_TEDDY_BEAR_S@NPC_CALLSLAVE,attack,352,1,10000,0,30000,yes,self,always,0,,,,,,,
+20260,ILL_TEDDY_BEAR_S@NPC_CALLSLAVE,idle,352,1,10000,0,10000,yes,self,always,0,,,,,,,
+20260,ILL_TEDDY_BEAR_S@NPC_CALLSLAVE,chase,352,1,10000,0,5000,yes,self,always,0,,,,,,,
+// 20260,ILL_TEDDY_BEAR_S@NPC_EARTHQUAKE_K,attack,750,5,1500,2000,20000,no,target,myhpltmaxrate,30,,,,,,,
+20260,ILL_TEDDY_BEAR_S@NPC_EARTHQUAKE,attack,653,5,1500,2000,20000,no,target,myhpltmaxrate,30,,,,,,,
+20260,ILL_TEDDY_BEAR_S@NPC_PULSESTRIKE,attack,661,5,3000,3000,20000,no,self,always,0,,,,,,,
+20260,ILL_TEDDY_BEAR_S@NPC_SUMMONSLAVE,idle,196,1,10000,1000,30000,no,self,slavele,1,20255,20256,20257,20259,,,
+20260,ILL_TEDDY_BEAR_S@NPC_SUMMONSLAVE,attack,196,1,5000,1000,30000,no,self,slavele,1,20255,20256,20257,20259,,,
+20260,ILL_TEDDY_BEAR_S@NPC_POWERUP,attack,349,5,10000,0,60000,yes,self,myhpltmaxrate,20,,,,,,6,
+20260,ILL_TEDDY_BEAR_S@NPC_GRANDDARKNESS,attack,339,10,3000,1000,5000,no,self,always,0,,,,,,,
+20260,ILL_TEDDY_BEAR_S@AL_TELEPORT,idle,26,1,10000,0,0,yes,self,rudeattacked,0,,,,,,,
+20260,ILL_TEDDY_BEAR_S@AL_TELEPORT,walk,26,1,5000,0,10000,yes,self,rudeattacked,0,,,,,,,
+20260,ILL_TEDDY_BEAR_S@AL_TELEPORT,chase,26,1,5000,0,5000,yes,self,rudeattacked,0,,,,,,,
+20260,ILL_TEDDY_BEAR_S@SA_LANDPROTECTOR,attack,288,2,3000,1000,10000,no,target,groundattacked,0,,,,,,6,
+20260,ILL_TEDDY_BEAR_S@AL_PNEUMA,attack,25,1,3000,0,5000,yes,target,longrangeattacked,0,,,,,,18,
+20261,ILL_PITMAN@AL_TELEPORT,idle,26,1,5000,0,5000,yes,self,rudeattacked,0,,,,,,,
+20261,ILL_PITMAN@AL_TELEPORT,chase,26,1,5000,0,5000,yes,self,mobnearbygt,4,,,,,,,
+20261,ILL_PITMAN@NPC_SILENCEATTACK,chase,178,3,500,0,5000,no,target,always,0,,,,,,6,
+20261,ILL_PITMAN@NPC_COMBOATTACK,attack,171,3,500,700,5000,no,target,always,0,,,,,,,
+20261,ILL_PITMAN@TF_SPRINKLESAND,attack,149,1,500,0,5000,no,target,always,0,,,,,,6,
+20261,ILL_PITMAN@SM_MAGNUM,attack,7,3,1000,0,20000,yes,self,always,0,,,,,,32,
+20261,ILL_PITMAN@NPC_GUIDEDATTACK,attack,172,3,2000,0,15000,yes,target,always,0,,,,,,37,
+20262,ILL_MINERAL@AL_TELEPORT,idle,26,1,5000,0,5000,yes,self,rudeattacked,0,,,,,,,
+20262,ILL_MINERAL@AS_GRIMTOOTH,idle,137,3,5000,0,500,yes,target,mystatuson,0,,,,,,,
+20262,ILL_MINERAL@AL_HEAL,idle,28,9,5000,0,1500,yes,friend,mystatuson,0,,,,,,18,
+20262,ILL_MINERAL@TF_HIDING,chase,51,1,2000,0,10000,yes,self,always,0,,,,,,19,
+20262,ILL_MINERAL@TF_HIDING,chase,51,1,10000,0,10000,yes,self,myhpltmaxrate,30,,,,,,19,
+20262,ILL_MINERAL@AL_TELEPORT,chase,26,1,5000,0,5000,yes,self,mobnearbygt,4,,,,,,,
+20262,ILL_MINERAL@NPC_COMBOATTACK,attack,171,3,500,700,5000,no,target,always,0,,,,,,,
+20262,ILL_MINERAL@TF_SPRINKLESAND,attack,149,1,500,0,5000,no,target,always,0,,,,,,6,
+20262,ILL_MINERAL@NPC_GUIDEDATTACK,attack,172,3,2000,0,15000,yes,target,always,0,,,,,,37,
+20262,ILL_MINERAL@NPC_RANDOMATTACK,attack,183,2,1500,500,5000,yes,target,always,0,,,,,,,
+20263,ILL_OBSIDIAN@TF_HIDING,idle,51,1,500,500,5000,yes,self,always,0,,,,,,19,
+20263,ILL_OBSIDIAN@AS_GRIMTOOTH,idle,137,3,5000,0,500,yes,target,mystatuson,0,,,,,,,
+20263,ILL_OBSIDIAN@WZ_EARTHSPIKE,chase,90,3,1500,500,5000,no,target,always,0,,,,,,,
+20263,ILL_OBSIDIAN@CR_SHIELDCHARGE,attack,250,3,1000,1000,5000,no,target,always,0,,,,,,,
+20263,ILL_OBSIDIAN@NPC_GROUNDATTACK,attack,185,2,500,500,5000,yes,target,always,0,,,,,,,
+20263,ILL_OBSIDIAN@TF_HIDING,attack,51,1,500,500,50000,yes,self,always,0,,,,,,19,
+20264,G_ILL_TEDDY_BEAR_R@NPC_CURSEATTACK,chase,181,3,1000,500,5000,no,target,always,0,,,,,,2,
+20264,G_ILL_TEDDY_BEAR_R@NPC_CRITICALSLASH,attack,170,1,1500,500,5000,no,target,always,0,,,,,,6,
+20264,G_ILL_TEDDY_BEAR_R@NPC_FIREATTACK,attack,186,5,1000,0,5000,yes,target,always,0,,,,,,37,
+20264,G_ILL_TEDDY_BEAR_R@BS_HAMMERFALL,attack,110,5,500,1500,5000,no,target,always,0,,,,,,8,
+20265,G_ILL_TEDDY_BEAR_Y@MG_LIGHTNINGBOLT,chase,20,2,1500,1000,5000,no,target,always,0,,,,,,,
+20265,G_ILL_TEDDY_BEAR_Y@NPC_CURSEATTACK,chase,181,5,1000,500,5000,no,target,always,0,,,,,,2,
+20265,G_ILL_TEDDY_BEAR_Y@WZ_VERMILION,attack,85,3,500,1500,10000,no,target,always,0,,,,,,6,
+20265,G_ILL_TEDDY_BEAR_Y@WZ_STORMGUST,attack,89,3,1000,1500,10000,no,target,always,0,,,,,,37,
+20265,G_ILL_TEDDY_BEAR_Y@HW_GANBANTEIN,attack,483,1,1000,0,5000,no,target,skillused,18,,,,,,8,
+20265,G_ILL_TEDDY_BEAR_Y@MG_LIGHTNINGBOLT,attack,20,3,500,1500,10000,no,target,always,0,,,,,,,
+20266,G_ILL_TEDDY_BEAR_G@NPC_BLOODDRAIN,chase,199,1,1500,0,5000,yes,target,always,0,,,,,,,
+20266,G_ILL_TEDDY_BEAR_G@NPC_CLOUD_KILL,attack,739,3,500,1500,20000,no,target,always,0,,,,,,6,
+20267,G_ILL_TEDDY_BEAR_W@NPC_CHEAL,chase,729,5,3000,500,3000,no,self,friendhpltmaxrate,99,,,,,,,
+20267,G_ILL_TEDDY_BEAR_W@NPC_CHEAL,chase,729,5,3000,500,3000,no,self,myhpltmaxrate,99,,,,,,,
+20267,G_ILL_TEDDY_BEAR_W@NPC_CHEAL,attack,729,5,1500,500,5000,no,self,always,0,,,,,,2,
+20267,G_ILL_TEDDY_BEAR_W@AL_HEAL,attack,28,9,2000,0,2000,yes,friend,friendhpltmaxrate,99,,,,,,,
+20267,G_ILL_TEDDY_BEAR_W@AL_HEAL,attack,28,9,2000,0,2000,yes,friend,myhpltmaxrate,99,,,,,,3,
+20267,G_ILL_TEDDY_BEAR_W@AM_POTIONPITCHER,attack,231,4,5000,500,5000,no,friend,friendhpltmaxrate,60,,,,,,,
+20267,G_ILL_TEDDY_BEAR_W@AM_POTIONPITCHER,attack,231,4,5000,500,5000,no,friend,myhpltmaxrate,30,,,,,,5,
+20267,G_ILL_TEDDY_BEAR_W@NPC_ALLHEAL,attack,687,1,10000,5000,30000,no,self,myhpltmaxrate,10,,,,,,6,
+20267,G_ILL_TEDDY_BEAR_W@CR_HOLYCROSS,attack,253,5,500,0,5000,yes,target,always,0,,,,,,32,
+20268,G_ILL_TEDDY_BEAR_B@MG_COLDBOLT,chase,14,2,1500,1000,5000,no,target,always,0,,,,,,23,
+20268,G_ILL_TEDDY_BEAR_B@NPC_STORMGUST2,attack,723,1,500,1500,10000,no,target,always,0,,,,,,20,
+20268,G_ILL_TEDDY_BEAR_B@NPC_WATERATTACK,attack,184,2,1500,0,5000,yes,target,always,0,,,,,,6,
+20268,G_ILL_TEDDY_BEAR_B@MG_COLDBOLT,attack,14,3,500,1500,10000,no,target,always,0,,,,,,,
+
 // Episode 17.1 - Illusion (custom) #!todo
 20340,EL-A17T@NPC_AGIUP,chase,350,5,2000,0,60000,no,self,always,0,,,,,,6,
 20340,EL-A17T@NPC_POWERUP,attack,349,5,2000,0,60000,no,self,always,0,,,,,,6,
@@ -14692,7 +14775,7 @@
 21360,EP18_MD_SCHULANG_L@NPC_TELEKINESISATTACK,attack,191,2,3000,0,5000,yes,target,always,0,,,,,,,
 21360,EP18_MD_SCHULANG_L@NPC_POWERUP,attack,349,3,5000,0,30000,yes,self,always,0,,,,,,,
 21360,EP18_MD_SCHULANG_L@NPC_DARKSTRIKE,chase,340,3,3000,200,15000,yes,target,always,0,,,,,,,
-// 21360,EP18_MD_SCHULANG_L@NPC_DEADLYCURSE2,attack,779,5,5000,1000,30000,no,self,always,0,,,,,,55,
+21360,EP18_MD_SCHULANG_L@NPC_DEADLYCURSE2,attack,779,5,5000,1000,30000,no,self,always,0,,,,,,55,
 21360,EP18_MD_SCHULANG_L@NPC_BLOODDRAIN,attack,199,1,2000,0,10000,yes,target,always,0,,,,,,,
 21360,EP18_MD_SCHULANG_L@NPC_DARKSTRIKE,attack,340,3,3000,200,15000,yes,target,always,0,,,,,,,
 21360,EP18_MD_SCHULANG_L@NPC_WIDESTONE2,attack,759,3,3000,500,30000,no,target,always,0,,,,,,,
@@ -14717,6 +14800,6 @@
 21361,EP18_MD_DEMI_FREYJA_L@NPC_HELLJUDGEMENT2,attack,768,5,1000,500,120000,yes,target,always,0,,,,,,,
 21361,EP18_MD_DEMI_FREYJA_L@NPC_CHANGEDARKNESS,attack,168,1,1000,0,120000,yes,self,always,0,,,,,,,
 21361,EP18_MD_DEMI_FREYJA_L@NPC_CHANGEHOLY,attack,167,1,3000,0,120000,yes,self,always,0,,,,,,,
-// 21361,EP18_MD_DEMI_FREYJA_L@NPC_DEADLYCURSE2,attack,779,5,5000,1000,30000,no,self,always,0,,,,,,55,
+21361,EP18_MD_DEMI_FREYJA_L@NPC_DEADLYCURSE2,attack,779,5,5000,1000,30000,no,self,always,0,,,,,,55,
 21361,EP18_MD_DEMI_FREYJA_L@NPC_CANE_OF_EVIL_EYE,chase,780,3,8000,300,30000,no,target,always,0,,,,,,,
 21361,EP18_MD_DEMI_FREYJA_L@NPC_CANE_OF_EVIL_EYE,attack,780,5,7000,300,30000,yes,target,always,0,,,,,,,

+ 22 - 0
db/re/pet_db.yml

@@ -2788,6 +2788,7 @@ Body:
 #         bonus bFlee,20;
 #      }
 #
+#  - Mob: FARMILIAR2 #TODO : Implement mob FARMILIAR2
   - Mob: FARMILIAR
     TameItem: Fruits_Set_Trap
     EggItem: Farmiliar_Egg
@@ -3102,3 +3103,24 @@ Body:
 #         bonus bMaxSP,30;
 #      }
 #
+#  - Mob: EP21_ICESEAHORSE
+#    TameItem: Ep21_Fatty_Shrimp
+#    EggItem: aegis_9157
+#    FoodItem: Pet_Food
+#    Fullness: 2   # unknown
+#    HungryDelay: 120   # unknown
+#    IntimacyFed: 15   # unknown
+#    CaptureRate: 2000   # unknown
+#    SpecialPerformance: false   # unknown
+#    Script: >
+#      .@i = getpetinfo(PETINFO_INTIMATE);
+#      
+#      if (.@i == PET_INTIMATE_CORDIAL) {
+#         bonus bMRes,5;
+#         bonus bRes,5;
+#      }
+#      else if (.@i == PET_INTIMATE_LOYAL) {
+#         bonus bMRes,10;
+#         bonus bRes,10;
+#      }
+#

+ 78 - 18
db/re/quest_db.yml

@@ -1404,21 +1404,21 @@ Body:
     TimeLimit: 4h
   - Id: 3455
     Title: Illusion Investigation Team - Machoko
-  # - Id: 3456
-    # Title: Illusion of Teddy Bear 100 Kills
-    # Targets:
-      # - Id: 1
-        # Count: 100
-        # Location: ein_d02_i
-        # MapMobTargets:
-          # ILL_TEDDY_BEAR_B: true
-          # ILL_MINERAL: true
-          # ILL_PITMAN: true
-          # ILL_TEDDY_BEAR_R: true
-          # ILL_TEDDY_BEAR_Y: true
-          # ILL_TEDDY_BEAR_W: true
-          # ILL_OBSIDIAN: true
-          # ILL_TEDDY_BEAR_G: true
+  - Id: 3456
+    Title: Illusion of Teddy Bear 100 Kills
+    Targets:
+      - Id: 1
+        Count: 100
+        Location: ein_d02_i
+        MapMobTargets:
+          ILL_TEDDY_BEAR_B: true
+          ILL_MINERAL: true
+          ILL_PITMAN: true
+          ILL_TEDDY_BEAR_R: true
+          ILL_TEDDY_BEAR_Y: true
+          ILL_TEDDY_BEAR_W: true
+          ILL_OBSIDIAN: true
+          ILL_TEDDY_BEAR_G: true
   - Id: 3457
     Title: Illusion of Teddy Bear 100 Kills - Standby
     TimeLimit: 4h
@@ -8038,14 +8038,74 @@ Body:
   - Id: 11555
     Title: In search of the taste of hometown - Waiting
     TimeLimit: 4h
+  - Id: 11556
+    Title: Missing Steven
+  - Id: 11557
+    Title: Missing Steven
+  - Id: 11558
+    Title: Missing Steven
+  - Id: 11559
+    Title: Missing Steven
+  - Id: 11560
+    Title: Missing Steven
+  - Id: 11561
+    Title: Missing Steven
+  - Id: 11562
+    Title: Missing Steven
+  - Id: 11563
+    Title: Nasarian Conspiracy
+    Targets:
+      - Mob: ILL_TEDDY_BEAR_R
+        Count: 10
+      - Mob: ILL_TEDDY_BEAR_Y
+        Count: 10
+      - Mob: ILL_TEDDY_BEAR_G
+        Count: 10
+  - Id: 11564
+    Title: Nasarian Conspiracy
+    Targets:
+      - Mob: ILL_TEDDY_BEAR_B
+        Count: 10
+      - Mob: ILL_TEDDY_BEAR_W
+        Count: 10
+  - Id: 11565
+    Title: RUN!
+    Targets:
+      - Mob: ILL_PITMAN
+        Count: 10
+      - Mob: ILL_MINERAL
+        Count: 10
+      - Mob: ILL_OBSIDIAN
+        Count: 10
   - Id: 11566
-    Title: Escape!!!! - Wait
+    Title: RUN! - Pending
     TimeLimit: 4h
+  - Id: 11567
+    Title: Things That Shouldn't Exist
+    Targets:
+      - Mob: ILL_TEDDY_BEAR_R
+        Count: 10
+      - Mob: ILL_TEDDY_BEAR_Y
+        Count: 10
+      - Mob: ILL_TEDDY_BEAR_G
+        Count: 10
+  - Id: 11568
+    Title: Things That Shouldn't Exist
+    Targets:
+      - Mob: ILL_TEDDY_BEAR_B
+        Count: 10
+      - Mob: ILL_TEDDY_BEAR_W
+        Count: 10
   - Id: 11569
-    Title: Present not to exist-wait
+    Title: Things That Shouldn't Exist - Pending
     TimeLimit: 4h
+  - Id: 11570
+    Title: Let the Light Devour the Darkness
+    Targets:
+      - Mob: ILL_TEDDY_BEAR_S
+        Count: 1
   - Id: 11571
-    Title: Let the light consume the darkness - Wait
+    Title: Let the Light Devour the Darkness - Pending
     TimeLimit: 4h
   - Id: 11596
     Title: Old Memories

+ 65 - 9
db/re/skill_db.yml

@@ -7234,9 +7234,9 @@ Body:
     Type: Magic
     TargetType: Self
     DamageFlags:
-      IgnoreAtkCard: true
-      IgnoreFlee: true
-    Range: 5
+      IgnoreDefense: true
+      SimpleDefense: true
+    Range: 9
     Hit: Single
     HitCount: 1
     Element: Holy
@@ -7664,8 +7664,8 @@ Body:
     Type: Weapon
     TargetType: Attack
     DamageFlags:
-      IgnoreDefense: true
       IgnoreFlee: true
+      SimpleDefense: true
     Flags:
       TargetTrap: true
     Range: -2
@@ -7699,7 +7699,6 @@ Body:
       - Level: 5
         Time: 1000
     Duration1: 3000
-    Duration2: 300000
     FixedCastTime:
       - Level: 1
         Time: 2000
@@ -8879,6 +8878,7 @@ Body:
     HitCount: 1
     SplashArea: -1
     AfterCastActDelay: 300
+    Duration1: 15000
     Duration2: 27000
     Cooldown: 4000
     Requires:
@@ -9136,6 +9136,7 @@ Body:
     HitCount: 1
     SplashArea: -1
     AfterCastActDelay: 300
+    Duration1: 4500
     Duration2: 4500
     Cooldown: 4000
     Requires:
@@ -9454,6 +9455,7 @@ Body:
     DamageFlags:
       IgnoreAtkCard: true
       IgnoreFlee: true
+      SimpleDefense: true
     Flags:
       IsNpc: true
       TargetSelf: true
@@ -11048,7 +11050,7 @@ Body:
     TargetType: Attack
     Flags:
       TargetTrap: true
-    Range: 5
+    Range: 4
     Hit: Multi_Hit
     HitCount: 5
     Element: Weapon
@@ -11313,7 +11315,7 @@ Body:
     TargetType: Attack
     DamageFlags:
       NoDamage: true
-    Range: 7
+    Range: 9
     Hit: Single
     HitCount: 1
     ActiveInstance: 3
@@ -18362,6 +18364,43 @@ Body:
     HitCount: 1
     Duration1: 60000
     Status: Relieve_off
+  - Id: 776
+    Name: NPC_DEADLYCURSE
+    Description: Deadly Curse
+    MaxLevel: 1
+    TargetType: Attack
+    DamageFlags:
+      NoDamage: true
+    Flags:
+      IgnoreGtb: true
+      IsNpc: true
+    Range: 1
+    Duration1: 15000
+    Status: Deadly_Defeasance
+  - Id: 779
+    Name: NPC_DEADLYCURSE2
+    Description: Deadly Curse 2
+    MaxLevel: 5
+    TargetType: Self
+    DamageFlags:
+      NoDamage: true
+      Splash: true
+    Flags:
+      IgnoreGtb: true
+      IsNpc: true
+    SplashArea:
+      - Level: 1
+        Area: 2
+      - Level: 2
+        Area: 3
+      - Level: 3
+        Area: 4
+      - Level: 4
+        Area: 5
+      - Level: 5
+        Area: 6
+    Duration2: 30000
+    Status: Deadly_Defeasance
   - Id: 780
     Name: NPC_CANE_OF_EVIL_EYE
     Description: Cane of evil eye
@@ -19112,6 +19151,7 @@ Body:
     DamageFlags:
       Splash: true
       IgnoreFlee: true
+      SimpleDefense: true
     Flags:
       TargetTrap: true
     Range: 9
@@ -22657,6 +22697,7 @@ Body:
     DamageFlags:
       Splash: true
       IgnoreFlee: true
+      SimpleDefense: true
     Flags:
       AllowOnMado: true
     Range: 9
@@ -24521,7 +24562,7 @@ Body:
     TargetType: Attack
     Range: 1
     Hit: Single
-    HitCount: 5
+    HitCount: -5
     CopyFlags:
       Skill:
         Reproduce: true
@@ -28791,6 +28832,7 @@ Body:
     DamageFlags:
       Splash: true
       IgnoreFlee: true
+      SimpleDefense: true
     Range:
       - Level: 1
         Size: 7
@@ -29689,6 +29731,19 @@ Body:
         - Level: 2
           Amount: 100
     Status: Odins_Power
+  - Id: 2543
+    Name: ALL_RAY_OF_PROTECTION
+    Description: Ray of Protection
+    MaxLevel: 1
+    Type: Magic
+    TargetType: Support
+    DamageFlags:
+      NoDamage: true
+    Range: 1
+    Hit: Single
+    HitCount: 1
+    Duration1: 60000
+    Status: Protection
   - Id: 2544
     Name: MC_CARTDECORATE
     Description: Decorate Cart
@@ -33147,6 +33202,7 @@ Body:
     DamageFlags:
       Splash: true
       IgnoreFlee: true
+      SimpleDefense: true
     Flags:
       TargetTrap: true
     Range: 9
@@ -46222,7 +46278,7 @@ Body:
     TargetType: Attack
     Flags:
       TargetTrap: true
-    Range: 5
+    Range: 4
     Hit: Multi_Hit
     HitCount: 5
     Element: Weapon

+ 29 - 8
db/re/status.yml

@@ -72,6 +72,7 @@ Body:
       Stun: true
       Sleep: true
       Burning: true
+      Protection: true
     EndOnStart:
       Aeterna: true
     EndReturn:
@@ -125,6 +126,7 @@ Body:
       Stun: true
       Sleep: true
       Burning: true
+      Protection: true
     EndOnStart:
       Aeterna: true
   - Status: Stun
@@ -144,6 +146,7 @@ Body:
       Inspiration: true
       Gvg_Stun: true
       Stun: true
+      Protection: true
   - Status: Sleep
     DurationLookup: NPC_SLEEPATTACK
     States:
@@ -162,6 +165,7 @@ Body:
       Inspiration: true
       Gvg_Sleep: true
       Sleep: true
+      Protection: true
   - Status: Poison
     DurationLookup: NPC_POISON
     CalcFlags:
@@ -180,6 +184,7 @@ Body:
       Inspiration: true
       Poison: true
       Dpoison: true
+      Protection: true
   - Status: Curse
     DurationLookup: NPC_WIDECURSE
     CalcFlags:
@@ -198,6 +203,7 @@ Body:
       Inspiration: true
       Gvg_Curse: true
       Curse: true
+      Protection: true
   - Status: Silence
     DurationLookup: NPC_SILENCEATTACK
     States:
@@ -214,6 +220,7 @@ Body:
       Inspiration: true
       Gvg_Silence: true
       Silence: true
+      Protection: true
   - Status: Confusion
     DurationLookup: NPC_WIDECONFUSE
     Flags:
@@ -223,6 +230,7 @@ Body:
     Fail:
       Refresh: true
       Inspiration: true
+      Protection: true
     EndReturn:
       Confusion: true
   - Status: Blind
@@ -242,6 +250,7 @@ Body:
       Fear: true
       Gvg_Blind: true
       Blind: true
+      Protection: true
   - Status: Bleeding
     Icon: EFST_BLOODING
     DurationLookup: NPC_BLEEDING
@@ -259,6 +268,7 @@ Body:
     Fail:
       Refresh: true
       Inspiration: true
+      Protection: true
   - Status: Dpoison
     DurationLookup: NPC_POISON
     CalcFlags:
@@ -999,6 +1009,7 @@ Body:
     Flags:
       SendOption: true
   - Status: Extremityfist
+    Icon: EFST_EXTREMITYFIST
     DurationLookup: MO_EXTREMITYFIST
     CalcFlags:
       Regen: true
@@ -6107,14 +6118,6 @@ Body:
       NoBanishingBuster: true
       NoDispell: true
       RemoveOnHermode: true
-  - Status: Extremityfist2
-    Icon: EFST_EXTREMITYFIST
-    DurationLookup: MO_EXTREMITYFIST
-    Flags:
-      NoRemoveOnDead: true
-      NoDispell: true
-      NoBanishingBuster: true
-      NoClearance: true
   - Status: Mtf_Aspd2
     Icon: EFST_MTF_ASPD2
     CalcFlags:
@@ -8923,3 +8926,21 @@ Body:
       NoClearance: true
     EndOnStart:
       Decreaseagi: true
+  - Status: Protection
+    Icon: EFST_RAY_OF_PROTECTION
+    Flags:
+      NoClearbuff: true
+      NoDispell: true
+      NoBanishingBuster: true
+      NoClearance: true
+    EndOnStart:
+      Stun: true
+      Sleep: true
+      Curse: true
+      Stone: true
+      Poison: true
+      Blind: true
+      Silence: true
+      Bleeding: true
+      Confusion: true
+      Freeze: true

+ 14 - 2
doc/ea_job_system.txt

@@ -63,11 +63,12 @@ The eA Job System:
 	EAJL_2		0x300
 
 - The third category is type. Classes can either be normal, rebirth/advanced,
-  adopted, or third class.
+  adopted, third class or fourth class.
 
 	EAJL_UPPER	0x1000
 	EAJL_BABY	0x2000
 	EAJL_THIRD	0x4000
+	EAJL_FOURTH	0x8000
 
 So using these three categories, any job class can be constructed from the
 others. Let's take a swordman, for example.
@@ -143,6 +144,11 @@ EAJL_THIRD:
 	if(@eac&EAJL_THIRD)
 		mes "Wow, you've really grown!";
 
+EAJL_FOURTH:
+	Checks if a class is a fourth job.
+	if(@eac&EAJL_FOURTH)
+		mes "Wow, you've really grown!";
+
 EAJ_UPPERMASK:
 	The upper mask can be used to "strip" the upper/baby characteristics of a
 	class, used when you want to know if someone is a certain class regardless
@@ -169,13 +175,19 @@ EAJ_BASEMASK:
 	check will  always fail for the same reasons previously explained.
 
 EAJ_THIRDMASK:
-	This mask strips 3rd class attributes.  It will give the "normal" class of
+	This mask strips 3rd class attributes. It will give the "normal" class of
 	a third job, regardless of rebirth/adopted status.  When used on non-third
 	class characters, it will return the second job, or, if that also doesn't
 	exist, the first.
 	if ((@eac&EAJ_THIRDMASK) == EAJ_WARLOCK_T)
 		mes "You've gone through rebirth, I see.";
 
+EAJ_FOURTHMASK:
+	This mask strips 4th class attributes. Although currently there are none,
+	it is suggested to use this for checking.
+	if ((@eac&EAJ_FOURTHMASK) == EAJ_DRAGON_KNIGHT)
+		mes "Oh you are a Dragon Knight, I see.";
+
 The script commands eaclass, roclass:
 -------------------------------------------------------------------------------
 

+ 1 - 1
doc/item_bonus.txt

@@ -31,7 +31,7 @@ This list contains all available constants referenced in the 'bonus' commands.
 	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_EP172ALPHA, RC2_EP172BETA, RC2_EP172BATH,
-	RC2_Illusion_Turtle, RC2_Rachel_Sanctuary, RC2_Illusion_Luanda
+	RC2_Illusion_Turtle, RC2_Rachel_Sanctuary, RC2_Illusion_Luanda, RC2_Illusion_Frozen, RC2_Illusion_Moonlight
 
 * Class (c)
 	Class_Normal, Class_Boss, Class_Guardian, Class_All

+ 12 - 0
doc/mob_db.txt

@@ -204,6 +204,18 @@ AttackMotion: Attack animation motion. Low value means monster's attack will be
 
 ---------------------------------------
 
+ClientAttackMotion: The time from the start of a normal attack until the damage frame shows on client. At the same time you also get stopped on the client.
+This value is only needed if you use the "synchronize_damage" feature (battle/battle.conf).
+
+If you created a custom sprite, you want to set this value to the timing of the damage frame in your *.act file.
+In Act Editor you can set the damage frame by setting the frame sound to "atk". If you don't define a damage frame, it will default to the second to last
+frame. Also keep in mind that the Act Editor displays slightly inaccurate speed. Every 25ms in Act Editor is 24ms in reality.
+
+Example: Drops has a animation speed of 24ms per frame and the 13th frame (frame #12) is the damage frame. This means the damage shows after 12 frames.
+That's why Drops has a ClientAttackMotion of 24*12 = 288.
+
+---------------------------------------
+
 DamageMotion: Damage animation motion, same as aMotion but used to display the "I am hit" animation. Coincidentally, this same value is used to determine how long it is before the monster/player can move again. Endure is dMotion = 0, obviously.
 
 ---------------------------------------

+ 2 - 2
doc/mob_skill_db_powerskill.txt

@@ -10,8 +10,8 @@
 
 When a monster uses a level 10 skill on Aegis, it will be much stronger than the 
 normal player version. On rAthena we reflect this by giving the monster a skill
-level above the maximum player level.
-The following lists explains the skill specialities and the corresponding level
+level above the maximum player skill level.
+The following list explains the skill specialities and the corresponding level
 which needs to be put for these skills in the mob_skill_db.
 
 Note: The "SkillDatabase::parseNode" template has a linear determination feature

+ 39 - 33
doc/permissions.txt

@@ -3,7 +3,7 @@
 //===== By: ==================================================
 //= rAthena Dev Team
 //===== Last Updated: ========================================
-//= 20130613
+//= 20240414
 //===== Description: =========================================
 //= List of available permissions and their functions.
 //============================================================
@@ -11,6 +11,12 @@
 This file describes the functions of player group permissions,
 configured in '/conf/groups.conf' under the "permissions" bracket.
 
+The permission name used in '/conf/groups.conf' goes after the asterisk "*",
+while the constant name used in scripts and src goes between the parentheses "()"
+in the following format:
+
+*permission_name (PC_PERM_CONSTANT_NAME)
+
 To search for a permission, write "*" before its name.
 The format of this file is as follows:
 	1. Basic Permissions
@@ -22,20 +28,20 @@ The format of this file is as follows:
 ========================
 ---------------------------------------
 
-*can_trade
+*can_trade (PC_PERM_TRADE)
 
 Allows player to distribute items, such as through trades, dropping,
 vending, storage, mail, etc.
 
 ---------------------------------------
 
-*can_party
+*can_party (PC_PERM_PARTY)
 
 Allows player to create and join parties.
 
 ---------------------------------------
 
-*attendance
+*attendance (PC_PERM_ATTENDANCE)
 
 Allows player to use the daily attendance system.
 
@@ -46,78 +52,78 @@ Allows player to use the daily attendance system.
 ===========================
 ---------------------------------------
 
-*all_skill
+*all_skill (PC_PERM_ALL_SKILL)
 
 Grants player all available skills in the player's skill tree.
 
 ---------------------------------------
 
-*all_equipment
+*all_equipment (PC_PERM_USE_ALL_EQUIPMENT)
 
 Allows player to equip any item, regardless of requirements (class, level,
 etc.). Note that this can cause client errors if a sprite does not exist.
 
 ---------------------------------------
 
-*skill_unconditional
+*skill_unconditional (PC_PERM_SKILL_UNCONDITIONAL)
 
 Allows player to use any skill, regardless of required conditions (SP,
 items, etc.).
 
 ---------------------------------------
 
-*join_chat
+*join_chat (PC_PERM_JOIN_ALL_CHAT)
 
 Allows player to join password-protected chatrooms.
 
 ---------------------------------------
 
-*kick_chat
+*kick_chat (PC_PERM_NO_CHAT_KICK)
 
 Prevents player from being kicked from a chatroom.
 
 ---------------------------------------
 
-*view_hpmeter
+*view_hpmeter (PC_PERM_VIEW_HPMETER)
 
 Allows player to see the HP bar of every player.
 
 ---------------------------------------
 
-*view_equipment
+*view_equipment (PC_PERM_VIEW_EQUIPMENT)
 
 Allows player to view the equipment of every player, regardless of that
 player's setting.
 
 ---------------------------------------
 
-*hack_info
+*hack_info (PC_PERM_RECEIVE_HACK_INFO)
 
 Allows player to receive all information about players who try to hack,
 spoof a name, etc.
 
 ---------------------------------------
 
-*disable_pvm
+*disable_pvm (PC_PERM_DISABLE_PVM)
 
 Prevents player from attacking monsters.
 
 ---------------------------------------
 
-*disable_pvp
+*disable_pvp (PC_PERM_DISABLE_PVP)
 
 Prevents player from attacking other players.
 
 ---------------------------------------
 
-*can_trade_bounded
+*can_trade_bounded (PC_PERM_TRADE_BOUNDED)
 
 Allows player to do normal item actions with bounded items (drop, sell,
 trade, etc.).
 
 ---------------------------------------
  
-*item_unconditional
+*item_unconditional (PC_PERM_ITEM_UNCONDITIONAL)
 
 Allows player to consume any consumable item regardless the requirements
 (bypass noitemconsumption mapflag, item's class, gender, status changes,
@@ -125,7 +131,7 @@ item delay, etc).
 
 ---------------------------------------
 
-*trade_unconditional
+*trade_unconditional (PC_PERM_TRADE_UNCONDITIONAL)
 
 Allows player to ignore the trade conditions of items (drop, trade, sell, cart, storage/gstorage, mail and auction).
 
@@ -136,32 +142,32 @@ Allows player to ignore the trade conditions of items (drop, trade, sell, cart,
 ======================
 ---------------------------------------
 
-*all_commands
+*all_commands (PC_PERM_USE_ALL_COMMANDS)
 
 Allows usage of all atcommands and charcommands.
 
 ---------------------------------------
 
-*disable_commands_when_dead
+*disable_commands_when_dead (PC_PERM_DISABLE_CMD_DEAD)
 
 Disables usage of atcommands when player is dead.
 
 ---------------------------------------
 
-*hide_session
+*hide_session (PC_PERM_HIDE_SESSION)
 
 Hides player session from being displayed by atcommands (@who, @whomap,
 etc.).
 
 ---------------------------------------
 
-*who_display_aid
+*who_display_aid (PC_PERM_WHO_DISPLAY_AID)
 
 Displays all GMs and character/account IDs in the @who command.
 
 ---------------------------------------
 
-*any_warp
+*any_warp (PC_PERM_WARP_ANYWHERE)
 
 Allows player to bypass 'nowarp', 'nowarpto', 'noteleport', and 'nomemo'
 mapflags in commands which modify a character's map or coordinates (@memo,
@@ -169,64 +175,64 @@ mapflags in commands which modify a character's map or coordinates (@memo,
 
 ---------------------------------------
 
-*receive_requests
+*receive_requests (PC_PERM_RECEIVE_REQUESTS)
 
 Allows player to receive requests through the @requests command.
 
 ---------------------------------------
 
-*show_bossmobs
+*show_bossmobs (PC_PERM_SHOW_BOSS)
 
 Displays boss mobs in the @showmobs command.
 
 ---------------------------------------
 
-*channel_admin
+*channel_admin (PC_PERM_CHANNEL_ADMIN)
 
 Allows player to modify #channel settings regardless of ownership and to
 join password-protected channels without a password.
 
 ---------------------------------------
 
-*use_check
+*use_check (PC_PERM_USE_CHECK)
 
 Allows player to use the client command /check (displays character status).
 
 ---------------------------------------
 
-*use_changemaptype
+*use_changemaptype (PC_PERM_USE_CHANGEMAPTYPE)
 
 Allows player to use the client command /changemaptype.
 
 ---------------------------------------
 
-*command_enable
+*command_enable (PC_PERM_ENABLE_COMMAND)
 
 Enable to use atcommand while talking with NPC.
 
 ---------------------------------------
 
-*bypass_stat_onclone
+*bypass_stat_onclone (PC_PERM_BYPASS_STAT_ONCLONE)
 
 Bypass max parameter limit while using @clonestat
 
 ---------------------------------------
 
-*bypass_max_stat
+*bypass_max_stat (PC_PERM_BYPASS_MAX_STAT)
 
 Allow to bypass the maximum stat parameter (at conf/player.conf) to
 maximum value 32,767.
 
 ---------------------------------------
 
-*macro_detect
+*macro_detect (PC_PERM_MACRO_DETECT)
 
 Allows player to use the client command /macro_detector.
 
 ---------------------------------------
 
-*macro_register
+*macro_register (PC_PERM_MACRO_REGISTER)
 
-Allows player to use the client commands /maco_register (used to add new captcha) and /macro_preview (used to preview captcha by ID).
+Allows player to use the client commands /macro_register (used to add new captcha) and /macro_preview (used to preview captcha by ID).
 
 ---------------------------------------

+ 107 - 30
doc/script_commands.txt

@@ -1,4 +1,4 @@
-//===== rAthena Documentation================================
+//===== rAthena Documentation================================
 //= rAthena Script Commands
 //===== By:==================================================
 //= rAthena Dev Team
@@ -135,11 +135,26 @@ and 'doc/mapflags.txt'.
 <map name>{,<x>{,<y>{,<xs>{,<ys>}}}}%TAB%monster%TAB%<monster name>{,<monster level>}%TAB%<mob id>,<amount>{,<delay1>{,<delay2>{,<event>{,<mob size>{,<mob ai>}}}}}
 
 Map name is the name of the map the monsters will spawn on. x,y are the
-coordinates where the mob should spawn. If xs and ys are non-zero, they
-specify the 'radius' of a spawn-rectangle area centered at x,y.
-Putting zeros instead of these coordinates will spawn the monsters randomly.
+coordinates where the mob should spawn. Putting zeros instead of these
+coordinates will spawn the monsters randomly.
+
+If the coordinates are non-zero and xs and ys are above 1, each monster will
+spawn in a radius around x,y. At server start, each monster will get assigned
+its own center cell adding or substracting up to (xs-1),(ys-1) from the given
+x,y coordinates. Each time a monster respawns, it will spawn in a radius around
+its personal center cell by adding or substracting up to (xs-1),(ys-1) again.
+This results in a total possible spawn area over all monsters of the spawn line
+of (xs,ys)*4-3, but with a strong bias towards the center of that area:
+2,2 - 5x5
+3,3 - 9x9
+4,4 - 13x13
+5,5 - 17x17
+etc.
+
 Note this is only the initial spawn zone, as mobs random-walk, they are free
 to move away from their specified spawn region.
+You can disable the picking of a random center cell for each monster in the
+battle config. (See /conf/battle/monster.conf::randomize_center_cell.)
 
 Monster name is the name the monsters will have on screen, and has no relation
 whatsoever to their names anywhere else. It's the mob id that counts, which
@@ -188,6 +203,8 @@ Natural enemies for AI monsters are normal monsters.
 
 Alternately, a monster spawned using 'boss_monster' instead of 'monster' is able
 to be detected on the map with the SC_BOSSMAPINFO status (used by Convex Mirror).
+A boss monster spawn with fixed coordinates will always spawn at the given 
+coordinates, even if they are blocked (e.g. by Icewall).
 
 ** NPC names
 
@@ -5677,22 +5694,35 @@ Example:
 
 ---------------------------------------
 
-*searchstores <uses>,<effect>;
+*searchstores <uses>,<effect>{,"<map name>"};
 
 Invokes the store search window, which allows to search for both vending
-and buying stores. Parameter uses indicates, how many searches can be
-started, before the window has to be reopened. Effect value affects,
-what happens, when a result item is double-clicked and can be one of the
-following:
+and buying stores.
 
-	0 = Shows the store's position on the mini-map and highlights the
-	    shop sign with yellow color, when the store is on same map
-	    as the invoking player.
-	1 = Directly opens the shop, regardless of distance.
+Parameter <uses> indicates how many searches can be started
+before the window has to be reopened.
 
-Example:
-	// Item Universal_Catalog_Gold (10 uses, effect: open shop)
-	searchstores 10,1;
+Parameter <effect> affects what happens when a result item is double-clicked
+and can be one of the following:
+
+	SEARCHSTORE_EFFECT_NORMAL : Shows the store's position on the mini-map and highlights the
+								shop sign with yellow color, when the store is on same map
+								as the invoking player.
+	SEARCHSTORE_EFFECT_REMOTE : Directly opens the shop, regardless of distance.
+	
+Optional parameter <map name> indicates the name of map where the stores will be searched.
+If not set, the search will be on the map the invoking character is currently on.
+Special values for <map name> are:
+
+	"this" : Will search for stores on the map where the invoking character is currently on. (default)
+	"all"  : Will search for stores on all maps.
+
+Examples:
+	// Item Vending_Search_Scroll (10 uses, effect: show mark on minimap, current map)
+	searchstores 10, SEARCHSTORE_EFFECT_NORMAL;
+	
+	// Search stores (1 use, effect: open shop, all maps on the server)
+	searchstores 1, SEARCHSTORE_EFFECT_REMOTE, "all";
 
 ---------------------------------------
 
@@ -6591,7 +6621,8 @@ Available <type>:
 	PCBLOCK_COMMANDS			Prevent the player from using atcommands/charcommands.
 	PCBLOCK_NPCCLICK			Prevent the player from clicking/touching any NPC/shop/warp.
 	PCBLOCK_EMOTION				Prevent the player from using emotions.
-	PCBLOCK_NPC				Simulate NPC interaction. Useful for NPC with no mes window. Sum of PCBLOCK_MOVE|PCBLOCK_SKILL|PCBLOCK_USEITEM|PCBLOCK_COMMANDS|PCBLOCK_NPCCLICK.
+	PCBLOCK_EQUIP				Prevent the player from replacing equipment.
+	PCBLOCK_NPC				Simulate NPC interaction. Useful for NPC with no mes window. Sum of PCBLOCK_MOVE|PCBLOCK_SKILL|PCBLOCK_USEITEM|PCBLOCK_COMMANDS|PCBLOCK_NPCCLICK|PCBLOCK_EQUIP.
 	PCBLOCK_ALL				Sum of all the flags.
 
 Examples:
@@ -6620,8 +6651,8 @@ Examples:
 
 ---------------------------------------
 
-macro_detector({<account ID>});
-macro_detector({"<character name>"});
+*macro_detector({<account ID>});
+*macro_detector({"<character name>"});
 
 This command will display the captcha UI challenge onto the invoking character or the given <account ID>/<character name>.
 
@@ -6642,6 +6673,46 @@ Example:
 
 ---------------------------------------
 
+*permission_check(<permission>{,<char_id>});
+
+This command will return true if the attached character has the specified permission, false otherwise.
+If <char_id> is given, it will check the permission for that character instead.
+
+A full list of the player permission constants (with the 'PC_PERM' prefix) along with the
+full permissions documentation can be found in 'doc/permissions.txt'.
+
+
+Example:
+	if (permission_check(PC_PERM_TRADE)) {
+		mes "You have permission to trade!";
+	}
+	else {
+		mes "You do not have permission to trade!";
+	}
+	end;
+
+---------------------------------------
+
+*permission_add(<permission>{,<char_id>});
+*permission_remove(<permission>{,<char_id>});
+
+These commands will temporarily add or remove the specified permission to the attached character,
+or the given <char_id> until the player logs out.
+
+A full list of the player permission constants (with the 'PC_PERM' prefix) along with the
+full permissions documentation can be found in 'doc/permissions.txt'.
+
+Examples:
+	// Adds the 'can_trade' permission to the attached character,
+	// allowing them to trade, drop, sell, store and mail items.
+	permission_add(PC_PERM_TRADE);
+
+	// Removes the 'can_party' permission from the attached character,
+	// preventing them from joining or creating parties.
+	permission_remove(PC_PERM_PARTY);
+
+---------------------------------------
+
 ==================================
 |5.- Mob / NPC -related commands.|
 ==================================
@@ -7944,17 +8015,15 @@ Return values:
 //
 ---------------------------------------
 
-*npcspeed <speed value>;
-*npcwalkto <x>,<y>;
-*npcstop;
+*npcspeed( <speed value> {,"<npc name>"} );
+*npcwalkto( <x>,<y> {,"<npc name>"} } );
+*npcstop( {"<npc name>", {"<flag>"}});
 
-These commands will make the NPC object in question move around the map. As they
-currently are, they are a bit buggy and are not useful for much more than making
-an NPC move randomly around the map.
+These commands will make the NPC object in question move around the map.
 
-'npcspeed' will set the NPCs walking speed to a specified value. As in the
-@speed GM command, 200 is the slowest possible speed while 0 is the fastest
-possible (instant motion). 100 is the default character walking speed.
+'npcspeed' will permanently set the NPCs walking speed to a specified value. As in the
+@speed GM command, MAX_WALK_SPEED (1000) is the slowest possible speed while MIN_WALK_SPEED (20) is the fastest
+possible (instant motion). DEFAULT_NPC_WALK_SPEED (200) is the default NPC walking speed.
 
 'npcwalkto' will start the NPC sprite moving towards the specified coordinates
 on the same map it is currently on. The script proceeds immediately after the
@@ -7962,10 +8031,17 @@ NPC begins moving.
 
 'npcstop' will stop the motion.
 
+The <flag> value in npcstop affects how the unit is stopped. The following flags are bitwise values (can be combined using the pipe operator):
+	USW_NONE = Unit will keep walking to their original destination.
+	USW_FIXPOS = Issue a fixpos packet afterwards.
+	USW_MOVE_ONCE = Force the unit to move one cell if it hasn't yet.
+	USW_MOVE_FULL_CELL = Enable moving to the next cell when unit was already half-way there (may cause on-touch/place side-effects, such as a scripted map change).
+	USW_FORCE_STOP = Force stop moving.
+Default: USW_FIXPOS | USW_MOVE_FULL_CELL | USW_FORCE_STOP
+
 While in transit, the NPC will be clickable, but invoking it will cause it to
 stop moving, which will make its coordinates different from what the client
-computed based on the speed and motion coordinates. The effect is rather
-unnerving.
+computed based on the speed and motion coordinates.
 
 Only a few NPC sprites have walking animations, and those that do, do not get
 the animation invoked when moving the NPC, due to the problem in the NPC walking
@@ -9780,6 +9856,7 @@ For details on the other parameters, see 'announce'.
 
 This function checks if a party meets certain requirements, returning 1 if all
 conditions are met and 0 otherwise. It will only check online characters.
+The command returns 0 is the party ID does not exist.
 
 amount - number of online party members (default is 1).
 min    - minimum level of all characters in the party (default is 1).

+ 1 - 0
doc/skill_db.txt

@@ -58,6 +58,7 @@ IgnoreFlee		- Skill ignores target's flee (Magic type always ignores)
 IgnoreDefCard	- Skill ignores target's defense cards.
 IgnoreLongCard	- Skill ignores caster's long range damage cards.
 Critical		- Skill can critical.
+SimpleDefense	- (Renewal-only) Physical damage is flatly reduced by DEF+DEF2. RES is ignored.
 
 ---------------------------------------
 

+ 1 - 1
doc/yaml/db/license.yml

@@ -1,5 +1,5 @@
 # This file is a part of rAthena.
-#   Copyright(C) 2023 rAthena Development Team
+#   Copyright(C) 2024 rAthena Development Team
 #   https://rathena.org - https://github.com/rathena
 #
 # This program is free software: you can redistribute it and/or modify

+ 1 - 0
doc/yaml/db/mob_db.yml

@@ -39,6 +39,7 @@
 #   WalkSpeed               Walk speed. (Default: DEFAULT_WALK_SPEED)
 #   AttackDelay             Attack speed. (Default: 0)
 #   AttackMotion            Attack animation speed. (Default: 0)
+#   ClientAttackMotion      Client attack speed. (Default: AttackMotion)
 #   DamageMotion            Damage animation speed. (Default: 0)
 #   DamageTaken             Rate at which the monster will receive incoming damage. (Default: 100)
 #   Ai                      Aegis monster type AI behavior. (Default: 06)

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

@@ -60,6 +60,9 @@ CREATE TABLE `mob_db` (
   `racegroup_ep172alpha` tinyint(1) unsigned DEFAULT NULL,
   `racegroup_ep172beta` tinyint(1) unsigned DEFAULT NULL,
   `racegroup_ep172bath` tinyint(1) unsigned DEFAULT NULL,
+  `racegroup_illusion_turtle` tinyint(1) unsigned DEFAULT NULL,
+  `racegroup_rachel_sanctuary` tinyint(1) unsigned DEFAULT NULL,
+  `racegroup_illusion_luanda` 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

@@ -60,6 +60,9 @@ CREATE TABLE `mob_db2` (
   `racegroup_ep172alpha` tinyint(1) unsigned DEFAULT NULL,
   `racegroup_ep172beta` tinyint(1) unsigned DEFAULT NULL,
   `racegroup_ep172bath` tinyint(1) unsigned DEFAULT NULL,
+  `racegroup_illusion_turtle` tinyint(1) unsigned DEFAULT NULL,
+  `racegroup_rachel_sanctuary` tinyint(1) unsigned DEFAULT NULL,
+  `racegroup_illusion_luanda` 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

@@ -62,6 +62,9 @@ CREATE TABLE `mob_db2_re` (
   `racegroup_ep172alpha` tinyint(1) unsigned DEFAULT NULL,
   `racegroup_ep172beta` tinyint(1) unsigned DEFAULT NULL,
   `racegroup_ep172bath` tinyint(1) unsigned DEFAULT NULL,
+  `racegroup_illusion_turtle` tinyint(1) unsigned DEFAULT NULL,
+  `racegroup_rachel_sanctuary` tinyint(1) unsigned DEFAULT NULL,
+  `racegroup_illusion_luanda` 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

@@ -62,6 +62,9 @@ CREATE TABLE `mob_db_re` (
   `racegroup_ep172alpha` tinyint(1) unsigned DEFAULT NULL,
   `racegroup_ep172beta` tinyint(1) unsigned DEFAULT NULL,
   `racegroup_ep172bath` tinyint(1) unsigned DEFAULT NULL,
+  `racegroup_illusion_turtle` tinyint(1) unsigned DEFAULT NULL,
+  `racegroup_rachel_sanctuary` tinyint(1) unsigned DEFAULT NULL,
+  `racegroup_illusion_luanda` tinyint(1) unsigned DEFAULT NULL,
   `element` varchar(24) DEFAULT NULL,
   `element_level` tinyint(4) unsigned DEFAULT NULL,
   `walk_speed` smallint(6) unsigned DEFAULT NULL,

+ 23 - 0
npc/custom/jobmaster.txt

@@ -184,7 +184,28 @@ function	Job_Options	{
 			Job_Options(.@job_opt,roclass(.@eac|EAJL_THIRD)); // Expanded SN is "third" cls
 		}
 	}
+
+	// babies don't get to become 4th jobs
+	if (.FourthExpanded && .@eac == EAJ_REBELLION) {
+		Require_Level(.Req_Fourth[0], .Req_Fourth[1]);
+		Job_Options(.@job_opt, roclass(EAJ_NIGHT_WATCH));
+	}
+
+	if (.FourthExpanded && .@eac == EAJ_KAGEROUOBORO) {
+		Require_Level(.Req_Fourth[0], .Req_Fourth[1]);
+		Job_Options(.@job_opt, roclass(EAJ_SHINKIRO_SHIRANUI));
+	}
+
+	if (.FourthExpanded && .@eac == EAJ_SUPER_NOVICE_E) {
+		Require_Level(.Req_Fourth[0], .Req_Fourth[1]);
+		Job_Options(.@job_opt, roclass(EAJ_HYPER_NOVICE));
+	}
 	
+	if (.FourthExpanded && .@eac == EAJ_SUMMONER) {
+		Require_Level(.Req_SHandler[0], .Req_SHandler[1]);
+		Job_Options(.@job_opt, roclass(EAJ_SPIRIT_HANDLER));
+	}
+
 	if (.SecondExpanded && 
 		((.@eac&(~EAJL_BABY)) == EAJ_NINJA || 		// is (Baby) Ninja
 		(.@eac&(~EAJL_BABY)) == EAJ_GUNSLINGER)) {	// is (Baby) Gunslinger
@@ -483,6 +504,7 @@ OnInit:
 	
 	// Settings
 	.FourthClass = true;				// Enable fourth classes?
+	.FourthExpanded = true;				// Enable new expanded fourth classes: Ex. Hyper Novice, Rebellion, Shinkiro/Shiranui?
 	.ThirdClass = true;					// Enable third classes?
 	.RebirthClass = true;				// Enable rebirth classes?
 	.SecondExpanded = true;				// Enable new expanded second classes: Ex. Super Novice, Kagerou/Oboro, Rebellion?
@@ -504,6 +526,7 @@ OnInit:
 	setarray .Req_Fourth[0],200,70;		// Minimum base level, job level to change to fourth class
 	setarray .Req_Exp_NJ_GS[0],99,70; 	// Minimum base level, job level to turn into Expanded Ninja and Gunslinger
 	setarray .Req_Exp_SNOVI[0],99,99; 	// Minimum base level, job level to turn into Expanded Super Novice
+	setarray .Req_SHandler[0],200,60;	// Minimum base level, job level to turn into Spirit Handler
 	.SNovice = 45;						// Minimum base level to turn into Super Novice
 	
 	// Setting adjustments by PACKETVER

+ 1 - 1
npc/kafras/kafras.txt

@@ -59,7 +59,7 @@ aldeba_in,96,181,4	script	Kafra Service	113,{
 			mes "seems that you don't";
 			mes "have the 20 zeny to pay";
 			mes "the Storage access fee...";
-			close;
+			close3;
 		}
 		mes "[Kafra Leilah]";
 		mes "Although this facility is";

+ 2 - 2
npc/merchants/hair_style.txt

@@ -302,7 +302,7 @@ lhz_in02,91,155,5	script	Assistant Beautician#li	862,{
 						mes "Oooh, there must";
 						mes "be some style that";
 						mes "you like, right? Hmmm...";
-						close;
+						close3;
 					}
 				}
 				mes "[Assistant Beautician]";
@@ -353,7 +353,7 @@ lhz_in02,91,155,5	script	Assistant Beautician#li	862,{
 				mes "me! Thank you for using";
 				mes "my service and come again~";
 				emotion ET_CHUP;
-				close;
+				close3;
 			case 2:
 				mes "[Assistant Beautician]";
 				mes "Huh? Oh no, you're";

+ 20 - 0
npc/other/CashShop_Functions.txt

@@ -263,6 +263,26 @@ function	script	F_CashSiegeTele	{
 	return;
 }
 
+// Siege Teleport Scroll 2 (WoE 1.5)
+//============================================================ 
+// - Warp player to selected guild castle.
+// - No arguments.
+function	script	F_CashSiegeTele2	{
+	switch(select("Mardoll (arug_cas01):Cyr (arug_cas02):Horn (arug_cas03):Gefn (arug_cas04):Badanis (arug_cas05):Himinn (schg_cas01):Andlangr (schg_cas02):Vidblainn (schg_cas03):Hljod (schg_cas04):Schatirnil (schg_cas05)")) {
+	case 1: warp "aru_gld",159,272; end;
+	case 2: warp "aru_gld",86,50; end;
+	case 3: warp "aru_gld",63,157; end;
+	case 4: warp "aru_gld",307,354; end;
+	case 5: warp "aru_gld",298,110; end;
+	case 6: warp "sch_gld",300,100; end;
+	case 7: warp "sch_gld",284,249; end;
+	case 8: warp "sch_gld",102,196; end;
+	case 9: warp "sch_gld",140,83; end;
+	case 10: warp "sch_gld",70,320; end;
+	}
+	return;
+}
+
 // Curious Snowball
 //============================================================ 
 // - You can get an effect of Restore, Endure, or Wing of Butterfly.

+ 3 - 3
npc/pre-re/merchants/hair_style.txt

@@ -594,7 +594,7 @@ lhz_in02,100,143,3	script	Hair Dresser#li	122,{
 					mes "you can be more daring than";
 					mes "that! Be fashionably adventurous, you fashionable adventurer~";
 					emotion ET_THROB;
-					close;
+					close3;
 				}
 			}
 			else {
@@ -917,7 +917,7 @@ lhz_in02,100,143,3	script	Hair Dresser#li	122,{
 				mes "I'll make you the best looking";
 				mes "person in the entire world!";
 				emotion ET_BEST;
-				close;
+				close3;
 			case 2:
 				mes "[Prince Shammi]";
 				mes "Oh, did you forget which";
@@ -925,7 +925,7 @@ lhz_in02,100,143,3	script	Hair Dresser#li	122,{
 				mes "number? By all means, please";
 				mes "check again! Find the one that";
 				mes "is perfect just for you, okay?";
-				close;
+				close3;
 			}
 		}
 		break;

+ 43 - 47
npc/quests/bard_quest.txt

@@ -157,19 +157,19 @@ geffen,132,38,3	script	Bard#2	51,{
 		next;
 		mes "[Errende]";
 		mes "I hope that you'll always remain honest and respectful towards other people, and that you continue to ignore greed for fortune or power.";
-		goto L_End;
+		close3;
 
 	} else if (gef_bard_q > 11 && gef_bard_q < 14) {
 		cutin "bard_eland02",2;
 		mes "[Errende]";
 		mes "It seems you haven't found it yet. Well, take your time, I can wait as long as you want. It doesn't really bore me, since waiting seems to be a part of my profession.";
-		goto L_End;
+		close3;
 
 	} else if (gef_bard_q == 11) {
 		cutin "bard_eland01",2;
 		mes "[Errende]";
 		mes "Mr. Skezti has a small book store on the book street at the right side of Mineta in Juno. If you show him the seal, he'll help you out.";
-		goto L_End;
+		close3;
 
 	} else if (gef_bard_q == 10) {
 		cutin "bard_eland01",2;
@@ -199,7 +199,7 @@ geffen,132,38,3	script	Bard#2	51,{
 		mes "show him the Seal of Friendship.";
 		mes "Good luck, now~";
 		set gef_bard_q,11;
-		goto L_End;
+		close3;
 
 	} else if (gef_bard_q == 20) {
 		cutin "bard_eland03",2;
@@ -249,7 +249,7 @@ geffen,132,38,3	script	Bard#2	51,{
 			mes "[Errende]";
 			mes "Waaah, wah~";
 			mes "You can't just ignore me like that! Where's your sense of merriment, your sense of romance?";
-			goto L_End;
+			close3;
 		}
 
 	} else if (gef_bard_q == 27) {
@@ -295,7 +295,7 @@ geffen,132,38,3	script	Bard#2	51,{
 			mes "I beseech you, if you meet him, please ask him of the 8th love and inform me of that lyric immediately~";
 			set gef_bard_q,22;
 		}
-		goto L_End;
+		close3;
 
 	} else if (gef_bard_q == 26) {
 		cutin "bard_eland01",2;
@@ -349,17 +349,17 @@ geffen,132,38,3	script	Bard#2	51,{
 				mes "in advance~";
 				set gef_bard_q,24;
 			}
-			goto L_End;
+			close3;
 
 		} else if (.@inputstr$ == "Gunther") {
 			mes "[Errende]";
 			mes "Gunther? I don't think he would do this. He always puts lines in his songs like 'doubleharmony for you.' Plus, he's too silly for that.";
-			goto L_End;
+			close3;
 
 		} else if (.@inputstr$ == "Gunther Doubleharmony") {
 			mes "[Errende]";
 			mes "Gunther? I don't think he would do this. He always puts lines in his songs like 'doubleharmony for you.' Plus, he's too silly for that.";
-			goto L_End;
+			close3;
 
 		} else if (.@inputstr$ == "Errende") {
 			cutin "bard_eland04",2;
@@ -368,7 +368,7 @@ geffen,132,38,3	script	Bard#2	51,{
 			mes "If I did, why would";
 			mes "I not know what";
 			mes "this song is about?";
-			goto L_End;
+			close3;
 
 		} else {
 			mes "[Errende]";
@@ -381,7 +381,7 @@ geffen,132,38,3	script	Bard#2	51,{
 			mes "How could I forget";
 			mes "the 8th love?";
 			set gef_bard_q,26;
-			goto L_End;
+			close3;
 		}
 
 	} else if (gef_bard_q == 25) {
@@ -427,7 +427,7 @@ geffen,132,38,3	script	Bard#2	51,{
 				mes "heart wrenching song.";
 				mes "But at what cost to your soul?^000000";
 			}
-			goto L_End;
+			close3;
 
 		} else {
 			cutin "bard_eland01",2;
@@ -438,7 +438,7 @@ geffen,132,38,3	script	Bard#2	51,{
 			mes "Noboooody looooves meee";
 			mes "Friends foooooor never...";
 			mes "Ooooooooh wah!^000000";
-			goto L_End;
+			close3;
 		}
 
 	} else if (gef_bard_q == 24) {
@@ -464,7 +464,7 @@ geffen,132,38,3	script	Bard#2	51,{
 		mes "Once again,";
 		mes "thank you so much";
 		mes "for your help.";
-		goto L_End;
+		close3;
 
 	} else if (gef_bard_q == 22) {
 		mes "[Errende]";
@@ -480,7 +480,7 @@ geffen,132,38,3	script	Bard#2	51,{
 		next;
 		mes "[Errende]";
 		mes "Please ask ^483D8BGunther^000000 about the ^483D8B8th love^000000 in ^483D8BAt One, I Fall in Love^000000. Thank you in advance.";
-		goto L_End;
+		close3;
 
 	} else if (gef_bard_q == 23) {
 		cutin "bard_eland02",2;
@@ -570,19 +570,19 @@ geffen,132,38,3	script	Bard#2	51,{
 				mes "in advance~";
 				set gef_bard_q,24;
 			}
-			goto L_End;
+			close3;
 
 		} else if (.@inputstr$ == "Gunther") {
 			mes "[Errende]";
 			mes "Gunther? I don't think he would do this. He always puts lines in his songs like 'doubleharmony for you.' Plus, he's too silly for that.";
 			set gef_bard_q,26;
-			goto L_End;
+			close3;
 
 		} else if (.@inputstr$ == "Gunther Doubleharmony") {
 			mes "[Errende]";
 			mes "Gunther? I don't think he would do this. He always puts lines in his songs like 'doubleharmony for you.' Plus, he's too silly for that.";
 			set gef_bard_q,26;
-			goto L_End;
+			close3;
 
 		} else if (.@inputstr$ == "Errende") {
 			cutin "bard_eland04",2;
@@ -592,7 +592,7 @@ geffen,132,38,3	script	Bard#2	51,{
 			mes "I not know what this";
 			mes "song is about?";
 			set gef_bard_q,26;
-			goto L_End;
+			close3;
 
 		} else {
 			mes "[Errende]";
@@ -605,7 +605,7 @@ geffen,132,38,3	script	Bard#2	51,{
 			mes "How could I forget";
 			mes "the 8th love?";
 			set gef_bard_q,26;
-			goto L_End;
+			close3;
 		}
 
 	} else if (gef_bard_q == 21) {
@@ -655,7 +655,7 @@ geffen,132,38,3	script	Bard#2	51,{
 			mes "I beseech you, if you meet him, please ask him of the 8th love and inform me of that lyric immediately~";
 			set gef_bard_q,2;
 		}
-		goto L_End;
+		close3;
 
 	} else if (gef_bard_q == 6) {
 		cutin "bard_eland04",2;
@@ -699,23 +699,23 @@ geffen,132,38,3	script	Bard#2	51,{
 				mes "I'll pay you back somehow! Thank you for your trouble in advance~";
 				set gef_bard_q,4;
 			}
-			goto L_End;
+			close3;
 
 		} else if (.@inputstr$ == "Gunther") {
 			mes "[Errende]";
 			mes "Gunther? I don't think he would do this. He always puts lines in his songs like 'doubleharmony for you.' Plus, he's too silly for that.";
-			goto L_End;
+			close3;
 
 		} else if (.@inputstr$ == "Gunther Doubleharmony") {
 			mes "[Errende]";
 			mes "Gunther? I don't think he would do this. He always puts lines in his songs like 'doubleharmony for you.' Plus, he's too silly for that.";
-			goto L_End;
+			close3;
 
 		} else if (.@inputstr$ == "Errende") {
 			cutin "bard_eland04",2;
 			mes "[Errende]";
 			mes "Surely you jest! If I did, why would I not know what this song is about?";
-			goto L_End;
+			close3;
 
 		} else {
 			mes "[Errende]";
@@ -727,7 +727,7 @@ geffen,132,38,3	script	Bard#2	51,{
 			mes "How could I forget";
 			mes "the 8th love?";
 			set gef_bard_q,6;
-			goto L_End;
+			close3;
 		}
 
 	} else if (gef_bard_q == 5) {
@@ -764,7 +764,7 @@ geffen,132,38,3	script	Bard#2	51,{
 				mes "heart wrenching song.";
 				mes "But at what cost to your soul?^000000";
 			}
-			goto L_End;
+			close3;
 
 		} else {
 			cutin "bard_eland01",2;
@@ -775,7 +775,7 @@ geffen,132,38,3	script	Bard#2	51,{
 			mes "Noboooody looooves meee";
 			mes "Friends foooooor never...";
 			mes "Ooooooooooh wah!^000000";
-			goto L_End;
+			close3;
 		}
 
 	} else if (gef_bard_q == 4) {
@@ -800,7 +800,7 @@ geffen,132,38,3	script	Bard#2	51,{
 		mes "Once again,";
 		mes "thank you so much";
 		mes "for your help.";
-		goto L_End;
+		close3;
 
 	} else if (gef_bard_q == 2) {
 		cutin "bard_eland04",2;
@@ -813,7 +813,7 @@ geffen,132,38,3	script	Bard#2	51,{
 		next;
 		mes "[Errende]";
 		mes "Please ask ^483D8BGunther^000000 about the ^483D8B8th love^000000 in ^483D8BAt One, I Fall in Love^000000. Thank you in advance.";
-		goto L_End;
+		close3;
 
 	} else if (gef_bard_q == 3) {
 		cutin "bard_eland02",2;
@@ -898,27 +898,27 @@ geffen,132,38,3	script	Bard#2	51,{
 				mes "I'll pay you back somehow! Thank you for your trouble in advance~";
 				set gef_bard_q,4;
 			}
-			goto L_End;
+			close3;
 
 		} else if (.@inputstr$ == "Gunther") {
 			mes "[Errende]";
 			mes "Gunther? I don't think he would do this. He always puts lines in his songs like 'doubleharmony for you.' Plus, he's too silly for that.";
 			set gef_bard_q,6;
-			goto L_End;
+			close3;
 		}
 
 		else if (.@inputstr$ == "Gunther Doubleharmony") {
 			mes "[Errende]";
 			mes "Gunther? I don't think he would do this. He always puts lines in his songs like 'doubleharmony for you.' Plus, he's too silly for that.";
 			set gef_bard_q,6;
-			goto L_End;
+			close3;
 
 		} else if (.@inputstr$ == "Errende") {
 			cutin "bard_eland04",2;
 			mes "[Errende]";
 			mes "Surely you jest! If I did, why would I not know what this song is about?";
 			set gef_bard_q,6;
-			goto L_End;
+			close3;
 
 		} else {
 			mes "[Errende]";
@@ -930,7 +930,7 @@ geffen,132,38,3	script	Bard#2	51,{
 			mes "How could I forget";
 			mes "the 8th love?";
 			set gef_bard_q,6;
-			goto L_End;
+			close3;
 		}
 
 	} else if (gef_bard_q == 1) {
@@ -993,11 +993,7 @@ geffen,132,38,3	script	Bard#2	51,{
 		}
 
 	}
-
-L_End:
-	close2;
-	cutin "",255;
-	end;
+	close3;
 
 // SubRoutine for 5 similiar dialogues of the quest
 
@@ -1114,7 +1110,7 @@ S_StorySong:
 			mes "[Errende]";
 			mes "Oh, how disappointing. But promise me that you will drop by later, so that we can share stories and merriment.";
 		}
-		goto L_End;
+		close3;
 
 	case 2:
 		.@num = getarg(0);
@@ -1149,7 +1145,7 @@ S_StorySong:
 				mes "My apologies,";
 				mes "But I cannot offer my services for free. Even a Bard needs zeny to live, wouldn't you agree?";
 			}
-			goto L_End;
+			close3;
 
 		case 2:
 			cutin "bard_eland03",2;
@@ -1218,7 +1214,7 @@ S_StorySong:
 					mes "may never know";
 					mes "with certainty.";
 				}
-				goto L_End;
+				close3;
 
 			} else if (.@random == 2) {
 
@@ -1321,7 +1317,7 @@ S_StorySong:
 						if(gef_bard_q==1) set gef_bard_q,7;
 						if(gef_bard_q==21) set gef_bard_q,27;
 					}
-					goto L_End;
+					close3;
 
 				}
 				mes "^483D8BA good Bard sings";
@@ -1345,7 +1341,7 @@ S_StorySong:
 				mes "[Errende]";
 				mes "H-how can you say such a thing, "+ @name$ +"? Have you ever been a Bard before? It's difficult to come up with fresh, original melodies!";
 			}
-			goto L_End;
+			close3;
 
 		case 3:
 			cutin "bard_eland01",2;
@@ -1355,7 +1351,7 @@ S_StorySong:
 			mes "enjoyed when you";
 			mes "are in the mood for it.";
 			mes "Please come again.";
-			goto L_End;
+			close3;
 
 		}
 
@@ -1364,7 +1360,7 @@ S_StorySong:
 		mes "[Errende]";
 		mes "Hmm~?";
 		mes "Well, alright. Though, listening to a good story or cheerful song can really do you some good. Alright then, see you later.";
-		goto L_End;
+		close3;
 	}
 }
 

+ 1 - 1
npc/quests/cooking_quest.txt

@@ -61,7 +61,7 @@
 			mes "cooking when Novices";
 			mes "like yourself are running";
 			mes "around here like children.";
-			close;
+			close3;
 		}
 		cutin "orleans_1",0;
 		mes "[Charles Orleans]";

+ 27 - 31
npc/quests/quests_rachel.txt

@@ -3816,7 +3816,7 @@ ra_temple,116,174,3	script	Nemma#ra_temple	920,{
 				mes "wouldn't come here to pray...";
 				mes "Well, I hope you enjoy your";
 				mes "time here, adventurer.";
-				goto L_End;
+				close3;
 			}
 			mes "[Priestess Nemma]";
 			mes "Oh! I'm glad to see that";
@@ -3869,7 +3869,7 @@ ra_temple,116,174,3	script	Nemma#ra_temple	920,{
 				mes "all your journeys. May the";
 				mes "grace of the goddess always";
 				mes "support us in all that we do~";
-				goto L_End;
+				close3;
 			}
 			mes "[Priestess Nemma]";
 			mes "Great! How much would you";
@@ -3898,7 +3898,7 @@ ra_temple,116,174,3	script	Nemma#ra_temple	920,{
 				mes "protecting you, wherever you go~";
 				break;
 			}
-			goto L_End;
+			close3;
 		}
 		else {
 			cutin "ra_nemma03",2;
@@ -3939,7 +3939,7 @@ ra_temple,116,174,3	script	Nemma#ra_temple	920,{
 					mes "protecting you, wherever you go~";
 					break;
 				}
-				goto L_End;
+				close3;
 			case 2:
 				mes "[Priestess Nemma]";
 				mes "Oh! If you'd like some";
@@ -3968,7 +3968,7 @@ ra_temple,116,174,3	script	Nemma#ra_temple	920,{
 				mes "Oh, how sweet of you~";
 				break;
 			}
-			goto L_End;
+			close3;
 		}
 	}
 	else {
@@ -3976,7 +3976,7 @@ ra_temple,116,174,3	script	Nemma#ra_temple	920,{
 			cutin "ra_nemma01",2;
 			mes "[Priestess Nemma]";
 			mes "Welcome to our temple!";
-			goto L_End;
+			close3;
 		}
 		if (ra_tem_q < 1) {
 			mes "[Priestess Nemma]";
@@ -4009,7 +4009,7 @@ ra_temple,116,174,3	script	Nemma#ra_temple	920,{
 			mes "to go inside. ^333333*Sob*^000000 P-Panno!";
 			mes "Panno, I neeeed heeeeelp~!";
 			set ra_tem_q,1;
-			goto L_End;
+			close3;
 		}
 		else if ((ra_tem_q >= 1) && (ra_tem_q < 10)) {
 			mes "[Priestess Nemma]";
@@ -4024,7 +4024,7 @@ ra_temple,116,174,3	script	Nemma#ra_temple	920,{
 			mes "Panno would know";
 			mes "what to do... I think.";
 			mes "Ooh, Panno, help me!";
-			goto L_End;
+			close3;
 		}
 		else if (ra_tem_q == 10) {
 			cutin "ra_nemma04",2;
@@ -4050,7 +4050,7 @@ ra_temple,116,174,3	script	Nemma#ra_temple	920,{
 			mes "I'm outside. What if";
 			mes "the gate locks up again?";
 			mes "Oooh, what should I do?!";
-			goto L_End;
+			close3;
 		}
 		else if (ra_tem_q == 11) {
 			emotion ET_DELIGHT;
@@ -4062,7 +4062,7 @@ ra_temple,116,174,3	script	Nemma#ra_temple	920,{
 			mes "longer asking for donations,";
 			mes "but you can still redeem your";
 			mes "Lottery Tickets inside, okay?";
-			goto L_End;
+			close3;
 		}
 		else if (ra_tem_q == 12) {
 			mes "[Priestess Nemma]";
@@ -4089,7 +4089,7 @@ ra_temple,116,174,3	script	Nemma#ra_temple	920,{
 			mes "like, ^FF000020 of them^000000! Thank";
 			mes "you thank you thank you!";
 			set ra_tem_q,13;
-			goto L_End;
+			close3;
 		}
 		else if (ra_tem_q == 13) {
 			mes "[Priestess Nemma]";
@@ -4124,7 +4124,7 @@ ra_temple,116,174,3	script	Nemma#ra_temple	920,{
 					mes "to play! Hm, maybe";
 					mes "our pope would like";
 					mes "to see these too?";
-					goto L_End;
+					close3;
 				}
 				cutin "ra_nemma02",2;
 				mes "[Priestess Nemma]";
@@ -4143,20 +4143,16 @@ ra_temple,116,174,3	script	Nemma#ra_temple	920,{
 				mes "have much to pay you";
 				mes "back with, anyway~";
 			}
-			goto L_End;
+			close3;
 		}
 		else {
 			cutin "ra_nemma01",2;
 			mes "[Priestess Nemma]";
 			mes "Welcome to our temple!";
 		}
-		goto L_End;
+		close3;
 	}
-
-L_End:
-	close2;
-	cutin "",255;
-	end;
+	close3;
 
 S_Donate:
 	.@num = getarg(0);
@@ -6329,7 +6325,7 @@ ra_temin,170,46,3	script	Panno#rachel	920,{
 			mes "everything I know.";
 			mes "Remember to keep";
 			mes "quiet about what I said.";
-			goto L_End;
+			close3;
 		}
 	}
 	else if (ra_tem_q < 2) {
@@ -6358,7 +6354,7 @@ ra_temin,170,46,3	script	Panno#rachel	920,{
 			mes "time, so please visit";
 			mes "me at your leisure.";
 			mes "Go with Freya.";
-			goto L_End;
+			close3;
 
 		case 2:
 			cutin "ra_fano01",2;
@@ -6397,14 +6393,14 @@ ra_temin,170,46,3	script	Panno#rachel	920,{
 			mes "side of the hallway. However,";
 			mes "you can only enter if you've";
 			mes "been permitted beforehand.";
-			goto L_End;
+			close3;
 
 		case 3:
 			mes "[Priestess Panno]";
 			mes "......................";
 			mes "No chit-chat";
 			mes "inside the temple.";
-			goto L_End;
+			close3;
 		}
 	}
 	else if (ra_tem_q == 10) {
@@ -6439,7 +6435,7 @@ ra_temin,170,46,3	script	Panno#rachel	920,{
 			mes "time, so please visit";
 			mes "me at your leisure.";
 			mes "Go with Freya.";
-			goto L_End;
+			close3;
 
 		case 2:
 			cutin "ra_fano01",2;
@@ -6478,7 +6474,7 @@ ra_temin,170,46,3	script	Panno#rachel	920,{
 			mes "side of the hallway. However,";
 			mes "you can only enter if you've";
 			mes "been permitted beforehand.";
-			goto L_End;
+			close3;
 
 		case 3:
 			cutin "ra_fano02",2;
@@ -6525,7 +6521,7 @@ ra_temin,170,46,3	script	Panno#rachel	920,{
 			mes "[Priestess Panno]";
 			mes ".........";
 			set ra_tem_q,11;
-			goto L_End;
+			close3;
 		}
 	}
 	else if (ra_tem_q == 11) {
@@ -6660,7 +6656,7 @@ ra_temin,170,46,3	script	Panno#rachel	920,{
 		mes "Excuse me now, I need";
 		mes "to get back to work.";
 		set ra_tem_q,12;
-		goto L_End;
+		close3;
 	}
 	cutin "ra_fano02",2;
 	mes "[Priestess Panno]";
@@ -6668,7 +6664,7 @@ ra_temin,170,46,3	script	Panno#rachel	920,{
 	mes "Behave yourself, and";
 	mes "respect those who have";
 	mes "come here just to worship.";
-	goto L_End;
+	close3;
 
 L_Lottery:
 	if(checkweight(607,1) == 0){
@@ -6680,7 +6676,7 @@ L_Lottery:
 		mes "something large, unwieldy";
 		mes "and heavy? Put your junk";
 		mes "away in Storage first.";
-		goto L_End;
+		close3;
 	}
 	mes "[Priestess Panno]";
 	mes "Here we go";
@@ -6716,7 +6712,7 @@ L_Lottery:
 		else if (.@bonus_donate > 5 && .@bonus_donate < 11) getitem 518,1;	//Honey 5%
 		else if (.@bonus_donate > 0 && .@bonus_donate < 6) getitem 526,1;	//Royal Jelly 5%
 		else getitem 547,1; //Condensed White Potion 39%
-		goto L_End;
+		close3;
 	}
 	mes "[Priestess Panno]";
 	mes "You...";
@@ -6736,7 +6732,7 @@ L_Lottery:
 	cutin "ra_fano03",2;
 	mes "[Priestess Panno]";
 	mes "May Freya be with you.";
-	goto L_End;
+	close3;
 
 L_End:
 	close2;

+ 1 - 1
npc/quests/seals/mjolnir_seal.txt

@@ -284,7 +284,7 @@ prontera,124,297,3	script	Tialfi	706,{
 				next;
 				mes "[Tialfi]";
 				mes "I think we'd better wait and see what's happening. Someone will deliver the news to us. Though, I am unsure of whether or not it will be good news or bad...";
-				close;
+				close3;
 			}
 			else if (BaseLevel < 70) {
 				cutin "god_tialpi02",2;

+ 1 - 3
npc/quests/the_sign_quest.txt

@@ -3093,13 +3093,11 @@ OnTouch_:
 	end;
 }
 
-/* Currently broken.
 prt_maze02,25,161,0	script	#music	-1,7,7,{
 OnTouch_:
-	soundeffect "effect\\¼®¾çÀÇ ¾î½Ø½Å.wav",1;
+	soundeffect "effect\\¼®¾çÀÇ ¾î½Ø½Å.wav",1;
 	end;
 }
-*/
 
 prt_maze02,132,132,0	script	#skill	-1,{
 OnEnable:

+ 3 - 3
npc/re/cities/dicastes.txt

@@ -84,8 +84,8 @@ dicastes01,234,158,0	script	Training Galten#a	450,{
 		mes "if I keep up with my training every day.";
 		close;
 	}
-	mes "ø¡ô¡ü ¡¡ø¡ô¡ü ¡ø";
-	mes "ô ¡ø";
+	mes "¡ø¡ô¡ü ¡ø ¡ø¡ô¡ü ¡ø";
+	mes "¡ô ¡ø";
 	next;
 	mes "Don't know what it means.";
 	close;
@@ -130,7 +130,7 @@ dicastes01,248,129,0	script	Training Galten#d	450,{
 		close; 
 	}
 	mes "¡ø¡ô¡ü ¡ø ¡ø¡ô¡ü";
-	mes "¡ø¡ô¡ü ¡ø¡ ø¡ô¡ü ¡ø";
+	mes "¡ø¡ô¡ü ¡ø ¡ø¡ô¡ü ¡ø";
 	next;
 	mes "Don't know what it means.";
 	close;

+ 1 - 1
npc/re/custom/lasagna/lasagna_npcs.txt

@@ -323,7 +323,7 @@ lasa_fild01,60,322,3	script	Vigilante Aglio#doram02	4_DR_AGLIO,{
 				cutin "tutorial02.BMP",4;
 				mes "^4d4dff!- Notice -!^000000";
 				mes "^4d4dffCheck out the quest details by pressing the shortcut key [Alt+U],^000000 or through the Quest icon found in the menu tray.^000000";
-				close;
+				close3;
 			}
 			mes "[Vigilante Aglio]";
 			mes "Whoa, you're good!";

+ 0 - 45
npc/re/custom/lasagna/warps.txt

@@ -1,45 +0,0 @@
-//===== rAthena Script =======================================
-//= Lasagna Warps
-//===== Changelogs: ==========================================
-//= 1.0 First Version. [Capuche]
-//============================================================
-
-lasa_fild02,348,244,0	warp	lasa_fild02#lasa_dun01	1,1,lasa_dun01,24,143
-lasa_dun01,18,143,0	warp	lasa_dun01#lasa_fild02	1,1,lasa_fild02,344,243
-
-lasa_dun_q,190,14,0	warp	lasa_dun_q#lasa_dun01	1,1,lasa_dun01,152,98
-lasa_dun01,157,98,0	warp	lasa_dun01#lasa_dun02	1,1,lasa_dun02,22,171
-lasa_dun02,18,171,0	warp	lasa_dun02#lasa_dun01	1,1,lasa_dun01,153,98
-
-lasa_dun02,146,58,0	warp	lasa_dun02#lasa_dun03	1,1,lasa_dun03,190,18
-lasa_dun03,190,15,0	warp	lasa_dun03#lasa_dun02	1,1,lasa_dun02,146,54
-
-lasa_fild01,134,381,0	warp	lasa_fild01#lasagna_1	2,2,lasagna,153,58
-lasagna,150,54,0	warp	lasagna#lasa_fild01_1	2,2,lasa_fild01,131,378
-
-lasa_fild01,341,375,0	warp	lasa_fild01#lasagna_2	2,2,lasagna,327,56
-lasagna,327,51,0	warp	lasagna#lasa_fild01_2	2,2,lasa_fild01,344,371
-
-lasagna,358,91,0	warp	lasagna#lasa_fild02	2,2,lasa_fild02,20,98
-lasa_fild02,16,98,0	warp	lasa_fild02#lasagna	2,2,lasagna,355,92
-
-lasa_in01,159,61,0	warp	lasa_in01#lasagna	1,1,lasagna,68,202
-
-// Boat
-conch_in,60,61,0	warp2	warp_conch_in#out	1,1,lasagna,206,323
-conch_in,51,60,0	warp2	warp_conch_in#A_B	1,1,conch_in,31,60
-conch_in,34,60,0	warp2	warp_conch_in#B_A	1,1,conch_in,53,59
-conch_in,63,53,0	warp2	warp_conch_in#C_D	1,1,conch_in,63,33
-conch_in,63,35,0	warp2	warp_conch_in#D_C	1,1,conch_in,64,55
-conch_in,64,66,0	warp2	warp_conch_in#E_F	1,1,conch_in,63,89
-conch_in,63,87,0	warp2	warp_conch_in#F_E	1,1,conch_in,63,64
-conch_in,101,53,0	warp2	warp_conch_in#G_H	1,1,conch_in,101,33
-conch_in,101,35,0	warp2	warp_conch_in#H_G	1,1,conch_in,102,55
-conch_in,101,66,0	warp2	warp_conch_in#I_J	1,1,conch_in,101,89
-conch_in,102,87,0	warp2	warp_conch_in#J_I	1,1,conch_in,101,64
-conch_in,137,53,0	warp2	warp_conch_in#K_L	1,1,conch_in,139,33
-conch_in,139,35,0	warp2	warp_conch_in#L_K	1,1,conch_in,138,55
-conch_in,137,66,0	warp2	warp_conch_in#M_N	1,1,conch_in,139,89
-conch_in,140,87,0	warp2	warp_conch_in#N_M	1,1,conch_in,137,64
-conch_in,142,60,0	warp2	warp_conch_in#O_P	1,1,conch_in,162,61
-conch_in,159,61,0	warp2	warp_conch_in#P_O	1,1,conch_in,140,59

+ 1 - 1
npc/re/guild3/agit_main_te.txt

@@ -438,7 +438,7 @@ function GuardianData;
 			if (select( "Fire","Cancel" ) == 2) {
 				mes "[ Hired Kafra Employee ]";
 				mes "I'll work hard for you... Thank you!";
-				close;
+				close3;
 			}
 			mes "[ Hired Kafra Employee ]";
 			mes "Oh, my goodness! This is nonsense!";

+ 2 - 2
npc/re/instances/CharlestonCrisis.txt

@@ -727,11 +727,11 @@ OnTimer300:
 }
 
 1@mcd,141,214,5	script	Charleston 2#1	4_F_CHARLESTON02,{
-	cutin "dalle01.bmp",2;
 	if (is_party_leader() == false) {
+		cutin "dalle01.bmp",2;
 		mes "[Charleston 1]";
 		mes "Please let me talk to your leader about the supplementation of the factory.";
-		close;
+		close3;
 	}
 	if ('ep15_1_mcd01 > 11)
 		end;

+ 8 - 3
npc/re/instances/SealedOs.txt

@@ -263,7 +263,6 @@ OnTouch:
 1@os_b,137,139,0	duplicate(Thick Wire#171_os_0)	Thick Wire#171_os_2	4_ENERGY_BLUE
 
 1@os_b,122,212,5	script	Dien#171_os_3	4_F_DIENE,{
-OnTalk:
 	cutin "ep162_dn01",2;
 	mes "[Dien]";
 	mes "Oh!";
@@ -281,8 +280,14 @@ OnTalk:
 	mes "It will take some time to break it~";
 	npctalk "Cotnes : Oh, is this gate too hard? It will take some time to break it.";
 	next;
-	doevent instance_npcname("Dien#171_os_3") + "::OnTalk";
-	close;
+	cutin "ep162_dn01",2;
+	mes "[Dien]";
+	mes "Oh!";
+	mes "If you go to the right, I think you can go back on the railroad without having to break the door.";
+	npctalk "Dien : Oh! If you go to the right, I think you can go back on the railroad without having to break the door";
+	if (!'unlocked)
+		donpcevent instance_npcname("#171_sealedos_control") + "::OnEvent04";
+	close3;
 }
 
 1@os_b,146,221,7	script	Ridsh#171_os_2	4_F_LEEDSH,{

+ 1 - 1
npc/re/jobs/2e/kagerou_oboro.txt

@@ -836,7 +836,7 @@ job_ko,81,124,4	script	Kuuga Gai#ko	730,{
 			1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,
 			26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50;
 		for (set .@i,getarraysize(.@n)-1; .@i>0; set .@i,.@i-1) {
-			set .@rand, rand(.@i);
+			set .@rand, rand(0,.@i);
 			set .@tmp, .@n[.@i];
 			set .@n[.@i], .@n[.@rand];
 			set .@n[.@rand], .@tmp;

+ 1 - 1
npc/re/jobs/novice/academy.txt

@@ -5218,7 +5218,7 @@ new_1-3,99,169,3	script	Friendly Poring#ac	4_PORING,{
 			next;
 			mes "[Poring]";
 			mes "It may fail, but keep trying to lure way those Little Porings!";
-			close;
+			close3;
 		}
 	} else if (isbegin_quest(2297) == 1) {
 		mes "[Poring]";

+ 5 - 5
npc/re/merchants/ammo_boxes.txt

@@ -167,8 +167,8 @@ S_Sphere_Exchange:
 				case 1:
 					mes "[Kenny]";
 					mes "All done.";
-					delitem .@slug_id, .@new_count * 10;
-					getitem .@new_slug_id, .@old_count;
+					delitem .@old_id, .@new_count * 10;
+					getitem .@new_id, .@new_count;
 					close;
 				case 2:
 					close;
@@ -214,8 +214,8 @@ S_Old_Sphere_Exchange:
 				case 1:
 					mes "[Kenny]";
 					mes "All done.";
-					delitem .@slug_id, .@old_count;
-					getitem .@new_slug_id, .@old_count;
+					delitem .@old_id, .@old_count;
+					getitem .@new_id, .@old_count;
 					close;
 				case 2:
 					close;
@@ -262,7 +262,7 @@ S_Slug_Exchange:
 				case 1:
 					mes "[Kenny]";
 					mes "All done.";
-					delitem .@slug_id, .@new_count * 500;
+					delitem .@slug_id, .@new_count * .@req_count;
 					getitem 25187, .@new_count;
 					close;
 				case 2:

+ 117 - 0
npc/re/merchants/barters/enchan_illusion_dungeons.yml

@@ -433,6 +433,7 @@ Body:
         RequiredItems:
           - Index: 0
             Item: Staff_Of_Bordeaux
+            Refine: 9
           - Index: 1
             Item: IllusionStone
             Amount: 30
@@ -444,6 +445,7 @@ Body:
         RequiredItems:
           - Index: 0
             Item: Moonlight_Sword
+            Refine: 9
           - Index: 1
             Item: IllusionStone
             Amount: 60
@@ -455,6 +457,7 @@ Body:
         RequiredItems:
           - Index: 0
             Item: Long_Mace
+            Refine: 9
           - Index: 1
             Item: IllusionStone
             Amount: 10
@@ -466,6 +469,7 @@ Body:
         RequiredItems:
           - Index: 0
             Item: Spectral_Spear
+            Refine: 9
           - Index: 1
             Item: IllusionStone
             Amount: 20
@@ -477,6 +481,7 @@ Body:
         RequiredItems:
           - Index: 0
             Item: Nurse_Cap
+            Refine: 9
           - Index: 1
             Item: IllusionStone
             Amount: 10
@@ -488,6 +493,7 @@ Body:
         RequiredItems:
           - Index: 0
             Item: Apple_Of_Archer
+            Refine: 9
           - Index: 1
             Item: IllusionStone
             Amount: 10
@@ -499,6 +505,7 @@ Body:
         RequiredItems:
           - Index: 0
             Item: Puente_Robe
+            Refine: 9
           - Index: 1
             Item: IllusionStone
             Amount: 10
@@ -510,6 +517,7 @@ Body:
         RequiredItems:
           - Index: 0
             Item: Muffler_
+            Refine: 9
           - Index: 1
             Item: IllusionStone
             Amount: 10
@@ -521,6 +529,7 @@ Body:
         RequiredItems:
           - Index: 0
             Item: Shoes_
+            Refine: 9
           - Index: 1
             Item: IllusionStone
             Amount: 10
@@ -534,6 +543,7 @@ Body:
         RequiredItems:
           - Index: 0
             Item: Huuma_Fluttering_Snow
+            Refine: 9
           - Index: 1
             Item: IllusionStone
             Amount: 100
@@ -545,6 +555,7 @@ Body:
         RequiredItems:
           - Index: 0
             Item: Combo_Battle_Glove
+            Refine: 9
           - Index: 1
             Item: IllusionStone
             Amount: 100
@@ -556,6 +567,7 @@ Body:
         RequiredItems:
           - Index: 0
             Item: Herald_Of_GOD_
+            Refine: 9
           - Index: 1
             Item: IllusionStone
             Amount: 100
@@ -567,6 +579,7 @@ Body:
         RequiredItems:
           - Index: 0
             Item: Clack_Of_Servival
+            Refine: 9
           - Index: 1
             Item: IllusionStone
             Amount: 100
@@ -578,6 +591,7 @@ Body:
         RequiredItems:
           - Index: 0
             Item: Cap_
+            Refine: 9
           - Index: 1
             Item: IllusionStone
             Amount: 50
@@ -591,6 +605,7 @@ Body:
         RequiredItems:
           - Index: 0
             Item: Infiltrator_
+            Refine: 9
           - Index: 1
             Item: IllusionStone
             Amount: 80
@@ -602,6 +617,7 @@ Body:
         RequiredItems:
           - Index: 0
             Item: Ghoul_Leg
+            Refine: 9
           - Index: 1
             Item: IllusionStone
             Amount: 10
@@ -613,6 +629,7 @@ Body:
         RequiredItems:
           - Index: 0
             Item: Wizardy_Staff
+            Refine: 9
           - Index: 1
             Item: IllusionStone
             Amount: 40
@@ -624,6 +641,7 @@ Body:
         RequiredItems:
           - Index: 0
             Item: Balistar_
+            Refine: 9
           - Index: 1
             Item: IllusionStone
             Amount: 50
@@ -635,6 +653,7 @@ Body:
         RequiredItems:
           - Index: 0
             Item: Book_Of_The_Apocalypse
+            Refine: 9
           - Index: 1
             Item: IllusionStone
             Amount: 50
@@ -646,6 +665,7 @@ Body:
         RequiredItems:
           - Index: 0
             Item: Cape_Of_Ancient_Lord_
+            Refine: 9
           - Index: 1
             Item: IllusionStone
             Amount: 30
@@ -681,6 +701,7 @@ Body:
         RequiredItems:
           - Index: 0
             Item: Immaterial_Sword
+            Refine: 9
           - Index: 1
             Item: IllusionStone
             Amount: 100
@@ -692,6 +713,7 @@ Body:
         RequiredItems:
           - Index: 0
             Item: War_Axe
+            Refine: 9
           - Index: 1
             Item: IllusionStone
             Amount: 100
@@ -703,6 +725,7 @@ Body:
         RequiredItems:
           - Index: 0
             Item: Pole_Axe
+            Refine: 9
           - Index: 1
             Item: IllusionStone
             Amount: 100
@@ -714,6 +737,7 @@ Body:
         RequiredItems:
           - Index: 0
             Item: Huuma_Bird_Wing
+            Refine: 9
           - Index: 1
             Item: IllusionStone
             Amount: 100
@@ -725,6 +749,7 @@ Body:
         RequiredItems:
           - Index: 0
             Item: Iron_Driver
+            Refine: 9
           - Index: 1
             Item: IllusionStone
             Amount: 100
@@ -749,6 +774,7 @@ Body:
         RequiredItems:
           - Index: 0
             Item: Tablet
+            Refine: 9
           - Index: 1
             Item: IllusionStone
             Amount: 50
@@ -760,6 +786,7 @@ Body:
         RequiredItems:
           - Index: 0
             Item: Hunter_Bow_
+            Refine: 9
           - Index: 1
             Item: IllusionStone
             Amount: 80
@@ -777,6 +804,7 @@ Body:
         RequiredItems:
           - Index: 0
             Item: Goibne's_Helmet
+            Refine: 9
           - Index: 1
             Item: IllusionStone
             Amount: 120
@@ -791,6 +819,7 @@ Body:
         RequiredItems:
           - Index: 0
             Item: Goibne's_Armor
+            Refine: 9
           - Index: 1
             Item: IllusionStone
             Amount: 80
@@ -805,6 +834,7 @@ Body:
         RequiredItems:
           - Index: 0
             Item: Goibne's_Combat_Boots
+            Refine: 9
           - Index: 1
             Item: IllusionStone
             Amount: 80
@@ -819,6 +849,7 @@ Body:
         RequiredItems:
           - Index: 0
             Item: Goibne's_Shoulder_Arms
+            Refine: 9
           - Index: 1
             Item: IllusionStone
             Amount: 120
@@ -828,3 +859,89 @@ Body:
           - Index: 3
             Item: Token_Of_Bigstone
             Amount: 150
+  - Name: barter_ill_teddy
+    Items:
+      - Index: 0
+        Item: Counter_Dagger_IL
+        RequiredItems:
+          - Index: 0
+            Item: Counter_Dagger
+            Refine: 9
+          - Index: 1
+            Item: IllusionStone
+            Amount: 95
+          - Index: 2
+            Item: Green_Bearopy
+            Amount: 75
+          - Index: 3
+            Item: Chonchon_Doll_HQ
+            Amount: 50
+      - Index: 1
+        Item: Gate_KeeperDD_IL
+        RequiredItems:
+          - Index: 0
+            Item: Gate_KeeperDD
+            Refine: 9
+          - Index: 1
+            Item: IllusionStone
+            Amount: 95
+          - Index: 2
+            Item: Gothic_China_Doll
+            Amount: 75
+          - Index: 3
+            Item: NasariansSoulstone
+            Amount: 150
+      - Index: 2
+        Item: Survival_Staff_IL
+        RequiredItems:
+          - Index: 0
+            Item: Survival_Rod_
+            Refine: 9
+          - Index: 1
+            Item: Survival_Rod2_
+            Refine: 9
+          - Index: 2
+            Item: IllusionStone
+            Amount: 125
+          - Index: 3
+            Item: Gothic_China_Doll
+            Amount: 100
+          - Index: 4
+            Item: Chonchon_Doll_HQ
+            Amount: 100
+          - Index: 5
+            Item: Clay_Doll
+            Amount: 15
+      - Index: 3
+        Item: Boots_IL
+        RequiredItems:
+          - Index: 0
+            Item: Boots_
+            Refine: 9
+          - Index: 1
+            Item: IllusionStone
+            Amount: 85
+          - Index: 2
+            Item: Green_Bearopy
+            Amount: 50
+          - Index: 3
+            Item: Gothic_China_Doll
+            Amount: 50
+      - Index: 4
+        Item: Headband_Of_Power_IL
+        RequiredItems:
+          - Index: 0
+            Item: Headband_Of_Power
+            Refine: 9
+          - Index: 1
+            Item: IllusionStone
+            Amount: 115
+          - Index: 2
+            Item: NasariansSoulstone
+            Amount: 100
+          - Index: 3
+            Item: Chonchon_Doll_HQ
+            Amount: 50
+          - Index: 4
+            Item: Clay_Doll
+            Amount: 5

+ 51 - 0
npc/re/merchants/enchan_illusion_dungeons.txt

@@ -15,6 +15,7 @@
 //= 1.6 Added Illusion of Underwater exchange [Capuche]
 //= 1.7 Added Illusion of Twins enchanter [Capuche]
 //= 1.8 Added Illusion Merchant [Haydrich]
+//= 1.9 Added Illusion of Teddy Bear exchange [Atemo]
 //============================================================
 
 //============================================================
@@ -884,3 +885,53 @@ OnInit:
 	npcshopupdate "market_resonance_stone",100004,2000000,99999;
 	end;
 }
+
+
+//============================================================
+//= Illusion of Teddy Bear
+//============================================================
+
+ein_d02_i,177,158,3	script	Bear Wanting Illusion Stone#ITB	4_NASARIAN,{
+	.@item_name$ = getitemname(25271); // IllusionStone
+	mes "[Bear Wanting " + .@item_name$ + "]";
+	mes "If you give me an " + .@item_name$ + ", I'll do something nice for you!";
+	next;
+	switch( select( "Reason for being here", "Good thing [Illusion equipment]", "Quit" ) ) {
+	case 1:
+		mes "[Bear Wanting " + .@item_name$ + "]";
+		mes "I don't know why...!";
+		mes "The other teddy bears were in line, so I was in line too!";
+		mes "Whoaaaaaa!!!!";
+		mes "I didn't know it was here!";
+		next;
+		mes "[Bear Wanting " + .@item_name$ + "]";
+		mes "A teddy bear with an " + .@item_name$ + "!";
+		mes "Strong!";
+		mes "I don't have any " + .@item_name$ + "s!";
+		mes "Less... stronger...";
+		next;
+		mes "[Bear Wanting " + .@item_name$ + "]";
+		mes "What are " + .@item_name$ + "s?";
+		mes "I don't know but I want some!";
+		close;
+	case 2:
+		mes "[Bear Wanting " + .@item_name$ + "]";
+		mes "Makes you good with what you have!";
+		next;
+		mes "[Bear Wanting " + .@item_name$ + "]";
+		mes "If you want to do well, bring equipment refined to ^ff0000+9 or higher. It'll all disappear... haha?^000000";
+		next;
+		mes "[Bear Wanting " + .@item_name$ + "]";
+		mes "^ff0000" + .@item_name$ + "^000000!!! " + .@item_name$ + " is the most important thing, but... other materials are also needed.";
+		mes "For every good thing you need another good thing.";
+		next;
+		close2;
+		callshop( "barter_ill_teddy" );
+		end;
+	case 3:
+		mes "[Bear Wanting " + .@item_name$ + "]";
+		mes "Okay...";
+		close;
+	}
+	end;
+}

+ 29 - 0
npc/re/merchants/shopping_boards.txt

@@ -0,0 +1,29 @@
+//===== rAthena Script =======================================
+//= Shopping Boards
+//===== Description: =========================================
+//= Shopping Boards work like Bargain Hunter's Catalogues.
+//= They are found in towns and search exclusively in their respective maps.
+//= Searches are limited to 1 use per board click (you can re-use the board without closing it to get another search).
+//= https://irowiki.org/wiki/Commerce#Shopping_Boards
+//===== Changelog: ===========================================
+//= 1.0 Initial version. [Pokye]
+//============================================================
+
+-	script	Shopping Board	-1,{
+	searchstores 1, SEARCHSTORE_EFFECT_REMOTE;
+	end;
+}
+
+alberta,119,65,3	duplicate(Shopping Board)	Shopping Board#alb	4_BOARD3
+aldebaran,146,120,3	duplicate(Shopping Board)	Shopping Board#alde	4_BOARD3
+comodo,206,153,3	duplicate(Shopping Board)	Shopping Board#cmd	4_BOARD3
+geffen,130,68,3	duplicate(Shopping Board)	Shopping Board#gef	4_BOARD3
+izlude,127,116,3	duplicate(Shopping Board)	Shopping Board#izl	4_BOARD3
+morocc,166,109,3	duplicate(Shopping Board)	Shopping Board#moc	4_BOARD3
+payon,183,103,3	duplicate(Shopping Board)	Shopping Board#pay	4_BOARD3
+prontera,159,193,3	duplicate(Shopping Board)	Shopping Board#prt1	4_BOARD3
+prontera,182,214,3	duplicate(Shopping Board)	Shopping Board#prt2	4_BOARD3
+prontera,130,215,3	duplicate(Shopping Board)	Shopping Board#prt3	4_BOARD3
+prontera,146,85,3	duplicate(Shopping Board)	Shopping Board#prt4	4_BOARD3
+xmas,155,144,3	duplicate(Shopping Board)	Shopping Board#xmas	4_BOARD3
+yuno,146,187,3	duplicate(Shopping Board)	Shopping Board#yuno	4_BOARD3

+ 323 - 318
npc/re/mobs/championmobs.txt

@@ -3,329 +3,334 @@
 //===== By: ==================================================
 //= nanakiwurtz
 //===== Current Version: =====================================
-//= 1.1
+//= 1.2
 //===== Compatible With: =====================================
 //= rAthena Project
 //===== Additional Comments: =================================
 //= 1.0 First version
 //= 1.1 Correct Spawn by Navigation's mob data. [attackjom]
+//= 1.2 Correct respawn times and prontera field spawns [Playtester]
 //============================================================
 
-abbey02,0,0	monster	Swift Zombie Slaughter	2603,3,300000
-gl_prison,0,0	monster	Solid Zombie Prisoner	2604,1,300000
-gld_dun04,0,0	monster	Zombie Master Ringleader	2605,2,300000
-pay_dun00,0,0	monster	Furious Zombie	2606,2,300000
-schg_dun01,0,0	monster	Elusive Zakudam	2607,2,300000
-prt_fild03,0,0	monster	Swift Yoyo	2608,2,300000
-ayo_fild02,0,0	monster	Solid Yoyo	2609,1,300000
-pay_fild06,0,0	monster	Wormtail Ringleader	2610,3,300000
-um_fild02,0,0	monster	Furious Wootan Fighter	2611,1,300000
-mosk_dun01,0,0	monster	Elusive Wood Goblin	2612,2,300000
-moc_fild03,0,0	monster	Swift Wolf	2613,2,300000
-gl_step,0,0	monster	Solid Wind Ghost	2614,2,300000
-gef_dun03,0,0	monster	Solid Wind Ghost	2614,1,300000
-pay_fild01,0,0	monster	Willow Ringleader	2615,2,300000
-um_fild04,0,0	monster	Furious Wild Rose	2616,1,300000
-gon_dun03,0,0	monster	Elusive Evil Nymph	2617,2,300000
-gl_sew01,0,0	monster	Solid Whisper	2618,1,300000
-treasure_n2,0,0	monster	Weak Skeleton Ringleader	2619,2,300000
-gl_cas02,0,0	monster	Furious Wanderer	2620,2,300000
-gefenia04,0,0	monster	Elusive Violy	2621,2,300000
-gefenia03,0,0	monster	Swift Violy	2622,2,300000
-gefenia02,0,0	monster	Solid Violy	2623,2,300000
-ein_fild04,0,0	monster	Venomous Ringleader	2624,2,300000
-juperos_01,0,0	monster	Furious Venatu	2625,3,300000
-mosk_dun03,0,0	monster	Elusive Vavayaga	2626,2,300000
-ra_san01,0,0	monster	Swift Vanberk	2627,2,300000
-iz_dun01,0,0	monster	Solid Vadon	2628,2,300000
-ein_fild02,0,0	monster	Ungoliant Ringleader	2629,2,300000
-bra_fild01,0,0	monster	Furious Toucan	2630,3,300000
-ma_fild01,0,0	monster	Elusive Tiyanak	2631,2,300000
-prt_sewb4,0,0	monster	Solid Thief Bug	2632,2,300000
-prt_sewb3,0,0	monster	Thief Bug Ringleader	2633,3,300000
-prt_sewb2,0,0	monster	Furious Thief Bug	2634,2,300000
-beach_dun3,0,0	monster	Elusive Thara Frog	2635,2,300000
-ein_fild03,0,0	monster	Swift Teddy Bear	2636,2,300000
-man_fild03,0,0	monster	Solid Tatacho	2637,1,300000
-mjo_dun01,0,0	monster	Tarou Ringleader	2638,2,300000
-ayo_dun02,0,0	monster	Furious Tamruan	2639,2,300000
-gl_sew03,0,0	monster	Elusive Sting	2640,2,300000
-lhz_fild02,0,0	monster	Swift Stem Worm	2641,2,300000
-moc_fild13,0,0	monster	Solid Steel Chonchon	2642,3,300000
-ve_fild07,0,0	monster	Stapo Ringleader	2643,2,300000
-beach_dun2,0,0	monster	Furious Stalactic Golem	2644,2,300000
-prt_fild02,0,0	monster	Elusive Stainer	2645,3,300000
-treasure_n1,0,0	monster	Swift Spore	2646,2,300000
-tur_dun02,0,0	monster	Solid Solider	2647,2,300000
-pay_dun02,0,0	monster	Soldier Skeleton Ringleader	2648,3,300000
-pay_dun01,0,0	monster	Furious Soldier Skeleton	2649,2,300000
-tha_t09,0,0	monster	Elusive Lady Solace	2650,2,300000	//--Remove after Thanatos Ravamped Patch
-pay_dun03,0,0	monster	Swift Sohee	2651,2,300000
-ice_dun02,0,0	monster	Solid Snowier	2652,2,300000
-pay_fild02,0,0	monster	Boa Ringleader	2653,3,300000
-ayo_fild01,0,0	monster	Furious Smokie	2654,2,300000
-yuno_fild06,0,0	monster	Elusive Sleeper	2655,1,300000
-yuno_fild02,0,0	monster	Swift Sleeper	2656,2,300000
-odin_tem02,0,0	monster	Solid Skogul	2657,1,300000
-gld2_pay,0,0	monster	Skeleton General Ringleader	2658,2,300000
-gld_dun01_2,0,0	monster	Furious Skeleton General	2659,2,300000
-mjo_dun03,0,0	monster	Elusive Skeleton Worker	2660,2,300000
-ice_dun01,0,0	monster	Swift Siroma	2661,1,300000
-mosk_fild02,0,0	monster	Solid Side Winder	2662,1,300000
-mjolnir_03,0,0	monster	Side Winder Ringleader	2663,2,300000
-ama_dun03,0,0	monster	Furious Shinobi	2664,2,300000
-tha_t11,0,0	monster	Elusive Mistress of Shelter	2665,2,300000	//--Remove after Thanatos Ravamped Patch
-hu_fild06,0,0	monster	Swift Shellfish	2666,1,300000
-lhz_dun03,0,0	monster	Solid Cecil Damon	2667,3,300000
-cmd_fild04,0,0	monster	Sea Otter Ringleader	2668,2,300000
-iz_dun05,0,0	monster	Furious Lamp Rey	2669,2,300000
-moc_fild18,0,0	monster	Elusive Scorpion	2670,3,300000
-mjolnir_09,0,0	monster	Swift Savage Babe	2671,2,300000
-prt_maze01,0,0	monster	Solid Savage	2672,2,300000
-mjolnir_07,0,0	monster	Savage Ringleader	2673,3,300000
-moc_fild16,0,0	monster	Furious Sandman	2674,2,300000
-thor_v03,0,0	monster	Elusive Salamander	2675,2,300000
-treasure02,0,0	monster	Swift Sailor Skeleton	2676,1,300000
-ra_fild12,0,0	monster	Solid Roween	2677,2,300000
-prt_fild00,0,0	monster	Roda Frog Ringleader	2678,2,300000
-gef_fild01,0,0	monster	Furious Roda Frog	2679,2,300000
-prt_fild07,0,0	monster	Elusive Rocker	2680,2,300000
-tha_t01,0,0	monster	Swift Rideword	2681,2,300000
-//tha_t01,0,0	monster	Swift Rideword	2681,1,300000	//--Applied after Thanatos Revamped Patch.
-c_tower1,0,0	monster	Solid Rideword	2682,2,300000
-gon_fild01,0,0	monster	Dumpling Child Ringleader	2683,2,300000
-tha_t10,0,0	monster	Furious Baroness of Retribution	2684,2,300000	//--Remove after Thanatos Ravamped Patch
-tha_t08,0,0	monster	Elusive Baroness of Retribution	2685,2,300000
-//tha_t08,0,0	monster	Elusive Baroness of Retribution	2685,1,300000	//--Applied after Thanatos Revamped Patch.
-tha_t07,0,0	monster	Swift Baroness of Retribution	2686,2,300000
-//tha_t07,0,0	monster	Swift Baroness of Retribution	2686,1,300000	//--Applied after Thanatos Revamped Patch.
-in_sphinx2,0,0	monster	Solid Requiem	2687,2,300000
-lhz_dun01,0,0	monster	Remover Ringleader	2688,3,300000
-mal_dun01,0,0	monster	Elusive Red Eruma	2689,2,300000
-gl_knt02,0,0	monster	Swift Raydric	2690,2,300000
-gl_knt01,0,0	monster	Solid Raydric	2691,2,300000
-lhz_dun02,0,0	monster	Laurell Weinder Ringleader	2692,3,300000
-dic_dun03,0,0	monster	Furious Rake Scaraba	2693,2,300000
-cmd_fild07,0,0	monster	Elusive Raggler	2694,2,300000
-lhz_fild01,0,0	monster	Swift Rafflesia	2695,3,300000
-lhz_fild01,0,0	monster	Poring Ringleader	2696,2,300000
-lhz_fild01,0,0	monster	Furious Poring	2697,2,300000
-lhz_fild01,0,0	monster	Elusive Poring	2698,2,300000
-gef_fild07,0,0	monster	Swift Poring	2699,2,300000
-ein_fild09,0,0	monster	Solid Porcellio	2700,2,300000
-prt_maze03,0,0	monster	Poporing Ringleader	2701,2,300000
-prt_maze02,0,0	monster	Furious Poporing	2702,2,300000
-pay_fild04,0,0	monster	Elusive Poporing	2703,2,300000
-ama_dun02,0,0	monster	Swift Poison Toad	2704,1,300000
-mjolnir_06,0,0	monster	Solid Poison Spore	2705,3,300000
-odin_tem03,0,0	monster	Plasma Ringleader	2706,2,300000
-iz_dun00,0,0	monster	Furious Plankton	2707,2,300000
-ein_dun01,0,0	monster	Elusive Pitman	2708,2,300000
-bra_dun01,0,0	monster	Swift Piranha	2709,2,300000
-spl_fild01,0,0	monster	Solid Dark Pinguicula	2710,2,300000
-spl_fild02,0,0	monster	Pinguicula Ringleader	2711,2,300000
-moc_fild12,0,0	monster	Furious Picky	2712,2,300000
-iz_dun03,0,0	monster	Elusive Phen	2713,2,300000
-gef_fild08,0,0	monster	Swift Petite	2714,2,300000
-gef_fild06,0,0	monster	Solid Petite	2715,2,300000
-treasure02,0,0	monster	Penomena Ringleader	2716,2,300000
-alde_dun03,0,0	monster	Furious Penomena	2717,2,300000
-moc_fild02,0,0	monster	Elusive Peco Peco	2718,2,300000
-in_sphinx5,0,0	monster	Swift Pasana	2719,2,300000
-um_fild03,0,0	monster	Solid Parasite	2720,1,300000
-tha_t05,0,0	monster	Owl Duke Ringleader	2721,2,300000
-//tha_t05,0,0	monster	Owl Duke Ringleader	2721,3,300000	//--Applied after Thanatos Revamped Patch.
-gef_fild10,0,0	monster	Furious Orc Warrior	2722,2,300000
-orcsdun01,0,0	monster	Elusive Orc Zombie	2723,2,300000
-orcsdun02,0,0	monster	Swift Orc Skeleton	2724,2,300000
-gef_fild03,0,0	monster	Solid Orc Lady	2725,3,300000
-tha_t12,0,0	monster	Dame of Sentinel Ringleader	2726,2,300000	//--Remove after Thanatos Ravamped Patch
-ein_fild05,0,0	monster	Furious Noxious	2727,2,300000
-hu_fild05,0,0	monster	Elusive Novus	2728,2,300000
-hu_fild04,0,0	monster	Swift Novus	2729,2,300000
-hu_fild02,0,0	monster	Solid Novus	2730,2,300000
-hu_fild01,0,0	monster	Novus Ringleader	2731,2,300000
-mag_dun02,0,0	monster	Furious Nightmare Terror	2732,2,300000
-gl_chyard_,0,0	monster	Elusive Wraith Dead (Nightmare)	2733,2,180000,0
+abbey01,0,0	monster	Swift Banshee	2887,3,180000
+abbey02,0,0	monster	Swift Zombie Slaughter	2603,3,180000
+abbey03,0,0	monster	Necromancer Ringleader	2736,2,180000
+abyss_01,0,0	monster	Furious Ferus	2832,2,180000
+abyss_02,0,0	monster	Acidus Ringleader	2913,2,180000
+abyss_03,0,0	monster	Solid Acidus	2912,2,180000
+alde_dun01,0,0	monster	Arclouze Ringleader	2894,1,180000
+alde_dun02,0,0	monster	Solid High Orc	2805,2,180000
+alde_dun03,0,0	monster	Furious Penomena	2717,2,180000
+alde_dun04,0,0	monster	Furious Bathory	2885,1,180000
+ama_dun01,0,0	monster	Miyabi Doll Ringleader	2746,2,180000
+ama_dun02,0,0	monster	Swift Poison Toad	2704,1,180000
+ama_dun03,0,0	monster	Furious Shinobi	2664,2,180000
+ama_fild01,0,0	monster	Swift Karakasa	2789,2,180000
+anthell01,0,0	monster	Elusive Deniro	2857,3,180000
+anthell02,0,0	monster	Solid Andre	2902,2,180000
+arug_dun01,0,0	monster	Elusive Banshee Master	2886,2,180000
+ayo_dun01,0,0	monster	Leaf Cat Ringleader	2781,2,180000
+ayo_dun02,0,0	monster	Furious Tamruan	2639,2,180000
+ayo_fild01,0,0	monster	Furious Smokie	2654,2,180000
+ayo_fild02,0,0	monster	Solid Yoyo	2609,1,180000
+beach_dun,0,0	monster	Swift Medusa	2759,2,180000
+beach_dun2,0,0	monster	Furious Stalactic Golem	2644,2,180000
+beach_dun3,0,0	monster	Elusive Thara Frog	2635,2,180000
+bif_fild01,0,0	monster	Miming Ringleader	2751,2,180000
+bif_fild02,0,0	monster	Furious Little Fatum	2777,2,180000
+bra_dun01,0,0	monster	Swift Piranha	2709,2,180000
+bra_dun02,0,0	monster	Solid Iara	2795,3,180000
+bra_fild01,0,0	monster	Furious Toucan	2630,3,180000
+c_tower1,0,0	monster	Solid Rideword	2682,2,180000
+c_tower2,0,0	monster	Furious Clock	2871,1,180000
+c_tower3,0,0	monster	Elusive Alarm	2910,1,180000
+c_tower4,0,0	monster	Clock Ringleader	2870,2,180000
+cmd_fild01,0,0	monster	Elusive Grove	2808,2,180000
+cmd_fild02,0,0	monster	Swift Seal	2829,3,180000
+cmd_fild03,0,0	monster	Solid Alligator	2907,3,180000
+cmd_fild04,0,0	monster	Sea Otter Ringleader	2668,2,180000
+cmd_fild06,0,0	monster	Furious Golem	2812,2,180000
+cmd_fild07,0,0	monster	Elusive Raggler	2694,2,180000
+cmd_fild08,0,0	monster	Elusive Deniro	2857,2,180000
+cmd_fild09,0,0	monster	Swift Metaller	2754,2,180000
+dew_dun01,0,0	monster	Elusive Comodo	2867,2,180000
+dew_dun02,0,0	monster	Solid Banaspaty	2888,2,180000
+dew_fild01,0,0	monster	Swift Rafflesia Arnoldi	2906,2,180000
+dic_dun01,0,0	monster	Swift Uni-horn Scaraba	2799,2,180000
+dic_dun02,0,0	monster	Elusive Antler Scaraba	2896,2,180000
+dic_dun03,0,0	monster	Furious Rake Scaraba	2693,2,180000
+dic_fild01,0,0	monster	Swift Centipede	2873,2,180000
+dic_fild02,0,0	monster	Dolomedes Ringleader	2850,2,180000
+ecl_fild01,0,0	monster	Elusive Menblatt	2758,1,180000
+ecl_tdun01,0,0	monster	Solid Cenere	2874,1,180000
+ecl_tdun02,0,0	monster	Solid Antique Book	2898,1,180000
+ecl_tdun03,0,0	monster	Swift Antique Book	2897,1,180000
+ein_dun01,0,0	monster	Elusive Pitman	2708,2,180000
+ein_dun02,0,0	monster	Solid Mineral	2750,2,180000
+ein_fild02,0,0	monster	Ungoliant Ringleader	2629,2,180000
+ein_fild03,0,0	monster	Swift Teddy Bear	2636,2,180000
+ein_fild04,0,0	monster	Venomous Ringleader	2624,2,180000
+ein_fild05,0,0	monster	Furious Noxious	2727,2,180000
+ein_fild06,0,0	monster	Solid Holden	2745,2,180000
+ein_fild07,0,0	monster	Metaling Ringleader	2756,2,180000
+ein_fild08,0,0	monster	Solid Metaling	2755,2,180000
+ein_fild09,0,0	monster	Solid Porcellio	2700,2,180000
+gef_dun00,0,0	monster	Furious Hunter Fly	2797,1,180000
+gef_dun01,0,0	monster	Elusive Ghoul	2823,2,180000
+gef_dun02,0,0	monster	Solid Deviruchi	2854,2,180000
+gef_dun03,0,0	monster	Solid Wind Ghost	2614,1,180000
+gef_fild00,0,0	monster	Elusive Chonchon	2872,2,180000
+gef_fild01,0,0	monster	Furious Roda Frog	2679,2,180000
+gef_fild02,0,0	monster	Solid Coco	2869,3,180000
+gef_fild03,0,0	monster	Solid Orc Lady	2725,3,180000
+gef_fild04,0,0	monster	Solid Mandragora	2765,2,180000
+gef_fild05,0,0	monster	Swift Creamy	2863,2,180000
+gef_fild06,0,0	monster	Solid Petite	2715,2,180000
+gef_fild07,0,0	monster	Swift Poring	2699,2,180000
+gef_fild08,0,0	monster	Swift Petite	2714,2,180000
+gef_fild09,0,0	monster	Swift Coco	2868,2,180000
+gef_fild10,0,0	monster	Furious Orc Warrior	2722,2,180000
+gef_fild11,0,0	monster	Swift Goblin	2814,3,180000
+gefenia01,0,0	monster	Swift False Angel	2834,2,180000
+gefenia02,0,0	monster	Solid Violy	2623,2,180000
+gefenia03,0,0	monster	Swift Violy	2622,2,180000
+gefenia04,0,0	monster	Elusive Violy	2621,2,180000
+gl_cas01,0,0	monster	Elusive Carat	2877,2,180000
 gl_cas02_,0,0	monster	Furious Wanderer (Nightmare)	2734,2,180000,0
-man_fild01,0,0	monster	Solid Nephentes	2735,2,300000
-abbey03,0,0	monster	Necromancer Ringleader	2736,2,300000
-xmas_dun02,0,0	monster	Furious Myst Case	2737,2,300000
-ve_fild04,0,0	monster	Elusive Muscipular	2738,2,300000
-moc_pryd03,0,0	monster	Swift Mummy	2739,2,300000
-moc_pryd02,0,0	monster	Solid Mummy	2740,2,300000
-moc_fild01,0,0	monster	Muka Ringleader	2741,3,300000
-moc_fild22,0,0	monster	Furious Incarnation of Morocc	2742,3,300000
-moc_fild21,0,0	monster	Elusive Incarnation of Morocc	2743,2,300000
-moc_fild20,0,0	monster	Swift Incarnation of Morocc	2744,1,300000
-ein_fild06,0,0	monster	Solid Holden	2745,2,300000
-ama_dun01,0,0	monster	Miyabi Doll Ringleader	2746,2,300000
-moc_prydn1,0,0	monster	Furious Minorous	2747,2,300000
-moc_pryd05,0,0	monster	Elusive Minorous	2748,2,300000
-in_sphinx4,0,0	monster	Swift Minorous	2749,1,300000
-ein_dun02,0,0	monster	Solid Mineral	2750,2,300000
-bif_fild01,0,0	monster	Miming Ringleader	2751,2,300000
-moc_prydn2,0,0	monster	Furious Mimic	2752,2,300000
-moc_pryd06,0,0	monster	Elusive Mimic	2753,2,300000
-cmd_fild09,0,0	monster	Swift Metaller	2754,2,300000
-ein_fild08,0,0	monster	Solid Metaling	2755,2,300000
-ein_fild07,0,0	monster	Metaling Ringleader	2756,2,300000
-iz_dun04,0,0	monster	Furious Merman	2757,2,300000
-ecl_fild01,0,0	monster	Elusive Menblatt	2758,1,300000
-beach_dun,0,0	monster	Swift Medusa	2759,2,300000
-mjo_dun02,0,0	monster	Solid Martin	2760,2,300000
-gl_in01,0,0	monster	Marionette Ringleader	2761,1,300000
-xmas_fild01,0,0	monster	Furious Marin	2762,1,300000
-in_sphinx3,0,0	monster	Elusive Marduk	2763,1,300000
-prt_maze03,0,0	monster	Swift Mantis	2764,2,300000
-gef_fild04,0,0	monster	Solid Mandragora	2765,2,300000
-ma_dun01,0,0	monster	Manananggal Ringleader	2766,2,300000
-gl_dun02,0,0	monster	Furious Majoruros	2767,1,300000
-prt_fild09,0,0	monster	Elusive Magnolia	2768,2,300000
-ve_fild03,0,0	monster	Swift Magmaring	2769,2,300000
-prt_fild08,0,0	monster	Solid Lunatic	2770,1,300000
-prt_fild01,0,0	monster	Lunatic Ringleader	2771,2,300000
-niflheim,0,0	monster	Furious Lude	2772,1,300000
-spl_fild03,0,0	monster	Elusive Luciola Vespa	2773,1,300000
-nif_fild02,0,0	monster	Swift Loli Ruri	2774,1,300000
-gon_dun02,0,0	monster	Solid Enchanted Peach Tree	2775,1,300000
-new_1-3,0,0	monster	Baby Poring Ringleader	2776,2,300000
-bif_fild02,0,0	monster	Furious Little Fatum	2777,2,300000
-lou_dun01,0,0	monster	Elusive Jing Guai	2778,2,300000
-mosk_dun02,0,0	monster	Swift Les	2779,1,300000
-gld_dun01,0,0	monster	Solid Leib Olmai	2780,2,300000
-ayo_dun01,0,0	monster	Leaf Cat Ringleader	2781,2,300000
-teg_dun02,0,0	monster	Furious Wickebine Tres	2782,2,300000,0
-teg_dun01,0,0	monster	Elusive Eremes	2783,2,300000,0
-ra_fild06,0,0	monster	Swift Kobold Archer	2784,3,300000
-ra_fild05,0,0	monster	Solid Kobold	2785,3,300000
-thor_v02,0,0	monster	Knocker Ringleader	2786,1,300000
-mjolnir_08,0,0	monster	Furious Beetle King	2787,2,300000
-thor_v01,0,0	monster	Elusive Kasa	2788,2,300000
-ama_fild01,0,0	monster	Swift Karakasa	2789,2,300000
-moc_pryd04,0,0	monster	Solid Isis	2790,2,300000
-ra_san02,0,0	monster	Isilla Ringleader	2791,2,300000
-gl_prison1,0,0	monster	Furious Injustice	2792,2,300000
-lou_fild01,0,0	monster	Elusive Mi Gao	2793,1,300000
-ice_dun03,0,0	monster	Swift Ice Titan	2794,2,300000
-bra_dun02,0,0	monster	Solid Iara	2795,3,300000
-lou_dun02,0,0	monster	Yao Jun Ringleader	2796,1,300000
-gef_dun00,0,0	monster	Furious Hunter Fly	2797,1,300000
-prt_fild05,0,0	monster	Elusive Hornet	2798,2,300000
-dic_dun01,0,0	monster	Swift Uni-horn Scaraba	2799,2,300000
-pay_fild09,0,0	monster	Solid Horn	2800,2,300000
-ra_san03,0,0	monster	Hodremlin Ringleader	2801,2,300000
-moc_fild17,0,0	monster	Furious Hode	2802,2,300000
-ra_fild04,0,0	monster	Elusive Hill Wind	2803,3,300000
-ra_fild03,0,0	monster	Swift Hill Wind	2804,3,300000
-alde_dun02,0,0	monster	Solid High Orc	2805,2,300000
-yuno_fild04,0,0	monster	Harpy Ringleader	2806,3,300000
-yuno_fild03,0,0	monster	Furious Harpy	2807,3,300000
-cmd_fild01,0,0	monster	Elusive Grove	2808,2,300000
-pay_fild10,0,0	monster	Swift Greatest General	2809,2,300000
-yuno_fild09,0,0	monster	Solid Grand Peco	2810,2,300000
-yuno_fild08,0,0	monster	Grand Peco Ringleader	2811,2,300000
-cmd_fild06,0,0	monster	Furious Golem	2812,2,300000
-prt_fild11,0,0	monster	Elusive Goblin	2813,3,300000
-gef_fild11,0,0	monster	Swift Goblin	2814,3,300000
-yuno_fild11,0,0	monster	Solid Goat	2815,2,300000
-yuno_fild07,0,0	monster	Goat Ringleader	2816,2,300000
-gld2_prt,0,0	monster	Furious Dark Hammer Kobold	2817,2,300000
-gld_dun03_2,0,0	monster	Elusive Dark Hammer Kobold	2818,2,300000
-gld2_gef,0,0	monster	Swift Dark Shadow	2819,2,300000
-gld_dun04_2,0,0	monster	Solid Dark Shadow	2820,2,300000
-gld_dun02,0,0	monster	Giant Hornet Ringleader	2821,2,300000
-nameless_n,0,0	monster	Furious Ghoul	2822,1,300000
-gef_dun01,0,0	monster	Elusive Ghoul	2823,2,300000
-yuno_fild12,0,0	monster	Swift Geographer	2824,1,300000
-yuno_fild01,0,0	monster	Solid Geographer	2825,2,300000
-glast_01,0,0	monster	Gargoyle Ringleader	2826,1,300000
-gl_sew02,0,0	monster	Furious Gargoyle	2827,1,300000
-ve_fild01,0,0	monster	Elusive Galion	2828,1,300000
-cmd_fild02,0,0	monster	Swift Seal	2829,3,300000
-tur_dun05,0,0	monster	Solid Freezer	2830,1,300000
-tur_dun03,0,0	monster	Freezer Ringleader	2831,1,300000
-abyss_01,0,0	monster	Furious Ferus	2832,2,300000
-prt_sewb1,0,0	monster	Elusive Familiar	2833,1,300000
-gefenia01,0,0	monster	Swift False Angel	2834,2,300000
-prt_fild06,0,0	monster	Solid Fabre	2835,2,300000
-pay_fild03,0,0	monster	Fabre Ringleader	2836,3,300000
-mag_dun01,0,0	monster	Furious Explosion	2837,1,300000
-gl_church,0,0	monster	Elusive Evil Druid	2838,2,300000
-prt_fild10,0,0	monster	Swift Elder Willow	2839,3,300000
-mjolnir_02,0,0	monster	Solid Elder Willow	2840,3,300000
-ra_san04,0,0	monster	Echio Ringleader	2841,1,300000
-mjolnir_12,0,0	monster	Furious Dustiness	2842,2,300000
-um_fild01,0,0	monster	Swift Dryad	2843,2,300000
-ve_fild02,0,0	monster	Solid Drosera	2844,2,300000
-moc_fild07,0,0	monster	Drops Ringleader	2845,3,300000
-mjolnir_04,0,0	monster	Furious Driller	2846,3,300000
-in_sphinx1,0,0	monster	Elusive Drainliar	2847,1,300000
-tur_dun01,0,0	monster	Swift Dragon Tail	2848,1,300000
-nyd_dun01,0,0	monster	Solid Draco	2849,2,300000
-dic_fild02,0,0	monster	Dolomedes Ringleader	2850,2,300000
-pay_dun04,0,0	monster	Furious Dokebi	2851,2,300000
-nif_fild01,0,0	monster	Elusive Disguise	2852,2,300000
-jupe_core,0,0	monster	Swift Dimik	2853,3,300000
-gef_dun02,0,0	monster	Solid Deviruchi	2854,2,300000
-ra_fild01,0,0	monster	Baby Desert Wolf Ringleader	2855,2,300000
-moc_fild11,0,0	monster	Furious Baby Desert Wolf	2856,3,300000
-cmd_fild08,0,0	monster	Elusive Deniro	2857,2,300000
-anthell01,0,0	monster	Elusive Deniro	2857,3,300000
-tha_t06,0,0	monster	Swift Death Word	2858,2,300000
-//tha_t06,0,0	monster	Swift Death Word	2858,3,300000	//--Applied after Thanatos Revamped Patch.
-tha_t04,0,0	monster	Solid Death Word	2859,2,300000
-tha_t03,0,0	monster	Death Word Ringleader	2860,2,300000
-gl_chyard,0,0	monster	Furious Dark Priest	2861,2,300000
-lou_dun03,0,0	monster	Elusive Zhu Po Long	2862,1,300000
-gef_fild05,0,0	monster	Swift Creamy	2863,2,300000
-iz_dun02,0,0	monster	Solid Cornutus	2864,2,300000
-xmas_dun01,0,0	monster	Cookie Ringleader	2865,2,300000
-kh_kiehl01,0,0	monster	Furious Constant	2866,2,300000
-dew_dun01,0,0	monster	Elusive Comodo	2867,2,300000
-gef_fild09,0,0	monster	Swift Coco	2868,2,300000
-gef_fild02,0,0	monster	Solid Coco	2869,3,300000
-c_tower4,0,0	monster	Clock Ringleader	2870,2,300000
-c_tower2,0,0	monster	Furious Clock	2871,1,300000
-gef_fild00,0,0	monster	Elusive Chonchon	2872,2,300000
-dic_fild01,0,0	monster	Swift Centipede	2873,2,300000
-ecl_tdun01,0,0	monster	Solid Cenere	2874,1,300000
-lhz_dun04,0,0	monster	Celia Ringleader	2875,3,300000
-gld_dun03,0,0	monster	Furious Caterpillar	2876,2,300000
-gl_cas01,0,0	monster	Elusive Carat	2877,2,300000
-mjolnir_01,0,0	monster	Swift Caramel	2878,2,300000
-ma_fild02,0,0	monster	Solid Bungisngis	2879,2,300000
-odin_tem01,0,0	monster	Breeze Ringleader	2880,1,300000
-lhz_fild03,0,0	monster	Furious Breeze	2881,3,300000
-man_fild02,0,0	monster	Elusive Bradium Golem	2882,2,300000
-gon_dun01,0,0	monster	Swift Bloody Butterfly	2883,2,300000
-pay_fild07,0,0	monster	Bigfoot Ringleader	2884,2,300000
-alde_dun04,0,0	monster	Furious Bathory	2885,1,300000
-arug_dun01,0,0	monster	Elusive Banshee Master	2886,2,300000
-abbey01,0,0	monster	Swift Banshee	2887,3,300000
-dew_dun02,0,0	monster	Solid Banaspaty	2888,2,300000
-tur_dun04,0,0	monster	Assaulter Ringleader	2889,1,300000
-mjolnir_10,0,0	monster	Furious Argos	2890,2,300000
-mjolnir_11,0,0	monster	Elusive Argiope	2891,2,300000
-mjolnir_05,0,0	monster	Swift Argiope	2892,2,300000
-gl_dun01,0,0	monster	Solid Arclouze	2893,1,300000
-alde_dun01,0,0	monster	Arclouze Ringleader	2894,1,300000
-juperos_02,0,0	monster	Furious Apocalypse	2895,3,300000
-dic_dun02,0,0	monster	Elusive Antler Scaraba	2896,2,300000
-ecl_tdun03,0,0	monster	Swift Antique Book	2897,1,300000
-ecl_tdun02,0,0	monster	Solid Antique Book	2898,1,300000
-gl_sew04,0,0	monster	Furious Anolian	2899,2,300000
-gld2_ald,0,0	monster	Elusive Angra Mantis	2900,2,300000
-gld_dun02_2,0,0	monster	Swift Angra Mantis	2901,2,300000
-anthell02,0,0	monster	Solid Andre	2902,2,300000
-tha_t02,0,0	monster	Ancient Mimic Ringleader	2903,2,300000
-ra_fild08,0,0	monster	Furious Anacondaq	2904,2,300000
-prt_fild04,0,0	monster	Elusive Ambernite	2905,2,300000
-dew_fild01,0,0	monster	Swift Rafflesia Arnoldi	2906,2,300000
-cmd_fild03,0,0	monster	Solid Alligator	2907,3,300000
-kh_dun01,0,0	monster	Aliza Ringleader	2908,1,300000
-kh_dun02,0,0	monster	Furious Alicel	2909,1,300000
-c_tower3,0,0	monster	Elusive Alarm	2910,1,300000
-ra_san05,0,0	monster	Swift Agav	2911,2,300000
-abyss_03,0,0	monster	Solid Acidus	2912,2,300000
-abyss_02,0,0	monster	Acidus Ringleader	2913,2,300000
+gl_cas02,0,0	monster	Furious Wanderer	2620,2,180000
+gl_church,0,0	monster	Elusive Evil Druid	2838,2,180000
+gl_chyard_,0,0	monster	Elusive Wraith Dead (Nightmare)	2733,2,180000,0
+gl_chyard,0,0	monster	Furious Dark Priest	2861,2,180000
+gl_dun01,0,0	monster	Solid Arclouze	2893,1,180000
+gl_dun02,0,0	monster	Furious Majoruros	2767,1,180000
+gl_in01,0,0	monster	Marionette Ringleader	2761,1,180000
+gl_knt01,0,0	monster	Solid Raydric	2691,2,180000
+gl_knt02,0,0	monster	Swift Raydric	2690,2,180000
+gl_prison,0,0	monster	Solid Zombie Prisoner	2604,1,180000
+gl_prison1,0,0	monster	Furious Injustice	2792,2,180000
+gl_sew01,0,0	monster	Solid Whisper	2618,1,180000
+gl_sew02,0,0	monster	Furious Gargoyle	2827,1,180000
+gl_sew03,0,0	monster	Elusive Sting	2640,2,180000
+gl_sew04,0,0	monster	Furious Anolian	2899,2,180000
+gl_step,0,0	monster	Solid Wind Ghost	2614,2,180000
+glast_01,0,0	monster	Gargoyle Ringleader	2826,1,180000
+gld_dun01_2,0,0	monster	Furious Skeleton General	2659,2,180000
+gld_dun01,0,0	monster	Solid Leib Olmai	2780,2,180000
+gld_dun02_2,0,0	monster	Swift Angra Mantis	2901,2,180000
+gld_dun02,0,0	monster	Giant Hornet Ringleader	2821,2,180000
+gld_dun03_2,0,0	monster	Elusive Dark Hammer Kobold	2818,2,180000
+gld_dun03,0,0	monster	Furious Caterpillar	2876,2,180000
+gld_dun04_2,0,0	monster	Solid Dark Shadow	2820,2,180000
+gld_dun04,0,0	monster	Zombie Master Ringleader	2605,2,180000
+gld2_ald,0,0	monster	Elusive Angra Mantis	2900,2,180000
+gld2_gef,0,0	monster	Swift Dark Shadow	2819,2,180000
+gld2_pay,0,0	monster	Skeleton General Ringleader	2658,2,180000
+gld2_prt,0,0	monster	Furious Dark Hammer Kobold	2817,2,180000
+gon_dun01,0,0	monster	Swift Bloody Butterfly	2883,2,180000
+gon_dun02,0,0	monster	Solid Enchanted Peach Tree	2775,1,180000
+gon_dun03,0,0	monster	Elusive Evil Nymph	2617,2,180000
+gon_fild01,0,0	monster	Dumpling Child Ringleader	2683,2,180000
+hu_fild01,0,0	monster	Novus Ringleader	2731,2,180000
+hu_fild02,0,0	monster	Solid Novus	2730,2,180000
+hu_fild04,0,0	monster	Swift Novus	2729,2,180000
+hu_fild05,0,0	monster	Elusive Novus	2728,2,180000
+hu_fild06,0,0	monster	Swift Shellfish	2666,1,180000
+ice_dun01,0,0	monster	Swift Siroma	2661,1,180000
+ice_dun02,0,0	monster	Solid Snowier	2652,2,180000
+ice_dun03,0,0	monster	Swift Ice Titan	2794,2,180000
+in_sphinx1,0,0	monster	Elusive Drainliar	2847,1,180000
+in_sphinx2,0,0	monster	Solid Requiem	2687,2,180000
+in_sphinx3,0,0	monster	Elusive Marduk	2763,1,180000
+in_sphinx4,0,0	monster	Swift Minorous	2749,1,180000
+in_sphinx5,0,0	monster	Swift Pasana	2719,2,180000
+iz_dun00,0,0	monster	Furious Plankton	2707,2,180000
+iz_dun01,0,0	monster	Solid Vadon	2628,2,180000
+iz_dun02,0,0	monster	Solid Cornutus	2864,2,180000
+iz_dun03,0,0	monster	Elusive Phen	2713,2,180000
+iz_dun04,0,0	monster	Furious Merman	2757,2,180000
+iz_dun05,0,0	monster	Furious Lamp Rey	2669,2,180000
+jupe_core,0,0	monster	Swift Dimik	2853,3,180000
+juperos_01,0,0	monster	Furious Venatu	2625,3,180000
+juperos_02,0,0	monster	Furious Apocalypse	2895,3,180000
+kh_dun01,0,0	monster	Aliza Ringleader	2908,1,180000
+kh_dun02,0,0	monster	Furious Alicel	2909,1,180000
+kh_kiehl01,0,0	monster	Furious Constant	2866,2,180000
+lhz_dun01,0,0	monster	Remover Ringleader	2688,3,180000
+lhz_dun02,0,0	monster	Laurell Weinder Ringleader	2692,3,180000
+lhz_dun03,0,0	monster	Solid Cecil Damon	2667,3,180000
+lhz_dun04,0,0	monster	Celia Ringleader	2875,3,180000
+lhz_fild01,0,0	monster	Swift Rafflesia	2695,3,180000
+lhz_fild01,0,0	monster	Poring Ringleader	2696,2,180000
+lhz_fild01,0,0	monster	Furious Poring	2697,2,180000
+lhz_fild01,0,0	monster	Elusive Poring	2698,2,180000
+lhz_fild02,0,0	monster	Swift Stem Worm	2641,2,180000
+lhz_fild03,0,0	monster	Furious Breeze	2881,3,180000
+lou_dun01,0,0	monster	Elusive Jing Guai	2778,2,180000
+lou_dun02,0,0	monster	Yao Jun Ringleader	2796,1,180000
+lou_dun03,0,0	monster	Elusive Zhu Po Long	2862,1,180000
+lou_fild01,0,0	monster	Elusive Mi Gao	2793,1,180000
+ma_dun01,0,0	monster	Manananggal Ringleader	2766,2,180000
+ma_fild01,0,0	monster	Elusive Tiyanak	2631,2,180000
+ma_fild02,0,0	monster	Solid Bungisngis	2879,2,180000
+mag_dun01,0,0	monster	Furious Explosion	2837,1,180000
+mag_dun02,0,0	monster	Furious Nightmare Terror	2732,2,180000
+mal_dun01,0,0	monster	Elusive Red Eruma	2689,2,180000
+man_fild01,0,0	monster	Solid Nephentes	2735,2,180000
+man_fild02,0,0	monster	Elusive Bradium Golem	2882,2,180000
+man_fild03,0,0	monster	Solid Tatacho	2637,1,180000
+mjo_dun01,0,0	monster	Tarou Ringleader	2638,2,180000
+mjo_dun02,0,0	monster	Solid Martin	2760,2,180000
+mjo_dun03,0,0	monster	Elusive Skeleton Worker	2660,2,180000
+mjolnir_01,0,0	monster	Swift Caramel	2878,2,180000
+mjolnir_02,0,0	monster	Solid Elder Willow	2840,3,180000
+mjolnir_03,0,0	monster	Side Winder Ringleader	2663,2,180000
+mjolnir_04,0,0	monster	Furious Driller	2846,3,180000
+mjolnir_05,0,0	monster	Swift Argiope	2892,2,180000
+mjolnir_06,0,0	monster	Solid Poison Spore	2705,3,180000
+mjolnir_07,0,0	monster	Savage Ringleader	2673,3,180000
+mjolnir_08,0,0	monster	Furious Beetle King	2787,2,180000
+mjolnir_09,0,0	monster	Swift Savage Babe	2671,2,180000
+mjolnir_10,0,0	monster	Furious Argos	2890,2,180000
+mjolnir_11,0,0	monster	Elusive Argiope	2891,2,180000
+mjolnir_12,0,0	monster	Furious Dustiness	2842,2,180000
+moc_fild01,0,0	monster	Muka Ringleader	2741,3,180000
+moc_fild02,0,0	monster	Elusive Peco Peco	2718,2,180000
+moc_fild03,0,0	monster	Swift Wolf	2613,2,180000
+moc_fild07,0,0	monster	Drops Ringleader	2845,3,180000
+moc_fild11,0,0	monster	Furious Baby Desert Wolf	2856,3,180000
+moc_fild12,0,0	monster	Furious Picky	2712,2,180000
+moc_fild13,0,0	monster	Solid Steel Chonchon	2642,3,180000
+moc_fild16,0,0	monster	Furious Sandman	2674,2,180000
+moc_fild17,0,0	monster	Furious Hode	2802,2,180000
+moc_fild18,0,0	monster	Elusive Scorpion	2670,3,180000
+moc_fild20,0,0	monster	Swift Incarnation of Morocc	2744,1,180000
+moc_fild21,0,0	monster	Elusive Incarnation of Morocc	2743,2,180000
+moc_fild22,0,0	monster	Furious Incarnation of Morocc	2742,3,180000
+moc_pryd02,0,0	monster	Solid Mummy	2740,2,180000
+moc_pryd03,0,0	monster	Swift Mummy	2739,2,180000
+moc_pryd04,0,0	monster	Solid Isis	2790,2,180000
+moc_pryd05,0,0	monster	Elusive Minorous	2748,2,180000
+moc_pryd06,0,0	monster	Elusive Mimic	2753,2,180000
+moc_prydn1,0,0	monster	Furious Minorous	2747,2,180000
+moc_prydn2,0,0	monster	Furious Mimic	2752,2,180000
+mosk_dun01,0,0	monster	Elusive Wood Goblin	2612,2,180000
+mosk_dun02,0,0	monster	Swift Les	2779,1,180000
+mosk_dun03,0,0	monster	Elusive Vavayaga	2626,2,180000
+mosk_fild02,0,0	monster	Solid Side Winder	2662,1,180000
+nameless_n,0,0	monster	Furious Ghoul	2822,1,180000
+new_1-3,0,0	monster	Baby Poring Ringleader	2776,2,180000
+nif_fild01,0,0	monster	Elusive Disguise	2852,2,180000
+nif_fild02,0,0	monster	Swift Loli Ruri	2774,1,180000
+niflheim,0,0	monster	Furious Lude	2772,1,180000
+nyd_dun01,0,0	monster	Solid Draco	2849,2,180000
+odin_tem01,0,0	monster	Breeze Ringleader	2880,1,180000
+odin_tem02,0,0	monster	Solid Skogul	2657,1,180000
+odin_tem03,0,0	monster	Plasma Ringleader	2706,2,180000
+orcsdun01,0,0	monster	Elusive Orc Zombie	2723,2,180000
+orcsdun02,0,0	monster	Swift Orc Skeleton	2724,2,180000
+pay_dun00,0,0	monster	Furious Zombie	2606,2,180000
+pay_dun01,0,0	monster	Furious Soldier Skeleton	2649,2,180000
+pay_dun02,0,0	monster	Soldier Skeleton Ringleader	2648,3,180000
+pay_dun03,0,0	monster	Swift Sohee	2651,2,180000
+pay_dun04,0,0	monster	Furious Dokebi	2851,2,180000
+pay_fild01,0,0	monster	Willow Ringleader	2615,2,180000
+pay_fild02,0,0	monster	Boa Ringleader	2653,3,180000
+pay_fild03,0,0	monster	Fabre Ringleader	2836,3,180000
+pay_fild04,0,0	monster	Elusive Poporing	2703,2,180000
+pay_fild06,0,0	monster	Wormtail Ringleader	2610,3,180000
+pay_fild07,0,0	monster	Bigfoot Ringleader	2884,2,180000
+pay_fild09,0,0	monster	Solid Horn	2800,2,180000
+pay_fild10,0,0	monster	Swift Greatest General	2809,2,180000
+prt_fild00,0,0	monster	Roda Frog Ringleader	2678,2,180000
+prt_fild01,0,0	monster	Lunatic Ringleader	2771,2,180000
+prt_fild02,0,0	monster	Elusive Stainer	2645,3,180000
+prt_fild03,0,0	monster	Swift Yoyo	2608,2,180000
+prt_fild04,0,0	monster	Elusive Ambernite	2905,2,180000
+prt_fild05,0,0	monster	Elusive Hornet	2798,2,180000
+prt_fild06,0,0	monster	Solid Fabre	2835,2,180000
+prt_fild07,0,0	monster	Elusive Rocker	2680,3,180000
+prt_fild08,0,0	monster	Solid Lunatic	2770,1,180000
+prt_fild08,0,0	monster	Poring Ringleader	2696,1,180000
+prt_fild08,0,0	monster	Furious Poring	2697,1,180000
+prt_fild08,0,0	monster	Elusive Poring	2698,1,180000
+prt_fild08,0,0	monster	Swift Poring	2699,1,180000
+prt_fild09,0,0	monster	Elusive Magnolia	2768,2,180000
+prt_fild10,0,0	monster	Swift Elder Willow	2839,3,180000
+prt_fild11,0,0	monster	Elusive Goblin	2813,3,180000
+prt_maze01,0,0	monster	Solid Savage	2672,2,180000
+prt_maze02,0,0	monster	Furious Poporing	2702,2,180000
+prt_maze03,0,0	monster	Poporing Ringleader	2701,2,180000
+prt_maze03,0,0	monster	Swift Mantis	2764,2,180000
+prt_sewb1,0,0	monster	Elusive Familiar	2833,1,180000
+prt_sewb2,0,0	monster	Furious Thief Bug	2634,2,180000
+prt_sewb3,0,0	monster	Thief Bug Ringleader	2633,3,180000
+prt_sewb4,0,0	monster	Solid Thief Bug	2632,2,180000
+ra_fild01,0,0	monster	Baby Desert Wolf Ringleader	2855,2,180000
+ra_fild03,0,0	monster	Swift Hill Wind	2804,3,180000
+ra_fild04,0,0	monster	Elusive Hill Wind	2803,3,180000
+ra_fild05,0,0	monster	Solid Kobold	2785,3,180000
+ra_fild06,0,0	monster	Swift Kobold Archer	2784,3,180000
+ra_fild08,0,0	monster	Furious Anacondaq	2904,2,180000
+ra_fild12,0,0	monster	Solid Roween	2677,2,180000
+ra_san01,0,0	monster	Swift Vanberk	2627,2,180000
+ra_san02,0,0	monster	Isilla Ringleader	2791,2,180000
+ra_san03,0,0	monster	Hodremlin Ringleader	2801,2,180000
+ra_san04,0,0	monster	Echio Ringleader	2841,1,180000
+ra_san05,0,0	monster	Swift Agav	2911,2,180000
+schg_dun01,0,0	monster	Elusive Zakudam	2607,2,180000
+spl_fild01,0,0	monster	Solid Dark Pinguicula	2710,2,180000
+spl_fild02,0,0	monster	Pinguicula Ringleader	2711,2,180000
+spl_fild03,0,0	monster	Elusive Luciola Vespa	2773,1,180000
+teg_dun01,0,0	monster	Elusive Eremes	2783,2,180000,0
+teg_dun02,0,0	monster	Furious Wickebine Tres	2782,2,180000,0
+tha_t01,0,0	monster	Swift Rideword	2681,2,180000
+//tha_t01,0,0	monster	Swift Rideword	2681,1,180000	//--Applied after Thanatos Revamped Patch.
+tha_t02,0,0	monster	Ancient Mimic Ringleader	2903,2,180000
+tha_t03,0,0	monster	Death Word Ringleader	2860,2,180000
+tha_t04,0,0	monster	Solid Death Word	2859,2,180000
+tha_t05,0,0	monster	Owl Duke Ringleader	2721,2,180000
+//tha_t05,0,0	monster	Owl Duke Ringleader	2721,3,180000	//--Applied after Thanatos Revamped Patch.
+tha_t06,0,0	monster	Swift Death Word	2858,2,180000
+//tha_t06,0,0	monster	Swift Death Word	2858,3,180000	//--Applied after Thanatos Revamped Patch.
+tha_t07,0,0	monster	Swift Baroness of Retribution	2686,2,180000
+//tha_t07,0,0	monster	Swift Baroness of Retribution	2686,1,180000	//--Applied after Thanatos Revamped Patch.
+tha_t08,0,0	monster	Elusive Baroness of Retribution	2685,2,180000
+//tha_t08,0,0	monster	Elusive Baroness of Retribution	2685,1,180000	//--Applied after Thanatos Revamped Patch.
+tha_t09,0,0	monster	Elusive Lady Solace	2650,2,180000	//--Remove after Thanatos Ravamped Patch
+tha_t10,0,0	monster	Furious Baroness of Retribution	2684,2,180000	//--Remove after Thanatos Ravamped Patch
+tha_t11,0,0	monster	Elusive Mistress of Shelter	2665,2,180000	//--Remove after Thanatos Ravamped Patch
+tha_t12,0,0	monster	Dame of Sentinel Ringleader	2726,2,180000	//--Remove after Thanatos Ravamped Patch
+thor_v01,0,0	monster	Elusive Kasa	2788,2,180000
+thor_v02,0,0	monster	Knocker Ringleader	2786,1,180000
+thor_v03,0,0	monster	Elusive Salamander	2675,2,180000
+treasure_n1,0,0	monster	Swift Spore	2646,2,180000
+treasure_n2,0,0	monster	Weak Skeleton Ringleader	2619,2,180000
+treasure02,0,0	monster	Swift Sailor Skeleton	2676,1,180000
+treasure02,0,0	monster	Penomena Ringleader	2716,2,180000
+tur_dun01,0,0	monster	Swift Dragon Tail	2848,1,180000
+tur_dun02,0,0	monster	Solid Solider	2647,2,180000
+tur_dun03,0,0	monster	Freezer Ringleader	2831,1,180000
+tur_dun04,0,0	monster	Assaulter Ringleader	2889,1,180000
+tur_dun05,0,0	monster	Solid Freezer	2830,1,180000
+um_fild01,0,0	monster	Swift Dryad	2843,2,180000
+um_fild02,0,0	monster	Furious Wootan Fighter	2611,1,180000
+um_fild03,0,0	monster	Solid Parasite	2720,1,180000
+um_fild04,0,0	monster	Furious Wild Rose	2616,1,180000
+ve_fild01,0,0	monster	Elusive Galion	2828,1,180000
+ve_fild02,0,0	monster	Solid Drosera	2844,2,180000
+ve_fild03,0,0	monster	Swift Magmaring	2769,2,180000
+ve_fild04,0,0	monster	Elusive Muscipular	2738,2,180000
+ve_fild07,0,0	monster	Stapo Ringleader	2643,2,180000
+xmas_dun01,0,0	monster	Cookie Ringleader	2865,2,180000
+xmas_dun02,0,0	monster	Furious Myst Case	2737,2,180000
+xmas_fild01,0,0	monster	Furious Marin	2762,1,180000
+yuno_fild01,0,0	monster	Solid Geographer	2825,2,180000
+yuno_fild02,0,0	monster	Swift Sleeper	2656,2,180000
+yuno_fild03,0,0	monster	Furious Harpy	2807,3,180000
+yuno_fild04,0,0	monster	Harpy Ringleader	2806,3,180000
+yuno_fild06,0,0	monster	Elusive Sleeper	2655,1,180000
+yuno_fild07,0,0	monster	Goat Ringleader	2816,2,180000
+yuno_fild08,0,0	monster	Grand Peco Ringleader	2811,2,180000
+yuno_fild09,0,0	monster	Solid Grand Peco	2810,2,180000
+yuno_fild11,0,0	monster	Solid Goat	2815,2,180000
+yuno_fild12,0,0	monster	Swift Geographer	2824,1,180000

+ 44 - 0
npc/re/mobs/dungeons/ein_dun.txt

@@ -14,6 +14,7 @@
 //= 1.3 Official kRO 10.1 spawns [Playtester]
 //= 1.4 More accurate spawns [Playtester]
 //= 1.5 Corrected MVP spawn variance. [L0ne_W0lf]
+//= 1.6 Added Illusion of Teddy Bear. [Atemo]
 //============================================================
 
 //==================================================
@@ -49,3 +50,46 @@ ein_dun03	monster	White Porcellio	20602,22
 ein_dun03	monster	Jeweliant	20598,20
 ein_dun03	monster	Jewel	20600,3
 ein_dun03	boss_monster	Jungoliant	20601,1,7200000,600000,0
+
+//==================================================
+// Illusion of Teddy Bear
+//==================================================
+ein_d02_i	monster	Red Teddybear	 20255,25,5000,0,"ein_d02_i_boss::OnMobDead"
+ein_d02_i	monster	Yellow Teddybear	 20256,25,5000,0,"ein_d02_i_boss::OnMobDead"
+ein_d02_i	monster	Green Teddybear	 20257,25,5000,0,"ein_d02_i_boss::OnMobDead"
+ein_d02_i	monster	White Teddybear	 20258,20,5000,0,"ein_d02_i_boss::OnMobDead"
+ein_d02_i	monster	Blue Teddybear	 20259,20,5000,0,"ein_d02_i_boss::OnMobDead"
+ein_d02_i	monster	Pitman Labor Type	 20261,20
+ein_d02_i	monster	Piece of Spirit	 20262,15
+ein_d02_i	monster	Spirit Dwelling Obsidian	 20263,15
+
+-	script	ein_d02_i_boss	-1,{
+	end;
+OnMobDead:
+	if (playerattached()) {
+		if (.count < 2500)
+			.count++;
+		if (!.boss_spawn && !.cooldown && .count == 2500) {
+			.boss_spawn = true;
+			.count = 0;
+			killmonster "ein_d02_i", "ein_d02_i_boss::OnBossDeath";
+			// mapannounce "ein_d02_i", "", bc_map;	// Unknown text
+			getunitdata( killedgid, .@data );
+			monster "ein_d02_i", .@data[UMOB_X], .@data[UMOB_Y], "--ja--", 20260,1, "ein_d02_i_boss::OnBossDeath";	// ILL_TEDDY_BEAR_S
+			end;
+		}
+	}
+	end;
+OnBossDeath:
+	// (no announce)
+	killmonster "ein_d02_i", "ein_d02_i_boss::OnBossDeath";
+	.boss_spawn = false;
+	.cooldown = true;
+	initnpctimer;
+	end;
+
+OnTimer7200000:
+	.cooldown = false;
+	stopnpctimer;
+	end;
+}

+ 23 - 31
npc/re/mobs/fields/prontera.txt

@@ -3,7 +3,7 @@
 //===== By: ==================================================
 //= Athena (1.0)
 //===== Current Version: =====================================
-//= 1.7
+//= 1.8
 //===== Additional Comments: =================================
 //= 1.2 fixed some map name typos [Lupus]
 //= 1.3 Official kRO 10.1 spawns [Playtester]
@@ -11,6 +11,7 @@
 //= 1.5 Updated to Renewal spawns.
 //= 1.6 Added Prontera Field 8 duplicates. [Euphy]
 //= 1.7 Correct Spawn by Navigation's mob data. [attackjom]
+//= 1.8 Official 18.1 Field 8 spawns, duplicates removed [Playtester]
 //============================================================
 
 //==================================================
@@ -90,36 +91,27 @@ prt_fild07,225,110,5,5	monster	Black Mushroom	1084,3,360000,180000
 //==================================================
 // prt_fild08 - Prontera Field
 //==================================================
-prt_fild08,0,0	monster	Poring	1002,110,5000
-prt_fild08,0,0	monster	Lunatic	1063,110,5000
-prt_fild08,0,0	monster	Fabre	1007,88,5000
-prt_fild08,0,0	monster	Little Poring	2398,33,50000
-prt_fild08,0,0	monster	Pupa	1008,66,5000
-
-//==================================================
-// prt_fild08 - Duplicates
-//==================================================
-prt_fild08a,0,0	monster	Poring	1002,110,5000
-prt_fild08a,0,0	monster	Lunatic	1063,110,5000
-prt_fild08a,0,0	monster	Fabre	1007,88,5000
-prt_fild08a,0,0	monster	Little Poring	2398,33,50000
-prt_fild08a,0,0	monster	Pupa	1008,66,5000
-prt_fild08b,0,0	monster	Poring	1002,110,5000
-prt_fild08b,0,0	monster	Lunatic	1063,110,5000
-prt_fild08b,0,0	monster	Fabre	1007,88,5000
-prt_fild08b,0,0	monster	Little Poring	2398,33,50000
-prt_fild08b,0,0	monster	Pupa	1008,66,5000
-prt_fild08c,0,0	monster	Poring	1002,110,5000
-prt_fild08c,0,0	monster	Lunatic	1063,110,5000
-prt_fild08c,0,0	monster	Fabre	1007,88,5000
-prt_fild08c,0,0	monster	Little Poring	2398,33,50000
-prt_fild08c,0,0	monster	Pupa	1008,66,5000
-prt_fild08d,0,0	monster	Poring	1002,110,5000
-prt_fild08d,0,0	monster	Lunatic	1063,110,5000
-prt_fild08d,0,0	monster	Fabre	1007,88,5000
-prt_fild08d,0,0	monster	Little Poring	2398,33,50000
-prt_fild08d,0,0	monster	Pupa	1008,66,5000
-
+prt_fild08,0,0	monster	Poring	1002,20,5000
+prt_fild08,0,0	monster	Lunatic	1063,20,5000
+prt_fild08,0,0	monster	Fabre	1007,10,5000
+prt_fild08,305,233,10,10	monster	Poring	1002,2,15000
+prt_fild08,305,233,10,10	monster	Lunatic	1063,2,15000
+prt_fild08,305,233,10,10	monster	Fabre	1007,2,15000
+prt_fild08,271,249,20,20	monster	Poring	1002,5,15000
+prt_fild08,271,249,20,20	monster	Lunatic	1063,5,15000
+prt_fild08,271,249,20,20	monster	Fabre	1007,5,15000
+prt_fild08,94,335,50,50	monster	Poring	1002,20,10000
+prt_fild08,166,334,50,50	monster	Poring	1002,20,10000
+prt_fild08,253,337,50,50	monster	Poring	1002,20,10000
+prt_fild08,228,230,30,30	monster	Lunatic	1063,10,10000
+prt_fild08,246,263,50,50	monster	Lunatic	1063,10,10000
+prt_fild08,190,237,50,50	monster	Lunatic	1063,10,10000
+prt_fild08,100,256,50,50	monster	Lunatic	1063,10,10000
+prt_fild08,70,164,70,70	monster	Fabre	1007,20,10000
+prt_fild08,144,147,70,70	monster	Fabre	1007,20,10000
+prt_fild08,263,79,90,90	monster	Fabre	1007,20,10000
+prt_fild08,336,113,40,40	monster	Pupa	1008,20,10000
+prt_fild08,330,269,40,40	monster	Little Poring	2398,20,10000
 
 //==================================================
 // prt_fild09 - Prontera Field

+ 4 - 4
npc/re/other/clans.txt

@@ -103,7 +103,7 @@ prt_in,33,114,5	script	Raffam Oranpere	10058,{
 					if( getcharid( 2 ) ){
 						mes "[Raffam Oranpere]";
 						mes "Come back to join after you leave your current guild.";
-						close;
+						close3;
 					}else if( getcharid( 5 ) != 0 ){
 						cutin "laperm04.bmp", 2;
 						mes "[Raffam Oranpere]";
@@ -268,7 +268,7 @@ prt_in,35,114,5	script	Devon Aire	10059,{
 					if( getcharid( 2 ) ){
 						mes "[Devon Aire]";
 						mes "Leave your guild first to join my Clan, duh.";
-						close;
+						close3;
 					}else if( getcharid( 5 ) != 0 ){
 						cutin "debon03.bmp", 2;
 						mes "[Devon Aire]";
@@ -421,7 +421,7 @@ prt_in,37,114,5	script	Berman Aire	10060,{
 						mes "[Berman Aire]";
 						mes "Oh, no.";
 						mes "In order to join, you first have to leave your current guild.";
-						close;
+						close3;
 					}else if( getcharid( 5 ) != 0 ){
 						mes "[Berman Aire]";
 						mes "You're already in a Clan.";
@@ -567,7 +567,7 @@ prt_in,39,114,5	script	Shaam Rumi	10027,{
 					if( getcharid( 2 ) ){
 						mes "[Shaam Rumi]";
 						mes "Did you finish things up with your guild?";
-						close;
+						close3;
 					}else if( getcharid( 5 ) != 0 ){
 						mes "[Shaam Rumi]";
 						mes "Eh, you're already in a Clan. Hey, this isn't funny.";

+ 3 - 2
npc/re/quests/eden/56-70.txt

@@ -17,6 +17,7 @@
 //= 1.5 Optimized, based on code by Zopokx. [Euphy]
 //= 1.6 Added support to Para_Team_Mark_ in Eden Group. [Ragno]
 //= 1.7 Added use of F_HasEdenGroupMark function. [Ragno]
+//= 1.8 Reverting Magic Wand Quest to request Trunks. [Carlosgrr]
 //============================================================
 
 moc_para01,42,38,3	script	Mission [56 - 70]	857,{
@@ -49,7 +50,7 @@ moc_para01,42,38,3	script	Mission [56 - 70]	857,{
 			case 1: callsub L_HuntingQuest,3260,16000,6000;
 			case 2: callsub L_HuntingQuest,3261,16000,7000;
 			case 3: callsub L_Quest,3262,17000,7000,1032,40;
-			case 4: callsub L_Quest,3263,18000,8000,1021,30,7150,30;
+			case 4: callsub L_Quest,3263,18000,8000,1021,30,1019,30;
 		}
 	}
 	end;
@@ -354,7 +355,7 @@ L_Details:
 		next;
 		mes "To make the wand, I need some special materials.";
 		next;
-		mes "Please bring me 30 Dokebi Horns and 30 Bamboo Cut. If you do so, I will lend you my magic wand once. Haha, good deal?";
+		mes "Please bring me 30 Dokebi Horns and 30 Trunks. If you do so, I will lend you my magic wand once. Haha, good deal?";
 		next;
 		mes "Please confirm it to us after you complete the mission, then we will give you proper rewards.";
 		next;

+ 0 - 2
npc/re/quests/illusion_investigation.txt

@@ -618,7 +618,6 @@ OnInit:
 	end;
 }
 
-/*
 ein_d02_i,161,180,5	script	Machoko#machoco	8_F_GIRL,{
 	if (BaseLevel < 150)
 		end;
@@ -767,7 +766,6 @@ OnInit:
 	questinfo( QTYPE_DAILYQUEST, QMARK_YELLOW, "checkquest(3457,PLAYTIME) == 2" );
 	end;
 }
-*/
 
 tur_d03_i,125,186,5	script	Orian#orian	4_M_LGTPOOR,{
 	if (BaseLevel < 150)

+ 3 - 3
npc/re/quests/quests_16_1.txt

@@ -4057,7 +4057,7 @@ prt_cas_q,20,139,3	script	Spica Nerius#ep16_room01	4_EP16_SPICA,{
 				next;
 				mes "[Spica]";
 				mes "" + strcharinfo(0) + ", why don't you go back to your room and wait for the message?";
-				close;
+				close3;
 			}
 			mes "[Spica]";
 			mes "Why don't you go visit other families if you have not visited them all?";
@@ -4105,7 +4105,7 @@ prt_cas_q,20,139,3	script	Spica Nerius#ep16_room01	4_EP16_SPICA,{
 			next;
 			mes "[Spica]";
 			mes "I wonder if the old folks would hear me out though.";
-			close;
+			close3;
 		}
 		mes "[Spica]";
 		mes "Skia told me something similar to that.";
@@ -8968,7 +8968,7 @@ prt_cas_q,93,74,4	script	Po Richard#EP161GAM	4_M_6THPRIN1,{
 			emotion ET_OTL;
 			mes "[Po Richard]";
 			mes "I guess the offer hasn't been attractive to you. I am sorry, but come back later when you change your mind.";
-			close;
+			close3;
 		}
 		emotion ET_OK;
 		mes "[Po Richard]";

+ 3 - 2
npc/re/quests/quests_16_2.txt

@@ -3650,6 +3650,7 @@ que_swat,145,57,3	script	Philopontess#ep162_04	4_M_PHILOFONTES,{
 		terra_gloria_main = 25;
 		questinfo_refresh();
 		close2;
+		cutin "",255;
 		npctalk "Oh, please come here for a moment.", "Rookie#ep162_03", bc_self;
 		end;
 	}
@@ -3669,7 +3670,7 @@ que_swat,145,57,3	script	Philopontess#ep162_04	4_M_PHILOFONTES,{
 				mes "[Tess]";
 				mes "Not now?";
 				mes "Then get some rest and come back please.";
-				close;
+				close3;
 			}
 			mes "[Tess]";
 			mes "Since we don't know where they are hiding, start looking in corners such as cabinets and boxes.";
@@ -3876,7 +3877,7 @@ rebel_in,70,78,3	script	Elena Volkova#16.2rm	4_F_ELENA,{
 		if (countitem(25161) < 1) {
 			mes "[USU commander Elena]";
 			mes "...Why are you empty-handed? Where is the cookie?";
-			close;
+			close3;
 		}
 		emotion ET_DELIGHT;
 		mes "[USU commander Elena]";

+ 3 - 1
npc/re/quests/quests_17_1.txt

@@ -3955,7 +3955,7 @@ sp_rudus,184,360,5	script	Elena Volkova#171_rudus	4_F_ELENA,{
 		setquest 7859;
 		getitem 25723,15;
 		getexp 800000,800000;
-		close;
+		close3;
 	}
 	if (isbegin_quest(7859) == 1) {
 		cutin "162elena_01",2;
@@ -4359,6 +4359,7 @@ sp_rudus,130,200,4	script	Morning#171_rudus	4_EP17_MORNING,{
 	unittalk getcharid(3),strcharinfo(0) + " : This kid seems to be Morning.",bc_self;
 	switch (prompt("Find a meal for Morning.:Chat with Morning.")) {
 	case 255:
+		cutin "",255;
 		setpcblock PCBLOCK_ALL,false;
 		end;
 	case 1:
@@ -4382,6 +4383,7 @@ sp_rudus,130,200,4	script	Morning#171_rudus	4_EP17_MORNING,{
 		sleep2 2000;
 		switch (prompt("I'll bring it.:Something urgent happened.")) {
 		case 255:
+			cutin "",255;
 			setpcblock PCBLOCK_ALL,false;
 			end;
 		case 1:

+ 1 - 1
npc/re/quests/quests_17_2.txt

@@ -3944,7 +3944,7 @@ ba_in01,51,157,3	script	Est#ep172_est01	4_F_ESTLOVELOY,{
 				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;
+					close3;
 				}
 				if (instance_create(.@md_name$) == -3)
 					dispbottom "The reservation of the instance '" + .@md_name$ + "' has failed due to an active instance.";

+ 996 - 0
npc/re/quests/quests_illusion_dungeons.txt

@@ -14,6 +14,7 @@
 //= 1.5 Added Illusion of Luanda [Capuche]
 //= 1.6 Added Illusion of Underwater [Capuche]
 //= 1.7 Added Illusion of Twins [Capuche]
+//= 1.8 Added Illusion of Teddy Bear [Atemo]
 //============================================================
 
 //============================================================
@@ -9563,6 +9564,7 @@ iz_d04_i,127,228,4	script	Jerrymon#jerry3	1_M_01,{
 			.@menu$[0] = "^999999" + getitemname(25899) + " Collection - Pending^000000";
 			break;
 		case 2:
+			.@menu$[0] = "Collect " + getitemname(25899) + "";
 			break;
 		}
 
@@ -9586,6 +9588,7 @@ iz_d04_i,127,228,4	script	Jerrymon#jerry3	1_M_01,{
 			.@menu$[1] = "^999999Deep Sea Creatures Killed - Pending^000000";
 			break;
 		case 2:
+			.@menu$[1] = "Kill Deep Sea Creatures";
 			break;
 		}
 
@@ -11809,3 +11812,996 @@ ant_d02_i,125,73,6	script(CLOAKED)	Vitata#part9	ILL_VITATA,{
 
 ant_d02_i,128,73,6	duplicate(dummy_cloaked_npc)	Quiet Maya#part10	ILL_MAYA
 ant_d02_i,129,73,2	duplicate(dummy_cloaked_npc)	Vitata#part11	ILL_VITATA
+
+
+//============================================================
+//= Illusion of Teddy Bear
+//============================================================
+
+ein_d02_i,161,189,3	script	Exit#IBTin	4_ENERGY_BLUE,{
+	warp "ein_dun01",189,80;
+	end;
+}
+
+einbroch,149,242,5	script	Coughing young man#ITB	4_M_NFMAN,3,3,{
+	if (BaseLevel < 150) {
+		mes "[Coughing young man]";
+		mes "The time has passed...";
+		mes "Why haven't you come back yet...";
+		mes "Cough Cough!!";
+		next;
+		mes "^ff0000¡Ø You can start this quest from level 150.^000000";
+		close;
+	}
+	if (ill_teddy == 0) {
+		mes "[Coughing young man]";
+		mes "The time has passed...";
+		mes "Why haven't you come back yet...";
+		mes "Cough Cough!!";
+		next;
+		mes "[Coughing young man]";
+		mes "Cough...cough...cough...";
+		mes "Ha ha ha... did something happen?";
+		mes "If I don't go and check it myself...";
+		mes "Cough cough";
+		mes "Cough...lucky...";
+		next;
+		mes "-plop-";
+		next;
+		if (select( "Help him", "Ignore" ) == 2) {
+			mes "[Coughing young man]";
+			mes "...cough...";
+			mes "Cough cough... cough";
+			close;
+		}
+		mes "[Coughing young man]";
+		mes "...cough...";
+		mes "Thank you.";
+		mes "Cough cough... cough";
+		next;
+		select( "You'd better take a break" );
+		mes "[Coughing young man]";
+		mes "Cough...";
+		mes "That's true, but... Cough... My friend who went to the mine for work hasn't come back yet... Cough.";
+		next;
+		mes "[Coughing young man]";
+		mes "A few days ago, as soon as work was over... he left... he said he would come back...";
+		mes "He hasn't come back...cough...yet.";
+		next;
+		mes "[Coughing young man]";
+		mes "Cough...cough cough...cough";
+		mes "I've talked to the guards, but...cough...cough...they didn't take it seriously...";
+		next;
+		mes "[Coughing young man]";
+		mes "^ff0000Steven^000000 is not that kind of guy...Cough cough";
+		mes "If he hasn't contacted me yet, something must have happened.";
+		next;
+		mes "[Coughing young man]";
+		mes "It seemed like he was going to ^ff0000the first floor of the mine in Einbech^000000.";
+		mes "If you look around, maybe you'll find a clue...even if it's just a small thing?";
+		ill_teddy = 1;
+		setquest 11556;
+		close;
+	}
+	if (ill_teddy == 1) {
+		mes "[Coughing young man]";
+		mes "A few days ago, as soon as work was over... he left... he said he would come back...";
+		mes "He hasn't come back...cough...yet.";
+		next;
+		mes "[Coughing young man]";
+		mes "Cough...cough cough...cough";
+		mes "I've talked to the guards, but...cough...cough...they didn't take it seriously...";
+		next;
+		mes "[Coughing young man]";
+		mes "^ff0000Steven^000000 is not that kind of guy...Cough cough";
+		mes "If he hasn't contacted me yet, something must have happened.";
+		next;
+		mes "[Coughing young man]";
+		mes "It seemed like he was going to ^ff0000the first floor of the mine in Einbech^000000.";
+		mes "If you look around, maybe you'll find a clue...even if it's just a small thing?";
+		close;
+	}
+	if (ill_teddy < 5) {
+		mes "[Coughing young man]";
+		mes "Ah! Cough Cough!";
+		mes "You're back!";
+		mes "Steven is...cough";
+		mes "Did you find him?";
+		close;
+	}
+	if (ill_teddy == 5) {
+		mes "[Acid]";
+		mes "Ah! Cough Cough!";
+		mes "You're back!";
+		mes "Steven is...cough";
+		mes "Did you find him?";
+		next;
+		select( "Pass the money" );
+		mes "[Acid]";
+		mes "....";
+		mes "As expected...cough cough...what happened?";
+		next;
+		mes "[Acid]";
+		mes "There's no way they just sent money like this when nothing happened.";
+		next;
+		mes "[Acid]";
+		mes "I ..cough..must go myself...cough..cough..";
+		mes "Maybe it doesn't help much, but...cough";
+		mes "My dearest friend...cough..may be in danger, but I can't stay still!...cluck";
+		next;
+		mes "[Acid]";
+		mes "Cough cough..Adventurer..Cough..Take me with you!";
+		mes "Please!";
+		ill_teddy = 6;
+		erasequest 11560;
+		setquest 11561;
+		close;
+	}
+	if (ill_teddy == 6) {
+		mes "[Acid]";
+		mes "I ..cough..must go myself...cough..cough..";
+		mes "Maybe it doesn't help much, but...cough";
+		mes "My dearest friend...cough..may be in danger, but I can't stay still!...cluck";
+		next;
+		mes "[Acid]";
+		mes "Cough cough..Adventurer..Cough..Take me with you!";
+		mes "Please!";
+		close;
+	}
+	mes "[Acid]";
+	mes "I've been in the mines for most of these days, so my cough seems to be getting better.";
+	mes "My body has become healthy!";
+	mes "The air here is worse than the mine... Cough";
+	close;
+
+OnTouch:
+	if (BaseLevel >= 150 && ill_teddy == 0)
+		npctalk "Coughing young man: Cough Cough!!", "", bc_self;
+	end;
+
+OnInit:
+	questinfo( QTYPE_QUEST, QMARK_YELLOW, "BaseLevel >= 150 && ill_teddy == 0" );
+	questinfo( QTYPE_QUEST, QMARK_YELLOW, "isbegin_quest(11560) == 1" );
+	end;
+}
+
+ein_dun01,198,79,3	script	Teddy Bear#ITB10	4_NASARIAN,{
+	if (ill_teddy == 1) {
+		mes "[Teddy Bear in line]";
+		mes "Stand in line!";
+		next;
+		select( "Why are you standing here?" );
+		mes "[Teddy Bear in line]";
+		mes "What?";
+		mes "Do you think I'd give such advanced information to a stranger I am seeing for the first time?";
+		next;
+		mes "[Teddy Bear in line]";
+		mes "If you're that curious, stand behind me and wait for your turn!";
+		next;
+		mes "[Teddy Bear in line]";
+		mes "Information isn't something you get for free.";
+		mes "All the time and effort...";
+		next;
+		mes "[???????????]";
+		mes "AAAAAAAAAA!!!!";
+		mes "Let go!!!!";
+		mes "You furry bastards!!!!";
+		next;
+		mes "- A man's scream is heard from the front of the line. Let's check the situation at the front. -";
+		ill_teddy = 2;
+		erasequest 11556;
+		setquest 11557;
+		close;
+	}
+	if (ill_teddy == 2) {
+		mes "[Teddy Bear in line]";
+		mes "Have you heard something strange?";
+		next;
+		mes "- A man's scream is heard from the front of the line. Let's check the situation at the front. -";
+		close;
+	}
+	mes "[Teddy Bear in line]";
+	mes "Stand in line!";
+	close;
+
+OnInit:
+	questinfo( QTYPE_QUEST, QMARK_YELLOW, "isbegin_quest(11556) == 1" );
+	end;
+}
+
+ein_dun01,189,84,7	script	Bear#3	4_NASARIAN,{
+	mes "[Teddy Bear in line]";
+	mes "Hey there!!! Don't cut in line!!!";
+	close;
+}
+
+ein_dun01,189,82,7	duplicate(dummy_npc)	Bear#4	4_NASARIAN
+ein_dun01,190,80,7	duplicate(dummy_npc)	Bear#5	4_NASARIAN
+ein_dun01,191,80,5	duplicate(dummy_npc)	Bear#6	4_NASARIAN
+
+ein_dun01,195,80,5	script	Resident#8	4_M_EINMAN2,{
+	mes "[Resident]";
+	mes "One day, everyone started queuing up here, so I stood here too.";
+	mes "What's in front?";
+	mes "Well? I'm just here because I'm curious...";
+	close;
+}
+
+ein_dun01,196,80,1	script	Bear#9	4_NASARIAN,{
+	mes "[Teddy Bear in line]";
+	mes "Everyone stands in line for days waiting for their turn.";
+	close;
+}
+
+ein_dun01,189,85,7	script	Teddy Bear#IBT1	4_NASARIAN,{
+	if (ill_teddy < 2) {
+		mes "[Teddy Bear in line]";
+		mes "Whoops, it's my turn to go in soon.";
+		close;
+	}
+	if (ill_teddy == 2) {
+		mes "[Teddy Bear in line]";
+		mes "Whh..what happened?";
+		mes "I heard a scream when the man in front of me just entered.";
+		next;
+		select( "About the man." );
+		mes "[Teddy Bear in line]";
+		mes "What?";
+		mes "I didn't even have time to look at that!";
+		next;
+		mes "[Teddy Bear in line]";
+		mes "Flaw... Hehe... .";
+		mes "I've been waiting in line for days, but suddenly I'm not interested anymore...";
+		next;
+		mes "[Teddy Bear in line]";
+		mes "If you're really curious, I'll give you my position. Why don't you go in and check it out?";
+		next;
+		mes "[Teddy Bear in line]";
+		mes "I...it's not because I'm scared!";
+		mes "I just... I guess what is inside is boring for me now.";
+		mes "Because I've lost interest?!";
+		ill_teddy = 3;
+		erasequest 11557;
+		setquest 11558;
+		close;
+	}
+	if (ill_teddy == 3) {
+		mes "[Teddy Bear in line]";
+		mes "Flaw... Hehe... .";
+		mes "I've been waiting in line for days, but suddenly I'm not interested anymore...";
+		next;
+		mes "[Teddy Bear in line]";
+		mes "If you're really curious, I'll give you my position. Why don't you go in and check it out?";
+		next;
+		mes "[Teddy Bear in line]";
+		mes "I...it's not because I'm scared!";
+		mes "I just... I guess what is inside is boring for me now.";
+		mes "Because I've lost interest?!";
+		close;
+	}
+	mes "[Teddy Bear in line]";
+	mes "What?";
+	mes "The guy in front has already ran away!";
+	mes "Don't get confused!";
+	close;
+
+OnInit:
+	questinfo( QTYPE_QUEST, QMARK_YELLOW, "isbegin_quest(11557) == 1" );
+	end;
+}
+
+ein_dun01,189,87,3	script	An entrance somewhere#IBTin	4_ENERGY_BLUE,{
+	if (ill_teddy < 3) {
+		mes "- Can't get in yet -";
+		close;
+	}
+	warp "ein_d02_i",168,197;
+	end;
+}
+
+
+ein_d02_i,170,193,5	script	Steven#IBT	4W_M_02,3,3,{
+	if (checkweight(1201,3) == 0) {
+		mes "- Wait a moment!!";
+		mes "- You have too many items. -";
+		mes "- You can't receive this. -";
+		mes "- Lighten your weight and -";
+		mes "- try again. -";
+		close;
+	}
+	if (ill_teddy < 3)
+		end;
+	if (ill_teddy == 3) {
+		mes "[Steven]";
+		mes "Can't you let me go?!";
+		mes "Let me go!";
+		mes "This sucks!!!!";
+		npctalk "Steven: Can't you let me go?!", "", bc_self;
+		cloakoffnpcself( "White Teddy Bear#IBT" );
+		cloakoffnpcself( "Teddy Bear#IBT" );
+		next;
+		mes "[Teddy Bear]";
+		mes "Oops!";
+		mes "Caught, I got caught!";
+		mes "Let's run!!!!";
+		npctalk "White Teddy Bear: Caught, I got caught!", "White Teddy Bear#IBT", bc_self;
+		npctalk "Teddy Bear: Let's Run!!!!", "Teddy Bear#IBT", bc_self;
+		ill_teddy = 4;
+		erasequest 11558;
+		setquest 11559;
+		close2;
+		cloakonnpcself( "White Teddy Bear#IBT" );
+		cloakonnpcself( "Teddy Bear#IBT" );
+		end;
+	}
+	if (ill_teddy == 4) {
+		mes "[Steven]";
+		mes "What...";
+		mes "That's...";
+		next;
+		mes "[Steven]";
+		mes "Hey!";
+		mes "You there!";
+		mes "Did you see that too?";
+		mes "The Teddy Bear just...";
+		next;
+		select( "Tell him about the coughing young man." );
+		mes "[Steven]";
+		mes "Huh? The coughing young man in Einbroch asked you to find me?";
+		mes "Is it Acid...";
+		next;
+		mes "[Steven]";
+		mes "I told him I'd come back right away, but what the hell was the rumor about? There were a lot of people and monsters waiting in line.";
+		next;
+		mes "[Steven]";
+		mes "So how was Acid?";
+		mes "He couldn't sleep well because his cough got so bad.";
+		next;
+		mes "[Steven]";
+		mes "I have to go back and send him to the hospital, but...";
+		mes "If I'm not mistaken, that's...";
+		next;
+		mes "[Steven]";
+		mes "Ugh...things got messy...";
+		next;
+		mes "[Steven]";
+		mes "Hey.";
+		mes "Do me a favor.";
+		mes "He has to go to the hospital today and won't have enough money.";
+		next;
+		mes "[Steven]";
+		mes "I think I need to do some work here.";
+		mes "You go back and tell him that I'm all right.";
+		mes "Give him this money too.";
+		next;
+		mes "[Steven]";
+		mes "Please.";
+		mes "When I go back... I don't have anything, but I'll give you something in return.";
+		npctalk "Steven: Please.", "", bc_self;
+		ill_teddy = 5;
+		erasequest 11559;
+		setquest 11560;
+		close;
+	}
+	if (ill_teddy == 5) {
+		mes "[Steven]";
+		mes "Hey.";
+		mes "Do me a favor.";
+		mes "He has to go to the hospital today and won't have enough money.";
+		next;
+		mes "[Steven]";
+		mes "I think I need to do some work here.";
+		mes "You go back and tell him that I'm all right.";
+		mes "Give him this money too.";
+		next;
+		mes "[Steven]";
+		mes "Please.";
+		mes "When I go back... I don't have anything, but I'll give you something in return.";
+		npctalk "Steven: Please.", "", bc_self;
+		close;
+	}
+	if (ill_teddy == 6) {
+		mes "[Steven]";
+		mes "Oh you are here?";
+		mes "Did he go to the hospital?";
+		next;
+		mes "[Acid]";
+		mes "Steven!";
+		mes "Why make people so worried...";
+		cloakoffnpcself( "Acid#IBT_inN01" );
+		next;
+		mes "[Steven]";
+		mes "No... why are you here?";
+		mes "Go to the hospital!";
+		next;
+		mes "[Acid]";
+		mes "Do I have a hospital or a shop now?!";
+		next;
+		mes "[Steven]";
+		mes "Ugh...";
+		mes "Okay...okay!";
+		mes "Be quiet for now!";
+		mes "Can you hear something strange coming from the north?";
+		npctalk "Steven: Ugh... nagging...", "", bc_self;
+		ill_teddy = 7;
+		erasequest 11561;
+		setquest 11562;
+		close2;
+		cloakonnpcself( "Acid#IBT_inN01" );
+		end;
+	}
+	if (ill_teddy == 7) {
+		mes "[Steven]";
+		mes "Ugh...";
+		mes "Okay!";
+		mes "Be quiet for now!";
+		mes "Can you hear something strange coming from the north?";
+		npctalk "Steven: Ugh... nagging...", "", bc_self;
+		close;
+	}
+	if (ill_teddy == 8) {
+		if (checkquest(11563,HUNTING) != 2 || checkquest(11564,HUNTING) != 2) {
+			mes "[Steven]";
+			mes "Too many of them.";
+			mes "This is too dangerous.";
+			mes "Let's clear things up and talk again.";
+			close;
+		}
+		mes "[Steven]";
+		mes "Whoa...";
+		mes "Did you send them out?";
+		next;
+		mes "[Acid]";
+		mes "Aren't those just Teddy Bears?";
+		mes "Invading... they called themselves Nazarians, right?";
+		cloakoffnpcself( "Acid#IBT_inN01" );
+		next;
+		mes "[Steven]";
+		mes "What the hell is going on...";
+		mes "I'm out of my mind...";
+		next;
+		select( "About Teddy Bear" );
+		mes "[Acid]";
+		mes "Steven brought it because he said he was looking for something salty to eat at home.";
+		next;
+		mes "[Acid]";
+		mes "The pay is so good compared to the job, and the delivery place is also a mine, so it was a bit suspicious...";
+		next;
+		mes "[Acid]";
+		mes "I've been told that idiot is excited.";
+		next;
+		mes "[Steven]";
+		mes "What an idiot!";
+		mes "Thanks to you, I get hospital bills and your cough...";
+		mes "Oh... Come to think of it, you don't cough anymore, do you?";
+		npctalk "Steven: What an idiot!", "", bc_self;
+		next;
+		mes "[Acid]";
+		mes "Uh... is that so?";
+		mes "Come to think of it, I feel like I can breathe easier!";
+		next;
+		mes "[Steven]";
+		mes "No matter how many times I went to the hospital, there was no improvement...";
+		mes "Maybe it was just the bad air!";
+		npctalk "Steven: Air worse than in the mine...", "", bc_self;
+		next;
+		mes "[Acid]";
+		mes "No, that's not important right now...";
+		mes "The doll we made is alive and moving!";
+		mes "They even tried to kidnap you!";
+		next;
+		mes "[Steven]";
+		mes "Kidnapped... Come to think of it, I helped a man who was being chased by a terrific Teddy Bear on the way back.";
+		next;
+		mes "[Steven]";
+		mes "...I'm not the only one brought here, am I?";
+		mes "I guess I'll have to stay here and watch the situation.";
+		mes "Acid! You can go back to the village for now.";
+		next;
+		mes "[Steven]";
+		mes "Thank you for helping me too.";
+		mes "I can't give you much, but I'll give you the rare ore I found earlier.";
+		mes "It might come in handy somewhere!";
+		ill_teddy = 9;
+		erasequest 11563;
+		erasequest 11564;
+		getitem 25271,5; // IllusionStone
+		getexp 3500000,2500000;
+		close2;
+		cloakonnpcself( "Acid#IBT_inN01" );
+		end;
+	}
+
+	// daily
+	switch( checkquest(11566,PLAYTIME) ) {
+	case -1:
+		break;
+	case 0:
+	case 1:
+		mes "[Steven]";
+		mes "Get some rest";
+		mes "If you overdo it, you'll only ruin your health.";
+		close;
+	case 2:
+		erasequest 11566;
+		break;
+	}
+	switch( checkquest(11565,HUNTING) ) {
+	case -1:
+		mes "[Steven]";
+		mes "Ugh...";
+		mes "Where do these guys keep popping up?";
+		next;
+		mes "[Steven]";
+		mes "If you're familiar with combat, puppeteers who aren't familiar with combat won't find it easy to get out of here.";
+		next;
+		mes "[Steven]";
+		mes "For now, I'm also taking care of it, but I'm not good enough alone.";
+		mes "If you're not busy right now, help me defeat " + getmonsterinfo("ILL_PITMAN", MOB_NAME) + ", " + getmonsterinfo("ILL_MINERAL", MOB_NAME) + ", and " + getmonsterinfo("ILL_OBSIDIAN", MOB_NAME) + ".";
+		mes "I think I'll be able to breathe a little more if I catch 10 of them.";
+		next;
+		if (select( "Accept", "Quit" ) == 2) {
+			mes "[Steven]";
+			mes "Okay...";
+			close;
+		}
+		mes "[Steven]";
+		mes "Then please help me defeat";
+		mes "10 " + getmonsterinfo("ILL_PITMAN", MOB_NAME) + ", " + getmonsterinfo("ILL_MINERAL", MOB_NAME) + ", and " + getmonsterinfo("ILL_OBSIDIAN", MOB_NAME) + "!";
+		setquest 11565;
+		close;
+	case 0:
+	case 1:
+		mes "[Steven]";
+		mes "How are you?";
+		mes "How are things going with " + getmonsterinfo("ILL_PITMAN", MOB_NAME) + ", " + getmonsterinfo("ILL_MINERAL", MOB_NAME) + ", and " + getmonsterinfo("ILL_OBSIDIAN", MOB_NAME) + "?";
+		close;
+	case 2:
+		mes "[Steven]";
+		mes "Whoa...";
+		mes "Good job!";
+		mes "Are you feeling a little safer now?";
+		erasequest 11565;
+		setquest 11566;
+		getitem 25271,1; // IllusionStone
+		getexp 1000000,900000;
+		close;
+	}
+	end;
+
+OnTouch:
+	if (ill_teddy == 3) {
+		mes "[Steven]";
+		mes "Can't you let me go?!";
+		mes "Let me go!";
+		mes "This sucks!!!!";
+		npctalk "Steven: Can't you let me go?!", "", bc_self;
+		cloakoffnpcself( "White Teddy Bear#IBT" );
+		cloakoffnpcself( "Teddy Bear#IBT" );
+		next;
+		mes "[Teddy Bear]";
+		mes "Oops!";
+		mes "Caught, I got caught!";
+		mes "Let's run!!!!";
+		npctalk "White Teddy Bear: Caught, I got caught!", "White Teddy Bear#IBT", bc_self;
+		npctalk "Teddy Bear: Let's Run!!!!", "Teddy Bear#IBT", bc_self;
+		ill_teddy = 4;
+		erasequest 11558;
+		setquest 11559;
+		close2;
+		cloakonnpcself( "White Teddy Bear#IBT" );
+		cloakonnpcself( "Teddy Bear#IBT" );
+		end;
+	}
+	end;
+
+OnInit:
+	// main quest
+	questinfo( QTYPE_QUEST, QMARK_YELLOW, "isbegin_quest(11558) == 1" );
+	questinfo( QTYPE_QUEST, QMARK_YELLOW, "isbegin_quest(11559) == 1" );
+	questinfo( QTYPE_QUEST, QMARK_YELLOW, "isbegin_quest(11561) == 1" );
+	questinfo( QTYPE_QUEST, QMARK_YELLOW, "checkquest(11563,HUNTING) == 2 && checkquest(11564,HUNTING) == 2" );
+
+	// daily
+	questinfo( QTYPE_QUEST, QMARK_YELLOW, "ill_teddy == 9 && checkquest(11565,HUNTING) == -1 && checkquest(11566,PLAYTIME) == -1" );
+	questinfo( QTYPE_QUEST, QMARK_YELLOW, "checkquest(11565,HUNTING) == 2" );
+	questinfo( QTYPE_QUEST, QMARK_YELLOW, "checkquest(11566,PLAYTIME) == 2" );
+	end;
+}
+
+ein_d02_i,135,229,1	duplicate(dummy_cloaked_npc)	Acid#IBT_inN	4_M_NFMAN
+ein_d02_i,169,193,5	duplicate(dummy_cloaked_npc)	White Teddy Bear#IBT	4_TEDDY_BEAR_W
+ein_d02_i,171,193,3	duplicate(dummy_cloaked_npc)	Teddy Bear#IBT	4_NASARIAN
+ein_d02_i,172,192,1	duplicate(dummy_cloaked_npc)	Acid#IBT_inN01	4_M_NFMAN
+
+ein_d02_i,132,233,0	script	#ITBSuspicious place	HIDDEN_WARP_NPC,3,3,{
+	end;
+OnTouch:
+	if (ill_teddy == 7) {
+		mes "[??????]";
+		mes "Um hahahahahahahahaha!!!!";
+		mes "Listen, people!";
+		mes "Finally the day has come when we will rise again!";
+		cloakoffnpcself( "??????#IBT_inB01" );
+		cloakoffnpcself( "??????#IBT_inB02_1" );
+		cloakoffnpcself( "??????#IBT_inB03" );
+		cloakoffnpcself( "??????#IBT_inB04" );
+		cloakoffnpcself( "??????#IBT_inB05" );
+		cloakoffnpcself( "??????#IBT_inB06" );
+		cloakoffnpcself( "??????#IBT_inB07" );
+		cloakoffnpcself( "??????#IBT_inB08" );
+		cloakoffnpcself( "??????#IBT_inB09" );
+		cloakoffnpcself( "??????#IBT_inB10" );
+		cloakoffnpcself( "??????#IBT_inB11" );
+		cloakoffnpcself( "??????#IBT_inB12" );
+		cloakoffnpcself( "??????#IBT_inB13" );
+		cloakoffnpcself( "??????#IBT_inB15" );
+		cloakoffnpcself( "??????#IBT_inB16" );
+		cloakoffnpcself( "??????#IBT_inB17" );
+		cloakoffnpcself( "??????#IBT_inB18" );
+		cloakoffnpcself( "??????#IBT_inB19" );
+		cloakoffnpcself( "??????#IBT_inB20" );
+		cloakoffnpcself( "??????#IBT_inB21" );
+		cloakoffnpcself( "??????#IBT_inB22" );
+		npctalk "?????? : Mmmhahahahahahahahahaha!!!!", "??????#IBT_inB01", bc_self;
+		next;
+		mes "[??????]";
+		mes "Forget the shameful past of being trapped in the dark and damp ground.";
+		npctalk "?????? : Forget the shameful past of being trapped in the dark and damp ground.", "????????#IBT_inB01", bc_self;
+		next;
+		mes "[??????]";
+		mes "This land!!!";
+		npctalk "?????? : This land!!!", "????????#IBT_inB01", bc_self;
+		sleep2 500;
+		mes "This world!!!!";
+		npctalk "?????? : This world!!!!", "??????#IBT_inB01", bc_self;
+		sleep2 500;
+		mes "Until the day they are at our feet, us Nazarians!!!!";
+		npctalk "?????? : Until the day they are at our feet, us Nazarians!!!!", "??????#IBT_inB01", bc_self;
+		sleep2 500;
+		mes "Will not stop the invasion!";
+		npctalk "?????? : Will not stop the invasion!", "??????#IBT_inB01", bc_self;
+		next;
+		mes "[Nazarians]";
+		mes "Okay! A new body has arrived!";
+		mes "We will plant our holy core into the body that is only an empty shell!";
+		next;
+		mes "[??????]";
+		mes "Drivius! Come on get it!!!";
+		next;
+		mes "[Drivius]";
+		mes "Yes!!! His Majesty is here!!!";
+		next;
+		mes "[Emperor of Nazarians]";
+		mes "Ha ha... look!";
+		mes "This bright and beautiful figure...";
+		next;
+		mes "[Emperor of Nazarians]";
+		mes "People!!!";
+		mes "Welcome!";
+		mes "Brave newly born soldiers!!!!";
+		cloakonnpcself( "??????#IBT_inB02_1" );
+		cloakoffnpcself( "??????#IBT_inB02_2" );
+		npctalk "?????? : ...oh...ahah...", "??????#IBT_inB01", bc_self;
+		next;
+		mes "[Nazarians]";
+		mes "Waaaaaaaa!!!!";
+		mes "Long live the Emperor!!!!";
+		next;
+		mes "[Nazarians]";
+		mes "Hooray!!! Hooray!!!";
+		next;
+		mes "[Nazarians]";
+		mes "Look at those dashing soldiers over there!!!";
+		mes "Awesome!!!!";
+		next;
+		mes "[Emperor of Nazarians]";
+		mes "The world will bow before the mighty power of the Nazarians!!!!!";
+		next;
+		mes "[Nazarians]";
+		mes "Waaaaaaaa!!!!";
+		mes "Long live the Emperor!!!!";
+		mes "Hooray!!! Hooray!!!";
+		cloakoffnpcself( "Steven#IBT_inN" );
+		cloakoffnpcself( "Acid#IBT_inN" );
+		next;
+		mes "[Steven]";
+		mes "Wait what's that?";
+		mes "Isn't that the doll we made?";
+		next;
+		mes "[Acid]";
+		mes "I guess so?";
+		next;
+		mes "[Steven]";
+		mes "It does not only look like that, it is the one we made!";
+		next;
+		mes "[Steven]";
+		mes "It's the one who made a mess because you sewed wrong?? Yes!";
+		next;
+		mes "[Acid]";
+		mes "What a mess...";
+		mes "That one has its own cuteness point?";
+		next;
+		mes "[Steven]";
+		mes "...cute horns...";
+		next;
+		mes "[Emperor of Nazarians]";
+		mes "Hmm...";
+		mes "Oops...";
+		next;
+		mes "[Emperor of Nazarians]";
+		mes "It looks like a rat has lurked into the sacred assembly.";
+		next;
+		mes "[Emperor of Nazarians]";
+		mes "Warriors of Nazarians!!!!";
+		mes "Punish the intruder!!!";
+		next;
+		mes "[Nazarians]";
+		mes "From our name!";
+		mes "We'll do it!";
+		next;
+		mes "[Nazarians]";
+		mes "Waaaaaaa!!!";
+		mes "Punish them!";
+		mes "It's an intruder!!!";
+		next;
+		mes "[Steven]";
+		mes "Oops!";
+		mes "Looks like we got caught?!";
+		next;
+		mes "[Steven]";
+		mes "Hey!";
+		mes "There are many enemies, so let's scatter and run away!";
+		next;
+		mes "[Steven]";
+		mes "Take care of those chasing us appropriately.";
+		mes "Then see you near the exit in a minute!";
+		ill_teddy = 8;
+		erasequest 11562;
+		setquest 11563;
+		setquest 11564;
+		close2;
+		cloakonnpcself( "Steven#IBT_inN" );
+		cloakonnpcself( "Acid#IBT_inN" );
+		cloakonnpcself( "??????#IBT_inB01" );
+		cloakonnpcself( "??????#IBT_inB02_2" );
+		cloakonnpcself( "??????#IBT_inB03" );
+		cloakonnpcself( "??????#IBT_inB04" );
+		cloakonnpcself( "??????#IBT_inB05" );
+		cloakonnpcself( "??????#IBT_inB06" );
+		cloakonnpcself( "??????#IBT_inB07" );
+		cloakonnpcself( "??????#IBT_inB08" );
+		cloakonnpcself( "??????#IBT_inB09" );
+		cloakonnpcself( "??????#IBT_inB10" );
+		cloakonnpcself( "??????#IBT_inB11" );
+		cloakonnpcself( "??????#IBT_inB12" );
+		cloakonnpcself( "??????#IBT_inB13" );
+		cloakonnpcself( "??????#IBT_inB15" );
+		cloakonnpcself( "??????#IBT_inB16" );
+		cloakonnpcself( "??????#IBT_inB17" );
+		cloakonnpcself( "??????#IBT_inB18" );
+		cloakonnpcself( "??????#IBT_inB19" );
+		cloakonnpcself( "??????#IBT_inB20" );
+		cloakonnpcself( "??????#IBT_inB21" );
+		cloakonnpcself( "??????#IBT_inB22" );
+		end;
+	}
+	end;
+
+OnInit:
+	questinfo( QTYPE_QUEST, QMARK_YELLOW, "isbegin_quest(11562) == 1" );
+	end;
+}
+
+ein_d02_i,142,244,3	duplicate(dummy_cloaked_npc)	??????#IBT_inB01	4_NASARIAN_EM
+ein_d02_i,141,244,5	duplicate(dummy_cloaked_npc)	??????#IBT_inB02_1	4_TEDDY_BEAR_B_L
+ein_d02_i,141,244,5	duplicate(dummy_cloaked_npc)	??????#IBT_inB02_2	4_TEDDY_BEAR_B
+ein_d02_i,140,244,7	duplicate(dummy_cloaked_npc)	??????#IBT_inB03	4_TEDDY_BEAR_W
+ein_d02_i,141,240,5	duplicate(dummy_cloaked_npc)	??????#IBT_inB04	4_NASARIAN
+ein_d02_i,139,240,5	duplicate(dummy_cloaked_npc)	??????#IBT_inB05	4_TEDDY_BEAR_W
+ein_d02_i,140,238,5	duplicate(dummy_cloaked_npc)	??????#IBT_inB06	4_NASARIAN
+ein_d02_i,136,240,5	duplicate(dummy_cloaked_npc)	??????#IBT_inB07	4_TEDDY_BEAR_W
+ein_d02_i,133,240,7	duplicate(dummy_cloaked_npc)	??????#IBT_inB08	4_TEDDY_BEAR_B
+ein_d02_i,142,237,7	duplicate(dummy_cloaked_npc)	??????#IBT_inB09	4_NASARIAN
+ein_d02_i,140,236,7	duplicate(dummy_cloaked_npc)	??????#IBT_inB10	4_TEDDY_BEAR_W
+ein_d02_i,142,243,1	duplicate(dummy_cloaked_npc)	??????#IBT_inB11	4_NASARIAN
+ein_d02_i,144,242,3	duplicate(dummy_cloaked_npc)	??????#IBT_inB12	4_NASARIAN
+ein_d02_i,144,240,1	duplicate(dummy_cloaked_npc)	??????#IBT_inB13	4_NASARIAN
+ein_d02_i,141,246,5	duplicate(dummy_cloaked_npc)	??????#IBT_inB14	4_TEDDY_BEAR_W
+ein_d02_i,141,237,7	duplicate(dummy_cloaked_npc)	??????#IBT_inB15	4_NASARIAN
+ein_d02_i,141,242,7	duplicate(dummy_cloaked_npc)	??????#IBT_inB16	4_TEDDY_BEAR_B
+ein_d02_i,137,240,7	duplicate(dummy_cloaked_npc)	??????#IBT_inB17	4_NASARIAN
+ein_d02_i,136,238,7	duplicate(dummy_cloaked_npc)	??????#IBT_inB18	4_NASARIAN
+ein_d02_i,138,238,7	duplicate(dummy_cloaked_npc)	??????#IBT_inB19	4_NASARIAN
+ein_d02_i,141,241,7	duplicate(dummy_cloaked_npc)	??????#IBT_inB20	4_TEDDY_BEAR_B
+ein_d02_i,145,241,1	duplicate(dummy_cloaked_npc)	??????#IBT_inB21	4_NASARIAN
+ein_d02_i,140,243,5	duplicate(dummy_cloaked_npc)	??????#IBT_inB22	4_NASARIAN
+ein_d02_i,133,233,7	duplicate(dummy_cloaked_npc)	Steven#IBT_inN	4W_M_02
+
+ein_d02_i,168,206,5	script	Gloomy Teddy Bear#ITB	4_TEDDY_BEAR_B_L,{
+	if (checkweight(1201,3) == 0) {
+		mes "- Wait a moment!!";
+		mes "- You have too many items. -";
+		mes "- You can't receive this. -";
+		mes "- Lighten your weight and -";
+		mes "- try again. -";
+		close;
+	}
+	if (ill_teddy < 9) {
+		mes "[Gloomy Teddy Bear]";
+		mes "Ah...";
+		mes "Is this a dream or reality...";
+		mes "Am I dead... or am I alive...";
+		next;
+		mes "[Gloomy Teddy Bear]";
+		mes "We're... not supposed to come back...";
+		mes "I have to go back...";
+		close;
+	}
+	switch( checkquest(11569,PLAYTIME) ) {
+	case -1:
+		break;
+	case 0:
+	case 1:
+		mes "[Gloomy Teddy Bear]";
+		mes "Whoops...don't rush me like that...";
+		close;
+	case 2:
+		erasequest 11569;
+		break;
+	}
+	switch( checkquest(11567,HUNTING) ) {
+	case -1:
+		mes "[Gloomy Teddy Bear]";
+		mes "Ah...";
+		mes "Is this a dream or reality...";
+		mes "Am I dead... or am I alive...";
+		next;
+		mes "[Gloomy Teddy Bear]";
+		mes "We're... not supposed to come back...";
+		mes "I have to go back...";
+		next;
+		mes "[Gloomy Teddy Bear]";
+		mes "Hey... don't just stand there, help me...";
+		mes "Me... the Nazarians...";
+		next;
+		mes "[Gloomy Teddy Bear]";
+		mes "^ff0000Kill 10 " + getmonsterinfo("ILL_TEDDY_BEAR_R", MOB_NAME) + ", " + getmonsterinfo("ILL_TEDDY_BEAR_Y", MOB_NAME) + ", " + getmonsterinfo("ILL_TEDDY_BEAR_G", MOB_NAME) + ", " + getmonsterinfo("ILL_TEDDY_BEAR_B", MOB_NAME) + ", and " + getmonsterinfo("ILL_TEDDY_BEAR_W", MOB_NAME) + "^000000 and return them to the depths... to rest...";
+		next;
+		if (select( "Accept", "Quit" ) == 2) {
+			mes "[Gloomy Teddy Bear]";
+			mes "...Ah...";
+			close;
+		}
+		mes "[Gloomy Teddy Bear]";
+		mes "I want to end this... infernal nightmare...";
+		mes "Come on...";
+		setquest 11567;
+		setquest 11568;
+		close;
+	case 0:
+	case 1:
+		mes "[Gloomy Teddy Bear]";
+		mes "Ah... When will the peaceful rest...";
+		mes "...is the request yet...";
+		close;
+	case 2:
+		switch( checkquest(11568,HUNTING) ) {
+		case -1:
+			end;
+		case 0:
+		case 1:
+			mes "[Gloomy Teddy Bear]";
+			mes "Ah... When will the peaceful rest...";
+			mes "...is the request yet...";
+			close;
+		case 2:
+			mes "[Gloomy Teddy Bear]";
+			mes "Why is it still... not going away...";
+			mes "This horrible nightmare...";
+			erasequest 11567;
+			erasequest 11568;
+			setquest 11569;
+			getitem 25271,1; // IllusionStone
+			getexp 1300000,1000000;
+			close;
+		}
+		end;
+	}
+	end;
+
+OnInit:
+	questinfo( QTYPE_QUEST, QMARK_YELLOW, "ill_teddy == 9 && checkquest(11569,PLAYTIME) == -1 && checkquest(11567,HUNTING) == -1 && checkquest(11568,HUNTING) == -1" );
+	questinfo( QTYPE_QUEST, QMARK_YELLOW, "checkquest(11569,PLAYTIME) == 2" );
+	questinfo( QTYPE_QUEST, QMARK_YELLOW, "checkquest(11567,HUNTING) == 2 && checkquest(11568,HUNTING) == 2" );
+	end;
+}
+
+
+ein_d02_i,191,192,3	script	Porcelain Doll Craftsman#ITB	4_F_HUWOMAN,{
+	if (checkweight(1201,3) == 0) {
+		mes "- Wait a moment!!";
+		mes "- You have too many items. -";
+		mes "- You can't receive this. -";
+		mes "- Lighten your weight and -";
+		mes "- try again. -";
+		close;
+	}
+	if (ill_teddy < 9) {
+		mes "[Porcelain Doll Craftsman]";
+		mes "Kyaaaaaa!!!!!";
+		mes "You were surprised!";
+		close;
+	}
+	switch( checkquest(11571,PLAYTIME) ) {
+	case -1:
+		break;
+	case 0:
+	case 1:
+		mes "[Porcelain Doll Craftsman]";
+		mes "Adventurer, welcome back.";
+		mes "Thanks to you, I have been able to continue my studies in the deep parts of the mine.";
+		mes "Please come back again at dawn.";
+		close;
+	case 2:
+		erasequest 11571;
+		break;
+	}
+	switch( checkquest(11570,HUNTING) ) {
+	case -1:
+		mes "[Porcelain Doll Craftsman]";
+		mes "Kyaaaaaa!!!!!";
+		mes "You were surprised!";
+		next;
+		mes "[Porcelain Doll Craftsman]";
+		mes "Have you ever seen a huge ^ff0000" + getmonsterinfo("ILL_TEDDY_BEAR_S", MOB_NAME) + "^000000 nearby?";
+		mes "I barely made it to the entrance, but when I try to leave, he shows up and has been hiding here for days.";
+		next;
+		if (select( "Help", "Quit" ) == 2) {
+			mes "[Porcelain Doll Craftsman]";
+			mes "Sob!";
+			mes "It's over!!!";
+			mes "I'm stuck here forever!";
+			close;
+		}
+		mes "[Porcelain Doll Craftsman]";
+		mes "Alive!!!";
+		mes "Did you see that?";
+		mes "It's a huge ^ff0000" + getmonsterinfo("ILL_TEDDY_BEAR_S", MOB_NAME) + "^000000.";
+		mes "You must kill it!";
+		setquest 11570;
+		close;
+	case 0:
+	case 1:
+		mes "[Porcelain Doll Craftsman]";
+		mes "How are you?";
+		mes "Have you killed ^ff0000" + getmonsterinfo("ILL_TEDDY_BEAR_S", MOB_NAME) + "^000000?";
+		close;
+	case 2:
+		// unknown text
+		erasequest 11570;
+		setquest 11571;
+		getitem 25271,1; // IllusionStone
+		getexp 1500000,1100000;
+		end;
+	}
+	end;
+
+OnInit:
+	questinfo( QTYPE_QUEST, QMARK_YELLOW, "ill_teddy == 9 && checkquest(11571,PLAYTIME) == -1 && checkquest(11570,HUNTING) == -1" );
+	questinfo( QTYPE_QUEST, QMARK_YELLOW, "checkquest(11571,PLAYTIME) == 2" );
+	questinfo( QTYPE_QUEST, QMARK_YELLOW, "checkquest(11570,HUNTING) == 2" );
+	end;
+}
+
+ein_d02_i,169,244,1	script	White Bear#ITBz01	4_TEDDY_BEAR_W,3,3,{
+	end;
+OnTouch:
+	npctalk "White Teddy Bear: Ah... dear Charlotte... to be in a place like this...", "", bc_self;
+	end;
+}
+
+ein_d02_i,169,244,1	script	Sirumsireum Teddy Bear#ITBz02	4_TEDDY_BEAR_B_L,{
+	npctalk "Teddy Bear: What have you done to me...", "", bc_self;
+	end;
+}

+ 6 - 6
npc/re/quests/quests_malaya.txt

@@ -2625,13 +2625,13 @@ OnTouch:
 		delitem 6506, 1; // Memorial_Boquet
 		erasequest 7398;
 		setquest 7399;
-		close;
+		close3;
 	} else if (malaya_diwata == 5) {
 		cutin "malaya_diwata02", 2;
 		mes "[Diwata]";
 		mes "I promise I'll be a good little girl if those hillbillies leave me alone.";
 		mes "If they bother me again, however, I won't be.";
-		close;
+		close3;
 	} else {
 		if (checkquest(7402) == -1) {
 			if (checkquest(7403) == -1) {
@@ -2650,7 +2650,7 @@ OnTouch:
 					mes "The flowers you bring makes me calm down.";
 					mes "....";
 					mes ".. It's not because I miss people or I like the flowers. Don't take it the wrong way.";
-					close;
+					close3;
 				}
 				cutin "malaya_diwata01", 2;
 				mes "[Diwata]";
@@ -2658,7 +2658,7 @@ OnTouch:
 				mes "What? Oh, it's you.";
 				mes "Those hillbillies came back again!";
 				mes "I'm going to kill them!";
-				close;
+				close3;
 			}
 			cutin "malaya_diwata02", 2;
 			mes "[Diwata]";
@@ -2669,7 +2669,7 @@ OnTouch:
 			mes "The flowers you bring makes me calm down.";
 			mes "....";
 			mes ".. It's not because I miss people or I like the flowers. Don't take it the wrong way.";
-			close;
+			close3;
 		}
 		cutin "malaya_diwata01", 2;
 		mes "[Diwata]";
@@ -2718,7 +2718,7 @@ OnTouch:
 		delitem 6506, 1; // Memorial_Boquet
 		setquest 7403;
 		erasequest 7402;
-		close;
+		close3;
 	}
 	cutin "", 255;
 	end;

+ 7 - 7
npc/re/quests/quests_mora.txt

@@ -3389,26 +3389,26 @@ L_ShowReport:
 	mes "[Experimental Results]";
 	mes "*** Researcher - Inffle";
 	mes "*** Research Assistant - "+strcharinfo(0);
-	mes "¡¡";
+	mes " ";
 	mes "<Research topic>";
 	mes "*** Bath of Mora Village";
-	mes "¡¡";
+	mes " ";
 	mes "<Aim>";
 	mes "To investigate the mysterious power of the bath water";
 	mes "and to find out ways to better utilize";
 	mes "the water.";
-	mes "¡¡";
+	mes " ";
 	mes "<Methods>";
 	mes "1. Obtained an unidentified DNA sample.";
 	mes "Obtained a sample of an unidentified DNA,";
 	mes "and collected more samples to look further into it.";
-	mes "¡¡";
+	mes " ";
 	mes "2. A comparison analysis on the unidentified DNA";
 	mes "Concluded that the DNA belongs to";
 	mes "an unidentified creature living in the bath water.";
 	mes "combine and result in";
 	mes "from the swordfish DNA.";
-	mes "¡¡";
+	mes " ";
 	mes "3. Research on the puddles around the village";
 	mes "From the four puddles around the village,";
 	mes "confirmed that the testing substances were";
@@ -3416,9 +3416,9 @@ L_ShowReport:
 	mes "It is thought that the four puddles";
 	mes "combine and result in";
 	mes "the mysterious power.";
-	mes "¡¡";
+	mes " ";
 	mes "<Material analysis>";
-	mes "*** Temperature ***** 33.5° ";
+	mes "*** Temperature ***** 33.5¡Æ";
 	mes "*** PH ************ 9.8";
 	mes "*** Solid residues *** 176";
 	mes "*** K+ ************ 0,23";

+ 1 - 1
npc/re/scripts_athena.conf

@@ -177,6 +177,7 @@ npc: npc/re/merchants/enchan_upg.txt
 npc: npc/re/merchants/te_merchant.txt
 npc: npc/re/merchants/shadow_refiner.txt
 npc: npc/re/merchants/eden_market.txt
+//npc: npc/re/merchants/shopping_boards.txt
 
 // --------------------------- Others ---------------------------
 npc: npc/re/other/achievements.txt
@@ -273,4 +274,3 @@ npc: npc/re/quests/woe_te/te_goditem_alde1.txt
 npc: npc/re/custom/lasagna/lasa_dun.txt
 npc: npc/re/custom/lasagna/lasa_fild.txt
 npc: npc/re/custom/lasagna/lasagna_npcs.txt
-npc: npc/re/custom/lasagna/warps.txt

+ 1 - 0
npc/re/scripts_mapflags.conf

@@ -21,3 +21,4 @@ npc: npc/re/mapflag/restricted.txt
 npc: npc/re/mapflag/town.txt
 npc: npc/re/mapflag/reset.txt
 npc: npc/re/mapflag/skill_duration.txt
+npc: npc/re/mapflag/nodynamicnpc.txt

+ 1 - 0
npc/re/scripts_warps.conf

@@ -10,6 +10,7 @@ npc: npc/re/warps/cities/dicastes.txt
 npc: npc/re/warps/cities/eclage.txt
 npc: npc/re/warps/cities/einbech.txt
 npc: npc/re/warps/cities/einbroch.txt
+npc: npc/re/warps/cities/lasagna.txt
 npc: npc/re/warps/cities/lighthalzen.txt
 npc: npc/re/warps/cities/izlude.txt
 npc: npc/re/warps/cities/malangdo.txt

+ 47 - 0
npc/re/warps/cities/lasagna.txt

@@ -0,0 +1,47 @@
+//===== rAthena Script =======================================
+//= Lasagna Warps
+//===== Changelogs: ==========================================
+//= 1.0 First Version. [Capuche]
+//= 1.1 Official conversion. [Lemongrass]
+//============================================================
+
+lasa_fild02,348,244,0	warp	lasadun01_in	1,1,lasa_dun01,24,143
+lasa_dun01,18,143,0	warp	lasadun_out	1,1,lasa_fild02,344,243
+
+lasa_dun_q,190,14,0	warp	dun_q_dun01	1,1,lasa_dun01,152,98
+lasa_dun01,157,98,0	warp	lasadun01_to2f	1,1,lasa_dun02,22,171
+lasa_dun02,18,171,0	warp	lasadun02_to1f	1,1,lasa_dun01,153,98
+
+lasa_dun02,146,58,0	warp	lasadun02_to3f	1,1,lasa_dun03,190,18
+lasa_dun03,190,15,0	warp	lasadun03_to2f	1,1,lasa_dun02,146,54
+
+lasa_fild01,134,381,0	warp	lasagna_in01	2,2,lasagna,153,58
+lasagna,150,54,0	warp	lasagna_out01	2,2,lasa_fild01,131,378
+
+lasa_fild01,341,375,0	warp	lasagna_in02	1,1,lasagna,327,56
+lasagna,327,51,0	warp	lasagna_out02	1,1,lasa_fild01,344,371
+
+lasagna,358,91,0	warp	lasagna_in03	1,1,lasa_fild02,20,98
+// lasa_fild02,16,98,0	warp	lasagna_in03	1,1,lasagna,355,92 // (NPC name is not unique)
+lasa_fild02,16,98,0	warp	lasagna_in03#01	1,1,lasagna,355,92
+
+lasa_in01,159,61,0	warp	dining_lasa	1,1,lasagna,68,202
+
+// Boat
+conch_in,60,61,0	warp2	conch_lasagna	1,1,lasagna,206,323
+conch_in,51,60,0	warp2	hall_cap	1,1,conch_in,31,60
+conch_in,34,60,0	warp2	cap_hall	1,1,conch_in,53,59
+conch_in,63,53,0	warp2	hall_in04	1,1,conch_in,63,33
+conch_in,63,35,0	warp2	in04_hall	1,1,conch_in,64,55
+conch_in,64,66,0	warp2	hall_in01	1,1,conch_in,63,89
+conch_in,63,87,0	warp2	in01_hall	1,1,conch_in,63,64
+conch_in,101,53,0	warp2	hall_in05	1,1,conch_in,101,33
+conch_in,101,35,0	warp2	in05_hall	1,1,conch_in,102,55
+conch_in,101,66,0	warp2	hall_in02	1,1,conch_in,101,89
+conch_in,102,87,0	warp2	in02_hall	1,1,conch_in,101,64
+conch_in,137,53,0	warp2	hall_in06	1,1,conch_in,139,33
+conch_in,139,35,0	warp2	in06_hall	1,1,conch_in,138,55
+conch_in,137,66,0	warp2	hall_in03	1,1,conch_in,139,89
+conch_in,140,87,0	warp2	in03_hall	1,1,conch_in,137,64
+conch_in,142,60,0	warp2	hall_dining	1,1,conch_in,162,61
+conch_in,159,61,0	warp2	dining_hall	1,1,conch_in,140,59

+ 1 - 0
npc/scripts_mapflags.conf

@@ -29,3 +29,4 @@ npc: npc/mapflag/skill_damage.txt
 npc: npc/mapflag/town.txt
 npc: npc/mapflag/nocostume.txt
 npc: npc/mapflag/skill_duration.txt
+npc: npc/mapflag/nodynamicnpc.txt

+ 2 - 0
sql-files/mob_db.sql

@@ -63,6 +63,8 @@ CREATE TABLE `mob_db` (
   `racegroup_illusion_turtle` tinyint(1) unsigned DEFAULT NULL,
   `racegroup_rachel_sanctuary` tinyint(1) unsigned DEFAULT NULL,
   `racegroup_illusion_luanda` tinyint(1) unsigned DEFAULT NULL,
+  `racegroup_illusion_frozen` tinyint(1) unsigned DEFAULT NULL,
+  `racegroup_illusion_moonlight` tinyint(1) unsigned DEFAULT NULL,
   `element` varchar(24) DEFAULT NULL,
   `element_level` tinyint(4) unsigned DEFAULT NULL,
   `walk_speed` smallint(6) unsigned DEFAULT NULL,

Niektoré súbory nie sú zobrazené, pretože je v týchto rozdielových dátach zmenené mnoho súborov