浏览代码

Merge branch 'master' into feature/automatic_sql_updater

Aleos 4 年之前
父节点
当前提交
0fb4c9b578
共有 100 个文件被更改,包括 4918 次插入1786 次删除
  1. 3 5
      appveyor.yml
  2. 4 0
      conf/battle/battleground.conf
  3. 12 1
      conf/battle/client.conf
  4. 3 0
      conf/battle/items.conf
  5. 8 0
      conf/battle/monster.conf
  6. 4 5
      conf/battle/player.conf
  7. 4 4
      conf/battle/skill.conf
  8. 4 0
      conf/login_athena.conf
  9. 2 1
      conf/msg_conf/map_msg.conf
  10. 91 54
      db/battleground_db.yml
  11. 8 1
      db/import-tmpl/battleground_db.yml
  12. 0 31
      db/import-tmpl/improvise_db.yml
  13. 2 0
      db/import-tmpl/instance_db.yml
  14. 1 1
      db/import-tmpl/item_db.txt
  15. 0 37
      db/improvise_db.yml
  16. 2 0
      db/instance_db.yml
  17. 1 1
      db/item_avail.txt
  18. 2 0
      db/pre-re/instance_db.yml
  19. 10 10
      db/pre-re/item_combo_db.txt
  20. 175 175
      db/pre-re/item_db.txt
  21. 2 2
      db/pre-re/mob_race2_db.txt
  22. 6 5
      db/pre-re/pet_db.yml
  23. 44 21
      db/pre-re/skill_db.yml
  24. 12 12
      db/pre-re/skill_tree.txt
  25. 0 65
      db/re/improvise_db.yml
  26. 2 0
      db/re/instance_db.yml
  27. 90 84
      db/re/item_combo_db.txt
  28. 181 181
      db/re/item_db.txt
  29. 2 0
      db/re/item_delay.txt
  30. 429 0
      db/re/item_misc.txt
  31. 6 6
      db/re/item_randomopt_db.txt
  32. 0 9
      db/re/item_stack.txt
  33. 242 9
      db/re/mob_db.txt
  34. 2 2
      db/re/mob_race2_db.txt
  35. 12 10
      db/re/pet_db.yml
  36. 2 2
      db/re/produce_db.txt
  37. 169 223
      db/re/skill_db.yml
  38. 4 0
      db/re/skill_nocast_db.txt
  39. 12 12
      db/re/skill_tree.txt
  40. 1 1
      doc/atcommands.txt
  41. 4 3
      doc/item_bonus.txt
  42. 1 1
      doc/mapflags.txt
  43. 44 15
      doc/script_commands.txt
  44. 2 2
      doc/skill_db.txt
  45. 0 10
      doc/yaml/db/improvise_db.yml
  46. 2 0
      doc/yaml/db/instance_db.yml
  47. 52 40
      npc/battleground/flavius/flavius01.txt
  48. 56 44
      npc/battleground/flavius/flavius02.txt
  49. 11 1
      npc/battleground/kvm/kvm01.txt
  50. 11 1
      npc/battleground/kvm/kvm02.txt
  51. 11 1
      npc/battleground/kvm/kvm03.txt
  52. 57 32
      npc/battleground/tierra/tierra01.txt
  53. 58 32
      npc/battleground/tierra/tierra02.txt
  54. 22 18
      npc/custom/official/GeffenMagicTournament.txt
  55. 31 10
      npc/custom/woe_controller.txt
  56. 10 0
      npc/pre-re/quests/quests_niflheim.txt
  57. 1 0
      npc/pre-re/scripts_athena.conf
  58. 43 39
      npc/quests/guildrelay.txt
  59. 58 17
      npc/quests/quests_lighthalzen.txt
  60. 10 14
      npc/quests/quests_morocc.txt
  61. 1 1
      npc/quests/quests_niflheim.txt
  62. 1 1
      npc/re/custom/lasagna/lasagna_npcs.txt
  63. 1 1
      npc/re/instances/MalangdoCulvert.txt
  64. 1 0
      npc/re/instances/NightmarishJitterbug.txt
  65. 2 2
      npc/re/instances/OctopusCave.txt
  66. 13 7
      npc/re/instances/SarahAndFenrir.txt
  67. 257 0
      npc/re/merchants/OldGlastHeim_merchants.txt
  68. 1431 0
      npc/re/merchants/malangdo_costume.txt
  69. 169 0
      npc/re/merchants/pet_trader.txt
  70. 2 2
      npc/re/merchants/te_merchant.txt
  71. 10 0
      npc/re/quests/quests_niflheim.txt
  72. 1 0
      npc/re/quests/quests_rockridge.txt
  73. 3 0
      npc/re/scripts_athena.conf
  74. 175 175
      sql-files/item_db.sql
  75. 181 181
      sql-files/item_db_re.sql
  76. 6 2
      sql-files/main.sql
  77. 242 9
      sql-files/mob_db_re.sql
  78. 3 0
      sql-files/upgrades/upgrade_20200518.sql
  79. 1 0
      sql-files/upgrades/upgrade_20200603.sql
  80. 13 0
      sql-files/upgrades/upgrade_20200604.sql
  81. 1 0
      sql-files/upgrades/upgrade_20200622.sql
  82. 5 0
      sql-files/upgrades/upgrade_20200625.sql
  83. 68 87
      src/char/char.cpp
  84. 1 7
      src/char/char.hpp
  85. 74 9
      src/char/char_clif.cpp
  86. 26 30
      src/char/char_logif.cpp
  87. 9 9
      src/char/char_logif.hpp
  88. 0 4
      src/char/char_mapif.cpp
  89. 12 0
      src/common/core.cpp
  90. 11 5
      src/common/mmo.hpp
  91. 4 0
      src/common/socket.cpp
  92. 1 0
      src/common/socket.hpp
  93. 8 0
      src/common/sql.cpp
  94. 5 0
      src/common/sql.hpp
  95. 7 0
      src/config/core.hpp
  96. 18 1
      src/config/packets.hpp
  97. 89 2
      src/login/account.cpp
  98. 14 0
      src/login/account.hpp
  99. 11 1
      src/login/login.cpp
  100. 3 0
      src/login/login.hpp

+ 3 - 5
appveyor.yml

@@ -1,4 +1,4 @@
-image: Visual Studio 2013
+image: Visual Studio 2015
 # This is the default location, but we put it here for safety reasons, since we use it in our test script
 # This is the default location, but we put it here for safety reasons, since we use it in our test script
 clone_folder: c:\projects\rathena
 clone_folder: c:\projects\rathena
 # We do not need the git history for our integration tests
 # We do not need the git history for our integration tests
@@ -8,10 +8,8 @@ pull_requests:
   do_not_increment_build_number: true
   do_not_increment_build_number: true
 environment:
 environment:
   matrix:
   matrix:
-  - VisualStudioVersion: 14.0
-    Defines: "\"BUILDBOT\""
-  - VisualStudioVersion: 14.0
-    Defines: "\"BUILDBOT;PRERE\""
+  - Defines: "\"BUILDBOT\""
+  - Defines: "\"BUILDBOT;PRERE\""
 platform:
 platform:
   - Win32
   - Win32
   - x64
   - x64

+ 4 - 0
conf/battle/battleground.conf

@@ -30,3 +30,7 @@ bg_flee_penalty: 20
 
 
 // Interval before updating the bg-member map mini-dots (milliseconds)
 // Interval before updating the bg-member map mini-dots (milliseconds)
 bg_update_interval: 1000
 bg_update_interval: 1000
+
+// Before a player is warped into a Battleground from the Battleground Queue,
+// check to see if the player's current map has MF_NOWARP.
+bgqueue_nowarp_mapflag: no

+ 12 - 1
conf/battle/client.conf

@@ -38,7 +38,7 @@ hide_woe_damage: no
 pet_hair_style: 100
 pet_hair_style: 100
 
 
 // Visible area size (how many squares away from a player they can see)
 // Visible area size (how many squares away from a player they can see)
-area_size: 15
+area_size: 14
 
 
 // Maximum walk path (how many cells a player can walk going to cursor)
 // Maximum walk path (how many cells a player can walk going to cursor)
 max_walk_path: 17
 max_walk_path: 17
@@ -138,3 +138,14 @@ spawn_direction: no
 // kRO removed the packet and this re-enables the message.
 // kRO removed the packet and this re-enables the message.
 // Official: Disabled.
 // Official: Disabled.
 mvp_exp_reward_message: no
 mvp_exp_reward_message: no
+
+// Send ping timer
+// Interval in seconds for each timer invoke.
+ping_timer_inverval: 30
+
+// Send packets timeout in seconds before ping packet can be sent.
+ping_time: 20
+
+// Show skill scale for clients 2015-12-23 and newer? (Note 1)
+// Official: yes
+show_skill_scale: yes

+ 3 - 0
conf/battle/items.conf

@@ -134,6 +134,9 @@ broadcast_hide_name: 2
 // Enable to sell rental item to NPC shop? (Note 1)
 // Enable to sell rental item to NPC shop? (Note 1)
 rental_transaction: yes
 rental_transaction: yes
 
 
+// Sell rental item for 0 to NPC shop regardless of the item value in item_db? (Note 1)
+rental_item_novalue: no
+
 // Minimum purchase price of items at a normal Shop
 // Minimum purchase price of items at a normal Shop
 // Officially items cannot be purchased for less than 1 Zeny
 // Officially items cannot be purchased for less than 1 Zeny
 min_shop_buy: 1
 min_shop_buy: 1

+ 8 - 0
conf/battle/monster.conf

@@ -276,3 +276,11 @@ boss_nopc_idleskill_rate: 100
 // To switch it off, set it to 0.
 // To switch it off, set it to 0.
 mob_nopc_move_rate: 100
 mob_nopc_move_rate: 100
 boss_nopc_move_rate: 100
 boss_nopc_move_rate: 100
+
+// When killing a monster, do AG_BATTLE type achievements trigger for everyone in the same party within the area?
+// Area is limited to area_size battle config.
+achievement_mob_share: no
+
+// Should slaves teleport back to their master if they get too far during chase? (Note 1)
+// Default (Official): no
+slave_stick_with_master: no

+ 4 - 5
conf/battle/player.conf

@@ -272,8 +272,7 @@ fame_pharmacy_10: 50
 idletime_option: 0x1F
 idletime_option: 0x1F
 
 
 // Adjust the summoner class' special traits.
 // Adjust the summoner class' special traits.
-// 0: Summoners behave like other classes.
-// 1: Summoners belong to brute race instead of demi-human
-// 2: Summoners are small size instead of medium
-// 3: Both of the above (official value)
-summoner_trait: 3
+// - Summoners belong to brute race category. They have their own race RC_PLAYER_DORAM (11) to be differentiated from monster race RC_BRUTE (2).
+// - Summoners are small size (0) instead of medium (1)
+summoner_race: 11
+summoner_size: 0

+ 4 - 4
conf/battle/skill.conf

@@ -85,7 +85,7 @@ clear_skills_on_warp: 15
 
 
 //Setting this to YES will override the target mode of ground-based skills with the flag 0x01 to "No Enemies"
 //Setting this to YES will override the target mode of ground-based skills with the flag 0x01 to "No Enemies"
 //The two skills affected by default are Pneuma and Safety Wall (if set to yes, those two skills will not protect everyone, but only allies)
 //The two skills affected by default are Pneuma and Safety Wall (if set to yes, those two skills will not protect everyone, but only allies)
-//See db/skill_unit_db.txt for more info.
+//See db/(pre-)re/skill_db.yml for more info.
 defunit_not_enemy: no
 defunit_not_enemy: no
 
 
 // Should skills always do at least 'hits' damage when they don't miss/are blocked?
 // Should skills always do at least 'hits' damage when they don't miss/are blocked?
@@ -107,11 +107,11 @@ auto_counter_type: 15
 
 
 // Can ground skills be placed on top of each other? (Note 3)
 // Can ground skills be placed on top of each other? (Note 3)
 // By default, skills with UF_NOREITERATION set cannot be stacked on top of 
 // By default, skills with UF_NOREITERATION set cannot be stacked on top of 
-// other skills, this setting will override that. (skill_unit_db)
+// other skills, this setting will override that.
 skill_reiteration: 0
 skill_reiteration: 0
 
 
 // Can ground skills NOT be placed underneath/near players/monsters? (Note 3)
 // Can ground skills NOT be placed underneath/near players/monsters? (Note 3)
-// If set, only skills with UF_NOFOOTSET set will be affected (skill_unit_db)
+// If set, only skills with UF_NOFOOTSET set will be affected.
 skill_nofootset: 1
 skill_nofootset: 1
 
 
 // Should traps (hunter traps + quagmire) change their target to "all" inside gvg/pvp grounds? (Note 3)
 // Should traps (hunter traps + quagmire) change their target to "all" inside gvg/pvp grounds? (Note 3)
@@ -343,7 +343,7 @@ stormgust_knockback: yes
 // For RENEWAL_CAST (Note 2)
 // For RENEWAL_CAST (Note 2)
 // By default skill that has '0' value for Fixed Casting Time will use 20% of cast time
 // By default skill that has '0' value for Fixed Casting Time will use 20% of cast time
 // as Fixed Casting Time, and the rest (80%) as Variable Casting Time.
 // as Fixed Casting Time, and the rest (80%) as Variable Casting Time.
-// Put it 0 to disable default Fixed Casting Time (just like -1 is the skill_cast_db.txt).
+// Put it 0 to disable default Fixed Casting Time (just like -1 in the skill_db.yml).
 default_fixed_castrate: 20
 default_fixed_castrate: 20
 
 
 // On official servers, skills that hit all targets on a path (e.g. Focused Arrow Strike and First Wind) first
 // On official servers, skills that hit all targets on a path (e.g. Focused Arrow Strike and First Wind) first

+ 4 - 0
conf/login_athena.conf

@@ -163,6 +163,10 @@ dnsbl_servers: bl.blocklist.de, socks.dnsbl.sorbs.net
 // Note: see 'doc/md5_hashcheck.txt' for more details.
 // Note: see 'doc/md5_hashcheck.txt' for more details.
 client_hash_check: off
 client_hash_check: off
 
 
+// Enable web authentication token system
+// This is required for new clients that get data via an additional API over HTTP
+use_web_auth_token: yes
+
 // Client MD5 hashes
 // Client MD5 hashes
 // The client with the specified hash can be used to log in by players with
 // The client with the specified hash can be used to log in by players with
 // a group_id equal to or greater than the given value.
 // a group_id equal to or greater than the given value.

+ 2 - 1
conf/msg_conf/map_msg.conf

@@ -354,9 +354,10 @@
 334: Total Domination
 334: Total Domination
 
 
 // Battlegrounds Queue
 // Battlegrounds Queue
-337: You may not join a battleground queue when you're in a battleground map.
+337: You can't apply to a battleground queue from this map.
 338: You can't apply to a battleground queue due to recently deserting a battleground. Time remaining: %d minutes and %d seconds.
 338: You can't apply to a battleground queue due to recently deserting a battleground. Time remaining: %d minutes and %d seconds.
 339: You can't apply to a battleground queue for %d seconds due to recently leaving one.
 339: You can't apply to a battleground queue for %d seconds due to recently leaving one.
+340: Participants were unable to join. Delaying entry for more participants.
 
 
 // Templates for @who output
 // Templates for @who output
 343: Name: %s
 343: Name: %s

+ 91 - 54
db/battleground_db.yml

@@ -29,7 +29,12 @@
 #   MinLevel          Minimum level required to join the battleground. (Default: 1)
 #   MinLevel          Minimum level required to join the battleground. (Default: 1)
 #   MaxLevel          Maximum level to join the battleground. (Default: MAX_LEVEL value)
 #   MaxLevel          Maximum level to join the battleground. (Default: MAX_LEVEL value)
 #   Deserter          Amount of time in seconds a player is marked deserter. (Default: 600)
 #   Deserter          Amount of time in seconds a player is marked deserter. (Default: 600)
-#   StartDelay        Amount of time in seconds once a queue is filled before a start message is sent to players. (Default: 30)
+#   StartDelay        Amount of time in seconds once a queue is filled before players are warped. (Default: 0)
+#   Join:             Which application type is accepted. The entryqueuelist.lub can visually disable these options.
+#     Solo            Able to join a queue as an individual. (Default: true)
+#     Party           Able to join a queue as a party. (Default: true)
+#     Guild           Able to join a queue as a guild. (Default: true)
+#   JobRestrictions   List of jobs that are unable to join the battleground.
 #   Locations:        Battleground location settings.
 #   Locations:        Battleground location settings.
 #     - Map           The map on which the battleground will be played.
 #     - Map           The map on which the battleground will be played.
 #       StartEvent    NPC event triggered when the battleground starts.
 #       StartEvent    NPC event triggered when the battleground starts.
@@ -38,12 +43,14 @@
 #         RespawnY    Y coordinate for warping on death.
 #         RespawnY    Y coordinate for warping on death.
 #         DeathEvent  NPC event triggered when a player dies.
 #         DeathEvent  NPC event triggered when a player dies.
 #         QuitEvent   NPC event triggered when a player quits.
 #         QuitEvent   NPC event triggered when a player quits.
+#         ActiveEvent NPC event triggered when a player joints an active battleground.
 #         Variable    Name of BG ID variable used in the battleground script.
 #         Variable    Name of BG ID variable used in the battleground script.
 #       TeamB:        TeamB settings.
 #       TeamB:        TeamB settings.
 #         RespawnX    X coordinate for warping on death.
 #         RespawnX    X coordinate for warping on death.
 #         RespawnY    Y coordinate for warping on death.
 #         RespawnY    Y coordinate for warping on death.
 #         DeathEvent  NPC event triggered when a player dies.
 #         DeathEvent  NPC event triggered when a player dies.
 #         QuitEvent   NPC event triggered when a player quits.
 #         QuitEvent   NPC event triggered when a player quits.
+#         ActiveEvent NPC event triggered when a player joints an active battleground.
 #         Variable    Name of BG ID variable used in the battleground script.
 #         Variable    Name of BG ID variable used in the battleground script.
 ###########################################################################
 ###########################################################################
 
 
@@ -53,121 +60,151 @@ Header:
 
 
 Body:
 Body:
   - Id: 1
   - Id: 1
-    Name: "Tierra Gorge"
+    Name: Tierra Gorge
     MinPlayers: 6
     MinPlayers: 6
     MinLevel: 80
     MinLevel: 80
+    JobRestrictions:
+      Novice: true
+      SuperNovice: true
+      Novice_High: true
+      Baby: true
+      Super_Baby: true
+      Super_Novice_E: true
+      Super_Baby_E: true
     Locations:
     Locations:
-      - Map: "bat_a01"
-        StartEvent: "start#bat_a01::OnReadyCheck"
+      - Map: bat_a01
+        StartEvent: start#bat_a01::OnReadyCheck
         TeamA:
         TeamA:
           RespawnX: 50
           RespawnX: 50
           RespawnY: 374
           RespawnY: 374
-          QuitEvent: "start#bat_a01::OnGuillaumeQuit"
-          Variable: "$@TierraBG1_id1"
+          QuitEvent: start#bat_a01::OnGuillaumeQuit
+          ActiveEvent: start#bat_a01::OnGuillaumeActive
+          Variable: $@TierraBG1_id1
         TeamB:
         TeamB:
           RespawnX: 42
           RespawnX: 42
           RespawnY: 16
           RespawnY: 16
-          QuitEvent: "start#bat_a01::OnCroixQuit"
-          Variable: "$@TierraBG1_id2"
-      - Map: "bat_a02"
-        StartEvent: "start#bat_a02::OnReadyCheck"
+          QuitEvent: start#bat_a01::OnCroixQuit
+          ActiveEvent: start#bat_a01::OnCroixActive
+          Variable: $@TierraBG1_id2
+      - Map: bat_a02
+        StartEvent: start#bat_a02::OnReadyCheck
         TeamA:
         TeamA:
           RespawnX: 50
           RespawnX: 50
           RespawnY: 374
           RespawnY: 374
-          QuitEvent: "start#bat_a02::OnGuillaumeQuit"
-          Variable: "$@TierraBG2_id1"
+          QuitEvent: start#bat_a02::OnGuillaumeQuit
+          ActiveEvent: start#bat_a02::OnGuillaumeActive
+          Variable: $@TierraBG2_id1
         TeamB:
         TeamB:
           RespawnX: 42
           RespawnX: 42
           RespawnY: 16
           RespawnY: 16
-          QuitEvent: "start#bat_a02::OnCroixQuit"
-          Variable: "$@TierraBG2_id2"
+          QuitEvent: start#bat_a02::OnCroixQuit
+          ActiveEvent: start#bat_a02::OnCroixActive
+          Variable: $@TierraBG2_id2
   - Id: 2
   - Id: 2
-    Name: "Flavius"
+    Name: Flavius
     MinPlayers: 6
     MinPlayers: 6
     MinLevel: 80
     MinLevel: 80
+    JobRestrictions:
+      Novice: true
+      SuperNovice: true
+      Novice_High: true
+      Baby: true
+      Super_Baby: true
+      Super_Novice_E: true
+      Super_Baby_E: true
     Locations:
     Locations:
-      - Map: "bat_b01"
-        StartEvent: "start#bat_b01::OnReadyCheck"
+      - Map: bat_b01
+        StartEvent: start#bat_b01::OnReadyCheck
         TeamA:
         TeamA:
           RespawnX: 10
           RespawnX: 10
           RespawnY: 290
           RespawnY: 290
-          QuitEvent: "start#bat_b01::OnGuillaumeQuit"
-          Variable: "$@FlaviusBG1_id1"
+          QuitEvent: start#bat_b01::OnGuillaumeQuit
+          ActiveEvent: start#bat_b01::OnGuillaumeActive
+          Variable: $@FlaviusBG1_id1
         TeamB:
         TeamB:
           RespawnX: 390
           RespawnX: 390
           RespawnY: 10
           RespawnY: 10
-          QuitEvent: "start#bat_b01::OnCroixQuit"
-          Variable: "$@FlaviusBG1_id2"
-      - Map: "bat_b02"
-        StartEvent: "start#bat_b02::OnReadyCheck"
+          QuitEvent: start#bat_b01::OnCroixQuit
+          ActiveEvent: start#bat_b01::OnCroixActive
+          Variable: $@FlaviusBG1_id2
+      - Map: bat_b02
+        StartEvent: start#bat_b02::OnReadyCheck
         TeamA:
         TeamA:
           RespawnX: 10
           RespawnX: 10
           RespawnY: 290
           RespawnY: 290
-          QuitEvent: "start#bat_b02::OnGuillaumeQuit"
-          Variable: "$@FlaviusBG2_id1"
+          QuitEvent: start#bat_b02::OnGuillaumeQuit
+          ActiveEvent: start#bat_b02::OnGuillaumeActive
+          Variable: $@FlaviusBG2_id1
         TeamB:
         TeamB:
           RespawnX: 390
           RespawnX: 390
           RespawnY: 10
           RespawnY: 10
-          QuitEvent: "start#bat_b02::OnCroixQuit"
-          Variable: "$@FlaviusBG2_id2"
+          QuitEvent: start#bat_b02::OnCroixQuit
+          ActiveEvent: start#bat_b02::OnCroixActive
+          Variable: $@FlaviusBG2_id2
   - Id: 3
   - Id: 3
-    Name: "KVM (Level 80 and up)"
+    Name: KVM (Level 80 and up)
     MinPlayers: 5
     MinPlayers: 5
     MinLevel: 80
     MinLevel: 80
     Locations:
     Locations:
-      - Map: "bat_c01"
-        StartEvent: "KvM01_BG::OnStart"
+      - Map: bat_c01
+        StartEvent: KvM01_BG::OnStart
         TeamA:
         TeamA:
           RespawnX: 52
           RespawnX: 52
           RespawnY: 129
           RespawnY: 129
-          DeathEvent: "KvM01_BG::OnGuillaumeDie"
-          QuitEvent: "KvM01_BG::OnGuillaumeQuit"
-          Variable: "$@KvM01BG_id1"
+          DeathEvent: KvM01_BG::OnGuillaumeDie
+          QuitEvent: KvM01_BG::OnGuillaumeQuit
+          ActiveEvent: KvM01_BG::OnGuillaumeActive
+          Variable: $@KvM01BG_id1
         TeamB:
         TeamB:
           RespawnX: 147
           RespawnX: 147
           RespawnY: 55
           RespawnY: 55
-          DeathEvent: "KvM01_BG::OnCroixDie"
-          QuitEvent: "KvM01_BG::OnCroixQuit"
-          Variable: "$@KvM01BG_id2"
+          DeathEvent: KvM01_BG::OnCroixDie
+          QuitEvent: KvM01_BG::OnCroixQuit
+          ActiveEvent: KvM01_BG::OnCroixActive
+          Variable: $@KvM01BG_id2
   - Id: 4
   - Id: 4
-    Name: "KVM (Level 60~79)"
+    Name: KVM (Level 60~79)
     MinPlayers: 5
     MinPlayers: 5
     MinLevel: 60
     MinLevel: 60
     MaxLevel: 79
     MaxLevel: 79
     Locations:
     Locations:
-      - Map: "bat_c02"
-        StartEvent: "KvM02_BG::OnStart"
+      - Map: bat_c02
+        StartEvent: KvM02_BG::OnStart
         TeamA:
         TeamA:
           RespawnX: 52
           RespawnX: 52
           RespawnY: 129
           RespawnY: 129
-          DeathEvent: "KvM02_BG::OnGuillaumeDie"
-          QuitEvent: "KvM02_BG::OnGuillaumeQuit"
-          Variable: "$@KvM02BG_id1"
+          DeathEvent: KvM02_BG::OnGuillaumeDie
+          QuitEvent: KvM02_BG::OnGuillaumeQuit
+          ActiveEvent: KvM02_BG::OnGuillaumeActive
+          Variable: $@KvM02BG_id1
         TeamB:
         TeamB:
           RespawnX: 147
           RespawnX: 147
           RespawnY: 55
           RespawnY: 55
-          DeathEvent: "KvM02_BG::OnCroixDie"
-          QuitEvent: "KvM02_BG::OnCroixQuit"
-          Variable: "$@KvM02BG_id2"
+          DeathEvent: KvM02_BG::OnCroixDie
+          QuitEvent: KvM02_BG::OnCroixQuit
+          ActiveEvent: KvM02_BG::OnCroixActive
+          Variable: $@KvM02BG_id2
   - Id: 5
   - Id: 5
-    Name: "KVM (Level 59 and below"
+    Name: KVM (Level 59 and below
     MinPlayers: 5
     MinPlayers: 5
     MaxLevel: 59
     MaxLevel: 59
     Locations:
     Locations:
-      - Map: "bat_c03"
-        StartEvent: "KvM03_BG::OnStart"
+      - Map: bat_c03
+        StartEvent: KvM03_BG::OnStart
         TeamA:
         TeamA:
           RespawnX: 52
           RespawnX: 52
           RespawnY: 129
           RespawnY: 129
-          DeathEvent: "KvM03_BG::OnGuillaumeDie"
-          QuitEvent: "KvM03_BG::OnGuillaumeQuit"
-          Variable: "$@KvM03BG_id1"
+          DeathEvent: KvM03_BG::OnGuillaumeDie
+          QuitEvent: KvM03_BG::OnGuillaumeQuit
+          ActiveEvent: KvM03_BG::OnGuillaumeActive
+          Variable: $@KvM03BG_id1
         TeamB:
         TeamB:
           RespawnX: 147
           RespawnX: 147
           RespawnY: 55
           RespawnY: 55
-          DeathEvent: "KvM03_BG::OnCroixDie"
-          QuitEvent: "KvM03_BG::OnCroixQuit"
-          Variable: "$@KvM03BG_id2"
+          DeathEvent: KvM03_BG::OnCroixDie
+          QuitEvent: KvM03_BG::OnCroixQuit
+          ActiveEvent: KvM03_BG::OnCroixActive
+          Variable: $@KvM03BG_id2
 
 
 Footer:
 Footer:
   Imports:
   Imports:

+ 8 - 1
db/import-tmpl/battleground_db.yml

@@ -29,7 +29,12 @@
 #   MinLevel          Minimum level required to join the battleground. (Default: 1)
 #   MinLevel          Minimum level required to join the battleground. (Default: 1)
 #   MaxLevel          Maximum level to join the battleground. (Default: MAX_LEVEL value)
 #   MaxLevel          Maximum level to join the battleground. (Default: MAX_LEVEL value)
 #   Deserter          Amount of time in seconds a player is marked deserter. (Default: 600)
 #   Deserter          Amount of time in seconds a player is marked deserter. (Default: 600)
-#   StartDelay        Amount of time in seconds once a queue is filled before a start message is sent to players. (Default: 30)
+#   StartDelay        Amount of time in seconds once a queue is filled before players are warped. (Default: 0)
+#   Join:             Which application type is accepted. The entryqueuelist.lub can visually disable these options.
+#     Solo            Able to join a queue as an individual. (Default: true)
+#     Party           Able to join a queue as a party. (Default: true)
+#     Guild           Able to join a queue as a guild. (Default: true)
+#   JobRestrictions   List of jobs that are unable to join the battleground.
 #   Locations:        Battleground location settings.
 #   Locations:        Battleground location settings.
 #     - Map           The map on which the battleground will be played.
 #     - Map           The map on which the battleground will be played.
 #       StartEvent    NPC event triggered when the battleground starts.
 #       StartEvent    NPC event triggered when the battleground starts.
@@ -38,12 +43,14 @@
 #         RespawnY    Y coordinate for warping on death.
 #         RespawnY    Y coordinate for warping on death.
 #         DeathEvent  NPC event triggered when a player dies.
 #         DeathEvent  NPC event triggered when a player dies.
 #         QuitEvent   NPC event triggered when a player quits.
 #         QuitEvent   NPC event triggered when a player quits.
+#         ActiveEvent NPC event triggered when a player joints an active battleground.
 #         Variable    Name of BG ID variable used in the battleground script.
 #         Variable    Name of BG ID variable used in the battleground script.
 #       TeamB:        TeamB settings.
 #       TeamB:        TeamB settings.
 #         RespawnX    X coordinate for warping on death.
 #         RespawnX    X coordinate for warping on death.
 #         RespawnY    Y coordinate for warping on death.
 #         RespawnY    Y coordinate for warping on death.
 #         DeathEvent  NPC event triggered when a player dies.
 #         DeathEvent  NPC event triggered when a player dies.
 #         QuitEvent   NPC event triggered when a player quits.
 #         QuitEvent   NPC event triggered when a player quits.
+#         ActiveEvent NPC event triggered when a player joints an active battleground.
 #         Variable    Name of BG ID variable used in the battleground script.
 #         Variable    Name of BG ID variable used in the battleground script.
 ###########################################################################
 ###########################################################################
 
 

+ 0 - 31
db/import-tmpl/improvise_db.yml

@@ -1,31 +0,0 @@
-# This file is a part of rAthena.
-#   Copyright(C) 2019 rAthena Development Team
-#   https://rathena.org - https://github.com/rathena
-#
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program. If not, see <http://www.gnu.org/licenses/>.
-#
-###########################################################################
-# Improvised Song Database
-###########################################################################
-#
-# Improvised Song Settings
-#
-###########################################################################
-# - Skill             Skill to be casted by Improvised Song.
-#   Probability       Probability of skill compared to others in database (1 = 0.01%, 10000 = 100%).
-###########################################################################
-
-Header:
-  Type: IMPROVISED_SONG_DB
-  Version: 1

+ 2 - 0
db/import-tmpl/instance_db.yml

@@ -26,6 +26,8 @@
 #   Name              Instance Name.
 #   Name              Instance Name.
 #   TimeLimit         Total lifetime of instance in seconds. (Default: 3600)
 #   TimeLimit         Total lifetime of instance in seconds. (Default: 3600)
 #   IdleTimeOut       Time before an idle instance is destroyed in seconds. (Default: 300)
 #   IdleTimeOut       Time before an idle instance is destroyed in seconds. (Default: 300)
+#   Destroyable       Toggles the ability to destroy the instance using instance 'Destroy' button. (Default: true)
+#                     Note: the button is displayed based on parties. For any mode, it requires the party leader to be the instance owner to destroy it.
 #   Enter:            Instance entrance coordinates.
 #   Enter:            Instance entrance coordinates.
 #     Map             Map Name where players start.
 #     Map             Map Name where players start.
 #     X               X Coordinate where players start.
 #     X               X Coordinate where players start.

+ 1 - 1
db/import-tmpl/item_db.txt

@@ -26,7 +26,7 @@
 //5264,Aussie_Flag_Hat,Australian Flag Hat,4,20,,500,,4,,0,0xFFFFFFFF,63,2,256,,0,1,304,{ bonus bAllStats,2; },{},{}
 //5264,Aussie_Flag_Hat,Australian Flag Hat,4,20,,500,,4,,0,0xFFFFFFFF,63,2,256,,0,1,304,{ bonus bAllStats,2; },{},{}
 //5356,Pumpkin_Hat_H,Pumpkin Hat,4,20,,200,,2,,0,0xFFFFFFFF,63,2,256,,0,1,206,{ bonus bAllStats,2; bonus2 bSubRace,RC_Demon,5; bonus2 bMagicAddRace,RC_Demon,5; },{},{}
 //5356,Pumpkin_Hat_H,Pumpkin Hat,4,20,,200,,2,,0,0xFFFFFFFF,63,2,256,,0,1,206,{ bonus bAllStats,2; bonus2 bSubRace,RC_Demon,5; bonus2 bMagicAddRace,RC_Demon,5; },{},{}
 //5384,Santa_Hat_1,Twin Pompom By JB,4,20,,200,,2,,1,0xFFFFFFFF,63,2,256,,20,1,390,{ bonus bLuk,3; bonus2 bResEff,Eff_Curse,2000; bonus bVariableCastrate,-2; bonus bAspdRate,4; bonus2 bAddMonsterDropItem,539,100; bonus2 bAddMonsterDropItem,529,200; bonus2 bAddMonsterDropItem,530,200; autobonus "{ bonus bCritical,10; }",10,5000; },{},{}
 //5384,Santa_Hat_1,Twin Pompom By JB,4,20,,200,,2,,1,0xFFFFFFFF,63,2,256,,20,1,390,{ bonus bLuk,3; bonus2 bResEff,Eff_Curse,2000; bonus bVariableCastrate,-2; bonus bAspdRate,4; bonus2 bAddMonsterDropItem,539,100; bonus2 bAddMonsterDropItem,529,200; bonus2 bAddMonsterDropItem,530,200; autobonus "{ bonus bCritical,10; }",10,5000; },{},{}
-//5811,Santa_Beard,Santa Beard,4,20,,100,,5,,0,0xFFFFFFFF,63,2,1,,0,0,25,{ bonus2 bSubRace,RC_Brute,5; },{},{}
+//5811,Santa_Beard,Santa Beard,4,20,,100,,5,,0,0xFFFFFFFF,63,2,1,,0,0,25,{ bonus2 bSubRace,RC_Brute,5; bonus2 bSubRace,RC_Player_Doram,5; },{},{}
 
 
 //11702,Moon_Cookie,Moon Cookie,11,0,,10,,,,,0xFFFFFFFF,63,2,,,,,,{ sc_end SC_POISON; sc_end SC_SILENCE; sc_end SC_BLIND; sc_end SC_CONFUSION; sc_end SC_CURSE; sc_end SC_HALLUCINATION; itemskill "AL_BLESSING",7; },{},{}
 //11702,Moon_Cookie,Moon Cookie,11,0,,10,,,,,0xFFFFFFFF,63,2,,,,,,{ sc_end SC_POISON; sc_end SC_SILENCE; sc_end SC_BLIND; sc_end SC_CONFUSION; sc_end SC_CURSE; sc_end SC_HALLUCINATION; itemskill "AL_BLESSING",7; },{},{}
 //12131,Lucky_Potion,Lucky Potion,0,2,,100,,,,,0xFFFFFFFF,63,2,,,,,,{ sc_start SC_LUKFOOD,180000,15; },{},{}
 //12131,Lucky_Potion,Lucky Potion,0,2,,100,,,,,0xFFFFFFFF,63,2,,,,,,{ sc_start SC_LUKFOOD,180000,15; },{},{}

+ 0 - 37
db/improvise_db.yml

@@ -1,37 +0,0 @@
-# This file is a part of rAthena.
-#   Copyright(C) 2019 rAthena Development Team
-#   https://rathena.org - https://github.com/rathena
-#
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program. If not, see <http://www.gnu.org/licenses/>.
-#
-###########################################################################
-# Improvised Song Database
-###########################################################################
-#
-# Improvised Song Settings
-#
-###########################################################################
-# - Skill             Skill to be casted by Improvised Song.
-#   Probability       Probability of skill compared to others in database (1 = 0.01%, 10000 = 100%).
-###########################################################################
-
-Header:
-  Type: IMPROVISED_SONG_DB
-  Version: 1
-
-Footer:
-  Imports:
-  - Path: db/re/improvise_db.yml
-    Mode: Renewal
-  - Path: db/import/improvise_db.yml

+ 2 - 0
db/instance_db.yml

@@ -26,6 +26,8 @@
 #   Name              Instance Name.
 #   Name              Instance Name.
 #   TimeLimit         Total lifetime of instance in seconds. (Default: 3600)
 #   TimeLimit         Total lifetime of instance in seconds. (Default: 3600)
 #   IdleTimeOut       Time before an idle instance is destroyed in seconds. (Default: 300)
 #   IdleTimeOut       Time before an idle instance is destroyed in seconds. (Default: 300)
+#   Destroyable       Toggles the ability to destroy the instance using instance 'Destroy' button. (Default: true)
+#                     Note: the button is displayed based on parties. For any mode, it requires the party leader to be the instance owner to destroy it.
 #   Enter:            Instance entrance coordinates.
 #   Enter:            Instance entrance coordinates.
 #     Map             Map Name where players start.
 #     Map             Map Name where players start.
 #     X               X Coordinate where players start.
 #     X               X Coordinate where players start.

+ 1 - 1
db/item_avail.txt

@@ -11,7 +11,7 @@
 // Think of it as a way to disguise items.
 // Think of it as a way to disguise items.
 // Don't sell the item in same shop with the source. Example, don't put 2240 & 2241 in same place!
 // Don't sell the item in same shop with the source. Example, don't put 2240 & 2241 in same place!
 
 
-2240,2241 //Beard - Grampa Beard
+//2240,2241 //Beard - Grampa Beard
 
 
 //Treasure Hunters Quest Items
 //Treasure Hunters Quest Items
 //use these aliases if your game client doesn't support them normally
 //use these aliases if your game client doesn't support them normally

+ 2 - 0
db/pre-re/instance_db.yml

@@ -26,6 +26,8 @@
 #   Name              Instance Name.
 #   Name              Instance Name.
 #   TimeLimit         Total lifetime of instance in seconds. (Default: 3600)
 #   TimeLimit         Total lifetime of instance in seconds. (Default: 3600)
 #   IdleTimeOut       Time before an idle instance is destroyed in seconds. (Default: 300)
 #   IdleTimeOut       Time before an idle instance is destroyed in seconds. (Default: 300)
+#   Destroyable       Toggles the ability to destroy the instance using instance 'Destroy' button. (Default: true)
+#                     Note: the button is displayed based on parties. For any mode, it requires the party leader to be the instance owner to destroy it.
 #   Enter:            Instance entrance coordinates.
 #   Enter:            Instance entrance coordinates.
 #     Map             Map Name where players start.
 #     Map             Map Name where players start.
 #     X               X Coordinate where players start.
 #     X               X Coordinate where players start.

+ 10 - 10
db/pre-re/item_combo_db.txt

@@ -66,18 +66,18 @@
 2357:2421:2524:5171,{ bonus bAllStats,1; }
 2357:2421:2524:5171,{ bonus bAllStats,1; }
 2358:5153,{ bonus bLuk,6; bonus bFlee,5; bonus bInt,2; }
 2358:5153,{ bonus bLuk,6; bonus bFlee,5; bonus bInt,2; }
 2359:2654,{ bonus bUseSPrate,-20; bonus bMaxHP,300; }
 2359:2654,{ bonus bUseSPrate,-20; bonus bMaxHP,300; }
-2369:2428:2533:5306,{ bonus2 bSubRace,RC_DemiHuman,10; bonus2 bSubRace,RC_Player,10; bonus bMaxHPrate,20; bonus2 bResEff,Eff_Freeze,10000; skill "WZ_FROSTNOVA",10; }
+2369:2428:2533:5306,{ bonus2 bSubRace,RC_DemiHuman,10; bonus2 bSubRace,RC_Player_Human,10; bonus bMaxHPrate,20; bonus2 bResEff,Eff_Freeze,10000; skill "WZ_FROSTNOVA",10; }
 2371:2522,{ bonus bAgi,5; bonus bFlee,10; }
 2371:2522,{ bonus bAgi,5; bonus bFlee,10; }
 2371:2523,{ bonus bAgi,5; bonus bFlee,10; }
 2371:2523,{ bonus bAgi,5; bonus bFlee,10; }
 2374:2729,{ bonus2 bAddClass,Class_All,3; bonus bMatkRate,3; }
 2374:2729,{ bonus2 bAddClass,Class_All,3; bonus bMatkRate,3; }
 2375:2729,{ bonus2 bAddClass,Class_All,3; bonus bMatkRate,3; }
 2375:2729,{ bonus2 bAddClass,Class_All,3; bonus bMatkRate,3; }
-2376:2435:2538,{ bonus2 bSubRace,RC_All,-300; bonus2 bSubRace,RC_DemiHuman,300; bonus2 bSubRace,RC_Player,300; bonus bVit,3; bonus bMaxHPRate,12; bonus bHealpower2,10; bonus bAddItemHealRate,10; autobonus2 "{ bonus2 bHPRegenRate,600,1000; }",5,10000,BF_WEAPON,"{ specialeffect2 EF_HEAL; }"; }
-2377:2435:2538,{ bonus2 bSubRace,RC_All,-300; bonus2 bSubRace,RC_DemiHuman,300; bonus2 bSubRace,RC_Player,300; bonus bStr,3; bonus bMaxHPRate,12; bonus2 bSkillAtk,"MC_MAMMONITE",20; bonus2 bSkillHeal,"AM_POTIONPITCHER",10; bonus2 bSkillHeal2,"AM_POTIONPITCHER",10; bonus2 bSkillHeal2,"AL_HEAL",10; bonus bUnbreakableArmor; }
-2378:2435:2538,{ bonus2 bSubRace,RC_All,-300; bonus2 bSubRace,RC_DemiHuman,300; bonus2 bSubRace,RC_Player,300; bonus bAgi,3; bonus bMaxHPRate,12; bonus bCritical,5; bonus bAspdRate,5; autobonus "{ bonus2 bHPRegenRate,300,1000; }",10,10000,BF_WEAPON,"{ specialeffect2 EF_HEAL; }"; }
-2379:2436:2539,{ bonus2 bSubRace,RC_All,-300; bonus2 bSubRace,RC_DemiHuman,300; bonus2 bSubRace,RC_Player,300; bonus bInt,3; bonus bMaxHPRate,12; bonus2 bResEff,Eff_Stun,2000; autobonus2 "{ bonus bDefEle,Ele_Ghost; }",30,10000,BF_WEAPON,"{ specialeffect2 EF_ENERGYCOAT; }"; }
-2380:2436:2539,{ bonus2 bSubRace,RC_All,-300; bonus2 bSubRace,RC_DemiHuman,300; bonus2 bSubRace,RC_Player,300; bonus bInt,3; bonus bMaxHPRate,12; bonus2 bCastrate,"AL_HOLYLIGHT",-50; bonus bHealPower,6; autobonus2 "{ bonus bDefEle,Ele_Ghost; }",30,10000,BF_WEAPON,"{ specialeffect2 EF_ENERGYCOAT; }"; }
-2381:2436:2539,{ bonus2 bSubRace,RC_All,-300; bonus2 bSubRace,RC_DemiHuman,300; bonus2 bSubRace,RC_Player,300; bonus bDex,3; bonus bMaxHPRate,12; bonus bLongAtkDef,10; bonus bDelayRate,-25; }
-2382:2437:2540,{ bonus2 bSubRace,RC_All,-300; bonus2 bSubRace,RC_DemiHuman,300; bonus2 bSubRace,RC_Player,300; bonus bDex,3; bonus bMaxHPRate,12; bonus bLongAtkDef,10; bonus bDelayRate,-25; }
+2376:2435:2538,{ bonus2 bSubRace,RC_All,-300; bonus2 bSubRace,RC_DemiHuman,300; bonus2 bSubRace,RC_Player_Human,300; bonus bVit,3; bonus bMaxHPRate,12; bonus bHealpower2,10; bonus bAddItemHealRate,10; autobonus2 "{ bonus2 bHPRegenRate,600,1000; }",5,10000,BF_WEAPON,"{ specialeffect2 EF_HEAL; }"; }
+2377:2435:2538,{ bonus2 bSubRace,RC_All,-300; bonus2 bSubRace,RC_DemiHuman,300; bonus2 bSubRace,RC_Player_Human,300; bonus bStr,3; bonus bMaxHPRate,12; bonus2 bSkillAtk,"MC_MAMMONITE",20; bonus2 bSkillHeal,"AM_POTIONPITCHER",10; bonus2 bSkillHeal2,"AM_POTIONPITCHER",10; bonus2 bSkillHeal2,"AL_HEAL",10; bonus bUnbreakableArmor; }
+2378:2435:2538,{ bonus2 bSubRace,RC_All,-300; bonus2 bSubRace,RC_DemiHuman,300; bonus2 bSubRace,RC_Player_Human,300; bonus bAgi,3; bonus bMaxHPRate,12; bonus bCritical,5; bonus bAspdRate,5; autobonus "{ bonus2 bHPRegenRate,300,1000; }",10,10000,BF_WEAPON,"{ specialeffect2 EF_HEAL; }"; }
+2379:2436:2539,{ bonus2 bSubRace,RC_All,-300; bonus2 bSubRace,RC_DemiHuman,300; bonus2 bSubRace,RC_Player_Human,300; bonus bInt,3; bonus bMaxHPRate,12; bonus2 bResEff,Eff_Stun,2000; autobonus2 "{ bonus bDefEle,Ele_Ghost; }",30,10000,BF_WEAPON,"{ specialeffect2 EF_ENERGYCOAT; }"; }
+2380:2436:2539,{ bonus2 bSubRace,RC_All,-300; bonus2 bSubRace,RC_DemiHuman,300; bonus2 bSubRace,RC_Player_Human,300; bonus bInt,3; bonus bMaxHPRate,12; bonus2 bCastrate,"AL_HOLYLIGHT",-50; bonus bHealPower,6; autobonus2 "{ bonus bDefEle,Ele_Ghost; }",30,10000,BF_WEAPON,"{ specialeffect2 EF_ENERGYCOAT; }"; }
+2381:2436:2539,{ bonus2 bSubRace,RC_All,-300; bonus2 bSubRace,RC_DemiHuman,300; bonus2 bSubRace,RC_Player_Human,300; bonus bDex,3; bonus bMaxHPRate,12; bonus bLongAtkDef,10; bonus bDelayRate,-25; }
+2382:2437:2540,{ bonus2 bSubRace,RC_All,-300; bonus2 bSubRace,RC_DemiHuman,300; bonus2 bSubRace,RC_Player_Human,300; bonus bDex,3; bonus bMaxHPRate,12; bonus bLongAtkDef,10; bonus bDelayRate,-25; }
 2387:2440:2744,{ bonus bMaxHPrate,7; bonus bMaxSPrate,7; bonus bCastrate,-3; bonus bDelayrate,-15; }
 2387:2440:2744,{ bonus bMaxHPrate,7; bonus bMaxSPrate,7; bonus bCastrate,-3; bonus bDelayrate,-15; }
 2390:2749,{ bonus bFlee2,5; }
 2390:2749,{ bonus bFlee2,5; }
 2394:2444:2549,{ bonus2 bAddClass,Class_All,5; bonus bMatkRate,5; bonus2 bResEff,Eff_Freeze,10000; bonus2 bSkillHeal2,"AM_POTIONPITCHER",3; bonus2 bSkillHeal2,"AL_HEAL",3; bonus2 bSkillHeal2,"PR_SANCTUARY",3; }
 2394:2444:2549,{ bonus2 bAddClass,Class_All,5; bonus bMatkRate,5; bonus2 bResEff,Eff_Freeze,10000; bonus2 bSkillHeal2,"AM_POTIONPITCHER",3; bonus2 bSkillHeal2,"AL_HEAL",3; bonus2 bSkillHeal2,"PR_SANCTUARY",3; }
@@ -137,7 +137,7 @@
 4153:4247:4273,{ bonus3 bAddMonsterDropItem,544,RC_Fish,3000; bonus2 bAddEle,Ele_Water,30; }
 4153:4247:4273,{ bonus3 bAddMonsterDropItem,544,RC_Fish,3000; bonus2 bAddEle,Ele_Water,30; }
 4168:4169,{ bonus bMaxHPrate,20; bonus bMaxSPrate,20; bonus bCastrate,-10; }
 4168:4169,{ bonus bMaxHPrate,20; bonus bMaxSPrate,20; bonus bCastrate,-10; }
 4172:4210:4230:4257:4272,{ bonus bAgi,5; bonus bStr,5; bonus bAspdRate,5; bonus bSpeedRate,25; bonus bSPDrainValue,1; if(BaseClass==Job_Thief) bonus bNoGemStone; }
 4172:4210:4230:4257:4272,{ bonus bAgi,5; bonus bStr,5; bonus bAspdRate,5; bonus bSpeedRate,25; bonus bSPDrainValue,1; if(BaseClass==Job_Thief) bonus bNoGemStone; }
-4178:4199:4234:4252:4297,{ bonus bAgi,5; bonus bDex,3; bonus bLongAtkRate,20; bonus bPerfectHitAddRate,20; if(BaseClass==Job_Archer) { bonus2 bExpAddRace,RC_Brute,5; bonus2 bComaRace,RC_Brute,100; } }
+4178:4199:4234:4252:4297,{ bonus bAgi,5; bonus bDex,3; bonus bLongAtkRate,20; bonus bPerfectHitAddRate,20; if(BaseClass==Job_Archer) { bonus2 bExpAddRace,RC_Brute,5; bonus2 bComaRace,RC_Brute,100; bonus2 bComaRace,RC_Player_Doram,100; } }
 4178:4234:4252:4297:4381,{ bonus bDex,5; bonus2 bSkillAtk,"CG_ARROWVULCAN",5; bonus2 bSkillAtk,"DC_THROWARROW",10; bonus2 bSkillAtk,"BA_MUSICALSTRIKE",10; if(BaseJob==Job_Bard||BaseJob==Job_Dancer) bonus3 bAutoSpellWhenHit,"CG_TAROTCARD",2,50; }
 4178:4234:4252:4297:4381,{ bonus bDex,5; bonus2 bSkillAtk,"CG_ARROWVULCAN",5; bonus2 bSkillAtk,"DC_THROWARROW",10; bonus2 bSkillAtk,"BA_MUSICALSTRIKE",10; if(BaseJob==Job_Bard||BaseJob==Job_Dancer) bonus3 bAutoSpellWhenHit,"CG_TAROTCARD",2,50; }
 4185:4217:4280:4293:4312,{ bonus bVit,10; bonus bCastrate,-10; bonus bUseSPRate,-10; if(BaseClass==Job_Acolyte) { bonus2 bExpAddRace,RC_Undead,5; bonus2 bExpAddRace,RC_Demon,5; bonus2 bSubRace,RC_Undead,30; bonus2 bSubRace,RC_Demon,30; } }
 4185:4217:4280:4293:4312,{ bonus bVit,10; bonus bCastrate,-10; bonus bUseSPRate,-10; if(BaseClass==Job_Acolyte) { bonus2 bExpAddRace,RC_Undead,5; bonus2 bExpAddRace,RC_Demon,5; bonus2 bSubRace,RC_Undead,30; bonus2 bSubRace,RC_Demon,30; } }
 4185:4293:4312:4332,{ bonus bStr,3; bonus bMaxSP,80; bonus bBaseAtk,25; bonus3 bAutoSpell,"AL_CRUCIS",5,10; bonus2 bSkillAtk,"MO_EXTREMITYFIST",10; if(BaseJob==Job_Monk) { bonus bUseSPrate,-10; bonus bNoCastCancel; } }
 4185:4293:4312:4332,{ bonus bStr,3; bonus bMaxSP,80; bonus bBaseAtk,25; bonus3 bAutoSpell,"AL_CRUCIS",5,10; bonus2 bSkillAtk,"MO_EXTREMITYFIST",10; if(BaseJob==Job_Monk) { bonus bUseSPrate,-10; bonus bNoCastCancel; } }
@@ -152,7 +152,7 @@
 4268:4277,{ bonus bBaseAtk,20; bonus bLuk,3; }
 4268:4277,{ bonus bBaseAtk,20; bonus bLuk,3; }
 4311:4319:4331:4371,{ bonus bInt,1; bonus bStr,1; bonus bDef,2; bonus bSPrecovRate,10; bonus2 bSkillAtk,"PA_SHIELDCHAIN",10; bonus2 bSkillAtk,"PA_SACRIFICE",10; bonus bCastrate,-10; if(BaseJob==Job_Crusader) bonus bDefEle,Ele_Holy; }
 4311:4319:4331:4371,{ bonus bInt,1; bonus bStr,1; bonus bDef,2; bonus bSPrecovRate,10; bonus2 bSkillAtk,"PA_SHIELDCHAIN",10; bonus2 bSkillAtk,"PA_SACRIFICE",10; bonus bCastrate,-10; if(BaseJob==Job_Crusader) bonus bDefEle,Ele_Holy; }
 4323:4324,{ bonus3 bAutoSpell,"MG_FROSTDIVER",3,250; }
 4323:4324,{ bonus3 bAutoSpell,"MG_FROSTDIVER",3,250; }
-4435:4436,{ bonus2 bSPGainRace,RC_DemiHuman,2; bonus2 bSPGainRace,RC_Player,2; }
+4435:4436,{ bonus2 bSPGainRace,RC_DemiHuman,2; bonus2 bSPGainRace,RC_Player_Human,2; }
 5040:5442,{ bonus bAspdRate,3; bonus bCastrate,3; }
 5040:5442,{ bonus bAspdRate,3; bonus bCastrate,3; }
 5068:5653,{ bonus bStr,1; bonus bAtkRate,5; }
 5068:5653,{ bonus bStr,1; bonus bAtkRate,5; }
 5074:5653,{ bonus bStr,1; bonus bAspdRate,2; }
 5074:5653,{ bonus bStr,1; bonus bAspdRate,2; }

+ 175 - 175
db/pre-re/item_db.txt

@@ -480,7 +480,7 @@
 1127,Saber_,Saber,5,49000,,1000,115,,1,3,0x000654E2,7,2,2,3,27,1,2,{},{},{}
 1127,Saber_,Saber,5,49000,,1000,115,,1,3,0x000654E2,7,2,2,3,27,1,2,{},{},{}
 1128,Hae_Dong_Gum_,Haedonggum,5,50000,,900,120,,1,2,0x000654E2,7,2,2,3,27,1,2,{ bonus bInt,3; },{},{}
 1128,Hae_Dong_Gum_,Haedonggum,5,50000,,900,120,,1,2,0x000654E2,7,2,2,3,27,1,2,{ bonus bInt,3; },{},{}
 1129,Flamberge,Flamberge,5,60000,,1500,150,,1,0,0x00004080,7,2,2,3,27,1,2,{},{},{}
 1129,Flamberge,Flamberge,5,60000,,1500,150,,1,0,0x00004080,7,2,2,3,27,1,2,{},{},{}
-1130,Nagan,Nagan,5,20,,500,120,,1,0,0x000654E2,7,2,2,4,40,1,2,{ skill "TF_DOUBLE",5; bonus bDoubleRate,25; bonus2 bAddRace,RC_DemiHuman,5; bonus2 bAddRace,RC_Player,5; },{},{}
+1130,Nagan,Nagan,5,20,,500,120,,1,0,0x000654E2,7,2,2,4,40,1,2,{ skill "TF_DOUBLE",5; bonus bDoubleRate,25; bonus2 bAddRace,RC_DemiHuman,5; bonus2 bAddRace,RC_Player_Human,5; },{},{}
 1131,Ice_Falchon,Ice Falchion,5,20,,600,100,,1,0,0x000654E2,7,2,2,4,40,1,2,{ bonus bAtkEle,Ele_Water; bonus2 bAddEff,Eff_Freeze,500; bonus2 bAddEff2,Eff_Freeze,10; skill "MG_COLDBOLT",3; bonus3 bAutoSpell,"MG_COLDBOLT",3,100; },{},{}
 1131,Ice_Falchon,Ice Falchion,5,20,,600,100,,1,0,0x000654E2,7,2,2,4,40,1,2,{ bonus bAtkEle,Ele_Water; bonus2 bAddEff,Eff_Freeze,500; bonus2 bAddEff2,Eff_Freeze,10; skill "MG_COLDBOLT",3; bonus3 bAutoSpell,"MG_COLDBOLT",3,100; },{},{}
 1132,Edge,Edge,5,20,,700,115,,1,0,0x000654E2,7,2,2,4,40,1,2,{ bonus2 bAddEff,Eff_Curse,30; bonus2 bComaClass,Class_Normal,10; },{},{}
 1132,Edge,Edge,5,20,,700,115,,1,0,0x000654E2,7,2,2,4,40,1,2,{ bonus2 bAddEff,Eff_Curse,30; bonus2 bComaClass,Class_Normal,10; },{},{}
 1133,Fire_Brand,Fireblend,5,20,,500,100,,1,0,0x000654E2,7,2,2,4,40,1,2,{ bonus bAtkEle,Ele_Fire; skill "MG_FIREBOLT",3; bonus3 bAutoSpell,"MG_FIREBOLT",3,100; },{},{}
 1133,Fire_Brand,Fireblend,5,20,,500,100,,1,0,0x000654E2,7,2,2,4,40,1,2,{ bonus bAtkEle,Ele_Fire; skill "MG_FIREBOLT",3; bonus3 bAutoSpell,"MG_FIREBOLT",3,100; },{},{}
@@ -519,25 +519,25 @@
 1166,Dragon_Slayer,Dragon Slayer,5,20,,1300,150,,1,0,0x00004082,7,2,34,4,48,1,3,{ bonus bIgnoreDefRace,RC_Dragon; bonus2 bAddRace,RC_Dragon,15; },{},{}
 1166,Dragon_Slayer,Dragon Slayer,5,20,,1300,150,,1,0,0x00004082,7,2,34,4,48,1,3,{ bonus bIgnoreDefRace,RC_Dragon; bonus2 bAddRace,RC_Dragon,15; },{},{}
 1167,Schweizersabel,Schweizersabel,5,20,,1600,160,,1,0,0x00004082,7,2,34,4,48,1,3,{ bonus bAtkEle,Ele_Wind; bonus bDef,1; bonus3 bAutoSpell,"MG_LIGHTNINGBOLT",3,100; },{},{}
 1167,Schweizersabel,Schweizersabel,5,20,,1600,160,,1,0,0x00004082,7,2,34,4,48,1,3,{ bonus bAtkEle,Ele_Wind; bonus bDef,1; bonus3 bAutoSpell,"MG_LIGHTNINGBOLT",3,100; },{},{}
 1168,Zweihander,Zweihander,5,20,,2200,200,,1,0,0x00004082,7,2,34,4,48,1,3,{ bonus bUnbreakableWeapon; },{},{}
 1168,Zweihander,Zweihander,5,20,,2200,200,,1,0,0x00004082,7,2,34,4,48,1,3,{ bonus bUnbreakableWeapon; },{},{}
-1169,Executioner_,Executioner,5,20,,2200,155,,1,0,0x00004082,7,2,34,4,48,1,3,{ bonus bIgnoreDefRace,RC_DemiHuman; bonus bIgnoreDefRace,RC_Player; bonus2 bAddRace,RC_DemiHuman,20; bonus2 bAddRace,RC_Player,20; bonus2 bSubRace,RC_DemiHuman,-10; bonus2 bSubRace,RC_Player,-10; bonus bAtkEle,Ele_Dark; },{},{}
+1169,Executioner_,Executioner,5,20,,2200,155,,1,0,0x00004082,7,2,34,4,48,1,3,{ bonus bIgnoreDefRace,RC_DemiHuman; bonus bIgnoreDefRace,RC_Player_Human; bonus2 bAddRace,RC_DemiHuman,20; bonus2 bAddRace,RC_Player_Human,20; bonus2 bSubRace,RC_DemiHuman,-10; bonus2 bSubRace,RC_Player_Human,-10; bonus bAtkEle,Ele_Dark; },{},{}
 1170,Katzbalger,Katzbalger,5,20,,2000,175,,1,0,0x00004082,7,2,34,4,48,1,3,{ bonus bVit,5; bonus bDef,10; },{},{}
 1170,Katzbalger,Katzbalger,5,20,,2000,175,,1,0,0x00004082,7,2,34,4,48,1,3,{ bonus bVit,5; bonus bDef,10; },{},{}
 1171,Zweihander_,Zweihander,5,20,,2200,200,,1,2,0x00004082,7,2,34,4,48,1,3,{ bonus bUnbreakableWeapon; },{},{}
 1171,Zweihander_,Zweihander,5,20,,2200,200,,1,2,0x00004082,7,2,34,4,48,1,3,{ bonus bUnbreakableWeapon; },{},{}
 1172,Claymore_,Claymore,5,74000,,2500,180,,1,2,0x00004080,7,2,34,3,33,1,3,{},{},{}
 1172,Claymore_,Claymore,5,74000,,2500,180,,1,2,0x00004080,7,2,34,3,33,1,3,{},{},{}
 1173,Muramasa_C,Muramasa,5,1,,0,204,,1,0,0x00004082,7,2,34,4,1,0,3,{ bonus bCritical,30; bonus bAspdRate,8; },{},{}
 1173,Muramasa_C,Muramasa,5,1,,0,204,,1,0,0x00004082,7,2,34,4,1,0,3,{ bonus bCritical,30; bonus bAspdRate,8; },{},{}
-1174,Executioner_C,Executioner,5,2,,0,190,,1,0,0x00004082,7,2,34,4,0,0,3,{ bonus bIgnoreDefRace,RC_DemiHuman; bonus bIgnoreDefRace,RC_Player; bonus2 bAddRace,RC_DemiHuman,20; bonus2 bAddRace,RC_Player,20; bonus2 bSubRace,RC_DemiHuman,-10; bonus2 bSubRace,RC_Player,-10; bonus bAtkEle,Ele_Dark; },{},{}
+1174,Executioner_C,Executioner,5,2,,0,190,,1,0,0x00004082,7,2,34,4,0,0,3,{ bonus bIgnoreDefRace,RC_DemiHuman; bonus bIgnoreDefRace,RC_Player_Human; bonus2 bAddRace,RC_DemiHuman,20; bonus2 bAddRace,RC_Player_Human,20; bonus2 bSubRace,RC_DemiHuman,-10; bonus2 bSubRace,RC_Player_Human,-10; bonus bAtkEle,Ele_Dark; },{},{}
 1175,Altas_Weapon,Atlas Weapon,5,20,,3500,200,,1,1,0x00004082,2,2,34,4,55,1,3,{ bonus bCritical,10; if(readparam(bStr)>=80) bonus bBreakArmorRate,500; },{},{}
 1175,Altas_Weapon,Atlas Weapon,5,20,,3500,200,,1,1,0x00004082,2,2,34,4,55,1,3,{ bonus bCritical,10; if(readparam(bStr)>=80) bonus bBreakArmorRate,500; },{},{}
 1176,Muscle_Cutter,Muscle Cutter,5,20,,2200,160,,1,2,0x00004082,2,2,34,4,55,1,3,{ bonus2 bAddEff,Eff_Bleeding,800; bonus3 bAutoSpell,"AL_DECAGI",1,30; },{},{}
 1176,Muscle_Cutter,Muscle Cutter,5,20,,2200,160,,1,2,0x00004082,2,2,34,4,55,1,3,{ bonus2 bAddEff,Eff_Bleeding,800; bonus3 bAutoSpell,"AL_DECAGI",1,30; },{},{}
 1177,Muramash,Muramash,5,20,,0,120,,1,0,0x00004082,7,2,34,1,0,0,3,{ bonus2 bAddClass,Class_All,50; },{},{}
 1177,Muramash,Muramash,5,20,,0,120,,1,0,0x00004082,7,2,34,1,0,0,3,{ bonus2 bAddClass,Class_All,50; },{},{}
 1178,Schweizersabel_,Schweizersabel,5,20,,1600,160,,1,2,0x00004082,7,2,34,4,48,1,3,{ bonus bAtkEle,Ele_Wind; bonus bDef,1; bonus3 bAutoSpell,"MG_LIGHTNINGBOLT",3,100; },{},{}
 1178,Schweizersabel_,Schweizersabel,5,20,,1600,160,,1,2,0x00004082,7,2,34,4,48,1,3,{ bonus bAtkEle,Ele_Wind; bonus bDef,1; bonus3 bAutoSpell,"MG_LIGHTNINGBOLT",3,100; },{},{}
-1179,Executioner__,Executioner,5,20,,2200,155,,1,1,0x00004082,7,2,34,4,48,1,3,{ bonus bIgnoreDefRace,RC_DemiHuman; bonus bIgnoreDefRace,RC_Player; bonus2 bAddRace,RC_DemiHuman,20; bonus2 bAddRace,RC_Player,20; bonus2 bSubRace,RC_DemiHuman,-10; bonus2 bSubRace,RC_Player,-10; bonus bAtkEle,Ele_Dark; },{},{}
+1179,Executioner__,Executioner,5,20,,2200,155,,1,1,0x00004082,7,2,34,4,48,1,3,{ bonus bIgnoreDefRace,RC_DemiHuman; bonus bIgnoreDefRace,RC_Player_Human; bonus2 bAddRace,RC_DemiHuman,20; bonus2 bAddRace,RC_Player_Human,20; bonus2 bSubRace,RC_DemiHuman,-10; bonus2 bSubRace,RC_Player_Human,-10; bonus bAtkEle,Ele_Dark; },{},{}
 1180,Dragon_Slayer_,Dragon Slayer,5,20,,1300,150,,1,2,0x00004082,7,2,34,4,48,1,3,{ bonus bIgnoreDefRace,RC_Dragon; bonus2 bAddRace,RC_Dragon,15; },{},{}
 1180,Dragon_Slayer_,Dragon Slayer,5,20,,1300,150,,1,2,0x00004082,7,2,34,4,48,1,3,{ bonus bIgnoreDefRace,RC_Dragon; bonus2 bAddRace,RC_Dragon,15; },{},{}
 1181,Tae_Goo_Lyeon,Tae Goo Lyeon,5,20,,2000,250,,1,2,0x00004082,2,2,34,4,90,1,3,{ bonus bFlee2,10; if(JobLevel>=70) autobonus "{ bonus bBaseAtk,50; }",10,10000,BF_WEAPON,"{ specialeffect2 EF_POTION_BERSERK; }"; if(getrefine()>8) { bonus bCastrate,-20; bonus bDelayRate,-20; } },{},{}
 1181,Tae_Goo_Lyeon,Tae Goo Lyeon,5,20,,2000,250,,1,2,0x00004082,2,2,34,4,90,1,3,{ bonus bFlee2,10; if(JobLevel>=70) autobonus "{ bonus bBaseAtk,50; }",10,10000,BF_WEAPON,"{ specialeffect2 EF_POTION_BERSERK; }"; if(getrefine()>8) { bonus bCastrate,-20; bonus bDelayRate,-20; } },{},{}
 1182,Bloody_Eater,Bloody Eater,5,20,,1200,200,,1,2,0x00004082,2,2,34,4,50,1,3,{ bonus bAtkEle,Ele_Ghost; autobonus "{ bonus bCritical,100; bonus bBaseAtk,50; }",1,5000,0,"{ specialeffect2 EF_FIRESPLASHHIT; }"; bonus bHPGainValue,100; },{},{}
 1182,Bloody_Eater,Bloody Eater,5,20,,1200,200,,1,2,0x00004082,2,2,34,4,50,1,3,{ bonus bAtkEle,Ele_Ghost; autobonus "{ bonus bCritical,100; bonus bBaseAtk,50; }",1,5000,0,"{ specialeffect2 EF_FIRESPLASHHIT; }"; bonus bHPGainValue,100; },{},{}
-1183,BF_Two_Handed_Sword1,Brave Assaulter's Katzbalger,5,20,,0,200,,1,0,0x00004082,7,2,34,3,80,1,3,{ bonus bStr,2; bonus2 bAddRace,RC_DemiHuman,55; bonus2 bAddRace,RC_Player,55; bonus2 bIgnoreDefRaceRate,RC_DemiHuman,20; bonus2 bIgnoreDefRaceRate,RC_Player,20; bonus bUnbreakableWeapon; },{},{}
-1184,BF_Two_Handed_Sword2,Valorous Assaulter's Katzbalger,5,20,,0,200,,1,0,0x00004082,7,2,34,3,80,1,3,{ bonus bCritical,20; bonus2 bAddRace,RC_DemiHuman,55; bonus2 bAddRace,RC_Player,55; bonus bCritAtkRate,20; bonus bUnbreakableWeapon; },{},{}
+1183,BF_Two_Handed_Sword1,Brave Assaulter's Katzbalger,5,20,,0,200,,1,0,0x00004082,7,2,34,3,80,1,3,{ bonus bStr,2; bonus2 bAddRace,RC_DemiHuman,55; bonus2 bAddRace,RC_Player_Human,55; bonus2 bIgnoreDefRaceRate,RC_DemiHuman,20; bonus2 bIgnoreDefRaceRate,RC_Player_Human,20; bonus bUnbreakableWeapon; },{},{}
+1184,BF_Two_Handed_Sword2,Valorous Assaulter's Katzbalger,5,20,,0,200,,1,0,0x00004082,7,2,34,3,80,1,3,{ bonus bCritical,20; bonus2 bAddRace,RC_DemiHuman,55; bonus2 bAddRace,RC_Player_Human,55; bonus bCritAtkRate,20; bonus bUnbreakableWeapon; },{},{}
 1185,Violet_Fear,Violet Fear,5,20,,2200,275,,1,2,0x00004082,2,2,34,4,80,1,3,{ bonus3 bAutoSpell,"WZ_METEOR",3,30; bonus3 bAutoSpell,"WZ_FROSTNOVA",5,50; autobonus "{ bonus bIgnoreDefClass,Class_Normal; }",50,5000; },{},{}
 1185,Violet_Fear,Violet Fear,5,20,,2200,275,,1,2,0x00004082,2,2,34,4,80,1,3,{ bonus3 bAutoSpell,"WZ_METEOR",3,30; bonus3 bAutoSpell,"WZ_FROSTNOVA",5,50; autobonus "{ bonus bIgnoreDefClass,Class_Normal; }",50,5000; },{},{}
 1186,Death_Guidance,Death Guidance,5,20,,2000,200,,1,2,0x00004082,2,2,34,4,70,1,3,{ bonus bStr,5; bonus bAgi,2; bonus bFlee2,20; bonus3 bAutoSpell,"NPC_HELLPOWER",1,10; bonus4 bAutoSpell,"NPC_HELLPOWER",1,10,0; if( getrefine()>8 ) bonus3 bAutoSpell,"NPC_VAMPIRE_GIFT",2,20; else bonus3 bAutoSpell,"NPC_VAMPIRE_GIFT",1,20; },{},{}
 1186,Death_Guidance,Death Guidance,5,20,,2000,200,,1,2,0x00004082,2,2,34,4,70,1,3,{ bonus bStr,5; bonus bAgi,2; bonus bFlee2,20; bonus3 bAutoSpell,"NPC_HELLPOWER",1,10; bonus4 bAutoSpell,"NPC_HELLPOWER",1,10,0; if( getrefine()>8 ) bonus3 bAutoSpell,"NPC_VAMPIRE_GIFT",2,20; else bonus3 bAutoSpell,"NPC_VAMPIRE_GIFT",1,20; },{},{}
-1187,Krieger_Twohand_Sword1,Glorious Claymore,5,20,,0,220,,1,0,0x00004082,7,2,34,4,80,1,3,{ bonus2 bAddRace,RC_DemiHuman,70; bonus2 bAddRace,RC_Player,70; bonus2 bIgnoreDefRaceRate,RC_DemiHuman,25; bonus2 bIgnoreDefRaceRate,RC_Player,25; bonus bUnbreakableWeapon; if(getrefine()>5) { bonus2 bAddRace,RC_DemiHuman,(getrefine()-3)*(getrefine()-3); bonus2 bAddRace,RC_Player,(getrefine()-3)*(getrefine()-3); bonus2 bIgnoreDefRaceRate,RC_DemiHuman,5; bonus2 bIgnoreDefRaceRate,RC_Player,5; } if(getrefine()>8) { bonus3 bAutoSpell,"LK_CONCENTRATION",max(getskilllv("LK_CONCENTRATION"),1),30; bonus3 bAutoSpell,"LK_AURABLADE",max(getskilllv("LK_AURABLADE"),1),30; } },{},{}
+1187,Krieger_Twohand_Sword1,Glorious Claymore,5,20,,0,220,,1,0,0x00004082,7,2,34,4,80,1,3,{ bonus2 bAddRace,RC_DemiHuman,70; bonus2 bAddRace,RC_Player_Human,70; bonus2 bIgnoreDefRaceRate,RC_DemiHuman,25; bonus2 bIgnoreDefRaceRate,RC_Player_Human,25; bonus bUnbreakableWeapon; if(getrefine()>5) { bonus2 bAddRace,RC_DemiHuman,(getrefine()-3)*(getrefine()-3); bonus2 bAddRace,RC_Player_Human,(getrefine()-3)*(getrefine()-3); bonus2 bIgnoreDefRaceRate,RC_DemiHuman,5; bonus2 bIgnoreDefRaceRate,RC_Player_Human,5; } if(getrefine()>8) { bonus3 bAutoSpell,"LK_CONCENTRATION",max(getskilllv("LK_CONCENTRATION"),1),30; bonus3 bAutoSpell,"LK_AURABLADE",max(getskilllv("LK_AURABLADE"),1),30; } },{},{}
 1188,Veteran_Sword,Veteran Sword,5,10000,,2000,180,,1,1,0x00004082,7,2,34,4,80,1,3,{ if(getskilllv("SM_BASH")==10) { bonus2 bSkillAtk,"SM_BASH",50; } if(getskilllv("KN_BOWLINGBASH")==10) { bonus2 bSkillAtk,"KN_BOWLINGBASH",50; } bonus bStr,1; bonus bDex,1; },{},{}
 1188,Veteran_Sword,Veteran Sword,5,10000,,2000,180,,1,1,0x00004082,7,2,34,4,80,1,3,{ if(getskilllv("SM_BASH")==10) { bonus2 bSkillAtk,"SM_BASH",50; } if(getskilllv("KN_BOWLINGBASH")==10) { bonus2 bSkillAtk,"KN_BOWLINGBASH",50; } bonus bStr,1; bonus bDex,1; },{},{}
 1189,Krasnaya,Krasnaya,5,20,,3800,200,,2,3,0x00004082,2,2,34,2,50,1,3,{ if(readparam(bStr)>=95) { bonus bBaseAtk,20; } },{},{}
 1189,Krasnaya,Krasnaya,5,20,,3800,200,,2,3,0x00004082,2,2,34,2,50,1,3,{ if(readparam(bStr)>=95) { bonus bBaseAtk,20; } },{},{}
 1190,Claymore_C,Claymore,5,0,,0,220,,1,0,0x00004080,7,2,34,3,1,0,3,{ bonus2 bAddSize,Size_All,40; },{},{}
 1190,Claymore_C,Claymore,5,0,,0,220,,1,0,0x00004080,7,2,34,3,1,0,3,{ bonus2 bAddSize,Size_All,40; },{},{}
@@ -569,12 +569,12 @@
 1225,Mail_Breaker,Mailbreaker,5,20,,1000,70,,1,0,0x028F5EEE,7,2,2,4,36,1,1,{ bonus bBreakArmorRate,500; },{},{}
 1225,Mail_Breaker,Mailbreaker,5,20,,1000,70,,1,0,0x028F5EEE,7,2,2,4,36,1,1,{ bonus bBreakArmorRate,500; },{},{}
 1226,Damascus_,Damascus,5,49000,,800,118,,1,2,0x028F5EEE,7,2,2,3,24,1,1,{ bonus bUnbreakableWeapon; },{},{}
 1226,Damascus_,Damascus,5,49000,,800,118,,1,2,0x028F5EEE,7,2,2,3,24,1,1,{ bonus bUnbreakableWeapon; },{},{}
 1227,Weeder_Knife,Weeder Knife,5,20,,400,80,,1,0,0x028F5EEE,7,2,2,4,36,1,1,{ bonus bIgnoreDefRace,RC_Plant; bonus2 bAddRace,RC_Plant,15; bonus2 bSubRace,RC_Plant,15; },{},{}
 1227,Weeder_Knife,Weeder Knife,5,20,,400,80,,1,0,0x028F5EEE,7,2,2,4,36,1,1,{ bonus bIgnoreDefRace,RC_Plant; bonus2 bAddRace,RC_Plant,15; bonus2 bSubRace,RC_Plant,15; },{},{}
-1228,Combat_Knife,Combat Knife,5,20,,400,80,,1,0,0x028F5EEE,7,2,2,4,36,1,1,{ bonus bIgnoreDefRace,RC_DemiHuman; bonus bIgnoreDefRace,RC_Player; bonus2 bSubRace,RC_DemiHuman,10; bonus2 bSubRace,RC_Player,10; bonus2 bSubRace,RC_Demon,-10; },{},{}
+1228,Combat_Knife,Combat Knife,5,20,,400,80,,1,0,0x028F5EEE,7,2,2,4,36,1,1,{ bonus bIgnoreDefRace,RC_DemiHuman; bonus bIgnoreDefRace,RC_Player_Human; bonus2 bSubRace,RC_DemiHuman,10; bonus2 bSubRace,RC_Player_Human,10; bonus2 bSubRace,RC_Demon,-10; },{},{}
 1229,Mama's_Knife,Kitchen Knife,5,20,,500,75,,1,0,0x028F5EEE,7,2,2,4,36,1,1,{ bonus bCritical,30; bonus3 bAddMonsterDropItem,517,RC_Brute,5000; },{},{}
 1229,Mama's_Knife,Kitchen Knife,5,20,,500,75,,1,0,0x028F5EEE,7,2,2,4,36,1,1,{ bonus bCritical,30; bonus3 bAddMonsterDropItem,517,RC_Brute,5000; },{},{}
 1230,House_Auger,Ice Pick,5,20,,600,80,,1,0,0x028F5EEE,7,2,2,4,36,1,1,{ bonus bDefRatioAtkClass,Class_All; },{},{}
 1230,House_Auger,Ice Pick,5,20,,600,80,,1,0,0x028F5EEE,7,2,2,4,36,1,1,{ bonus bDefRatioAtkClass,Class_All; },{},{}
 1231,Bazerald,Bazerald,5,20,,500,70,,1,0,0x028F5EEE,7,2,2,4,36,1,1,{ bonus bAtkEle,Ele_Fire; bonus bInt,5; bonus bMatkRate,10; },{},{}
 1231,Bazerald,Bazerald,5,20,,500,70,,1,0,0x028F5EEE,7,2,2,4,36,1,1,{ bonus bAtkEle,Ele_Fire; bonus bInt,5; bonus bMatkRate,10; },{},{}
 1232,Assasin_Dagger,Assassin Dagger,5,20,,600,140,,1,0,0x00001000,7,2,2,4,36,1,1,{ bonus bMaxHPrate,20; bonus bMaxSPrate,15; bonus bAspdRate,2; bonus bAtkEle,Ele_Dark; },{},{}
 1232,Assasin_Dagger,Assassin Dagger,5,20,,600,140,,1,0,0x00001000,7,2,2,4,36,1,1,{ bonus bMaxHPrate,20; bonus bMaxSPrate,15; bonus bAspdRate,2; bonus bAtkEle,Ele_Dark; },{},{}
-1233,Exercise,Exorciser,5,20,,700,90,,1,0,0x028F5EEE,7,2,2,4,36,1,1,{ bonus bIgnoreDefRace,RC_Demon; bonus2 bSubRace,RC_Demon,5; bonus2 bSubRace,RC_DemiHuman,-10; bonus2 bSubRace,RC_Player,-10; },{},{}
+1233,Exercise,Exorciser,5,20,,700,90,,1,0,0x028F5EEE,7,2,2,4,36,1,1,{ bonus bIgnoreDefRace,RC_Demon; bonus2 bSubRace,RC_Demon,5; bonus2 bSubRace,RC_DemiHuman,-10; bonus2 bSubRace,RC_Player_Human,-10; },{},{}
 1234,Moonlight_Sword,Moonlight Dagger,5,20,,700,50,,1,0,0x028F5EEE,7,2,2,4,36,1,1,{ bonus bMaxSPrate,10; bonus bSPDrainValue,3; },{},{}
 1234,Moonlight_Sword,Moonlight Dagger,5,20,,700,50,,1,0,0x028F5EEE,7,2,2,4,36,1,1,{ bonus bMaxSPrate,10; bonus bSPDrainValue,3; },{},{}
 1235,Azoth,Azoth,5,20,,700,110,,1,0,0x00040000,7,2,2,4,36,1,1,{ bonus bClassChange,300; },{},{}
 1235,Azoth,Azoth,5,20,,700,110,,1,0,0x00040000,7,2,2,4,36,1,1,{ bonus bClassChange,300; },{},{}
 1236,Sucsamad,Sucsamad,5,20,,800,140,,1,0,0x028F5EEE,7,2,2,4,36,1,1,{ bonus2 bAddEle,Ele_Earth,10; bonus2 bAddEle,Ele_Wind,10; bonus bUnbreakableWeapon; },{},{}
 1236,Sucsamad,Sucsamad,5,20,,800,140,,1,0,0x028F5EEE,7,2,2,4,36,1,1,{ bonus2 bAddEle,Ele_Earth,10; bonus2 bAddEle,Ele_Wind,10; bonus bUnbreakableWeapon; },{},{}
@@ -603,28 +603,28 @@
 1258,Katar_Of_Raging_Blaze,Katar of Raging Blaze,5,45000,,1200,105,,1,0,0x00001000,7,2,34,3,55,1,16,{ bonus bAtkEle,Ele_Fire; bonus2 bAddEff,Eff_Silence,500; },{},{}
 1258,Katar_Of_Raging_Blaze,Katar of Raging Blaze,5,45000,,1200,105,,1,0,0x00001000,7,2,34,3,55,1,16,{ bonus bAtkEle,Ele_Fire; bonus2 bAddEff,Eff_Silence,500; },{},{}
 1259,Katar_Of_Piercing_Wind,Katar of Piercing Wind,5,45000,,1200,105,,1,0,0x00001000,7,2,34,3,55,1,16,{ bonus bAtkEle,Ele_Wind; bonus2 bAddEff,Eff_Sleep,500; },{},{}
 1259,Katar_Of_Piercing_Wind,Katar of Piercing Wind,5,45000,,1200,105,,1,0,0x00001000,7,2,34,3,55,1,16,{ bonus bAtkEle,Ele_Wind; bonus2 bAddEff,Eff_Sleep,500; },{},{}
 1260,Ghoul_Leg,Sharpened Legbone of Ghoul,5,52500,,1700,150,,1,0,0x00001000,7,2,34,3,65,1,16,{ bonus bAtkEle,Ele_Undead; },{},{}
 1260,Ghoul_Leg,Sharpened Legbone of Ghoul,5,52500,,1700,150,,1,0,0x00001000,7,2,34,3,65,1,16,{ bonus bAtkEle,Ele_Undead; },{},{}
-1261,Infiltrator,Infiltrator,5,57000,,1500,140,,1,0,0x00001000,7,2,34,4,75,1,16,{ bonus2 bAddRace,RC_DemiHuman,50; bonus2 bAddRace,RC_Player,50; bonus bDef,3; bonus bFlee,5; bonus bFlee2,2; },{},{}
+1261,Infiltrator,Infiltrator,5,57000,,1500,140,,1,0,0x00001000,7,2,34,4,75,1,16,{ bonus2 bAddRace,RC_DemiHuman,50; bonus2 bAddRace,RC_Player_Human,50; bonus bDef,3; bonus bFlee,5; bonus bFlee2,2; },{},{}
 1262,Nail_Of_Loki,Loki's Nail,5,20,,1200,115,,1,0,0x00001000,7,2,34,3,55,1,16,{ bonus2 bAddEff,Eff_Bleeding,300; },{},{}
 1262,Nail_Of_Loki,Loki's Nail,5,20,,1200,115,,1,0,0x00001000,7,2,34,3,55,1,16,{ bonus2 bAddEff,Eff_Bleeding,300; },{},{}
 1263,Unholy_Touch,Unholy Touch,5,20,,1250,151,,1,0,0x00001000,7,2,34,4,70,1,16,{ bonus bAtkEle,Ele_Dark; bonus2 bAddEff,Eff_Curse,200; bonus bCritical,-1; bonus bUnbreakableWeapon; },{},{}
 1263,Unholy_Touch,Unholy Touch,5,20,,1250,151,,1,0,0x00001000,7,2,34,4,70,1,16,{ bonus bAtkEle,Ele_Dark; bonus2 bAddEff,Eff_Curse,200; bonus bCritical,-1; bonus bUnbreakableWeapon; },{},{}
 1264,Various_Jur,Specialty Jur,5,20,,800,90,,1,4,0x00001000,7,2,34,1,1,1,16,{ bonus2 bAddEff2,Eff_Bleeding,10; },{},{}
 1264,Various_Jur,Specialty Jur,5,20,,800,90,,1,4,0x00001000,7,2,34,1,1,1,16,{ bonus2 bAddEff2,Eff_Bleeding,10; },{},{}
-1265,Bloody_Roar,Bloody Roar,5,20,,1000,120,,1,0,0x00001000,7,2,34,4,75,1,16,{ bonus bIgnoreDefRace,RC_DemiHuman; bonus bIgnoreDefRace,RC_Player; bonus bFlee,-(readparam(bAgi)+BaseLevel); bonus bHPrecovRate,-100; bonus bSPrecovRate,-100; },{},{}
-1266,Infiltrator_,Infiltrator,5,57000,,1500,140,,1,1,0x00001000,7,2,34,4,75,1,16,{ bonus2 bAddRace,RC_DemiHuman,50; bonus2 bAddRace,RC_Player,50; bonus bDef,3; bonus bFlee,5; bonus bFlee2,2; },{},{}
-1267,Infiltrator_C,Infiltrator,5,1,,0,189,,1,0,0x00001000,7,2,34,4,1,0,16,{ bonus2 bAddRace,RC_DemiHuman,70; bonus2 bAddRace,RC_Player,70; bonus bDef,3; bonus bFlee,5; bonus bFlee2,2; bonus bAspdRate,5; },{},{}
+1265,Bloody_Roar,Bloody Roar,5,20,,1000,120,,1,0,0x00001000,7,2,34,4,75,1,16,{ bonus bIgnoreDefRace,RC_DemiHuman; bonus bIgnoreDefRace,RC_Player_Human; bonus bFlee,-(readparam(bAgi)+BaseLevel); bonus bHPrecovRate,-100; bonus bSPrecovRate,-100; },{},{}
+1266,Infiltrator_,Infiltrator,5,57000,,1500,140,,1,1,0x00001000,7,2,34,4,75,1,16,{ bonus2 bAddRace,RC_DemiHuman,50; bonus2 bAddRace,RC_Player_Human,50; bonus bDef,3; bonus bFlee,5; bonus bFlee2,2; },{},{}
+1267,Infiltrator_C,Infiltrator,5,1,,0,189,,1,0,0x00001000,7,2,34,4,1,0,16,{ bonus2 bAddRace,RC_DemiHuman,70; bonus2 bAddRace,RC_Player_Human,70; bonus bDef,3; bonus bFlee,5; bonus bFlee2,2; bonus bAspdRate,5; },{},{}
 1268,Wild_Beast_Claw,Wild Beast Claw,5,20,,1450,160,,1,1,0x00001000,2,2,34,4,55,1,16,{ if(getrefine()>=9){ bonus3 bAutoSpell,"NPC_CRITICALWOUND",2,100; } else bonus3 bAutoSpell,"NPC_CRITICALWOUND",1,100; },{},{}
 1268,Wild_Beast_Claw,Wild Beast Claw,5,20,,1450,160,,1,1,0x00001000,2,2,34,4,55,1,16,{ if(getrefine()>=9){ bonus3 bAutoSpell,"NPC_CRITICALWOUND",2,100; } else bonus3 bAutoSpell,"NPC_CRITICALWOUND",1,100; },{},{}
 1269,Inverse_Scale,Inverse Scale,5,20,,1500,140,,1,0,0x00001000,2,2,34,4,55,1,16,{ bonus bAtkEle,Ele_Holy; bonus3 bAutoSpell,"NPC_DRAGONFEAR",1,30; },{},{}
 1269,Inverse_Scale,Inverse Scale,5,20,,1500,140,,1,0,0x00001000,2,2,34,4,55,1,16,{ bonus bAtkEle,Ele_Holy; bonus3 bAutoSpell,"NPC_DRAGONFEAR",1,30; },{},{}
 1270,Drill_Katar,Drill Katar,5,20,,1400,110,,1,1,0x00001000,2,2,34,4,55,1,16,{ bonus bHit,30; bonus3 bAutoSpell,"ST_FULLSTRIP",1,150; },{},{}
 1270,Drill_Katar,Drill Katar,5,20,,1400,110,,1,1,0x00001000,2,2,34,4,55,1,16,{ bonus bHit,30; bonus3 bAutoSpell,"ST_FULLSTRIP",1,150; },{},{}
 1271,Blood_Tears,Blood Tears,5,20,,1700,120,,1,2,0x00001000,2,2,34,4,55,1,16,{ if(getrefine()>=9){ bonus3 bAutoSpell,"NPC_WIDEBLEEDING",2,30; } else bonus3 bAutoSpell,"NPC_WIDEBLEEDING",1,30; },{},{}
 1271,Blood_Tears,Blood Tears,5,20,,1700,120,,1,2,0x00001000,2,2,34,4,55,1,16,{ if(getrefine()>=9){ bonus3 bAutoSpell,"NPC_WIDEBLEEDING",2,30; } else bonus3 bAutoSpell,"NPC_WIDEBLEEDING",1,30; },{},{}
 1272,Scratcher,Scratcher,5,20,,0,120,,1,0,0x00001000,7,2,34,1,0,0,16,{ bonus2 bAddClass,Class_All,50; },{},{}
 1272,Scratcher,Scratcher,5,20,,0,120,,1,0,0x00001000,7,2,34,1,0,0,16,{ bonus2 bAddClass,Class_All,50; },{},{}
-1273,Bloody_Roar_C,Refined Bloody Roar,5,1,,0,148,,1,0,0x00001000,7,2,34,4,0,0,16,{ bonus bIgnoreDefRace,RC_DemiHuman; bonus bIgnoreDefRace,RC_Player; bonus2 bHPRegenRate,3,5000; },{},{}
+1273,Bloody_Roar_C,Refined Bloody Roar,5,1,,0,148,,1,0,0x00001000,7,2,34,4,0,0,16,{ bonus bIgnoreDefRace,RC_DemiHuman; bonus bIgnoreDefRace,RC_Player_Human; bonus2 bHPRegenRate,3,5000; },{},{}
 1274,Unholy_Touch_C,Refined Unholy Touch,5,1,,0,179,,1,0,0x00001000,7,2,34,4,0,0,16,{ bonus bAtkEle,Ele_Dark; bonus2 bAddEff,Eff_Curse,5000; bonus bCritical,-1; bonus bUnbreakableWeapon; },{},{}
 1274,Unholy_Touch_C,Refined Unholy Touch,5,1,,0,179,,1,0,0x00001000,7,2,34,4,0,0,16,{ bonus bAtkEle,Ele_Dark; bonus2 bAddEff,Eff_Curse,5000; bonus bCritical,-1; bonus bUnbreakableWeapon; },{},{}
 1275,Katar_Of_Cold_Icicle_,Katar of Frozen Icicle,5,45000,,1200,105,,1,3,0x00001000,7,2,34,3,55,1,16,{ bonus bAtkEle,Ele_Water; bonus2 bAddEff,Eff_Freeze,500; },{},{}
 1275,Katar_Of_Cold_Icicle_,Katar of Frozen Icicle,5,45000,,1200,105,,1,3,0x00001000,7,2,34,3,55,1,16,{ bonus bAtkEle,Ele_Water; bonus2 bAddEff,Eff_Freeze,500; },{},{}
 1276,Katar_Of_Thornbush_,Katar of Quaking,5,45000,,1200,105,,1,3,0x00001000,7,2,34,3,55,1,16,{ bonus bAtkEle,Ele_Earth; bonus2 bAddEff,Eff_Blind,500; },{},{}
 1276,Katar_Of_Thornbush_,Katar of Quaking,5,45000,,1200,105,,1,3,0x00001000,7,2,34,3,55,1,16,{ bonus bAtkEle,Ele_Earth; bonus2 bAddEff,Eff_Blind,500; },{},{}
 1277,Katar_Of_Raging_Blaze_,Katar of Raging Blaze,5,45000,,1200,105,,1,3,0x00001000,7,2,34,3,55,1,16,{ bonus bAtkEle,Ele_Fire; bonus2 bAddEff,Eff_Silence,500; },{},{}
 1277,Katar_Of_Raging_Blaze_,Katar of Raging Blaze,5,45000,,1200,105,,1,3,0x00001000,7,2,34,3,55,1,16,{ bonus bAtkEle,Ele_Fire; bonus2 bAddEff,Eff_Silence,500; },{},{}
 1278,Katar_Of_Piercing_Wind_,Katar of Piercing Wind,5,45000,,1200,105,,1,3,0x00001000,7,2,34,3,55,1,16,{ bonus bAtkEle,Ele_Wind; bonus2 bAddEff,Eff_Sleep,500; },{},{}
 1278,Katar_Of_Piercing_Wind_,Katar of Piercing Wind,5,45000,,1200,105,,1,3,0x00001000,7,2,34,3,55,1,16,{ bonus bAtkEle,Ele_Wind; bonus2 bAddEff,Eff_Sleep,500; },{},{}
-1279,BF_Katar1,Brave Carnage Katar,5,20,,0,130,,1,0,0x00001000,7,2,34,3,80,1,16,{ bonus bStr,1; bonus bDex,1; bonus bLuk,1; bonus2 bAddRace,RC_DemiHuman,70; bonus2 bAddRace,RC_Player,70; bonus2 bIgnoreDefRaceRate,RC_DemiHuman,20; bonus2 bIgnoreDefRaceRate,RC_Player,20; bonus bUnbreakableWeapon; },{},{}
-1280,BF_Katar2,Valorous Carnage Katar,5,20,,0,130,,1,0,0x00001000,7,2,34,3,80,1,16,{ bonus bStr,1; bonus bDex,1; bonus bLuk,1; bonus2 bAddRace,RC_DemiHuman,70; bonus2 bAddRace,RC_Player,70; bonus bCritAtkRate,20; bonus bAspdRate,5; bonus bUnbreakableWeapon; },{},{}
-1281,Krieger_Katar1,Glorious Bloody Roar,5,20,,0,140,,1,0,0x00001000,7,2,34,4,80,1,16,{ bonus2 bAddRace,RC_DemiHuman,70; bonus2 bAddRace,RC_Player,70; bonus2 bIgnoreDefRaceRate,RC_DemiHuman,20; bonus2 bIgnoreDefRaceRate,RC_Player,20; bonus bUnbreakableWeapon; if(getrefine()>5) { bonus2 bAddRace,RC_DemiHuman,(getrefine()-4)*(getrefine()-4); bonus2 bAddRace,RC_Player,(getrefine()-4)*(getrefine()-4); bonus2 bIgnoreDefRaceRate,RC_DemiHuman,5; bonus2 bIgnoreDefRaceRate,RC_Player,5; } if(getrefine()>8) autobonus "{ bonus bAspdRate,100; }",70,3000,BF_WEAPON,"{ specialeffect2 EF_POTION_BERSERK; }"; },{},{}
-1282,Krieger_Katar2,Glorious Jamadhar,5,20,,0,140,,1,0,0x00001000,7,2,34,4,80,1,16,{ bonus2 bAddRace,RC_DemiHuman,70; bonus2 bAddRace,RC_Player,70; bonus2 bIgnoreDefRaceRate,RC_DemiHuman,20; bonus2 bIgnoreDefRaceRate,RC_Player,20; bonus bUnbreakableWeapon; if(getrefine()>5) { bonus2 bAddRace,RC_DemiHuman,(getrefine()-4)*(getrefine()-4); bonus2 bAddRace,RC_Player,(getrefine()-4)*(getrefine()-4); bonus2 bCriticalAddRace,RC_DemiHuman,5; bonus2 bCriticalAddRace,RC_Player,5; } if(getrefine()>8) autobonus "{ bonus bAspdRate,100; }",70,3000,BF_WEAPON,"{ specialeffect2 EF_POTION_BERSERK; }"; },{},{}
+1279,BF_Katar1,Brave Carnage Katar,5,20,,0,130,,1,0,0x00001000,7,2,34,3,80,1,16,{ bonus bStr,1; bonus bDex,1; bonus bLuk,1; bonus2 bAddRace,RC_DemiHuman,70; bonus2 bAddRace,RC_Player_Human,70; bonus2 bIgnoreDefRaceRate,RC_DemiHuman,20; bonus2 bIgnoreDefRaceRate,RC_Player_Human,20; bonus bUnbreakableWeapon; },{},{}
+1280,BF_Katar2,Valorous Carnage Katar,5,20,,0,130,,1,0,0x00001000,7,2,34,3,80,1,16,{ bonus bStr,1; bonus bDex,1; bonus bLuk,1; bonus2 bAddRace,RC_DemiHuman,70; bonus2 bAddRace,RC_Player_Human,70; bonus bCritAtkRate,20; bonus bAspdRate,5; bonus bUnbreakableWeapon; },{},{}
+1281,Krieger_Katar1,Glorious Bloody Roar,5,20,,0,140,,1,0,0x00001000,7,2,34,4,80,1,16,{ bonus2 bAddRace,RC_DemiHuman,70; bonus2 bAddRace,RC_Player_Human,70; bonus2 bIgnoreDefRaceRate,RC_DemiHuman,20; bonus2 bIgnoreDefRaceRate,RC_Player_Human,20; bonus bUnbreakableWeapon; if(getrefine()>5) { bonus2 bAddRace,RC_DemiHuman,(getrefine()-4)*(getrefine()-4); bonus2 bAddRace,RC_Player_Human,(getrefine()-4)*(getrefine()-4); bonus2 bIgnoreDefRaceRate,RC_DemiHuman,5; bonus2 bIgnoreDefRaceRate,RC_Player_Human,5; } if(getrefine()>8) autobonus "{ bonus bAspdRate,100; }",70,3000,BF_WEAPON,"{ specialeffect2 EF_POTION_BERSERK; }"; },{},{}
+1282,Krieger_Katar2,Glorious Jamadhar,5,20,,0,140,,1,0,0x00001000,7,2,34,4,80,1,16,{ bonus2 bAddRace,RC_DemiHuman,70; bonus2 bAddRace,RC_Player_Human,70; bonus2 bIgnoreDefRaceRate,RC_DemiHuman,20; bonus2 bIgnoreDefRaceRate,RC_Player_Human,20; bonus bUnbreakableWeapon; if(getrefine()>5) { bonus2 bAddRace,RC_DemiHuman,(getrefine()-4)*(getrefine()-4); bonus2 bAddRace,RC_Player_Human,(getrefine()-4)*(getrefine()-4); bonus2 bCriticalAddRace,RC_DemiHuman,5; bonus2 bCriticalAddRace,RC_Player_Human,5; } if(getrefine()>8) autobonus "{ bonus bAspdRate,100; }",70,3000,BF_WEAPON,"{ specialeffect2 EF_POTION_BERSERK; }"; },{},{}
 1283,Katar_Of_Speed,Katar Of Speed,5,20,,0,175,,1,0,0x00001000,7,2,34,4,0,0,16,{ bonus2 bSkillAtk,"AS_SONICBLOW",25; bonus bAspdRate,3; },{},{}
 1283,Katar_Of_Speed,Katar Of Speed,5,20,,0,175,,1,0,0x00001000,7,2,34,4,0,0,16,{ bonus2 bSkillAtk,"AS_SONICBLOW",25; bonus bAspdRate,3; },{},{}
 1284,Krishna,Krishna,5,20,,1200,120,,1,2,0x00001000,2,2,34,3,50,1,16,{ bonus2 bSkillAtk,"AS_GRIMTOOTH",10; if(getskilllv("AS_SONICBLOW")) { bonus3 bAutoSpell,"AS_SONICBLOW",getskilllv("AS_SONICBLOW"),5; }else{ bonus3 bAutoSpell,"AS_SONICBLOW",1,5; } },{},{}
 1284,Krishna,Krishna,5,20,,1200,120,,1,2,0x00001000,2,2,34,3,50,1,16,{ bonus2 bSkillAtk,"AS_GRIMTOOTH",10; if(getskilllv("AS_SONICBLOW")) { bonus3 bAutoSpell,"AS_SONICBLOW",getskilllv("AS_SONICBLOW"),5; }else{ bonus3 bAutoSpell,"AS_SONICBLOW",1,5; } },{},{}
 1285,Cakram,Chakram,5,20,,1000,130,,1,2,0x00001000,2,2,34,3,50,1,16,{ if(getskilllv("AS_KATAR")==10) { bonus bHit,10; } bonus2 bSkillAtk,"ASC_METEORASSAULT",20; },{},{}
 1285,Cakram,Chakram,5,20,,1000,130,,1,2,0x00001000,2,2,34,3,50,1,16,{ if(getskilllv("AS_KATAR")==10) { bonus bHit,10; } bonus2 bSkillAtk,"ASC_METEORASSAULT",20; },{},{}
@@ -634,12 +634,12 @@
 1302,Axe_,Axe,5,500,,800,38,,1,4,0x000654E3,7,2,2,1,3,1,6,{},{},{}
 1302,Axe_,Axe,5,500,,800,38,,1,4,0x000654E3,7,2,2,1,3,1,6,{},{},{}
 1303,Axe__,Axe,5,500,,800,38,,1,0,0x000654E3,7,2,2,1,3,1,6,{},{},{}
 1303,Axe__,Axe,5,500,,800,38,,1,0,0x000654E3,7,2,2,1,3,1,6,{},{},{}
 1304,Orcish_Axe,Orcish Axe,5,20,,1500,75,,1,0,0x000654E3,7,2,2,3,3,1,6,{},{},{}
 1304,Orcish_Axe,Orcish Axe,5,20,,1500,75,,1,0,0x000654E3,7,2,2,3,3,1,6,{},{},{}
-1305,Cleaver,Cleaver,5,20,,1200,140,,1,0,0x000444A2,7,2,2,4,44,1,6,{ bonus2 bSubRace,RC_DemiHuman,5; bonus2 bSubRace,RC_Player,5; bonus3 bAddMonsterDropItem,517,RC_Brute,3000; },{},{}
+1305,Cleaver,Cleaver,5,20,,1200,140,,1,0,0x000444A2,7,2,2,4,44,1,6,{ bonus2 bSubRace,RC_DemiHuman,5; bonus2 bSubRace,RC_Player_Human,5; bonus3 bAddMonsterDropItem,517,RC_Brute,3000; },{},{}
 1306,War_Axe,War Axe,5,20,,4200,140,,1,1,0x00040400,7,2,2,3,76,1,6,{ bonus bDex,2; bonus bLuk,2; },{},{}
 1306,War_Axe,War Axe,5,20,,4200,140,,1,1,0x00040400,7,2,2,3,76,1,6,{ bonus bDex,2; bonus bLuk,2; },{},{}
 1307,Windhawk,Windhawk,5,18000,,1500,115,,1,0,0x000654E2,7,2,2,2,14,1,6,{ bonus bAtkEle,Ele_Wind; bonus bAspdRate,5; },{},{}
 1307,Windhawk,Windhawk,5,18000,,1500,115,,1,0,0x000654E2,7,2,2,2,14,1,6,{ bonus bAtkEle,Ele_Wind; bonus bAspdRate,5; },{},{}
 1308,Golden_Axe,Golden Axe,5,20,,3000,170,,1,0,0x00000001,7,2,2,4,45,1,6,{},{},{}
 1308,Golden_Axe,Golden Axe,5,20,,3000,170,,1,0,0x00000001,7,2,2,4,45,1,6,{},{},{}
 1309,Orcish_Axe_,Orcish Axe,5,20,,1500,75,,1,4,0x000654E3,7,2,2,3,3,1,6,{},{},{}
 1309,Orcish_Axe_,Orcish Axe,5,20,,1500,75,,1,4,0x000654E3,7,2,2,3,3,1,6,{},{},{}
-1310,Krieger_Onehand_Axe1,Glorious Cleaver,5,20,,0,130,,1,0,0x000444A2,7,2,2,4,80,1,6,{ bonus2 bAddRace,RC_DemiHuman,75; bonus2 bAddRace,RC_Player,75; bonus2 bIgnoreDefRaceRate,RC_DemiHuman,20; bonus2 bIgnoreDefRaceRate,RC_Player,20; bonus bUnbreakableWeapon; if(getrefine()>5) { bonus2 bAddRace,RC_DemiHuman,(getrefine()-4)*(getrefine()-4); bonus2 bAddRace,RC_Player,(getrefine()-4)*(getrefine()-4); bonus2 bIgnoreDefRaceRate,RC_DemiHuman,5; bonus2 bIgnoreDefRaceRate,RC_Player,5; bonus bAspdRate,5; } if(getrefine()>8) { bonus bAspdRate,5; bonus3 bAutoSpell,"NPC_CRITICALWOUND",1,50; bonus4 bAutoSpellOnSkill,"MC_MAMMONITE","NPC_CRITICALWOUND",2,200; } },{},{}
+1310,Krieger_Onehand_Axe1,Glorious Cleaver,5,20,,0,130,,1,0,0x000444A2,7,2,2,4,80,1,6,{ bonus2 bAddRace,RC_DemiHuman,75; bonus2 bAddRace,RC_Player_Human,75; bonus2 bIgnoreDefRaceRate,RC_DemiHuman,20; bonus2 bIgnoreDefRaceRate,RC_Player_Human,20; bonus bUnbreakableWeapon; if(getrefine()>5) { bonus2 bAddRace,RC_DemiHuman,(getrefine()-4)*(getrefine()-4); bonus2 bAddRace,RC_Player_Human,(getrefine()-4)*(getrefine()-4); bonus2 bIgnoreDefRaceRate,RC_DemiHuman,5; bonus2 bIgnoreDefRaceRate,RC_Player_Human,5; bonus bAspdRate,5; } if(getrefine()>8) { bonus bAspdRate,5; bonus3 bAutoSpell,"NPC_CRITICALWOUND",1,50; bonus4 bAutoSpellOnSkill,"MC_MAMMONITE","NPC_CRITICALWOUND",2,200; } },{},{}
 1311,Vecer_Axe,Vecer Axe,5,20,,1500,140,,1,2,0x000444A2,2,2,2,3,50,1,6,{ if(readparam(bLuk)>=90) { bonus bBaseAtk,20; } if(readparam(bDex)>=90) { bonus bCritical,5; } if(readparam(bDex)>=90||readparam(bLuk)>=90) { bonus2 bSkillAtk,"MC_MAMMONITE",15; } },{},{}
 1311,Vecer_Axe,Vecer Axe,5,20,,1500,140,,1,2,0x000444A2,2,2,2,3,50,1,6,{ if(readparam(bLuk)>=90) { bonus bBaseAtk,20; } if(readparam(bDex)>=90) { bonus bCritical,5; } if(readparam(bDex)>=90||readparam(bLuk)>=90) { bonus2 bSkillAtk,"MC_MAMMONITE",15; } },{},{}
 1312,Orcish_Axe_C,Orcish Axe,5,0,,0,110,,1,0,0x000654E3,7,2,2,3,1,0,6,{ bonus2 bAddSize,Size_All,70; },{},{}
 1312,Orcish_Axe_C,Orcish Axe,5,0,,0,110,,1,0,0x000654E3,7,2,2,3,1,0,6,{ bonus2 bAddSize,Size_All,70; },{},{}
 1313,Tourist_Axe,Tourist Axe,5,0,,500,77,,1,0,0x000654E3,7,2,2,1,1,0,6,{ bonus bStr,2; },{},{}
 1313,Tourist_Axe,Tourist Axe,5,0,,500,77,,1,0,0x000654E3,7,2,2,1,1,0,6,{ bonus bStr,2; },{},{}
@@ -662,9 +662,9 @@
 1364,Great_Axe,Great Axe,5,20,,1800,187,,1,0,0x000444A2,7,2,34,4,44,1,7,{ bonus2 bAddSkillBlow,"MC_MAMMONITE",5; bonus2 bAddEff,Eff_Stun,1500; },{},{}
 1364,Great_Axe,Great Axe,5,20,,1800,187,,1,0,0x000444A2,7,2,34,4,44,1,7,{ bonus2 bAddSkillBlow,"MC_MAMMONITE",5; bonus2 bAddEff,Eff_Stun,1500; },{},{}
 1365,Sabbath,Sabbath,5,20,,2300,120,,1,0,0x000444A2,7,2,34,4,44,1,7,{ bonus bAtkEle,Ele_Dark; bonus2 bComaRace,RC_Demon,50; bonus2 bCriticalAddRace,RC_Undead,50; },{},{}
 1365,Sabbath,Sabbath,5,20,,2300,120,,1,0,0x000444A2,7,2,34,4,44,1,7,{ bonus bAtkEle,Ele_Dark; bonus2 bComaRace,RC_Demon,50; bonus2 bCriticalAddRace,RC_Undead,50; },{},{}
 1366,Right_Epsilon,Light Epsilon,5,20,,2300,180,,1,0,0x000444A2,7,2,34,4,44,1,7,{ bonus bAtkEle,Ele_Holy; skill "AL_HEAL",3; bonus2 bAddRace,RC_Demon,3; },{},{}
 1366,Right_Epsilon,Light Epsilon,5,20,,2300,180,,1,0,0x000444A2,7,2,34,4,44,1,7,{ bonus bAtkEle,Ele_Holy; skill "AL_HEAL",3; bonus2 bAddRace,RC_Demon,3; },{},{}
-1367,Slaughter,Slaughter,5,20,,2500,120,,1,0,0x000444A2,7,2,34,4,44,1,7,{ bonus bAtkEle,Ele_Earth; bonus bIgnoreDefRace,RC_Brute; bonus2 bComaRace,RC_Brute,40; },{},{}
+1367,Slaughter,Slaughter,5,20,,2500,120,,1,0,0x000444A2,7,2,34,4,44,1,7,{ bonus bAtkEle,Ele_Earth; bonus bIgnoreDefRace,RC_Brute; bonus2 bComaRace,RC_Brute,40; bonus bIgnoreDefRace,RC_Player_Doram; bonus2 bComaRace,RC_Player_Doram,40; },{},{}
 1368,Tomahawk,Tomahawk,5,20,,2500,165,,1,0,0x000444A2,7,2,34,4,44,1,7,{ bonus bAtkEle,Ele_Wind; skill "ITM_TOMAHAWK",1; },{},{}
 1368,Tomahawk,Tomahawk,5,20,,2500,165,,1,0,0x000444A2,7,2,34,4,44,1,7,{ bonus bAtkEle,Ele_Wind; skill "ITM_TOMAHAWK",1; },{},{}
-1369,Guillotine,Guillotine,5,20,,3000,215,,1,0,0x000444A2,7,2,34,4,44,1,7,{ bonus2 bComaRace,RC_DemiHuman,30; bonus2 bComaRace,RC_Player,30; bonus2 bSPDrainValueRace,RC_DemiHuman,2; bonus2 bSPDrainValueRace,RC_Player,2; bonus2 bSPGainRace,RC_DemiHuman,20; bonus2 bSPGainRace,RC_Player,20; },{},{}
+1369,Guillotine,Guillotine,5,20,,3000,215,,1,0,0x000444A2,7,2,34,4,44,1,7,{ bonus2 bComaRace,RC_DemiHuman,30; bonus2 bComaRace,RC_Player_Human,30; bonus2 bSPDrainValueRace,RC_DemiHuman,2; bonus2 bSPDrainValueRace,RC_Player_Human,2; bonus2 bSPGainRace,RC_DemiHuman,20; bonus2 bSPGainRace,RC_Player_Human,20; },{},{}
 1370,Doom_Slayer,Doom Slayer,5,20,,6000,10,,1,0,0x000444A2,7,2,34,4,80,1,7,{ bonus bAspdRate,-40; bonus bUseSPrate,100; if(readparam(bStr)>=95){ bonus bBaseAtk,340; bonus2 bAddEff,Eff_Stun,3000; bonus bBreakArmorRate,500; } },{},{}
 1370,Doom_Slayer,Doom Slayer,5,20,,6000,10,,1,0,0x000444A2,7,2,34,4,80,1,7,{ bonus bAspdRate,-40; bonus bUseSPrate,100; if(readparam(bStr)>=95){ bonus bBaseAtk,340; bonus2 bAddEff,Eff_Stun,3000; bonus bBreakArmorRate,500; } },{},{}
 1371,Doom_Slayer_,Doom Slayer,5,20,,6000,10,,1,1,0x000444A2,7,2,34,4,80,1,7,{ bonus bAspdRate,-40; bonus bUseSPrate,100; if(readparam(bStr)>=95){ bonus bBaseAtk,340; bonus2 bAddEff,Eff_Stun,3000; bonus bBreakArmorRate,500; } },{},{}
 1371,Doom_Slayer_,Doom Slayer,5,20,,6000,10,,1,1,0x000444A2,7,2,34,4,80,1,7,{ bonus bAspdRate,-40; bonus bUseSPrate,100; if(readparam(bStr)>=95){ bonus bBaseAtk,340; bonus2 bAddEff,Eff_Stun,3000; bonus bBreakArmorRate,500; } },{},{}
 1372,Right_Epsilon_C,Light Epsilon,5,1,,0,229,,1,0,0x000444A2,7,2,34,4,1,0,7,{ bonus bAtkEle,Ele_Holy; skill "AL_HEAL",3; bonus2 bAddRace,RC_Demon,3; bonus bStr,10; bonus bSpeedRate,25; },{},{}
 1372,Right_Epsilon_C,Light Epsilon,5,1,,0,229,,1,0,0x000444A2,7,2,34,4,1,0,7,{ bonus bAtkEle,Ele_Holy; skill "AL_HEAL",3; bonus2 bAddRace,RC_Demon,3; bonus bStr,10; bonus bSpeedRate,25; },{},{}
@@ -674,10 +674,10 @@
 1376,Heart_Breaker,Heart Breaker,5,20,,2000,175,,1,1,0x000444A2,2,2,34,4,70,1,7,{ bonus bCritical,20+getrefine(); bonus bAspdRate,5; if((Class==Job_Whitesmith)||(Class==Job_Creator)) bonus3 bAutoSpell,"BS_HAMMERFALL",3,30; },{},{}
 1376,Heart_Breaker,Heart Breaker,5,20,,2000,175,,1,1,0x000444A2,2,2,34,4,70,1,7,{ bonus bCritical,20+getrefine(); bonus bAspdRate,5; if((Class==Job_Whitesmith)||(Class==Job_Creator)) bonus3 bAutoSpell,"BS_HAMMERFALL",3,30; },{},{}
 1377,Hurricane_Fury,Hurricane's Fury,5,20,,3500,332,,1,1,0x000444A2,2,2,34,4,80,1,7,{ bonus2 bSubSize,Size_Medium,10+getrefine(); bonus bAspdRate,getrefine(); bonus3 bAutoSpell,"NPC_PULSESTRIKE",5,20; },{},{}
 1377,Hurricane_Fury,Hurricane's Fury,5,20,,3500,332,,1,1,0x000444A2,2,2,34,4,80,1,7,{ bonus2 bSubSize,Size_Medium,10+getrefine(); bonus bAspdRate,getrefine(); bonus3 bAutoSpell,"NPC_PULSESTRIKE",5,20; },{},{}
 1378,Great_Axe_C,Refined Great Axe,5,1,,0,215,,1,0,0x000444A2,7,2,34,4,0,0,7,{ bonus bStr,5; bonus bHit,20; bonus2 bAddSkillBlow,"MC_MAMMONITE",5; bonus2 bAddEff,Eff_Stun,2000; },{},{}
 1378,Great_Axe_C,Refined Great Axe,5,1,,0,215,,1,0,0x000444A2,7,2,34,4,0,0,7,{ bonus bStr,5; bonus bHit,20; bonus2 bAddSkillBlow,"MC_MAMMONITE",5; bonus2 bAddEff,Eff_Stun,2000; },{},{}
-1379,BF_Two_Handed_Axe1,Valorous Insane Battle Axe,5,20,,0,200,,1,0,0x000444A2,7,2,34,3,80,1,7,{ bonus bStr,3; bonus2 bAddRace,RC_DemiHuman,55; bonus2 bAddRace,RC_Player,55; bonus2 bIgnoreDefRaceRate,RC_DemiHuman,20; bonus2 bIgnoreDefRaceRate,RC_Player,20; bonus bUnbreakableWeapon; },{},{}
-1380,BF_Two_Handed_Axe2,Brave Insane Battle Axe,5,20,,0,200,,1,0,0x000444A2,7,2,34,3,80,1,7,{ bonus bStr,3; bonus2 bAddRace,RC_DemiHuman,55; bonus2 bAddRace,RC_Player,55; autobonus "{ bonus bBreakArmorRate,10000; }",20,3000,BF_WEAPON,"{ specialeffect2 EF_POTION_BERSERK; }"; bonus bUnbreakableWeapon; },{},{}
+1379,BF_Two_Handed_Axe1,Valorous Insane Battle Axe,5,20,,0,200,,1,0,0x000444A2,7,2,34,3,80,1,7,{ bonus bStr,3; bonus2 bAddRace,RC_DemiHuman,55; bonus2 bAddRace,RC_Player_Human,55; bonus2 bIgnoreDefRaceRate,RC_DemiHuman,20; bonus2 bIgnoreDefRaceRate,RC_Player_Human,20; bonus bUnbreakableWeapon; },{},{}
+1380,BF_Two_Handed_Axe2,Brave Insane Battle Axe,5,20,,0,200,,1,0,0x000444A2,7,2,34,3,80,1,7,{ bonus bStr,3; bonus2 bAddRace,RC_DemiHuman,55; bonus2 bAddRace,RC_Player_Human,55; autobonus "{ bonus bBreakArmorRate,10000; }",20,3000,BF_WEAPON,"{ specialeffect2 EF_POTION_BERSERK; }"; bonus bUnbreakableWeapon; },{},{}
 1381,N_Battle_Axe,Novice Battle Axe,5,0,,0,100,,1,3,0x000444A2,7,2,34,1,3,0,7,{},{},{}
 1381,N_Battle_Axe,Novice Battle Axe,5,0,,0,100,,1,3,0x000444A2,7,2,34,1,3,0,7,{},{},{}
-1382,Krieger_Twohand_Axe1,Glorious Two-Handed Axe,5,20,,0,220,,1,0,0x000444A2,7,2,34,4,80,1,7,{ bonus2 bAddRace,RC_DemiHuman,70; bonus2 bAddRace,RC_Player,70; bonus2 bIgnoreDefRaceRate,RC_DemiHuman,25; bonus2 bIgnoreDefRaceRate,RC_Player,25; bonus bUnbreakableWeapon; if(getrefine()>5) { bonus2 bAddRace,RC_DemiHuman,(getrefine()-3)*(getrefine()-3); bonus2 bAddRace,RC_Player,(getrefine()-3)*(getrefine()-3); bonus2 bIgnoreDefRaceRate,RC_DemiHuman,5; bonus2 bIgnoreDefRaceRate,RC_Player,5; bonus3 bAutoSpell,"NPC_CRITICALWOUND",1,50; } if(getrefine()>8) { bonus3 bAutoSpell,"NPC_CRITICALWOUND",1,100; bonus4 bAutoSpellOnSkill,"MC_MAMMONITE","NPC_CRITICALWOUND",2,200; bonus4 bAutoSpellOnSkill,"WS_CARTTERMINATION","NPC_CRITICALWOUND",2,200; } },{},{}
+1382,Krieger_Twohand_Axe1,Glorious Two-Handed Axe,5,20,,0,220,,1,0,0x000444A2,7,2,34,4,80,1,7,{ bonus2 bAddRace,RC_DemiHuman,70; bonus2 bAddRace,RC_Player_Human,70; bonus2 bIgnoreDefRaceRate,RC_DemiHuman,25; bonus2 bIgnoreDefRaceRate,RC_Player_Human,25; bonus bUnbreakableWeapon; if(getrefine()>5) { bonus2 bAddRace,RC_DemiHuman,(getrefine()-3)*(getrefine()-3); bonus2 bAddRace,RC_Player_Human,(getrefine()-3)*(getrefine()-3); bonus2 bIgnoreDefRaceRate,RC_DemiHuman,5; bonus2 bIgnoreDefRaceRate,RC_Player_Human,5; bonus3 bAutoSpell,"NPC_CRITICALWOUND",1,50; } if(getrefine()>8) { bonus3 bAutoSpell,"NPC_CRITICALWOUND",1,100; bonus4 bAutoSpellOnSkill,"MC_MAMMONITE","NPC_CRITICALWOUND",2,200; bonus4 bAutoSpellOnSkill,"WS_CARTTERMINATION","NPC_CRITICALWOUND",2,200; } },{},{}
 1383,Holy_Celestial_Axe,Celestial Axe,5,20,,1500,200,,1,0,0x000444A2,7,2,34,4,60,1,7,{ bonus bAtkEle,Ele_Holy; bonus bVit,10; bonus2 bAddRace,RC_Undead,10; bonus3 bAutoSpell,"AL_BLESSING",5,50; },{},{}
 1383,Holy_Celestial_Axe,Celestial Axe,5,20,,1500,200,,1,0,0x000444A2,7,2,34,4,60,1,7,{ bonus bAtkEle,Ele_Holy; bonus bVit,10; bonus2 bAddRace,RC_Undead,10; bonus3 bAutoSpell,"AL_BLESSING",5,50; },{},{}
 1384,Veteran_Axe,Veteran Axe,5,10000,,3000,250,,1,2,0x000444A2,7,2,34,3,80,1,7,{ if(getskilllv("BS_DAGGER")==3) { bonus bBaseAtk,10; } if(getskilllv("BS_SWORD")==3) { bonus bBaseAtk,10; } if(getskilllv("BS_TWOHANDSWORD")==3) { bonus bBaseAtk,10; } if(getskilllv("BS_KNUCKLE")==3) { bonus bBaseAtk,10; } if(getskilllv("BS_SPEAR")==3) { bonus bBaseAtk,10; } if(getskilllv("BS_AXE")==3) { bonus bBaseAtk,10; } if(getskilllv("BS_MACE")==3) { bonus bBaseAtk,10; } bonus bVit,2; },{},{}
 1384,Veteran_Axe,Veteran Axe,5,10000,,3000,250,,1,2,0x000444A2,7,2,34,3,80,1,7,{ if(getskilllv("BS_DAGGER")==3) { bonus bBaseAtk,10; } if(getskilllv("BS_SWORD")==3) { bonus bBaseAtk,10; } if(getskilllv("BS_TWOHANDSWORD")==3) { bonus bBaseAtk,10; } if(getskilllv("BS_KNUCKLE")==3) { bonus bBaseAtk,10; } if(getskilllv("BS_SPEAR")==3) { bonus bBaseAtk,10; } if(getskilllv("BS_AXE")==3) { bonus bBaseAtk,10; } if(getskilllv("BS_MACE")==3) { bonus bBaseAtk,10; } bonus bVit,2; },{},{}
 1385,Bradium_Stonehammer,Bradium Stone Hammer,5,20,,2700,210,,1,0,0x000444A2,2,2,34,4,75,1,7,{ bonus3 bAddEffOnSkill,"BS_HAMMERFALL",Eff_Stun,500+(200*getrefine()); },{},{}
 1385,Bradium_Stonehammer,Bradium Stone Hammer,5,20,,2700,210,,1,0,0x000444A2,2,2,34,4,75,1,7,{ bonus3 bAddEffOnSkill,"BS_HAMMERFALL",Eff_Stun,500+(200*getrefine()); },{},{}
@@ -707,15 +707,15 @@
 1418,Gungnir_,Gungnir,5,20,,500,120,,3,2,0x00004082,7,2,2,4,4,1,4,{ bonus bAtkEle,Ele_Wind; bonus bPerfectHitRate,25; bonus bHit,30; },{},{}
 1418,Gungnir_,Gungnir,5,20,,500,120,,3,2,0x00004082,7,2,2,4,4,1,4,{ bonus bAtkEle,Ele_Wind; bonus bPerfectHitRate,25; bonus bHit,30; },{},{}
 1419,Pole_Axe_C,Pole Axe,5,1,,4800,159,,3,0,0x00004082,7,2,2,3,1,0,4,{ bonus bStr,1; bonus bInt,2; bonus bDex,1; },{},{}
 1419,Pole_Axe_C,Pole Axe,5,1,,4800,159,,3,0,0x00004082,7,2,2,3,1,0,4,{ bonus bStr,1; bonus bInt,2; bonus bDex,1; },{},{}
 1420,Long_Horn,Long Horn,5,20,,1000,150,,3,1,0x00004082,2,2,2,4,65,1,4,{ bonus bAtkEle,Ele_Holy; bonus2 bAddEff,Eff_Bleeding,500; skill "TF_DETOXIFY",1; bonus bUnbreakableWeapon; },{},{}
 1420,Long_Horn,Long Horn,5,20,,1000,150,,3,1,0x00004082,2,2,2,4,65,1,4,{ bonus bAtkEle,Ele_Holy; bonus2 bAddEff,Eff_Bleeding,500; skill "TF_DETOXIFY",1; bonus bUnbreakableWeapon; },{},{}
-1421,Battle_Hook,Battle Hook,5,20,,900,140,,3,1,0x00004082,2,2,2,4,65,1,4,{ bonus2 bAddEff,Eff_Stun,500; bonus2 bAddRace,RC_DemiHuman,20; bonus2 bAddRace,RC_Player,20; skill "KN_PIERCE",3; },{},{}
-1422,Hunting_Spear,Hunting Spear,5,20,,4200,180,,3,1,0x00004082,2,2,2,4,60,1,4,{ bonus bIgnoreDefRace,RC_Brute; bonus3 bAddMonsterDropItem,517,RC_Brute,1000; bonus3 bAutoSpell,"LK_JOINTBEAT",3,100; },{},{}
+1421,Battle_Hook,Battle Hook,5,20,,900,140,,3,1,0x00004082,2,2,2,4,65,1,4,{ bonus2 bAddEff,Eff_Stun,500; bonus2 bAddRace,RC_DemiHuman,20; bonus2 bAddRace,RC_Player_Human,20; skill "KN_PIERCE",3; },{},{}
+1422,Hunting_Spear,Hunting Spear,5,20,,4200,180,,3,1,0x00004082,2,2,2,4,60,1,4,{ bonus bIgnoreDefRace,RC_Brute; bonus bIgnoreDefRace,RC_Player_Doram; bonus3 bAddMonsterDropItem,517,RC_Brute,1000; bonus3 bAutoSpell,"LK_JOINTBEAT",3,100; },{},{}
 1423,Pole_XO,Pole XO,5,20,,0,120,,3,0,0x00004082,7,2,2,1,0,0,4,{ bonus2 bAddClass,Class_All,50; },{},{}
 1423,Pole_XO,Pole XO,5,20,,0,120,,3,0,0x00004082,7,2,2,1,0,0,4,{ bonus2 bAddClass,Class_All,50; },{},{}
 1424,Skewer_C,Refined Brocca,5,1,,0,149,,3,0,0x00004082,7,2,2,4,0,0,4,{ bonus bIgnoreDefClass,Class_Normal; bonus2 bAddSize,Size_Medium,20; },{},{}
 1424,Skewer_C,Refined Brocca,5,1,,0,149,,3,0,0x00004082,7,2,2,4,0,0,4,{ bonus bIgnoreDefClass,Class_Normal; bonus2 bAddSize,Size_Medium,20; },{},{}
-1425,BF_Spear1,Assaulter Spear,5,20,,0,60,,3,0,0x00004082,7,2,2,3,80,1,4,{ bonus bStr,2; bonus2 bAddRace,RC_DemiHuman,95; bonus2 bAddRace,RC_Player,95; bonus2 bIgnoreDefRaceRate,RC_DemiHuman,20; bonus2 bIgnoreDefRaceRate,RC_Player,20; bonus bUnbreakableWeapon; if(BaseJob==Job_Crusader) bonus bAspdRate,20; },{},{}
-1426,Krieger_Onehand_Spear1,Glorious Spear,5,20,,0,130,,3,0,0x00004082,7,2,2,4,80,1,4,{ bonus2 bAddRace,RC_DemiHuman,95; bonus2 bAddRace,RC_Player,95; bonus2 bIgnoreDefRaceRate,RC_DemiHuman,20; bonus2 bIgnoreDefRaceRate,RC_Player,20; bonus bUnbreakableWeapon; if(getrefine()>5) { bonus2 bAddRace,RC_DemiHuman,(getrefine()-4)*(getrefine()-4); bonus2 bAddRace,RC_Player,(getrefine()-4)*(getrefine()-4); bonus2 bIgnoreDefRaceRate,RC_DemiHuman,5; bonus2 bIgnoreDefRaceRate,RC_Player,5; bonus bAspdRate,10; } if(getrefine()>8) { if(BaseJob==Job_Knight) bonus4 bAutoSpellOnSkill,"KN_PIERCE","NPC_CRITICALWOUND",2,200; else if(BaseJob==Job_Crusader) bonus3 bAutoSpell,"PA_PRESSURE",5,100; } },{},{}
+1425,BF_Spear1,Assaulter Spear,5,20,,0,60,,3,0,0x00004082,7,2,2,3,80,1,4,{ bonus bStr,2; bonus2 bAddRace,RC_DemiHuman,95; bonus2 bAddRace,RC_Player_Human,95; bonus2 bIgnoreDefRaceRate,RC_DemiHuman,20; bonus2 bIgnoreDefRaceRate,RC_Player_Human,20; bonus bUnbreakableWeapon; if(BaseJob==Job_Crusader) bonus bAspdRate,20; },{},{}
+1426,Krieger_Onehand_Spear1,Glorious Spear,5,20,,0,130,,3,0,0x00004082,7,2,2,4,80,1,4,{ bonus2 bAddRace,RC_DemiHuman,95; bonus2 bAddRace,RC_Player_Human,95; bonus2 bIgnoreDefRaceRate,RC_DemiHuman,20; bonus2 bIgnoreDefRaceRate,RC_Player_Human,20; bonus bUnbreakableWeapon; if(getrefine()>5) { bonus2 bAddRace,RC_DemiHuman,(getrefine()-4)*(getrefine()-4); bonus2 bAddRace,RC_Player_Human,(getrefine()-4)*(getrefine()-4); bonus2 bIgnoreDefRaceRate,RC_DemiHuman,5; bonus2 bIgnoreDefRaceRate,RC_Player_Human,5; bonus bAspdRate,10; } if(getrefine()>8) { if(BaseJob==Job_Knight) bonus4 bAutoSpellOnSkill,"KN_PIERCE","NPC_CRITICALWOUND",2,200; else if(BaseJob==Job_Crusader) bonus3 bAutoSpell,"PA_PRESSURE",5,100; } },{},{}
 1427,Spear_Of_Excellent,Spear Of Excellent,5,20,,0,160,,3,0,0x00004082,7,2,2,3,0,0,4,{ bonus2 bSkillAtk,"SM_MAGNUM",25; bonus bStr,2; },{},{}
 1427,Spear_Of_Excellent,Spear Of Excellent,5,20,,0,160,,3,0,0x00004082,7,2,2,3,0,0,4,{ bonus2 bSkillAtk,"SM_MAGNUM",25; bonus bStr,2; },{},{}
 1428,Long_Horn_M,Long Horn,5,20,,1000,150,,3,1,0x00004082,2,2,2,4,65,1,4,{ bonus bAtkEle,Ele_Holy; bonus2 bAddEff,Eff_Bleeding,500; skill "TF_DETOXIFY",1; bonus bUnbreakableWeapon; },{},{}
 1428,Long_Horn_M,Long Horn,5,20,,1000,150,,3,1,0x00004082,2,2,2,4,65,1,4,{ bonus bAtkEle,Ele_Holy; bonus2 bAddEff,Eff_Bleeding,500; skill "TF_DETOXIFY",1; bonus bUnbreakableWeapon; },{},{}
-1429,Hunting_Spear_M,Hunting Spear,5,20,,4200,180,,3,1,0x00004082,2,2,2,4,60,1,4,{ bonus bIgnoreDefRace,RC_Brute; bonus3 bAddMonsterDropItem,517,RC_Brute,1000; bonus3 bAutoSpell,"LK_JOINTBEAT",3,500; },{},{}
+1429,Hunting_Spear_M,Hunting Spear,5,20,,4200,180,,3,1,0x00004082,2,2,2,4,60,1,4,{ bonus bIgnoreDefRace,RC_Brute; bonus bIgnoreDefRace,RC_Player_Doram; bonus3 bAddMonsterDropItem,517,RC_Brute,1000; bonus3 bAutoSpell,"LK_JOINTBEAT",3,500; },{},{}
 1430,Pike_C,Pike,5,0,,0,74,,3,0,0x00004082,7,2,2,1,1,0,4,{ bonus2 bAddSize,Size_All,70; },{},{}
 1430,Pike_C,Pike,5,0,,0,74,,3,0,0x00004082,7,2,2,1,1,0,4,{ bonus2 bAddSize,Size_All,70; },{},{}
 1431,F_Pole_Axe_C,Pole Axe,5,1,,4800,195,,3,0,0x00004082,7,2,2,3,1,0,4,{ bonus bStr,1; bonus bInt,2; bonus bDex,1; },{},{}
 1431,F_Pole_Axe_C,Pole Axe,5,1,,4800,195,,3,0,0x00004082,7,2,2,3,1,0,4,{ bonus bStr,1; bonus bInt,2; bonus bDex,1; },{},{}
 1432,E_Pole_Axe_C,Pole Axe,5,1,,4800,195,,3,0,0x00004082,7,2,2,3,1,0,4,{ bonus bStr,1; bonus bInt,2; bonus bDex,1; },{},{}
 1432,E_Pole_Axe_C,Pole Axe,5,1,,4800,195,,3,0,0x00004082,7,2,2,3,1,0,4,{ bonus bStr,1; bonus bInt,2; bonus bDex,1; },{},{}
@@ -736,9 +736,9 @@
 1464,Halberd_,Halberd,5,54000,,2500,165,,3,2,0x00004082,7,2,34,3,33,1,5,{},{},{}
 1464,Halberd_,Halberd,5,54000,,2500,165,,3,2,0x00004082,7,2,34,3,33,1,5,{},{},{}
 1465,Halberd__,Halberd,5,54000,,2500,165,,3,0,0x00004082,7,2,34,3,33,1,5,{},{},{}
 1465,Halberd__,Halberd,5,54000,,2500,165,,3,0,0x00004082,7,2,34,3,33,1,5,{},{},{}
 1466,Crescent_Scythe,Crescent Scythe,5,20,,2500,180,,3,0,0x00004082,7,2,34,4,48,1,5,{ bonus bCritical,30; bonus bHit,10; },{},{}
 1466,Crescent_Scythe,Crescent Scythe,5,20,,2500,180,,3,0,0x00004082,7,2,34,4,48,1,5,{ bonus bCritical,30; bonus bHit,10; },{},{}
-1467,Bill_Guisarme,Bill Guisarme,5,20,,1000,183,,3,0,0x00004082,7,2,34,4,48,1,5,{ bonus2 bAddRace,RC_Brute,10; bonus2 bAddRace,RC_DemiHuman,5; bonus2 bAddRace,RC_Player,5; },{},{}
+1467,Bill_Guisarme,Bill Guisarme,5,20,,1000,183,,3,0,0x00004082,7,2,34,4,48,1,5,{ bonus2 bAddRace,RC_Brute,10; bonus2 bAddRace,RC_Player_Doram,10; bonus2 bAddRace,RC_DemiHuman,5; bonus2 bAddRace,RC_Player_Human,5; },{},{}
 1468,Zephyrus,Zephyrus,5,20,,2000,170,,3,0,0x00004082,7,2,34,4,48,1,5,{ bonus bAtkEle,Ele_Wind; bonus2 bAddEff,Eff_Silence,200; bonus3 bAutoSpell,"MG_THUNDERSTORM",3,100; },{},{}
 1468,Zephyrus,Zephyrus,5,20,,2000,170,,3,0,0x00004082,7,2,34,4,48,1,5,{ bonus bAtkEle,Ele_Wind; bonus2 bAddEff,Eff_Silence,200; bonus3 bAutoSpell,"MG_THUNDERSTORM",3,100; },{},{}
-1469,Longinus's_Spear,Longinus's Spear,5,20,,2500,180,,3,0,0x00004082,7,2,34,4,48,1,5,{ bonus bAtkEle,Ele_Dark; bonus2 bAddRace,RC_DemiHuman,10; bonus2 bAddRace,RC_Player,10; bonus2 bAddRace,RC_Angel,10; },{},{}
+1469,Longinus's_Spear,Longinus's Spear,5,20,,2500,180,,3,0,0x00004082,7,2,34,4,48,1,5,{ bonus bAtkEle,Ele_Dark; bonus2 bAddRace,RC_DemiHuman,10; bonus2 bAddRace,RC_Player_Human,10; bonus2 bAddRace,RC_Angel,10; },{},{}
 1470,Brionac,Brionac,5,20,,3000,190,,3,0,0x00004082,7,2,34,4,48,1,5,{ bonus bAtkEle,Ele_Holy; skill "AL_HEAL",5; bonus3 bAutoSpell,"MG_SOULSTRIKE",3,100; bonus2 bAddClass,Class_Boss,5; },{},{}
 1470,Brionac,Brionac,5,20,,3000,190,,3,0,0x00004082,7,2,34,4,48,1,5,{ bonus bAtkEle,Ele_Holy; skill "AL_HEAL",5; bonus3 bAutoSpell,"MG_SOULSTRIKE",3,100; bonus2 bAddClass,Class_Boss,5; },{},{}
 1471,Hell_Fire,Hellfire,5,20,,3500,200,,3,0,0x00004082,7,2,34,4,48,1,5,{ bonus bAtkEle,Ele_Fire; bonus3 bAutoSpell,"MG_FIREBALL",3,100; bonus bStr,3; },{},{}
 1471,Hell_Fire,Hellfire,5,20,,3500,200,,3,0,0x00004082,7,2,34,4,48,1,5,{ bonus bAtkEle,Ele_Fire; bonus3 bAutoSpell,"MG_FIREBALL",3,100; bonus bStr,3; },{},{}
 // 2-Handed Staffs
 // 2-Handed Staffs
@@ -749,17 +749,17 @@
 1475,Horseback_Lance,Equestrian's Spear,5,20,,3700,200,,4,0,0x00004082,7,2,34,4,75,1,5,{},{},{}
 1475,Horseback_Lance,Equestrian's Spear,5,20,,3700,200,,4,0,0x00004082,7,2,34,4,75,1,5,{},{},{}
 1476,Crescent_Scythe_,Crescent Scythe,5,20,,2500,180,,3,1,0x00004082,7,2,34,4,48,1,5,{ bonus bCritical,30; bonus bHit,10; },{},{}
 1476,Crescent_Scythe_,Crescent Scythe,5,20,,2500,180,,3,1,0x00004082,7,2,34,4,48,1,5,{ bonus bCritical,30; bonus bHit,10; },{},{}
 1477,Spectral_Spear,Spectral Spear,5,20,,2000,170,,3,0,0x00004082,7,2,34,4,75,1,5,{ bonus2 bAddEle,Ele_Dark,20; bonus2 bAddRace,RC_Demon,20; bonus2 bAddRace,RC_Undead,20; bonus2 bSubEle,Ele_Dark,10; bonus2 bSubRace,RC_Demon,10; bonus2 bSubRace,RC_Undead,10; bonus2 bAddEff2,Eff_Confusion,1000; bonus bHPGainValue,50; },{},{}
 1477,Spectral_Spear,Spectral Spear,5,20,,2000,170,,3,0,0x00004082,7,2,34,4,75,1,5,{ bonus2 bAddEle,Ele_Dark,20; bonus2 bAddRace,RC_Demon,20; bonus2 bAddRace,RC_Undead,20; bonus2 bSubEle,Ele_Dark,10; bonus2 bSubRace,RC_Demon,10; bonus2 bSubRace,RC_Undead,10; bonus2 bAddEff2,Eff_Confusion,1000; bonus bHPGainValue,50; },{},{}
-1478,Ahlspiess,Ahlspiess,5,20,,1000,120,,3,0,0x00004080,7,2,34,4,65,1,5,{ bonus bIgnoreDefClass,Class_Normal; bonus bIgnoreDefClass,Class_Boss; bonus2 bAddRace,RC_DemiHuman,10; bonus2 bAddRace,RC_Player,10; bonus3 bAutoSpell,"KN_PIERCE",5,30; },{},{}
+1478,Ahlspiess,Ahlspiess,5,20,,1000,120,,3,0,0x00004080,7,2,34,4,65,1,5,{ bonus bIgnoreDefClass,Class_Normal; bonus bIgnoreDefClass,Class_Boss; bonus2 bAddRace,RC_DemiHuman,10; bonus2 bAddRace,RC_Player_Human,10; bonus3 bAutoSpell,"KN_PIERCE",5,30; },{},{}
 1479,Spectral_Spear_,Spectral Spear,5,20,,2000,170,,3,1,0x00004082,7,2,34,4,75,1,5,{ bonus2 bAddEle,Ele_Dark,20; bonus2 bAddRace,RC_Demon,20; bonus2 bAddRace,RC_Undead,20; bonus2 bSubEle,Ele_Dark,10; bonus2 bSubRace,RC_Demon,10; bonus2 bSubRace,RC_Undead,10; bonus2 bAddEff2,Eff_Confusion,1000; bonus bHPGainValue,50; },{},{}
 1479,Spectral_Spear_,Spectral Spear,5,20,,2000,170,,3,1,0x00004082,7,2,34,4,75,1,5,{ bonus2 bAddEle,Ele_Dark,20; bonus2 bAddRace,RC_Demon,20; bonus2 bAddRace,RC_Undead,20; bonus2 bSubEle,Ele_Dark,10; bonus2 bSubRace,RC_Demon,10; bonus2 bSubRace,RC_Undead,10; bonus2 bAddEff2,Eff_Confusion,1000; bonus bHPGainValue,50; },{},{}
 1480,Gae_Bolg_,Gae Bolg,5,20,,2000,160,,3,2,0x00004082,7,2,34,4,60,1,5,{ bonus bIgnoreDefRace,RC_Dragon; bonus2 bAddClass,Class_Boss,10; },{},{}
 1480,Gae_Bolg_,Gae Bolg,5,20,,2000,160,,3,2,0x00004082,7,2,34,4,60,1,5,{ bonus bIgnoreDefRace,RC_Dragon; bonus2 bAddClass,Class_Boss,10; },{},{}
 1481,Zephyrus_,Zephyrus,5,20,,2000,170,,3,3,0x00004082,7,2,34,4,48,1,5,{ bonus bAtkEle,Ele_Wind; bonus2 bAddEff,Eff_Silence,200; bonus3 bAutoSpell,"MG_THUNDERSTORM",3,100; },{},{}
 1481,Zephyrus_,Zephyrus,5,20,,2000,170,,3,3,0x00004082,7,2,34,4,48,1,5,{ bonus bAtkEle,Ele_Wind; bonus2 bAddEff,Eff_Silence,200; bonus3 bAutoSpell,"MG_THUNDERSTORM",3,100; },{},{}
-1482,BF_Lance1,Assaulter Lance,5,,,0,160,,3,0,0x00004082,7,2,34,3,80,1,5,{ bonus bStr,2; bonus2 bAddRace,RC_DemiHuman,25; bonus2 bAddRace,RC_Player,25; bonus bIgnoreDefRace,RC_DemiHuman; bonus bIgnoreDefRace,RC_Player; bonus bUnbreakableWeapon; },{},{}
+1482,BF_Lance1,Assaulter Lance,5,,,0,160,,3,0,0x00004082,7,2,34,3,80,1,5,{ bonus bStr,2; bonus2 bAddRace,RC_DemiHuman,25; bonus2 bAddRace,RC_Player_Human,25; bonus bIgnoreDefRace,RC_DemiHuman; bonus bIgnoreDefRace,RC_Player_Human; bonus bUnbreakableWeapon; },{},{}
 1483,Ivory_Lance,Ivory Lance,5,20,,1000,160,,3,1,0x00004082,2,2,34,3,50,1,5,{ bonus bAgi,2; bonus bAspdRate,3; bonus2 bAddEff,Eff_Bleeding,300; bonus3 bAutoSpell,"NPC_CRITICALWOUND",1,30; skill "KN_SPEARSTAB",5; },{},{}
 1483,Ivory_Lance,Ivory Lance,5,20,,1000,160,,3,1,0x00004082,2,2,34,3,50,1,5,{ bonus bAgi,2; bonus bAspdRate,3; bonus2 bAddEff,Eff_Bleeding,300; bonus3 bAutoSpell,"NPC_CRITICALWOUND",1,30; skill "KN_SPEARSTAB",5; },{},{}
 1484,Cardo,Cardo,5,20,,5600,150,,3,1,0x00000080,2,2,34,4,70,1,5,{ bonus bAspdRate,-10; bonus bDef,getrefine()/2; },{},{}
 1484,Cardo,Cardo,5,20,,5600,150,,3,1,0x00000080,2,2,34,4,70,1,5,{ bonus bAspdRate,-10; bonus bDef,getrefine()/2; },{},{}
 1485,Battle_Fork,Battle Fork,5,20,,700,112,,3,4,0x00004082,2,2,34,2,50,1,5,{},{},{}
 1485,Battle_Fork,Battle Fork,5,20,,700,112,,3,4,0x00004082,2,2,34,2,50,1,5,{},{},{}
-1486,Krieger_Twohand_Spear1,Glorious Lance,5,20,,0,220,,3,0,0x00004082,7,2,34,4,80,1,5,{ bonus2 bAddRace,RC_DemiHuman,70; bonus2 bAddRace,RC_Player,70; bonus2 bIgnoreDefRaceRate,RC_DemiHuman,25; bonus2 bIgnoreDefRaceRate,RC_Player,25; bonus bUnbreakableWeapon; if(getrefine()>5) { bonus2 bAddRace,RC_DemiHuman,(getrefine()-4)*(getrefine()-4); bonus2 bAddRace,RC_Player,(getrefine()-4)*(getrefine()-4); bonus2 bIgnoreDefRaceRate,RC_DemiHuman,5; bonus2 bIgnoreDefRaceRate,RC_Player,5; } if(getrefine()>8) { if(BaseJob==Job_Knight) bonus4 bAutoSpellOnSkill,"KN_PIERCE","NPC_CRITICALWOUND",2,200; else if(BaseJob==Job_Crusader) bonus3 bAutoSpell,"PA_PRESSURE",5,200; } },{},{}
+1486,Krieger_Twohand_Spear1,Glorious Lance,5,20,,0,220,,3,0,0x00004082,7,2,34,4,80,1,5,{ bonus2 bAddRace,RC_DemiHuman,70; bonus2 bAddRace,RC_Player_Human,70; bonus2 bIgnoreDefRaceRate,RC_DemiHuman,25; bonus2 bIgnoreDefRaceRate,RC_Player_Human,25; bonus bUnbreakableWeapon; if(getrefine()>5) { bonus2 bAddRace,RC_DemiHuman,(getrefine()-4)*(getrefine()-4); bonus2 bAddRace,RC_Player_Human,(getrefine()-4)*(getrefine()-4); bonus2 bIgnoreDefRaceRate,RC_DemiHuman,5; bonus2 bIgnoreDefRaceRate,RC_Player_Human,5; } if(getrefine()>8) { if(BaseJob==Job_Knight) bonus4 bAutoSpellOnSkill,"KN_PIERCE","NPC_CRITICALWOUND",2,200; else if(BaseJob==Job_Crusader) bonus3 bAutoSpell,"PA_PRESSURE",5,200; } },{},{}
 1487,Lance_C,Lance,5,0,,0,220,,3,0,0x00004082,7,2,34,3,1,0,5,{ bonus2 bAddSize,Size_All,50; },{},{}
 1487,Lance_C,Lance,5,0,,0,220,,3,0,0x00004082,7,2,34,3,1,0,5,{ bonus2 bAddSize,Size_All,50; },{},{}
-1488,Ahlspiess_C,Ahlspiess,5,20,,0,135,,3,0,0x00004080,7,2,34,4,1,1,5,{ bonus bIgnoreDefClass,Class_Normal; bonus bIgnoreDefClass,Class_Boss; bonus2 bAddRace,RC_DemiHuman,10; bonus2 bAddRace,RC_Player,10; bonus3 bAutoSpell,"KN_PIERCE",5,30; },{},{}
+1488,Ahlspiess_C,Ahlspiess,5,20,,0,135,,3,0,0x00004080,7,2,34,4,1,1,5,{ bonus bIgnoreDefClass,Class_Normal; bonus bIgnoreDefClass,Class_Boss; bonus2 bAddRace,RC_DemiHuman,10; bonus2 bAddRace,RC_Player_Human,10; bonus3 bAutoSpell,"KN_PIERCE",5,30; },{},{}
 // Maces
 // Maces
 1501,Club,Club,5,120,,700,23,,1,3,0x0004C5B3,7,2,2,1,2,1,8,{},{},{}
 1501,Club,Club,5,120,,700,23,,1,3,0x0004C5B3,7,2,2,1,2,1,8,{},{},{}
 1502,Club_,Club,5,120,,700,23,,1,4,0x0004C5B3,7,2,2,1,2,1,8,{},{},{}
 1502,Club_,Club,5,120,,700,23,,1,4,0x0004C5B3,7,2,2,1,2,1,8,{},{},{}
@@ -787,7 +787,7 @@
 1524,Golden_Mace,Golden Mace,5,20,,800,110,,1,1,0x00008110,7,2,2,4,40,1,8,{ bonus2 bAddRace,RC_Undead,10; bonus bUnbreakableWeapon; },{},{}
 1524,Golden_Mace,Golden Mace,5,20,,800,110,,1,1,0x00008110,7,2,2,4,40,1,8,{ bonus2 bAddRace,RC_Undead,10; bonus bUnbreakableWeapon; },{},{}
 1525,Long_Mace,Long Mace,5,20,,800,135,,3,0,0x00008110,7,2,2,4,40,1,8,{ bonus bLongAtkDef,10; },{},{}
 1525,Long_Mace,Long Mace,5,20,,800,135,,3,0,0x00008110,7,2,2,4,40,1,8,{ bonus bLongAtkDef,10; },{},{}
 1526,Slash,Slash,5,20,,1000,145,,1,0,0x00008110,7,2,2,4,40,1,8,{ bonus2 bAddRace,RC_Undead,15; bonus2 bComaRace,RC_Undead,10; bonus2 bExpAddRace,RC_Undead,5; },{},{}
 1526,Slash,Slash,5,20,,1000,145,,1,0,0x00008110,7,2,2,4,40,1,8,{ bonus2 bAddRace,RC_Undead,15; bonus2 bComaRace,RC_Undead,10; bonus2 bExpAddRace,RC_Undead,5; },{},{}
-1527,Quadrille,Quadrille,5,20,,900,165,,1,0,0x00008110,7,2,2,4,40,1,8,{ bonus2 bAddRace,RC_Undead,10; bonus2 bAddRace,RC_DemiHuman,10; bonus2 bAddRace,RC_Player,10; bonus2 bAddEle,Ele_Earth,10; },{},{}
+1527,Quadrille,Quadrille,5,20,,900,165,,1,0,0x00008110,7,2,2,4,40,1,8,{ bonus2 bAddRace,RC_Undead,10; bonus2 bAddRace,RC_DemiHuman,10; bonus2 bAddRace,RC_Player_Human,10; bonus2 bAddEle,Ele_Earth,10; },{},{}
 1528,Grand_Cross,Grand Cross,5,20,,1500,140,,1,0,0x00008110,7,2,2,4,40,1,8,{ bonus bAtkEle,Ele_Holy; skill "PR_TURNUNDEAD",3; bonus3 bAutoSpell,"PR_TURNUNDEAD",3,100; bonus2 bSPDrainValueRace,RC_Undead,1; bonus2 bSPGainRace,RC_Undead,3; },{},{}
 1528,Grand_Cross,Grand Cross,5,20,,1500,140,,1,0,0x00008110,7,2,2,4,40,1,8,{ bonus bAtkEle,Ele_Holy; skill "PR_TURNUNDEAD",3; bonus3 bAutoSpell,"PR_TURNUNDEAD",3,100; bonus2 bSPDrainValueRace,RC_Undead,1; bonus2 bSPGainRace,RC_Undead,3; },{},{}
 1529,Iron_Driver,Iron Driver,5,20,,3000,155,,2,0,0x00008100,7,2,2,3,78,1,8,{},{},{}
 1529,Iron_Driver,Iron Driver,5,20,,3000,155,,2,0,0x00008100,7,2,2,3,78,1,8,{},{},{}
 1530,Mjolnir,Mjolnir,5,20,,6000,250,,1,0,0x000444A2,7,2,2,4,95,0,8,{ bonus bAtkEle,Ele_Wind; bonus bDex,40; bonus bStr,15; bonus bAspdRate,10; bonus bUnbreakableWeapon; },{},{}
 1530,Mjolnir,Mjolnir,5,20,,6000,250,,1,0,0x000444A2,7,2,2,4,95,0,8,{ bonus bAtkEle,Ele_Wind; bonus bDex,40; bonus bStr,15; bonus bAspdRate,10; bonus bUnbreakableWeapon; },{},{}
@@ -797,16 +797,16 @@
 1534,Spanner_C,Wrench,5,2,,0,150,,1,0,0x00008110,7,2,2,3,0,0,8,{ bonus2 bAddEff,Eff_Blind,100; bonus2 bAddEff,Eff_Stun,100; bonus2 bAddEff,Eff_Poison,100; bonus2 bAddEff,Eff_Freeze,100; },{},{}
 1534,Spanner_C,Wrench,5,2,,0,150,,1,0,0x00008110,7,2,2,3,0,0,8,{ bonus2 bAddEff,Eff_Blind,100; bonus2 bAddEff,Eff_Stun,100; bonus2 bAddEff,Eff_Poison,100; bonus2 bAddEff,Eff_Freeze,100; },{},{}
 1535,Hollgrehenn_Hammer,Hollgrehenn's Hammer,5,4444,,44,4,,1,1,0x0004C5B2,7,2,2,4,44,1,8,{ bonus bBreakArmorRate,100; bonus bBreakWeaponRate,100; if(readparam(bStr)>=44) { bonus bBaseAtk,44; } },{},{}
 1535,Hollgrehenn_Hammer,Hollgrehenn's Hammer,5,4444,,44,4,,1,1,0x0004C5B2,7,2,2,4,44,1,8,{ bonus bBreakArmorRate,100; bonus bBreakWeaponRate,100; if(readparam(bStr)>=44) { bonus bBaseAtk,44; } },{},{}
 1536,Good_Morning_Star,Good Morning Star,5,20,,0,120,,1,0,0x0004C5B2,7,2,2,1,0,0,8,{ bonus2 bAddClass,Class_All,50; },{},{}
 1536,Good_Morning_Star,Good Morning Star,5,20,,0,120,,1,0,0x0004C5B2,7,2,2,1,0,0,8,{ bonus2 bAddClass,Class_All,50; },{},{}
-1537,Quadrille_C,Refined Quadrille,5,1,,0,193,,1,0,0x00008110,7,2,2,4,0,0,8,{ bonus2 bAddRace,RC_DemiHuman,30; bonus2 bAddRace,RC_Player,30; bonus2 bAddRace,RC_Demon,40; bonus2 bAddRace,RC_Undead,40; },{},{}
+1537,Quadrille_C,Refined Quadrille,5,1,,0,193,,1,0,0x00008110,7,2,2,4,0,0,8,{ bonus2 bAddRace,RC_DemiHuman,30; bonus2 bAddRace,RC_Player_Human,30; bonus2 bAddRace,RC_Demon,40; bonus2 bAddRace,RC_Undead,40; },{},{}
 1538,Spike_,Spike,5,20,,700,85,,1,2,0x00008110,7,2,2,4,40,1,8,{ bonus bCritical,40; bonus bDefRate,-67; bonus bDef2Rate,-67; },{},{}
 1538,Spike_,Spike,5,20,,700,85,,1,2,0x00008110,7,2,2,4,40,1,8,{ bonus bCritical,40; bonus bDefRate,-67; bonus bDef2Rate,-67; },{},{}
 1539,Golden_Mace_,Golden Mace,5,20,,800,110,,1,2,0x00008110,7,2,2,4,40,1,8,{ bonus2 bAddRace,RC_Undead,10; bonus bUnbreakableWeapon; },{},{}
 1539,Golden_Mace_,Golden Mace,5,20,,800,110,,1,2,0x00008110,7,2,2,4,40,1,8,{ bonus2 bAddRace,RC_Undead,10; bonus bUnbreakableWeapon; },{},{}
 1540,Grand_Cross_,Grand Cross,5,20,,1500,140,,1,1,0x00008110,7,2,2,4,40,1,8,{ bonus bAtkEle,Ele_Holy; skill "PR_TURNUNDEAD",3; bonus3 bAutoSpell,"PR_TURNUNDEAD",3,100; bonus2 bSPDrainValueRace,RC_Undead,1; bonus2 bSPGainRace,RC_Undead,3; },{},{}
 1540,Grand_Cross_,Grand Cross,5,20,,1500,140,,1,1,0x00008110,7,2,2,4,40,1,8,{ bonus bAtkEle,Ele_Holy; skill "PR_TURNUNDEAD",3; bonus3 bAutoSpell,"PR_TURNUNDEAD",3,100; bonus2 bSPDrainValueRace,RC_Undead,1; bonus2 bSPGainRace,RC_Undead,3; },{},{}
 1541,Nemesis,Nemesis,5,20,,900,120,,1,0,0x00008110,7,2,2,4,60,1,8,{ bonus bAtkEle,Ele_Holy; bonus2 bAddRace,RC_Undead,10; bonus2 bAddRace,RC_Demon,10; bonus3 bAutoSpell,"AL_CRUCIS",1+getrefine(),100; autobonus "{ bonus bBaseAtk,50; }",10,20000,BF_WEAPON,"{ specialeffect2 EF_BLOODDRAIN; }"; },{},{}
 1541,Nemesis,Nemesis,5,20,,900,120,,1,0,0x00008110,7,2,2,4,60,1,8,{ bonus bAtkEle,Ele_Holy; bonus2 bAddRace,RC_Undead,10; bonus2 bAddRace,RC_Demon,10; bonus3 bAutoSpell,"AL_CRUCIS",1+getrefine(),100; autobonus "{ bonus bBaseAtk,50; }",10,20000,BF_WEAPON,"{ specialeffect2 EF_BLOODDRAIN; }"; },{},{}
-1542,BF_Morning_Star1,Valorous Battlefield Morning Star,5,20,,0,105,,1,0,0x0004C5B3,7,2,2,3,80,1,8,{ bonus bStr,1; bonus bDex,1; bonus2 bAddRace,RC_DemiHuman,75; bonus2 bAddRace,RC_Player,75; bonus2 bIgnoreDefRaceRate,RC_DemiHuman,20; bonus2 bIgnoreDefRaceRate,RC_Player,20; bonus bUnbreakableWeapon; },{},{}
-1543,BF_Morning_Star2,Brave Battlefield Morning Star,5,20,,0,105,,1,0,0x0004C5B3,7,2,2,3,80,1,8,{ bonus bStr,1; bonus bDex,1; bonus2 bAddRace,RC_DemiHuman,75; bonus2 bAddRace,RC_Player,75; bonus bUnbreakableWeapon; autobonus "{ bonus2 bAddEff,Eff_Stun,5000; }",10,6000,BF_WEAPON,"{ specialeffect2 EF_POTION_BERSERK; }"; },{},{}
+1542,BF_Morning_Star1,Valorous Battlefield Morning Star,5,20,,0,105,,1,0,0x0004C5B3,7,2,2,3,80,1,8,{ bonus bStr,1; bonus bDex,1; bonus2 bAddRace,RC_DemiHuman,75; bonus2 bAddRace,RC_Player_Human,75; bonus2 bIgnoreDefRaceRate,RC_DemiHuman,20; bonus2 bIgnoreDefRaceRate,RC_Player_Human,20; bonus bUnbreakableWeapon; },{},{}
+1543,BF_Morning_Star2,Brave Battlefield Morning Star,5,20,,0,105,,1,0,0x0004C5B3,7,2,2,3,80,1,8,{ bonus bStr,1; bonus bDex,1; bonus2 bAddRace,RC_DemiHuman,75; bonus2 bAddRace,RC_Player_Human,75; bonus bUnbreakableWeapon; autobonus "{ bonus2 bAddEff,Eff_Stun,5000; }",10,6000,BF_WEAPON,"{ specialeffect2 EF_POTION_BERSERK; }"; },{},{}
 1544,Lunakaligo,Lunakaligo,5,20,,700,110,,1,3,0x00008110,2,2,2,3,50,1,8,{ if(readparam(bStr)>=77) { bonus bAspdRate,4; bonus2 bAddEff,Eff_Stun,1500; bonus3 bAddMonsterDropItem,12065,RC_Plant,500; bonus3 bAddMonsterDropItem,12043,RC_Brute,500; bonus3 bAddMonsterDropItem,12069,RC_Fish,500; } },{},{}
 1544,Lunakaligo,Lunakaligo,5,20,,700,110,,1,3,0x00008110,2,2,2,3,50,1,8,{ if(readparam(bStr)>=77) { bonus bAspdRate,4; bonus2 bAddEff,Eff_Stun,1500; bonus3 bAddMonsterDropItem,12065,RC_Plant,500; bonus3 bAddMonsterDropItem,12043,RC_Brute,500; bonus3 bAddMonsterDropItem,12069,RC_Fish,500; } },{},{}
 1545,N_Mace,Novice Mace,5,0,,0,57,,1,3,0x0004C5B3,7,2,2,1,2,0,8,{},{},{}
 1545,N_Mace,Novice Mace,5,0,,0,57,,1,3,0x0004C5B3,7,2,2,1,2,0,8,{},{},{}
-1546,Krieger_Onehand_Mace1,Glorious Morning Star,5,20,,0,130,,1,0,0x0004C5B3,7,2,2,4,80,1,8,{ bonus2 bAddRace,RC_DemiHuman,75; bonus2 bAddRace,RC_Player,75; bonus2 bIgnoreDefRaceRate,RC_DemiHuman,20; bonus2 bIgnoreDefRaceRate,RC_Player,20; bonus bUnbreakableWeapon; if(getrefine()>5) { bonus2 bAddRace,RC_DemiHuman,(getrefine()-4)*(getrefine()-4); bonus2 bAddRace,RC_Player,(getrefine()-4)*(getrefine()-4); bonus2 bIgnoreDefRaceRate,RC_DemiHuman,5; bonus2 bIgnoreDefRaceRate,RC_Player,5; bonus bAspdRate,5; } if(getrefine()>8) { bonus2 bAddEff,Eff_Stun,2000; bonus bAspdRate,5; } },{},{}
+1546,Krieger_Onehand_Mace1,Glorious Morning Star,5,20,,0,130,,1,0,0x0004C5B3,7,2,2,4,80,1,8,{ bonus2 bAddRace,RC_DemiHuman,75; bonus2 bAddRace,RC_Player_Human,75; bonus2 bIgnoreDefRaceRate,RC_DemiHuman,20; bonus2 bIgnoreDefRaceRate,RC_Player_Human,20; bonus bUnbreakableWeapon; if(getrefine()>5) { bonus2 bAddRace,RC_DemiHuman,(getrefine()-4)*(getrefine()-4); bonus2 bAddRace,RC_Player_Human,(getrefine()-4)*(getrefine()-4); bonus2 bIgnoreDefRaceRate,RC_DemiHuman,5; bonus2 bIgnoreDefRaceRate,RC_Player_Human,5; bonus bAspdRate,5; } if(getrefine()>8) { bonus2 bAddEff,Eff_Stun,2000; bonus bAspdRate,5; } },{},{}
 1547,Mace_Of_Madness,Mace Of Madness,5,20,,0,150,,1,0,0x0004C5B2,7,2,2,3,0,0,8,{ bonus2 bSkillAtk,"MC_CARTREVOLUTION",25; bonus bStr,2; },{},{}
 1547,Mace_Of_Madness,Mace Of Madness,5,20,,0,150,,1,0,0x0004C5B2,7,2,2,3,0,0,8,{ bonus2 bSkillAtk,"MC_CARTREVOLUTION",25; bonus bStr,2; },{},{}
 1548,Veteran_Hammer,Veteran Hammer,5,10000,,1800,160,,1,2,0x00008110,7,2,2,3,80,1,8,{ bonus bHealPower,getskilllv("AL_DP"); bonus bCritical,getskilllv("PR_MACEMASTERY")*2; bonus bInt,1; bonus bLuk,1; },{},{}
 1548,Veteran_Hammer,Veteran Hammer,5,10000,,1800,160,,1,2,0x00008110,7,2,2,3,80,1,8,{ bonus bHealPower,getskilllv("AL_DP"); bonus bCritical,getskilllv("PR_MACEMASTERY")*2; bonus bInt,1; bonus bLuk,1; },{},{}
 1549,Pilebuncker,Pile Bunker,5,10000,,3500,450,,1,0,0x00000400,7,2,2,3,99,1,8,{},{},{}
 1549,Pilebuncker,Pile Bunker,5,10000,,3500,450,,1,0,0x00000400,7,2,2,3,99,1,8,{},{},{}
@@ -826,7 +826,7 @@
 1562,Bible_Of_Battlefield,Battlefield Textbook,5,20,,700,110,,1,1,0x00410100,7,2,2,4,80,0,15,{ bonus bInt,3; bonus3 bAutoSpell,"AL_BLESSING",3+(getskilllv("AL_BLESSING")>3)*(getskilllv("AL_BLESSING")-3),20; },{},{}
 1562,Bible_Of_Battlefield,Battlefield Textbook,5,20,,700,110,,1,1,0x00410100,7,2,2,4,80,0,15,{ bonus bInt,3; bonus3 bAutoSpell,"AL_BLESSING",3+(getskilllv("AL_BLESSING")>3)*(getskilllv("AL_BLESSING")-3),20; },{},{}
 1563,Diary_Of_Great_Sage_C,Sage's Diary,5,1,,0,135,,1,2,0x00410100,7,2,2,3,1,0,15,{ bonus bMatkRate,20; bonus bAspdRate,5; },{},{}
 1563,Diary_Of_Great_Sage_C,Sage's Diary,5,1,,0,135,,1,2,0x00410100,7,2,2,3,1,0,15,{ bonus bMatkRate,20; bonus bAspdRate,5; },{},{}
 1564,Encyclopedia,Encyclopedia,5,20,,2000,110,,1,2,0x00410100,7,2,2,3,70,1,15,{ bonus bMatkRate,15; bonus bInt,3; bonus bDex,2; bonus bCritical,20+((readparam(bLuk)*2)/10); },{},{}
 1564,Encyclopedia,Encyclopedia,5,20,,2000,110,,1,2,0x00410100,7,2,2,3,70,1,15,{ bonus bMatkRate,15; bonus bInt,3; bonus bDex,2; bonus bCritical,20+((readparam(bLuk)*2)/10); },{},{}
-1565,Death_Note,Ledger of Death,5,20,,1000,137,,1,2,0x00410100,7,2,2,4,85,1,15,{ bonus bMatkRate,15; bonus bStr,3; bonus bInt,3; bonus bLuk,-20; bonus2 bComaRace,RC_DemiHuman,10; bonus2 bComaRace,RC_Player,10; bonus bAspdRate,getrefine(); if(BaseJob==Job_Sage) bonus3 bAutoSpell,"NPC_HELLJUDGEMENT",5,20; },{},{}
+1565,Death_Note,Ledger of Death,5,20,,1000,137,,1,2,0x00410100,7,2,2,4,85,1,15,{ bonus bMatkRate,15; bonus bStr,3; bonus bInt,3; bonus bLuk,-20; bonus2 bComaRace,RC_DemiHuman,10; bonus2 bComaRace,RC_Player_Human,10; bonus bAspdRate,getrefine(); if(BaseJob==Job_Sage) bonus3 bAutoSpell,"NPC_HELLJUDGEMENT",5,20; },{},{}
 1566,Diary_Of_Great_Basil,Diary Of Great Basil,5,20,,0,120,,1,0,0x00410100,7,2,2,1,0,0,15,{ bonus2 bAddClass,Class_All,50; },{},{}
 1566,Diary_Of_Great_Basil,Diary Of Great Basil,5,20,,0,120,,1,0,0x00410100,7,2,2,1,0,0,15,{ bonus2 bAddClass,Class_All,50; },{},{}
 1567,Hardback_C,Refined Hardcover Book,5,1,,0,168,,1,0,0x00410100,7,2,2,4,0,0,15,{ bonus bStr,5; bonus bDex,2; bonus bMatkRate,20; },{},{}
 1567,Hardback_C,Refined Hardcover Book,5,1,,0,168,,1,0,0x00410100,7,2,2,4,0,0,15,{ bonus bStr,5; bonus bDex,2; bonus bMatkRate,20; },{},{}
 1568,Book_Of_Billows_,Book of Billows,5,35000,,750,90,,1,3,0x00410100,7,2,2,3,27,1,15,{ bonus bAtkEle,Ele_Water; },{},{}
 1568,Book_Of_Billows_,Book of Billows,5,35000,,750,90,,1,3,0x00410100,7,2,2,3,27,1,15,{ bonus bAtkEle,Ele_Water; },{},{}
@@ -835,12 +835,12 @@
 1571,Book_Of_Gust_Of_Wind_,Book of Gust of Wind,5,35000,,750,90,,1,3,0x00410100,7,2,2,3,27,1,15,{ bonus bAtkEle,Ele_Wind; },{},{}
 1571,Book_Of_Gust_Of_Wind_,Book of Gust of Wind,5,35000,,750,90,,1,3,0x00410100,7,2,2,3,27,1,15,{ bonus bAtkEle,Ele_Wind; },{},{}
 1572,Principles_Of_Magic,Principles of Magic,5,20,,300,60,,1,2,0x00410100,7,2,2,3,60,1,15,{ bonus bMatkRate,20; bonus bInt,3; bonus bSPrecovRate,5; },{},{}
 1572,Principles_Of_Magic,Principles of Magic,5,20,,300,60,,1,2,0x00410100,7,2,2,3,60,1,15,{ bonus bMatkRate,20; bonus bInt,3; bonus bSPrecovRate,5; },{},{}
 1573,Ancient_Magic,Ancient Magic,5,20,,700,30,,1,2,0x00410100,7,2,2,3,70,1,15,{ bonus bMatkRate,15; },{},{}
 1573,Ancient_Magic,Ancient Magic,5,20,,700,30,,1,2,0x00410100,7,2,2,3,70,1,15,{ bonus bMatkRate,15; },{},{}
-1574,BF_Book1,Brave Battle Strategy Book,5,20,,0,90,,1,0,0x00410100,7,2,2,3,80,1,15,{ bonus bStr,2; bonus bInt,1; bonus bMatkRate,15; bonus2 bAddRace,RC_DemiHuman,75; bonus2 bAddRace,RC_Player,75; bonus2 bIgnoreDefRaceRate,RC_DemiHuman,20; bonus2 bIgnoreDefRaceRate,RC_Player,20; bonus bUnbreakableWeapon; },{},{}
-1575,BF_Book2,Valorous Battle Strategy Book,5,20,,0,90,,1,0,0x00410100,7,2,2,3,80,1,15,{ bonus bStr,2; bonus bInt,1; bonus bMatkRate,15; bonus2 bIgnoreMdefRaceRate,RC_DemiHuman,25; bonus2 bIgnoreMdefRaceRate,RC_Player,25; bonus bUnbreakableWeapon; },{},{}
-1576,Krieger_Book1,Glorious Tablet,5,20,,0,90,,1,0,0x00410100,7,2,2,4,80,1,15,{ bonus bMatkRate,15; bonus2 bAddRace,RC_DemiHuman,80; bonus2 bAddRace,RC_Player,80; bonus2 bIgnoreDefRaceRate,RC_DemiHuman,25; bonus2 bIgnoreDefRaceRate,RC_Player,25; bonus bUnbreakableWeapon; if(getrefine()>5) { bonus2 bAddRace,RC_DemiHuman,(getrefine()-4)*(getrefine()-4); bonus2 bAddRace,RC_Player,(getrefine()-4)*(getrefine()-4); bonus2 bIgnoreDefRaceRate,RC_DemiHuman,5; bonus2 bIgnoreDefRaceRate,RC_Player,5; } if(getrefine()>8) autobonus "{ bonus bBaseAtk,200; }",30,3000,BF_WEAPON,"{ specialeffect2 EF_BASH3D; }"; },{},{}
-1577,Krieger_Book2,Glorious Apocalypse,5,20,,0,90,,1,0,0x00410100,7,2,2,4,80,1,15,{ bonus bMatkRate,15; bonus2 bAddRace,RC_DemiHuman,80; bonus2 bAddRace,RC_Player,80; bonus2 bIgnoreDefRaceRate,RC_DemiHuman,25; bonus2 bIgnoreDefRaceRate,RC_Player,25; bonus bUnbreakableWeapon; if(getrefine()>5) bonus2 bIgnoreDefRaceRate,RC_DemiHuman,5; bonus2 bIgnoreDefRaceRate,RC_Player,5; if(getrefine()>8) { bonus bMatkRate,5; bonus bCastrate,-5; bonus bDelayRate,-5; } },{},{}
+1574,BF_Book1,Brave Battle Strategy Book,5,20,,0,90,,1,0,0x00410100,7,2,2,3,80,1,15,{ bonus bStr,2; bonus bInt,1; bonus bMatkRate,15; bonus2 bAddRace,RC_DemiHuman,75; bonus2 bAddRace,RC_Player_Human,75; bonus2 bIgnoreDefRaceRate,RC_DemiHuman,20; bonus2 bIgnoreDefRaceRate,RC_Player_Human,20; bonus bUnbreakableWeapon; },{},{}
+1575,BF_Book2,Valorous Battle Strategy Book,5,20,,0,90,,1,0,0x00410100,7,2,2,3,80,1,15,{ bonus bStr,2; bonus bInt,1; bonus bMatkRate,15; bonus2 bIgnoreMdefRaceRate,RC_DemiHuman,25; bonus2 bIgnoreMdefRaceRate,RC_Player_Human,25; bonus bUnbreakableWeapon; },{},{}
+1576,Krieger_Book1,Glorious Tablet,5,20,,0,90,,1,0,0x00410100,7,2,2,4,80,1,15,{ bonus bMatkRate,15; bonus2 bAddRace,RC_DemiHuman,80; bonus2 bAddRace,RC_Player_Human,80; bonus2 bIgnoreDefRaceRate,RC_DemiHuman,25; bonus2 bIgnoreDefRaceRate,RC_Player_Human,25; bonus bUnbreakableWeapon; if(getrefine()>5) { bonus2 bAddRace,RC_DemiHuman,(getrefine()-4)*(getrefine()-4); bonus2 bAddRace,RC_Player_Human,(getrefine()-4)*(getrefine()-4); bonus2 bIgnoreDefRaceRate,RC_DemiHuman,5; bonus2 bIgnoreDefRaceRate,RC_Player_Human,5; } if(getrefine()>8) autobonus "{ bonus bBaseAtk,200; }",30,3000,BF_WEAPON,"{ specialeffect2 EF_BASH3D; }"; },{},{}
+1577,Krieger_Book2,Glorious Apocalypse,5,20,,0,90,,1,0,0x00410100,7,2,2,4,80,1,15,{ bonus bMatkRate,15; bonus2 bAddRace,RC_DemiHuman,80; bonus2 bAddRace,RC_Player_Human,80; bonus2 bIgnoreDefRaceRate,RC_DemiHuman,25; bonus2 bIgnoreDefRaceRate,RC_Player_Human,25; bonus bUnbreakableWeapon; if(getrefine()>5) bonus2 bIgnoreDefRaceRate,RC_DemiHuman,5; bonus2 bIgnoreDefRaceRate,RC_Player_Human,5; if(getrefine()>8) { bonus bMatkRate,5; bonus bCastrate,-5; bonus bDelayRate,-5; } },{},{}
 1578,Book_Of_Prayer,Book Of Prayer,5,20,,0,140,,1,0,0x00410100,7,2,2,3,0,0,15,{ bonus bVit,2; bonus bMdef,2; bonus bMaxSPrate,10; },{},{}
 1578,Book_Of_Prayer,Book Of Prayer,5,20,,0,140,,1,0,0x00410100,7,2,2,3,0,0,15,{ bonus bVit,2; bonus bMdef,2; bonus bMaxSPrate,10; },{},{}
-1579,Death_Note_M,Book of the Dead,5,20,,1000,137,,1,2,0x00410100,7,2,2,4,85,1,15,{ bonus bMatkRate,15; bonus bStr,3; bonus bInt,3; bonus bLuk,-20; bonus2 bComaRace,RC_DemiHuman,10; bonus2 bComaRace,RC_Player,10; bonus bAspdRate,getrefine(); if(BaseJob==Job_Sage) bonus3 bAutoSpell,"NPC_HELLJUDGEMENT",5,20; },{},{}
+1579,Death_Note_M,Book of the Dead,5,20,,1000,137,,1,2,0x00410100,7,2,2,4,85,1,15,{ bonus bMatkRate,15; bonus bStr,3; bonus bInt,3; bonus bLuk,-20; bonus2 bComaRace,RC_DemiHuman,10; bonus2 bComaRace,RC_Player_Human,10; bonus bAspdRate,getrefine(); if(BaseJob==Job_Sage) bonus3 bAutoSpell,"NPC_HELLJUDGEMENT",5,20; },{},{}
 1580,Encyclopedia_C,Giant Encyclopedia,5,0,,0,145,,1,0,0x00410100,7,2,2,3,0,0,15,{ bonus bMatkRate,15; bonus bInt,3; bonus bDex,2; bonus bCritical,20+((readparam(bLuk)*2)/10); bonus2 bAddSize,Size_All,40; },{},{}
 1580,Encyclopedia_C,Giant Encyclopedia,5,0,,0,145,,1,0,0x00410100,7,2,2,3,0,0,15,{ bonus bMatkRate,15; bonus bInt,3; bonus bDex,2; bonus bCritical,20+((readparam(bLuk)*2)/10); bonus2 bAddSize,Size_All,40; },{},{}
 1581,F_Diary_Of_Great_Sage_C,Diary Of Great Sage,5,1,,0,135,,1,2,0x00410100,7,2,2,3,1,0,15,{},{},{}
 1581,F_Diary_Of_Great_Sage_C,Diary Of Great Sage,5,1,,0,135,,1,2,0x00410100,7,2,2,3,1,0,15,{},{},{}
 1582,E_Diary_Of_Great_Sage_C,Diary Of Great Sage,5,1,,0,135,,1,2,0x00410100,7,2,2,3,1,0,15,{},{},{}
 1582,E_Diary_Of_Great_Sage_C,Diary Of Great Sage,5,1,,0,135,,1,2,0x00410100,7,2,2,3,1,0,15,{},{},{}
@@ -878,16 +878,16 @@
 1629,Walking_Stick,Gentleman's Staff,5,20,,500,40,,1,1,0x00818314,7,2,2,4,50,1,10,{ bonus bMatkRate,15; bonus bDex,1; },{},{}
 1629,Walking_Stick,Gentleman's Staff,5,20,,500,40,,1,1,0x00818314,7,2,2,4,50,1,10,{ bonus bMatkRate,15; bonus bDex,1; },{},{}
 1630,Release_Of_Wish,Release of Wish,5,20,,500,30,,1,0,0x00810204,7,2,2,3,50,1,10,{ bonus bMatkRate,15; bonus bInt,3; bonus bHealPower,5; autobonus "{ bonus2 bSPRegenRate,100,2000; bonus2 bHPRegenRate,50,2000; }",10,10000,BF_MAGIC,"{ specialeffect2 EF_HEAL; }"; },{},{}
 1630,Release_Of_Wish,Release of Wish,5,20,,500,30,,1,0,0x00810204,7,2,2,3,50,1,10,{ bonus bMatkRate,15; bonus bInt,3; bonus bHealPower,5; autobonus "{ bonus2 bSPRegenRate,100,2000; bonus2 bHPRegenRate,50,2000; }",10,10000,BF_MAGIC,"{ specialeffect2 EF_HEAL; }"; },{},{}
 1631,Holy_Stick,Holy Stick,5,20,,500,50,,1,1,0x00008100,7,2,2,4,70,1,10,{ bonus bAtkEle,Ele_Holy; bonus bMatkRate,15; bonus2 bCastrate,"AL_HOLYLIGHT",-25; bonus2 bCastrate,"PR_TURNUNDEAD",-25; bonus2 bCastrate,"PR_MAGNUS",-25; },{},{}
 1631,Holy_Stick,Holy Stick,5,20,,500,50,,1,1,0x00008100,7,2,2,4,70,1,10,{ bonus bAtkEle,Ele_Holy; bonus bMatkRate,15; bonus2 bCastrate,"AL_HOLYLIGHT",-25; bonus2 bCastrate,"PR_TURNUNDEAD",-25; bonus2 bCastrate,"PR_MAGNUS",-25; },{},{}
-1632,BF_Staff1,Warlock's Magic Wand,5,20,,0,70,,1,0,0x00818314,7,2,2,3,80,1,10,{ bonus bInt,4; bonus bDex,3; bonus bMatkRate,15; bonus2 bIgnoreMdefRaceRate,RC_DemiHuman,25; bonus2 bIgnoreMdefRaceRate,RC_Player,25; bonus3 bAddEff,Eff_Stun,500,ATF_SKILL; bonus bUnbreakableWeapon; },{},{}
-1633,BF_Staff2,Warlock's Battle Wand,5,20,,0,70,,1,0,0x00818314,7,2,2,3,80,1,10,{ bonus bInt,3; bonus bDex,3; bonus bMatkRate,15; bonus2 bMagicAddRace,RC_DemiHuman,15; bonus2 bMagicAddRace,RC_Player,15; bonus3 bAddEff,Eff_Stun,500,ATF_SKILL; bonus bUnbreakableWeapon; },{},{}
+1632,BF_Staff1,Warlock's Magic Wand,5,20,,0,70,,1,0,0x00818314,7,2,2,3,80,1,10,{ bonus bInt,4; bonus bDex,3; bonus bMatkRate,15; bonus2 bIgnoreMdefRaceRate,RC_DemiHuman,25; bonus2 bIgnoreMdefRaceRate,RC_Player_Human,25; bonus3 bAddEff,Eff_Stun,500,ATF_SKILL; bonus bUnbreakableWeapon; },{},{}
+1633,BF_Staff2,Warlock's Battle Wand,5,20,,0,70,,1,0,0x00818314,7,2,2,3,80,1,10,{ bonus bInt,3; bonus bDex,3; bonus bMatkRate,15; bonus2 bMagicAddRace,RC_DemiHuman,15; bonus2 bMagicAddRace,RC_Player_Human,15; bonus3 bAddEff,Eff_Stun,500,ATF_SKILL; bonus bUnbreakableWeapon; },{},{}
 1634,BF_Staff3,Strong Recovery Wand,5,20,,0,70,,1,0,0x00818314,7,2,2,3,80,1,10,{ bonus bMatkRate,15; bonus bHealPower,14; bonus2 bSPRegenRate,5,10000; bonus bUnbreakableWeapon; },{},{}
 1634,BF_Staff3,Strong Recovery Wand,5,20,,0,70,,1,0,0x00818314,7,2,2,3,80,1,10,{ bonus bMatkRate,15; bonus bHealPower,14; bonus2 bSPRegenRate,5,10000; bonus bUnbreakableWeapon; },{},{}
 1635,BF_Staff4,Speedy Recovery Wand,5,20,,0,70,,1,0,0x00818314,7,2,2,3,80,1,10,{ bonus bInt,3; bonus bDex,2; bonus bMatkRate,15; bonus bDelayRate,-15; bonus2 bSPRegenRate,5,10000; bonus bUnbreakableWeapon; },{},{}
 1635,BF_Staff4,Speedy Recovery Wand,5,20,,0,70,,1,0,0x00818314,7,2,2,3,80,1,10,{ bonus bInt,3; bonus bDex,2; bonus bMatkRate,15; bonus bDelayRate,-15; bonus2 bSPRegenRate,5,10000; bonus bUnbreakableWeapon; },{},{}
 1636,Thorn_Staff,Thorn Staff of Darkness,5,20,,700,60,,1,0,0x00018314,2,2,2,4,75,1,10,{ bonus bInt,3; bonus bDex,3; bonus bMatkRate,20; bonus2 bIgnoreMdefClassRate,Class_Normal,getrefine(); bonus2 bIgnoreMdefClassRate,Class_Boss,getrefine(); bonus bDelayRate,-(getrefine()*3/2); },{},{}
 1636,Thorn_Staff,Thorn Staff of Darkness,5,20,,700,60,,1,0,0x00018314,2,2,2,4,75,1,10,{ bonus bInt,3; bonus bDex,3; bonus bMatkRate,20; bonus2 bIgnoreMdefClassRate,Class_Normal,getrefine(); bonus2 bIgnoreMdefClassRate,Class_Boss,getrefine(); bonus bDelayRate,-(getrefine()*3/2); },{},{}
 1637,Eraser,Eraser,5,20,,500,80,,1,0,0x00018314,2,2,2,4,70,1,10,{ bonus bMatkRate,20; bonus bInt,3; bonus bDex,2; bonus bSPrecovRate,8; if( getrefine()>9 ) bonus5 bAutoSpell,"NPC_WIDESOULDRAIN",3,5,BF_MAGIC,0; else bonus5 bAutoSpell,"NPC_WIDESOULDRAIN",1,5,BF_MAGIC,0; },{},{}
 1637,Eraser,Eraser,5,20,,500,80,,1,0,0x00018314,2,2,2,4,70,1,10,{ bonus bMatkRate,20; bonus bInt,3; bonus bDex,2; bonus bSPrecovRate,8; if( getrefine()>9 ) bonus5 bAutoSpell,"NPC_WIDESOULDRAIN",3,5,BF_MAGIC,0; else bonus5 bAutoSpell,"NPC_WIDESOULDRAIN",1,5,BF_MAGIC,0; },{},{}
 1638,Healing_Staff_C,Staff Of Healing,5,20,,0,10,,1,0,0x00008110,7,2,2,3,1,1,10,{ bonus bAtkEle,Ele_Holy; bonus bMatkRate,15; bonus bHealPower,(getrefine()*3/2); },{},{}
 1638,Healing_Staff_C,Staff Of Healing,5,20,,0,10,,1,0,0x00008110,7,2,2,3,1,1,10,{ bonus bAtkEle,Ele_Holy; bonus bMatkRate,15; bonus bHealPower,(getrefine()*3/2); },{},{}
 1639,N_Rod,Novice Rod,5,0,,0,15,,1,3,0x00818315,7,2,2,1,1,0,10,{ bonus bMatkRate,16; },{},{}
 1639,N_Rod,Novice Rod,5,0,,0,15,,1,3,0x00818315,7,2,2,1,1,0,10,{ bonus bMatkRate,16; },{},{}
-1640,Krieger_Onehand_Staff1,Glorious Arc Wand,5,20,,0,70,,1,0,0x00818314,7,2,2,4,80,1,10,{ bonus2 bMagicAddRace,RC_DemiHuman,15; bonus2 bMagicAddRace,RC_Player,15; bonus2 bIgnoreMdefRaceRate,RC_DemiHuman,25 + ((getrefine()>5) ? 5 : 0); bonus2 bIgnoreMdefRaceRate,RC_Player,25 + ((getrefine()>5) ? 5 : 0); bonus bUnbreakableWeapon; if(getrefine()>8) { bonus bCastrate,-5; bonus bDelayRate,-5; bonus bMatkRate,5; } },{},{}
-1641,Krieger_Onehand_Staff2,Glorious Cure Wand,5,20,,0,70,,1,0,0x00818314,7,2,2,4,80,1,10,{ bonus bHealPower,14; bonus bDelayRate,-10; bonus bUnbreakableWeapon; if(getrefine()>5) { bonus2 bIgnoreMdefRaceRate,RC_DemiHuman,5; bonus2 bIgnoreMdefRaceRate,RC_Player,5; bonus bHealPower,5+(getrefine()-5)*2; } if(getrefine()>8) bonus5 bAutoSpellOnSkill,"AL_HEAL","AL_HEAL",10,100,1; if(getrefine()>9) { bonus bHealPower,10; } },{},{}
+1640,Krieger_Onehand_Staff1,Glorious Arc Wand,5,20,,0,70,,1,0,0x00818314,7,2,2,4,80,1,10,{ bonus2 bMagicAddRace,RC_DemiHuman,15; bonus2 bMagicAddRace,RC_Player_Human,15; bonus2 bIgnoreMdefRaceRate,RC_DemiHuman,25 + ((getrefine()>5) ? 5 : 0); bonus2 bIgnoreMdefRaceRate,RC_Player_Human,25 + ((getrefine()>5) ? 5 : 0); bonus bUnbreakableWeapon; if(getrefine()>8) { bonus bCastrate,-5; bonus bDelayRate,-5; bonus bMatkRate,5; } },{},{}
+1641,Krieger_Onehand_Staff2,Glorious Cure Wand,5,20,,0,70,,1,0,0x00818314,7,2,2,4,80,1,10,{ bonus bHealPower,14; bonus bDelayRate,-10; bonus bUnbreakableWeapon; if(getrefine()>5) { bonus2 bIgnoreMdefRaceRate,RC_DemiHuman,5; bonus2 bIgnoreMdefRaceRate,RC_Player_Human,5; bonus bHealPower,5+(getrefine()-5)*2; } if(getrefine()>8) bonus5 bAutoSpellOnSkill,"AL_HEAL","AL_HEAL",10,100,1; if(getrefine()>9) { bonus bHealPower,10; } },{},{}
 1642,Staff_Of_Darkness,Staff Of Darkness,5,20,,0,100,,1,0,0x00818314,7,2,2,2,0,0,10,{ bonus bCastrate,-5; bonus bMatkRate,15; bonus bInt,2; },{},{}
 1642,Staff_Of_Darkness,Staff Of Darkness,5,20,,0,100,,1,0,0x00818314,7,2,2,2,0,0,10,{ bonus bCastrate,-5; bonus bMatkRate,15; bonus bInt,2; },{},{}
 1643,Dead_Tree_Cane,Dead Tree Cane,5,20,,100,100,,1,0,0x00818314,7,2,2,4,70,1,10,{ bonus bMatk,15; bonus bInt,4; if(getrefine()>5) { bonus bInt,getrefine()-5; bonus bMaxHP,-200; bonus bMaxSP,-100; } },{},{}
 1643,Dead_Tree_Cane,Dead Tree Cane,5,20,,100,100,,1,0,0x00818314,7,2,2,4,70,1,10,{ bonus bMatk,15; bonus bInt,4; if(getrefine()>5) { bonus bInt,getrefine()-5; bonus bMaxHP,-200; bonus bMaxSP,-100; } },{},{}
 1644,Piercing_Staff_M,Staff of Piercing,5,20,,500,80,,1,0,0x00018314,2,2,2,3,70,1,10,{ bonus bInt,4; bonus bMatkRate,15; bonus2 bIgnoreMdefClassRate,Class_Normal,10+getrefine(); bonus2 bIgnoreMdefClassRate,Class_Boss,10+getrefine(); },{},{}
 1644,Piercing_Staff_M,Staff of Piercing,5,20,,500,80,,1,0,0x00018314,2,2,2,3,70,1,10,{ bonus bInt,4; bonus bMatkRate,15; bonus2 bIgnoreMdefClassRate,Class_Normal,10+getrefine(); bonus2 bIgnoreMdefClassRate,Class_Boss,10+getrefine(); },{},{}
@@ -932,12 +932,12 @@
 1735,Kkakkung,Kkakkung,5,20,,0,120,,5,0,0x000A0848,7,2,34,1,1,0,11,{ bonus2 bAddClass,Class_All,50; },{},{}
 1735,Kkakkung,Kkakkung,5,20,,0,120,,5,0,0x000A0848,7,2,34,1,1,0,11,{ bonus2 bAddClass,Class_All,50; },{},{}
 1736,Double_Bound,Double Bound,5,20,,900,70,,5,3,0x00000800,2,2,34,3,70,1,11,{ bonus3 bAutoSpell,"AC_DOUBLE",GetSkillLv("AC_DOUBLE"),10; },{},{}
 1736,Double_Bound,Double Bound,5,20,,900,70,,5,3,0x00000800,2,2,34,3,70,1,11,{ bonus3 bAutoSpell,"AC_DOUBLE",GetSkillLv("AC_DOUBLE"),10; },{},{}
 1737,Ixion_Wing,Ixion Wings,5,20,,300,135,,5,1,0x00000800,2,2,34,4,70,1,11,{ autobonus "{ bonus bAspdRate,7; }",10+(getrefine()*2),7000,BF_WEAPON,"{ specialeffect2 EF_HASTEUP; }"; bonus2 bAddSkillBlow,"AC_CHARGEARROW",3; },{},{}
 1737,Ixion_Wing,Ixion Wings,5,20,,300,135,,5,1,0x00000800,2,2,34,4,70,1,11,{ autobonus "{ bonus bAspdRate,7; }",10+(getrefine()*2),7000,BF_WEAPON,"{ specialeffect2 EF_HASTEUP; }"; bonus2 bAddSkillBlow,"AC_CHARGEARROW",3; },{},{}
-1738,BF_Bow1,Valorous Battle CrossBow,5,0,,0,100,,5,0,0x000A0848,7,2,34,3,80,1,11,{ bonus bDex,2; bonus2 bAddRace,RC_DemiHuman,55; bonus2 bAddRace,RC_Player,55; bonus2 bIgnoreDefRaceRate,RC_DemiHuman,20; bonus2 bIgnoreDefRaceRate,RC_Player,20; bonus bUnbreakableWeapon; },{},{}
-1739,BF_Bow2,Brave Battle CrossBow,5,0,,0,100,,5,0,0x000A0848,7,2,34,3,80,1,11,{ bonus bDex,2; bonus bInt,10; bonus2 bAddRace,RC_DemiHuman,55; bonus2 bAddRace,RC_Player,55; bonus bUnbreakableWeapon; },{},{}
+1738,BF_Bow1,Valorous Battle CrossBow,5,0,,0,100,,5,0,0x000A0848,7,2,34,3,80,1,11,{ bonus bDex,2; bonus2 bAddRace,RC_DemiHuman,55; bonus2 bAddRace,RC_Player_Human,55; bonus2 bIgnoreDefRaceRate,RC_DemiHuman,20; bonus2 bIgnoreDefRaceRate,RC_Player_Human,20; bonus bUnbreakableWeapon; },{},{}
+1739,BF_Bow2,Brave Battle CrossBow,5,0,,0,100,,5,0,0x000A0848,7,2,34,3,80,1,11,{ bonus bDex,2; bonus bInt,10; bonus2 bAddRace,RC_DemiHuman,55; bonus2 bAddRace,RC_Player_Human,55; bonus bUnbreakableWeapon; },{},{}
 1740,Nepenthes_Bow,Nepenthes Bow,5,20,,1000,105,,5,2,0x00000800,2,2,34,4,60,1,11,{ bonus4 bAutoSpellOnSkill,"AC_DOUBLE","AC_CHARGEARROW",1,20; },{},{}
 1740,Nepenthes_Bow,Nepenthes Bow,5,20,,1000,105,,5,2,0x00000800,2,2,34,4,60,1,11,{ bonus4 bAutoSpellOnSkill,"AC_DOUBLE","AC_CHARGEARROW",1,20; },{},{}
 1741,Cursed_Lyre,Cursed Lyre,5,20,,1250,125,,5,1,0x00080808,2,2,34,4,80,1,11,{ bonus bLuk,-2; bonus2 bAddEff,Eff_Curse,400; },{},{}
 1741,Cursed_Lyre,Cursed Lyre,5,20,,1250,125,,5,1,0x00080808,2,2,34,4,80,1,11,{ bonus bLuk,-2; bonus2 bAddEff,Eff_Curse,400; },{},{}
 1742,N_Composite_Bow,Novice Composite Bow,5,1,,0,49,,5,3,0x000A0848,7,2,34,1,4,0,11,{},{},{}
 1742,N_Composite_Bow,Novice Composite Bow,5,1,,0,49,,5,3,0x000A0848,7,2,34,1,4,0,11,{},{},{}
-1743,Krieger_Bow1,Glorious Hunter Bow,5,0,,0,100,,5,0,0x001A0848,7,2,34,4,80,1,11,{ bonus2 bAddRace,RC_DemiHuman,55; bonus2 bAddRace,RC_Player,55; bonus2 bIgnoreDefRaceRate,RC_DemiHuman,20; bonus2 bIgnoreDefRaceRate,RC_Player,20; bonus bCritAtkRate,getrefine() * 2; bonus bUnbreakableWeapon; if(getrefine()>5) { bonus2 bAddRace,RC_DemiHuman,(getrefine()-4)*(getrefine()-4); bonus2 bAddRace,RC_Player,(getrefine()-4)*(getrefine()-4); bonus2 bIgnoreDefRaceRate,RC_DemiHuman,5; bonus2 bIgnoreDefRaceRate,RC_Player,5; } if(getrefine()>8) bonus2 bSkillAtk,"AC_DOUBLE",20; },{},{}
+1743,Krieger_Bow1,Glorious Hunter Bow,5,0,,0,100,,5,0,0x001A0848,7,2,34,4,80,1,11,{ bonus2 bAddRace,RC_DemiHuman,55; bonus2 bAddRace,RC_Player_Human,55; bonus2 bIgnoreDefRaceRate,RC_DemiHuman,20; bonus2 bIgnoreDefRaceRate,RC_Player_Human,20; bonus bCritAtkRate,getrefine() * 2; bonus bUnbreakableWeapon; if(getrefine()>5) { bonus2 bAddRace,RC_DemiHuman,(getrefine()-4)*(getrefine()-4); bonus2 bAddRace,RC_Player_Human,(getrefine()-4)*(getrefine()-4); bonus2 bIgnoreDefRaceRate,RC_DemiHuman,5; bonus2 bIgnoreDefRaceRate,RC_Player_Human,5; } if(getrefine()>8) bonus2 bSkillAtk,"AC_DOUBLE",20; },{},{}
 1744,Bow_Of_Evil,Bow Of Evil,5,0,,0,170,,5,0,0x000A0848,7,2,34,4,1,0,11,{ bonus2 bSkillAtk,"AC_DOUBLE",25; bonus bDex,2; },{},{}
 1744,Bow_Of_Evil,Bow Of Evil,5,0,,0,170,,5,0,0x000A0848,7,2,34,4,1,0,11,{ bonus2 bSkillAtk,"AC_DOUBLE",25; bonus bDex,2; },{},{}
 1745,Falken_Blitz,Falken Blitz,5,0,,1000,100,,5,2,0x00080808,2,2,34,3,50,1,11,{ bonus2 bSkillAtk,"SN_SHARPSHOOTING",10; bonus2 bSkillAtk,"AC_DOUBLE",10; bonus2 bSkillAtk,"AC_CHARGEARROW",10; },{},{}
 1745,Falken_Blitz,Falken Blitz,5,0,,1000,100,,5,2,0x00080808,2,2,34,3,50,1,11,{ bonus2 bSkillAtk,"SN_SHARPSHOOTING",10; bonus2 bSkillAtk,"AC_DOUBLE",10; bonus2 bSkillAtk,"AC_CHARGEARROW",10; },{},{}
 // Arrows
 // Arrows
@@ -987,11 +987,11 @@
 1820,Electric_Fist,Electric Fist,5,20,,650,80,,1,3,0x00008100,7,2,2,3,75,1,12,{ bonus3 bAutoSpell,"SA_LIGHTNINGLOADER",5,10; },{},{}
 1820,Electric_Fist,Electric Fist,5,20,,650,80,,1,3,0x00008100,7,2,2,3,75,1,12,{ bonus3 bAutoSpell,"SA_LIGHTNINGLOADER",5,10; },{},{}
 1821,Seismic_Fist,Seismic Fist,5,20,,650,80,,1,3,0x00008100,7,2,2,3,75,1,12,{ bonus3 bAutoSpell,"SA_SEISMICWEAPON",5,10; },{},{}
 1821,Seismic_Fist,Seismic Fist,5,20,,650,80,,1,3,0x00008100,7,2,2,3,75,1,12,{ bonus3 bAutoSpell,"SA_SEISMICWEAPON",5,10; },{},{}
 1822,Combo_Battle_Glove,Combo Battle Glove,5,20,,500,30,,1,4,0x00008100,7,2,2,3,60,1,12,{ bonus2 bSkillAtk,"MO_TRIPLEATTACK",15; bonus2 bSkillAtk,"MO_CHAINCOMBO",15; bonus2 bSkillAtk,"MO_COMBOFINISH",20; },{},{}
 1822,Combo_Battle_Glove,Combo Battle Glove,5,20,,500,30,,1,4,0x00008100,7,2,2,3,60,1,12,{ bonus2 bSkillAtk,"MO_TRIPLEATTACK",15; bonus2 bSkillAtk,"MO_CHAINCOMBO",15; bonus2 bSkillAtk,"MO_COMBOFINISH",20; },{},{}
-1823,BF_Knuckle1,Valorous Battle Fist,5,20,,0,30,,1,0,0x00008100,7,2,2,3,80,1,12,{ bonus bStr,2; bonus bAgi,1; bonus2 bAddRace,RC_DemiHuman,95; bonus2 bAddRace,RC_Player,95; bonus2 bIgnoreDefRaceRate,RC_DemiHuman,20; bonus2 bIgnoreDefRaceRate,RC_Player,20; bonus4 bAutoSpell,"CH_SOULCOLLECT",1,5,0; bonus bUnbreakableWeapon; },{},{}
-1824,BF_Knuckle2,Brave Battle Fist,5,20,,0,30,,1,0,0x00008100,7,2,2,3,80,1,12,{ bonus bStr,2; bonus bInt,1; bonus2 bAddRace,RC_DemiHuman,95; bonus2 bAddRace,RC_Player,95; bonus2 bCastrate,"MO_EXTREMITYFIST",-25; autobonus "{ bonus2 bCastrate,\"MO_EXTREMITYFIST\",-100; }",50,6000,BF_WEAPON,"{ specialeffect2 EF_SUFFRAGIUM; }"; bonus bUnbreakableWeapon; },{},{}
+1823,BF_Knuckle1,Valorous Battle Fist,5,20,,0,30,,1,0,0x00008100,7,2,2,3,80,1,12,{ bonus bStr,2; bonus bAgi,1; bonus2 bAddRace,RC_DemiHuman,95; bonus2 bAddRace,RC_Player_Human,95; bonus2 bIgnoreDefRaceRate,RC_DemiHuman,20; bonus2 bIgnoreDefRaceRate,RC_Player_Human,20; bonus4 bAutoSpell,"CH_SOULCOLLECT",1,5,0; bonus bUnbreakableWeapon; },{},{}
+1824,BF_Knuckle2,Brave Battle Fist,5,20,,0,30,,1,0,0x00008100,7,2,2,3,80,1,12,{ bonus bStr,2; bonus bInt,1; bonus2 bAddRace,RC_DemiHuman,95; bonus2 bAddRace,RC_Player_Human,95; bonus2 bCastrate,"MO_EXTREMITYFIST",-25; autobonus "{ bonus2 bCastrate,\"MO_EXTREMITYFIST\",-100; }",50,6000,BF_WEAPON,"{ specialeffect2 EF_SUFFRAGIUM; }"; bonus bUnbreakableWeapon; },{},{}
 1825,Horn_Of_Hilthrion,Horn of Hillslion,5,20,,600,95,,1,3,0x00008000,2,2,2,3,60,1,12,{ bonus3 bAutoSpell,"NPC_CRITICALWOUND",1,100; bonus4 bAutoSpellOnSkill,"CH_PALMSTRIKE","MO_INVESTIGATE",1,100; bonus3 bAutoSpell,"MO_CALLSPIRITS",5,100; },{},{}
 1825,Horn_Of_Hilthrion,Horn of Hillslion,5,20,,600,95,,1,3,0x00008000,2,2,2,3,60,1,12,{ bonus3 bAutoSpell,"NPC_CRITICALWOUND",1,100; bonus4 bAutoSpellOnSkill,"CH_PALMSTRIKE","MO_INVESTIGATE",1,100; bonus3 bAutoSpell,"MO_CALLSPIRITS",5,100; },{},{}
-1826,Krieger_Knuckle1,Glorious Claw,5,20,,0,30,,1,0,0x00008100,7,2,2,4,80,1,12,{ bonus2 bAddRace,RC_DemiHuman,95; bonus2 bAddRace,RC_Player,95; bonus2 bIgnoreDefRaceRate,RC_DemiHuman,20; bonus2 bIgnoreDefRaceRate,RC_Player,20; bonus bUnbreakableWeapon; if(getrefine()>5) { bonus2 bAddRace,RC_DemiHuman,(getrefine()-4)*(getrefine()-4); bonus2 bAddRace,RC_Player,(getrefine()-4)*(getrefine()-4); bonus2 bIgnoreDefRaceRate,RC_DemiHuman,5; bonus2 bIgnoreDefRaceRate,RC_Player,5; } if(getrefine()>8) { bonus3 bAutoSpell,"MO_INVESTIGATE",5,(getrefine()*10-50); bonus3 bAutoSpell,"AL_DECAGI",1,(getrefine()*10-50); } },{},{}
-1827,Krieger_Knuckle2,Glorious Fist,5,20,,0,30,,1,0,0x00008100,7,2,2,4,80,1,12,{ bonus2 bAddRace,RC_DemiHuman,95; bonus2 bAddRace,RC_Player,95; bonus2 bIgnoreDefRaceRate,RC_DemiHuman,20; bonus2 bIgnoreDefRaceRate,RC_Player,20; bonus bUnbreakableWeapon; if(getrefine()>5) { bonus2 bAddRace,RC_DemiHuman,(getrefine()-4)*(getrefine()-4); bonus2 bAddRace,RC_Player,(getrefine()-4)*(getrefine()-4); bonus2 bIgnoreDefRaceRate,RC_DemiHuman,5; bonus2 bIgnoreDefRaceRate,RC_Player,5; } if(getrefine()>8) { bonus2 bCastrate,"MO_EXTREMITYFIST",-100; bonus4 bautospellonskill,"MO_EXPLOSIONSPIRITS","CH_SOULCOLLECT",1,1000; } },{},{}
+1826,Krieger_Knuckle1,Glorious Claw,5,20,,0,30,,1,0,0x00008100,7,2,2,4,80,1,12,{ bonus2 bAddRace,RC_DemiHuman,95; bonus2 bAddRace,RC_Player_Human,95; bonus2 bIgnoreDefRaceRate,RC_DemiHuman,20; bonus2 bIgnoreDefRaceRate,RC_Player_Human,20; bonus bUnbreakableWeapon; if(getrefine()>5) { bonus2 bAddRace,RC_DemiHuman,(getrefine()-4)*(getrefine()-4); bonus2 bAddRace,RC_Player_Human,(getrefine()-4)*(getrefine()-4); bonus2 bIgnoreDefRaceRate,RC_DemiHuman,5; bonus2 bIgnoreDefRaceRate,RC_Player_Human,5; } if(getrefine()>8) { bonus3 bAutoSpell,"MO_INVESTIGATE",5,(getrefine()*10-50); bonus3 bAutoSpell,"AL_DECAGI",1,(getrefine()*10-50); } },{},{}
+1827,Krieger_Knuckle2,Glorious Fist,5,20,,0,30,,1,0,0x00008100,7,2,2,4,80,1,12,{ bonus2 bAddRace,RC_DemiHuman,95; bonus2 bAddRace,RC_Player_Human,95; bonus2 bIgnoreDefRaceRate,RC_DemiHuman,20; bonus2 bIgnoreDefRaceRate,RC_Player_Human,20; bonus bUnbreakableWeapon; if(getrefine()>5) { bonus2 bAddRace,RC_DemiHuman,(getrefine()-4)*(getrefine()-4); bonus2 bAddRace,RC_Player_Human,(getrefine()-4)*(getrefine()-4); bonus2 bIgnoreDefRaceRate,RC_DemiHuman,5; bonus2 bIgnoreDefRaceRate,RC_Player_Human,5; } if(getrefine()>8) { bonus2 bCastrate,"MO_EXTREMITYFIST",-100; bonus4 bautospellonskill,"MO_EXPLOSIONSPIRITS","CH_SOULCOLLECT",1,1000; } },{},{}
 1828,Monk_Knuckle,Monk Knuckle,5,20,,0,150,,1,0,0x00008100,7,2,2,4,0,0,12,{ bonus bInt,2; bonus2 bSkillAtk,"MO_FINGEROFFENSIVE",25; },{},{}
 1828,Monk_Knuckle,Monk Knuckle,5,20,,0,150,,1,0,0x00008100,7,2,2,4,0,0,12,{ bonus bInt,2; bonus2 bSkillAtk,"MO_FINGEROFFENSIVE",25; },{},{}
 1829,Fist_C,Fist,5,0,,0,150,,1,0,0x00008100,7,2,2,3,1,0,12,{ bonus2 bAddSize,Size_All,40; },{},{}
 1829,Fist_C,Fist,5,0,,0,150,,1,0,0x00008100,7,2,2,3,1,0,12,{ bonus2 bAddSize,Size_All,40; },{},{}
 // Instruments
 // Instruments
@@ -1017,11 +1017,11 @@
 1920,Berserk_Guitar,Berserk Guitar,5,20,,1800,10,,1,0,0x00080000,2,1,2,4,70,1,13,{ bonus bAspdRate,100; bonus bHPrecovRate,-100; bonus2 bHPLossRate,50,5000; bonus bDex,-readparam(bDex); },{},{}
 1920,Berserk_Guitar,Berserk Guitar,5,20,,1800,10,,1,0,0x00080000,2,1,2,4,70,1,13,{ bonus bAspdRate,100; bonus bHPrecovRate,-100; bonus2 bHPLossRate,50,5000; bonus bDex,-readparam(bDex); },{},{}
 1921,Guh_Moon_Gom,Gun Moon Gom,5,20,,0,120,,1,0,0x00080000,7,1,2,1,0,0,13,{ bonus2 bAddClass,Class_All,50; },{},{}
 1921,Guh_Moon_Gom,Gun Moon Gom,5,20,,0,120,,1,0,0x00080000,7,1,2,1,0,0,13,{ bonus2 bAddClass,Class_All,50; },{},{}
 1922,Oriental_Lute_,Oriental Lute,5,20,,1200,150,,1,2,0x00080000,7,1,2,4,65,1,13,{ bonus2 bSkillAtk,"CG_ARROWVULCAN",10; bonus2 bSkillAtk,"BA_MUSICALSTRIKE",10; },{},{}
 1922,Oriental_Lute_,Oriental Lute,5,20,,1200,150,,1,2,0x00080000,7,1,2,4,65,1,13,{ bonus2 bSkillAtk,"CG_ARROWVULCAN",10; bonus2 bSkillAtk,"BA_MUSICALSTRIKE",10; },{},{}
-1923,BF_Instrument1,Valorous Battlefield Guitar,5,20,,0,50,,1,0,0x00080000,7,1,2,3,80,1,13,{ bonus bDex,2; bonus2 bAddRace,RC_DemiHuman,95; bonus2 bAddRace,RC_Player,95; bonus2 bIgnoreDefRaceRate,RC_DemiHuman,20; bonus2 bIgnoreDefRaceRate,RC_Player,20; bonus bUnbreakableWeapon; },{},{}
-1924,BF_Instrument2,Brave Battlefield Guitar,5,20,,0,50,,1,0,0x00080000,7,1,2,3,80,1,13,{ bonus bDex,2; bonus2 bAddRace,RC_DemiHuman,95; bonus2 bAddRace,RC_Player,95; bonus2 bSkillAtk,"CG_ARROWVULCAN",20; bonus bUnbreakableWeapon; },{},{}
+1923,BF_Instrument1,Valorous Battlefield Guitar,5,20,,0,50,,1,0,0x00080000,7,1,2,3,80,1,13,{ bonus bDex,2; bonus2 bAddRace,RC_DemiHuman,95; bonus2 bAddRace,RC_Player_Human,95; bonus2 bIgnoreDefRaceRate,RC_DemiHuman,20; bonus2 bIgnoreDefRaceRate,RC_Player_Human,20; bonus bUnbreakableWeapon; },{},{}
+1924,BF_Instrument2,Brave Battlefield Guitar,5,20,,0,50,,1,0,0x00080000,7,1,2,3,80,1,13,{ bonus bDex,2; bonus2 bAddRace,RC_DemiHuman,95; bonus2 bAddRace,RC_Player_Human,95; bonus2 bSkillAtk,"CG_ARROWVULCAN",20; bonus bUnbreakableWeapon; },{},{}
 1925,Cello,Cello,5,20,,700,110,,1,3,0x00080000,2,1,2,3,70,1,13,{ bonus bAgi,2; bonus bDex,3; bonus2 bAddSkillBlow,"BA_MUSICALSTRIKE",2; bonus2 bAddSkillBlow,"CG_ARROWVULCAN",3; },{},{}
 1925,Cello,Cello,5,20,,700,110,,1,3,0x00080000,2,1,2,3,70,1,13,{ bonus bAgi,2; bonus bDex,3; bonus2 bAddSkillBlow,"BA_MUSICALSTRIKE",2; bonus2 bAddSkillBlow,"CG_ARROWVULCAN",3; },{},{}
 1926,Harp_Of_Nepenthes,Harp of Nepenthes,5,20,,1000,120,,1,2,0x00080000,2,1,2,4,60,1,13,{ bonus bInt,2; if( getrefine()>9 ) { bonus3 bAddEffOnSkill,"BA_MUSICALSTRIKE",Eff_Stun,2000; } else { bonus3 bAddEffOnSkill,"BA_MUSICALSTRIKE",Eff_Stun,1000; } },{},{}
 1926,Harp_Of_Nepenthes,Harp of Nepenthes,5,20,,1000,120,,1,2,0x00080000,2,1,2,4,60,1,13,{ bonus bInt,2; if( getrefine()>9 ) { bonus3 bAddEffOnSkill,"BA_MUSICALSTRIKE",Eff_Stun,2000; } else { bonus3 bAddEffOnSkill,"BA_MUSICALSTRIKE",Eff_Stun,1000; } },{},{}
-1927,Krieger_Instrument1,Glorious Guitar,5,20,,0,50,,1,0,0x00080000,7,1,2,4,80,1,13,{ bonus2 bAddRace,RC_DemiHuman,95; bonus2 bAddRace,RC_Player,95; bonus2 bIgnoreDefRaceRate,RC_DemiHuman,20; bonus2 bIgnoreDefRaceRate,RC_Player,20; bonus bUnbreakableWeapon; if(getrefine()>5) { bonus2 bAddRace,RC_DemiHuman,(getrefine()-4)*(getrefine()-4); bonus2 bAddRace,RC_Player,(getrefine()-4)*(getrefine()-4); bonus2 bIgnoreDefRaceRate,RC_DemiHuman,5; bonus2 bIgnoreDefRaceRate,RC_Player,5; } if(getrefine()>8) bonus4 bAutoSpellOnSkill,"CG_ARROWVULCAN","CG_TAROTCARD",5,100; },{},{}
+1927,Krieger_Instrument1,Glorious Guitar,5,20,,0,50,,1,0,0x00080000,7,1,2,4,80,1,13,{ bonus2 bAddRace,RC_DemiHuman,95; bonus2 bAddRace,RC_Player_Human,95; bonus2 bIgnoreDefRaceRate,RC_DemiHuman,20; bonus2 bIgnoreDefRaceRate,RC_Player_Human,20; bonus bUnbreakableWeapon; if(getrefine()>5) { bonus2 bAddRace,RC_DemiHuman,(getrefine()-4)*(getrefine()-4); bonus2 bAddRace,RC_Player_Human,(getrefine()-4)*(getrefine()-4); bonus2 bIgnoreDefRaceRate,RC_DemiHuman,5; bonus2 bIgnoreDefRaceRate,RC_Player_Human,5; } if(getrefine()>8) bonus4 bAutoSpellOnSkill,"CG_ARROWVULCAN","CG_TAROTCARD",5,100; },{},{}
 1928,Berserk_Guitar_I,Spirited Guitar,5,0,,0,40,,1,0,0x00080000,2,1,2,4,0,0,13,{ bonus bAspdRate,100; bonus bHPrecovRate,-100; bonus2 bHPLossRate,50,5000; bonus bDex,-readparam(bDex); },{},{}
 1928,Berserk_Guitar_I,Spirited Guitar,5,0,,0,40,,1,0,0x00080000,2,1,2,4,0,0,13,{ bonus bAspdRate,100; bonus bHPrecovRate,-100; bonus2 bHPLossRate,50,5000; bonus bDex,-readparam(bDex); },{},{}
 1929,Guitar_C,Guitar,5,0,,0,177,,1,0,0x00080000,7,1,2,3,1,0,13,{ bonus2 bAddSize,Size_All,40; },{},{}
 1929,Guitar_C,Guitar,5,0,,0,177,,1,0,0x00080000,7,1,2,3,1,0,13,{ bonus2 bAddSize,Size_All,40; },{},{}
 // Whips
 // Whips
@@ -1052,17 +1052,17 @@
 1974,Carrot_Whip,Carrot Whip,5,20,,1300,185,,2,0,0x00080000,2,0,2,4,70,1,14,{ if(getrefine()>0) bonus3 bAutoSpell,"AL_INCAGI",getrefine(),10; },{},{}
 1974,Carrot_Whip,Carrot Whip,5,20,,1300,185,,2,0,0x00080000,2,0,2,4,70,1,14,{ if(getrefine()>0) bonus3 bAutoSpell,"AL_INCAGI",getrefine(),10; },{},{}
 1975,Queen_Is_Whip,Queen Is Whip,5,20,,0,120,,2,0,0x00080000,7,0,2,1,0,0,14,{ bonus2 bAddClass,Class_All,50; },{},{}
 1975,Queen_Is_Whip,Queen Is Whip,5,20,,0,120,,2,0,0x00080000,7,0,2,1,0,0,14,{ bonus2 bAddClass,Class_All,50; },{},{}
 1976,Queen's_Whip_,Queen's Whip,5,20,,1100,150,,2,2,0x00080000,7,0,2,4,65,1,14,{ bonus2 bSkillAtk,"CG_ARROWVULCAN",10; bonus2 bSkillAtk,"DC_THROWARROW",10; },{},{}
 1976,Queen's_Whip_,Queen's Whip,5,20,,1100,150,,2,2,0x00080000,7,0,2,4,65,1,14,{ bonus2 bSkillAtk,"CG_ARROWVULCAN",10; bonus2 bSkillAtk,"DC_THROWARROW",10; },{},{}
-1977,BF_Whip1,Valorous Battle Lariat,5,20,,0,50,,2,0,0x00080000,7,0,2,3,80,1,14,{ bonus bDex,2; bonus2 bAddRace,RC_DemiHuman,95; bonus2 bAddRace,RC_Player,95; bonus2 bIgnoreDefRaceRate,RC_DemiHuman,20; bonus2 bIgnoreDefRaceRate,RC_Player,20; bonus bUnbreakableWeapon; },{},{}
-1978,BF_Whip2,Brave Battle Lariat,5,20,,0,50,,2,0,0x00080000,7,0,2,3,80,1,14,{ bonus bDex,2; bonus2 bAddRace,RC_DemiHuman,95; bonus2 bAddRace,RC_Player,95; bonus2 bSkillAtk,"CG_ARROWVULCAN",20; bonus bUnbreakableWeapon; },{},{}
+1977,BF_Whip1,Valorous Battle Lariat,5,20,,0,50,,2,0,0x00080000,7,0,2,3,80,1,14,{ bonus bDex,2; bonus2 bAddRace,RC_DemiHuman,95; bonus2 bAddRace,RC_Player_Human,95; bonus2 bIgnoreDefRaceRate,RC_DemiHuman,20; bonus2 bIgnoreDefRaceRate,RC_Player_Human,20; bonus bUnbreakableWeapon; },{},{}
+1978,BF_Whip2,Brave Battle Lariat,5,20,,0,50,,2,0,0x00080000,7,0,2,3,80,1,14,{ bonus bDex,2; bonus2 bAddRace,RC_DemiHuman,95; bonus2 bAddRace,RC_Player_Human,95; bonus2 bSkillAtk,"CG_ARROWVULCAN",20; bonus bUnbreakableWeapon; },{},{}
 1979,Stem_Of_Nepenthes,Stem of Nepenthes,5,20,,1000,120,,2,2,0x00080000,2,0,2,4,60,1,14,{ bonus bInt,2; if( getrefine()>=9 ) { bonus3 bAddEffOnSkill,"DC_THROWARROW",Eff_Freeze,2000; } else { bonus3 bAddEffOnSkill,"DC_THROWARROW",Eff_Freeze,1000; } },{},{}
 1979,Stem_Of_Nepenthes,Stem of Nepenthes,5,20,,1000,120,,2,2,0x00080000,2,0,2,4,60,1,14,{ bonus bInt,2; if( getrefine()>=9 ) { bonus3 bAddEffOnSkill,"DC_THROWARROW",Eff_Freeze,2000; } else { bonus3 bAddEffOnSkill,"DC_THROWARROW",Eff_Freeze,1000; } },{},{}
 1980,Whip_Of_Balance,Whip of Balance,5,20,,700,110,,2,3,0x00080000,2,0,2,3,70,1,14,{ bonus bAgi,2; bonus bDex,3; bonus2 bAddSkillBlow,"DC_THROWARROW",2; bonus2 bAddSkillBlow,"CG_ARROWVULCAN",3; },{},{}
 1980,Whip_Of_Balance,Whip of Balance,5,20,,700,110,,2,3,0x00080000,2,0,2,3,70,1,14,{ bonus bAgi,2; bonus bDex,3; bonus2 bAddSkillBlow,"DC_THROWARROW",2; bonus2 bAddSkillBlow,"CG_ARROWVULCAN",3; },{},{}
-1981,Krieger_Whip1,Glorious Lariat,5,20,,0,50,,2,0,0x00080000,7,0,2,4,80,1,14,{ bonus2 bAddRace,RC_DemiHuman,95; bonus2 bAddRace,RC_Player,95; bonus2 bIgnoreDefRaceRate,RC_DemiHuman,20; bonus2 bIgnoreDefRaceRate,RC_Player,20; bonus bUnbreakableWeapon; if(getrefine()>5) { bonus2 bAddRace,RC_DemiHuman,(getrefine()-4)*(getrefine()-4); bonus2 bAddRace,RC_Player,(getrefine()-4)*(getrefine()-4); bonus2 bIgnoreDefRaceRate,RC_DemiHuman,5; bonus2 bIgnoreDefRaceRate,RC_Player,5; } if(getrefine()>8) bonus4 bAutoSpellOnSkill,"CG_ARROWVULCAN","CG_TAROTCARD",5,100; },{},{}
+1981,Krieger_Whip1,Glorious Lariat,5,20,,0,50,,2,0,0x00080000,7,0,2,4,80,1,14,{ bonus2 bAddRace,RC_DemiHuman,95; bonus2 bAddRace,RC_Player_Human,95; bonus2 bIgnoreDefRaceRate,RC_DemiHuman,20; bonus2 bIgnoreDefRaceRate,RC_Player_Human,20; bonus bUnbreakableWeapon; if(getrefine()>5) { bonus2 bAddRace,RC_DemiHuman,(getrefine()-4)*(getrefine()-4); bonus2 bAddRace,RC_Player_Human,(getrefine()-4)*(getrefine()-4); bonus2 bIgnoreDefRaceRate,RC_DemiHuman,5; bonus2 bIgnoreDefRaceRate,RC_Player_Human,5; } if(getrefine()>8) bonus4 bAutoSpellOnSkill,"CG_ARROWVULCAN","CG_TAROTCARD",5,100; },{},{}
 1982,Phenomena_Whip,Phenomena Whip,5,20,,0,160,,2,0,0x00080000,7,0,2,4,0,0,14,{ bonus bDex,2; bonus2 bSkillAtk,"DC_THROWARROW",25; },{},{}
 1982,Phenomena_Whip,Phenomena Whip,5,20,,0,160,,2,0,0x00080000,7,0,2,4,0,0,14,{ bonus bDex,2; bonus2 bSkillAtk,"DC_THROWARROW",25; },{},{}
 1983,Rante_C,Rante Whip,5,0,,0,170,,2,0,0x00080000,7,0,2,3,1,0,14,{ bonus2 bAddSize,Size_All,40; },{},{}
 1983,Rante_C,Rante Whip,5,0,,0,170,,2,0,0x00080000,7,0,2,3,1,0,14,{ bonus2 bAddSize,Size_All,40; },{},{}
 // Additional 2-Handed Staffs
 // Additional 2-Handed Staffs
 2000,Destruction_Rod,Staff of Destruction,5,20,,2500,130,,1,1,0x00000200,2,2,34,4,80,1,23,{ bonus bMatkRate,25+getrefine()/2; bonus bInt,3; bonus bAgi,10; bonus bUseSPrate,(getrefine()*2); bonus3 bAutoSpellWhenHit,"WZ_JUPITEL",5,(getrefine()*20); bonus2 bCastrate,"HW_MAGICPOWER",-50; },{},{}
 2000,Destruction_Rod,Staff of Destruction,5,20,,2500,130,,1,1,0x00000200,2,2,34,4,80,1,23,{ bonus bMatkRate,25+getrefine()/2; bonus bInt,3; bonus bAgi,10; bonus bUseSPrate,(getrefine()*2); bonus3 bAutoSpellWhenHit,"WZ_JUPITEL",5,(getrefine()*20); bonus2 bCastrate,"HW_MAGICPOWER",-50; },{},{}
 2001,Divine_Cross,Divine Cross,5,20,,1500,120,,1,0,0x00008100,7,2,34,4,70,1,23,{ bonus bAtkEle,Ele_Holy; bonus bMatkRate,15; bonus bDex,4; bonus2 bSubRace,RC_Demon,15; bonus2 bSubRace,RC_Undead,15; },{},{}
 2001,Divine_Cross,Divine Cross,5,20,,1500,120,,1,0,0x00008100,7,2,34,4,70,1,23,{ bonus bAtkEle,Ele_Holy; bonus bMatkRate,15; bonus bDex,4; bonus2 bSubRace,RC_Demon,15; bonus2 bSubRace,RC_Undead,15; },{},{}
-2002,Krieger_Twohand_Staff1,Glorious Destruction Staff,5,20,,0,70,,1,0,0x00018314,7,2,34,4,80,1,23,{ bonus bMatkRate,getrefine(); bonus2 bMagicAddRace,RC_DemiHuman,15; bonus2 bMagicAddRace,RC_Player,15; bonus2 bIgnoreMdefRaceRate,RC_DemiHuman,25; bonus2 bIgnoreMdefRaceRate,RC_Player,25; bonus bUnbreakableWeapon; if(getrefine()>5) { bonus2 bMagicAddRace,RC_DemiHuman,(getrefine()-5)*2; bonus2 bMagicAddRace,RC_Player,(getrefine()-5)*2; bonus2 bIgnoreMdefRaceRate,RC_DemiHuman,5+(getrefine()-5)*2; bonus2 bIgnoreMdefRaceRate,RC_Player,5+(getrefine()-5)*2; } if(getrefine()>8) { bonus5 bAutoSpellOnSkill,"WZ_STORMGUST","MG_SAFETYWALL",10,200,1; bonus5 bAutoSpellOnSkill,"WZ_METEOR","MG_SAFETYWALL",10,200,1; bonus5 bAutoSpellOnSkill,"WZ_VERMILION","MG_SAFETYWALL",10,200,1; } },{},{}
+2002,Krieger_Twohand_Staff1,Glorious Destruction Staff,5,20,,0,70,,1,0,0x00018314,7,2,34,4,80,1,23,{ bonus bMatkRate,getrefine(); bonus2 bMagicAddRace,RC_DemiHuman,15; bonus2 bMagicAddRace,RC_Player_Human,15; bonus2 bIgnoreMdefRaceRate,RC_DemiHuman,25; bonus2 bIgnoreMdefRaceRate,RC_Player_Human,25; bonus bUnbreakableWeapon; if(getrefine()>5) { bonus2 bMagicAddRace,RC_DemiHuman,(getrefine()-5)*2; bonus2 bMagicAddRace,RC_Player_Human,(getrefine()-5)*2; bonus2 bIgnoreMdefRaceRate,RC_DemiHuman,5+(getrefine()-5)*2; bonus2 bIgnoreMdefRaceRate,RC_Player_Human,5+(getrefine()-5)*2; } if(getrefine()>8) { bonus5 bAutoSpellOnSkill,"WZ_STORMGUST","MG_SAFETYWALL",10,200,1; bonus5 bAutoSpellOnSkill,"WZ_METEOR","MG_SAFETYWALL",10,200,1; bonus5 bAutoSpellOnSkill,"WZ_VERMILION","MG_SAFETYWALL",10,200,1; } },{},{}
 2003,Destruction_Rod_M,Staff of Destruction,5,20,,2500,130,,1,1,0x00000200,2,2,34,4,80,1,23,{ bonus bMatkRate,25+getrefine()/2; bonus bInt,3; bonus bAgi,10; bonus bUseSPrate,(getrefine()*2); bonus3 bAutoSpellWhenHit,"WZ_JUPITEL",5,(getrefine()*20); bonus2 bCastrate,"HW_MAGICPOWER",-50; },{},{}
 2003,Destruction_Rod_M,Staff of Destruction,5,20,,2500,130,,1,1,0x00000200,2,2,34,4,80,1,23,{ bonus bMatkRate,25+getrefine()/2; bonus bInt,3; bonus bAgi,10; bonus bUseSPrate,(getrefine()*2); bonus3 bAutoSpellWhenHit,"WZ_JUPITEL",5,(getrefine()*20); bonus2 bCastrate,"HW_MAGICPOWER",-50; },{},{}
 2004,Kronos,Kronos,5,20,,1000,30,,1,0,0x00010204,2,2,34,4,50,1,23,{ bonus bMatkRate,20; bonus bInt,3+(getrefine()/2); bonus bMaxHP,300+(50*getrefine()/2); autobonus "{ bonus bMatkRate,12; bonus buseSPRate,20; }",1,5000,BF_MAGIC,"{ specialeffect2 EF_ENHANCE; }"; },{},{}
 2004,Kronos,Kronos,5,20,,1000,30,,1,0,0x00010204,2,2,34,4,50,1,23,{ bonus bMatkRate,20; bonus bInt,3+(getrefine()/2); bonus bMaxHP,300+(50*getrefine()/2); autobonus "{ bonus bMatkRate,12; bonus buseSPRate,20; }",1,5000,BF_MAGIC,"{ specialeffect2 EF_ENHANCE; }"; },{},{}
 2005,Dea_Staff,Dea Staff,5,20,,1000,30,,1,1,0x00008110,2,2,34,3,50,1,23,{ bonus bAtkEle,Ele_Holy; bonus bMatkRate,15+getrefine()/2; bonus bInt,6; bonus bVit,2; autobonus3 "{ }",20,1000,"AL_HEAL","{ specialeffect2 EF_MAGICALATTHIT; heal 0,200; }"; },{},{}
 2005,Dea_Staff,Dea Staff,5,20,,1000,30,,1,1,0x00008110,2,2,34,3,50,1,23,{ bonus bAtkEle,Ele_Holy; bonus bMatkRate,15+getrefine()/2; bonus bInt,6; bonus bVit,2; autobonus3 "{ }",20,1000,"AL_HEAL","{ specialeffect2 EF_MAGICALATTHIT; heal 0,200; }"; },{},{}
@@ -1109,7 +1109,7 @@
 2138,Bradium_Shield,Bradium Shield,4,20,,1800,,5,,1,0x00CFFF80,2,2,32,,65,1,3,{ bonus2 bSkillAtk,"CR_SHIELDBOOMERANG",60; bonus bAgi,-1; bonus bMaxHP,500; },{},{}
 2138,Bradium_Shield,Bradium Shield,4,20,,1800,,5,,1,0x00CFFF80,2,2,32,,65,1,3,{ bonus2 bSkillAtk,"CR_SHIELDBOOMERANG",60; bonus bAgi,-1; bonus bMaxHP,500; },{},{}
 2139,Flame_Thrower,Flame Thrower,4,20000,,2000,,60,,0,0x00000400,63,2,32,,99,0,1,{},{},{}
 2139,Flame_Thrower,Flame Thrower,4,20000,,2000,,60,,0,0x00000400,63,2,32,,99,0,1,{},{},{}
 // GM Shield
 // GM Shield
-2199,Ahura_Mazda,Ahura Mazdah,4,1,,10,,100,,0,0xFFFFFFFF,7,2,32,,1,1,0,{ bonus bAllStats,50; bonus bMdef,99; bonus bShortWeaponDamageReturn,100; bonus2 bSubRace,RC_DemiHuman,95; bonus2 bSubRace,RC_Player,95; skill "CR_FULLPROTECTION",5; Skill "WZ_ESTIMATION",1; Skill "ST_FULLSTRIP",5; Skill "HW_MAGICPOWER",10; bonus bMaxHPRate,200; bonus bNoGemStone; bonus bSpeedRate,25; bonus bNoWalkDelay; },{},{}
+2199,Ahura_Mazda,Ahura Mazdah,4,1,,10,,100,,0,0xFFFFFFFF,7,2,32,,1,1,0,{ bonus bAllStats,50; bonus bMdef,99; bonus bShortWeaponDamageReturn,100; bonus2 bSubRace,RC_DemiHuman,95; bonus2 bSubRace,RC_Player_Human,95; skill "CR_FULLPROTECTION",5; Skill "WZ_ESTIMATION",1; Skill "ST_FULLSTRIP",5; Skill "HW_MAGICPOWER",10; bonus bMaxHPRate,200; bonus bNoGemStone; bonus bSpeedRate,25; bonus bNoWalkDelay; },{},{}
 // Headgears
 // Headgears
 //===================================================================
 //===================================================================
 2201,Sunglasses,Sunglasses,4,5000,,100,,0,,0,0xFFFFFFFF,7,2,512,,0,0,12,{ bonus2 bResEff,Eff_Blind,500; },{},{}
 2201,Sunglasses,Sunglasses,4,5000,,100,,0,,0,0xFFFFFFFF,7,2,512,,0,0,12,{ bonus2 bResEff,Eff_Blind,500; },{},{}
@@ -1200,9 +1200,9 @@
 2286,Elven_Ears,Elven Ears,4,20,,100,,0,,0,0xFFFFFFFE,7,2,512,,70,0,73,{},{},{}
 2286,Elven_Ears,Elven Ears,4,20,,100,,0,,0,0xFFFFFFFE,7,2,512,,70,0,73,{},{},{}
 2287,Pirate_Bandana,Pirate Bandana,4,20,,100,,3,,0,0xFFFFFFFE,7,2,256,,0,1,74,{ bonus bStr,1; },{},{}
 2287,Pirate_Bandana,Pirate Bandana,4,20,,100,,3,,0,0xFFFFFFFE,7,2,256,,0,1,74,{ bonus bStr,1; },{},{}
 2288,Mr_Scream,Mr. Scream,4,20,,100,,1,,0,0xFFFFFFFE,7,2,513,,0,0,75,{},{},{}
 2288,Mr_Scream,Mr. Scream,4,20,,100,,1,,0,0xFFFFFFFE,7,2,513,,0,0,75,{},{},{}
-2289,Poo_Poo_Hat,Poo Poo Hat,4,20,,700,,0,,0,0xFFFFFFFF,7,2,256,,0,0,76,{ bonus2 bSubRace,RC_DemiHuman,10; bonus2 bSubRace,RC_Player,10; },{},{}
+2289,Poo_Poo_Hat,Poo Poo Hat,4,20,,700,,0,,0,0xFFFFFFFF,7,2,256,,0,0,76,{ bonus2 bSubRace,RC_DemiHuman,10; bonus2 bSubRace,RC_Player_Human,10; },{},{}
 2290,Funeral_Costume,Funeral Hat,4,3000,,100,,1,,0,0xFFFFFFFF,7,2,256,,0,0,77,{},{},{}
 2290,Funeral_Costume,Funeral Hat,4,3000,,100,,1,,0,0xFFFFFFFF,7,2,256,,0,0,77,{},{},{}
-2291,Masquerade,Masquerade,4,20,,100,,0,,0,0xFFFFFFFE,7,2,512,,0,0,78,{ bonus2 bAddRace,RC_DemiHuman,3; bonus2 bAddRace,RC_Player,3; },{},{}
+2291,Masquerade,Masquerade,4,20,,100,,0,,0,0xFFFFFFFE,7,2,512,,0,0,78,{ bonus2 bAddRace,RC_DemiHuman,3; bonus2 bAddRace,RC_Player_Human,3; },{},{}
 2292,Welding_Mask,Welding Mask,4,20,,300,,2,,0,0x00040420,7,2,513,,50,0,79,{ bonus2 bSubEle,Ele_Fire,10; },{},{}
 2292,Welding_Mask,Welding Mask,4,20,,300,,2,,0,0x00040420,7,2,513,,50,0,79,{ bonus2 bSubEle,Ele_Fire,10; },{},{}
 2293,Pretend_Murdered,Pretend Murdered,4,20,,100,,1,,0,0xFFFFFFFF,7,2,256,,0,0,80,{},{},{}
 2293,Pretend_Murdered,Pretend Murdered,4,20,,100,,1,,0,0xFFFFFFFF,7,2,256,,0,0,80,{},{},{}
 2294,Star_Dust,Stellar,4,20,,100,,1,,0,0xFFFFFFFF,7,2,256,,0,1,81,{},{},{}
 2294,Star_Dust,Stellar,4,20,,100,,1,,0,0xFFFFFFFF,7,2,256,,0,1,81,{},{},{}
@@ -1281,20 +1281,20 @@
 2366,Divine_Cloth,Divine Cloth,4,20,,1500,,6,,1,0xFFFFFFFE,2,2,16,,55,1,0,{ bonus2 bResEff,Eff_Curse,500; bonus2 bResEff,Eff_Silence,500; bonus2 bResEff,Eff_Stun,500; bonus2 bResEff,Eff_Stone,500; bonus2 bResEff,Eff_Sleep,500; },{},{}
 2366,Divine_Cloth,Divine Cloth,4,20,,1500,,6,,1,0xFFFFFFFE,2,2,16,,55,1,0,{ bonus2 bResEff,Eff_Curse,500; bonus2 bResEff,Eff_Silence,500; bonus2 bResEff,Eff_Stun,500; bonus2 bResEff,Eff_Stone,500; bonus2 bResEff,Eff_Sleep,500; },{},{}
 2367,Sniping_Suit,Sniping Suit,4,20,,750,,5,,1,0x00000800,2,2,16,,50,1,0,{ bonus bMdef,5; bonus bCritical,6+(readparam(bLuk)/10); bonus bDelayRate,-23; },{},{}
 2367,Sniping_Suit,Sniping Suit,4,20,,750,,5,,1,0x00000800,2,2,16,,50,1,0,{ bonus bMdef,5; bonus bCritical,6+(readparam(bLuk)/10); bonus bDelayRate,-23; },{},{}
 2368,Golden_Armor,Golden Armor,4,20,,2000,,4,,0,0xFFFFFFFF,7,2,16,,0,0,0,{ bonus bMdef,4; },{},{}
 2368,Golden_Armor,Golden Armor,4,20,,2000,,4,,0,0xFFFFFFFF,7,2,16,,0,0,0,{ bonus bMdef,4; },{},{}
-2369,Freyja_Overcoat,Freyja Overcoat,4,0,,500,,12,,0,0xFFFFFFFE,7,2,16,,0,0,0,{ bonus bUnbreakableArmor; bonus2 bSubRace,RC_DemiHuman,10; bonus2 bSubRace,RC_Player,10; },{},{}
+2369,Freyja_Overcoat,Freyja Overcoat,4,0,,500,,12,,0,0xFFFFFFFE,7,2,16,,0,0,0,{ bonus bUnbreakableArmor; bonus2 bSubRace,RC_DemiHuman,10; bonus2 bSubRace,RC_Player_Human,10; },{},{}
 2370,Used_Mage_Coat,Used Mage Coat,4,0,,0,,15,,0,0xFFFFFFFF,7,2,16,,0,0,0,{ bonus bMaxHP,300; bonus bMaxSP,30; bonus bBaseAtk,10; bonus bAGI,1; },{},{}
 2370,Used_Mage_Coat,Used Mage Coat,4,0,,0,,15,,0,0xFFFFFFFF,7,2,16,,0,0,0,{ bonus bMaxHP,300; bonus bMaxSP,30; bonus bBaseAtk,10; bonus bAGI,1; },{},{}
 2371,G_Strings_,Pantie,4,1000,,100,,4,,1,0xFFFFFFFF,7,2,16,,0,1,0,{},{},{}
 2371,G_Strings_,Pantie,4,1000,,100,,4,,1,0xFFFFFFFF,7,2,16,,0,1,0,{},{},{}
 2372,Mage_Coat_,Mage Coat,4,20,,600,,5,,1,0x00810204,7,2,16,,50,1,0,{ bonus bMdef,5; bonus bInt,1; },{},{}
 2372,Mage_Coat_,Mage Coat,4,20,,600,,5,,1,0x00810204,7,2,16,,50,1,0,{ bonus bMdef,5; bonus bInt,1; },{},{}
 2373,Holy_Robe_,Holy Robe,4,20,,1700,,7,,1,0x00008110,7,2,16,,60,1,0,{ bonus bMdef,5; bonus2 bSubRace,RC_Demon,15; bonus2 bSubEle,Ele_Dark,10; },{},{}
 2373,Holy_Robe_,Holy Robe,4,20,,1700,,7,,1,0x00008110,7,2,16,,60,1,0,{ bonus bMdef,5; bonus2 bSubRace,RC_Demon,15; bonus2 bSubEle,Ele_Dark,10; },{},{}
 2374,Diabolus_Robe,Diabolus Robe,4,20,,300,,6,,1,0x00098B1C,2,2,16,,55,1,0,{ bonus bMaxSP,150; bonus bMdef,5; bonus bHealPower,6; bonus bDelayRate,-10; },{},{}
 2374,Diabolus_Robe,Diabolus Robe,4,20,,300,,6,,1,0x00098B1C,2,2,16,,55,1,0,{ bonus bMaxSP,150; bonus bMdef,5; bonus bHealPower,6; bonus bDelayRate,-10; },{},{}
 2375,Diabolus_Armor,Diabolus Armor,4,20,,600,,7,,1,0x000654E2,2,2,16,,55,1,0,{ bonus bStr,2; bonus bDex,1; bonus bMaxHP,150; bonus2 bResEff,Eff_Stun,500; bonus2 bResEff,Eff_Stone,500; },{},{}
 2375,Diabolus_Armor,Diabolus Armor,4,20,,600,,7,,1,0x000654E2,2,2,16,,55,1,0,{ bonus bStr,2; bonus bDex,1; bonus bMaxHP,150; bonus2 bResEff,Eff_Stun,500; bonus2 bResEff,Eff_Stone,500; },{},{}
-2376,Assaulter_Plate,Assaulter Plate,4,10,,0,,7,,1,0x006444A2,7,2,16,,80,1,0,{ bonus bMaxHP,150; bonus bMdef,2; bonus2 bSubRace,RC_DemiHuman,2; bonus2 bSubRace,RC_Player,2; },{},{}
-2377,Elite_Engineer_Armor,Elite Engineer Armor,4,10,,0,,7,,1,0x00040420,7,2,16,,80,1,0,{ bonus bMaxHP,150; bonus bMdef,2; bonus2 bSubRace,RC_DemiHuman,2; bonus2 bSubRace,RC_Player,2; },{},{}
-2378,Assassin_Robe,Assassin Robe,4,10,,0,,7,,1,0x02021040,7,2,16,,80,1,0,{ bonus bMaxHP,150; bonus bMdef,2; bonus2 bSubRace,RC_DemiHuman,2; bonus2 bSubRace,RC_Player,2; },{},{}
-2379,Warlock_Battle_Robe,Warlock's Battle Robe,4,10,,0,,3,,1,0x00810204,7,2,16,,80,1,0,{ bonus bMaxHP,150; bonus bMdef,2; bonus2 bSubRace,RC_DemiHuman,2; bonus2 bSubRace,RC_Player,2; },{},{}
-2380,Medic_Robe,Medic's Robe,4,10,,0,,3,,1,0x00008110,7,2,16,,80,1,0,{ bonus bMaxHP,150; bonus bMdef,2; bonus2 bSubRace,RC_DemiHuman,2; bonus2 bSubRace,RC_Player,2; },{},{}
-2381,Elite_Archer_Suit,Elite Archer Suit,4,10,,0,,3,,1,0x00080808,7,2,16,,80,1,0,{ bonus bMaxHP,150; bonus bMdef,2; bonus2 bSubRace,RC_DemiHuman,2; bonus2 bSubRace,RC_Player,2; },{},{}
-2382,Elite_Shooter_Suit,Elite Shooter Suit,4,10,,0,,3,,1,0x41000000,7,2,16,,80,1,0,{ bonus bMaxHP,150; bonus bMdef,2; bonus2 bSubRace,RC_DemiHuman,2; bonus2 bSubRace,RC_Player,2; },{},{}
+2376,Assaulter_Plate,Assaulter Plate,4,10,,0,,7,,1,0x006444A2,7,2,16,,80,1,0,{ bonus bMaxHP,150; bonus bMdef,2; bonus2 bSubRace,RC_DemiHuman,2; bonus2 bSubRace,RC_Player_Human,2; },{},{}
+2377,Elite_Engineer_Armor,Elite Engineer Armor,4,10,,0,,7,,1,0x00040420,7,2,16,,80,1,0,{ bonus bMaxHP,150; bonus bMdef,2; bonus2 bSubRace,RC_DemiHuman,2; bonus2 bSubRace,RC_Player_Human,2; },{},{}
+2378,Assassin_Robe,Assassin Robe,4,10,,0,,7,,1,0x02021040,7,2,16,,80,1,0,{ bonus bMaxHP,150; bonus bMdef,2; bonus2 bSubRace,RC_DemiHuman,2; bonus2 bSubRace,RC_Player_Human,2; },{},{}
+2379,Warlock_Battle_Robe,Warlock's Battle Robe,4,10,,0,,3,,1,0x00810204,7,2,16,,80,1,0,{ bonus bMaxHP,150; bonus bMdef,2; bonus2 bSubRace,RC_DemiHuman,2; bonus2 bSubRace,RC_Player_Human,2; },{},{}
+2380,Medic_Robe,Medic's Robe,4,10,,0,,3,,1,0x00008110,7,2,16,,80,1,0,{ bonus bMaxHP,150; bonus bMdef,2; bonus2 bSubRace,RC_DemiHuman,2; bonus2 bSubRace,RC_Player_Human,2; },{},{}
+2381,Elite_Archer_Suit,Elite Archer Suit,4,10,,0,,3,,1,0x00080808,7,2,16,,80,1,0,{ bonus bMaxHP,150; bonus bMdef,2; bonus2 bSubRace,RC_DemiHuman,2; bonus2 bSubRace,RC_Player_Human,2; },{},{}
+2382,Elite_Shooter_Suit,Elite Shooter Suit,4,10,,0,,3,,1,0x41000000,7,2,16,,80,1,0,{ bonus bMaxHP,150; bonus bMdef,2; bonus2 bSubRace,RC_DemiHuman,2; bonus2 bSubRace,RC_Player_Human,2; },{},{}
 2383,Brynhild,Brynhild,4,20,,400,,10,,0,0xFFFFFFFF,7,2,16,,94,0,0,{ bonus bMdef,10; bonus bMaxHP,20*BaseLevel; bonus bMaxSP,5*BaseLevel; bonus2 bAddClass,Class_All,10; bonus bMatkRate,10; bonus bUnbreakableArmor; bonus bNoKnockback; },{},{}
 2383,Brynhild,Brynhild,4,20,,400,,10,,0,0xFFFFFFFF,7,2,16,,94,0,0,{ bonus bMdef,10; bonus bMaxHP,20*BaseLevel; bonus bMaxSP,5*BaseLevel; bonus2 bAddClass,Class_All,10; bonus bMatkRate,10; bonus bUnbreakableArmor; bonus bNoKnockback; },{},{}
 2384,Spritual_Tunic,Spiritual Tunic,4,20,,0,,10,,0,0xFFFFFFFF,7,2,16,,0,0,0,{ bonus bMaxHP,800; bonus2 bResEff,Eff_Freeze,10000; bonus2 bSubEle,Ele_Earth,20; bonus2 bSubEle,Ele_Fire,20; bonus2 bSubEle,Ele_Wind,20; bonus2 bSubEle,Ele_Poison,20; bonus2 bSubEle,Ele_Holy,20; bonus2 bSubEle,Ele_Dark,20; bonus2 bSubEle,Ele_Ghost,20; bonus2 bSubEle,Ele_Undead,20; },{},{}
 2384,Spritual_Tunic,Spiritual Tunic,4,20,,0,,10,,0,0xFFFFFFFF,7,2,16,,0,0,0,{ bonus bMaxHP,800; bonus2 bResEff,Eff_Freeze,10000; bonus2 bSubEle,Ele_Earth,20; bonus2 bSubEle,Ele_Fire,20; bonus2 bSubEle,Ele_Wind,20; bonus2 bSubEle,Ele_Poison,20; bonus2 bSubEle,Ele_Holy,20; bonus2 bSubEle,Ele_Dark,20; bonus2 bSubEle,Ele_Ghost,20; bonus2 bSubEle,Ele_Undead,20; },{},{}
 2385,Recuperative_Armor,Recuperative Armor,4,20,,0,,12,,0,0xFFFFFFFF,7,2,16,,0,0,0,{ bonus bNoRegen,1; bonus bNoRegen,2; bonus bHPGainValue,60; bonus bSPGainValue,6; bonus bMagicHPGainValue,60; bonus bMagicSPGainValue,6; },{},{ heal 0,-100; }
 2385,Recuperative_Armor,Recuperative Armor,4,20,,0,,12,,0,0xFFFFFFFF,7,2,16,,0,0,0,{ bonus bNoRegen,1; bonus bNoRegen,2; bonus bHPGainValue,60; bonus bSPGainValue,6; bonus bMagicHPGainValue,60; bonus bMagicSPGainValue,6; },{},{ heal 0,-100; }
@@ -1306,7 +1306,7 @@
 2391,Life_Link,Life Link,4,20,,3500,,9,,1,0x00004082,2,2,16,,82,1,0,{ bonus bVit,2; bonus bMdef,5; bonus bHPrecovRate,50; },{},{}
 2391,Life_Link,Life Link,4,20,,3500,,9,,1,0x00004082,2,2,16,,82,1,0,{ bonus bVit,2; bonus bMdef,5; bonus bHPrecovRate,50; },{},{}
 2392,Old_Pant,Old Green Pantie,4,0,,0,,10,,0,0xFFFFFFFF,7,2,16,,0,0,0,{ bonus bStr,2; bonus bVit,2; bonus bMaxHP,200; bonus3 bAutoSpellWhenHit,"MO_CALLSPIRITS",5,20; bonus bMdef,1; },{},{}
 2392,Old_Pant,Old Green Pantie,4,0,,0,,10,,0,0xFFFFFFFF,7,2,16,,0,0,0,{ bonus bStr,2; bonus bVit,2; bonus bMaxHP,200; bonus3 bAutoSpellWhenHit,"MO_CALLSPIRITS",5,20; bonus bMdef,1; },{},{}
 2393,N_Adventurer's_Suit,Novice Adventurer's Suit,4,0,,0,,8,,1,0xFFFFFFFF,7,2,16,,0,0,0,{},{},{}
 2393,N_Adventurer's_Suit,Novice Adventurer's Suit,4,0,,0,,8,,1,0xFFFFFFFF,7,2,16,,0,0,0,{},{},{}
-2394,Krieger_Suit1,Glorious Suit,4,20,,0,,0,,0,0xFFFFFFFE,7,2,16,,81,1,0,{ bonus bMaxHPRate,20; bonus2 bSubRace,RC_DemiHuman,7; bonus2 bSubRace,RC_Player,7; },{},{}
+2394,Krieger_Suit1,Glorious Suit,4,20,,0,,0,,0,0xFFFFFFFE,7,2,16,,81,1,0,{ bonus bMaxHPRate,20; bonus2 bSubRace,RC_DemiHuman,7; bonus2 bSubRace,RC_Player_Human,7; },{},{}
 2395,Krieger_Suit2,Glorious Popularized Suit,4,20,,0,,0,,0,0xFFFFFFFE,7,2,16,,61,1,0,{ bonus bMaxHP,600; bonus bSPrecovRate,10; },{},{}
 2395,Krieger_Suit2,Glorious Popularized Suit,4,20,,0,,0,,0,0xFFFFFFFE,7,2,16,,61,1,0,{ bonus bMaxHP,600; bonus bSPrecovRate,10; },{},{}
 2396,Krieger_Suit3,Glorious Mass-Production Suit,4,20,,0,,0,,0,0xFFFFFFFE,7,2,16,,0,1,0,{ bonus bMaxHP,500; },{},{}
 2396,Krieger_Suit3,Glorious Mass-Production Suit,4,20,,0,,0,,0,0xFFFFFFFE,7,2,16,,0,1,0,{ bonus bMaxHP,500; },{},{}
 2397,Incredible_Coat,Incredible Event Resignation Coat,4,10,,900,,2,,0,0xFFFFFFFE,7,2,16,,0,1,0,{},{},{}
 2397,Incredible_Coat,Incredible Event Resignation Coat,4,10,,900,,2,,0,0xFFFFFFFE,7,2,16,,0,1,0,{},{},{}
@@ -1341,23 +1341,23 @@
 2425,Black_Leather_Boots,Black Leather Boots,4,20,,500,,4,,0,0xFFFFFFFE,2,2,64,,55,1,0,{ bonus bAgi,1; if(getrefine()>=9) bonus bAgi,2; },{},{}
 2425,Black_Leather_Boots,Black Leather Boots,4,20,,500,,4,,0,0xFFFFFFFE,2,2,64,,55,1,0,{ bonus bAgi,1; if(getrefine()>=9) bonus bAgi,2; },{},{}
 2426,Shadow_Walk,Shadow Walk,4,20,,2000,,0,,0,0xFFFFFFFE,2,2,64,,75,1,0,{ bonus bMdef,10; if(getskilllv("AS_CLOAKING")<2){ bonus5 bAutoSpellWhenHit,"AS_CLOAKING",2,100,BF_MAGIC,0; } else bonus5 bAutoSpellWhenHit,"AS_CLOAKING",getskilllv("AS_CLOAKING"),100,BF_MAGIC,0; },{},{}
 2426,Shadow_Walk,Shadow Walk,4,20,,2000,,0,,0,0xFFFFFFFE,2,2,64,,75,1,0,{ bonus bMdef,10; if(getskilllv("AS_CLOAKING")<2){ bonus5 bAutoSpellWhenHit,"AS_CLOAKING",2,100,BF_MAGIC,0; } else bonus5 bAutoSpellWhenHit,"AS_CLOAKING",getskilllv("AS_CLOAKING"),100,BF_MAGIC,0; },{},{}
 2427,Golden_Shoes,Golden Shoes,4,20,,300,,4,,0,0xFFFFFFFF,7,2,64,,0,0,0,{ bonus bMdef,4; },{},{}
 2427,Golden_Shoes,Golden Shoes,4,20,,300,,4,,0,0xFFFFFFFF,7,2,64,,0,0,0,{ bonus bMdef,4; },{},{}
-2428,Freyja_Boots,Freyja Boots,4,0,,300,,10,,0,0xFFFFFFFE,7,2,64,,0,0,0,{ bonus2 bSubRace,RC_DemiHuman,5; bonus2 bSubRace,RC_Player,5; },{},{}
+2428,Freyja_Boots,Freyja Boots,4,0,,300,,10,,0,0xFFFFFFFE,7,2,64,,0,0,0,{ bonus2 bSubRace,RC_DemiHuman,5; bonus2 bSubRace,RC_Player_Human,5; },{},{}
 2429,Iron_Boots01,Iron Boots,4,0,,1500,,5,,0,0x000E5CEA,7,2,64,,0,1,0,{},{},{}
 2429,Iron_Boots01,Iron Boots,4,0,,1500,,5,,0,0x000E5CEA,7,2,64,,0,1,0,{},{},{}
 2430,Iron_Boots02,Iron Boots,4,0,,800,,5,,0,0xFFFFFFFF,7,2,64,,0,1,0,{},{},{}
 2430,Iron_Boots02,Iron Boots,4,0,,800,,5,,0,0xFFFFFFFF,7,2,64,,0,1,0,{},{},{}
 2431,Valley_Shoes,Valley Shoes,4,20,,0,,10,,0,0xFFFFFFFF,7,2,64,,0,0,0,{ bonus bMaxHPRate,7; bonus bMaxSPRate,7; },{},{}
 2431,Valley_Shoes,Valley Shoes,4,20,,0,,10,,0,0xFFFFFFFF,7,2,64,,0,0,0,{ bonus bMaxHPRate,7; bonus bMaxSPRate,7; },{},{}
 2432,Spiky_Heel_,High Heels,4,8500,,600,,2,,1,0xFFFFFFFE,7,2,64,,0,1,0,{ bonus bMdef,5; },{},{}
 2432,Spiky_Heel_,High Heels,4,8500,,600,,2,,1,0xFFFFFFFE,7,2,64,,0,1,0,{ bonus bMdef,5; },{},{}
 2433,Diabolus_Boots,Diabolus Boots,4,20,,250,,4,,1,0x00CFFF80,2,2,64,,0,1,0,{ bonus bMaxHP,(BaseLevel*10); },{},{}
 2433,Diabolus_Boots,Diabolus Boots,4,20,,250,,4,,1,0x00CFFF80,2,2,64,,0,1,0,{ bonus bMaxHP,(BaseLevel*10); },{},{}
 2434,Black_Leather_Boots_,Black Leather Boots,4,20,,500,,4,,1,0xFFFFFFFE,2,2,64,,55,1,0,{ bonus bAgi,1; if(getrefine()>=9) bonus bAgi,2; },{},{}
 2434,Black_Leather_Boots_,Black Leather Boots,4,20,,500,,4,,1,0xFFFFFFFE,2,2,64,,55,1,0,{ bonus bAgi,1; if(getrefine()>=9) bonus bAgi,2; },{},{}
-2435,Battle_Greave,Battle Greaves,4,10,,0,,4,,1,0x026654E2,7,2,64,,80,1,0,{ bonus bMaxHP,100; bonus bMdef,1; bonus2 bSubRace,RC_DemiHuman,1; bonus2 bSubRace,RC_Player,1; },{},{}
-2436,Combat_Boots,Combat Boots,4,10,,0,,3,,1,0x00898B1C,7,2,64,,80,1,0,{ bonus bMaxHP,100; bonus bMdef,1; bonus2 bSubRace,RC_DemiHuman,1; bonus2 bSubRace,RC_Player,1; },{},{}
-2437,Battle_Boots,Battle Boots,4,10,,0,,3,,1,0x41000000,7,2,64,,80,1,0,{ bonus bMaxHP,100; bonus bMdef,1; bonus2 bSubRace,RC_DemiHuman,1; bonus2 bSubRace,RC_Player,1; },{},{}
+2435,Battle_Greave,Battle Greaves,4,10,,0,,4,,1,0x026654E2,7,2,64,,80,1,0,{ bonus bMaxHP,100; bonus bMdef,1; bonus2 bSubRace,RC_DemiHuman,1; bonus2 bSubRace,RC_Player_Human,1; },{},{}
+2436,Combat_Boots,Combat Boots,4,10,,0,,3,,1,0x00898B1C,7,2,64,,80,1,0,{ bonus bMaxHP,100; bonus bMdef,1; bonus2 bSubRace,RC_DemiHuman,1; bonus2 bSubRace,RC_Player_Human,1; },{},{}
+2437,Battle_Boots,Battle Boots,4,10,,0,,3,,1,0x41000000,7,2,64,,80,1,0,{ bonus bMaxHP,100; bonus bMdef,1; bonus2 bSubRace,RC_DemiHuman,1; bonus2 bSubRace,RC_Player_Human,1; },{},{}
 2438,Paw_Of_Cat,Paw Of Cat,4,10,,300,,0,,0,0xFFFFFFFF,7,2,64,,80,1,0,{ bonus bFlee,5; bonus bAgi,1; },{},{}
 2438,Paw_Of_Cat,Paw Of Cat,4,10,,300,,0,,0,0xFFFFFFFF,7,2,64,,80,1,0,{ bonus bFlee,5; bonus bAgi,1; },{},{}
 2439,Refresh_Shoes,Refresh Shoes,4,20,,0,,9,,0,0xFFFFFFFF,7,2,64,,0,0,0,{ bonus bMaxHPRate,17; bonus bMaxSPRate,8; bonus2 bHPRegenRate,20,10000; bonus2 bSPRegenRate,3,10000; },{},{}
 2439,Refresh_Shoes,Refresh Shoes,4,20,,0,,9,,0,0xFFFFFFFF,7,2,64,,0,0,0,{ bonus bMaxHPRate,17; bonus bMaxSPRate,8; bonus2 bHPRegenRate,20,10000; bonus2 bSPRegenRate,3,10000; },{},{}
 2440,Sprint_Shoes,Sprint Shoes,4,20,,300,,2,,1,0x00CFFF80,2,2,64,,70,1,0,{ bonus bAgi,1; bonus bSPrecovRate,5; },{},{}
 2440,Sprint_Shoes,Sprint Shoes,4,20,,300,,2,,1,0x00CFFF80,2,2,64,,70,1,0,{ bonus bAgi,1; bonus bSPrecovRate,5; },{},{}
 2441,Beach_Sandal,Beach Sandals,4,20,,200,,0,,0,0xFFFFFFFF,7,2,64,,0,1,0,{ bonus bStr,1; bonus bInt,1; bonus bAgi,1; bonus2 bSubEle,Ele_Fire,10; },{},{}
 2441,Beach_Sandal,Beach Sandals,4,20,,200,,0,,0,0xFFFFFFFF,7,2,64,,0,1,0,{ bonus bStr,1; bonus bInt,1; bonus bAgi,1; bonus2 bSubEle,Ele_Fire,10; },{},{}
 2442,Boots_Perforated,Red Stocking Boots,4,0,,0,,7,,0,0xFFFFFFFF,7,2,64,,0,0,0,{ bonus bLuk,2; bonus bHPrecovRate,10; bonus bSPrecovRate,10; bonus3 bAutoSpellWhenHit,"WZ_QUAGMIRE",3,20; bonus bMdef,1; },{},{}
 2442,Boots_Perforated,Red Stocking Boots,4,0,,0,,7,,0,0xFFFFFFFF,7,2,64,,0,0,0,{ bonus bLuk,2; bonus bHPrecovRate,10; bonus bSPrecovRate,10; bonus3 bAutoSpellWhenHit,"WZ_QUAGMIRE",3,20; bonus bMdef,1; },{},{}
 2443,Fish_Shoes,Fisher's Boots,4,10,,250,,0,,0,0xFFFFFFFF,7,2,64,,0,0,0,{},{},{}
 2443,Fish_Shoes,Fisher's Boots,4,10,,250,,0,,0,0xFFFFFFFF,7,2,64,,0,0,0,{},{},{}
-2444,Krieger_Shoes1,Glorious Shoes,4,20,,0,,0,,0,0xFFFFFFFE,7,2,64,,81,1,0,{ bonus bMaxHPRate,10; bonus2 bSubRace,RC_DemiHuman,4; bonus2 bSubRace,RC_Player,4; bonus3 bAutoSpellWhenHit,"AL_INCAGI",1,10; },{},{}
+2444,Krieger_Shoes1,Glorious Shoes,4,20,,0,,0,,0,0xFFFFFFFE,7,2,64,,81,1,0,{ bonus bMaxHPRate,10; bonus2 bSubRace,RC_DemiHuman,4; bonus2 bSubRace,RC_Player_Human,4; bonus3 bAutoSpellWhenHit,"AL_INCAGI",1,10; },{},{}
 2445,Krieger_Shoes2,Glorious Popularized Shoes,4,20,,0,,0,,0,0xFFFFFFFE,7,2,64,,61,1,0,{ bonus bMaxHPRate,5; bonus bMaxSPRate,5; },{},{}
 2445,Krieger_Shoes2,Glorious Popularized Shoes,4,20,,0,,0,,0,0xFFFFFFFE,7,2,64,,61,1,0,{ bonus bMaxHPRate,5; bonus bMaxSPRate,5; },{},{}
 2446,Krieger_Shoes3,Glorious Mass-Production Shoes,4,20,,0,,0,,0,0xFFFFFFFE,7,2,64,,0,1,0,{ bonus bMaxHPRate,5; },{},{}
 2446,Krieger_Shoes3,Glorious Mass-Production Shoes,4,20,,0,,0,,0,0xFFFFFFFE,7,2,64,,0,1,0,{ bonus bMaxHPRate,5; },{},{}
 2447,Military_Boots,Army Boots,4,0,,1000,,5,,0,0xFFFFFFFE,7,2,64,,0,1,0,{},{},{}
 2447,Military_Boots,Army Boots,4,0,,1000,,5,,0,0xFFFFFFFE,7,2,64,,0,1,0,{},{},{}
@@ -1398,23 +1398,23 @@
 2530,Rider_Insignia_,Rider Insignia,4,20,,500,,4,,1,0xFFFFFFFE,2,2,4,,55,1,0,{ bonus bAgi,2; },{},{}
 2530,Rider_Insignia_,Rider Insignia,4,20,,500,,4,,1,0xFFFFFFFE,2,2,4,,55,1,0,{ bonus bAgi,2; },{},{}
 2531,Ulfhedinn,Ulfhedinn,4,20,,700,,3,,1,0x000654E2,2,2,4,,70,1,0,{ bonus3 bAutoSpellWhenHit,"NPC_STONESKIN",6,20; },{},{}
 2531,Ulfhedinn,Ulfhedinn,4,20,,700,,3,,1,0x000654E2,2,2,4,,70,1,0,{ bonus3 bAutoSpellWhenHit,"NPC_STONESKIN",6,20; },{},{}
 2532,Mithril_Magic_Cape,Mithril Magic Cape,4,20,,400,,3,,1,0x00098B1C,2,2,4,,70,1,0,{ bonus bMdef,3; bonus5 bAutoSpellWhenHit,"NPC_ANTIMAGIC",6,200,BF_MAGIC,0; },{},{}
 2532,Mithril_Magic_Cape,Mithril Magic Cape,4,20,,400,,3,,1,0x00098B1C,2,2,4,,70,1,0,{ bonus bMdef,3; bonus5 bAutoSpellWhenHit,"NPC_ANTIMAGIC",6,200,BF_MAGIC,0; },{},{}
-2533,Freyja_Cape,Freyja Cape,4,0,,200,,10,,0,0xFFFFFFFE,7,2,4,,0,0,0,{ bonus2 bSubRace,RC_DemiHuman,15; bonus2 bSubRace,RC_Player,15; },{},{}
+2533,Freyja_Cape,Freyja Cape,4,0,,200,,10,,0,0xFFFFFFFE,7,2,4,,0,0,0,{ bonus2 bSubRace,RC_DemiHuman,15; bonus2 bSubRace,RC_Player_Human,15; },{},{}
 2534,Ruffler,Ruffler,4,20,,0,,10,,0,0xFFFFFFFF,7,2,4,,0,0,0,{ bonus2 bSubEle,Ele_Neutral,17; bonus bFlee,17; },{},{}
 2534,Ruffler,Ruffler,4,20,,0,,10,,0,0xFFFFFFFF,7,2,4,,0,0,0,{ bonus2 bSubEle,Ele_Neutral,17; bonus bFlee,17; },{},{}
 2535,Cloak_Of_Survival_C,Cloak Of Survival,4,1,,0,,5,,0,0x00810204,7,2,4,,0,0,0,{ bonus bVit,10; bonus bMdef,10; },{},{}
 2535,Cloak_Of_Survival_C,Cloak Of Survival,4,1,,0,,5,,0,0x00810204,7,2,4,,0,0,0,{ bonus bVit,10; bonus bMdef,10; },{},{}
 2536,Skin_Of_Ventus,Skin of Ventus,4,20,,250,,2,,1,0xFFFFFFFE,7,2,4,,60,1,0,{ bonus bMdef,2; bonus bMaxHP,200; bonus bFlee,10; },{},{}
 2536,Skin_Of_Ventus,Skin of Ventus,4,20,,250,,2,,1,0xFFFFFFFE,7,2,4,,60,1,0,{ bonus bMdef,2; bonus bMaxHP,200; bonus bFlee,10; },{},{}
 2537,Diabolus_Manteau,Diabolus Manteau,4,20,,250,,5,,1,0x00CFFF80,2,2,4,,0,1,0,{ bonus2 bSubEle,Ele_Neutral,5; bonus bMaxHP,100; bonus2 bAddDamageClass,1916,10; bonus2 bAddDamageClass,1917,10; },{},{}
 2537,Diabolus_Manteau,Diabolus Manteau,4,20,,250,,5,,1,0x00CFFF80,2,2,4,,0,1,0,{ bonus2 bSubEle,Ele_Neutral,5; bonus bMaxHP,100; bonus2 bAddDamageClass,1916,10; bonus2 bAddDamageClass,1917,10; },{},{}
-2538,Commander_Manteau,Captain's Manteau,4,10,,0,,4,,1,0x026654E2,7,2,4,,80,1,0,{ bonus bMaxHP,50; bonus bMdef,1; bonus2 bSubRace,RC_DemiHuman,1; bonus2 bSubRace,RC_Player,1; },{},{}
-2539,Commander_Manteau_,Commander's Manteau,4,10,,0,,3,,1,0x00898B1C,7,2,4,,80,1,0,{ bonus bMaxHP,50; bonus bMdef,1; bonus2 bSubRace,RC_DemiHuman,1; bonus2 bSubRace,RC_Player,1; },{},{}
-2540,Sheriff_Manteau,Sheriff's Manteau,4,10,,0,,3,,1,0x41000000,7,2,4,,80,1,0,{ bonus bMaxHP,50; bonus bMdef,1; bonus2 bSubRace,RC_DemiHuman,1; bonus2 bSubRace,RC_Player,1; },{},{}
+2538,Commander_Manteau,Captain's Manteau,4,10,,0,,4,,1,0x026654E2,7,2,4,,80,1,0,{ bonus bMaxHP,50; bonus bMdef,1; bonus2 bSubRace,RC_DemiHuman,1; bonus2 bSubRace,RC_Player_Human,1; },{},{}
+2539,Commander_Manteau_,Commander's Manteau,4,10,,0,,3,,1,0x00898B1C,7,2,4,,80,1,0,{ bonus bMaxHP,50; bonus bMdef,1; bonus2 bSubRace,RC_DemiHuman,1; bonus2 bSubRace,RC_Player_Human,1; },{},{}
+2540,Sheriff_Manteau,Sheriff's Manteau,4,10,,0,,3,,1,0x41000000,7,2,4,,80,1,0,{ bonus bMaxHP,50; bonus bMdef,1; bonus2 bSubRace,RC_DemiHuman,1; bonus2 bSubRace,RC_Player_Human,1; },{},{}
 2541,Asprika,Asprika,4,20,,400,,5,,0,0xFFFFFFFF,7,2,4,,94,0,0,{ bonus bMdef,5; bonus3 bSubEle,Ele_Neutral,30,BF_SHORT; bonus3 bSubEle,Ele_Water,30,BF_SHORT; bonus3 bSubEle,Ele_Earth,30,BF_SHORT; bonus3 bSubEle,Ele_Fire,30,BF_SHORT; bonus3 bSubEle,Ele_Wind,30,BF_SHORT; bonus3 bSubEle,Ele_Poison,30,BF_SHORT; bonus3 bSubEle,Ele_Holy,30,BF_SHORT; bonus3 bSubEle,Ele_Dark,30,BF_SHORT; bonus3 bSubEle,Ele_Ghost,30,BF_SHORT; bonus3 bSubEle,Ele_Undead,30,BF_SHORT; bonus bFlee,30; skill "AL_TELEPORT",1; bonus bUnbreakableGarment; },{},{}
 2541,Asprika,Asprika,4,20,,400,,5,,0,0xFFFFFFFF,7,2,4,,94,0,0,{ bonus bMdef,5; bonus3 bSubEle,Ele_Neutral,30,BF_SHORT; bonus3 bSubEle,Ele_Water,30,BF_SHORT; bonus3 bSubEle,Ele_Earth,30,BF_SHORT; bonus3 bSubEle,Ele_Fire,30,BF_SHORT; bonus3 bSubEle,Ele_Wind,30,BF_SHORT; bonus3 bSubEle,Ele_Poison,30,BF_SHORT; bonus3 bSubEle,Ele_Holy,30,BF_SHORT; bonus3 bSubEle,Ele_Dark,30,BF_SHORT; bonus3 bSubEle,Ele_Ghost,30,BF_SHORT; bonus3 bSubEle,Ele_Undead,30,BF_SHORT; bonus bFlee,30; skill "AL_TELEPORT",1; bonus bUnbreakableGarment; },{},{}
 2542,Flame_Manteau,Flame Manteau of Naght Sieger,4,20,,70,,4,,1,0xFFFFFFFE,2,2,4,,70,1,0,{ bonus bMaxHPRate,5; bonus bMdef,2; bonus bMatkRate,1; bonus2 bAddEle,Ele_Fire,2; },{},{}
 2542,Flame_Manteau,Flame Manteau of Naght Sieger,4,20,,70,,4,,1,0xFFFFFFFE,2,2,4,,70,1,0,{ bonus bMaxHPRate,5; bonus bMdef,2; bonus bMatkRate,1; bonus2 bAddEle,Ele_Fire,2; },{},{}
 2543,Sylphid_Manteau,Sylphid Manteau,4,20,,0,,9,,0,0xFFFFFFFF,7,2,4,,0,0,0,{ bonus bFlee,13; bonus2 bSubEle,Ele_Neutral,13; bonus bFlee2,1; },{},{}
 2543,Sylphid_Manteau,Sylphid Manteau,4,20,,0,,9,,0,0xFFFFFFFF,7,2,4,,0,0,0,{ bonus bFlee,13; bonus2 bSubEle,Ele_Neutral,13; bonus bFlee2,1; },{},{}
-2544,Leather_Of_Tendrilion,Leather of Tendrilion,4,20,,300,,3,,1,0x00CFDF80,2,2,4,,0,1,0,{ bonus2 bSubEle,Ele_Water,5; bonus2 bSubEle,Ele_Earth,5; bonus2 bSubRace,RC_Plant,5; bonus2 bSubRace,RC_Brute,5; },{},{}
+2544,Leather_Of_Tendrilion,Leather of Tendrilion,4,20,,300,,3,,1,0x00CFDF80,2,2,4,,0,1,0,{ bonus2 bSubEle,Ele_Water,5; bonus2 bSubEle,Ele_Earth,5; bonus2 bSubRace,RC_Plant,5; bonus2 bSubRace,RC_Brute,5; bonus2 bSubRace,RC_Player_Doram,5; },{},{}
 2545,Musika,Musika,4,20,,500,,2,,1,0x00008100,2,2,4,,70,1,0,{ bonus bMdef,3; bonus3 bAutoSpellwhenhit,"AL_HEAL",max(1,getskilllv("AL_HEAL")),20; },{},{}
 2545,Musika,Musika,4,20,,500,,2,,1,0x00008100,2,2,4,,70,1,0,{ bonus bMdef,3; bonus3 bAutoSpellwhenhit,"AL_HEAL",max(1,getskilllv("AL_HEAL")),20; },{},{}
 2546,Beach_Manteau,Beach Manteau,4,20,,600,,0,,1,0xFFFFFFFF,7,2,4,,0,1,0,{ bonus bStr,1; bonus bInt,1; bonus2 bSubEle,Ele_Fire,10; },{},{}
 2546,Beach_Manteau,Beach Manteau,4,20,,600,,0,,1,0xFFFFFFFF,7,2,4,,0,1,0,{ bonus bStr,1; bonus bInt,1; bonus2 bSubEle,Ele_Fire,10; },{},{}
 2547,Cheap_Running_Shirts,Cheap Undershirt,4,0,,0,,8,,0,0xFFFFFFFF,7,2,4,,0,1,0,{ bonus bDex,2; bonus bFlee,10; bonus2 bSubEle,Ele_Neutral,10; bonus bMdef,1; },{},{}
 2547,Cheap_Running_Shirts,Cheap Undershirt,4,0,,0,,8,,0,0xFFFFFFFF,7,2,4,,0,1,0,{ bonus bDex,2; bonus bFlee,10; bonus2 bSubEle,Ele_Neutral,10; bonus bMdef,1; },{},{}
-2548,Muffler_C,Neo Muffler,4,0,,0,,5,,0,0xFFFFFFFE,2,2,4,,95,0,0,{ bonus2 bSubRace,RC_DemiHuman,10; bonus2 bSubRace,RC_Player,10; bonus bMaxHPrate,10; bonus2 bSubEle,Ele_Water,5; bonus2 bSubEle,Ele_Fire,5; bonus2 bSubEle,Ele_Holy,5; bonus2 bSubEle,Ele_Dark,5; },{},{}
-2549,Krieger_Muffler1,Glorious Muffler,4,20,,0,,0,,0,0xFFFFFFFE,7,2,4,,81,1,0,{ bonus bMaxHPRate,5; bonus2 bSubRace,RC_DemiHuman,5; bonus2 bSubRace,RC_Player,5; },{},{}
+2548,Muffler_C,Neo Muffler,4,0,,0,,5,,0,0xFFFFFFFE,2,2,4,,95,0,0,{ bonus2 bSubRace,RC_DemiHuman,10; bonus2 bSubRace,RC_Player_Human,10; bonus bMaxHPrate,10; bonus2 bSubEle,Ele_Water,5; bonus2 bSubEle,Ele_Fire,5; bonus2 bSubEle,Ele_Holy,5; bonus2 bSubEle,Ele_Dark,5; },{},{}
+2549,Krieger_Muffler1,Glorious Muffler,4,20,,0,,0,,0,0xFFFFFFFE,7,2,4,,81,1,0,{ bonus bMaxHPRate,5; bonus2 bSubRace,RC_DemiHuman,5; bonus2 bSubRace,RC_Player_Human,5; },{},{}
 2550,Fisher's_Muffler,Fisher's Muffler,4,20,,200,,0,,0,0xFFFFFFFF,7,2,4,,0,1,0,{},{},{}
 2550,Fisher's_Muffler,Fisher's Muffler,4,20,,200,,0,,0,0xFFFFFFFF,7,2,4,,0,1,0,{},{},{}
 2551,Rider_Insignia_M,Crest of the Rider,4,20,,500,,4,,1,0xFFFFFFFE,2,2,4,,55,1,0,{ bonus bAgi,2; },{},{}
 2551,Rider_Insignia_M,Crest of the Rider,4,20,,500,,4,,1,0xFFFFFFFE,2,2,4,,55,1,0,{ bonus bAgi,2; },{},{}
 2552,Mithril_Magic_Cape_M,Mithril Magic Manteau,4,20,,400,,3,,1,0x00098B1C,2,2,4,,70,1,0,{ bonus bMdef,3; bonus5 bAutoSpellWhenHit,"NPC_ANTIMAGIC",6,200,BF_MAGIC,0; },{},{}
 2552,Mithril_Magic_Cape_M,Mithril Magic Manteau,4,20,,400,,3,,1,0x00098B1C,2,2,4,,70,1,0,{ bonus bMdef,3; bonus5 bAutoSpellWhenHit,"NPC_ANTIMAGIC",6,200,BF_MAGIC,0; },{},{}
@@ -1673,7 +1673,7 @@
 4032,Ambernite_Card,Ambernite Card,6,20,,10,,,,,,,,32,,,,,{ bonus bDef,2; },{},{}
 4032,Ambernite_Card,Ambernite Card,6,20,,10,,,,,,,,32,,,,,{ bonus bDef,2; },{},{}
 4033,Poporing_Card,Poporing Card,6,20,,10,,,,,,,,136,,,,,{ skill "TF_DETOXIFY",1; },{},{}
 4033,Poporing_Card,Poporing Card,6,20,,10,,,,,,,,136,,,,,{ skill "TF_DETOXIFY",1; },{},{}
 4034,Worm_Tail_Card,Wormtail Card,6,20,,10,,,,,,,,136,,,,,{ bonus bDex,2; },{},{}
 4034,Worm_Tail_Card,Wormtail Card,6,20,,10,,,,,,,,136,,,,,{ bonus bDex,2; },{},{}
-4035,Hydra_Card,Hydra Card,6,20,,10,,,,,,,,2,,,,,{ bonus2 bAddRace,RC_DemiHuman,20; bonus2 bAddRace,RC_Player,20; },{},{}
+4035,Hydra_Card,Hydra Card,6,20,,10,,,,,,,,2,,,,,{ bonus2 bAddRace,RC_DemiHuman,20; bonus2 bAddRace,RC_Player_Human,20; },{},{}
 4036,Muka_Card,Muka Card,6,20,,10,,,,,,,,136,,,,,{ bonus bHPrecovRate,10; },{},{}
 4036,Muka_Card,Muka Card,6,20,,10,,,,,,,,136,,,,,{ bonus bHPrecovRate,10; },{},{}
 4037,Snake_Card,Snake Card,6,20,,10,,,,,,,,2,,,,,{ bonus2 bAddEff,Eff_Poison,500; bonus bBaseAtk,5; },{},{}
 4037,Snake_Card,Snake Card,6,20,,10,,,,,,,,2,,,,,{ bonus2 bAddEff,Eff_Poison,500; bonus bBaseAtk,5; },{},{}
 4038,Zombie_Card,Zombie Card,6,20,,10,,,,,,,,64,,,,,{ bonus bHPrecovRate,20; },{},{}
 4038,Zombie_Card,Zombie Card,6,20,,10,,,,,,,,64,,,,,{ bonus bHPrecovRate,20; },{},{}
@@ -1696,15 +1696,15 @@
 4055,Marina_Card,Marina Card,6,20,,10,,,,,,,,2,,,,,{ bonus2 bAddEff,Eff_Freeze,500; bonus bBaseAtk,5; },{},{}
 4055,Marina_Card,Marina Card,6,20,,10,,,,,,,,2,,,,,{ bonus2 bAddEff,Eff_Freeze,500; bonus bBaseAtk,5; },{},{}
 4056,Dustiness_Card,Dustiness Card,6,20,,10,,,,,,,,4,,,,,{ bonus2 bSubEle,Ele_Wind,30; bonus bFlee,5; },{},{}
 4056,Dustiness_Card,Dustiness Card,6,20,,10,,,,,,,,4,,,,,{ bonus2 bSubEle,Ele_Wind,30; bonus bFlee,5; },{},{}
 4057,Metaller_Card,Metaller Card,6,20,,10,,,,,,,,2,,,,,{ bonus2 bAddEff,Eff_Silence,500; bonus bBaseAtk,5; },{},{}
 4057,Metaller_Card,Metaller Card,6,20,,10,,,,,,,,2,,,,,{ bonus2 bAddEff,Eff_Silence,500; bonus bBaseAtk,5; },{},{}
-4058,Thara_Frog_Card,Thara Frog Card,6,20,,10,,,,,,,,32,,,,,{ bonus2 bSubRace,RC_DemiHuman,30; bonus2 bSubRace,RC_Player,30; },{},{}
+4058,Thara_Frog_Card,Thara Frog Card,6,20,,10,,,,,,,,32,,,,,{ bonus2 bSubRace,RC_DemiHuman,30; bonus2 bSubRace,RC_Player_Human,30; },{},{}
 4059,Soldier_Andre_Card,Soldier Andre Card,6,20,,10,,,,,,,,32,,,,,{ bonus2 bSubRace,RC_Plant,30; },{},{}
 4059,Soldier_Andre_Card,Soldier Andre Card,6,20,,10,,,,,,,,32,,,,,{ bonus2 bSubRace,RC_Plant,30; },{},{}
-4060,Goblin_Card,Goblin Card,6,20,,10,,,,,,,,2,,,,,{ bonus2 bAddRace,RC_Brute,20; },{},{}
+4060,Goblin_Card,Goblin Card,6,20,,10,,,,,,,,2,,,,,{ bonus2 bAddRace,RC_Brute,20; bonus2 bAddRace,RC_Player_Doram,20; },{},{}
 4061,Cornutus_Card,Cornutus Card,6,20,,10,,,,,,,,16,,,,,{ bonus bUnbreakableArmor; bonus bDef,1; },{},{}
 4061,Cornutus_Card,Cornutus Card,6,20,,10,,,,,,,,16,,,,,{ bonus bUnbreakableArmor; bonus bDef,1; },{},{}
 4062,Anacondaq_Card,Anacondaq Card,6,20,,10,,,,,,,,2,,,,,{ bonus2 bAddEle,Ele_Poison,20; },{},{}
 4062,Anacondaq_Card,Anacondaq Card,6,20,,10,,,,,,,,2,,,,,{ bonus2 bAddEle,Ele_Poison,20; },{},{}
 4063,Caramel_Card,Caramel Card,6,20,,10,,,,,,,,2,,,,,{ bonus2 bAddRace,RC_Insect,20; },{},{}
 4063,Caramel_Card,Caramel Card,6,20,,10,,,,,,,,2,,,,,{ bonus2 bAddRace,RC_Insect,20; },{},{}
 4064,Zerom_Card,Zerom Card,6,20,,10,,,,,,,,136,,,,,{ bonus bDex,3; },{},{}
 4064,Zerom_Card,Zerom Card,6,20,,10,,,,,,,,136,,,,,{ bonus bDex,3; },{},{}
 4065,Kaho_Card,Kaho Card,6,20,,10,,,,,,,,2,,,,,{ bonus2 bAddEle,Ele_Earth,20; },{},{}
 4065,Kaho_Card,Kaho Card,6,20,,10,,,,,,,,2,,,,,{ bonus2 bAddEle,Ele_Earth,20; },{},{}
-4066,Orc_Warrior_Card,Orc Warrior Card,6,20,,10,,,,,,,,32,,,,,{ bonus2 bSubRace,RC_Brute,30; },{},{}
+4066,Orc_Warrior_Card,Orc Warrior Card,6,20,,10,,,,,,,,32,,,,,{ bonus2 bSubRace,RC_Brute,30; bonus2 bSubRace,RC_Player_Doram,30; },{},{}
 4067,Megalodon_Card,Megalodon Card,6,20,,10,,,,,,,,32,,,,,{ bonus2 bResEff,Eff_Freeze,2000; bonus bDef,1; },{},{}
 4067,Megalodon_Card,Megalodon Card,6,20,,10,,,,,,,,32,,,,,{ bonus2 bResEff,Eff_Freeze,2000; bonus bDef,1; },{},{}
 4068,Scorpion_Card,Scorpion Card,6,20,,10,,,,,,,,2,,,,,{ bonus2 bAddRace,RC_Plant,20; },{},{}
 4068,Scorpion_Card,Scorpion Card,6,20,,10,,,,,,,,2,,,,,{ bonus2 bAddRace,RC_Plant,20; },{},{}
 4069,Drainliar_Card,Drainliar Card,6,20,,10,,,,,,,,2,,,,,{ bonus2 bAddEle,Ele_Water,20; },{},{}
 4069,Drainliar_Card,Drainliar Card,6,20,,10,,,,,,,,2,,,,,{ bonus2 bAddEle,Ele_Water,20; },{},{}
@@ -1763,7 +1763,7 @@
 4122,Deviruchi_Card,Deviruchi Card,6,20,,10,,,,,,,,769,,,,,{ bonus bStr,1; bonus2 bResEff,Eff_Blind,10000; },{},{}
 4122,Deviruchi_Card,Deviruchi Card,6,20,,10,,,,,,,,769,,,,,{ bonus bStr,1; bonus2 bResEff,Eff_Blind,10000; },{},{}
 4123,Eddga_Card,Eddga Card,6,20,,10,,,,,,,,64,,,,,{ bonus bMaxHPrate,-25; bonus bNoWalkDelay; },{},{}
 4123,Eddga_Card,Eddga Card,6,20,,10,,,,,,,,64,,,,,{ bonus bMaxHPrate,-25; bonus bNoWalkDelay; },{},{}
 4124,Medusa_Card,Medusa Card,6,20,,10,,,,,,,,32,,,,,{ bonus2 bSubRace,RC_Demon,15; bonus2 bResEff,Eff_Stone,10000; },{},{}
 4124,Medusa_Card,Medusa Card,6,20,,10,,,,,,,,32,,,,,{ bonus2 bSubRace,RC_Demon,15; bonus2 bResEff,Eff_Stone,10000; },{},{}
-4125,Deviace_Card,Deviace Card,6,20,,10,,,,,,,,2,,,,,{ bonus2 bAddRace,RC_DemiHuman,7; bonus2 bAddRace,RC_Player,7; bonus2 bAddRace,RC_Brute,7; bonus2 bAddRace,RC_Plant,7; bonus2 bAddRace,RC_Insect,7; },{},{}
+4125,Deviace_Card,Deviace Card,6,20,,10,,,,,,,,2,,,,,{ bonus2 bAddRace,RC_DemiHuman,7; bonus2 bAddRace,RC_Player_Human,7; bonus2 bAddRace,RC_Brute,7; bonus2 bAddRace,RC_Player_Doram,7; bonus2 bAddRace,RC_Plant,7; bonus2 bAddRace,RC_Insect,7; },{},{}
 4126,Minorous_Card,Minorous Card,6,20,,10,,,,,,,,2,,,,,{ bonus2 bAddSize,Size_Large,15; bonus bBaseAtk,5; },{},{}
 4126,Minorous_Card,Minorous Card,6,20,,10,,,,,,,,2,,,,,{ bonus2 bAddSize,Size_Large,15; bonus bBaseAtk,5; },{},{}
 4127,Nightmare_Card,Nightmare Card,6,20,,10,,,,,,,,769,,,,,{ bonus2 bResEff,Eff_Sleep,10000; bonus bAgi,1; },{},{}
 4127,Nightmare_Card,Nightmare Card,6,20,,10,,,,,,,,769,,,,,{ bonus2 bResEff,Eff_Sleep,10000; bonus bAgi,1; },{},{}
 4128,Golden_Bug_Card,Golden Thief Bug Card,6,20,,10,,,,,,,,32,,,,,{ bonus bNoMagicDamage,100; bonus bUseSPrate,100; },{},{}
 4128,Golden_Bug_Card,Golden Thief Bug Card,6,20,,10,,,,,,,,32,,,,,{ bonus bNoMagicDamage,100; bonus bUseSPrate,100; },{},{}
@@ -1805,7 +1805,7 @@
 4164,Gullinbursti_Card,Gullinbursti Card,6,20,,10,,,,,,,,64,,,,,{ bonus2 bSubRace,RC_Fish,-20; bonus2 bExpAddRace,RC_Fish,10; },{},{}
 4164,Gullinbursti_Card,Gullinbursti Card,6,20,,10,,,,,,,,64,,,,,{ bonus2 bSubRace,RC_Fish,-20; bonus2 bExpAddRace,RC_Fish,10; },{},{}
 4165,Gig_Card,Gig Card,6,20,,10,,,,,,,,2,,,,,{ bonus2 bSPGainRace,RC_Insect,5; },{},{ heal 0,-5; }
 4165,Gig_Card,Gig Card,6,20,,10,,,,,,,,2,,,,,{ bonus2 bSPGainRace,RC_Insect,5; },{},{ heal 0,-5; }
 4166,Nightmare_Terror_Card,Nightmare Terror Card,6,20,,10,,,,,,,,16,,,,,{ bonus2 bAddEffWhenHit,Eff_Curse,300; },{},{}
 4166,Nightmare_Terror_Card,Nightmare Terror Card,6,20,,10,,,,,,,,16,,,,,{ bonus2 bAddEffWhenHit,Eff_Curse,300; },{},{}
-4167,Neraid_Card,Nereid Card,6,20,,10,,,,,,,,2,,,,,{ bonus2 bSPGainRace,RC_Brute,5; },{},{ heal 0,-5; }
+4167,Neraid_Card,Nereid Card,6,20,,10,,,,,,,,2,,,,,{ bonus2 bSPGainRace,RC_Brute,5; bonus2 bSPGainRace,RC_Player_Doram,5; },{},{ heal 0,-5; }
 4168,Dark_Lord_Card,Dark Lord Card,6,20,,10,,,,,,,,64,,,,,{ bonus3 bAutoSpellWhenHit,"WZ_METEOR",5,100; },{},{}
 4168,Dark_Lord_Card,Dark Lord Card,6,20,,10,,,,,,,,64,,,,,{ bonus3 bAutoSpellWhenHit,"WZ_METEOR",5,100; },{},{}
 4169,Dark_Illusion_Card,Dark Illusion Card,6,20,,10,,,,,,,,769,,,,,{ bonus bMaxHPrate,-10; bonus bMaxSPrate,-10; bonus bCastrate,-10; },{},{}
 4169,Dark_Illusion_Card,Dark Illusion Card,6,20,,10,,,,,,,,769,,,,,{ bonus bMaxHPrate,-10; bonus bMaxSPrate,-10; bonus bCastrate,-10; },{},{}
 4170,Dark_Frame_Card,Dark Frame Card,6,20,,10,,,,,,,,16,,,,,{ bonus2 bAddEffWhenHit,Eff_Stone,600; },{},{}
 4170,Dark_Frame_Card,Dark Frame Card,6,20,,10,,,,,,,,16,,,,,{ bonus2 bAddEffWhenHit,Eff_Stone,600; },{},{}
@@ -1842,7 +1842,7 @@
 4201,Majoruros_Card,Majoruros Card,6,20,,10,,,,,,,,16,,,,,{ bonus2 bAddEffWhenHit,Eff_Stun,600; },{},{}
 4201,Majoruros_Card,Majoruros Card,6,20,,10,,,,,,,,16,,,,,{ bonus2 bAddEffWhenHit,Eff_Stun,600; },{},{}
 4202,Civil_Servant_Card,Mao Guai Card,6,20,,10,,,,,,,,2,,,,,{ bonus2 bAddEle,Ele_Ghost,20; },{},{}
 4202,Civil_Servant_Card,Mao Guai Card,6,20,,10,,,,,,,,2,,,,,{ bonus2 bAddEle,Ele_Ghost,20; },{},{}
 4203,Mutant_Dragon_Card,Mutant Dragonoid Card,6,20,,10,,,,,,,,2,,,,,{ bonus bBaseAtk,15; bonus3 bAutoSpell,"MG_FIREBALL",3+2*(getskilllv("MG_FIREBALL")==10),50; },{},{}
 4203,Mutant_Dragon_Card,Mutant Dragonoid Card,6,20,,10,,,,,,,,2,,,,,{ bonus bBaseAtk,15; bonus3 bAutoSpell,"MG_FIREBALL",3+2*(getskilllv("MG_FIREBALL")==10),50; },{},{}
-4204,Mini_Demon_Card,Mini Demon Card,6,20,,10,,,,,,,,64,,,,,{ bonus2 bSubRace,RC_Brute,-20; bonus2 bExpAddRace,RC_Brute,10; },{},{}
+4204,Mini_Demon_Card,Mini Demon Card,6,20,,10,,,,,,,,64,,,,,{ bonus2 bSubRace,RC_Brute,-20; bonus2 bSubRace,RC_Player_Doram,-20; bonus2 bExpAddRace,RC_Brute,10; },{},{}
 4205,Mimic_Card,Mimic Card,6,20,,10,,,,,,,,136,,,,,{ bonus2 bAddMonsterDropItem,603,10; },{},{}
 4205,Mimic_Card,Mimic Card,6,20,,10,,,,,,,,136,,,,,{ bonus2 bAddMonsterDropItem,603,10; },{},{}
 4206,Mystcase_Card,Myst Case Card,6,20,,10,,,,,,,,769,,,,,{ bonus2 bAddMonsterDropItem,644,30; },{},{}
 4206,Mystcase_Card,Myst Case Card,6,20,,10,,,,,,,,769,,,,,{ bonus2 bAddMonsterDropItem,644,30; },{},{}
 4207,Mysteltainn_Card,Mysteltainn Card,6,20,,10,,,,,,,,32,,,,,{ bonus2 bSubSize,Size_Small,25; bonus bDef,1; },{},{}
 4207,Mysteltainn_Card,Mysteltainn Card,6,20,,10,,,,,,,,32,,,,,{ bonus2 bSubSize,Size_Small,25; bonus bDef,1; },{},{}
@@ -1883,8 +1883,8 @@
 4242,Apocalips_Card,Apocalipse Card,6,20,,10,,,,,,,,16,,,,,{ bonus bVit,2; if(getrefine()>8) bonus bMaxHP,800; },{},{}
 4242,Apocalips_Card,Apocalipse Card,6,20,,10,,,,,,,,16,,,,,{ bonus bVit,2; if(getrefine()>8) bonus bMaxHP,800; },{},{}
 4243,Antonio_Card,Antonio Card,6,20,,10,,,,,,,,16,,,,,{ bonus3 bAutoSpellWhenHit,"AL_TELEPORT",1,500; },{},{}
 4243,Antonio_Card,Antonio Card,6,20,,10,,,,,,,,16,,,,,{ bonus3 bAutoSpellWhenHit,"AL_TELEPORT",1,500; },{},{}
 4244,Alarm_Card,Alarm Card,6,20,,10,,,,,,,,64,,,,,{ bonus3 bAutoSpellWhenHit,"MG_SIGHT",1,200; bonus bMaxHP,300; bonus bVit,1; },{},{}
 4244,Alarm_Card,Alarm Card,6,20,,10,,,,,,,,64,,,,,{ bonus3 bAutoSpellWhenHit,"MG_SIGHT",1,200; bonus bMaxHP,300; bonus bVit,1; },{},{}
-4245,Am_Mut_Card,Am Mut Card,6,20,,10,,,,,,,,64,,,,,{ bonus2 bSubRace,RC_DemiHuman,-20; bonus2 bSubRace,RC_Player,-20; bonus2 bExpAddRace,RC_DemiHuman,10; },{},{}
-4246,Assulter_Card,Assaulter Card,6,20,,10,,,,,,,,2,,,,,{ bonus bCritAtkRate,10; bonus2 bCriticalAddRace,RC_DemiHuman,7; bonus2 bCriticalAddRace,RC_Player,7; },{},{}
+4245,Am_Mut_Card,Am Mut Card,6,20,,10,,,,,,,,64,,,,,{ bonus2 bSubRace,RC_DemiHuman,-20; bonus2 bSubRace,RC_Player_Human,-20; bonus2 bExpAddRace,RC_DemiHuman,10; },{},{}
+4246,Assulter_Card,Assaulter Card,6,20,,10,,,,,,,,2,,,,,{ bonus bCritAtkRate,10; bonus2 bCriticalAddRace,RC_DemiHuman,7; bonus2 bCriticalAddRace,RC_Player_Human,7; },{},{}
 4247,Aster_Card,Aster Card,6,20,,10,,,,,,,,2,,,,,{ bonus bBaseAtk,5; bonus2 bAddDamageClass,1074,30; },{},{}
 4247,Aster_Card,Aster Card,6,20,,10,,,,,,,,2,,,,,{ bonus bBaseAtk,5; bonus2 bAddDamageClass,1074,30; },{},{}
 4248,Ancient_Mummy_Card,Ancient Mummy Card,6,20,,10,,,,,,,,32,,,,,{ bonus3 bAutoSpellWhenHit,"AL_CRUCIS",5,30; },{},{}
 4248,Ancient_Mummy_Card,Ancient Mummy Card,6,20,,10,,,,,,,,32,,,,,{ bonus3 bAutoSpellWhenHit,"AL_CRUCIS",5,30; },{},{}
 4249,Ancient_Worm_Card,Ancient Worm Card,6,20,,10,,,,,,,,64,,,,,{ bonus2 bSubRace,RC_Demon,-20; bonus2 bExpAddRace,RC_Demon,10; },{},{}
 4249,Ancient_Worm_Card,Ancient Worm Card,6,20,,10,,,,,,,,64,,,,,{ bonus2 bSubRace,RC_Demon,-20; bonus2 bExpAddRace,RC_Demon,10; },{},{}
@@ -1935,7 +1935,7 @@
 4294,Quve_Card,Quve Card,6,20,,10,,,,,,,,136,,,,,{ if(BaseJob==Job_Novice||BaseJob==Job_SuperNovice) bonus3 bAutoSpellWhenHit,"AL_INCAGI",1,100; },{},{}
 4294,Quve_Card,Quve Card,6,20,,10,,,,,,,,136,,,,,{ if(BaseJob==Job_Novice||BaseJob==Job_SuperNovice) bonus3 bAutoSpellWhenHit,"AL_INCAGI",1,100; },{},{}
 4295,Kraben_Card,Kraben Card,6,20,,10,,,,,,,,16,,,,,{ bonus2 bAddEffWhenHit,Eff_Blind,600; },{},{}
 4295,Kraben_Card,Kraben Card,6,20,,10,,,,,,,,16,,,,,{ bonus2 bAddEffWhenHit,Eff_Blind,600; },{},{}
 4296,Cramp_Card,Cramp Card,6,20,,10,,,,,,,,769,,,,,{ bonus2 bGetZenyNum,500,1; },{},{}
 4296,Cramp_Card,Cramp Card,6,20,,10,,,,,,,,769,,,,,{ bonus2 bGetZenyNum,500,1; },{},{}
-4297,Cruiser_Card,Cruiser Card,6,20,,10,,,,,,,,2,,,,,{ bonus bCritAtkRate,10; bonus2 bCriticalAddRace,RC_Brute,7; },{},{}
+4297,Cruiser_Card,Cruiser Card,6,20,,10,,,,,,,,2,,,,,{ bonus bCritAtkRate,10; bonus2 bCriticalAddRace,RC_Brute,7; bonus2 bCriticalAddRace,RC_Player_Doram,7; },{},{}
 4298,Cremy_Fear_Card,Creamy Fear Card,6,20,,10,,,,,,,,16,,,,,{ bonus2 bAddEffWhenHit,Eff_Confusion,600; },{},{}
 4298,Cremy_Fear_Card,Creamy Fear Card,6,20,,10,,,,,,,,16,,,,,{ bonus2 bAddEffWhenHit,Eff_Confusion,600; },{},{}
 4299,Clock_Card,Clock Card,6,20,,10,,,,,,,,16,,,,,{ bonus3 bAutoSpellWhenHit,"CR_AUTOGUARD",3+7*(getskilllv("CR_AUTOGUARD")==10),30; },{},{ sc_end SC_AUTOGUARD; }
 4299,Clock_Card,Clock Card,6,20,,10,,,,,,,,16,,,,,{ bonus3 bAutoSpellWhenHit,"CR_AUTOGUARD",3+7*(getskilllv("CR_AUTOGUARD")==10),30; },{},{ sc_end SC_AUTOGUARD; }
 4300,Chimera_Card,Chimera Card,6,20,,10,,,,,,,,16,,,,,{ bonus2 bAddEffWhenHit,Eff_Poison,300+600*(BaseJob==Job_Assassin); },{},{}
 4300,Chimera_Card,Chimera Card,6,20,,10,,,,,,,,16,,,,,{ bonus2 bAddEffWhenHit,Eff_Poison,300+600*(BaseJob==Job_Assassin); },{},{}
@@ -1967,7 +1967,7 @@
 4326,See_Otter_Card,Sea-Otter Card,6,20,,10,,,,,,,,136,,,,,{ bonus2 bAddItemGroupHealRate,IG_Fish,50; bonus3 bAddMonsterDropItem,551,RC_Fish,300; bonus3 bAddMonsterDropItem,544,RC_Fish,300; },{},{}
 4326,See_Otter_Card,Sea-Otter Card,6,20,,10,,,,,,,,136,,,,,{ bonus2 bAddItemGroupHealRate,IG_Fish,50; bonus3 bAddMonsterDropItem,551,RC_Fish,300; bonus3 bAddMonsterDropItem,544,RC_Fish,300; },{},{}
 4327,Blood_Butterfly_Card,Bloody Butterfly Card,6,20,,10,,,,,,,,136,,,,,{ bonus bCastrate,30; bonus bNoCastCancel; bonus2 bSkillAtk,"MG_FIREWALL",5; },{},{}
 4327,Blood_Butterfly_Card,Bloody Butterfly Card,6,20,,10,,,,,,,,136,,,,,{ bonus bCastrate,30; bonus bNoCastCancel; bonus2 bSkillAtk,"MG_FIREWALL",5; },{},{}
 4328,Hyegun_Card,Yao Jun Card,6,20,,10,,,,,,,,4,,,,,{ bonus bFlee,15; bonus bCritical,1; },{},{}
 4328,Hyegun_Card,Yao Jun Card,6,20,,10,,,,,,,,4,,,,,{ bonus bFlee,15; bonus bCritical,1; },{},{}
-4329,Phendark_Card,Phendark Card,6,20,,10,,,,,,,,2,,,,,{ bonus2 bSPGainRace,RC_DemiHuman,5; bonus2 bSPGainRace,RC_Player,5; },{},{ heal 0,-5; }
+4329,Phendark_Card,Phendark Card,6,20,,10,,,,,,,,2,,,,,{ bonus2 bSPGainRace,RC_DemiHuman,5; bonus2 bSPGainRace,RC_Player_Human,5; },{},{ heal 0,-5; }
 4330,Dark_Snake_Lord_Card,Evil Snake Lord Card,6,20,,10,,,,,,,,769,,,,,{ bonus bInt,3; bonus2 bResEff,Eff_Blind,10000; bonus2 bResEff,Eff_Curse,10000; },{},{}
 4330,Dark_Snake_Lord_Card,Evil Snake Lord Card,6,20,,10,,,,,,,,769,,,,,{ bonus bInt,3; bonus2 bResEff,Eff_Blind,10000; bonus2 bResEff,Eff_Curse,10000; },{},{}
 4331,Heater_Card,Heater Card,6,20,,10,,,,,,,,136,,,,,{ bonus bCritical,3; if(BaseClass==Job_Swordman) bonus bFlee2,3; },{},{}
 4331,Heater_Card,Heater Card,6,20,,10,,,,,,,,136,,,,,{ bonus bCritical,3; if(BaseClass==Job_Swordman) bonus bFlee2,3; },{},{}
 4332,Waste_Stove_Card,Waste Stove Card,6,20,,10,,,,,,,,16,,,,,{ bonus bBaseAtk,5; bonus bInt,1; },{},{}
 4332,Waste_Stove_Card,Waste Stove Card,6,20,,10,,,,,,,,16,,,,,{ bonus bBaseAtk,5; bonus bInt,1; },{},{}
@@ -1998,7 +1998,7 @@
 4357,B_Seyren_Card,Lord Knight Card,6,20,,10,,,,,,,,769,,,,,{ skill "LK_BERSERK",1; bonus bMaxHPrate,-50; },{},{}
 4357,B_Seyren_Card,Lord Knight Card,6,20,,10,,,,,,,,769,,,,,{ skill "LK_BERSERK",1; bonus bMaxHPrate,-50; },{},{}
 4358,Seyren_Card,Seyren Windsor Card,6,20,,10,,,,,,,,769,,,,,{ bonus bStr,getrefine()-6; },{},{}
 4358,Seyren_Card,Seyren Windsor Card,6,20,,10,,,,,,,,769,,,,,{ bonus bStr,getrefine()-6; },{},{}
 4359,B_Eremes_Card,Assassin Cross Card,6,20,,10,,,,,,,,4,,,,,{ skill "AS_CLOAKING",3; },{},{ sc_end SC_CLOAKING; }
 4359,B_Eremes_Card,Assassin Cross Card,6,20,,10,,,,,,,,4,,,,,{ skill "AS_CLOAKING",3; },{},{ sc_end SC_CLOAKING; }
-4360,Eremes_Card,Eremes Guile Card,6,20,,10,,,,,,,,2,,,,,{ bonus2 bCriticalAddRace,RC_DemiHuman,10; bonus2 bCriticalAddRace,RC_Player,10; },{},{}
+4360,Eremes_Card,Eremes Guile Card,6,20,,10,,,,,,,,2,,,,,{ bonus2 bCriticalAddRace,RC_DemiHuman,10; bonus2 bCriticalAddRace,RC_Player_Human,10; },{},{}
 4361,B_Harword_Card,MasterSmith Card,6,20,,10,,,,,,,,2,,,,,{ bonus bBreakWeaponRate,1000; bonus bBreakArmorRate,700; },{},{}
 4361,B_Harword_Card,MasterSmith Card,6,20,,10,,,,,,,,2,,,,,{ bonus bBreakWeaponRate,1000; bonus bBreakArmorRate,700; },{},{}
 4362,Harword_Card,Howard Alt-Eisen Card,6,20,,10,,,,,,,,2,,,,,{ bonus bAspdRate,-5; bonus bHit,30; },{},{}
 4362,Harword_Card,Howard Alt-Eisen Card,6,20,,10,,,,,,,,2,,,,,{ bonus bAspdRate,-5; bonus bHit,30; },{},{}
 4363,B_Magaleta_Card,High Priest Card,6,20,,10,,,,,,,,16,,,,,{ bonus5 bAutoSpellWhenHit,"HP_ASSUMPTIO",1,50,BF_WEAPON|BF_MAGIC,0; },{},{}
 4363,B_Magaleta_Card,High Priest Card,6,20,,10,,,,,,,,16,,,,,{ bonus5 bAutoSpellWhenHit,"HP_ASSUMPTIO",1,50,BF_WEAPON|BF_MAGIC,0; },{},{}
@@ -2070,16 +2070,16 @@
 4429,Salamander_Card,Salamander Card,6,20,,10,,,,,,,,4,,,,,{ bonus2 bSkillAtk,"WZ_FIREPILLAR",40; bonus2 bSkillAtk,"WZ_METEOR",40; },{},{}
 4429,Salamander_Card,Salamander Card,6,20,,10,,,,,,,,4,,,,,{ bonus2 bSkillAtk,"WZ_FIREPILLAR",40; bonus2 bSkillAtk,"WZ_METEOR",40; },{},{}
 4430,Ifrit_Card,Ifrit Card,6,20,,10,,,,,,,,136,,,,,{ bonus bBaseAtk,(JobLevel/10); bonus bCritical,(JobLevel/10); bonus bHit,(JobLevel/10); bonus3 bAutoSpellWhenHit,"NPC_EARTHQUAKE",2,10; },{},{}
 4430,Ifrit_Card,Ifrit Card,6,20,,10,,,,,,,,136,,,,,{ bonus bBaseAtk,(JobLevel/10); bonus bCritical,(JobLevel/10); bonus bHit,(JobLevel/10); bonus3 bAutoSpellWhenHit,"NPC_EARTHQUAKE",2,10; },{},{}
 4431,Kasa_Card,Kasa Card,6,20,,10,,,,,,,,4,,,,,{ bonus3 bAutoSpell,"MG_FIREBALL",5,20; bonus3 bAutoSpell,"MG_FIREBOLT",5,20; },{},{}
 4431,Kasa_Card,Kasa Card,6,20,,10,,,,,,,,4,,,,,{ bonus3 bAutoSpell,"MG_FIREBALL",5,20; bonus3 bAutoSpell,"MG_FIREBOLT",5,20; },{},{}
-4432,Magmaring_Card,Magmaring Card,6,20,,10,,,,,,,,4,,,,,{ bonus bBaseAtk,5; bonus2 bAddEle,Ele_Earth,10; bonus2 bCriticalAddRace,RC_Brute,15; },{},{}
+4432,Magmaring_Card,Magmaring Card,6,20,,10,,,,,,,,4,,,,,{ bonus bBaseAtk,5; bonus2 bAddEle,Ele_Earth,10; bonus2 bCriticalAddRace,RC_Brute,15; bonus2 bCriticalAddRace,RC_Player_Doram,15; },{},{}
 4433,Imp_Card,Imp Card,6,20,,10,,,,,,,,136,,,,,{ bonus2 bSkillAtk,"MG_FIREBOLT",25; bonus2 bCastrate,"MG_FIREBOLT",-25; },{},{}
 4433,Imp_Card,Imp Card,6,20,,10,,,,,,,,136,,,,,{ bonus2 bSkillAtk,"MG_FIREBOLT",25; bonus2 bCastrate,"MG_FIREBOLT",-25; },{},{}
 4434,Knocker_Card,Knocker Card,6,20,,10,,,,,,,,769,,,,,{ bonus2 bAddRace,RC_Formless,5; bonus3 bAddMonsterDropItem,756,RC_Formless,10; bonus3 bAddMonsterDropItem,757,RC_Formless,10; },{},{}
 4434,Knocker_Card,Knocker Card,6,20,,10,,,,,,,,769,,,,,{ bonus2 bAddRace,RC_Formless,5; bonus3 bAddMonsterDropItem,756,RC_Formless,10; bonus3 bAddMonsterDropItem,757,RC_Formless,10; },{},{}
-4435,Zombie_Slaughter_Card,Zombie Slaughter Card,6,20,,10,,,,,,,,64,,,,,{ bonus2 bAddRace,RC_DemiHuman,1; bonus2 bAddRace,RC_Player,1; bonus2 bMagicAddRace,RC_DemiHuman,1; bonus2 bMagicAddRace,RC_Player,1; bonus bHPGainValue,50; },{},{}
-4436,Ragged_Zombie_Card,Ragged Zombie Card,6,20,,10,,,,,,,,136,,,,,{ bonus2 bCriticalAddRace,RC_DemiHuman,5; bonus2 bCriticalAddRace,RC_Player,5; bonus2 bAddRace,RC_DemiHuman,1; bonus2 bAddRace,RC_Player,1; bonus2 bMagicAddRace,RC_DemiHuman,1; bonus2 bMagicAddRace,RC_Player,1; bonus2 bAddEff2,Eff_Bleeding,10; },{},{}
+4435,Zombie_Slaughter_Card,Zombie Slaughter Card,6,20,,10,,,,,,,,64,,,,,{ bonus2 bAddRace,RC_DemiHuman,1; bonus2 bAddRace,RC_Player_Human,1; bonus2 bMagicAddRace,RC_DemiHuman,1; bonus2 bMagicAddRace,RC_Player_Human,1; bonus bHPGainValue,50; },{},{}
+4436,Ragged_Zombie_Card,Ragged Zombie Card,6,20,,10,,,,,,,,136,,,,,{ bonus2 bCriticalAddRace,RC_DemiHuman,5; bonus2 bCriticalAddRace,RC_Player_Human,5; bonus2 bAddRace,RC_DemiHuman,1; bonus2 bAddRace,RC_Player_Human,1; bonus2 bMagicAddRace,RC_DemiHuman,1; bonus2 bMagicAddRace,RC_Player_Human,1; bonus2 bAddEff2,Eff_Bleeding,10; },{},{}
 4437,Hell_Poodle_Card,Hell Poodle Card,6,20,,10,,,,,,,,136,,,,,{ bonus bHit,1; bonus2 bAddItemHealRate,517,100; bonus3 bAddEff,Eff_Bleeding,50,ATF_SHORT; },{},{}
 4437,Hell_Poodle_Card,Hell Poodle Card,6,20,,10,,,,,,,,136,,,,,{ bonus bHit,1; bonus2 bAddItemHealRate,517,100; bonus3 bAddEff,Eff_Bleeding,50,ATF_SHORT; },{},{}
 4438,Banshee_Card,Banshee Card,6,20,,10,,,,,,,,769,,,,,{ if(BaseClass==Job_Mage){ bonus bMaxSP,100; bonus bMaxHP,-100; bonus2 bSkillAtk,"MG_NAPALMBEAT",20; bonus2 bSkillAtk,"MG_SOULSTRIKE",20; bonus2 bSkillAtk,"HW_NAPALMVULCAN",20; } },{},{}
 4438,Banshee_Card,Banshee Card,6,20,,10,,,,,,,,769,,,,,{ if(BaseClass==Job_Mage){ bonus bMaxSP,100; bonus bMaxHP,-100; bonus2 bSkillAtk,"MG_NAPALMBEAT",20; bonus2 bSkillAtk,"MG_SOULSTRIKE",20; bonus2 bSkillAtk,"HW_NAPALMVULCAN",20; } },{},{}
 4439,Flame_Skull_Card,Flame Skull Card,6,20,,10,,,,,,,,32,,,,,{ bonus2 bResEff,Eff_Blind,3000; bonus2 bResEff,Eff_Stun,3000; bonus2 bResEff,Eff_Curse,3000; bonus2 bResEff,Eff_Stone,3000; bonus2 bAddEffWhenHit,Eff_Blind,500; bonus2 bAddEffWhenHit,Eff_Stun,500; bonus2 bAddEffWhenHit,Eff_Curse,500; bonus2 bAddEffWhenHit,Eff_Stone,500; },{},{}
 4439,Flame_Skull_Card,Flame Skull Card,6,20,,10,,,,,,,,32,,,,,{ bonus2 bResEff,Eff_Blind,3000; bonus2 bResEff,Eff_Stun,3000; bonus2 bResEff,Eff_Curse,3000; bonus2 bResEff,Eff_Stone,3000; bonus2 bAddEffWhenHit,Eff_Blind,500; bonus2 bAddEffWhenHit,Eff_Stun,500; bonus2 bAddEffWhenHit,Eff_Curse,500; bonus2 bAddEffWhenHit,Eff_Stone,500; },{},{}
 4440,Necromancer_Card,Necromancer Card,6,20,,10,,,,,,,,2,,,,,{ if(getiteminfo(getequipid(EQI_HAND_R),11)==W_STAFF) { bonus bInt,1; bonus2 bIgnoreMdefClassRate,Class_Normal,2; bonus2 bIgnoreMdefClassRate,Class_Boss,2; } },{},{}
 4440,Necromancer_Card,Necromancer Card,6,20,,10,,,,,,,,2,,,,,{ if(getiteminfo(getequipid(EQI_HAND_R),11)==W_STAFF) { bonus bInt,1; bonus2 bIgnoreMdefClassRate,Class_Normal,2; bonus2 bIgnoreMdefClassRate,Class_Boss,2; } },{},{}
-4441,Fallen_Bishop_Card,Fallen Bishop Hibram Card,6,20,,10,,,,,,,,64,,,,,{ bonus bMatkRate,10; bonus bMaxSPrate,-50; bonus2 bMagicAddRace,RC_Angel,50; bonus2 bMagicAddRace,RC_DemiHuman,50; bonus2 bMagicAddRace,RC_Player,50; },{},{}
+4441,Fallen_Bishop_Card,Fallen Bishop Hibram Card,6,20,,10,,,,,,,,64,,,,,{ bonus bMatkRate,10; bonus bMaxSPrate,-50; bonus2 bMagicAddRace,RC_Angel,50; bonus2 bMagicAddRace,RC_DemiHuman,50; bonus2 bMagicAddRace,RC_Player_Human,50; },{},{}
 4442,Tatacho_Card,Tatacho Card,6,20,,10,,,,,,,,32,,,,,{ bonus2 bSubEle,Ele_Neutral,20; bonus2 bAddEle,Ele_Neutral,5; },{},{}
 4442,Tatacho_Card,Tatacho Card,6,20,,10,,,,,,,,32,,,,,{ bonus2 bSubEle,Ele_Neutral,20; bonus2 bAddEle,Ele_Neutral,5; },{},{}
 4443,Aqua_Elemental_Card,Aqua Elemental Card,6,20,,10,,,,,,,,32,,,,,{ bonus2 bSubEle,Ele_Water,20; bonus2 bAddEle,Ele_Water,5; },{},{}
 4443,Aqua_Elemental_Card,Aqua Elemental Card,6,20,,10,,,,,,,,32,,,,,{ bonus2 bSubEle,Ele_Water,20; bonus2 bAddEle,Ele_Water,5; },{},{}
 4444,Draco_Card,Draco Card,6,20,,10,,,,,,,,32,,,,,{ bonus2 bSubEle,Ele_Earth,20; bonus2 bAddEle,Ele_Earth,5; },{},{}
 4444,Draco_Card,Draco Card,6,20,,10,,,,,,,,32,,,,,{ bonus2 bSubEle,Ele_Earth,20; bonus2 bAddEle,Ele_Earth,5; },{},{}
@@ -2279,7 +2279,7 @@
 5096,Assassin_Mask_,Assassin Mask,4,20,,100,,0,,0,0x00001100,7,2,1,,70,0,180,{},{},{}
 5096,Assassin_Mask_,Assassin Mask,4,20,,100,,0,,0,0x00001100,7,2,1,,70,0,180,{},{},{}
 5097,Cone_Hat_,Holiday Hat,4,0,,400,,0,,0,0xFFFFFFFF,7,2,256,,0,1,144,{},{},{}
 5097,Cone_Hat_,Holiday Hat,4,0,,400,,0,,0,0xFFFFFFFF,7,2,256,,0,1,144,{},{},{}
 5098,Tiger_Mask,Tiger Mask,4,20,,400,,2,,0,0xFFFFFFFF,7,2,768,,50,0,181,{ bonus bStr,3; bonus bMaxHP,100; },{},{}
 5098,Tiger_Mask,Tiger Mask,4,20,,400,,2,,0,0xFFFFFFFF,7,2,768,,50,0,181,{ bonus bStr,3; bonus bMaxHP,100; },{},{}
-5099,Cat_Hat,Neko Mimi,4,20,,300,,1,,0,0xFFFFFFFF,7,2,256,,0,1,182,{ bonus bLuk,2; bonus bMdef,10; bonus2 bSubRace,RC_Brute,5; },{},{}
+5099,Cat_Hat,Neko Mimi,4,20,,300,,1,,0,0xFFFFFFFF,7,2,256,,0,1,182,{ bonus bLuk,2; bonus bMdef,10; bonus2 bSubRace,RC_Brute,5; bonus2 bSubRace,RC_Player_Doram,5; },{},{}
 5100,Sales_Signboard,Sales Banner,4,20,,800,,0,,0,0xFFFFFFFF,7,2,256,,75,1,183,{ bonus bStr,1; bonus bAgi,1; bonus bLuk,1; },{},{}
 5100,Sales_Signboard,Sales Banner,4,20,,800,,0,,0,0xFFFFFFFF,7,2,256,,75,1,183,{ bonus bStr,1; bonus bAgi,1; bonus bLuk,1; },{},{}
 5101,Takius_Blindfold,Takius's Blindfold,4,20,,100,,0,,0,0xFFFFFFFF,7,2,512,,0,0,184,{},{},{}
 5101,Takius_Blindfold,Takius's Blindfold,4,20,,100,,0,,0,0xFFFFFFFF,7,2,512,,0,0,184,{},{},{}
 5102,Round_Eyes,Blank Eyes,4,20,,100,,0,,0,0xFFFFFFFF,7,2,512,,0,0,185,{},{},{}
 5102,Round_Eyes,Blank Eyes,4,20,,100,,0,,0,0xFFFFFFFF,7,2,512,,0,0,185,{},{},{}
@@ -2301,7 +2301,7 @@
 5118,Ear_Of_Puppy,Puppy Headband,4,20,,100,,2,,0,0xFFFFFFFF,7,2,256,,0,1,199,{},{},{}
 5118,Ear_Of_Puppy,Puppy Headband,4,20,,100,,2,,0,0xFFFFFFFF,7,2,256,,0,1,199,{},{},{}
 5119,Super_Novice_Hat_,Super Novice Hat,4,8500,,400,,4,,1,0x00000001,7,2,256,,40,1,193,{ bonus bAllStats,1; },{},{}
 5119,Super_Novice_Hat_,Super Novice Hat,4,8500,,400,,4,,1,0x00000001,7,2,256,,40,1,193,{ bonus bAllStats,1; },{},{}
 5120,Fedora_,Bucket Hat,4,6000,,300,,3,,1,0xFFFFFFFF,7,2,256,,0,1,195,{},{},{}
 5120,Fedora_,Bucket Hat,4,6000,,300,,3,,1,0xFFFFFFFF,7,2,256,,0,1,195,{},{},{}
-5121,Zherlthsh_Mask,Zealotus Mask,4,20,,400,,3,,0,0xFFFFFFFE,7,2,768,,70,1,200,{ bonus2 bAddRace,RC_DemiHuman,5; bonus2 bAddRace,RC_Player,5; bonus2 bSubRace,RC_DemiHuman,5; bonus2 bSubRace,RC_Player,5; },{},{}
+5121,Zherlthsh_Mask,Zealotus Mask,4,20,,400,,3,,0,0xFFFFFFFE,7,2,768,,70,1,200,{ bonus2 bAddRace,RC_DemiHuman,5; bonus2 bAddRace,RC_Player_Human,5; bonus2 bSubRace,RC_DemiHuman,5; bonus2 bSubRace,RC_Player_Human,5; },{},{}
 5122,Magni_Cap,Magni's Cap,4,30000,,1000,,5,,0,0xFFFFFFFE,7,2,256,,65,1,250,{ bonus bStr,2; },{},{}
 5122,Magni_Cap,Magni's Cap,4,30000,,1000,,5,,0,0xFFFFFFFE,7,2,256,,65,1,250,{ bonus bStr,2; },{},{}
 5123,Ulle_Cap,Ulle's Cap,4,30000,,500,,3,,1,0xFFFFFFFE,7,2,256,,65,1,254,{ bonus bDex,2; bonus bAgi,1; },{},{}
 5123,Ulle_Cap,Ulle's Cap,4,30000,,500,,3,,1,0xFFFFFFFE,7,2,256,,65,1,254,{ bonus bDex,2; bonus bAgi,1; },{},{}
 5124,Fricca_Circlet,Fricca's Circlet,4,30000,,300,,3,,0,0xFFFFFFFE,7,2,256,,65,1,251,{ bonus bMdef,10; bonus bInt,2; bonus bMaxSP,50; },{},{}
 5124,Fricca_Circlet,Fricca's Circlet,4,30000,,300,,3,,0,0xFFFFFFFE,7,2,256,,65,1,251,{ bonus bMdef,10; bonus bInt,2; bonus bMaxSP,50; },{},{}
@@ -2309,20 +2309,20 @@
 5126,Morpheus's_Hood,Morpheus's Hood,4,30000,,200,,1,,0,0xFFFFFFFE,7,2,256,,33,1,256,{ bonus bInt,2; },{},{}
 5126,Morpheus's_Hood,Morpheus's Hood,4,30000,,200,,1,,0,0xFFFFFFFE,7,2,256,,33,1,256,{ bonus bInt,2; },{},{}
 5127,Morrigane's_Helm,Morrigane's Helm,4,30000,,500,,4,,0,0xFFFFFFFE,7,2,256,,61,1,257,{ bonus bLuk,2; bonus bBaseAtk,3; },{},{}
 5127,Morrigane's_Helm,Morrigane's Helm,4,30000,,500,,4,,0,0xFFFFFFFE,7,2,256,,61,1,257,{ bonus bLuk,2; bonus bBaseAtk,3; },{},{}
 5128,Goibne's_Helmet,Goibne's Helm,4,30000,,500,,5,,0,0xFFFFFFFE,7,2,256,,54,1,258,{ bonus bVit,3; bonus bMdef,3; },{},{}
 5128,Goibne's_Helmet,Goibne's Helm,4,30000,,500,,5,,0,0xFFFFFFFE,7,2,256,,54,1,258,{ bonus bVit,3; bonus bMdef,3; },{},{}
-5129,Bird_Nest,Bird Nest,4,20,,400,,1,,0,0xFFFFFFFF,7,2,256,,50,0,201,{ bonus bAgi,2; bonus2 bSubRace,RC_Brute,10; },{},{}
+5129,Bird_Nest,Bird Nest,4,20,,400,,1,,0,0xFFFFFFFF,7,2,256,,50,0,201,{ bonus bAgi,2; bonus2 bSubRace,RC_Brute,10; bonus2 bSubRace,RC_Player_Doram,10; },{},{}
 5130,Lion_Mask,Lion Mask,4,20,,700,,0,,0,0x00CFDF80,7,2,768,,75,1,202,{ bonus2 bAddEffWhenHit,Eff_Silence,500; bonus bMdef,1; },{},{}
 5130,Lion_Mask,Lion Mask,4,20,,700,,0,,0,0x00CFDF80,7,2,768,,75,1,202,{ bonus2 bAddEffWhenHit,Eff_Silence,500; bonus bMdef,1; },{},{}
 5131,Close_Helmet,Close Helmet,4,20,,1200,,8,,0,0x00004082,7,2,769,,75,1,203,{ bonus bVit,3; bonus bMaxHPrate,3; },{},{}
 5131,Close_Helmet,Close Helmet,4,20,,1200,,8,,0,0x00004082,7,2,769,,75,1,203,{ bonus bVit,3; bonus bMaxHPrate,3; },{},{}
-5132,Angeling_Hat,Angeling Hat,4,20,,700,,2,,0,0xFFFFFFFF,7,2,256,,0,0,204,{ bonus2 bSubRace,RC_DemiHuman,10; bonus2 bSubRace,RC_Player,10; },{},{}
+5132,Angeling_Hat,Angeling Hat,4,20,,700,,2,,0,0xFFFFFFFF,7,2,256,,0,0,204,{ bonus2 bSubRace,RC_DemiHuman,10; bonus2 bSubRace,RC_Player_Human,10; },{},{}
 5133,Sheep_Hat,Sheep Hat,4,20,,150,,1,,0,0x00008110,7,2,256,,0,0,205,{ bonus bShortWeaponDamageReturn,5; },{},{}
 5133,Sheep_Hat,Sheep Hat,4,20,,150,,1,,0,0x00008110,7,2,256,,0,0,205,{ bonus bShortWeaponDamageReturn,5; },{},{}
 5134,Pumpkin_Hat,Pumpkin-Head,4,20,,200,,2,,0,0xFFFFFFFF,7,2,256,,0,1,206,{ bonus2 bSubRace,RC_Demon,5; },{},{}
 5134,Pumpkin_Hat,Pumpkin-Head,4,20,,200,,2,,0,0xFFFFFFFF,7,2,256,,0,1,206,{ bonus2 bSubRace,RC_Demon,5; },{},{}
 5135,Cyclops_Visor,Cyclop's Eye,4,0,,200,,0,,0,0xFFFFFFFE,7,2,512,,75,0,207,{ bonus bMaxSP,50; },{},{}
 5135,Cyclops_Visor,Cyclop's Eye,4,0,,200,,0,,0,0xFFFFFFFE,7,2,512,,75,0,207,{ bonus bMaxSP,50; },{},{}
 5136,Santa's_Hat_,Antonio's Santa Hat,4,20,,100,,3,,0,0xFFFFFFFF,7,2,256,,0,1,20,{},{},{}
 5136,Santa's_Hat_,Antonio's Santa Hat,4,20,,100,,3,,0,0xFFFFFFFF,7,2,256,,0,1,20,{},{},{}
-5137,Alice_Doll,Alice Doll,4,20,,500,,0,,1,0xFFFFFFFE,7,2,256,,30,0,208,{ bonus bStr,1; bonus2 bAddRace,RC_DemiHuman,10; bonus2 bAddRace,RC_Player,10; bonus2 bAddEff2,Eff_Sleep,10; },{},{}
+5137,Alice_Doll,Alice Doll,4,20,,500,,0,,1,0xFFFFFFFE,7,2,256,,30,0,208,{ bonus bStr,1; bonus2 bAddRace,RC_DemiHuman,10; bonus2 bAddRace,RC_Player_Human,10; bonus2 bAddEff2,Eff_Sleep,10; },{},{}
 5138,Magic_Eyes,Magic Eyes,4,20,,300,,1,,0,0x00810204,7,2,256,,30,1,209,{ bonus bMdef,5; bonus bCastrate,-10; bonus bUseSPrate,20; },{},{}
 5138,Magic_Eyes,Magic Eyes,4,20,,300,,1,,0,0x00810204,7,2,256,,30,1,209,{ bonus bMdef,5; bonus bCastrate,-10; bonus bUseSPrate,20; },{},{}
 5139,Hibiscus,Hibiscus,4,20,,200,,0,,0,0xFFFFFFFF,7,2,256,,10,0,210,{ bonus bDex,1; bonus bInt,1; bonus bMdef,5; },{},{}
 5139,Hibiscus,Hibiscus,4,20,,200,,0,,0,0xFFFFFFFF,7,2,256,,10,0,210,{ bonus bDex,1; bonus bInt,1; bonus bMdef,5; },{},{}
 5140,Charming_Ribbon,Charming Ribbon,4,20,,400,,1,,1,0xFFFFFFFF,7,2,256,,10,1,211,{ bonus2 bSubRace,RC_Undead,5; bonus2 bSubRace,RC_Demon,5; },{},{}
 5140,Charming_Ribbon,Charming Ribbon,4,20,,400,,1,,1,0xFFFFFFFF,7,2,256,,10,1,211,{ bonus2 bSubRace,RC_Undead,5; bonus2 bSubRace,RC_Demon,5; },{},{}
 5141,Marionette_Doll,Marionette Doll,4,20,,400,,0,,1,0xFFFFFFFE,7,2,256,,30,1,212,{ bonus bStr,1; },{},{}
 5141,Marionette_Doll,Marionette Doll,4,20,,400,,0,,1,0xFFFFFFFE,7,2,256,,30,1,212,{ bonus bStr,1; },{},{}
-5142,Crescent_Helm,Crescent Helm,4,20,,3000,,8,,0,0x000444A2,7,2,768,,50,1,213,{ bonus bVit,1; bonus2 bSubRace,RC_DemiHuman,5; bonus2 bSubRace,RC_Player,5; },{},{}
+5142,Crescent_Helm,Crescent Helm,4,20,,3000,,8,,0,0x000444A2,7,2,768,,50,1,213,{ bonus bVit,1; bonus2 bSubRace,RC_DemiHuman,5; bonus2 bSubRace,RC_Player_Human,5; },{},{}
 5143,Kabuki_Mask,Kabuki Mask,4,20,,1000,,5,,1,0xFFFFFFFE,7,1,769,,30,1,214,{ bonus2 bResEff,Eff_Silence,3000; },{},{}
 5143,Kabuki_Mask,Kabuki Mask,4,20,,1000,,5,,1,0xFFFFFFFE,7,1,769,,30,1,214,{ bonus2 bResEff,Eff_Silence,3000; },{},{}
 5144,Gambler_Hat,Gambler Hat,4,20,,200,,2,,0,0xFFFFFFFF,7,2,256,,0,1,16,{ bonus bLuk,5; },{},{}
 5144,Gambler_Hat,Gambler Hat,4,20,,200,,2,,0,0xFFFFFFFF,7,2,256,,0,1,16,{ bonus bLuk,5; },{},{}
 5145,Carnival_Joker_Jester,Carnival Joker Jester,4,10,,100,,0,,0,0xFFFFFFFF,7,2,256,,0,1,89,{},{},{}
 5145,Carnival_Joker_Jester,Carnival Joker Jester,4,10,,100,,0,,0,0xFFFFFFFF,7,2,256,,0,1,89,{},{},{}
@@ -2350,9 +2350,9 @@
 5167,Munak_Turban_,Munak Hat,4,20,,300,,5,,1,0xFFFFFFFF,7,2,769,,0,0,51,{ bonus2 bSubRace,RC_Undead,10; },{},{}
 5167,Munak_Turban_,Munak Hat,4,20,,300,,5,,1,0xFFFFFFFF,7,2,769,,0,0,51,{ bonus2 bSubRace,RC_Undead,10; },{},{}
 5168,Bongun_Hat_,Bongun Hat,4,20,,300,,5,,1,0xFFFFFFFF,7,2,769,,0,0,139,{},{},{}
 5168,Bongun_Hat_,Bongun Hat,4,20,,300,,5,,1,0xFFFFFFFF,7,2,769,,0,0,139,{},{},{}
 5169,Bride_Mask,Bride Mask,4,30000,,500,,4,,1,0xFFFFFFFF,7,2,768,,40,1,223,{ if(BaseClass==Job_Taekwon){ bonus bLuk,2; bonus bCritical,5; } },{},{}
 5169,Bride_Mask,Bride Mask,4,30000,,500,,4,,1,0xFFFFFFFF,7,2,768,,40,1,223,{ if(BaseClass==Job_Taekwon){ bonus bLuk,2; bonus bCritical,5; } },{},{}
-5170,Feather_Beret,Feather Beret,4,30000,,600,,1,,0,0xFFFFFFFE,7,2,256,,0,1,224,{ bonus bMdef,1; bonus2 bSubRace,RC_DemiHuman,10; bonus2 bSubRace,RC_Player,10; },{},{}
+5170,Feather_Beret,Feather Beret,4,30000,,600,,1,,0,0xFFFFFFFE,7,2,256,,0,1,224,{ bonus bMdef,1; bonus2 bSubRace,RC_DemiHuman,10; bonus2 bSubRace,RC_Player_Human,10; },{},{}
 5171,Valkyrie_Helm,Valkyrie Helm,4,100000,,1000,,5,,1,0xFFFFFFFE,2,2,256,,0,1,225,{ bonus bMdef,5; },{},{}
 5171,Valkyrie_Helm,Valkyrie Helm,4,100000,,1000,,5,,1,0xFFFFFFFE,2,2,256,,0,1,225,{ bonus bMdef,5; },{},{}
-5172,Beret,Beret,4,30000,,700,,0,,0,0xFFFFFFFF,7,2,256,,0,0,226,{ bonus2 bSubRace,RC_DemiHuman,10; bonus2 bSubRace,RC_Player,10; },{},{}
+5172,Beret,Beret,4,30000,,700,,0,,0,0xFFFFFFFF,7,2,256,,0,0,226,{ bonus2 bSubRace,RC_DemiHuman,10; bonus2 bSubRace,RC_Player_Human,10; },{},{}
 5173,Satto_Hat,Magistrate Hat,4,30000,,400,,3,,1,0xFFFFFFFF,7,2,256,,60,1,227,{ if(BaseClass==Job_Taekwon){ bonus bAgi,1; bonus bHPrecovRate,3; } },{},{}
 5173,Satto_Hat,Magistrate Hat,4,30000,,400,,3,,1,0xFFFFFFFF,7,2,256,,60,1,227,{ if(BaseClass==Job_Taekwon){ bonus bAgi,1; bonus bHPrecovRate,3; } },{},{}
 5174,Ayam,Ayam,4,30000,,400,,3,,1,0xFFFFFFFF,7,2,256,,60,1,228,{ if(BaseClass==Job_Taekwon){ bonus bInt,1; bonus bSPrecovRate,3; } },{},{}
 5174,Ayam,Ayam,4,30000,,400,,3,,1,0xFFFFFFFF,7,2,256,,60,1,228,{ if(BaseClass==Job_Taekwon){ bonus bInt,1; bonus bSPrecovRate,3; } },{},{}
 5175,Censor_Bar,Censor Bar,4,30000,,100,,0,,0,0xFFFFFFFF,7,2,512,,0,0,229,{ bonus2 bResEff,Eff_Curse,500; bonus bMdef,1; bonus bHit,-5; },{},{}
 5175,Censor_Bar,Censor Bar,4,30000,,100,,0,,0,0xFFFFFFFF,7,2,512,,0,0,229,{ bonus2 bResEff,Eff_Curse,500; bonus bMdef,1; bonus bHit,-5; },{},{}
@@ -2400,7 +2400,7 @@
 5217,Magestic_Goat_TW,Evolved Majestic Goat,4,20,,800,,5,,0,0x006444A2,7,2,256,,0,1,41,{ bonus bStr,2; },{},{}
 5217,Magestic_Goat_TW,Evolved Majestic Goat,4,20,,800,,5,,0,0x006444A2,7,2,256,,0,1,41,{ bonus bStr,2; },{},{}
 5218,Bunny_Band_,Evolved Bunny Band,4,20,,100,,2,,0,0xFFFFFFFF,7,2,256,,0,1,15,{ bonus bInt,2; },{},{}
 5218,Bunny_Band_,Evolved Bunny Band,4,20,,100,,2,,0,0xFFFFFFFF,7,2,256,,0,1,15,{ bonus bInt,2; },{},{}
 5219,Drooping_Kitty_,Evolved Drooping Cat,4,250000,,500,,1,,0,0xFFFFFFFE,7,2,256,,0,1,142,{ bonus bMdef,18; bonus bFlee,3; },{},{}
 5219,Drooping_Kitty_,Evolved Drooping Cat,4,250000,,500,,1,,0,0xFFFFFFFE,7,2,256,,0,1,142,{ bonus bMdef,18; bonus bFlee,3; },{},{}
-5220,Smoking_Pipe_,Evolved Pipe,4,20,,100,,0,,0,0xFFFFFFFE,7,2,1,,0,0,55,{ bonus bVit,1; bonus2 bSubRace,RC_Brute,5; },{},{}
+5220,Smoking_Pipe_,Evolved Pipe,4,20,,100,,0,,0,0xFFFFFFFE,7,2,1,,0,0,55,{ bonus bVit,1; bonus2 bSubRace,RC_Brute,5; bonus2 bSubRace,RC_Player_Doram,5; },{},{}
 5221,Pair_Of_Red_Ribbon_,Evolved Pair of Red Ribbon,4,20,,100,,1,,0,0xFFFFFFFF,7,0,512,,45,0,169,{ bonus bFlee,5; },{},{}
 5221,Pair_Of_Red_Ribbon_,Evolved Pair of Red Ribbon,4,20,,100,,1,,0,0xFFFFFFFF,7,0,512,,45,0,169,{ bonus bFlee,5; },{},{}
 5222,Fish_On_Head_,Evolved Blue Fish,4,20,,500,,2,,0,0xFFFFFFFF,7,2,256,,50,1,149,{ bonus bAgi,1; bonus bDex,1; },{},{}
 5222,Fish_On_Head_,Evolved Blue Fish,4,20,,500,,2,,0,0xFFFFFFFF,7,2,256,,50,1,149,{ bonus bAgi,1; bonus bDex,1; },{},{}
 5223,Big_Golden_Bell_,Evolved Big Golden Bell,4,20,,200,,2,,0,0xFFFFFFFE,7,2,768,,35,1,175,{ bonus bAgi,2; },{},{}
 5223,Big_Golden_Bell_,Evolved Big Golden Bell,4,20,,200,,2,,0,0xFFFFFFFE,7,2,768,,35,1,175,{ bonus bAgi,2; },{},{}
@@ -2446,7 +2446,7 @@
 5263,Ati_Atihan_Hat,Pagdayaw,4,20,,100,,1,,0,0xFFFFFFFE,7,2,769,,20,1,303,{ bonus2 bSubEle,Ele_Water,1; bonus2 bSubEle,Ele_Earth,1; bonus2 bSubEle,Ele_Fire,1; bonus2 bSubEle,Ele_Wind,1; bonus2 bAddEff,Eff_Curse,300; },{},{}
 5263,Ati_Atihan_Hat,Pagdayaw,4,20,,100,,1,,0,0xFFFFFFFE,7,2,769,,20,1,303,{ bonus2 bSubEle,Ele_Water,1; bonus2 bSubEle,Ele_Earth,1; bonus2 bSubEle,Ele_Fire,1; bonus2 bSubEle,Ele_Wind,1; bonus2 bAddEff,Eff_Curse,300; },{},{}
 5264,Aussie_Flag_Hat,Australian Flag Hat,4,20,,500,,4,,0,0xFFFFFFFF,7,2,256,,0,1,304,{ bonus bAllStats,2; },{},{}
 5264,Aussie_Flag_Hat,Australian Flag Hat,4,20,,500,,4,,0,0xFFFFFFFF,7,2,256,,0,1,304,{ bonus bAllStats,2; },{},{}
 5265,Apple_Of_Archer_C,Apple of Archer,4,1,,0,,7,,0,0xFFFFFFFE,7,2,256,,1,0,72,{ bonus bDex,4; },{},{}
 5265,Apple_Of_Archer_C,Apple of Archer,4,1,,0,,7,,0,0xFFFFFFFE,7,2,256,,1,0,72,{ bonus bDex,4; },{},{}
-5266,Bunny_Band_C,Bunny Band,4,1,,0,,9,,0,0xFFFFFFFF,7,2,256,,1,0,15,{ bonus bMdef,5; bonus2 bSubRace,RC_DemiHuman,10; bonus2 bSubRace,RC_Player,10; },{},{}
+5266,Bunny_Band_C,Bunny Band,4,1,,0,,9,,0,0xFFFFFFFF,7,2,256,,1,0,15,{ bonus bMdef,5; bonus2 bSubRace,RC_DemiHuman,10; bonus2 bSubRace,RC_Player_Human,10; },{},{}
 5267,Sahkkat_C,Sakkat,4,1,,0,,10,,0,0xFFFFFFFF,7,2,256,,0,0,67,{ bonus bAgi,3; },{},{}
 5267,Sahkkat_C,Sakkat,4,1,,0,,10,,0,0xFFFFFFFF,7,2,256,,0,0,67,{ bonus bAgi,3; },{},{}
 5268,Lord_Circlet_C,Grand Circlet,4,1,,0,,10,,0,0xFFFFFFFE,7,2,256,,1,0,93,{ bonus bStr,3; bonus bInt,3; bonus bLuk,3; bonus bMdef,4; },{},{}
 5268,Lord_Circlet_C,Grand Circlet,4,1,,0,,10,,0,0xFFFFFFFE,7,2,256,,1,0,93,{ bonus bStr,3; bonus bInt,3; bonus bLuk,3; bonus bMdef,4; },{},{}
 5269,Flying_Angel_,Flapping Angel Wing,4,20,,300,,1,,0,0xFFFFFFFF,7,2,256,,10,1,264,{ bonus bInt,1; bonus bAgi,1; bonus bAspdRate,3; bonus bSpeedRate,25; },{},{}
 5269,Flying_Angel_,Flapping Angel Wing,4,20,,300,,1,,0,0xFFFFFFFF,7,2,256,,10,1,264,{ bonus bInt,1; bonus bAgi,1; bonus bAspdRate,3; bonus bSpeedRate,25; },{},{}
@@ -2463,7 +2463,7 @@
 5280,Magestic_Goat_C,Baphomet Horns,4,2,,0,,5,,0,0xFFFFFFFF,7,2,256,,0,0,41,{ bonus bStr,1; },{},{}
 5280,Magestic_Goat_C,Baphomet Horns,4,2,,0,,5,,0,0xFFFFFFFF,7,2,256,,0,0,41,{ bonus bStr,1; },{},{}
 5281,Deviruchi_Cap_C,Refined Deviruchi Hat,4,2,,0,,2,,0,0xFFFFFFFE,7,2,256,,0,0,123,{ bonus bStr,1; bonus bInt,1; },{},{}
 5281,Deviruchi_Cap_C,Refined Deviruchi Hat,4,2,,0,,2,,0,0xFFFFFFFE,7,2,256,,0,0,123,{ bonus bStr,1; bonus bInt,1; },{},{}
 5282,euRO_Baseball_Cap,Europe Baseball Cap,4,0,,200,,3,,1,0xFFFFFFFF,7,2,256,,0,1,216,{},{},{}
 5282,euRO_Baseball_Cap,Europe Baseball Cap,4,0,,200,,3,,1,0xFFFFFFFF,7,2,256,,0,1,216,{},{},{}
-5283,Chick_Hat,Chick Hat,4,20,,100,,1,,0,0xFFFFFFFF,7,2,256,,10,0,311,{ bonus bLuk,2; bonus bMaxHP,50; bonus bMaxSP,50; skill "TF_DOUBLE",2; bonus bDoubleRate,10; bonus2 bSubRace,RC_DemiHuman,3; bonus2 bSubRace,RC_Player,3; },{},{}
+5283,Chick_Hat,Chick Hat,4,20,,100,,1,,0,0xFFFFFFFF,7,2,256,,10,0,311,{ bonus bLuk,2; bonus bMaxHP,50; bonus bMaxSP,50; skill "TF_DOUBLE",2; bonus bDoubleRate,10; bonus2 bSubRace,RC_DemiHuman,3; bonus2 bSubRace,RC_Player_Human,3; },{},{}
 5284,Water_Lily_Crown,Water Lily Crown,4,20,,200,,0,,1,0xFFFFFFFF,7,2,256,,30,0,312,{ bonus bDex,1; bonus bAgi,1; bonus bHPrecovRate,5; bonus bSPrecovRate,3; },{},{}
 5284,Water_Lily_Crown,Water Lily Crown,4,20,,200,,0,,1,0xFFFFFFFF,7,2,256,,30,0,312,{ bonus bDex,1; bonus bAgi,1; bonus bHPrecovRate,5; bonus bSPrecovRate,3; },{},{}
 5285,Vane_Hairpin,Vane Hairpin,4,20,,300,,3,,1,0xFFFFFFFF,7,2,256,,30,0,313,{ bonus bAgi,2; },{},{}
 5285,Vane_Hairpin,Vane Hairpin,4,20,,300,,3,,1,0xFFFFFFFF,7,2,256,,30,0,313,{ bonus bAgi,2; },{},{}
 5286,Pecopeco_Hairband,Pecopeco Hairband,4,20,,0,,3,,0,0xFFFFFFFF,7,2,256,,70,0,314,{ bonus bSpeedRate,25; bonus bAspdRate,-10; bonus bCastrate,25; },{},{}
 5286,Pecopeco_Hairband,Pecopeco Hairband,4,20,,0,,3,,0,0xFFFFFFFF,7,2,256,,70,0,314,{ bonus bSpeedRate,25; bonus bAspdRate,-10; bonus bCastrate,25; },{},{}
@@ -2486,15 +2486,15 @@
 5303,Flower_Coronet,Flower Crown,4,20,,300,,1,,0,0xFFFFFFFF,7,2,256,,0,1,325,{ bonus bMdef,3; bonus bMaxHP,50; },{},{}
 5303,Flower_Coronet,Flower Crown,4,20,,300,,1,,0,0xFFFFFFFF,7,2,256,,0,1,325,{ bonus bMdef,3; bonus bMaxHP,50; },{},{}
 5304,Cap_Of_Blindness,Cap Of Blindness,4,20,,800,,4,,1,0xFFFFFFFF,7,2,769,,50,1,326,{ bonus2 bResEff,Eff_Curse,700; bonus2 bResEff,Eff_Blind,10000; },{},{}
 5304,Cap_Of_Blindness,Cap Of Blindness,4,20,,800,,4,,1,0xFFFFFFFF,7,2,769,,50,1,326,{ bonus2 bResEff,Eff_Curse,700; bonus2 bResEff,Eff_Blind,10000; },{},{}
 5305,Pirate_Dagger,Pirate Dagger,4,20,,100,,0,,0,0xFFFFFFFF,7,2,1,,0,0,327,{ bonus bBaseAtk,5; },{},{}
 5305,Pirate_Dagger,Pirate Dagger,4,20,,100,,0,,0,0xFFFFFFFF,7,2,1,,0,0,327,{ bonus bBaseAtk,5; },{},{}
-5306,Freyja_Crown,Freya's Crown,4,0,,500,,12,,0,0xFFFFFFFE,7,2,256,,0,0,328,{ bonus2 bSubRace,RC_DemiHuman,5; bonus2 bSubRace,RC_Player,5; },{},{}
+5306,Freyja_Crown,Freya's Crown,4,0,,500,,12,,0,0xFFFFFFFE,7,2,256,,0,0,328,{ bonus2 bSubRace,RC_DemiHuman,5; bonus2 bSubRace,RC_Player_Human,5; },{},{}
 5307,Carmen_Miranda's_Hat,Carmen Miranda's Hat,4,20,,400,,3,,0,0xFFFFFFFF,7,2,256,,0,1,329,{ bonus bMdef,3; bonus3 bAutoSpellWhenHit,"DC_WINKCHARM",1,50; },{},{}
 5307,Carmen_Miranda's_Hat,Carmen Miranda's Hat,4,20,,400,,3,,0,0xFFFFFFFF,7,2,256,,0,1,329,{ bonus bMdef,3; bonus3 bAutoSpellWhenHit,"DC_WINKCHARM",1,50; },{},{}
 5308,Brazilian_Flag_Hat,Brazil National Flag Hat,4,20,,300,,3,,1,0xFFFFFFFF,7,2,256,,0,1,330,{ bonus bSpeedAddRate,25; },{},{}
 5308,Brazilian_Flag_Hat,Brazil National Flag Hat,4,20,,300,,3,,1,0xFFFFFFFF,7,2,256,,0,1,330,{ bonus bSpeedAddRate,25; },{},{}
 5309,Mahican,Wool Mask,4,20,,200,,1,,0,0xFFFFFFFF,7,2,769,,0,1,331,{ skill "RG_GRAFFITI",1; },{},{}
 5309,Mahican,Wool Mask,4,20,,200,,1,,0,0xFFFFFFFF,7,2,769,,0,1,331,{ skill "RG_GRAFFITI",1; },{},{}
 5310,Bulb_Hairband,Shining Electric Bulb Hairband,4,20,,100,,3,,1,0xFFFFFFFF,7,2,256,,0,1,332,{ bonus2 bSubEle,Ele_Dark,10; skill "MG_SIGHT",1; },{},{ sc_end SC_SIGHT; }
 5310,Bulb_Hairband,Shining Electric Bulb Hairband,4,20,,100,,3,,1,0xFFFFFFFF,7,2,256,,0,1,332,{ bonus2 bSubEle,Ele_Dark,10; skill "MG_SIGHT",1; },{},{ sc_end SC_SIGHT; }
 5311,Large_Hibiscus,Large Hisbiscus,4,20,,100,,1,,1,0xFFFFFFFF,7,2,256,,0,1,333,{ bonus bMdef,15; },{},{}
 5311,Large_Hibiscus,Large Hisbiscus,4,20,,100,,1,,1,0xFFFFFFFF,7,2,256,,0,1,333,{ bonus bMdef,15; },{},{}
-5312,Ayothaya_Hat,Ayothaya King's Hat,4,20,,100,,5,,1,0x000654E2,7,2,256,,0,1,334,{ bonus bStr,1; bonus2 bAddRace,RC_DemiHuman,5; bonus2 bAddRace,RC_Player,5; },{},{}
+5312,Ayothaya_Hat,Ayothaya King's Hat,4,20,,100,,5,,1,0x000654E2,7,2,256,,0,1,334,{ bonus bStr,1; bonus2 bAddRace,RC_DemiHuman,5; bonus2 bAddRace,RC_Player_Human,5; },{},{}
 5313,Diadem,Diadem,4,20,,100,,3,,1,0xFFFFFFFF,7,2,768,,0,1,335,{ bonus bInt,1; bonus bMatkRate,3; bonus bCastrate,-3; },{},{}
 5313,Diadem,Diadem,4,20,,100,,3,,1,0xFFFFFFFF,7,2,768,,0,1,335,{ bonus bInt,1; bonus bMatkRate,3; bonus bCastrate,-3; },{},{}
-5314,Hockey_Mask,Hockey Mask,4,20,,100,,1,,0,0xFFFFFFFF,7,2,513,,50,0,336,{ bonus2 bAddRace,RC_DemiHuman,5; bonus2 bAddRace,RC_Player,5; },{},{}
+5314,Hockey_Mask,Hockey Mask,4,20,,100,,1,,0,0xFFFFFFFF,7,2,513,,50,0,336,{ bonus2 bAddRace,RC_DemiHuman,5; bonus2 bAddRace,RC_Player_Human,5; },{},{}
 5315,Observer,Observer,4,20,,100,,1,,0,0xFFFFFFFF,7,2,512,,35,0,337,{ skill "WZ_ESTIMATION",1; },{},{}
 5315,Observer,Observer,4,20,,100,,1,,0,0xFFFFFFFF,7,2,512,,35,0,337,{ skill "WZ_ESTIMATION",1; },{},{}
 5316,Umbrella_Hat,Umbrella Hat,4,20,,100,,2,,0,0xFFFFFFFF,7,2,256,,50,1,338,{ bonus2 bSubEle,Ele_Water,3; },{},{}
 5316,Umbrella_Hat,Umbrella Hat,4,20,,100,,2,,0,0xFFFFFFFF,7,2,256,,50,1,338,{ bonus2 bSubEle,Ele_Water,3; },{},{}
 5317,Fisherman_Hat,Fisherman's Hat,4,20,,100,,2,,0,0xFFFFFFFF,7,2,256,,50,1,339,{ bonus3 bAutoSpell,"WZ_WATERBALL",3,50; },{},{}
 5317,Fisherman_Hat,Fisherman's Hat,4,20,,100,,2,,0,0xFFFFFFFF,7,2,256,,50,1,339,{ bonus3 bAutoSpell,"WZ_WATERBALL",3,50; },{},{}
@@ -2506,7 +2506,7 @@
 5323,Misstrance_Crown,Misstrance Crown,4,20,,0,,10,,0,0xFFFFFFFF,7,2,256,,0,0,165,{ bonus bAllStats,2; },{},{}
 5323,Misstrance_Crown,Misstrance Crown,4,20,,0,,10,,0,0xFFFFFFFF,7,2,256,,0,0,165,{ bonus bAllStats,2; },{},{}
 5324,Little_Angel_Doll,Little Angel Doll,4,20,,300,,2,,0,0xFFFFFFFF,7,2,256,,10,1,344,{ bonus bDex,3; bonus4 bAutoSpellWhenHit,"CR_GRANDCROSS",3,30,0; },{},{}
 5324,Little_Angel_Doll,Little Angel Doll,4,20,,300,,2,,0,0xFFFFFFFF,7,2,256,,10,1,344,{ bonus bDex,3; bonus4 bAutoSpellWhenHit,"CR_GRANDCROSS",3,30,0; },{},{}
 5325,Robo_Eye,Robo Eye,4,20,,200,,2,,0,0xFFFFFFFF,7,2,512,,10,0,345,{ bonus2 bAddClass,Class_All,2; bonus bMatkRate,2; bonus bDex,1; },{},{}
 5325,Robo_Eye,Robo Eye,4,20,,200,,2,,0,0xFFFFFFFF,7,2,512,,10,0,345,{ bonus2 bAddClass,Class_All,2; bonus bMatkRate,2; bonus bDex,1; },{},{}
-5326,Masquerade_C,Masquerade C,4,1,,0,,1,,0,0xFFFFFFFF,7,2,512,,0,0,78,{ bonus2 bAddRace,RC_DemiHuman,7; bonus2 bAddRace,RC_Player,7; },{},{}
+5326,Masquerade_C,Masquerade C,4,1,,0,,1,,0,0xFFFFFFFF,7,2,512,,0,0,78,{ bonus2 bAddRace,RC_DemiHuman,7; bonus2 bAddRace,RC_Player_Human,7; },{},{}
 5327,Orc_Hero_Helm_C,Refined Helmet of Orc Hero,4,1,,0,,10,,0,0xFFFFFFFE,7,2,768,,0,0,178,{ bonus bStr,5; bonus bVit,3; },{},{}
 5327,Orc_Hero_Helm_C,Refined Helmet of Orc Hero,4,1,,0,,10,,0,0xFFFFFFFE,7,2,768,,0,0,178,{ bonus bStr,5; bonus bVit,3; },{},{}
 5328,Evil_Wing_Ears_C,Evil Wing Ears C,4,1,,0,,2,,0,0xFFFFFFFF,7,2,512,,0,0,152,{ bonus bStr,1; },{},{}
 5328,Evil_Wing_Ears_C,Evil Wing Ears C,4,1,,0,,2,,0,0xFFFFFFFF,7,2,512,,0,0,152,{ bonus bStr,1; },{},{}
 5329,Dark_Blindfold_C,Dark Blindfold C,4,1,,0,,1,,0,0xFFFFFFFF,7,2,512,,0,0,187,{ bonus2 bResEff,Eff_Blind,10000; bonus2 bResEff,Eff_Stun,500; },{},{}
 5329,Dark_Blindfold_C,Dark Blindfold C,4,1,,0,,1,,0,0xFFFFFFFF,7,2,512,,0,0,187,{ bonus2 bResEff,Eff_Blind,10000; bonus2 bResEff,Eff_Stun,500; },{},{}
@@ -2520,12 +2520,12 @@
 5337,Party_Recruiter_Hat,Party Recruiter Hat,4,0,,0,,2,,0,0xFFFFFFFF,7,2,256,,10,1,351,{},{},{}
 5337,Party_Recruiter_Hat,Party Recruiter Hat,4,0,,0,,2,,0,0xFFFFFFFF,7,2,256,,10,1,351,{},{},{}
 5338,Bf_Recruiter_Hat,Bf Recruiter Hat,4,0,,0,,2,,0,0xFFFFFFFF,7,2,256,,10,1,352,{},{},{}
 5338,Bf_Recruiter_Hat,Bf Recruiter Hat,4,0,,0,,2,,0,0xFFFFFFFF,7,2,256,,10,1,352,{},{},{}
 5339,Friend_Recruiter_Hat,Friend Recruiter Hat,4,0,,0,,2,,0,0xFFFFFFFF,7,2,256,,10,1,353,{},{},{}
 5339,Friend_Recruiter_Hat,Friend Recruiter Hat,4,0,,0,,2,,0,0xFFFFFFFF,7,2,256,,10,1,353,{},{},{}
-5340,Deprotai_Doll_Hat,Defolty Doll Hat,4,0,,500,,0,,1,0xFFFFFFFF,7,2,256,,60,0,354,{ bonus2 bSubRace,RC_DemiHuman,5; bonus2 bSubRace,RC_Player,5; bonus bStr,2; bonus3 bAutoSpellWhenHit,"AL_ANGELUS",10,20; },{},{}
-5341,Claris_Doll_Hat,Glaris Doll Hat,4,0,,500,,0,,1,0xFFFFFFFF,7,2,256,,60,0,355,{ bonus2 bSubRace,RC_DemiHuman,5; bonus2 bSubRace,RC_Player,5; bonus bInt,2; bonus bMagicHPGainValue,50; },{},{}
-5342,Sorin_Doll_Hat,Sorin Doll Hat,4,0,,500,,0,,1,0xFFFFFFFF,7,2,256,,60,0,356,{ bonus2 bSubRace,RC_DemiHuman,5; bonus2 bSubRace,RC_Player,5; bonus bDex,2; autobonus "{ bonus bBaseAtk,50; }",20,10000,0,"{ specialeffect2 EF_POTION_BERSERK; }"; },{},{}
-5343,Tayelin_Doll_Hat,Telling Doll Hat,4,0,,500,,0,,1,0xFFFFFFFF,7,2,256,,60,0,357,{ bonus2 bSubRace,RC_DemiHuman,5; bonus2 bSubRace,RC_Player,5; bonus bAgi,2; bonus2 bAddItemHealRate,504,10; bonus2 bAddItemHealRate,547,10; },{},{}
-5344,Binit_Doll_Hat,Bennit Doll Hat,4,0,,500,,0,,1,0xFFFFFFFF,7,2,256,,60,0,358,{ bonus2 bSubRace,RC_DemiHuman,5; bonus2 bSubRace,RC_Player,5; bonus bVit,2; autobonus "{ bonus bAspdRate,5; }",20,30000,0,"{ specialeffect2 EF_HASTEUP; }"; },{},{}
-5345,Debril_Doll_Hat,W Doll Hat,4,0,,500,,0,,1,0xFFFFFFFF,7,2,256,,60,0,359,{ bonus2 bSubRace,RC_DemiHuman,5; bonus2 bSubRace,RC_Player,5; bonus bLuk,2; bonus2 bAddRace,RC_Undead,5; bonus2 bMagicAddRace,RC_Undead,5; bonus2 bSubRace,RC_Undead,5; },{},{}
+5340,Deprotai_Doll_Hat,Defolty Doll Hat,4,0,,500,,0,,1,0xFFFFFFFF,7,2,256,,60,0,354,{ bonus2 bSubRace,RC_DemiHuman,5; bonus2 bSubRace,RC_Player_Human,5; bonus bStr,2; bonus3 bAutoSpellWhenHit,"AL_ANGELUS",10,20; },{},{}
+5341,Claris_Doll_Hat,Glaris Doll Hat,4,0,,500,,0,,1,0xFFFFFFFF,7,2,256,,60,0,355,{ bonus2 bSubRace,RC_DemiHuman,5; bonus2 bSubRace,RC_Player_Human,5; bonus bInt,2; bonus bMagicHPGainValue,50; },{},{}
+5342,Sorin_Doll_Hat,Sorin Doll Hat,4,0,,500,,0,,1,0xFFFFFFFF,7,2,256,,60,0,356,{ bonus2 bSubRace,RC_DemiHuman,5; bonus2 bSubRace,RC_Player_Human,5; bonus bDex,2; autobonus "{ bonus bBaseAtk,50; }",20,10000,0,"{ specialeffect2 EF_POTION_BERSERK; }"; },{},{}
+5343,Tayelin_Doll_Hat,Telling Doll Hat,4,0,,500,,0,,1,0xFFFFFFFF,7,2,256,,60,0,357,{ bonus2 bSubRace,RC_DemiHuman,5; bonus2 bSubRace,RC_Player_Human,5; bonus bAgi,2; bonus2 bAddItemHealRate,504,10; bonus2 bAddItemHealRate,547,10; },{},{}
+5344,Binit_Doll_Hat,Bennit Doll Hat,4,0,,500,,0,,1,0xFFFFFFFF,7,2,256,,60,0,358,{ bonus2 bSubRace,RC_DemiHuman,5; bonus2 bSubRace,RC_Player_Human,5; bonus bVit,2; autobonus "{ bonus bAspdRate,5; }",20,30000,0,"{ specialeffect2 EF_HASTEUP; }"; },{},{}
+5345,Debril_Doll_Hat,W Doll Hat,4,0,,500,,0,,1,0xFFFFFFFF,7,2,256,,60,0,359,{ bonus2 bSubRace,RC_DemiHuman,5; bonus2 bSubRace,RC_Player_Human,5; bonus bLuk,2; bonus2 bAddRace,RC_Undead,5; bonus2 bMagicAddRace,RC_Undead,5; bonus2 bSubRace,RC_Undead,5; },{},{}
 5346,Gf_Recruiter_Hat,Gf Recruiter Hat,4,0,,0,,2,,0,0xFFFFFFFF,7,2,256,,10,1,360,{},{},{}
 5346,Gf_Recruiter_Hat,Gf Recruiter Hat,4,0,,0,,2,,0,0xFFFFFFFF,7,2,256,,10,1,360,{},{},{}
 5347,Ph.D_Hat_,Ph.D Hat,4,20,,200,,3,,1,0xFFFFFFFE,7,2,256,,0,1,98,{},{},{}
 5347,Ph.D_Hat_,Ph.D Hat,4,20,,200,,3,,1,0xFFFFFFFE,7,2,256,,0,1,98,{},{},{}
 5348,Big_Sis'_Ribbon_,Big Ribbon,4,15000,,200,,2,,1,0xFFFFFFFE,7,2,256,,0,1,28,{ bonus bMdef,3; },{},{}
 5348,Big_Sis'_Ribbon_,Big Ribbon,4,15000,,200,,2,,1,0xFFFFFFFE,7,2,256,,0,1,28,{ bonus bMdef,3; },{},{}
@@ -2543,7 +2543,7 @@
 5360,Whikebain_Ears,Hyuke's Black Cat Ears,4,20,,200,,2,,0,0xFFFFFFFF,7,2,256,,45,1,368,{ bonus bFlee,10; bonus bCritical,3; bonus bCritAtkRate,10; bonus bDefRate,-50; bonus bDef2Rate,-50; },{},{}
 5360,Whikebain_Ears,Hyuke's Black Cat Ears,4,20,,200,,2,,0,0xFFFFFFFF,7,2,256,,45,1,368,{ bonus bFlee,10; bonus bCritical,3; bonus bCritAtkRate,10; bonus bDefRate,-50; bonus bDef2Rate,-50; },{},{}
 5361,Gang_Scarf,Gangster Scarf,4,20,,100,,0,,0,0xFFFFFFFF,7,2,1,,60,0,369,{ bonus bBaseAtk,5; if(BaseJob==Job_Rogue) skill "RG_GANGSTER",1; },{},{}
 5361,Gang_Scarf,Gangster Scarf,4,20,,100,,0,,0,0xFFFFFFFF,7,2,1,,60,0,369,{ bonus bBaseAtk,5; if(BaseJob==Job_Rogue) skill "RG_GANGSTER",1; },{},{}
 5362,Ninja_Scroll,Ninja Scroll,4,20,,200,,0,,0,0xFFFFFFFF,7,2,1,,60,0,370,{ bonus bMatkRate,1; },{},{}
 5362,Ninja_Scroll,Ninja Scroll,4,20,,200,,0,,0,0xFFFFFFFF,7,2,1,,60,0,370,{ bonus bMatkRate,1; },{},{}
-5363,Helm_Of_Abyss,Helm Of Abyss,4,20,,1000,,2,,1,0x000654E2,7,2,256,,70,1,371,{ bonus2 bSubRace,RC_DemiHuman,-10; bonus2 bSubRace,RC_Player,-10; bonus2 bSubClass,Class_Boss,10; },{},{}
+5363,Helm_Of_Abyss,Helm Of Abyss,4,20,,1000,,2,,1,0x000654E2,7,2,256,,70,1,371,{ bonus2 bSubRace,RC_DemiHuman,-10; bonus2 bSubRace,RC_Player_Human,-10; bonus2 bSubClass,Class_Boss,10; },{},{}
 5364,Dark_Snake_Lord_Hat,Evil Snake Lord Hat,4,20,,500,,2,,1,0xFFFFFFFF,7,2,256,,60,1,372,{ bonus bStr,1; bonus bInt,1; bonus bAgi,2; },{},{}
 5364,Dark_Snake_Lord_Hat,Evil Snake Lord Hat,4,20,,500,,2,,1,0xFFFFFFFF,7,2,256,,60,1,372,{ bonus bStr,1; bonus bInt,1; bonus bAgi,2; },{},{}
 5365,Fried_Egg,Magnolia Hat,4,20,,100,,3,,1,0xFFFFFFFF,7,2,256,,1,0,373,{ bonus2 bResEff,Eff_Stun,500; skill "HT_FLASHER",1; },{},{}
 5365,Fried_Egg,Magnolia Hat,4,20,,100,,3,,1,0xFFFFFFFF,7,2,256,,1,0,373,{ bonus2 bResEff,Eff_Stun,500; skill "HT_FLASHER",1; },{},{}
 5366,Hat_0f_King,Love Dad Bandana,4,20,,200,,3,,0,0xFFFFFFFF,7,2,256,,0,1,374,{ bonus bAllStats,5; },{},{}
 5366,Hat_0f_King,Love Dad Bandana,4,20,,200,,3,,0,0xFFFFFFFF,7,2,256,,0,1,374,{ bonus bAllStats,5; },{},{}
@@ -2554,16 +2554,16 @@
 5371,Hat_Of_Judge,Judge Hat,4,20,,300,,2,,0,0xFFFFFFFF,7,2,768,,0,1,377,{ bonus bLuk,1; bonus bMaxSP,30; },{},{}
 5371,Hat_Of_Judge,Judge Hat,4,20,,300,,2,,0,0xFFFFFFFF,7,2,768,,0,1,377,{ bonus bLuk,1; bonus bMaxSP,30; },{},{}
 5372,Drooping_White_Kitty,Koneko Hat,4,20,,500,,1,,0,0xFFFFFFFF,7,2,256,,0,1,378,{ bonus bInt,1; bonus bDelayRate,-3; bonus bMatkRate,3; bonus bMaxSPrate,3; bonus bMdef,3; },{},{}
 5372,Drooping_White_Kitty,Koneko Hat,4,20,,500,,1,,0,0xFFFFFFFF,7,2,256,,0,1,378,{ bonus bInt,1; bonus bDelayRate,-3; bonus bMatkRate,3; bonus bMaxSPrate,3; bonus bMdef,3; },{},{}
 5373,Darkness_Helm,Dark Randgris Helm,4,20,,300,,2,,1,0xFFFFFFFF,7,2,768,,0,1,379,{ bonus bDex,3; bonus bMdef,1; },{},{}
 5373,Darkness_Helm,Dark Randgris Helm,4,20,,300,,2,,1,0xFFFFFFFF,7,2,768,,0,1,379,{ bonus bDex,3; bonus bMdef,1; },{},{}
-5374,L_Magestic_Goat,Gigantic Majestic Goat,4,20,,800,,5,,0,0xFFFFFFFF,7,2,256,,0,1,380,{ bonus2 bAddRace,RC_DemiHuman,12; bonus2 bAddRace,RC_Player,12; bonus bBaseAtk,(JobLevel*2)/7; },{},{}
+5374,L_Magestic_Goat,Gigantic Majestic Goat,4,20,,800,,5,,0,0xFFFFFFFF,7,2,256,,0,1,380,{ bonus2 bAddRace,RC_DemiHuman,12; bonus2 bAddRace,RC_Player_Human,12; bonus bBaseAtk,(JobLevel*2)/7; },{},{}
 5375,L_Orc_Hero_Helm,Orc Hero Headdress,4,20,,900,,5,,1,0xFFFFFFFF,7,2,768,,0,1,381,{ bonus bStr,2; bonus3 bAutoSpellWhenHit,"BS_WEAPONPERFECT",3,10; },{},{}
 5375,L_Orc_Hero_Helm,Orc Hero Headdress,4,20,,900,,5,,1,0xFFFFFFFF,7,2,768,,0,1,381,{ bonus bStr,2; bonus3 bAutoSpellWhenHit,"BS_WEAPONPERFECT",3,10; },{},{}
 5376,Satanic_Chain_P,Flying Evil Wing,4,20,,100,,3,,1,0xFFFFFFFF,7,2,256,,0,1,382,{ bonus bMaxSP,120; bonus2 bAddEff2,Eff_Curse,300; },{},{}
 5376,Satanic_Chain_P,Flying Evil Wing,4,20,,100,,3,,1,0xFFFFFFFF,7,2,256,,0,1,382,{ bonus bMaxSP,120; bonus2 bAddEff2,Eff_Curse,300; },{},{}
-5377,Antique_Pipe,Gentleman's Pipe,4,20,,100,,0,,0,0xFFFFFFFF,7,2,1,,0,0,383,{ bonus2 bSubRace,RC_DemiHuman,2; bonus2 bSubRace,RC_Player,2; },{},{}
+5377,Antique_Pipe,Gentleman's Pipe,4,20,,100,,0,,0,0xFFFFFFFF,7,2,1,,0,0,383,{ bonus2 bSubRace,RC_DemiHuman,2; bonus2 bSubRace,RC_Player_Human,2; },{},{}
 5378,Rabbit_Ear_Hat,Bunny Top Hat,4,20,,300,,0,,0,0xFFFFFFFF,7,2,256,,0,1,384,{ bonus bAgi,3; bonus3 bAutoSpellWhenHit,"AL_INCAGI",5,10; },{},{}
 5378,Rabbit_Ear_Hat,Bunny Top Hat,4,20,,300,,0,,0,0xFFFFFFFF,7,2,256,,0,1,384,{ bonus bAgi,3; bonus3 bAutoSpellWhenHit,"AL_INCAGI",5,10; },{},{}
 5379,Balloon_Hat,Tam,4,0,,800,,3,,1,0xFFFFFFFF,7,2,256,,50,1,385,{ bonus bMdef,2; bonus bMatkRate,2+(getrefine()/2); },{},{}
 5379,Balloon_Hat,Tam,4,0,,800,,3,,1,0xFFFFFFFF,7,2,256,,50,1,385,{ bonus bMdef,2; bonus bMatkRate,2+(getrefine()/2); },{},{}
 5380,Fish_Head_Hat,Fish Head Hat,4,20,,400,,1,,0,0xFFFFFFFF,7,2,256,,0,1,386,{ bonus3 bAutoSpell,"SA_FROSTWEAPON",1,5; },{},{}
 5380,Fish_Head_Hat,Fish Head Hat,4,20,,400,,1,,0,0xFFFFFFFF,7,2,256,,0,1,386,{ bonus3 bAutoSpell,"SA_FROSTWEAPON",1,5; },{},{}
 5381,Santa_Poring_Hat,Santa Poring Hat,4,20,,100,,2,,1,0xFFFFFFFF,7,2,256,,0,0,387,{ bonus bMdef,2; bonus2 bAddEle,Ele_Dark,3; bonus2 bSubEle,Ele_Dark,3; },{},{}
 5381,Santa_Poring_Hat,Santa Poring Hat,4,20,,100,,2,,1,0xFFFFFFFF,7,2,256,,0,0,387,{ bonus bMdef,2; bonus2 bAddEle,Ele_Dark,3; bonus2 bSubEle,Ele_Dark,3; },{},{}
 5382,Bell_Ribbon,Bell Ribbon,4,20,,200,,3,,1,0xFFFFFFFF,7,2,256,,0,1,388,{ bonus bVit,1; skill "AL_ANGELUS",1; },{},{ sc_end SC_ANGELUS; }
 5382,Bell_Ribbon,Bell Ribbon,4,20,,200,,3,,1,0xFFFFFFFF,7,2,256,,0,1,388,{ bonus bVit,1; skill "AL_ANGELUS",1; },{},{ sc_end SC_ANGELUS; }
-5383,Hunting_Cap,Hunter's Cap,4,20,,250,,3,,1,0xFFFFFFFE,7,2,256,,50,1,389,{ bonus bLuk,1; bonus2 bAddRace,RC_Brute,10; bonus2 bAddRace,RC_DemiHuman,5; bonus2 bAddRace,RC_Player,5; },{},{}
+5383,Hunting_Cap,Hunter's Cap,4,20,,250,,3,,1,0xFFFFFFFE,7,2,256,,50,1,389,{ bonus bLuk,1; bonus2 bAddRace,RC_Brute,10; bonus2 bAddRace,RC_Player_Doram,10; bonus2 bAddRace,RC_DemiHuman,5; bonus2 bAddRace,RC_Player_Human,5; },{},{}
 5384,Santa_Hat_1,Twin Pompom By JB,4,20,,200,,1,,1,0xFFFFFFFF,7,2,256,,20,1,390,{ bonus bLuk,3; skill "WZ_ESTIMATION",1; bonus3 bAutoSpell,"AL_INCAGI",1,500; },{},{}
 5384,Santa_Hat_1,Twin Pompom By JB,4,20,,200,,1,,1,0xFFFFFFFF,7,2,256,,20,1,390,{ bonus bLuk,3; skill "WZ_ESTIMATION",1; bonus3 bAutoSpell,"AL_INCAGI",1,500; },{},{}
 5385,Yoyo_Hat,Yoyo Hat,4,20,,300,,1,,0,0xFFFFFFFF,7,2,256,,20,1,391,{ skill "TF_HIDING", 1; },{},{ sc_end SC_HIDING; }
 5385,Yoyo_Hat,Yoyo Hat,4,20,,300,,1,,0,0xFFFFFFFF,7,2,256,,20,1,391,{ skill "TF_HIDING", 1; },{},{ sc_end SC_HIDING; }
 5386,Ayam_,Ayam,4,0,,70,,7,,0,0xFFFFFFFF,7,2,256,,1,0,228,{ bonus bMdef,7; bonus bFlee,7; bonus2 bAddMonsterDropItem,12198,200; },{},{}
 5386,Ayam_,Ayam,4,0,,70,,7,,0,0xFFFFFFFF,7,2,256,,1,0,228,{ bonus bMdef,7; bonus bFlee,7; bonus2 bAddMonsterDropItem,12198,200; },{},{}
@@ -2590,7 +2590,7 @@
 5407,Academy_Graduating_Cap,Academy Completion Hat,4,0,,200,,2,,1,0xFFFFFFFF,7,2,256,,0,1,410,{ bonus bMaxSP,30; },{},{}
 5407,Academy_Graduating_Cap,Academy Completion Hat,4,0,,200,,2,,1,0xFFFFFFFF,7,2,256,,0,1,410,{ bonus bMaxSP,30; },{},{}
 5408,Old_Bandanna,Old Bandana,4,0,,0,,5,,0,0xFFFFFFFF,7,2,256,,0,0,6,{ bonus bInt,2; bonus bMaxSP,50; bonus bCastrate,10; },{},{}
 5408,Old_Bandanna,Old Bandana,4,0,,0,,5,,0,0xFFFFFFFF,7,2,256,,0,0,6,{ bonus bInt,2; bonus bMaxSP,50; bonus bCastrate,10; },{},{}
 5409,New_Cowboy_Hat,Purple Cowboy Hat,4,20,,500,,4,,1,0xFFFFFFFF,7,2,256,,0,1,411,{ bonus bInt,2; bonus bVit,2; bonus bMaxSP,50; },{},{}
 5409,New_Cowboy_Hat,Purple Cowboy Hat,4,20,,500,,4,,1,0xFFFFFFFF,7,2,256,,0,1,411,{ bonus bInt,2; bonus bVit,2; bonus bMaxSP,50; },{},{}
-5410,Bread_Bag2,Brown Paperbag Hat,4,20,,200,,6,,0,0xFFFFFFFF,7,2,769,,0,0,412,{ bonus bMaxHP,100; bonus2 bResEff, Eff_Stun, 400; bonus2 bSubRace,RC_DemiHuman,4; bonus2 bSubRace,RC_Player,4; },{},{}
+5410,Bread_Bag2,Brown Paperbag Hat,4,20,,200,,6,,0,0xFFFFFFFF,7,2,769,,0,0,412,{ bonus bMaxHP,100; bonus2 bResEff, Eff_Stun, 400; bonus2 bSubRace,RC_DemiHuman,4; bonus2 bSubRace,RC_Player_Human,4; },{},{}
 5411,White_Snake_Hat,White Snake Hat,4,20,,500,,2,,0,0xFFFFFFFF,7,2,256,,0,1,413,{ bonus bDex,2; },{},{}
 5411,White_Snake_Hat,White Snake Hat,4,20,,500,,2,,0,0xFFFFFFFF,7,2,256,,0,1,413,{ bonus bDex,2; },{},{}
 5412,Sweet_Candy,Sweet Candy,4,20,,100,,1,,0,0xFFFFFFFF,7,2,1,,0,0,414,{ bonus bUnbreakableHelm, 0; },{},{}
 5412,Sweet_Candy,Sweet Candy,4,20,,100,,1,,0,0xFFFFFFFF,7,2,1,,0,0,414,{ bonus bUnbreakableHelm, 0; },{},{}
 5413,Popcorn_Hat,Pop Corn Hat,4,20,,300,,2,,0,0xFFFFFFFF,7,2,256,,0,0,415,{ bonus2 bSubEle,Ele_Wind, 10; },{},{}
 5413,Popcorn_Hat,Pop Corn Hat,4,20,,300,,2,,0,0xFFFFFFFF,7,2,256,,0,0,415,{ bonus2 bSubEle,Ele_Wind, 10; },{},{}
@@ -2603,12 +2603,12 @@
 5420,Mask_Of_Ifrit,Mask Of Ifrit,4,,,0,,8,,0,0xFFFFFFFE,7,2,769,,70,0,421,{ bonus bStr,1; bonus bInt,1; bonus bMdef,5; bonus2 bSubEle,Ele_Fire,10; bonus2 bSubEle,Ele_Water,-10; skill "MG_SIGHT",1; bonus3 bAutoSpellWhenHit,"WZ_METEOR",3,50; bonus3 bAutoSpell,"MG_FIREBOLT",3,50; },{},{ sc_end SC_SIGHT; }
 5420,Mask_Of_Ifrit,Mask Of Ifrit,4,,,0,,8,,0,0xFFFFFFFE,7,2,769,,70,0,421,{ bonus bStr,1; bonus bInt,1; bonus bMdef,5; bonus2 bSubEle,Ele_Fire,10; bonus2 bSubEle,Ele_Water,-10; skill "MG_SIGHT",1; bonus3 bAutoSpellWhenHit,"WZ_METEOR",3,50; bonus3 bAutoSpell,"MG_FIREBOLT",3,50; },{},{ sc_end SC_SIGHT; }
 5421,Ifrit's_Ear,Ears Of Ifrit,4,20,,0,,0,,0,0xFFFFFFFE,7,2,512,,70,0,422,{ bonus bStr,1; bonus bMdef,3; bonus2 bSkillAtk,"MG_FIREBOLT",2; bonus2 bSkillAtk,"WZ_FIREPILLAR",2; bonus2 bSkillAtk,"WZ_METEOR",2; bonus2 bSkillAtk,"SM_BASH",2; bonus2 bSkillAtk,"SM_MAGNUM",2; bonus2 bSkillAtk,"KN_PIERCE",2; bonus2 bSubEle,Ele_Fire,5; bonus2 bSubEle,Ele_Water,-5; },{},{}
 5421,Ifrit's_Ear,Ears Of Ifrit,4,20,,0,,0,,0,0xFFFFFFFE,7,2,512,,70,0,422,{ bonus bStr,1; bonus bMdef,3; bonus2 bSkillAtk,"MG_FIREBOLT",2; bonus2 bSkillAtk,"WZ_FIREPILLAR",2; bonus2 bSkillAtk,"WZ_METEOR",2; bonus2 bSkillAtk,"SM_BASH",2; bonus2 bSkillAtk,"SM_MAGNUM",2; bonus2 bSkillAtk,"KN_PIERCE",2; bonus2 bSubEle,Ele_Fire,5; bonus2 bSubEle,Ele_Water,-5; },{},{}
 5422,Linguistic_Book_Cap,Linguistic Book Hat,4,20,,70,,0,,0,0xFFFFFFFF,7,2,256,,0,1,423,{ bonus bInt,1; bonus bMdef,2; },{},{}
 5422,Linguistic_Book_Cap,Linguistic Book Hat,4,20,,70,,0,,0,0xFFFFFFFF,7,2,256,,0,1,423,{ bonus bInt,1; bonus bMdef,2; },{},{}
-5423,Lovecap_China,I Love China,4,20,,250,,5,,0,0xFFFFFFFF,7,2,256,,0,0,424,{ bonus bDex,3; bonus2 bSubRace,RC_DemiHuman,10; bonus2 bSubRace,RC_Player,10; },{},{}
+5423,Lovecap_China,I Love China,4,20,,250,,5,,0,0xFFFFFFFF,7,2,256,,0,0,424,{ bonus bDex,3; bonus2 bSubRace,RC_DemiHuman,10; bonus2 bSubRace,RC_Player_Human,10; },{},{}
 5424,Fanta_Orange_Can,Fanta Orange Can Hat,4,20,,100,,2,,1,0xFFFFFFFF,7,2,256,,0,1,425,{},{},{}
 5424,Fanta_Orange_Can,Fanta Orange Can Hat,4,20,,100,,2,,1,0xFFFFFFFF,7,2,256,,0,1,425,{},{},{}
 5425,Fanta_Grape_Can,Fanta Grape Can Hat,4,20,,100,,2,,1,0xFFFFFFFF,7,2,256,,0,1,426,{},{},{}
 5425,Fanta_Grape_Can,Fanta Grape Can Hat,4,20,,100,,2,,1,0xFFFFFFFF,7,2,256,,0,1,426,{},{},{}
 5426,Karada_Meguri_Tea_Hat,Karada Meguricha Hat,4,20,,100,,2,,1,0xFFFFFFFF,7,2,256,,0,1,427,{ bonus bLuk,1; },{},{}
 5426,Karada_Meguri_Tea_Hat,Karada Meguricha Hat,4,20,,100,,2,,1,0xFFFFFFFF,7,2,256,,0,1,427,{ bonus bLuk,1; },{},{}
 5427,Royal_Milk_Tea_Hat,Black Tea Kochakaden Hat,4,20,,100,,2,,1,0xFFFFFFFF,7,2,256,,0,1,428,{ bonus bAgi,1; },{},{}
 5427,Royal_Milk_Tea_Hat,Black Tea Kochakaden Hat,4,20,,100,,2,,1,0xFFFFFFFF,7,2,256,,0,1,428,{ bonus bAgi,1; },{},{}
-5428,Bread_Bag1,RWC Anniversary Bread Envelope,4,,,100,,0,,0,0xFFFFFFFF,7,2,769,,0,1,429,{ bonus2 bSubRace,RC_DemiHuman,12; bonus2 bSubRace,RC_Player,12; },{},{}
+5428,Bread_Bag1,RWC Anniversary Bread Envelope,4,,,100,,0,,0,0xFFFFFFFF,7,2,769,,0,1,429,{ bonus2 bSubRace,RC_DemiHuman,12; bonus2 bSubRace,RC_Player_Human,12; },{},{}
 5429,Bogy_Cap,Bogy Cap,4,20,,100,,2,,1,0xFFFFFFFF,7,2,256,,0,1,430,{ bonus bHPrecovRate, 5; bonus bSPrecovRate, 5; },{},{}
 5429,Bogy_Cap,Bogy Cap,4,20,,100,,2,,1,0xFFFFFFFF,7,2,256,,0,1,430,{ bonus bHPrecovRate, 5; bonus bSPrecovRate, 5; },{},{}
 5430,Sacred_Torch_Coronet,Torch Cap,4,20,,0,,3,,0,0xFFFFFFFF,7,2,256,,0,0,431,{ bonus2 bSubEle,Ele_Fire,20; skill "MG_FIREBOLT",5; },{},{}
 5430,Sacred_Torch_Coronet,Torch Cap,4,20,,0,,3,,0,0xFFFFFFFF,7,2,256,,0,0,431,{ bonus2 bSubEle,Ele_Fire,20; skill "MG_FIREBOLT",5; },{},{}
 5431,Chicken_Hat,Chicken Hat,4,20,,1000,,0,,1,0xFFFFFFFF,7,2,256,,30,1,432,{ bonus3 bAutoSpell,"MC_LOUD",1,30; bonus bAspdRate,5; },{},{}
 5431,Chicken_Hat,Chicken Hat,4,20,,1000,,0,,1,0xFFFFFFFF,7,2,256,,30,1,432,{ bonus3 bAutoSpell,"MC_LOUD",1,30; bonus bAspdRate,5; },{},{}
@@ -2631,9 +2631,9 @@
 5448,Solo_Play_Box1,Soloplay Box1,4,,,300,,0,,1,0xFFFFFFFF,7,2,769,,0,1,449,{},{},{}
 5448,Solo_Play_Box1,Soloplay Box1,4,,,300,,0,,1,0xFFFFFFFF,7,2,769,,0,1,449,{},{},{}
 5449,Solo_Play_Box2,Soloplay Box2,4,,,300,,0,,1,0xFFFFFFFF,7,2,769,,0,1,450,{},{},{}
 5449,Solo_Play_Box2,Soloplay Box2,4,,,300,,0,,1,0xFFFFFFFF,7,2,769,,0,1,450,{},{},{}
 5450,Sun_Cap,Solar Hat,4,20,,1000,,0,,0,0xFFFFFFFE,7,2,256,,20,1,451,{},{},{}
 5450,Sun_Cap,Solar Hat,4,20,,1000,,0,,0,0xFFFFFFFE,7,2,256,,20,1,451,{},{},{}
-5451,Dragonhelm_Gold,RWC 2008 Dragon Helm Gold,4,20,,2500,,7,,1,0xFFFFFFFF,7,2,256,,1,0,452,{ bonus bAspdRate,10; bonus bAllStats,3; bonus2 bAddRace,RC_DemiHuman,5; bonus2 bAddRace,RC_Player,5; },{},{}
-5452,Dragonhelm_Silver,RWC 2008 Dragon Helm Silver,4,20,,2500,,5,,1,0xFFFFFFFF,7,2,256,,1,0,453,{ bonus bAspdRate,7; bonus bAllStats,2; bonus2 bAddRace,RC_DemiHuman,3; bonus2 bAddRace,RC_Player,3; },{},{}
-5453,Dragonhelm_Copper,RWC 2008 Dragon Helm Copper,4,20,,2500,,0,,1,0xFFFFFFFF,7,2,256,,1,0,454,{ bonus bAspdRate,5; bonus bAllStats,2; bonus2 bAddRace,RC_DemiHuman,1; bonus2 bAddRace,RC_Player,1; },{},{}
+5451,Dragonhelm_Gold,RWC 2008 Dragon Helm Gold,4,20,,2500,,7,,1,0xFFFFFFFF,7,2,256,,1,0,452,{ bonus bAspdRate,10; bonus bAllStats,3; bonus2 bAddRace,RC_DemiHuman,5; bonus2 bAddRace,RC_Player_Human,5; },{},{}
+5452,Dragonhelm_Silver,RWC 2008 Dragon Helm Silver,4,20,,2500,,5,,1,0xFFFFFFFF,7,2,256,,1,0,453,{ bonus bAspdRate,7; bonus bAllStats,2; bonus2 bAddRace,RC_DemiHuman,3; bonus2 bAddRace,RC_Player_Human,3; },{},{}
+5453,Dragonhelm_Copper,RWC 2008 Dragon Helm Copper,4,20,,2500,,0,,1,0xFFFFFFFF,7,2,256,,1,0,454,{ bonus bAspdRate,5; bonus bAllStats,2; bonus2 bAddRace,RC_DemiHuman,1; bonus2 bAddRace,RC_Player_Human,1; },{},{}
 5454,Dog_Cap_,Puppy Hat,4,20,,500,,3,,1,0xFFFFFFFF,7,2,256,,0,1,234,{ bonus bStr,1; bonus bInt,1; autobonus "{ bonus bCritical,100; }",10,3000,BF_WEAPON,"{ specialeffect2 EF_ENHANCE; }"; autobonus "{ bonus2 bIgnoreMdefClassRate,Class_Normal,100; bonus2 bIgnoreMdefClassRate,Class_Boss,100; }",10,3000,BF_MAGIC,"{ specialeffect2 EF_MAGICALATTHIT; }"; },{},{}
 5454,Dog_Cap_,Puppy Hat,4,20,,500,,3,,1,0xFFFFFFFF,7,2,256,,0,1,234,{ bonus bStr,1; bonus bInt,1; autobonus "{ bonus bCritical,100; }",10,3000,BF_WEAPON,"{ specialeffect2 EF_ENHANCE; }"; autobonus "{ bonus2 bIgnoreMdefClassRate,Class_Normal,100; bonus2 bIgnoreMdefClassRate,Class_Boss,100; }",10,3000,BF_MAGIC,"{ specialeffect2 EF_MAGICALATTHIT; }"; },{},{}
 5455,Geographer_Band_,Decorative Geographer,4,20,,500,,1,,1,0xFFFFFFFF,7,2,256,,0,1,238,{ bonus bInt,1; bonus3 bAutoSpell,"AL_HEAL",5,50; bonus3 bAutoSpellWhenHit,"AL_HEAL",5,30; },{},{}
 5455,Geographer_Band_,Decorative Geographer,4,20,,500,,1,,1,0xFFFFFFFF,7,2,256,,0,1,238,{ bonus bInt,1; bonus3 bAutoSpell,"AL_HEAL",5,50; bonus3 bAutoSpellWhenHit,"AL_HEAL",5,30; },{},{}
 5456,Vacation_Hat_,Summer Hat,4,20,,200,,0,,1,0xFFFFFFFF,7,2,256,,0,1,315,{ bonus bVit,5; bonus bHPrecovRate,20; bonus bSPrecovRate,15; },{},{}
 5456,Vacation_Hat_,Summer Hat,4,20,,200,,0,,1,0xFFFFFFFF,7,2,256,,0,1,315,{ bonus bVit,5; bonus bHPrecovRate,20; bonus bSPrecovRate,15; },{},{}
@@ -2642,7 +2642,7 @@
 5459,Drooping_Bunny_Chusuk,Drooping Bunny,4,0,,100,,1,,0,0xFFFFFFFF,7,2,256,,0,1,249,{ bonus bDex,1; bonus bFlee,2; },{},{}
 5459,Drooping_Bunny_Chusuk,Drooping Bunny,4,0,,100,,1,,0,0xFFFFFFFF,7,2,256,,0,1,249,{ bonus bDex,1; bonus bFlee,2; },{},{}
 5460,Adv_Dragon_Skull,Evolved Dragon Skull Hat,4,20,,1000,,7,,0,0xFFFFFFFF,7,2,256,,60,1,457,{ bonus bAllStats, 2; bonus bMaxHPrate, 3; },{},{}
 5460,Adv_Dragon_Skull,Evolved Dragon Skull Hat,4,20,,1000,,7,,0,0xFFFFFFFF,7,2,256,,60,1,457,{ bonus bAllStats, 2; bonus bMaxHPrate, 3; },{},{}
 5461,Adv_Whisper_Mask,Evolved Whisper Mask,4,20,,300,,1,,0,0xFFFFFFFF,7,2,769,,50,1,458,{ bonus bDex,3; bonus2 bSubEle,Ele_Ghost, 20; },{},{}
 5461,Adv_Whisper_Mask,Evolved Whisper Mask,4,20,,300,,1,,0,0xFFFFFFFF,7,2,769,,50,1,458,{ bonus bDex,3; bonus2 bSubEle,Ele_Ghost, 20; },{},{}
-5462,Spiked_Scarf,Spiked Scarf,4,20,,100,,1,,0,0xFFFFFFFF,7,2,1,,90,0,459,{ bonus bVit,1; bonus2 bAddRace,RC_DemiHuman,1; bonus2 bAddRace,RC_Player,1; bonus2 bSubRace,RC_DemiHuman,1; bonus2 bSubRace,RC_Player,1; },{},{}
+5462,Spiked_Scarf,Spiked Scarf,4,20,,100,,1,,0,0xFFFFFFFF,7,2,1,,90,0,459,{ bonus bVit,1; bonus2 bAddRace,RC_DemiHuman,1; bonus2 bAddRace,RC_Player_Human,1; bonus2 bSubRace,RC_DemiHuman,1; bonus2 bSubRace,RC_Player_Human,1; },{},{}
 5463,Rainbow_Scarf,Rainbow Scarf,4,20,,100,,1,,0,0xFFFFFFFF,7,2,1,,90,0,460,{ bonus bInt,1; bonus bMdef,2; bonus bMatkRate,1; },{},{}
 5463,Rainbow_Scarf,Rainbow Scarf,4,20,,100,,1,,0,0xFFFFFFFF,7,2,1,,90,0,460,{ bonus bInt,1; bonus bMdef,2; bonus bMatkRate,1; },{},{}
 5464,Zaha_Doll_Hat,Zaha Doll Hat,4,20,,0,,1,,0,0xFFFFFFFF,7,2,256,,0,0,461,{ bonus bInt,2; skill "PR_MAGNIFICAT", 3; },{},{}
 5464,Zaha_Doll_Hat,Zaha Doll Hat,4,20,,0,,1,,0,0xFFFFFFFF,7,2,256,,0,0,461,{ bonus bInt,2; skill "PR_MAGNIFICAT", 3; },{},{}
 //5465,Celestial_Hat,Hat Of Fortune,4,20,,500,,3,,1,0xFFFFFFFF,7,2,256,,40,1,462,{ bonus bLuk,2; bonus bMdef,5; if(getrefine()>4) bonus bLuk,getrefine()-4; },{},{}
 //5465,Celestial_Hat,Hat Of Fortune,4,20,,500,,3,,1,0xFFFFFFFF,7,2,256,,40,1,462,{ bonus bLuk,2; bonus bMdef,5; if(getrefine()>4) bonus bLuk,getrefine()-4; },{},{}
@@ -2663,16 +2663,16 @@
 5480,Bizofnil_Wing_Deco,Bijofnil Wings,4,20,,1000,,3,,0,0xFFFFFFFF,7,2,256,,30,1,477,{ bonus bAllStats,2; bonus3 bAutoSpell,"PR_IMPOSITIO",3,3; },{},{}
 5480,Bizofnil_Wing_Deco,Bijofnil Wings,4,20,,1000,,3,,0,0xFFFFFFFF,7,2,256,,30,1,477,{ bonus bAllStats,2; bonus3 bAutoSpell,"PR_IMPOSITIO",3,3; },{},{}
 5481,Hermose_Cap,Hermode Cap,4,20,,1000,,1,,1,0xFFFFFFFF,7,2,256,,1,1,478,{ bonus bAspdRate,10; bonus bBaseAtk,-20; bonus bMatkRate,-10; },{},{}
 5481,Hermose_Cap,Hermode Cap,4,20,,1000,,1,,1,0xFFFFFFFF,7,2,256,,1,1,478,{ bonus bAspdRate,10; bonus bBaseAtk,-20; bonus bMatkRate,-10; },{},{}
 5482,Dark_Knight_Mask,Dark Knight Mask,4,,,3000,,5,,0,0xFFFFFFFF,7,2,769,,80,1,479,{ bonus bStr,3; },{},{}
 5482,Dark_Knight_Mask,Dark Knight Mask,4,,,3000,,5,,0,0xFFFFFFFF,7,2,769,,80,1,479,{ bonus bStr,3; },{},{}
-5483,Odin_Mask,Odin Mask,4,20,,100,,1,,0,0xFFFFFFFF,7,2,513,,50,0,480,{ bonus bHit,-10; bonus2 bAddRace,RC_DemiHuman,6; bonus2 bAddRace,RC_Player,6; },{},{}
+5483,Odin_Mask,Odin Mask,4,20,,100,,1,,0,0xFFFFFFFF,7,2,513,,50,0,480,{ bonus bHit,-10; bonus2 bAddRace,RC_DemiHuman,6; bonus2 bAddRace,RC_Player_Human,6; },{},{}
 //5484,Taiwan_Flag_Hat,Holidays Hat,4,20,,500,,4,,0,0xFFFFFFFF,7,2,256,,0,0,482,{ bonus bAllStats,5; bonus2 bResEff,Eff_Stun,500; },{},{}
 //5484,Taiwan_Flag_Hat,Holidays Hat,4,20,,500,,4,,0,0xFFFFFFFF,7,2,256,,0,0,482,{ bonus bAllStats,5; bonus2 bResEff,Eff_Stun,500; },{},{}
-5485,Tiger_Face,Tiger Face,4,20,,1000,,3,,0,0xFFFFFFFF,7,2,769,,60,1,483,{ bonus2 bSubRace,RC_Brute,5; bonus2 bAddRace,RC_Brute,5; bonus2 bMagicAddRace,RC_Brute,5; },{},{}
+5485,Tiger_Face,Tiger Face,4,20,,1000,,3,,0,0xFFFFFFFF,7,2,769,,60,1,483,{ bonus2 bSubRace,RC_Brute,5; bonus2 bAddRace,RC_Brute,5; bonus2 bMagicAddRace,RC_Brute,5; bonus2 bSubRace,RC_Player_Doram,5; bonus2 bAddRace,RC_Player_Doram,5; bonus2 bMagicAddRace,RC_Player_Doram,5; },{},{}
 5486,J_Anniversary_Hat,Anniversary Hat,4,20,,300,,3,,0,0xFFFFFFFF,7,2,256,,0,1,395,{ bonus bAllStats, 2; },{},{}
 5486,J_Anniversary_Hat,Anniversary Hat,4,20,,300,,3,,0,0xFFFFFFFF,7,2,256,,0,1,395,{ bonus bAllStats, 2; },{},{}
 5487,J_Poringcake_Hat,Poring Cake Hat,4,20,,500,,1,,0,0xFFFFFFFF,7,2,256,,0,1,417,{ bonus bLuk,2; },{},{}
 5487,J_Poringcake_Hat,Poring Cake Hat,4,20,,500,,1,,0,0xFFFFFFFF,7,2,256,,0,1,417,{ bonus bLuk,2; },{},{}
 5488,J_Twin_Santahat,Twin Santa Hat,4,20,,100,,1,,0,0xFFFFFFFF,7,2,256,,0,1,390,{ bonus bLuk,1; bonus bMdef,1; },{},{}
 5488,J_Twin_Santahat,Twin Santa Hat,4,20,,100,,1,,0,0xFFFFFFFF,7,2,256,,0,1,390,{ bonus bLuk,1; bonus bMdef,1; },{},{}
 5489,Love_Daddy,Love Daddy Hat,4,20,,100,,0,,0,0xFFFFFFFF,7,2,256,,0,1,484,{ bonus bDex,2; },{},{}
 5489,Love_Daddy,Love Daddy Hat,4,20,,100,,0,,0,0xFFFFFFFF,7,2,256,,0,1,484,{ bonus bDex,2; },{},{}
 5490,Anubis_Helm,Anubis Helm,4,20,,0,,3,,0,0xFFFFFFFF,7,2,256,,70,0,485,{ bonus bMdef,5; bonus2 bSubClass,Class_Boss,10; bonus bHealpower2,10; bonus bAddItemHealRate,10; },{},{}
 5490,Anubis_Helm,Anubis Helm,4,20,,0,,3,,0,0xFFFFFFFF,7,2,256,,70,0,485,{ bonus bMdef,5; bonus2 bSubClass,Class_Boss,10; bonus bHealpower2,10; bonus bAddItemHealRate,10; },{},{}
 5491,Hat_Of_Outlaw,Bandit Hat,4,20,,800,,3,,1,0xFFFFFFFF,7,2,256,,0,1,486,{ bonus bStr,2; bonus2 bSubEle,Ele_Fire, 10; },{},{}
 5491,Hat_Of_Outlaw,Bandit Hat,4,20,,800,,3,,1,0xFFFFFFFF,7,2,256,,0,1,486,{ bonus bStr,2; bonus2 bSubEle,Ele_Fire, 10; },{},{}
-5492,Boy's_Cap_I,Student Cap,4,0,,0,,5,,0,0xFFFFFFFE,7,2,256,,0,0,102,{ bonus bMdef,3; bonus2 bAddRace,RC_DemiHuman,5; bonus2 bAddRace,RC_Player,5; },{},{}
+5492,Boy's_Cap_I,Student Cap,4,0,,0,,5,,0,0xFFFFFFFE,7,2,256,,0,0,102,{ bonus bMdef,3; bonus2 bAddRace,RC_DemiHuman,5; bonus2 bAddRace,RC_Player_Human,5; },{},{}
 5493,Ulle_Cap_I,Ulle's Cap,4,0,,0,,3,,0,0xFFFFFFFE,7,2,256,,0,0,254,{ bonus bDex,2; bonus bAgi,1; },{},{}
 5493,Ulle_Cap_I,Ulle's Cap,4,0,,0,,3,,0,0xFFFFFFFE,7,2,256,,0,0,254,{ bonus bDex,2; bonus bAgi,1; },{},{}
 5494,Spinx_Helm_I,Sphinx Hat,4,0,,0,,5,,0,0x00004082,7,2,257,,0,0,137,{ bonus bStr,5; },{},{}
 5494,Spinx_Helm_I,Sphinx Hat,4,0,,0,,5,,0,0x00004082,7,2,257,,0,0,137,{ bonus bStr,5; },{},{}
 5495,Power_Of_Thor,Power Of Thor,4,20,,100,,6,,1,0xFFFFFFFF,7,2,256,,75,1,493,{ bonus bInt,1; bonus bDex,1; bonus bMdef,3; bonus bFlee,5; },{},{}
 5495,Power_Of_Thor,Power Of Thor,4,20,,100,,6,,1,0xFFFFFFFF,7,2,256,,75,1,493,{ bonus bInt,1; bonus bDex,1; bonus bMdef,3; bonus bFlee,5; },{},{}
@@ -2698,7 +2698,7 @@
 5515,Pisces_Crown,Pisces Crown,4,20,,300,,6,,0,0xFFFFFFFF,7,2,256,,70,1,512,{ bonus bInt,2; bonus bMdef,5; bonus2 bSubEle,Ele_Water, 5; if(getrefine()>6) { bonus bDef, 1; bonus bMatkRate,2; } },{},{}
 5515,Pisces_Crown,Pisces Crown,4,20,,300,,6,,0,0xFFFFFFFF,7,2,256,,70,1,512,{ bonus bInt,2; bonus bMdef,5; bonus2 bSubEle,Ele_Water, 5; if(getrefine()>6) { bonus bDef, 1; bonus bMatkRate,2; } },{},{}
 5516,Hawk_Eyes01,hawk Eyes,4,10,,100,,0,,0,0x00000800,2,2,512,,60,0,23,{ bonus bDex,1; },{},{}
 5516,Hawk_Eyes01,hawk Eyes,4,10,,100,,0,,0,0x00000800,2,2,512,,60,0,23,{ bonus bDex,1; },{},{}
 5517,Hawk_Eyes02,Hawk Eyes,4,10,,100,,0,,0,0x00080808,7,2,512,,60,0,23,{ bonus bDex,1; },{},{}
 5517,Hawk_Eyes02,Hawk Eyes,4,10,,100,,0,,0,0x00080808,7,2,512,,60,0,23,{ bonus bDex,1; },{},{}
-5518,L_Magestic_Goat2,Gigantic Majestic Goat,4,20,,800,,5,,0,0xFFFFFFFF,7,2,256,,50,1,513,{ bonus2 bSubRace,RC_DemiHuman,12; bonus2 bSubRace,RC_Player,12; bonus bBaseAtk,(JobLevel*2)/7; },{},{}
+5518,L_Magestic_Goat2,Gigantic Majestic Goat,4,20,,800,,5,,0,0xFFFFFFFF,7,2,256,,50,1,513,{ bonus2 bSubRace,RC_DemiHuman,12; bonus2 bSubRace,RC_Player_Human,12; bonus bBaseAtk,(JobLevel*2)/7; },{},{}
 5519,Peacock_Feather,Peacock Feather,4,20,,800,,4,,1,0xFFFFFFFF,7,2,256,,1,1,514,{ bonus bInt,2; },{},{}
 5519,Peacock_Feather,Peacock Feather,4,20,,800,,4,,1,0xFFFFFFFF,7,2,256,,1,1,514,{ bonus bInt,2; },{},{}
 5520,Rabbit_Earplug,Rabbit Earplugs,4,,,400,,0,,1,0xFFFFFFFF,7,2,768,,1,1,515,{ bonus2 bAddClass,Class_All,4; bonus bMatkRate,4; },{},{}
 5520,Rabbit_Earplug,Rabbit Earplugs,4,,,400,,0,,1,0xFFFFFFFF,7,2,768,,1,1,515,{ bonus2 bAddClass,Class_All,4; bonus bMatkRate,4; },{},{}
 5521,Angry_Mouth_C,Angry Mouth,4,0,,0,,0,,0,0xFFFFFFFF,7,2,1,,0,0,194,{ bonus bDelayRate,-3; },{},{}
 5521,Angry_Mouth_C,Angry Mouth,4,0,,0,,0,,0,0xFFFFFFFF,7,2,1,,0,0,194,{ bonus bDelayRate,-3; },{},{}
@@ -2715,7 +2715,7 @@
 5532,Pirate_Dagger_J,Pirate Dagger,4,20,,100,,0,,0,0xFFFFFFFF,7,2,1,,0,1,327,{ bonus bShortWeaponDamageReturn,1; },{},{}
 5532,Pirate_Dagger_J,Pirate Dagger,4,20,,100,,0,,0,0xFFFFFFFF,7,2,1,,0,1,327,{ bonus bShortWeaponDamageReturn,1; },{},{}
 5533,Emperor_Wreath_J,Emperor Wreath,4,20,,800,,3,,1,0xFFFFFFFF,7,2,256,,80,1,261,{ bonus bAllStats,1; },{},{}
 5533,Emperor_Wreath_J,Emperor Wreath,4,20,,800,,3,,1,0xFFFFFFFF,7,2,256,,80,1,261,{ bonus bAllStats,1; },{},{}
 //5534,Fox_Hat_J,Fox Hat,4,20,,100,,1,,0,0xFFFFFFFF,7,2,513,,70,0,403,{ bonus bAgi,1; bonus bFlee2,2; },{},{}
 //5534,Fox_Hat_J,Fox Hat,4,20,,100,,1,,0,0xFFFFFFFF,7,2,513,,70,0,403,{ bonus bAgi,1; bonus bFlee2,2; },{},{}
-5535,Side_Cap,Side Cap,4,0,,500,,3,,0,0xFFFFFFFF,7,2,256,,0,1,529,{ bonus bVit,1; bonus bDex,1; bonus bMdef,3; bonus2 bSubRace,RC_DemiHuman,5; bonus2 bSubRace,RC_Player,5; bonus2 bAddRace,RC_DemiHuman,3; bonus2 bAddRace,RC_Player,3; },{},{}
+5535,Side_Cap,Side Cap,4,0,,500,,3,,0,0xFFFFFFFF,7,2,256,,0,1,529,{ bonus bVit,1; bonus bDex,1; bonus bMdef,3; bonus2 bSubRace,RC_DemiHuman,5; bonus2 bSubRace,RC_Player_Human,5; bonus2 bAddRace,RC_DemiHuman,3; bonus2 bAddRace,RC_Player_Human,3; },{},{}
 5536,Spare_Card,Spare Card,4,20,,10,,1,,0,0xFFFFFFFF,7,2,1,,1,0,526,{ bonus2 bAddMonsterDropItem,6187,1000; },{},{}
 5536,Spare_Card,Spare Card,4,20,,10,,1,,0,0xFFFFFFFF,7,2,1,,1,0,526,{ bonus2 bAddMonsterDropItem,6187,1000; },{},{}
 5537,Quati_Hat,Kwati Hat,4,20,,700,,2,,1,0xFFFFFFFF,7,2,256,,45,0,527,{ bonus bAgi,3; },{},{}
 5537,Quati_Hat,Kwati Hat,4,20,,700,,2,,1,0xFFFFFFFF,7,2,256,,45,0,527,{ bonus bAgi,3; },{},{}
 5538,Tucan_Hat,Tucan Hat,4,20,,600,,2,,1,0xFFFFFFFF,7,2,768,,45,0,528,{ bonus bDex,3; },{},{}
 5538,Tucan_Hat,Tucan Hat,4,20,,600,,2,,1,0xFFFFFFFF,7,2,768,,45,0,528,{ bonus bDex,3; },{},{}
@@ -2733,7 +2733,7 @@
 5550,Taurus_Crown,Taurus Crown,4,20,,300,,3,,0,0xFFFFFFFF,7,2,256,,70,1,536,{ bonus bDex,2; bonus bDelayRate,-2; bonus2 bSubEle,Ele_earth,5; if(getrefine()>6) { bonus bDex,1; bonus bMatkRate,1; } },{},{}
 5550,Taurus_Crown,Taurus Crown,4,20,,300,,3,,0,0xFFFFFFFF,7,2,256,,70,1,536,{ bonus bDex,2; bonus bDelayRate,-2; bonus2 bSubEle,Ele_earth,5; if(getrefine()>6) { bonus bDex,1; bonus bMatkRate,1; } },{},{}
 //5551,Holy_Egg_Hat,Holy Egg Hat,4,20,,0,,1,,0,0xFFFFFFFF,7,2,256,,0,1,537,{},{},{}
 //5551,Holy_Egg_Hat,Holy Egg Hat,4,20,,0,,1,,0,0xFFFFFFFF,7,2,256,,0,1,537,{},{},{}
 5552,Fest_Lord_Circlet,Festival Grand Circlet,4,0,,0,,8,,0,0xFFFFFFFF,7,2,256,,0,0,93,{ bonus bStr,3; bonus bInt,3; bonus bMdef,3; },{},{}
 5552,Fest_Lord_Circlet,Festival Grand Circlet,4,0,,0,,8,,0,0xFFFFFFFF,7,2,256,,0,0,93,{ bonus bStr,3; bonus bInt,3; bonus bMdef,3; },{},{}
-5553,Fest_Bunny_Band,Festival Bunny Band,4,0,,0,,7,,0,0xFFFFFFFF,7,2,256,,0,0,15,{ bonus bMdef,4; bonus2 bSubRace,RC_DemiHuman,9; bonus2 bSubRace,RC_Player,9; },{},{}
+5553,Fest_Bunny_Band,Festival Bunny Band,4,0,,0,,7,,0,0xFFFFFFFF,7,2,256,,0,0,15,{ bonus bMdef,4; bonus2 bSubRace,RC_DemiHuman,9; bonus2 bSubRace,RC_Player_Human,9; },{},{}
 5554,Octopus_Hat,Octopus Hat,4,20,,200,,3,,0,0xFFFFFFFF,7,2,256,,20,1,538,{ bonus3 bAutoSpell,"SM_PROVOKE",5,10; bonus bUnbreakableHelm; },{},{}
 5554,Octopus_Hat,Octopus Hat,4,20,,200,,3,,0,0xFFFFFFFF,7,2,256,,20,1,538,{ bonus3 bAutoSpell,"SM_PROVOKE",5,10; bonus bUnbreakableHelm; },{},{}
 5555,Leaf_Cat_Hat,Leaf Cat Hat,4,20,,100,,3,,0,0xFFFFFFFF,7,2,256,,0,1,539,{ bonus bAgi,1; bonus3 bAutoSpellWhenHit,"AL_HEAL",3,10; },{},{}
 5555,Leaf_Cat_Hat,Leaf Cat Hat,4,20,,100,,3,,0,0xFFFFFFFF,7,2,256,,0,1,539,{ bonus bAgi,1; bonus3 bAutoSpellWhenHit,"AL_HEAL",3,10; },{},{}
 5556,Fur_Seal_Hat,Seal Hat,4,20,,500,,3,,0,0xFFFFFFFF,7,2,769,,55,1,540,{ bonus bInt,1; bonus3 bAutoSpell,"WZ_FROSTNOVA",1,30; },{},{}
 5556,Fur_Seal_Hat,Seal Hat,4,20,,500,,3,,0,0xFFFFFFFF,7,2,769,,55,1,540,{ bonus bInt,1; bonus3 bAutoSpell,"WZ_FROSTNOVA",1,30; },{},{}
@@ -2745,8 +2745,8 @@
 5562,Good_Wedding_Veil_J,Luxurious Wedding Veil,4,0,,500,,0,,1,0xFFFFFFFF,7,2,768,,45,0,489,{ bonus bMdef,10; bonus bCastRate,-3; bonus bUseSPrate,-5; },{},{}
 5562,Good_Wedding_Veil_J,Luxurious Wedding Veil,4,0,,500,,0,,1,0xFFFFFFFF,7,2,768,,45,0,489,{ bonus bMdef,10; bonus bCastRate,-3; bonus bUseSPrate,-5; },{},{}
 //5563,Dolor_Hat,Dolor Hat,4,20,,100,,1,,1,0xFFFFFFFF,7,2,256,,0,0,547,{},{},{}
 //5563,Dolor_Hat,Dolor Hat,4,20,,100,,1,,1,0xFFFFFFFF,7,2,256,,0,0,547,{},{},{}
 5564,Crown_Of_Deceit,Crown of Deceit,4,20,,300,,3,,1,0xFFFFFFFF,7,2,768,,85,1,544,{ bonus bInt,4; bonus bCastRate,-10; },{},{}
 5564,Crown_Of_Deceit,Crown of Deceit,4,20,,300,,3,,1,0xFFFFFFFF,7,2,768,,85,1,544,{ bonus bInt,4; bonus bCastRate,-10; },{},{}
-5565,Dragon_Arhat_Mask,Dragon Arhat Mask,4,0,,0,,5,,0,0xFFFFFFFF,7,2,513,,1,0,545,{ bonus2 bAddRace,RC_DemiHuman,10; bonus2 bAddRace,RC_Player,10; },{},{}
-5566,Tiger_Arhat_Mask,Tiger Arhat Mask,4,0,,0,,1,,0,0xFFFFFFFF,7,2,513,,1,0,546,{ bonus2 bAddRace,RC_DemiHuman,2; bonus2 bAddRace,RC_Player,2; },{},{}
+5565,Dragon_Arhat_Mask,Dragon Arhat Mask,4,0,,0,,5,,0,0xFFFFFFFF,7,2,513,,1,0,545,{ bonus2 bAddRace,RC_DemiHuman,10; bonus2 bAddRace,RC_Player_Human,10; },{},{}
+5566,Tiger_Arhat_Mask,Tiger Arhat Mask,4,0,,0,,1,,0,0xFFFFFFFF,7,2,513,,1,0,546,{ bonus2 bAddRace,RC_DemiHuman,2; bonus2 bAddRace,RC_Player_Human,2; },{},{}
 5567,Bright_Fury,Bright Fury,4,20,,300,,1,,1,0xFFFFFFFF,7,2,256,,1,1,548,{ bonus bStr,1; bonus2 bAddClass,Class_All,2; bonus bAspdRate,2; },{},{}
 5567,Bright_Fury,Bright Fury,4,20,,300,,1,,1,0xFFFFFFFF,7,2,256,,1,1,548,{ bonus bStr,1; bonus2 bAddClass,Class_All,2; bonus bAspdRate,2; },{},{}
 5568,Rabbit_Bonnet,Rabbit Bonnet,4,20,,1000,,1,,1,0xFFFFFFFF,7,2,768,,0,1,549,{ bonus bInt,2; },{},{}
 5568,Rabbit_Bonnet,Rabbit Bonnet,4,20,,1000,,1,,1,0xFFFFFFFF,7,2,768,,0,1,549,{ bonus bInt,2; },{},{}
 5569,Gemini_Diadem,Gemini Diadem,4,20,,300,,4,,0,0xFFFFFFFF,7,2,256,,70,1,550,{ bonus bAgi,2; bonus bMatkRate,2; if(getrefine()>6) { bonus bMdef,7; bonus bMAtkRate,8; bonus2 bSubEle,Ele_Wind,5; } },{},{}
 5569,Gemini_Diadem,Gemini Diadem,4,20,,300,,4,,0,0xFFFFFFFF,7,2,256,,70,1,550,{ bonus bAgi,2; bonus bMatkRate,2; if(getrefine()>6) { bonus bMdef,7; bonus bMAtkRate,8; bonus2 bSubEle,Ele_Wind,5; } },{},{}
@@ -2979,8 +2979,8 @@
 5797,Cheer_Scarf2,Cheer Scarf2,4,0,,0,,0,,0,0xFFFFFFFF,7,2,1,,1,0,369,{},{},{}
 5797,Cheer_Scarf2,Cheer Scarf2,4,0,,0,,0,,0,0xFFFFFFFF,7,2,1,,1,0,369,{},{},{}
 5798,Cheer_Scarf3,Cheer Scarf3,4,0,,0,,0,,0,0xFFFFFFFF,7,2,1,,1,0,369,{},{},{}
 5798,Cheer_Scarf3,Cheer Scarf3,4,0,,0,,0,,0,0xFFFFFFFF,7,2,1,,1,0,369,{},{},{}
 5799,Cheer_Scarf4,Cheer Scarf4,4,0,,0,,0,,0,0xFFFFFFFF,7,2,1,,1,0,369,{},{},{}
 5799,Cheer_Scarf4,Cheer Scarf4,4,0,,0,,0,,0,0xFFFFFFFF,7,2,1,,1,0,369,{},{},{}
-5800,Blush_Of_Groom,Blush of Groom,4,20,,50,,0,,0,0xFFFFFFFF,7,2,512,,0,0,125,{ bonus2 bSubRace,RC_DemiHuman,3; bonus2 bSubRace,RC_Player,3; },{},{}
-5801,Ribbon_Of_Bride,Red Tailed Ribbon,4,20,,100,,5,,0,0xFFFFFFFF,7,2,256,,0,1,167,{ bonus bAllStats,2; bonus2 bSubRace,RC_DemiHuman,10; bonus2 bSubRace,RC_Player,10; if(getskilllv("AL_HEAL")==10) { bonus3 bAutoSpellWhenHit,"AL_HEAL",10,20; } else { bonus3 bAutoSpellWhenHit,"AL_HEAL",5,20; } },{},{}
+5800,Blush_Of_Groom,Blush of Groom,4,20,,50,,0,,0,0xFFFFFFFF,7,2,512,,0,0,125,{ bonus2 bSubRace,RC_DemiHuman,3; bonus2 bSubRace,RC_Player_Human,3; },{},{}
+5801,Ribbon_Of_Bride,Red Tailed Ribbon,4,20,,100,,5,,0,0xFFFFFFFF,7,2,256,,0,1,167,{ bonus bAllStats,2; bonus2 bSubRace,RC_DemiHuman,10; bonus2 bSubRace,RC_Player_Human,10; if(getskilllv("AL_HEAL")==10) { bonus3 bAutoSpellWhenHit,"AL_HEAL",10,20; } else { bonus3 bAutoSpellWhenHit,"AL_HEAL",5,20; } },{},{}
 5802,Upgrade_Elephant_Hat,Upgraded Elephant Hat,4,0,,500,,3,,1,0xFFFFFFFF,7,2,256,,0,1,215,{},{},{}
 5802,Upgrade_Elephant_Hat,Upgraded Elephant Hat,4,0,,500,,3,,1,0xFFFFFFFF,7,2,256,,0,1,215,{},{},{}
 5803,Flower_Love_Hat,Love Flower Hat,4,20,,100,,2,,0,0xFFFFFFFF,7,2,256,,0,1,5,{ bonus2 bAddMonsterDropItem,608,100; },{},{}
 5803,Flower_Love_Hat,Love Flower Hat,4,20,,100,,2,,0,0xFFFFFFFF,7,2,256,,0,1,5,{ bonus2 bAddMonsterDropItem,608,100; },{},{}
 5804,Pirate_Eyepatch,Pirate Eye Bandage,4,1000,,100,,0,,0,0xFFFFFFFF,7,2,512,,0,0,13,{},{},{}
 5804,Pirate_Eyepatch,Pirate Eye Bandage,4,1000,,100,,0,,0,0xFFFFFFFF,7,2,512,,0,0,13,{},{},{}
@@ -3001,7 +3001,7 @@
 5819,Carnival_Circlet,Carnival Circlet,4,0,,0,,6,,0,0xFFFFFFFF,7,2,256,,0,1,506,{ bonus bAllStats, 3; },{},{}
 5819,Carnival_Circlet,Carnival Circlet,4,0,,0,,6,,0,0xFFFFFFFF,7,2,256,,0,1,506,{ bonus bAllStats, 3; },{},{}
 //5820,Black_Elven_Ears,Black Elven Ears,4,10,,100,,2,,0,0xFFFFFFFF,7,2,512,,0,0,498,{},{},{}
 //5820,Black_Elven_Ears,Black Elven Ears,4,10,,100,,2,,0,0xFFFFFFFF,7,2,512,,0,0,498,{},{},{}
 5821,Gold_Tulip_Hairpin,Gold Tulip Hairpin,4,10,,100,,2,,0,0xFFFFFFFF,7,2,256,,0,1,499,{ bonus2 bExpAddClass,Class_All,5; },{},{}
 5821,Gold_Tulip_Hairpin,Gold Tulip Hairpin,4,10,,100,,2,,0,0xFFFFFFFF,7,2,256,,0,1,499,{ bonus2 bExpAddClass,Class_All,5; },{},{}
-5822,Love_Chick_Hat,Love Chick Hat,4,10000,,100,,4,,0,0xFFFFFFFF,7,2,256,,0,1,500,{ bonus bLuk,4; bonus bMaxHP,100; bonus bMaxSP,100; bonus2 bSubRace,RC_DemiHuman,7; bonus2 bSubRace,RC_Player,7; bonus2 bSubRace,RC_Undead,7; },{},{}
+5822,Love_Chick_Hat,Love Chick Hat,4,10000,,100,,4,,0,0xFFFFFFFF,7,2,256,,0,1,500,{ bonus bLuk,4; bonus bMaxHP,100; bonus bMaxSP,100; bonus2 bSubRace,RC_DemiHuman,7; bonus2 bSubRace,RC_Player_Human,7; bonus2 bSubRace,RC_Undead,7; },{},{}
 //5823,Love_Arrow,Love Arrow,4,5000,,100,,1,,0,0xFFFFFFFF,7,2,136,,0,0,0,{ bonus bDex,5; bonus bAgi,5; },{},{}
 //5823,Love_Arrow,Love Arrow,4,5000,,100,,1,,0,0xFFFFFFFF,7,2,136,,0,0,0,{ bonus bDex,5; bonus bAgi,5; },{},{}
 5824,Fools_Day_Hat,Fools Day Hat,4,20,,300,,6,,1,0xFFFFFFFF,7,2,256,,30,1,265,{},{},{}
 5824,Fools_Day_Hat,Fools Day Hat,4,20,,300,,6,,1,0xFFFFFFFF,7,2,256,,30,1,265,{},{},{}
 //5825,Badge_Of_Order_Grace,Badge Of Order Grace,4,0,,0,,1,,0,0xFFFFFFFF,7,2,136,,0,0,0,{ bonus bMdef,1; },{},{}
 //5825,Badge_Of_Order_Grace,Badge Of Order Grace,4,0,,0,,1,,0,0xFFFFFFFF,7,2,136,,0,0,0,{ bonus bMdef,1; },{},{}
@@ -5343,8 +5343,8 @@
 13009,Kamaitachi,Kamaitachi,5,48000,,900,125,,2,0,0x02000000,7,2,2,4,70,1,1,{ bonus bAtkEle,Ele_Wind; bonus bCritical,3; bonus bAspdRate,3; },{},{}
 13009,Kamaitachi,Kamaitachi,5,48000,,900,125,,2,0,0x02000000,7,2,2,4,70,1,1,{ bonus bAtkEle,Ele_Wind; bonus bCritical,3; bonus bAspdRate,3; },{},{}
 13010,Asura,Asura,5,3000,,600,50,,1,2,0x02000000,7,2,2,1,12,1,1,{ bonus bMatkRate,10; },{},{}
 13010,Asura,Asura,5,3000,,600,50,,1,2,0x02000000,7,2,2,1,12,1,1,{ bonus bMatkRate,10; },{},{}
 13011,Asura_,Asura,5,3000,,600,50,,1,3,0x02000000,7,2,2,1,12,1,1,{ bonus bMatkRate,10; },{},{}
 13011,Asura_,Asura,5,3000,,600,50,,1,3,0x02000000,7,2,2,1,12,1,1,{ bonus bMatkRate,10; },{},{}
-13012,Murasame,Murasame,5,20,,700,95,,1,1,0x02000000,7,2,2,2,24,1,1,{ bonus bAtkEle,Ele_Water; bonus2 bCriticalAddRace,RC_DemiHuman,10; bonus2 bCriticalAddRace,RC_Player,10; },{},{}
-13013,Murasame_,Murasame,5,20,,700,95,,1,2,0x02000000,7,2,2,2,24,1,1,{ bonus bAtkEle,Ele_Water; bonus2 bCriticalAddRace,RC_DemiHuman,10; bonus2 bCriticalAddRace,RC_Player,10; },{},{}
+13012,Murasame,Murasame,5,20,,700,95,,1,1,0x02000000,7,2,2,2,24,1,1,{ bonus bAtkEle,Ele_Water; bonus2 bCriticalAddRace,RC_DemiHuman,10; bonus2 bCriticalAddRace,RC_Player_Human,10; },{},{}
+13013,Murasame_,Murasame,5,20,,700,95,,1,2,0x02000000,7,2,2,2,24,1,1,{ bonus bAtkEle,Ele_Water; bonus2 bCriticalAddRace,RC_DemiHuman,10; bonus2 bCriticalAddRace,RC_Player_Human,10; },{},{}
 13014,Hakujin,Hakujin,5,20,,800,120,,1,0,0x02000000,7,2,2,3,42,1,1,{ bonus bInt,2; bonus3 bAutoSpell,"AL_HEAL",1,10; },{},{}
 13014,Hakujin,Hakujin,5,20,,800,120,,1,0,0x02000000,7,2,2,3,42,1,1,{ bonus bInt,2; bonus3 bAutoSpell,"AL_HEAL",1,10; },{},{}
 13015,Hakujin_,Hakujin,5,20,,800,120,,1,1,0x02000000,7,2,2,3,42,1,1,{ bonus bInt,2; bonus3 bAutoSpell,"AL_HEAL",1,10; },{},{}
 13015,Hakujin_,Hakujin,5,20,,800,120,,1,1,0x02000000,7,2,2,3,42,1,1,{ bonus bInt,2; bonus3 bAutoSpell,"AL_HEAL",1,10; },{},{}
 13016,Poison_Knife_,Poison Knife,5,20,,800,64,,1,2,0x028F5EEE,7,2,2,3,65,1,1,{ bonus bAtkEle,Ele_Poison; bonus2 bAddEff,Eff_Poison,3000; },{},{}
 13016,Poison_Knife_,Poison Knife,5,20,,800,64,,1,2,0x028F5EEE,7,2,2,3,65,1,1,{ bonus bAtkEle,Ele_Poison; bonus2 bAddEff,Eff_Poison,3000; },{},{}
@@ -5352,7 +5352,7 @@
 13018,Sucsamad_,Sucsamad,5,20,,800,140,,1,1,0x028F5EEE,7,2,2,4,36,1,1,{ bonus2 bAddEle,Ele_Earth,10; bonus2 bAddEle,Ele_Wind,10; bonus bUnbreakableWeapon; },{},{}
 13018,Sucsamad_,Sucsamad,5,20,,800,140,,1,1,0x028F5EEE,7,2,2,4,36,1,1,{ bonus2 bAddEle,Ele_Earth,10; bonus2 bAddEle,Ele_Wind,10; bonus bUnbreakableWeapon; },{},{}
 13019,Ginnungagap_,Ginnungagap,5,20,,700,148,,1,1,0x3E9F7EEF,7,2,2,4,70,1,1,{ bonus bAtkEle,Ele_Dark; bonus2 bAddEff,Eff_Blind,500; bonus2 bAddEff2,Eff_Blind,50; },{},{}
 13019,Ginnungagap_,Ginnungagap,5,20,,700,148,,1,1,0x3E9F7EEF,7,2,2,4,70,1,1,{ bonus bAtkEle,Ele_Dark; bonus2 bAddEff,Eff_Blind,500; bonus2 bAddEff2,Eff_Blind,50; },{},{}
 13020,Warrior_Balmung_,Warrior's Balmung,5,20,,1000,170,,1,0,0xFFFFFFFF,7,2,2,4,48,1,1,{ bonus bAllStats,5; },{},{}
 13020,Warrior_Balmung_,Warrior's Balmung,5,20,,1000,170,,1,0,0xFFFFFFFF,7,2,2,4,48,1,1,{ bonus bAllStats,5; },{},{}
-13021,Combat_Knife_C,Combat Knife,5,1,,0,129,,1,0,0x028F5EEE,7,2,2,4,1,0,1,{ bonus bIgnoreDefRace,RC_DemiHuman; bonus bIgnoreDefRace,RC_Player; bonus2 bSubRace,RC_DemiHuman,10; bonus2 bSubRace,RC_Player,10; bonus2 bSubRace,RC_Demon,-10; bonus bMaxSPrate,10; bonus bSPDrainValue,3; },{},{}
+13021,Combat_Knife_C,Combat Knife,5,1,,0,129,,1,0,0x028F5EEE,7,2,2,4,1,0,1,{ bonus bIgnoreDefRace,RC_DemiHuman; bonus bIgnoreDefRace,RC_Player_Human; bonus2 bSubRace,RC_DemiHuman,10; bonus2 bSubRace,RC_Player_Human,10; bonus2 bSubRace,RC_Demon,-10; bonus bMaxSPrate,10; bonus bSPDrainValue,3; },{},{}
 13022,Counter_Dagger_C,Dagger of Counter,5,1,,0,209,,1,0,0x00810204,7,2,2,4,1,0,1,{ bonus bCritical,90; },{},{}
 13022,Counter_Dagger_C,Dagger of Counter,5,1,,0,209,,1,0,0x00810204,7,2,2,4,1,0,1,{ bonus bCritical,90; },{},{}
 13023,Asura_C,Ashura,5,1,,0,120,,1,0,0x02000000,7,2,2,1,1,0,1,{ bonus bMatkRate,15; },{},{}
 13023,Asura_C,Ashura,5,1,,0,120,,1,0,0x02000000,7,2,2,1,1,0,1,{ bonus bMatkRate,15; },{},{}
 13024,Sword_Breaker_C,Refined Swordbreaker,5,2,,0,105,,1,0,0x028F5EEE,7,2,2,4,0,0,1,{ bonus bBreakWeaponRate,500; },{},{}
 13024,Sword_Breaker_C,Refined Swordbreaker,5,2,,0,105,,1,0,0x028F5EEE,7,2,2,4,0,0,1,{ bonus bBreakWeaponRate,500; },{},{}
@@ -5367,13 +5367,13 @@
 13033,Assasin_Dagger_,Assassin Dagger,5,20,,600,140,,1,1,0x00001000,7,2,2,4,36,1,1,{ bonus bMaxHPrate,20; bonus bMaxSPrate,15; bonus bAspdRate,2; bonus bAtkEle,Ele_Dark; },{},{}
 13033,Assasin_Dagger_,Assassin Dagger,5,20,,600,140,,1,1,0x00001000,7,2,2,4,36,1,1,{ bonus bMaxHPrate,20; bonus bMaxSPrate,15; bonus bAspdRate,2; bonus bAtkEle,Ele_Dark; },{},{}
 13034,Twilight_Desert,Desert Twilight,5,20,,600,130,,1,2,0x00001000,2,2,2,2,70,1,1,{},{},{}
 13034,Twilight_Desert,Desert Twilight,5,20,,600,130,,1,2,0x00001000,2,2,2,2,70,1,1,{},{},{}
 13035,Sandstorm,Sandstorm,5,20,,600,50,,1,4,0x00001000,2,2,2,2,70,1,1,{},{},{}
 13035,Sandstorm,Sandstorm,5,20,,600,50,,1,4,0x00001000,2,2,2,2,70,1,1,{},{},{}
-13036,BF_Dagger1,Brave Assassin's Damascus,5,20,,0,120,,1,0,0x3E9F7EEF,7,2,2,3,80,1,1,{ bonus bStr,1; bonus bAgi,1; bonus2 bAddRace,RC_DemiHuman,75; bonus2 bAddRace,RC_Player,75; bonus2 bIgnoreDefRaceRate,RC_DemiHuman,20; bonus2 bIgnoreDefRaceRate,RC_Player,20; bonus bUnbreakableWeapon; if(Class==Job_Ninja||Class==Job_Rogue||Class==Job_Stalker) bonus bMatkRate,15; },{},{}
-13037,BF_Dagger2,Valorous Assassin's Damascus,5,20,,0,120,,1,0,0x3E9F7EEF,7,2,2,3,80,1,1,{ bonus bStr,1; bonus bAgi,1; bonus2 bAddRace,RC_DemiHuman,75; bonus2 bAddRace,RC_Player,75; bonus bUnbreakableWeapon; autobonus "{ bonus bDefRatioAtkClass,Class_All; }",10,6000,BF_WEAPON,"{ specialeffect2 EF_HASTEUP; }"; if(Class==Job_Ninja||Class==Job_Rogue||Class==Job_Stalker) bonus bMatkRate,15; },{},{}
+13036,BF_Dagger1,Brave Assassin's Damascus,5,20,,0,120,,1,0,0x3E9F7EEF,7,2,2,3,80,1,1,{ bonus bStr,1; bonus bAgi,1; bonus2 bAddRace,RC_DemiHuman,75; bonus2 bAddRace,RC_Player_Human,75; bonus2 bIgnoreDefRaceRate,RC_DemiHuman,20; bonus2 bIgnoreDefRaceRate,RC_Player_Human,20; bonus bUnbreakableWeapon; if(Class==Job_Ninja||Class==Job_Rogue||Class==Job_Stalker) bonus bMatkRate,15; },{},{}
+13037,BF_Dagger2,Valorous Assassin's Damascus,5,20,,0,120,,1,0,0x3E9F7EEF,7,2,2,3,80,1,1,{ bonus bStr,1; bonus bAgi,1; bonus2 bAddRace,RC_DemiHuman,75; bonus2 bAddRace,RC_Player_Human,75; bonus bUnbreakableWeapon; autobonus "{ bonus bDefRatioAtkClass,Class_All; }",10,6000,BF_WEAPON,"{ specialeffect2 EF_HASTEUP; }"; if(Class==Job_Ninja||Class==Job_Rogue||Class==Job_Stalker) bonus bMatkRate,15; },{},{}
 13038,Dagger_Of_Hunter,Dagger of Hunter,5,20,,700,120,,1,3,0x00020000,2,2,2,3,70,1,1,{ bonus bStr,1; bonus bAgi,2; bonus bDex,1; bonus4 bAutoSpellOnSkill,"RG_BACKSTAP","SM_BASH",10,100; bonus2 bSkillAtk,"RG_BACKSTAP",20; },{},{}
 13038,Dagger_Of_Hunter,Dagger of Hunter,5,20,,700,120,,1,3,0x00020000,2,2,2,3,70,1,1,{ bonus bStr,1; bonus bAgi,2; bonus bDex,1; bonus4 bAutoSpellOnSkill,"RG_BACKSTAP","SM_BASH",10,100; bonus2 bSkillAtk,"RG_BACKSTAP",20; },{},{}
 13039,Ivory_Knife,Ivory Knife,5,20,,700,130,,1,2,0x028F5EEE,2,2,2,3,50,1,1,{ bonus bAgi,2; bonus bAspdRate,3; bonus2 bAddEff,Eff_Bleeding,300; bonus3 bAutoSpell,"NPC_CRITICALWOUND",1,30; },{},{}
 13039,Ivory_Knife,Ivory Knife,5,20,,700,130,,1,2,0x028F5EEE,2,2,2,3,50,1,1,{ bonus bAgi,2; bonus bAspdRate,3; bonus2 bAddEff,Eff_Bleeding,300; bonus3 bAutoSpell,"NPC_CRITICALWOUND",1,30; },{},{}
 13040,N_Cutter,Novice Cutter,5,0,,0,50,,1,3,0x3E9F7EEF,7,2,2,1,1,0,1,{},{},{}
 13040,N_Cutter,Novice Cutter,5,0,,0,50,,1,3,0x3E9F7EEF,7,2,2,1,1,0,1,{},{},{}
 13041,N_Main_Gauche,Novice Main Gauche,5,0,,0,63,,1,3,0x3E9F7EEF,7,2,2,1,1,0,1,{},{},{}
 13041,N_Main_Gauche,Novice Main Gauche,5,0,,0,63,,1,3,0x3E9F7EEF,7,2,2,1,1,0,1,{},{},{}
-13042,Krieger_Dagger1,Glorious Gladius,5,20,,0,120,,1,0,0x3E9F7EEF,7,2,2,4,80,1,1,{ bonus2 bAddRace,RC_DemiHuman,75; bonus2 bAddRace,RC_Player,75; bonus2 bIgnoreDefRaceRate,RC_DemiHuman,20; bonus2 bIgnoreDefRaceRate,RC_Player,20; bonus3 bAutoSpell,"PR_LEXDIVINA",1,20; bonus bUnbreakableWeapon; if(getrefine()>5) { bonus2 bAddRace,RC_DemiHuman,(getrefine()-4)*(getrefine()-4); bonus2 bAddRace,RC_Player,(getrefine()-4)*(getrefine()-4); bonus2 bIgnoreDefRaceRate,RC_DemiHuman,5; bonus2 bIgnoreDefRaceRate,RC_Player,5; } if(getrefine()>8) bonus4 bAutoSpellOnSkill,"RG_RAID","NPC_WIDEBLEEDING",1,250; },{},{}
+13042,Krieger_Dagger1,Glorious Gladius,5,20,,0,120,,1,0,0x3E9F7EEF,7,2,2,4,80,1,1,{ bonus2 bAddRace,RC_DemiHuman,75; bonus2 bAddRace,RC_Player_Human,75; bonus2 bIgnoreDefRaceRate,RC_DemiHuman,20; bonus2 bIgnoreDefRaceRate,RC_Player_Human,20; bonus3 bAutoSpell,"PR_LEXDIVINA",1,20; bonus bUnbreakableWeapon; if(getrefine()>5) { bonus2 bAddRace,RC_DemiHuman,(getrefine()-4)*(getrefine()-4); bonus2 bAddRace,RC_Player_Human,(getrefine()-4)*(getrefine()-4); bonus2 bIgnoreDefRaceRate,RC_DemiHuman,5; bonus2 bIgnoreDefRaceRate,RC_Player_Human,5; } if(getrefine()>8) bonus4 bAutoSpellOnSkill,"RG_RAID","NPC_WIDEBLEEDING",1,250; },{},{}
 13043,Fortune_Sword_I,Fortune Sword,5,0,,0,120,,1,0,0x028F5EEE,7,2,2,4,0,0,1,{ bonus bLuk,5; },{},{}
 13043,Fortune_Sword_I,Fortune Sword,5,0,,0,120,,1,0,0x028F5EEE,7,2,2,4,0,0,1,{ bonus bLuk,5; },{},{}
 13044,House_Auger_I,Ice Pick,5,0,,0,105,,1,0,0x028F5EEE,7,2,2,4,0,0,1,{},{},{}
 13044,House_Auger_I,Ice Pick,5,0,,0,105,,1,0,0x028F5EEE,7,2,2,4,0,0,1,{},{},{}
 13045,Kamaitachi_I,Kamaitachi,5,0,,0,155,,2,0,0x02000000,7,2,2,4,0,0,1,{},{},{}
 13045,Kamaitachi_I,Kamaitachi,5,0,,0,155,,2,0,0x02000000,7,2,2,4,0,0,1,{},{},{}
@@ -5389,9 +5389,9 @@
 13105,The_Garrison_,Garrison,5,48000,,500,70,,7,2,0x41000000,7,2,34,2,55,1,17,{ bonus bHit,-10; },{},{}
 13105,The_Garrison_,Garrison,5,48000,,500,70,,7,2,0x41000000,7,2,34,2,55,1,17,{ bonus bHit,-10; },{},{}
 13106,Gold_Lux,Gold Lux,5,100000,,500,20,,7,0,0x41000000,7,2,34,3,12,1,17,{ bonus bHit,-10; if(getskilllv("GS_GLITTERING")>0) bonus3 bAutoSpell,"GS_GLITTERING",getskilllv("GS_GLITTERING"),100; },{},{}
 13106,Gold_Lux,Gold Lux,5,100000,,500,20,,7,0,0x41000000,7,2,34,3,12,1,17,{ bonus bHit,-10; if(getskilllv("GS_GLITTERING")>0) bonus3 bAutoSpell,"GS_GLITTERING",getskilllv("GS_GLITTERING"),100; },{},{}
 13107,Wasteland_Outlaw,Wasteland's Outlaw,5,20,,580,68,,7,2,0x41000000,7,2,34,3,70,1,17,{ bonus bHit,readparam(bAgi)/10; bonus bAspdRate,readparam(bAgi)/14; },{},{}
 13107,Wasteland_Outlaw,Wasteland's Outlaw,5,20,,580,68,,7,2,0x41000000,7,2,34,3,70,1,17,{ bonus bHit,readparam(bAgi)/10; bonus bAspdRate,readparam(bAgi)/14; },{},{}
-13108,BF_Pistol1,Soldier Revolver,5,0,,0,70,,7,0,0x41000000,7,2,34,3,80,1,17,{ bonus bDex,2; bonus bHit,-10; bonus2 bAddRace,RC_DemiHuman,55; bonus2 bAddRace,RC_Player,55; bonus2 bIgnoreDefRaceRate,RC_DemiHuman,20; bonus2 bIgnoreDefRaceRate,RC_Player,20; autobonus "{ bonus bAspdRate,100; }",10,3000,BF_WEAPON,"{ specialeffect2 EF_POTION_BERSERK; }"; bonus bUnbreakableWeapon; },{},{}
+13108,BF_Pistol1,Soldier Revolver,5,0,,0,70,,7,0,0x41000000,7,2,34,3,80,1,17,{ bonus bDex,2; bonus bHit,-10; bonus2 bAddRace,RC_DemiHuman,55; bonus2 bAddRace,RC_Player_Human,55; bonus2 bIgnoreDefRaceRate,RC_DemiHuman,20; bonus2 bIgnoreDefRaceRate,RC_Player_Human,20; autobonus "{ bonus bAspdRate,100; }",10,3000,BF_WEAPON,"{ specialeffect2 EF_POTION_BERSERK; }"; bonus bUnbreakableWeapon; },{},{}
 13109,Wasteland_Outlaw_C,Wasteland Outlaw,5,20,,0,100,,7,0,0x41000000,7,2,34,3,0,0,17,{ bonus bHit,readparam(bAgi)/10; bonus bAspdRate,readparam(bAgi)/14; bonus2 bAddClass,Class_All,10; bonus bMatkRate,10; },{},{}
 13109,Wasteland_Outlaw_C,Wasteland Outlaw,5,20,,0,100,,7,0,0x41000000,7,2,34,3,0,0,17,{ bonus bHit,readparam(bAgi)/10; bonus bAspdRate,readparam(bAgi)/14; bonus2 bAddClass,Class_All,10; bonus bMatkRate,10; },{},{}
-13110,Krieger_Pistol1,Glorious Pistol,5,0,,0,80,,7,0,0x41000000,7,2,34,4,80,1,17,{ bonus2 bAddRace,RC_DemiHuman,55; bonus2 bAddRace,RC_Player,55; bonus2 bIgnoreDefRaceRate,RC_DemiHuman,20; bonus2 bIgnoreDefRaceRate,RC_Player,20; bonus bUnbreakableWeapon; if(getrefine()>5){ bonus2 bAddRace,RC_DemiHuman,pow(getrefine()-4,2); bonus2 bAddRace,RC_Player,pow(getrefine()-4,2); bonus2 bIgnoreDefRaceRate,RC_DemiHuman,5; bonus2 bIgnoreDefRaceRate,RC_Player,5; } if(getrefine()>8) { bonus4 bAutoSpellOnSkill,"GS_RAPIDSHOWER","GS_GLITTERING",1,1000; bonus2 bSkillAtk,"GS_RAPIDSHOWER",getrefine()*2; } },{},{}
+13110,Krieger_Pistol1,Glorious Pistol,5,0,,0,80,,7,0,0x41000000,7,2,34,4,80,1,17,{ bonus2 bAddRace,RC_DemiHuman,55; bonus2 bAddRace,RC_Player_Human,55; bonus2 bIgnoreDefRaceRate,RC_DemiHuman,20; bonus2 bIgnoreDefRaceRate,RC_Player_Human,20; bonus bUnbreakableWeapon; if(getrefine()>5){ bonus2 bAddRace,RC_DemiHuman,pow(getrefine()-4,2); bonus2 bAddRace,RC_Player_Human,pow(getrefine()-4,2); bonus2 bIgnoreDefRaceRate,RC_DemiHuman,5; bonus2 bIgnoreDefRaceRate,RC_Player_Human,5; } if(getrefine()>8) { bonus4 bAutoSpellOnSkill,"GS_RAPIDSHOWER","GS_GLITTERING",1,1000; bonus2 bSkillAtk,"GS_RAPIDSHOWER",getrefine()*2; } },{},{}
 //13111,Sharpshooter_Revolver
 //13111,Sharpshooter_Revolver
 13112,P_Revolver1,Eden Revlover I,5,0,,0,4,,7,0,0x41000000,7,2,34,1,26,0,17,{ bonus bHit,-5; },{},{}
 13112,P_Revolver1,Eden Revlover I,5,0,,0,4,,7,0,0x41000000,7,2,34,1,26,0,17,{ bonus bHit,-5; },{},{}
 13113,P_Revolver2,Eden Revlover II,5,0,,0,60,,7,0,0x41000000,7,2,34,1,40,0,17,{ bonus bHit,-5; },{},{}
 13113,P_Revolver2,Eden Revlover II,5,0,,0,60,,7,0,0x41000000,7,2,34,1,40,0,17,{ bonus bHit,-5; },{},{}
@@ -5404,8 +5404,8 @@
 13155,Black_Rose,Black Rose,5,32000,,900,180,,9,1,0x41000000,7,2,34,2,35,1,20,{ bonus bSplashRange,1; },{},{}
 13155,Black_Rose,Black Rose,5,32000,,900,180,,9,1,0x41000000,7,2,34,2,35,1,20,{ bonus bSplashRange,1; },{},{}
 13156,Gate_Keeper,Gate Keeper,5,56000,,1000,210,,9,0,0x41000000,7,2,34,2,24,1,20,{ bonus bSplashRange,1; bonus3 bAutoSpell,"GS_SPREADATTACK",6,50; },{},{}
 13156,Gate_Keeper,Gate Keeper,5,56000,,1000,210,,9,0,0x41000000,7,2,34,2,24,1,20,{ bonus bSplashRange,1; bonus3 bAutoSpell,"GS_SPREADATTACK",6,50; },{},{}
 13157,Drifter,Drifter,5,80000,,2300,50,,9,1,0x41000000,7,2,34,2,55,1,19,{},{},{}
 13157,Drifter,Drifter,5,80000,,2300,50,,9,1,0x41000000,7,2,34,2,55,1,19,{},{},{}
-13158,Butcher,Butcher,5,130000,,2500,75,,9,0,0x41000000,7,2,34,3,68,1,19,{ bonus2 bCriticalAddRace,RC_Brute,10; },{},{}
-13159,Butcher_,Butcher,5,130000,,2500,75,,9,1,0x41000000,7,2,34,3,68,1,19,{ bonus2 bCriticalAddRace,RC_Brute,10; },{},{}
+13158,Butcher,Butcher,5,130000,,2500,75,,9,0,0x41000000,7,2,34,3,68,1,19,{ bonus2 bCriticalAddRace,RC_Brute,10; bonus2 bCriticalAddRace,RC_Player_Doram,10; },{},{}
+13159,Butcher_,Butcher,5,130000,,2500,75,,9,1,0x41000000,7,2,34,3,68,1,19,{ bonus2 bCriticalAddRace,RC_Brute,10; bonus2 bCriticalAddRace,RC_Player_Doram,10; },{},{}
 13160,Destroyer,Destroyer,5,110000,,1200,220,,9,0,0x41000000,7,2,34,2,52,1,21,{ bonus bBreakArmorRate,200; },{},{}
 13160,Destroyer,Destroyer,5,110000,,1200,220,,9,0,0x41000000,7,2,34,2,52,1,21,{ bonus bBreakArmorRate,200; },{},{}
 13161,Destroyer_,Destroyer,5,110000,,1200,220,,9,1,0x41000000,7,2,34,2,52,1,21,{ bonus bBreakArmorRate,200; },{},{}
 13161,Destroyer_,Destroyer,5,110000,,1200,220,,9,1,0x41000000,7,2,34,2,52,1,21,{ bonus bBreakArmorRate,200; },{},{}
 13162,Inferno,Inferno,5,230000,,1250,280,,9,1,0x41000000,7,2,34,2,65,1,21,{},{},{}
 13162,Inferno,Inferno,5,230000,,1250,280,,9,1,0x41000000,7,2,34,2,65,1,21,{},{},{}
@@ -5417,15 +5417,15 @@
 13168,Thunder_P,Thunder P,5,76000,,700,80,,9,1,0x41000000,7,2,34,3,70,1,20,{ bonus bSplashRange,1; bonus bHit,-5; bonus bAspdRate,20; },{},{}
 13168,Thunder_P,Thunder P,5,76000,,700,80,,9,1,0x41000000,7,2,34,3,70,1,20,{ bonus bSplashRange,1; bonus bHit,-5; bonus bAspdRate,20; },{},{}
 13169,Thunder_P_,Thunder P,5,76000,,700,80,,9,2,0x41000000,7,2,34,3,70,1,20,{ bonus bSplashRange,1; bonus bHit,-5; bonus bAspdRate,20; },{},{}
 13169,Thunder_P_,Thunder P,5,76000,,700,80,,9,2,0x41000000,7,2,34,3,70,1,20,{ bonus bSplashRange,1; bonus bHit,-5; bonus bAspdRate,20; },{},{}
 13170,Lever_Action_Rifle,Lever Action Rifle,5,20,,770,138,,9,2,0x41000000,7,2,34,3,70,1,18,{ bonus bHit,20; bonus bCritical,50; bonus bAspdRate,-5; },{},{}
 13170,Lever_Action_Rifle,Lever Action Rifle,5,20,,770,138,,9,2,0x41000000,7,2,34,3,70,1,18,{ bonus bHit,20; bonus bCritical,50; bonus bAspdRate,-5; },{},{}
-13171,BF_Rifle1,Soldier Rifle,5,0,,0,50,,9,0,0x41000000,7,2,34,3,80,1,18,{ bonus bDex,2; bonus bHit,10; bonus bCritical,10; bonus2 bAddRace,RC_DemiHuman,75; bonus2 bAddRace,RC_Player,75; bonus2 bCastrate,"GS_TRACKING",-25; bonus2 bIgnoreDefRaceRate,RC_DemiHuman,20; bonus2 bIgnoreDefRaceRate,RC_Player,20; bonus bUnbreakableWeapon; },{},{}
-13172,BF_Gatling_Gun1,Soldier Gatling Gun,5,0,,0,80,,9,0,0x41000000,7,2,34,3,80,1,19,{ bonus bDex,2; bonus2 bAddRace,RC_DemiHuman,35; bonus2 bAddRace,RC_Player,35; bonus2 bIgnoreDefRaceRate,RC_DemiHuman,20; bonus2 bIgnoreDefRaceRate,RC_Player,20; autobonus "{ bonus bBaseAtk,80; bonus2 bHPLossRate,120,1000; }",10,6000,BF_WEAPON,"{ specialeffect2 EF_BASH3D; }"; bonus bUnbreakableWeapon; },{},{}
-13173,BF_Shotgun1,Soldier Shotgun,5,0,,0,100,,9,0,0x41000000,7,2,34,3,80,1,20,{ bonus bDex,2; bonus bSplashRange,1; bonus2 bAddRace,RC_DemiHuman,55; bonus2 bAddRace,RC_Player,55; bonus2 bIgnoreDefRaceRate,RC_DemiHuman,20; bonus2 bIgnoreDefRaceRate,RC_Player,20; autobonus "{ bonus bBaseAtk,80; bonus2 bHPLossRate,100,1000; }",30,6000,BF_WEAPON,"{ specialeffect2 EF_BASH3D; }"; bonus bUnbreakableWeapon; },{},{}
-13174,BF_Launcher1,Soldier Grenade Launcher,5,0,,0,300,,9,0,0x41000000,7,2,34,3,80,1,21,{ bonus bDex,2; bonus2 bAddRace,RC_DemiHuman,35; bonus2 bAddRace,RC_Player,35; bonus2 bIgnoreDefRaceRate,RC_DemiHuman,20; bonus2 bIgnoreDefRaceRate,RC_Player,20; autobonus "{ bonus bBaseAtk,300; bonus2 bHPLossRate,120,1000; }",30,9000,BF_WEAPON,"{ specialeffect2 EF_BASH3D; }"; bonus bUnbreakableWeapon; },{},{}
+13171,BF_Rifle1,Soldier Rifle,5,0,,0,50,,9,0,0x41000000,7,2,34,3,80,1,18,{ bonus bDex,2; bonus bHit,10; bonus bCritical,10; bonus2 bAddRace,RC_DemiHuman,75; bonus2 bAddRace,RC_Player_Human,75; bonus2 bCastrate,"GS_TRACKING",-25; bonus2 bIgnoreDefRaceRate,RC_DemiHuman,20; bonus2 bIgnoreDefRaceRate,RC_Player_Human,20; bonus bUnbreakableWeapon; },{},{}
+13172,BF_Gatling_Gun1,Soldier Gatling Gun,5,0,,0,80,,9,0,0x41000000,7,2,34,3,80,1,19,{ bonus bDex,2; bonus2 bAddRace,RC_DemiHuman,35; bonus2 bAddRace,RC_Player_Human,35; bonus2 bIgnoreDefRaceRate,RC_DemiHuman,20; bonus2 bIgnoreDefRaceRate,RC_Player_Human,20; autobonus "{ bonus bBaseAtk,80; bonus2 bHPLossRate,120,1000; }",10,6000,BF_WEAPON,"{ specialeffect2 EF_BASH3D; }"; bonus bUnbreakableWeapon; },{},{}
+13173,BF_Shotgun1,Soldier Shotgun,5,0,,0,100,,9,0,0x41000000,7,2,34,3,80,1,20,{ bonus bDex,2; bonus bSplashRange,1; bonus2 bAddRace,RC_DemiHuman,55; bonus2 bAddRace,RC_Player_Human,55; bonus2 bIgnoreDefRaceRate,RC_DemiHuman,20; bonus2 bIgnoreDefRaceRate,RC_Player_Human,20; autobonus "{ bonus bBaseAtk,80; bonus2 bHPLossRate,100,1000; }",30,6000,BF_WEAPON,"{ specialeffect2 EF_BASH3D; }"; bonus bUnbreakableWeapon; },{},{}
+13174,BF_Launcher1,Soldier Grenade Launcher,5,0,,0,300,,9,0,0x41000000,7,2,34,3,80,1,21,{ bonus bDex,2; bonus2 bAddRace,RC_DemiHuman,35; bonus2 bAddRace,RC_Player_Human,35; bonus2 bIgnoreDefRaceRate,RC_DemiHuman,20; bonus2 bIgnoreDefRaceRate,RC_Player_Human,20; autobonus "{ bonus bBaseAtk,300; bonus2 bHPLossRate,120,1000; }",30,9000,BF_WEAPON,"{ specialeffect2 EF_BASH3D; }"; bonus bUnbreakableWeapon; },{},{}
 13175,Lever_Action_Rifle_C,Lever Action Rifle,5,20,,0,170,,9,0,0x41000000,7,2,34,3,0,0,18,{ bonus bHit,20; bonus bCritical,50; bonus bAspdRate,-5; },{},{}
 13175,Lever_Action_Rifle_C,Lever Action Rifle,5,20,,0,170,,9,0,0x41000000,7,2,34,3,0,0,18,{ bonus bHit,20; bonus bCritical,50; bonus bAspdRate,-5; },{},{}
-13176,Krieger_Rifle1,Glorious Rifle,5,0,,0,90,,9,0,0x41000000,7,2,34,4,80,1,18,{ bonus2 bAddRace,RC_DemiHuman,75; bonus2 bAddRace,RC_Player,75; bonus2 bIgnoreDefRaceRate,RC_DemiHuman,20; bonus2 bIgnoreDefRaceRate,RC_Player,20; bonus2 bSkillAtk,"GS_TRIPLEACTION",30; bonus bUnbreakableWeapon; if(getrefine()>5) { bonus2 bAddRace,RC_DemiHuman,(getrefine()-4)*(getrefine()-4); bonus2 bAddRace,RC_Player,(getrefine()-4)*(getrefine()-4); bonus2 bIgnoreDefRaceRate,RC_DemiHuman,5; bonus2 bIgnoreDefRaceRate,RC_Player,5; } if(getrefine()>8) { bonus2 bCastrate,"GS_TRACKING",25; bonus2 bSkillAtk,"GS_TRACKING",getrefine() * 3; } },{},{}
-13177,Krieger_Gatling1,Glorious Gatling Gun,5,0,,0,90,,9,0,0x41000000,7,2,34,4,80,1,19,{ bonus2 bAddRace,RC_DemiHuman,35; bonus2 bAddRace,RC_Player,35; bonus2 bIgnoreDefRaceRate,RC_DemiHuman,20; bonus2 bIgnoreDefRaceRate,RC_Player,20; bonus2 bSkillAtk,"GS_TRIPLEACTION",30; bonus bUnbreakableWeapon; if(getrefine()>5) { bonus2 bAddRace,RC_DemiHuman,(getrefine()-4)*(getrefine()-4); bonus2 bAddRace,RC_Player,(getrefine()-4)*(getrefine()-4); bonus2 bIgnoreDefRaceRate,RC_DemiHuman,5; bonus2 bIgnoreDefRaceRate,RC_Player,5; } if(getrefine()>8) {bonus2 bAddClass,Class_All,getrefine(); } },{},{}
-13178,Krieger_Shotgun1,Glorious Shotgun,5,0,,0,110,,9,0,0x41000000,7,2,34,4,80,1,20,{ bonus2 bAddRace,RC_DemiHuman,55; bonus2 bAddRace,RC_Player,55; bonus2 bIgnoreDefRaceRate,RC_DemiHuman,20; bonus2 bIgnoreDefRaceRate,RC_Player,20; bonus bSplashRange,1; bonus2 bSkillAtk,"GS_TRIPLEACTION",30; bonus bUnbreakableWeapon; if(getrefine()>5) { bonus2 bAddRace,RC_DemiHuman,(getrefine()-4)*(getrefine()-4); bonus2 bAddRace,RC_Player,(getrefine()-4)*(getrefine()-4); bonus2 bIgnoreDefRaceRate,RC_DemiHuman,5; bonus2 bIgnoreDefRaceRate,RC_Player,5; } if(getrefine()>8) { bonus2 bSkillAtk,"GS_SPREADATTACK",getrefine() * 2; bonus3 bAddEffOnSkill,"GS_SPREADATTACK",Eff_Stun,2000; } },{},{}
-13179,Krieger_Launcher1,Glorious Grenade Launcher,5,0,,0,330,,9,0,0x41000000,7,2,34,4,80,1,21,{ bonus2 bAddRace,RC_DemiHuman,35; bonus2 bAddRace,RC_Player,35; bonus2 bIgnoreDefRaceRate,RC_DemiHuman,20; bonus2 bIgnoreDefRaceRate,RC_Player,20; bonus2 bSkillAtk,"GS_TRIPLEACTION",30; bonus bUnbreakableWeapon; if(getrefine()>5) { bonus2 bAddRace,RC_DemiHuman,(getrefine()-4)*(getrefine()-4); bonus2 bAddRace,RC_Player,(getrefine()-4)*(getrefine()-4); bonus2 bIgnoreDefRaceRate,RC_DemiHuman,5; bonus2 bIgnoreDefRaceRate,RC_Player,5; } if(getrefine()>8) { bonus2 bSkillAtk,"GS_GROUNDDRIFT",getrefine() * 2; bonus3 bAddEffOnSkill,"GS_SPREADATTACK",Eff_Stun,2000; autobonus "{ bonus bAspdRate,20; }",200,20000,BF_WEAPON,"{ specialeffect2 EF_POTION_BERSERK; }"; } },{},{}
+13176,Krieger_Rifle1,Glorious Rifle,5,0,,0,90,,9,0,0x41000000,7,2,34,4,80,1,18,{ bonus2 bAddRace,RC_DemiHuman,75; bonus2 bAddRace,RC_Player_Human,75; bonus2 bIgnoreDefRaceRate,RC_DemiHuman,20; bonus2 bIgnoreDefRaceRate,RC_Player_Human,20; bonus2 bSkillAtk,"GS_TRIPLEACTION",30; bonus bUnbreakableWeapon; if(getrefine()>5) { bonus2 bAddRace,RC_DemiHuman,(getrefine()-4)*(getrefine()-4); bonus2 bAddRace,RC_Player_Human,(getrefine()-4)*(getrefine()-4); bonus2 bIgnoreDefRaceRate,RC_DemiHuman,5; bonus2 bIgnoreDefRaceRate,RC_Player_Human,5; } if(getrefine()>8) { bonus2 bCastrate,"GS_TRACKING",25; bonus2 bSkillAtk,"GS_TRACKING",getrefine() * 3; } },{},{}
+13177,Krieger_Gatling1,Glorious Gatling Gun,5,0,,0,90,,9,0,0x41000000,7,2,34,4,80,1,19,{ bonus2 bAddRace,RC_DemiHuman,35; bonus2 bAddRace,RC_Player_Human,35; bonus2 bIgnoreDefRaceRate,RC_DemiHuman,20; bonus2 bIgnoreDefRaceRate,RC_Player_Human,20; bonus2 bSkillAtk,"GS_TRIPLEACTION",30; bonus bUnbreakableWeapon; if(getrefine()>5) { bonus2 bAddRace,RC_DemiHuman,(getrefine()-4)*(getrefine()-4); bonus2 bAddRace,RC_Player_Human,(getrefine()-4)*(getrefine()-4); bonus2 bIgnoreDefRaceRate,RC_DemiHuman,5; bonus2 bIgnoreDefRaceRate,RC_Player_Human,5; } if(getrefine()>8) {bonus2 bAddClass,Class_All,getrefine(); } },{},{}
+13178,Krieger_Shotgun1,Glorious Shotgun,5,0,,0,110,,9,0,0x41000000,7,2,34,4,80,1,20,{ bonus2 bAddRace,RC_DemiHuman,55; bonus2 bAddRace,RC_Player_Human,55; bonus2 bIgnoreDefRaceRate,RC_DemiHuman,20; bonus2 bIgnoreDefRaceRate,RC_Player_Human,20; bonus bSplashRange,1; bonus2 bSkillAtk,"GS_TRIPLEACTION",30; bonus bUnbreakableWeapon; if(getrefine()>5) { bonus2 bAddRace,RC_DemiHuman,(getrefine()-4)*(getrefine()-4); bonus2 bAddRace,RC_Player_Human,(getrefine()-4)*(getrefine()-4); bonus2 bIgnoreDefRaceRate,RC_DemiHuman,5; bonus2 bIgnoreDefRaceRate,RC_Player_Human,5; } if(getrefine()>8) { bonus2 bSkillAtk,"GS_SPREADATTACK",getrefine() * 2; bonus3 bAddEffOnSkill,"GS_SPREADATTACK",Eff_Stun,2000; } },{},{}
+13179,Krieger_Launcher1,Glorious Grenade Launcher,5,0,,0,330,,9,0,0x41000000,7,2,34,4,80,1,21,{ bonus2 bAddRace,RC_DemiHuman,35; bonus2 bAddRace,RC_Player_Human,35; bonus2 bIgnoreDefRaceRate,RC_DemiHuman,20; bonus2 bIgnoreDefRaceRate,RC_Player_Human,20; bonus2 bSkillAtk,"GS_TRIPLEACTION",30; bonus bUnbreakableWeapon; if(getrefine()>5) { bonus2 bAddRace,RC_DemiHuman,(getrefine()-4)*(getrefine()-4); bonus2 bAddRace,RC_Player_Human,(getrefine()-4)*(getrefine()-4); bonus2 bIgnoreDefRaceRate,RC_DemiHuman,5; bonus2 bIgnoreDefRaceRate,RC_Player_Human,5; } if(getrefine()>8) { bonus2 bSkillAtk,"GS_GROUNDDRIFT",getrefine() * 2; bonus3 bAddEffOnSkill,"GS_SPREADATTACK",Eff_Stun,2000; autobonus "{ bonus bAspdRate,20; }",200,20000,BF_WEAPON,"{ specialeffect2 EF_POTION_BERSERK; }"; } },{},{}
 // Bullets
 // Bullets
 13200,Bullet,Bullet,10,1,,2,10,,,,0x41000000,7,2,32768,,1,,3,{},{},{}
 13200,Bullet,Bullet,10,1,,2,10,,,,0x41000000,7,2,32768,,1,,3,{},{},{}
 13201,Silver_Bullet,Silver Bullet,10,15,,2,15,,,,0x41000000,7,2,32768,,1,,3,{ bonus bAtkEle,Ele_Holy; },{},{}
 13201,Silver_Bullet,Silver Bullet,10,15,,2,15,,,,0x41000000,7,2,32768,,1,,3,{ bonus bAtkEle,Ele_Holy; },{},{}
@@ -5485,9 +5485,9 @@
 13302,Huuma_Giant_Wheel_,Huuma Giant Wheel Shuriken,5,40000,,2500,50,,1,4,0x02000000,7,2,34,4,42,1,22,{ bonus bUnbreakableWeapon; bonus2 bAddEff,Eff_Bleeding,100; },{},{}
 13302,Huuma_Giant_Wheel_,Huuma Giant Wheel Shuriken,5,40000,,2500,50,,1,4,0x02000000,7,2,34,4,42,1,22,{ bonus bUnbreakableWeapon; bonus2 bAddEff,Eff_Bleeding,100; },{},{}
 13303,Huuma_Blaze,Huuma Blaze Shuriken,5,78000,,1500,185,,1,0,0x02000000,7,2,34,4,55,1,22,{ bonus bUnbreakableWeapon; bonus bAtkEle,Ele_Fire; bonus bDex,-2; bonus3 bAutoSpell,"MG_FIREBALL",5,30; },{},{}
 13303,Huuma_Blaze,Huuma Blaze Shuriken,5,78000,,1500,185,,1,0,0x02000000,7,2,34,4,55,1,22,{ bonus bUnbreakableWeapon; bonus bAtkEle,Ele_Fire; bonus bDex,-2; bonus3 bAutoSpell,"MG_FIREBALL",5,30; },{},{}
 13304,Huuma_Calm_Mind,Huuma Calm Mind,5,20,,1550,112,,1,2,0x02000000,7,2,34,3,70,1,22,{ bonus bUnbreakableWeapon; bonus2 bSkillAtk,"NJ_HUUMA",30; bonus bNoCastCancel; },{},{}
 13304,Huuma_Calm_Mind,Huuma Calm Mind,5,20,,1550,112,,1,2,0x02000000,7,2,34,3,70,1,22,{ bonus bUnbreakableWeapon; bonus2 bSkillAtk,"NJ_HUUMA",30; bonus bNoCastCancel; },{},{}
-13305,BF_Huuma_Shuriken1,Brave Huuma Front Shuriken,5,20,,0,55,,1,0,0x02000000,7,2,34,3,80,1,22,{ bonus bStr,2; bonus bDex,1; bonus2 bAddRace,RC_DemiHuman,95; bonus2 bAddRace,RC_Player,95; bonus2 bIgnoreDefRaceRate,RC_DemiHuman,20; bonus2 bIgnoreDefRaceRate,RC_Player,20; bonus bUnbreakableWeapon; },{},{}
-13306,BF_Huuma_Shuriken2,Valorous Huuma Front Shuriken,5,20,,0,55,,1,0,0x02000000,7,2,34,3,80,1,22,{ bonus bStr,2; bonus bDex,1; bonus2 bAddRace,RC_DemiHuman,95; bonus2 bAddRace,RC_Player,95; autobonus "{ bonus2 bSkillAtk,\"NJ_HUUMA\",100; bonus2 bSkillAtk,\"NJ_ISSEN\",100; }",50,10000,BF_WEAPON,"{specialeffect2 EF_POTION_BERSERK; }"; bonus bUnbreakableWeapon; },{},{}
-13307,Krieger_Huuma_Shuriken1,Glorious Shuriken,5,20,,0,55,,1,0,0x02000000,7,2,34,4,80,1,22,{ bonus2 bAddRace,RC_DemiHuman,95; bonus2 bAddRace,RC_Player,95; bonus2 bIgnoreDefRaceRate,RC_DemiHuman,20; bonus2 bIgnoreDefRaceRate,RC_Player,20; bonus bMatkRate,15; autobonus "{ bonus2 bSkillAtk,\"NJ_HUUMA\",100; bonus2 bSkillAtk,\"NJ_ISSEN\",100; }",50,10000; bonus bUnbreakableWeapon; if(getrefine()>5) { bonus2 bAddRace,RC_DemiHuman,(getrefine()-3)*(getrefine()-3); bonus2 bAddRace,RC_Player,(getrefine()-3)*(getrefine()-3); bonus2 bIgnoreDefRaceRate,RC_DemiHuman,5; bonus2 bIgnoreDefRaceRate,RC_Player,5; } if(getrefine()>8) { bonus5 bAutoSpellOnSkill,"NJ_ISSEN","AL_HEAL",10,1000,1; bonus4 bAutoSpellOnSkill,"NJ_HUUMA","NPC_CRITICALWOUND",2,200; } },{},{}
+13305,BF_Huuma_Shuriken1,Brave Huuma Front Shuriken,5,20,,0,55,,1,0,0x02000000,7,2,34,3,80,1,22,{ bonus bStr,2; bonus bDex,1; bonus2 bAddRace,RC_DemiHuman,95; bonus2 bAddRace,RC_Player_Human,95; bonus2 bIgnoreDefRaceRate,RC_DemiHuman,20; bonus2 bIgnoreDefRaceRate,RC_Player_Human,20; bonus bUnbreakableWeapon; },{},{}
+13306,BF_Huuma_Shuriken2,Valorous Huuma Front Shuriken,5,20,,0,55,,1,0,0x02000000,7,2,34,3,80,1,22,{ bonus bStr,2; bonus bDex,1; bonus2 bAddRace,RC_DemiHuman,95; bonus2 bAddRace,RC_Player_Human,95; autobonus "{ bonus2 bSkillAtk,\"NJ_HUUMA\",100; bonus2 bSkillAtk,\"NJ_ISSEN\",100; }",50,10000,BF_WEAPON,"{specialeffect2 EF_POTION_BERSERK; }"; bonus bUnbreakableWeapon; },{},{}
+13307,Krieger_Huuma_Shuriken1,Glorious Shuriken,5,20,,0,55,,1,0,0x02000000,7,2,34,4,80,1,22,{ bonus2 bAddRace,RC_DemiHuman,95; bonus2 bAddRace,RC_Player_Human,95; bonus2 bIgnoreDefRaceRate,RC_DemiHuman,20; bonus2 bIgnoreDefRaceRate,RC_Player_Human,20; bonus bMatkRate,15; autobonus "{ bonus2 bSkillAtk,\"NJ_HUUMA\",100; bonus2 bSkillAtk,\"NJ_ISSEN\",100; }",50,10000; bonus bUnbreakableWeapon; if(getrefine()>5) { bonus2 bAddRace,RC_DemiHuman,(getrefine()-3)*(getrefine()-3); bonus2 bAddRace,RC_Player_Human,(getrefine()-3)*(getrefine()-3); bonus2 bIgnoreDefRaceRate,RC_DemiHuman,5; bonus2 bIgnoreDefRaceRate,RC_Player_Human,5; } if(getrefine()>8) { bonus5 bAutoSpellOnSkill,"NJ_ISSEN","AL_HEAL",10,1000,1; bonus4 bAutoSpellOnSkill,"NJ_HUUMA","NPC_CRITICALWOUND",2,200; } },{},{}
 13308,Huuma_Blaze_I,Huuma Blaze Shuriken,5,0,,0,230,,1,0,0x02000000,7,2,34,4,0,0,22,{ bonus bUnbreakableWeapon; bonus bAtkEle,Ele_Fire; bonus bDex,2; },{},{}
 13308,Huuma_Blaze_I,Huuma Blaze Shuriken,5,0,,0,230,,1,0,0x02000000,7,2,34,4,0,0,22,{ bonus bUnbreakableWeapon; bonus bAtkEle,Ele_Fire; bonus bDex,2; },{},{}
 13309,Huuma_Giant_Wheel_C,Huuma Giant Wheel Shuriken,5,0,,0,99,,1,0,0x02000000,7,2,34,4,1,0,22,{ bonus2 bAddSize,Size_All,80; },{},{}
 13309,Huuma_Giant_Wheel_C,Huuma Giant Wheel Shuriken,5,0,,0,99,,1,0,0x02000000,7,2,34,4,1,0,22,{ bonus2 bAddSize,Size_All,80; },{},{}
 // More 1-Handed Swords
 // More 1-Handed Swords
@@ -5498,16 +5498,16 @@
 13404,Platinum_Shotel,Platinum Shotel,5,20,,1500,130,,1,1,0x000654E2,7,2,2,4,55,1,2,{ bonus bCritical,50; },{},{}
 13404,Platinum_Shotel,Platinum Shotel,5,20,,1500,130,,1,1,0x000654E2,7,2,2,4,55,1,2,{ bonus bCritical,50; },{},{}
 13405,Curved_Sword,Curved Sword,5,20,,800,125,,1,2,0x000654E2,7,2,2,4,55,1,2,{ bonus bAspdRate,10; bonus2 bAddEff,Eff_Curse,300; },{},{}
 13405,Curved_Sword,Curved Sword,5,20,,800,125,,1,2,0x000654E2,7,2,2,4,55,1,2,{ bonus bAspdRate,10; bonus2 bAddEff,Eff_Curse,300; },{},{}
 13406,Edger,Edger,5,20,,0,120,,1,0,0x000654E2,7,2,2,1,0,0,2,{ bonus2 bAddClass,Class_All,50; },{},{}
 13406,Edger,Edger,5,20,,0,120,,1,0,0x000654E2,7,2,2,1,0,0,2,{ bonus2 bAddClass,Class_All,50; },{},{}
-13407,Nagan_C,Refined Nagan,5,1,,0,148,,1,0,0x000654E2,7,2,2,4,0,0,2,{ skill "TF_DOUBLE",5; bonus bDoubleRate,25; bonus2 bAddRace,RC_DemiHuman,40; bonus2 bAddRace,RC_Player,40; },{},{}
+13407,Nagan_C,Refined Nagan,5,1,,0,148,,1,0,0x000654E2,7,2,2,4,0,0,2,{ skill "TF_DOUBLE",5; bonus bDoubleRate,25; bonus2 bAddRace,RC_DemiHuman,40; bonus2 bAddRace,RC_Player_Human,40; },{},{}
 13408,Fire_Brand_C,Refined Fireblend,5,1,,0,120,,1,0,0x000654E2,7,2,2,4,0,0,2,{ bonus bAtkEle,Ele_Fire; bonus bInt,2; skill "MG_FIREBOLT",5; bonus3 bAutoSpell,"MG_FIREBOLT",5,100; },{},{}
 13408,Fire_Brand_C,Refined Fireblend,5,1,,0,120,,1,0,0x000654E2,7,2,2,4,0,0,2,{ bonus bAtkEle,Ele_Fire; bonus bInt,2; skill "MG_FIREBOLT",5; bonus3 bAutoSpell,"MG_FIREBOLT",5,100; },{},{}
 13409,Immaterial_Sword_C,Refined Immaterial Sword,5,1,,0,160,,1,0,0x000654E2,7,2,2,4,0,0,2,{ bonus bAtkEle,Ele_Ghost; bonus2 bSPVanishRate,45,30; bonus bSPDrainValue,-1; bonus bUnbreakableWeapon; },{},{}
 13409,Immaterial_Sword_C,Refined Immaterial Sword,5,1,,0,160,,1,0,0x000654E2,7,2,2,4,0,0,2,{ bonus bAtkEle,Ele_Ghost; bonus2 bSPVanishRate,45,30; bonus bSPDrainValue,-1; bonus bUnbreakableWeapon; },{},{}
-13410,BF_Sword1,Valorous Gladiator Blade,5,20,,0,115,,1,0,0x000654E3,7,2,2,3,80,1,2,{ bonus bStr,1; bonus bDex,1; bonus2 bAddRace,RC_DemiHuman,75; bonus2 bAddRace,RC_Player,75; bonus2 bIgnoreDefRaceRate,RC_DemiHuman,20; bonus2 bIgnoreDefRaceRate,RC_Player,20; bonus bUnbreakableWeapon; },{},{}
-13411,BF_Sword2,Brave Gladiator Blade,5,20,,0,115,,1,0,0x000654E3,7,2,2,3,80,1,2,{ bonus bStr,1; bonus bDex,1; bonus2 bAddRace,RC_DemiHuman,75; bonus2 bAddRace,RC_Player,75; bonus bMatkRate,10; bonus bUnbreakableWeapon; },{},{}
+13410,BF_Sword1,Valorous Gladiator Blade,5,20,,0,115,,1,0,0x000654E3,7,2,2,3,80,1,2,{ bonus bStr,1; bonus bDex,1; bonus2 bAddRace,RC_DemiHuman,75; bonus2 bAddRace,RC_Player_Human,75; bonus2 bIgnoreDefRaceRate,RC_DemiHuman,20; bonus2 bIgnoreDefRaceRate,RC_Player_Human,20; bonus bUnbreakableWeapon; },{},{}
+13411,BF_Sword2,Brave Gladiator Blade,5,20,,0,115,,1,0,0x000654E3,7,2,2,3,80,1,2,{ bonus bStr,1; bonus bDex,1; bonus2 bAddRace,RC_DemiHuman,75; bonus2 bAddRace,RC_Player_Human,75; bonus bMatkRate,10; bonus bUnbreakableWeapon; },{},{}
 13412,Twin_Edge_B,Twin Edge of Naght Sieger,5,20,,1500,150,,1,3,0x000654E2,2,2,2,4,75,1,2,{ bonus bAtkEle,Ele_Water; skill "MG_FROSTDIVER",5; autobonus "{ bonus bIgnoreDefClass,Class_Normal; }",50,5000; },{},{}
 13412,Twin_Edge_B,Twin Edge of Naght Sieger,5,20,,1500,150,,1,3,0x000654E2,2,2,2,4,75,1,2,{ bonus bAtkEle,Ele_Water; skill "MG_FROSTDIVER",5; autobonus "{ bonus bIgnoreDefClass,Class_Normal; }",50,5000; },{},{}
 13413,Twin_Edge_R,Twin Edge of Naght Sieger,5,20,,1500,160,,1,3,0x000654E2,2,2,2,4,75,1,2,{ bonus bAtkEle,Ele_Fire; skill "WZ_METEOR",3; autobonus "{ bonus bIgnoreDefClass,Class_Normal; }",50,5000; },{},{}
 13413,Twin_Edge_R,Twin Edge of Naght Sieger,5,20,,1500,160,,1,3,0x000654E2,2,2,2,4,75,1,2,{ bonus bAtkEle,Ele_Fire; skill "WZ_METEOR",3; autobonus "{ bonus bIgnoreDefClass,Class_Normal; }",50,5000; },{},{}
 13414,Elemental_Sword,Elemental Sword,5,20,,1200,105,,1,3,0x000654E2,2,2,2,3,70,1,2,{ bonus bStr,2; bonus bInt,4; bonus bDex,1; bonus bMatkRate,5; bonus2 bAddEle,Ele_Neutral,10; bonus3 bAutoSpell,"MG_COLDBOLT",3,50; bonus4 bAutoSpellOnSkill,"MG_COLDBOLT","MG_FIREBOLT",3,1000; bonus4 bAutoSpellOnSkill,"MG_FIREBOLT","MG_LIGHTNINGBOLT",3,1000; bonus4 bAutoSpellOnSkill,"MG_LIGHTNINGBOLT","WZ_EARTHSPIKE",3,1000; },{},{}
 13414,Elemental_Sword,Elemental Sword,5,20,,1200,105,,1,3,0x000654E2,2,2,2,3,70,1,2,{ bonus bStr,2; bonus bInt,4; bonus bDex,1; bonus bMatkRate,5; bonus2 bAddEle,Ele_Neutral,10; bonus3 bAutoSpell,"MG_COLDBOLT",3,50; bonus4 bAutoSpellOnSkill,"MG_COLDBOLT","MG_FIREBOLT",3,1000; bonus4 bAutoSpellOnSkill,"MG_FIREBOLT","MG_LIGHTNINGBOLT",3,1000; bonus4 bAutoSpellOnSkill,"MG_LIGHTNINGBOLT","WZ_EARTHSPIKE",3,1000; },{},{}
 13415,N_Falchion,Novice Falchion,5,0,,0,59,,1,3,0x000654E3,7,2,2,1,2,0,2,{},{},{}
 13415,N_Falchion,Novice Falchion,5,0,,0,59,,1,3,0x000654E3,7,2,2,1,2,0,2,{},{},{}
-13416,Krieger_Onehand_Sword1,Glorious Flamberge,5,20,,0,130,,1,0,0x000654E3,7,2,2,4,80,1,2,{ bonus2 bAddRace,RC_DemiHuman,75; bonus2 bAddRace,RC_Player,75; bonus2 bIgnoreDefRaceRate,RC_DemiHuman,20; bonus2 bIgnoreDefRaceRate,RC_Player,20; bonus bUnbreakableWeapon; if(getrefine()>5) { bonus2 bAddRace,RC_DemiHuman,(getrefine()-4)*(getrefine()-4); bonus2 bAddRace,RC_Player,(getrefine()-4)*(getrefine()-4); bonus2 bIgnoreDefRaceRate,RC_DemiHuman,5; bonus2 bIgnoreDefRaceRate,RC_Player,5; } if(getrefine()>6) bonus bAspdRate,5; if(getrefine()>8) { bonus bAspdRate,5; bonus4 bAutoSpellOnSkill,"SM_BASH","NPC_CRITICALWOUND",2,200; } },{},{}
+13416,Krieger_Onehand_Sword1,Glorious Flamberge,5,20,,0,130,,1,0,0x000654E3,7,2,2,4,80,1,2,{ bonus2 bAddRace,RC_DemiHuman,75; bonus2 bAddRace,RC_Player_Human,75; bonus2 bIgnoreDefRaceRate,RC_DemiHuman,20; bonus2 bIgnoreDefRaceRate,RC_Player_Human,20; bonus bUnbreakableWeapon; if(getrefine()>5) { bonus2 bAddRace,RC_DemiHuman,(getrefine()-4)*(getrefine()-4); bonus2 bAddRace,RC_Player_Human,(getrefine()-4)*(getrefine()-4); bonus2 bIgnoreDefRaceRate,RC_DemiHuman,5; bonus2 bIgnoreDefRaceRate,RC_Player_Human,5; } if(getrefine()>6) bonus bAspdRate,5; if(getrefine()>8) { bonus bAspdRate,5; bonus4 bAutoSpellOnSkill,"SM_BASH","NPC_CRITICALWOUND",2,200; } },{},{}
 13417,Krieger_Onehand_Sword2,Glorious Rapier,5,20,,0,130,,1,0,0x000654E3,7,2,2,4,80,1,2,{ bonus bInt,getrefine()-5; bonus bMatkRate,10; bonus bUnbreakableWeapon; if(getrefine()>5) bonus bUseSPrate,-10; if(getrefine()>8) bonus bInt,5; },{},{}
 13417,Krieger_Onehand_Sword2,Glorious Rapier,5,20,,0,130,,1,0,0x000654E3,7,2,2,4,80,1,2,{ bonus bInt,getrefine()-5; bonus bMatkRate,10; bonus bUnbreakableWeapon; if(getrefine()>5) bonus bUseSPrate,-10; if(getrefine()>8) bonus bInt,5; },{},{}
 13418,Krieger_Onehand_Sword3,Glorious Holy Avenger,5,20,,0,130,,1,0,0x000444A2,7,2,2,4,80,1,2,{ bonus bInt,getrefine()-5; bonus bMatkRate,10; bonus bUnbreakableWeapon; if(getrefine()>5) bonus bUseSPrate,-10; if(getrefine()>8) bonus4 bAutoSpellOnSkill,"PA_PRESSURE","PR_LEXAETERNA",1,1000; if(getrefine()>9) bonus bInt,5; },{},{}
 13418,Krieger_Onehand_Sword3,Glorious Holy Avenger,5,20,,0,130,,1,0,0x000444A2,7,2,2,4,80,1,2,{ bonus bInt,getrefine()-5; bonus bMatkRate,10; bonus bUnbreakableWeapon; if(getrefine()>5) bonus bUseSPrate,-10; if(getrefine()>8) bonus4 bAutoSpellOnSkill,"PA_PRESSURE","PR_LEXAETERNA",1,1000; if(getrefine()>9) bonus bInt,5; },{},{}
 13419,Holy_Saber,Holy saber,5,20,,0,160,,1,0,0x000654E2,7,2,2,3,0,0,2,{},{},{}
 13419,Holy_Saber,Holy saber,5,20,,0,160,,1,0,0x000654E2,7,2,2,3,0,0,2,{},{},{}
@@ -6447,7 +6447,7 @@
 14608,Luxurious_Dinner_E,Manchu-Han Imperial Feast,2,20000,,1200,,,,,0xFFFFFFFF,7,2,,,,,,{ sc_start SC_INCALLSTATUS,3600000,6; },{},{}
 14608,Luxurious_Dinner_E,Manchu-Han Imperial Feast,2,20000,,1200,,,,,0xFFFFFFFF,7,2,,,,,,{ sc_start SC_INCALLSTATUS,3600000,6; },{},{}
 14609,Spoiled_Cuisine,Spoiled Cuisine,2,0,,0,,,,,0xFFFFFFFF,7,2,,,,,,{ percentheal 10,10; },{},{}
 14609,Spoiled_Cuisine,Spoiled Cuisine,2,0,,0,,,,,0xFFFFFFFF,7,2,,,,,,{ percentheal 10,10; },{},{}
 // More Armors
 // More Armors
-15000,Bone_Plate,Bone Plate,4,20,,1000,,7,,1,0x000654E2,2,2,16,,85,1,0,{ bonus bStr,1; bonus bMdef,3; bonus2 bIgnoreDefRaceRate,RC_DemiHuman,10; bonus2 bIgnoreDefRaceRate,RC_Player,10; bonus2 bIgnoreDefRaceRate,RC_Brute,10; bonus3 bAutoSpellWhenHit,"NPC_WIDEBLEEDING",1,10; },{},{}
+15000,Bone_Plate,Bone Plate,4,20,,1000,,7,,1,0x000654E2,2,2,16,,85,1,0,{ bonus bStr,1; bonus bMdef,3; bonus2 bIgnoreDefRaceRate,RC_DemiHuman,10; bonus2 bIgnoreDefRaceRate,RC_Player_Human,10; bonus2 bIgnoreDefRaceRate,RC_Brute,10; bonus2 bIgnoreDefRaceRate,RC_Player_Doram,10; bonus3 bAutoSpellWhenHit,"NPC_WIDEBLEEDING",1,10; },{},{}
 15001,Odin's_Blessing_I,Odin's Blessing,4,0,,0,,10,,0,0xFFFFFFFE,7,2,16,,0,0,0,{},{},{}
 15001,Odin's_Blessing_I,Odin's Blessing,4,0,,0,,10,,0,0xFFFFFFFE,7,2,16,,0,0,0,{},{},{}
 // More Maces
 // More Maces
 16000,Erde,Erde,5,20,,500,130,,1,2,0x0004C5B2,2,2,2,4,50,1,8,{ bonus2 bSkillAtk,"AM_ACIDTERROR",20; bonus2 bSkillAtk,"AM_DEMONSTRATION",20; bonus bMaxSP,50; bonus bHealPower,10; },{},{}
 16000,Erde,Erde,5,20,,500,130,,1,2,0x0004C5B2,2,2,2,4,50,1,8,{ bonus2 bSkillAtk,"AM_ACIDTERROR",20; bonus2 bSkillAtk,"AM_DEMONSTRATION",20; bonus bMaxSP,50; bonus bHealPower,10; },{},{}
@@ -6573,7 +6573,7 @@
 18596,Sprout_Hat,Sprout Hat,4,20,,200,,4,,0,0xFFFFFFFF,7,2,256,,70,1,758,{ skill "WZ_HEAVENDRIVE",3; },{},{}
 18596,Sprout_Hat,Sprout Hat,4,20,,200,,4,,0,0xFFFFFFFF,7,2,256,,70,1,758,{ skill "WZ_HEAVENDRIVE",3; },{},{}
 18597,Mercury_Helm,Mercury Riser,4,40,,200,,10,,1,0xFFFFFFFF,7,2,256,,0,1,759,{ bonus bAspdRate,3; bonus bCritical,3; if(getrefine() >= 7) { bonus bAspdRate,2; bonus bCritical,2; } if(getrefine() >= 9) { bonus bAspdRate,2; bonus bCritical,2; }},{},{}
 18597,Mercury_Helm,Mercury Riser,4,40,,200,,10,,1,0xFFFFFFFF,7,2,256,,0,1,759,{ bonus bAspdRate,3; bonus bCritical,3; if(getrefine() >= 7) { bonus bAspdRate,2; bonus bCritical,2; } if(getrefine() >= 9) { bonus bAspdRate,2; bonus bCritical,2; }},{},{}
 //
 //
-18600,Cat_Ears_Beret,Cat Ear Beret,4,20,,100,,5,,0,0xFFFFFFFF,7,2,256,,0,1,761,{ bonus bAtkRate,5; if(getrefine() > 5 && getrefine() <= 12) { bonus2 bAddRace,RC_DemiHuman,(getrefine() - 5); bonus2 bSubRace,RC_DemiHuman,(getrefine() - 5); bonus2 bAddRace,RC_Player,(getrefine() - 5); bonus2 bSubRace,RC_Player,(getrefine() - 5); } if(getrefine() > 12) { bonus2 bAddRace,RC_DemiHuman,7; bonus2 bAddRace,RC_Player,7; bonus2 bSubRace,RC_DemiHuman,7; bonus2 bSubRace,RC_Player,7; } },{},{}
+18600,Cat_Ears_Beret,Cat Ear Beret,4,20,,100,,5,,0,0xFFFFFFFF,7,2,256,,0,1,761,{ bonus bAtkRate,5; if(getrefine() > 5 && getrefine() <= 12) { bonus2 bAddRace,RC_DemiHuman,(getrefine() - 5); bonus2 bSubRace,RC_DemiHuman,(getrefine() - 5); bonus2 bAddRace,RC_Player_Human,(getrefine() - 5); bonus2 bSubRace,RC_Player_Human,(getrefine() - 5); } if(getrefine() > 12) { bonus2 bAddRace,RC_DemiHuman,7; bonus2 bAddRace,RC_Player_Human,7; bonus2 bSubRace,RC_DemiHuman,7; bonus2 bSubRace,RC_Player_Human,7; } },{},{}
 //
 //
 18612,White_Musang_Hat,White Musang Hat,4,40,,200,,3,,1,0xFFFFFFFF,7,2,256,,0,1,770,{ bonus bStr,2; bonus bVit,2; bonus bLuk,1; bonus bUnbreakableHelm; },{},{}
 18612,White_Musang_Hat,White Musang Hat,4,40,,200,,3,,1,0xFFFFFFFF,7,2,256,,0,1,770,{ bonus bStr,2; bonus bVit,2; bonus bLuk,1; bonus bUnbreakableHelm; },{},{}
 18613,Black_Musang_Hat,Black Musang Hat,4,40,,200,,3,,1,0xFFFFFFFF,7,2,256,,0,1,771,{ bonus bInt,2; bonus bDex,2; bonus bAgi,1; bonus bUnbreakableHelm; },{},{}
 18613,Black_Musang_Hat,Black Musang Hat,4,40,,200,,3,,1,0xFFFFFFFF,7,2,256,,0,1,771,{ bonus bInt,2; bonus bDex,2; bonus bAgi,1; bonus bUnbreakableHelm; },{},{}

+ 2 - 2
db/pre-re/mob_race2_db.txt

@@ -16,9 +16,9 @@ RC2_GUARDIAN,1285,1286,1287,2081
 // Ninja Classes (Pirate's_Pride)
 // Ninja Classes (Pirate's_Pride)
 RC2_NINJA,1315,1364,1401,1560
 RC2_NINJA,1315,1364,1401,1560
 // GvG
 // GvG
-RC2_GVG,1143,1905,1906,1907
+RC2_GVG,1288,1905,1907,1908
 // Battlefield
 // Battlefield
-RC2_BATTLEFIELD,1906,1909,1914,1915
+RC2_BATTLEFIELD,1906,1909,1910,1911,1912,1913,1914,1915
 // Treasure Chests
 // Treasure Chests
 RC2_TREASURE,1324,1325,1326,1327,1328,1329,1330,1331,1332,1333,1334,1335,1336,1337,1338,1339,1340,1341,1342,1343,1344,1345,1346,1347,1348,1349,1350,1351,1352,1353,1354,1355,1356,1357,1358,1359,1360,1361,1362,1363,1938,1939,1940,1941,1942,1943,1944,1945,1946
 RC2_TREASURE,1324,1325,1326,1327,1328,1329,1330,1331,1332,1333,1334,1335,1336,1337,1338,1339,1340,1341,1342,1343,1344,1345,1346,1347,1348,1349,1350,1351,1352,1353,1354,1355,1356,1357,1358,1359,1360,1361,1362,1363,1938,1939,1940,1941,1942,1943,1944,1945,1946
 // Manuk
 // Manuk

+ 6 - 5
db/pre-re/pet_db.yml

@@ -461,8 +461,8 @@ Body:
       if( .@i >= PET_INTIMATE_LOYAL ){
       if( .@i >= PET_INTIMATE_LOYAL ){
         bonus2 bAddRace,RC_Demihuman,2;
         bonus2 bAddRace,RC_Demihuman,2;
         bonus2 bMagicAddRace,RC_DemiHuman,2;
         bonus2 bMagicAddRace,RC_DemiHuman,2;
-        bonus2 bAddRace,RC_Player,2;
-        bonus2 bMagicAddRace,RC_Player,2;
+        bonus2 bAddRace,RC_Player_Human,2;
+        bonus2 bMagicAddRace,RC_Player_Human,2;
       }
       }
   - Mob: ALICE
   - Mob: ALICE
     TameItem: Sway_Apron
     TameItem: Sway_Apron
@@ -478,7 +478,7 @@ Body:
       if( .@i >= PET_INTIMATE_LOYAL ){
       if( .@i >= PET_INTIMATE_LOYAL ){
         bonus bMdef,1;
         bonus bMdef,1;
         bonus2 bSubRace,RC_DemiHuman,1;
         bonus2 bSubRace,RC_DemiHuman,1;
-        bonus2 bSubRace,RC_Player,1;
+        bonus2 bSubRace,RC_Player_Human,1;
       }
       }
   - Mob: EVENT_RICECAKE
   - Mob: EVENT_RICECAKE
     EggItem: Rice_Cake_Egg
     EggItem: Rice_Cake_Egg
@@ -522,7 +522,7 @@ Body:
       if( .@i >= PET_INTIMATE_LOYAL ){
       if( .@i >= PET_INTIMATE_LOYAL ){
         bonus bDef,1;
         bonus bDef,1;
         bonus2 bSubRace,RC_DemiHuman,1;
         bonus2 bSubRace,RC_DemiHuman,1;
-        bonus2 bSubRace,RC_Player,1;
+        bonus2 bSubRace,RC_Player_Human,1;
       }
       }
   - Mob: ECLIPSE_P
   - Mob: ECLIPSE_P
     EggItem: Spring_Rabbit_Egg
     EggItem: Spring_Rabbit_Egg
@@ -670,7 +670,7 @@ Body:
       
       
       if( .@i >= PET_INTIMATE_LOYAL ){
       if( .@i >= PET_INTIMATE_LOYAL ){
         bonus2 bAddRace,RC_DemiHuman,3;
         bonus2 bAddRace,RC_DemiHuman,3;
-        bonus2 bAddRace,RC_Player,3;
+        bonus2 bAddRace,RC_Player_Human,3;
       }
       }
   - Mob: SUCCUBUS
   - Mob: SUCCUBUS
     TameItem: Boy's_Naivety
     TameItem: Boy's_Naivety
@@ -839,6 +839,7 @@ Body:
       
       
       if( .@i >= PET_INTIMATE_LOYAL ){
       if( .@i >= PET_INTIMATE_LOYAL ){
         bonus2 bSubRace,RC_Brute,3;
         bonus2 bSubRace,RC_Brute,3;
+        bonus2 bSubRace,RC_Player_Doram,3;
       }
       }
   - Mob: BACSOJIN_
   - Mob: BACSOJIN_
     TameItem: Shiny_Wing_Gown
     TameItem: Shiny_Wing_Gown

+ 44 - 21
db/pre-re/skill_db.yml

@@ -2071,8 +2071,6 @@ Body:
     TargetType: Attack
     TargetType: Attack
     DamageFlags:
     DamageFlags:
       NoDamage: true
       NoDamage: true
-    Flags:
-      IncreaseGloomyDayDamage: true
     Range: -2
     Range: -2
     Hit: Single
     Hit: Single
     HitCount: 1
     HitCount: 1
@@ -5838,11 +5836,8 @@ Body:
     Name: NPC_DARKBREATH
     Name: NPC_DARKBREATH
     Description: Dark Breath
     Description: Dark Breath
     MaxLevel: 5
     MaxLevel: 5
-    Type: Misc
+    Type: Magic
     TargetType: Attack
     TargetType: Attack
-    DamageFlags:
-      IgnoreFlee: true
-      IgnoreDefCard: true
     Flags:
     Flags:
       IsNpc: true
       IsNpc: true
     Range: 9
     Range: 9
@@ -6699,8 +6694,6 @@ Body:
     MaxLevel: 5
     MaxLevel: 5
     Type: Weapon
     Type: Weapon
     TargetType: Attack
     TargetType: Attack
-    Flags:
-      IncreaseGloomyDayDamage: true
     Range:
     Range:
       - Level: 1
       - Level: 1
         Size: 3
         Size: 3
@@ -10658,7 +10651,6 @@ Body:
       IgnoreDefense: true
       IgnoreDefense: true
     Flags:
     Flags:
       TargetTrap: true
       TargetTrap: true
-      IncreaseGloomyDayDamage: true
     Range: 5
     Range: 5
     Hit: Multi_Hit
     Hit: Multi_Hit
     HitCount: 5
     HitCount: 5
@@ -12834,8 +12826,6 @@ Body:
     MaxLevel: 5
     MaxLevel: 5
     Type: Weapon
     Type: Weapon
     TargetType: Attack
     TargetType: Attack
-    Flags:
-      IncreaseGloomyDayDamage: true
     Range: 4
     Range: 4
     Hit: Multi_Hit
     Hit: Multi_Hit
     HitCount: 5
     HitCount: 5
@@ -15319,6 +15309,7 @@ Body:
     Flags:
     Flags:
       IsNpc: true
       IsNpc: true
       TargetTrap: true
       TargetTrap: true
+      ShowScale: true
     Hit: Multi_Hit
     Hit: Multi_Hit
     HitCount: 1
     HitCount: 1
     SplashArea:
     SplashArea:
@@ -15424,6 +15415,7 @@ Body:
       Splash: true
       Splash: true
     Flags:
     Flags:
       IsNpc: true
       IsNpc: true
+      ShowScale: true
     Hit: Single
     Hit: Single
     HitCount: 1
     HitCount: 1
     SplashArea:
     SplashArea:
@@ -15470,6 +15462,7 @@ Body:
     Flags:
     Flags:
       IsNpc: true
       IsNpc: true
       TargetTrap: true
       TargetTrap: true
+      ShowScale: true
     Hit: Single
     Hit: Single
     HitCount: 1
     HitCount: 1
     SplashArea: 7
     SplashArea: 7
@@ -15485,6 +15478,7 @@ Body:
     Flags:
     Flags:
       IsNpc: true
       IsNpc: true
       TargetTrap: true
       TargetTrap: true
+      ShowScale: true
     Hit: Single
     Hit: Single
     HitCount: 1
     HitCount: 1
     SplashArea: 14
     SplashArea: 14
@@ -15499,6 +15493,7 @@ Body:
       Splash: true
       Splash: true
     Flags:
     Flags:
       IsNpc: true
       IsNpc: true
+      ShowScale: true
     Hit: Single
     Hit: Single
     HitCount: 1
     HitCount: 1
     SplashArea:
     SplashArea:
@@ -15523,6 +15518,7 @@ Body:
       Splash: true
       Splash: true
     Flags:
     Flags:
       IsNpc: true
       IsNpc: true
+      ShowScale: true
     Hit: Single
     Hit: Single
     HitCount: 1
     HitCount: 1
     SplashArea:
     SplashArea:
@@ -15547,6 +15543,7 @@ Body:
       Splash: true
       Splash: true
     Flags:
     Flags:
       IsNpc: true
       IsNpc: true
+      ShowScale: true
     Hit: Single
     Hit: Single
     HitCount: 1
     HitCount: 1
     SplashArea:
     SplashArea:
@@ -15571,6 +15568,7 @@ Body:
       Splash: true
       Splash: true
     Flags:
     Flags:
       IsNpc: true
       IsNpc: true
+      ShowScale: true
     Hit: Single
     Hit: Single
     HitCount: 1
     HitCount: 1
     SplashArea:
     SplashArea:
@@ -15595,6 +15593,7 @@ Body:
       Splash: true
       Splash: true
     Flags:
     Flags:
       IsNpc: true
       IsNpc: true
+      ShowScale: true
     Hit: Single
     Hit: Single
     HitCount: 1
     HitCount: 1
     SplashArea:
     SplashArea:
@@ -15619,6 +15618,7 @@ Body:
       Splash: true
       Splash: true
     Flags:
     Flags:
       IsNpc: true
       IsNpc: true
+      ShowScale: true
     Hit: Single
     Hit: Single
     HitCount: 1
     HitCount: 1
     SplashArea:
     SplashArea:
@@ -15644,6 +15644,7 @@ Body:
       Splash: true
       Splash: true
     Flags:
     Flags:
       IsNpc: true
       IsNpc: true
+      ShowScale: true
     Hit: Single
     Hit: Single
     HitCount: 1
     HitCount: 1
     Element: Fire
     Element: Fire
@@ -15662,6 +15663,7 @@ Body:
       IgnoreDefCard: true
       IgnoreDefCard: true
     Flags:
     Flags:
       IsNpc: true
       IsNpc: true
+      ShowScale: true
     Range: 7
     Range: 7
     Hit: Single
     Hit: Single
     HitCount: 1
     HitCount: 1
@@ -15758,6 +15760,7 @@ Body:
       Splash: true
       Splash: true
     Flags:
     Flags:
       IsNpc: true
       IsNpc: true
+      ShowScale: true
     Hit: Single
     Hit: Single
     HitCount: 1
     HitCount: 1
     SplashArea:
     SplashArea:
@@ -15874,6 +15877,7 @@ Body:
       Splash: true
       Splash: true
     Flags:
     Flags:
       IsNpc: true
       IsNpc: true
+      ShowScale: true
     Hit: Single
     Hit: Single
     HitCount: 1
     HitCount: 1
     SplashArea:
     SplashArea:
@@ -15898,6 +15902,7 @@ Body:
       Splash: true
       Splash: true
     Flags:
     Flags:
       IsNpc: true
       IsNpc: true
+      ShowScale: true
     Hit: Single
     Hit: Single
     HitCount: 1
     HitCount: 1
     SplashArea:
     SplashArea:
@@ -15922,6 +15927,7 @@ Body:
       Splash: true
       Splash: true
     Flags:
     Flags:
       IsNpc: true
       IsNpc: true
+      ShowScale: true
     Hit: Single
     Hit: Single
     HitCount: 1
     HitCount: 1
     SplashArea:
     SplashArea:
@@ -15955,6 +15961,7 @@ Body:
       Splash: true
       Splash: true
     Flags:
     Flags:
       IsNpc: true
       IsNpc: true
+      ShowScale: true
     Hit: Single
     Hit: Single
     HitCount: 1
     HitCount: 1
     SplashArea:
     SplashArea:
@@ -16234,6 +16241,7 @@ Body:
     Flags:
     Flags:
       IsNpc: true
       IsNpc: true
       IgnoreLandProtector: true
       IgnoreLandProtector: true
+      ShowScale: true
     Hit: Single
     Hit: Single
     HitCount: 1
     HitCount: 1
     Element: Poison
     Element: Poison
@@ -16250,6 +16258,8 @@ Body:
     Name: NPC_COMET
     Name: NPC_COMET
     Description: Comet 2
     Description: Comet 2
     MaxLevel: 1
     MaxLevel: 1
+    Flags:
+      ShowScale: true
   - Id: 716
   - Id: 716
     Name: NPC_MAXPAIN
     Name: NPC_MAXPAIN
     Description: Max Pain
     Description: Max Pain
@@ -16281,6 +16291,8 @@ Body:
     Name: NPC_JACKFROST
     Name: NPC_JACKFROST
     Description: Jack Frost 2
     Description: Jack Frost 2
     MaxLevel: 1
     MaxLevel: 1
+    Flags:
+      ShowScale: true
   - Id: 725
   - Id: 725
     Name: NPC_REVERBERATION
     Name: NPC_REVERBERATION
     Description: Reverberation 2
     Description: Reverberation 2
@@ -16293,6 +16305,7 @@ Body:
       IsNpc: true
       IsNpc: true
       IsTrap: true
       IsTrap: true
       DisableNearNpc: true
       DisableNearNpc: true
+      ShowScale: true
     Range: 1
     Range: 1
     Hit: Single
     Hit: Single
     HitCount: 1
     HitCount: 1
@@ -16333,6 +16346,8 @@ Body:
     Name: NPC_LEX_AETERNA
     Name: NPC_LEX_AETERNA
     Description: Lex Aeterna 2
     Description: Lex Aeterna 2
     MaxLevel: 1
     MaxLevel: 1
+    Flags:
+      ShowScale: true
   - Id: 728
   - Id: 728
     Name: NPC_ARROWSTORM
     Name: NPC_ARROWSTORM
     Description: NPC Arrow Storm
     Description: NPC Arrow Storm
@@ -16847,8 +16862,6 @@ Body:
     MaxLevel: 10
     MaxLevel: 10
     Type: Weapon
     Type: Weapon
     TargetType: Attack
     TargetType: Attack
-    Flags:
-      IncreaseGloomyDayDamage: true
     Range: 5
     Range: 5
     Hit: Multi_Hit
     Hit: Multi_Hit
     HitCount: -5
     HitCount: -5
@@ -19889,9 +19902,9 @@ Body:
       IgnoreDefCard: true
       IgnoreDefCard: true
     Flags:
     Flags:
       AllowOnWarg: true
       AllowOnWarg: true
-      IncreaseDanceWithWugDamage: true
       IgnoreAutoGuard: true
       IgnoreAutoGuard: true
       IgnoreCicada: true
       IgnoreCicada: true
+      IncreaseDanceWithWugDamage: true
     Range: 9
     Range: 9
     Hit: Single
     Hit: Single
     HitCount: 1
     HitCount: 1
@@ -19919,9 +19932,9 @@ Body:
       IgnoreDefCard: true
       IgnoreDefCard: true
     Flags:
     Flags:
       AlterRangeVulture: true
       AlterRangeVulture: true
-      IncreaseDanceWithWugDamage: true
       IgnoreAutoGuard: true
       IgnoreAutoGuard: true
       IgnoreCicada: true
       IgnoreCicada: true
+      IncreaseDanceWithWugDamage: true
     Range: 9
     Range: 9
     Hit: Single
     Hit: Single
     HitCount: 1
     HitCount: 1
@@ -24313,7 +24326,7 @@ Body:
         Reproduce: true
         Reproduce: true
     Requires:
     Requires:
       SpCost: 1
       SpCost: 1
-  - Id: 2417
+  - Id: 2417 # Removed on kRO
     Name: WM_DOMINION_IMPULSE
     Name: WM_DOMINION_IMPULSE
     Description: Dominion Impulse
     Description: Dominion Impulse
     MaxLevel: 1
     MaxLevel: 1
@@ -24326,6 +24339,7 @@ Body:
     HitCount: 1
     HitCount: 1
     SplashArea: 5
     SplashArea: 5
     AfterCastActDelay: 1000
     AfterCastActDelay: 1000
+    FixedCastTime: -1
     Requires:
     Requires:
       SpCost: 10
       SpCost: 10
   - Id: 2418
   - Id: 2418
@@ -26706,8 +26720,8 @@ Body:
     DamageFlags:
     DamageFlags:
       Splash: true
       Splash: true
     Range: 11
     Range: 11
-    Hit: Single
-    HitCount: 3
+    Hit: Multi_Hit
+    HitCount: 2
     Element: Weapon
     Element: Weapon
     SplashArea:
     SplashArea:
       - Level: 1
       - Level: 1
@@ -30115,6 +30129,18 @@ Body:
     Name: AB_CONVENIO
     Name: AB_CONVENIO
     Description: Convenio
     Description: Convenio
     MaxLevel: 1
     MaxLevel: 1
+  - Id: 5075
+    Name: NV_BREAKTHROUGH
+    Description: Break Through
+    MaxLevel: 1
+  - Id: 5076
+    Name: NV_HELPANGEL
+    Description: Help Angel
+    MaxLevel: 1
+  - Id: 5077
+    Name: NV_TRANSCENDENCE
+    Description: Transcendence
+    MaxLevel: 1
   - Id: 8001
   - Id: 8001
     Name: HLIF_HEAL
     Name: HLIF_HEAL
     Description: Healing Touch
     Description: Healing Touch
@@ -32124,8 +32150,6 @@ Body:
     TargetType: Attack
     TargetType: Attack
     DamageFlags:
     DamageFlags:
       NoDamage: true
       NoDamage: true
-    Flags:
-      IncreaseGloomyDayDamage: true
     Range: -2
     Range: -2
     Hit: Single
     Hit: Single
     HitCount: 1
     HitCount: 1
@@ -32150,7 +32174,6 @@ Body:
       IgnoreDefense: true
       IgnoreDefense: true
     Flags:
     Flags:
       TargetTrap: true
       TargetTrap: true
-      IncreaseGloomyDayDamage: true
     Range: 5
     Range: 5
     Hit: Multi_Hit
     Hit: Multi_Hit
     HitCount: 5
     HitCount: 5

+ 12 - 12
db/pre-re/skill_tree.txt

@@ -3219,9 +3219,9 @@
 4068,2382,5,2422,1,0,0,0,0,0,0,0,0 //MI_ECHOSONG#Echo Song#
 4068,2382,5,2422,1,0,0,0,0,0,0,0,0 //MI_ECHOSONG#Echo Song#
 4068,2383,5,2422,1,0,0,0,0,0,0,0,0 //MI_HARMONIZE#Harmonize#
 4068,2383,5,2422,1,0,0,0,0,0,0,0,0 //MI_HARMONIZE#Harmonize#
 4068,2412,10,0,0,0,0,0,0,0,0,0,0 //WM_LESSON#Lesson#
 4068,2412,10,0,0,0,0,0,0,0,0,0,0 //WM_LESSON#Lesson#
-4068,2413,10,2417,1,0,0,0,0,0,0,0,0 //WM_METALICSOUND#Metallic Sound#
+4068,2413,5,0,0,0,0,0,0,0,0,0,0 //WM_METALICSOUND#Metallic Sound#
 4068,2414,5,317,5,0,0,0,0,0,0,0,0 //WM_REVERBERATION#Reverberation#
 4068,2414,5,317,5,0,0,0,0,0,0,0,0 //WM_REVERBERATION#Reverberation#
-4068,2417,1,2414,1,0,0,0,0,0,0,0,0 //WM_DOMINION_IMPULSE#Dominion Impulse#
+//4068,2417,1,2414,1,0,0,0,0,0,0,0,0 //WM_DOMINION_IMPULSE#Dominion Impulse#
 4068,2418,5,316,5,0,0,0,0,0,0,0,0 //WM_SEVERE_RAINSTORM#Severe Rainstorm#
 4068,2418,5,316,5,0,0,0,0,0,0,0,0 //WM_SEVERE_RAINSTORM#Severe Rainstorm#
 4068,2419,5,2412,1,0,0,0,0,0,0,0,0 //WM_POEMOFNETHERWORLD#Poem Of The Netherworld#
 4068,2419,5,2412,1,0,0,0,0,0,0,0,0 //WM_POEMOFNETHERWORLD#Poem Of The Netherworld#
 4068,2420,5,2419,3,0,0,0,0,0,0,0,0 //WM_VOICEOFSIREN#Voice Of Siren#
 4068,2420,5,2419,3,0,0,0,0,0,0,0,0 //WM_VOICEOFSIREN#Voice Of Siren#
@@ -3275,9 +3275,9 @@
 4069,2351,5,2422,1,0,0,0,0,0,0,0,0 //WA_SYMPHONY_OF_LOVER#Symphony of Lovers#
 4069,2351,5,2422,1,0,0,0,0,0,0,0,0 //WA_SYMPHONY_OF_LOVER#Symphony of Lovers#
 4069,2352,5,2422,1,0,0,0,0,0,0,0,0 //WA_MOONLIT_SERENADE#Moonlit Serenade#
 4069,2352,5,2422,1,0,0,0,0,0,0,0,0 //WA_MOONLIT_SERENADE#Moonlit Serenade#
 4069,2412,10,0,0,0,0,0,0,0,0,0,0 //WM_LESSON#Lesson#
 4069,2412,10,0,0,0,0,0,0,0,0,0,0 //WM_LESSON#Lesson#
-4069,2413,10,2417,1,0,0,0,0,0,0,0,0 //WM_METALICSOUND#Metallic Sound#
+4069,2413,5,0,0,0,0,0,0,0,0,0,0 //WM_METALICSOUND#Metallic Sound#
 4069,2414,5,325,5,0,0,0,0,0,0,0,0 //WM_REVERBERATION#Reverberation#
 4069,2414,5,325,5,0,0,0,0,0,0,0,0 //WM_REVERBERATION#Reverberation#
-4069,2417,1,2414,1,0,0,0,0,0,0,0,0 //WM_DOMINION_IMPULSE#Dominion Impulse#
+//4069,2417,1,2414,1,0,0,0,0,0,0,0,0 //WM_DOMINION_IMPULSE#Dominion Impulse#
 4069,2418,5,324,5,0,0,0,0,0,0,0,0 //WM_SEVERE_RAINSTORM#Severe Rainstorm#
 4069,2418,5,324,5,0,0,0,0,0,0,0,0 //WM_SEVERE_RAINSTORM#Severe Rainstorm#
 4069,2419,5,2412,1,0,0,0,0,0,0,0,0 //WM_POEMOFNETHERWORLD#Poem Of The Netherworld#
 4069,2419,5,2412,1,0,0,0,0,0,0,0,0 //WM_POEMOFNETHERWORLD#Poem Of The Netherworld#
 4069,2420,5,2419,3,0,0,0,0,0,0,0,0 //WM_VOICEOFSIREN#Voice Of Siren#
 4069,2420,5,2419,3,0,0,0,0,0,0,0,0 //WM_VOICEOFSIREN#Voice Of Siren#
@@ -3649,9 +3649,9 @@
 4075,2382,5,2422,1,0,0,0,0,0,0,0,0 //MI_ECHOSONG#Echo Song#
 4075,2382,5,2422,1,0,0,0,0,0,0,0,0 //MI_ECHOSONG#Echo Song#
 4075,2383,5,2422,1,0,0,0,0,0,0,0,0 //MI_HARMONIZE#Harmonize#
 4075,2383,5,2422,1,0,0,0,0,0,0,0,0 //MI_HARMONIZE#Harmonize#
 4075,2412,10,0,0,0,0,0,0,0,0,0,0 //WM_LESSON#Lesson#
 4075,2412,10,0,0,0,0,0,0,0,0,0,0 //WM_LESSON#Lesson#
-4075,2413,10,2417,1,0,0,0,0,0,0,0,0 //WM_METALICSOUND#Metallic Sound#
+4075,2413,5,0,0,0,0,0,0,0,0,0,0 //WM_METALICSOUND#Metallic Sound#
 4075,2414,5,317,5,0,0,0,0,0,0,0,0 //WM_REVERBERATION#Reverberation#
 4075,2414,5,317,5,0,0,0,0,0,0,0,0 //WM_REVERBERATION#Reverberation#
-4075,2417,1,2414,1,0,0,0,0,0,0,0,0 //WM_DOMINION_IMPULSE#Dominion Impulse#
+//4075,2417,1,2414,1,0,0,0,0,0,0,0,0 //WM_DOMINION_IMPULSE#Dominion Impulse#
 4075,2418,5,316,5,0,0,0,0,0,0,0,0 //WM_SEVERE_RAINSTORM#Severe Rainstorm#
 4075,2418,5,316,5,0,0,0,0,0,0,0,0 //WM_SEVERE_RAINSTORM#Severe Rainstorm#
 4075,2419,5,2412,1,0,0,0,0,0,0,0,0 //WM_POEMOFNETHERWORLD#Poem Of The Netherworld#
 4075,2419,5,2412,1,0,0,0,0,0,0,0,0 //WM_POEMOFNETHERWORLD#Poem Of The Netherworld#
 4075,2420,5,2419,3,0,0,0,0,0,0,0,0 //WM_VOICEOFSIREN#Voice Of Siren#
 4075,2420,5,2419,3,0,0,0,0,0,0,0,0 //WM_VOICEOFSIREN#Voice Of Siren#
@@ -3711,9 +3711,9 @@
 4076,2351,5,2422,1,0,0,0,0,0,0,0,0 //WA_SYMPHONY_OF_LOVER#Symphony of Lovers#
 4076,2351,5,2422,1,0,0,0,0,0,0,0,0 //WA_SYMPHONY_OF_LOVER#Symphony of Lovers#
 4076,2352,5,2422,1,0,0,0,0,0,0,0,0 //WA_MOONLIT_SERENADE#Moonlit Serenade#
 4076,2352,5,2422,1,0,0,0,0,0,0,0,0 //WA_MOONLIT_SERENADE#Moonlit Serenade#
 4076,2412,10,0,0,0,0,0,0,0,0,0,0 //WM_LESSON#Lesson#
 4076,2412,10,0,0,0,0,0,0,0,0,0,0 //WM_LESSON#Lesson#
-4076,2413,10,2417,1,0,0,0,0,0,0,0,0 //WM_METALICSOUND#Metallic Sound#
+4076,2413,5,0,0,0,0,0,0,0,0,0,0 //WM_METALICSOUND#Metallic Sound#
 4076,2414,5,325,5,0,0,0,0,0,0,0,0 //WM_REVERBERATION#Reverberation#
 4076,2414,5,325,5,0,0,0,0,0,0,0,0 //WM_REVERBERATION#Reverberation#
-4076,2417,1,2414,1,0,0,0,0,0,0,0,0 //WM_DOMINION_IMPULSE#Dominion Impulse#
+//4076,2417,1,2414,1,0,0,0,0,0,0,0,0 //WM_DOMINION_IMPULSE#Dominion Impulse#
 4076,2418,5,324,5,0,0,0,0,0,0,0,0 //WM_SEVERE_RAINSTORM#Severe Rainstorm#
 4076,2418,5,324,5,0,0,0,0,0,0,0,0 //WM_SEVERE_RAINSTORM#Severe Rainstorm#
 4076,2419,5,2412,1,0,0,0,0,0,0,0,0 //WM_POEMOFNETHERWORLD#Poem Of The Netherworld#
 4076,2419,5,2412,1,0,0,0,0,0,0,0,0 //WM_POEMOFNETHERWORLD#Poem Of The Netherworld#
 4076,2420,5,2419,3,0,0,0,0,0,0,0,0 //WM_VOICEOFSIREN#Voice Of Siren#
 4076,2420,5,2419,3,0,0,0,0,0,0,0,0 //WM_VOICEOFSIREN#Voice Of Siren#
@@ -4870,9 +4870,9 @@
 4104,2382,5,2422,1,0,0,0,0,0,0,0,0 //MI_ECHOSONG#Echo Song#
 4104,2382,5,2422,1,0,0,0,0,0,0,0,0 //MI_ECHOSONG#Echo Song#
 4104,2383,5,2422,1,0,0,0,0,0,0,0,0 //MI_HARMONIZE#Harmonize#
 4104,2383,5,2422,1,0,0,0,0,0,0,0,0 //MI_HARMONIZE#Harmonize#
 4104,2412,10,0,0,0,0,0,0,0,0,0,0 //WM_LESSON#Lesson#
 4104,2412,10,0,0,0,0,0,0,0,0,0,0 //WM_LESSON#Lesson#
-4104,2413,10,2417,1,0,0,0,0,0,0,0,0 //WM_METALICSOUND#Metallic Sound#
+4104,2413,5,0,0,0,0,0,0,0,0,0,0 //WM_METALICSOUND#Metallic Sound#
 4104,2414,5,317,5,0,0,0,0,0,0,0,0 //WM_REVERBERATION#Reverberation#
 4104,2414,5,317,5,0,0,0,0,0,0,0,0 //WM_REVERBERATION#Reverberation#
-4104,2417,1,2414,1,0,0,0,0,0,0,0,0 //WM_DOMINION_IMPULSE#Dominion Impulse#
+//4104,2417,1,2414,1,0,0,0,0,0,0,0,0 //WM_DOMINION_IMPULSE#Dominion Impulse#
 4104,2418,5,316,5,0,0,0,0,0,0,0,0 //WM_SEVERE_RAINSTORM#Severe Rainstorm#
 4104,2418,5,316,5,0,0,0,0,0,0,0,0 //WM_SEVERE_RAINSTORM#Severe Rainstorm#
 4104,2419,5,2412,1,0,0,0,0,0,0,0,0 //WM_POEMOFNETHERWORLD#Poem Of The Netherworld#
 4104,2419,5,2412,1,0,0,0,0,0,0,0,0 //WM_POEMOFNETHERWORLD#Poem Of The Netherworld#
 4104,2420,5,2419,3,0,0,0,0,0,0,0,0 //WM_VOICEOFSIREN#Voice Of Siren#
 4104,2420,5,2419,3,0,0,0,0,0,0,0,0 //WM_VOICEOFSIREN#Voice Of Siren#
@@ -4927,9 +4927,9 @@
 4105,2351,5,2422,1,0,0,0,0,0,0,0,0 //WA_SYMPHONY_OF_LOVER#Symphony of Lovers#
 4105,2351,5,2422,1,0,0,0,0,0,0,0,0 //WA_SYMPHONY_OF_LOVER#Symphony of Lovers#
 4105,2352,5,2422,1,0,0,0,0,0,0,0,0 //WA_MOONLIT_SERENADE#Moonlit Serenade#
 4105,2352,5,2422,1,0,0,0,0,0,0,0,0 //WA_MOONLIT_SERENADE#Moonlit Serenade#
 4105,2412,10,0,0,0,0,0,0,0,0,0,0 //WM_LESSON#Lesson#
 4105,2412,10,0,0,0,0,0,0,0,0,0,0 //WM_LESSON#Lesson#
-4105,2413,10,2417,1,0,0,0,0,0,0,0,0 //WM_METALICSOUND#Metallic Sound#
+4105,2413,5,0,0,0,0,0,0,0,0,0,0 //WM_METALICSOUND#Metallic Sound#
 4105,2414,5,325,5,0,0,0,0,0,0,0,0 //WM_REVERBERATION#Reverberation#
 4105,2414,5,325,5,0,0,0,0,0,0,0,0 //WM_REVERBERATION#Reverberation#
-4105,2417,1,2414,1,0,0,0,0,0,0,0,0 //WM_DOMINION_IMPULSE#Dominion Impulse#
+//4105,2417,1,2414,1,0,0,0,0,0,0,0,0 //WM_DOMINION_IMPULSE#Dominion Impulse#
 4105,2418,5,324,5,0,0,0,0,0,0,0,0 //WM_SEVERE_RAINSTORM#Severe Rainstorm#
 4105,2418,5,324,5,0,0,0,0,0,0,0,0 //WM_SEVERE_RAINSTORM#Severe Rainstorm#
 4105,2419,5,2412,1,0,0,0,0,0,0,0,0 //WM_POEMOFNETHERWORLD#Poem Of The Netherworld#
 4105,2419,5,2412,1,0,0,0,0,0,0,0,0 //WM_POEMOFNETHERWORLD#Poem Of The Netherworld#
 4105,2420,5,2419,3,0,0,0,0,0,0,0,0 //WM_VOICEOFSIREN#Voice Of Siren#
 4105,2420,5,2419,3,0,0,0,0,0,0,0,0 //WM_VOICEOFSIREN#Voice Of Siren#

+ 0 - 65
db/re/improvise_db.yml

@@ -1,65 +0,0 @@
-# This file is a part of rAthena.
-#   Copyright(C) 2019 rAthena Development Team
-#   https://rathena.org - https://github.com/rathena
-#
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program. If not, see <http://www.gnu.org/licenses/>.
-#
-###########################################################################
-# Improvised Song Database
-###########################################################################
-#
-# Improvised Song Settings
-#
-###########################################################################
-# - Skill             Skill to be casted by Improvised Song.
-#   Probability       Probability of skill compared to others in database (1 = 0.01%, 10000 = 100%).
-###########################################################################
-
-Header:
-  Type: IMPROVISED_SONG_DB
-  Version: 1
-
-Body:
-  - Skill: MG_NAPALMBEAT
-    Probability: 6000
-  - Skill: MG_SAFETYWALL
-    Probability: 4000
-  - Skill: MG_SOULSTRIKE
-    Probability: 6000
-  - Skill: MG_COLDBOLT
-    Probability: 6000
-  - Skill: MG_FROSTDIVER
-    Probability: 6000
-  - Skill: MG_FIREBALL
-    Probability: 6000
-  - Skill: MG_FIREWALL
-    Probability: 4000
-  - Skill: MG_FIREBOLT
-    Probability: 6000
-  - Skill: MG_LIGHTNINGBOLT
-    Probability: 6000
-  - Skill: MG_THUNDERSTORM
-    Probability: 4000
-  - Skill: WZ_FIREPILLAR
-    Probability: 4000
-  - Skill: WZ_METEOR
-    Probability: 4000
-  - Skill: WZ_JUPITEL
-    Probability: 6000
-  - Skill: WZ_VERMILION
-    Probability: 4000
-  - Skill: WZ_WATERBALL
-    Probability: 6000
-  - Skill: WZ_STORMGUST
-    Probability: 4000

+ 2 - 0
db/re/instance_db.yml

@@ -26,6 +26,8 @@
 #   Name              Instance Name.
 #   Name              Instance Name.
 #   TimeLimit         Total lifetime of instance in seconds. (Default: 3600)
 #   TimeLimit         Total lifetime of instance in seconds. (Default: 3600)
 #   IdleTimeOut       Time before an idle instance is destroyed in seconds. (Default: 300)
 #   IdleTimeOut       Time before an idle instance is destroyed in seconds. (Default: 300)
+#   Destroyable       Toggles the ability to destroy the instance using instance 'Destroy' button. (Default: true)
+#                     Note: the button is displayed based on parties. For any mode, it requires the party leader to be the instance owner to destroy it.
 #   Enter:            Instance entrance coordinates.
 #   Enter:            Instance entrance coordinates.
 #     Map             Map Name where players start.
 #     Map             Map Name where players start.
 #     X               X Coordinate where players start.
 #     X               X Coordinate where players start.

+ 90 - 84
db/re/item_combo_db.txt

@@ -182,18 +182,18 @@
 2358:5153,{ bonus bLuk,6; bonus bFlee,5; bonus bInt,2; }
 2358:5153,{ bonus bLuk,6; bonus bFlee,5; bonus bInt,2; }
 2359:2654,{ bonus bUseSPrate,-20; bonus bMaxHP,300; }
 2359:2654,{ bonus bUseSPrate,-20; bonus bMaxHP,300; }
 2365:2881,{ bonus bDelayRate,-15; }
 2365:2881,{ bonus bDelayRate,-15; }
-2369:2428:2533:5306,{ bonus2 bSubRace,RC_DemiHuman,10; bonus2 bSubRace,RC_Player,10; bonus bMaxHPrate,20; bonus2 bResEff,Eff_Freeze,10000; skill "WZ_FROSTNOVA",10; }
+2369:2428:2533:5306,{ bonus2 bSubRace,RC_DemiHuman,10; bonus2 bSubRace,RC_Player_Human,10; bonus bMaxHPrate,20; bonus2 bResEff,Eff_Freeze,10000; skill "WZ_FROSTNOVA",10; }
 2371:2522,{ bonus bAgi,5; bonus bFlee,10; }
 2371:2522,{ bonus bAgi,5; bonus bFlee,10; }
 2371:2523,{ bonus bAgi,5; bonus bFlee,10; }
 2371:2523,{ bonus bAgi,5; bonus bFlee,10; }
 2374:2729,{ bonus2 bAddClass,Class_All,3; bonus bMatkRate,3; }
 2374:2729,{ bonus2 bAddClass,Class_All,3; bonus bMatkRate,3; }
 2375:2729,{ bonus2 bAddClass,Class_All,3; bonus bMatkRate,3; }
 2375:2729,{ bonus2 bAddClass,Class_All,3; bonus bMatkRate,3; }
-2376:2435:2538,{ bonus2 bSubRace,RC_All,-200; bonus2 bSubRace,RC_DemiHuman,200; bonus2 bSubRace,RC_Player,200; bonus bVit,3; bonus bMaxHPRate,12; bonus bHealpower2,10; bonus bAddItemHealRate,10; autobonus2 "{ bonus2 bHPRegenRate,600,1000; }",5,10000,BF_WEAPON,"{ specialeffect2 EF_HEAL; }"; }
-2377:2435:2538,{ bonus2 bSubRace,RC_All,-200; bonus2 bSubRace,RC_DemiHuman,200; bonus2 bSubRace,RC_Player,200; bonus bStr,3; bonus bMaxHPRate,12; bonus2 bSkillAtk,"MC_MAMMONITE",20; bonus2 bSkillHeal,"AM_POTIONPITCHER",10; bonus2 bSkillHeal2,"AM_POTIONPITCHER",10; bonus2 bSkillHeal2,"AL_HEAL",10; bonus bUnbreakableArmor; }
-2378:2435:2538,{ bonus2 bSubRace,RC_All,-200; bonus2 bSubRace,RC_DemiHuman,200; bonus2 bSubRace,RC_Player,200; bonus bAgi,3; bonus bMaxHPRate,12; bonus bCritical,5; bonus bAspdRate,5; autobonus "{ bonus2 bHPRegenRate,300,1000; }",10,10000,BF_WEAPON,"{ specialeffect2 EF_HEAL; }"; }
-2379:2436:2539,{ bonus2 bSubRace,RC_All,-200; bonus2 bSubRace,RC_DemiHuman,200; bonus2 bSubRace,RC_Player,200; bonus bInt,3; bonus bMaxHPRate,12; bonus2 bResEff,Eff_Stun,2000; autobonus2 "{ bonus bDefEle,Ele_Ghost; }",30,10000,BF_WEAPON,"{ specialeffect2 EF_ENERGYCOAT; }"; }
-2380:2436:2539,{ bonus2 bSubRace,RC_All,-200; bonus2 bSubRace,RC_DemiHuman,200; bonus2 bSubRace,RC_Player,200; bonus bInt,3; bonus bMaxHPRate,12; bonus2 bVariableCastrate,"AL_HOLYLIGHT",-50; bonus bHealPower,6; autobonus2 "{ bonus bDefEle,Ele_Ghost; }",30,10000,BF_WEAPON,"{ specialeffect2 EF_ENERGYCOAT; }"; }
-2381:2436:2539,{ bonus2 bSubRace,RC_All,-200; bonus2 bSubRace,RC_DemiHuman,200; bonus2 bSubRace,RC_Player,200; bonus bDex,3; bonus bMaxHPRate,12; bonus bLongAtkDef,10; bonus bDelayRate,-25; }
-2382:2437:2540,{ bonus2 bSubRace,RC_All,-200; bonus2 bSubRace,RC_DemiHuman,200; bonus2 bSubRace,RC_Player,200; bonus bDex,3; bonus bMaxHPRate,12; bonus bLongAtkDef,10; bonus bDelayRate,-25; }
+2376:2435:2538,{ bonus2 bSubRace,RC_All,-200; bonus2 bSubRace,RC_DemiHuman,200; bonus2 bSubRace,RC_Player_Human,200; bonus bVit,3; bonus bMaxHPRate,12; bonus bHealpower2,10; bonus bAddItemHealRate,10; autobonus2 "{ bonus2 bHPRegenRate,600,1000; }",5,10000,BF_WEAPON,"{ specialeffect2 EF_HEAL; }"; }
+2377:2435:2538,{ bonus2 bSubRace,RC_All,-200; bonus2 bSubRace,RC_DemiHuman,200; bonus2 bSubRace,RC_Player_Human,200; bonus bStr,3; bonus bMaxHPRate,12; bonus2 bSkillAtk,"MC_MAMMONITE",20; bonus2 bSkillHeal,"AM_POTIONPITCHER",10; bonus2 bSkillHeal2,"AM_POTIONPITCHER",10; bonus2 bSkillHeal2,"AL_HEAL",10; bonus bUnbreakableArmor; }
+2378:2435:2538,{ bonus2 bSubRace,RC_All,-200; bonus2 bSubRace,RC_DemiHuman,200; bonus2 bSubRace,RC_Player_Human,200; bonus bAgi,3; bonus bMaxHPRate,12; bonus bCritical,5; bonus bAspdRate,5; autobonus "{ bonus2 bHPRegenRate,300,1000; }",10,10000,BF_WEAPON,"{ specialeffect2 EF_HEAL; }"; }
+2379:2436:2539,{ bonus2 bSubRace,RC_All,-200; bonus2 bSubRace,RC_DemiHuman,200; bonus2 bSubRace,RC_Player_Human,200; bonus bInt,3; bonus bMaxHPRate,12; bonus2 bResEff,Eff_Stun,2000; autobonus2 "{ bonus bDefEle,Ele_Ghost; }",30,10000,BF_WEAPON,"{ specialeffect2 EF_ENERGYCOAT; }"; }
+2380:2436:2539,{ bonus2 bSubRace,RC_All,-200; bonus2 bSubRace,RC_DemiHuman,200; bonus2 bSubRace,RC_Player_Human,200; bonus bInt,3; bonus bMaxHPRate,12; bonus2 bVariableCastrate,"AL_HOLYLIGHT",-50; bonus bHealPower,6; autobonus2 "{ bonus bDefEle,Ele_Ghost; }",30,10000,BF_WEAPON,"{ specialeffect2 EF_ENERGYCOAT; }"; }
+2381:2436:2539,{ bonus2 bSubRace,RC_All,-200; bonus2 bSubRace,RC_DemiHuman,200; bonus2 bSubRace,RC_Player_Human,200; bonus bDex,3; bonus bMaxHPRate,12; bonus bLongAtkDef,10; bonus bDelayRate,-25; }
+2382:2437:2540,{ bonus2 bSubRace,RC_All,-200; bonus2 bSubRace,RC_DemiHuman,200; bonus2 bSubRace,RC_Player_Human,200; bonus bDex,3; bonus bMaxHPRate,12; bonus bLongAtkDef,10; bonus bDelayRate,-25; }
 2387:2440:2744,{ bonus bMaxHPrate,7; bonus bMaxSPrate,7; bonus bVariableCastrate,-3; bonus bDelayrate,-15; }
 2387:2440:2744,{ bonus bMaxHPrate,7; bonus bMaxSPrate,7; bonus bVariableCastrate,-3; bonus bDelayrate,-15; }
 2390:2749,{ bonus bFlee2,5; }
 2390:2749,{ bonus bFlee2,5; }
 2394:2444:2549,{ bonus2 bAddClass,Class_All,5; bonus bMatkRate,5; bonus2 bResEff,Eff_Freeze,10000; bonus2 bSkillHeal2,"AM_POTIONPITCHER",3; bonus2 bSkillHeal2,"AL_HEAL",3; bonus2 bSkillHeal2,"PR_SANCTUARY",3; }
 2394:2444:2549,{ bonus2 bAddClass,Class_All,5; bonus bMatkRate,5; bonus2 bResEff,Eff_Freeze,10000; bonus2 bSkillHeal2,"AM_POTIONPITCHER",3; bonus2 bSkillHeal2,"AL_HEAL",3; bonus2 bSkillHeal2,"PR_SANCTUARY",3; }
@@ -275,9 +275,9 @@
 2481:2731,{ bonus bMatkRate,getequiprefinerycnt(EQI_SHOES)/2; bonus bVariableCastrate,-(getequiprefinerycnt(EQI_SHOES)/2); }
 2481:2731,{ bonus bMatkRate,getequiprefinerycnt(EQI_SHOES)/2; bonus bVariableCastrate,-(getequiprefinerycnt(EQI_SHOES)/2); }
 2481:10031,{ bonus bCritical,(getequiprefinerycnt(EQI_SHOES)/2)*10; }
 2481:10031,{ bonus bCritical,(getequiprefinerycnt(EQI_SHOES)/2)*10; }
 2482:2585:2895:2896:15045:18578,{ bonus bMaxHP,500; bonus bMaxSP,300; bonus bBaseAtk,10; bonus bDef,10; }
 2482:2585:2895:2896:15045:18578,{ bonus bMaxHP,500; bonus bMaxSP,300; bonus bBaseAtk,10; bonus bDef,10; }
-2483:2586:15046,{ bonus bVit,5; bonus2 bSubRace,RC_DemiHuman,15; bonus2 bSubRace,RC_Player,15; }
-2484:2586:15047,{ bonus bDex,5; bonus2 bSubRace,RC_DemiHuman,15; bonus2 bSubRace,RC_Player,15; }
-2485:2587:15048,{ bonus bInt,5; bonus bMdef,10; bonus2 bSubRace,RC_DemiHuman,15; bonus2 bSubRace,RC_Player,15; }
+2483:2586:15046,{ bonus bVit,5; bonus2 bSubRace,RC_DemiHuman,15; bonus2 bSubRace,RC_Player_Human,15; }
+2484:2586:15047,{ bonus bDex,5; bonus2 bSubRace,RC_DemiHuman,15; bonus2 bSubRace,RC_Player_Human,15; }
+2485:2587:15048,{ bonus bInt,5; bonus bMdef,10; bonus2 bSubRace,RC_DemiHuman,15; bonus2 bSubRace,RC_Player_Human,15; }
 2507:15146,{ .@r = getequiprefinerycnt(EQI_ARMOR); bonus bMaxSPrate,10+.@r; bonus bFlee,10+.@r; }
 2507:15146,{ .@r = getequiprefinerycnt(EQI_ARMOR); bonus bMaxSPrate,10+.@r; bonus bFlee,10+.@r; }
 2507:15163,{ bonus bVariableCastrate,-(2*getequiprefinerycnt(EQI_ARMOR)); bonus bNoCastCancel; }
 2507:15163,{ bonus bVariableCastrate,-(2*getequiprefinerycnt(EQI_ARMOR)); bonus bNoCastCancel; }
 2509:15146,{ .@r = getequiprefinerycnt(EQI_ARMOR); bonus bMaxHPrate,10+.@r; bonus bMatkRate,2+.@r; }
 2509:15146,{ .@r = getequiprefinerycnt(EQI_ARMOR); bonus bMaxHPrate,10+.@r; bonus bMatkRate,2+.@r; }
@@ -295,7 +295,7 @@
 2527:13001,{ bonus2 bAddRace,RC_Dragon,5; }
 2527:13001,{ bonus2 bAddRace,RC_Dragon,5; }
 2527:13030,{ bonus2 bAddRace,RC_Dragon,5; }
 2527:13030,{ bonus2 bAddRace,RC_Dragon,5; }
 2535:15163,{ bonus5 bAutoSpell,"AL_HEAL",1,(10*getequiprefinerycnt(EQI_ARMOR)),BF_MAGIC,0; }
 2535:15163,{ bonus5 bAutoSpell,"AL_HEAL",1,(10*getequiprefinerycnt(EQI_ARMOR)),BF_MAGIC,0; }
-2584:5579,{ .@r = getequiprefinerycnt(EQI_GARMENT); if(.@r>=5) { skill "TF_DOUBLE",1; bonus bDoubleRate,25; } else if(.@r>=7) { .@bonus = max(getskilllv("TF_DOUBLE"),5); skill "TF_DOUBLE",.@bonus; bonus bDoubleRate,.@bonus*5; } }
+2584:5579,{ .@r = getequiprefinerycnt(EQI_GARMENT); if(.@r>=7) { .@bonus = max(getskilllv("TF_DOUBLE"),5); skill "TF_DOUBLE",.@bonus; bonus bDoubleRate,.@bonus*5; } else if(.@r>=5) { skill "TF_DOUBLE",1; bonus bDoubleRate,25; } }
 2597:28342,{ bonus bCritAtkRate,5; bonus bCritical,10; .@r = getequiprefinerycnt(EQI_GARMENT); if (.@r > 7) bonus bCritAtkRate,4; else if (.@r > 5) bonus bCritAtkRate,3; }
 2597:28342,{ bonus bCritAtkRate,5; bonus bCritical,10; .@r = getequiprefinerycnt(EQI_GARMENT); if (.@r > 7) bonus bCritAtkRate,4; else if (.@r > 5) bonus bCritAtkRate,3; }
 //2598:Ramor Shield,{ .@r = getequiprefinerycnt(EQI_GARMENT); bonus2 bSubRace,RC_Undead,.@r; bonus2 bSubRace,RC_DemiHuman,.@r; }
 //2598:Ramor Shield,{ .@r = getequiprefinerycnt(EQI_GARMENT); bonus2 bSubRace,RC_Undead,.@r; bonus2 bSubRace,RC_DemiHuman,.@r; }
 2607:2677,{ bonus2 bSkillAtk,"AL_HEAL",50; bonus2 bSkillAtk,"PR_MAGNUS",30; bonus bSPrecovRate,9; }
 2607:2677,{ bonus2 bSkillAtk,"AL_HEAL",50; bonus2 bSkillAtk,"PR_MAGNUS",30; bonus bSPrecovRate,9; }
@@ -365,7 +365,7 @@
 2782:19156,{ .@r = getequiprefinerycnt(EQI_HEAD_TOP); if (.@r < 4) { .@a = 4; } else { .@a = min(.@r,10); } bonus3 bAutoSpell,"WZ_WATERBALL",.@a,(.@a*10); }
 2782:19156,{ .@r = getequiprefinerycnt(EQI_HEAD_TOP); if (.@r < 4) { .@a = 4; } else { .@a = min(.@r,10); } bonus3 bAutoSpell,"WZ_WATERBALL",.@a,(.@a*10); }
 2826:2827:5577,{ autobonus "{ bonus bAspdRate,2; }",50,10000,0,"{ specialeffect2 EF_POTION_BERSERK; }"; bonus bMaxHP,BaseLevel*15; bonus bMaxSP,(BaseLevel*12)/10; bonus2 bAddClass,Class_All,3; }
 2826:2827:5577,{ autobonus "{ bonus bAspdRate,2; }",50,10000,0,"{ specialeffect2 EF_POTION_BERSERK; }"; bonus bMaxHP,BaseLevel*15; bonus bMaxSP,(BaseLevel*12)/10; bonus2 bAddClass,Class_All,3; }
 28513:18848,{ .@r = getequiprefinerycnt(EQI_HEAD_TOP); .@a = min(.@r,10); bonus bAllStats,.@a; bonus bFixedCastrate,-50; if (.@r>=7) { bonus2 bMagicAddClass,Class_Boss,20; } }
 28513:18848,{ .@r = getequiprefinerycnt(EQI_HEAD_TOP); .@a = min(.@r,10); bonus bAllStats,.@a; bonus bFixedCastrate,-50; if (.@r>=7) { bonus2 bMagicAddClass,Class_Boss,20; } }
-28513:18849,{ .@r = getequiprefinerycnt(EQI_HEAD_TOP); bonus bAllStats,.@r; bonus2 bMagicAddClass,Class_Boss,10; bonus bFixedCastrate,-50; if (.@r>=7) { bonus2 bMagicAddClass,Class_Boss,20; bonus2 bSubRace,RC_DemiHuman,10; bonus2 bSubRace,RC_Player,10; } if (.@r>=9) { bonus2 bMagicAddClass,Class_Boss,20; bonus2 bSubRace,RC_DemiHuman,2; bonus2 bSubRace,RC_Player,2; } }
+28513:18849,{ .@r = getequiprefinerycnt(EQI_HEAD_TOP); bonus bAllStats,.@r; bonus2 bMagicAddClass,Class_Boss,10; bonus bFixedCastrate,-50; if (.@r>=7) { bonus2 bMagicAddClass,Class_Boss,20; bonus2 bSubRace,RC_DemiHuman,10; bonus2 bSubRace,RC_Player_Human,10; } if (.@r>=9) { bonus2 bMagicAddClass,Class_Boss,20; bonus2 bSubRace,RC_DemiHuman,2; bonus2 bSubRace,RC_Player_Human,2; } }
 28513:2980,{ bonus bBaseAtk,50; bonus bMatk,50; bonus bAspd,2; bonus3 bAutoSpell,"SO_EARTHGRAVE",1,20; bonus3 bAutoSpell,"SO_VARETYR_SPEAR",1,20; bonus3 bAutoSpell,"WL_RECOGNIZEDSPELL",1,10; bonus3 bAutoSpell,"WZ_QUAGMIRE",3,50; }
 28513:2980,{ bonus bBaseAtk,50; bonus bMatk,50; bonus bAspd,2; bonus3 bAutoSpell,"SO_EARTHGRAVE",1,20; bonus3 bAutoSpell,"SO_VARETYR_SPEAR",1,20; bonus3 bAutoSpell,"WL_RECOGNIZEDSPELL",1,10; bonus3 bAutoSpell,"WZ_QUAGMIRE",3,50; }
 28520:15061,{ .@r = getequiprefinerycnt(EQI_ARMOR); if (.@r >= 7) { .@val = 5000; } else { .@val = 2500; } bonus2 bResEff,Eff_Stun,.@val; bonus2 bResEff,Eff_Silence,.@val; }
 28520:15061,{ .@r = getequiprefinerycnt(EQI_ARMOR); if (.@r >= 7) { .@val = 5000; } else { .@val = 2500; } bonus2 bResEff,Eff_Stun,.@val; bonus2 bResEff,Eff_Silence,.@val; }
 28520:15061:18728:20700:2495,{ bonus bFlee2,30; bonus2 bSubEle,Ele_Water,15; bonus2 bResEff,Eff_Freeze,10000; }
 28520:15061:18728:20700:2495,{ bonus bFlee2,30; bonus2 bSubEle,Ele_Water,15; bonus2 bResEff,Eff_Freeze,10000; }
@@ -373,13 +373,13 @@
 28520:20700,{ if (getequiprefinerycnt(EQI_GARMENT)>=7) .@val = 2; else .@val = 1; bonus2 bSubEle,Ele_Fire,25*.@val; bonus2 bSubEle,Ele_Water,25*.@val; }
 28520:20700,{ if (getequiprefinerycnt(EQI_GARMENT)>=7) .@val = 2; else .@val = 1; bonus2 bSubEle,Ele_Fire,25*.@val; bonus2 bSubEle,Ele_Water,25*.@val; }
 28520:2495,{ if (getequiprefinerycnt(EQI_SHOES)>=7) .@val = 2; else .@val = 1; bonus bMaxHPrate,10*.@val; bonus bMaxSPrate,10*.@val; }
 28520:2495,{ if (getequiprefinerycnt(EQI_SHOES)>=7) .@val = 2; else .@val = 1; bonus bMaxHPrate,10*.@val; bonus bMaxSPrate,10*.@val; }
 28520:4525,{ bonus bMdef,15; bonus bFlee,100; bonus bMaxHPrate,15; skill "RG_TUNNELDRIVE",1; bonus bIntravision; }
 28520:4525,{ bonus bMdef,15; bonus bFlee,100; bonus bMaxHPrate,15; skill "RG_TUNNELDRIVE",1; bonus bIntravision; }
-28521:1387,{ .@r = getequiprefinerycnt(EQI_HAND_R); bonus2 bSubRace,RC_DemiHuman,3; bonus2 bSubRace,RC_Player,3; if (.@r>=7) { bonus2 bAddClass,Class_Boss,5; bonus2 bSkillAtk,"WS_CARTTERMINATION",5; } if (.@r>=9) { bonus2 bAddClass,Class_Boss,10; bonus2 bSkillAtk,"WS_CARTTERMINATION",10; } }
-28521:1490,{ .@r = getequiprefinerycnt(EQI_HAND_R); bonus2 bSubRace,RC_DemiHuman,3; bonus2 bSubRace,RC_Player,3; if (.@r>=7) { bonus2 bAddClass,Class_Boss,5; bonus2 bSkillAtk,"LK_SPIRALPIERCE",5; bonus2 bSkillAtk,"RK_SONICWAVE",5; } if (.@r>=9) { bonus2 bAddClass,Class_Boss,10; bonus2 bSkillAtk,"LK_SPIRALPIERCE",10; bonus2 bSkillAtk,"RK_SONICWAVE",10; } }
+28521:1387,{ .@r = getequiprefinerycnt(EQI_HAND_R); bonus2 bSubRace,RC_DemiHuman,3; bonus2 bSubRace,RC_Player_Human,3; if (.@r>=7) { bonus2 bAddClass,Class_Boss,5; bonus2 bSkillAtk,"WS_CARTTERMINATION",5; } if (.@r>=9) { bonus2 bAddClass,Class_Boss,10; bonus2 bSkillAtk,"WS_CARTTERMINATION",10; } }
+28521:1490,{ .@r = getequiprefinerycnt(EQI_HAND_R); bonus2 bSubRace,RC_DemiHuman,3; bonus2 bSubRace,RC_Player_Human,3; if (.@r>=7) { bonus2 bAddClass,Class_Boss,5; bonus2 bSkillAtk,"LK_SPIRALPIERCE",5; bonus2 bSkillAtk,"RK_SONICWAVE",5; } if (.@r>=9) { bonus2 bAddClass,Class_Boss,10; bonus2 bSkillAtk,"LK_SPIRALPIERCE",10; bonus2 bSkillAtk,"RK_SONICWAVE",10; } }
 28521:18122,{ .@r = getequiprefinerycnt(EQI_HAND_R); bonus bLongAtkRate,2*(readparam(bStr)/10); if (.@r>=7) { bonus2 bAddClass,Class_Boss,5; bonus2 bSkillAtk,"RA_ARROWSTORM",5; bonus2 bSkillAtk,"RA_AIMEDBOLT",5; } if (.@r>=9) { bonus2 bAddClass,Class_Boss,10; bonus2 bSkillAtk,"RA_ARROWSTORM",10; bonus2 bSkillAtk,"RA_AIMEDBOLT",10; } }
 28521:18122,{ .@r = getequiprefinerycnt(EQI_HAND_R); bonus bLongAtkRate,2*(readparam(bStr)/10); if (.@r>=7) { bonus2 bAddClass,Class_Boss,5; bonus2 bSkillAtk,"RA_ARROWSTORM",5; bonus2 bSkillAtk,"RA_AIMEDBOLT",5; } if (.@r>=9) { bonus2 bAddClass,Class_Boss,10; bonus2 bSkillAtk,"RA_ARROWSTORM",10; bonus2 bSkillAtk,"RA_AIMEDBOLT",10; } }
 2855:5360,{ bonus bCritAtkRate,10; if(getequiprefinerycnt(EQI_HEAD_TOP)>5) bonus bCritical,5; }
 2855:5360,{ bonus bCritAtkRate,10; if(getequiprefinerycnt(EQI_HEAD_TOP)>5) bonus bCritical,5; }
 2913:2710,{ bonus bBaseAtk,10; }
 2913:2710,{ bonus bBaseAtk,10; }
 28910:20800,{ bonus bLongAtkDef,-35; }
 28910:20800,{ bonus bLongAtkDef,-35; }
-28918:2998,{ bonus2 bSubRace,RC_Undead,4; bonus2 bSubRace,RC_Demon,4; bonus2 bSubRace,RC_Demihuman,3; bonus2 bSubRace,RC_Player,3; }
+28918:2998,{ bonus2 bSubRace,RC_Undead,4; bonus2 bSubRace,RC_Demon,4; bonus2 bSubRace,RC_Demihuman,3; bonus2 bSubRace,RC_Player_Human,3; }
 28929:4058,{ .@r = getequiprefinerycnt(EQI_HAND_L); bonus2 bExpAddRace,RC_DemiHuman,5; if (.@r>=6) bonus2 bExpAddRace,RC_DemiHuman,5; if (.@r>=8) bonus2 bExpAddRace,RC_DemiHuman,5; }
 28929:4058,{ .@r = getequiprefinerycnt(EQI_HAND_L); bonus2 bExpAddRace,RC_DemiHuman,5; if (.@r>=6) bonus2 bExpAddRace,RC_DemiHuman,5; if (.@r>=8) bonus2 bExpAddRace,RC_DemiHuman,5; }
 28929:4066,{ .@r = getequiprefinerycnt(EQI_HAND_L); bonus2 bExpAddRace,RC_Brute,5; if (.@r>=6) bonus2 bExpAddRace,RC_Brute,5; if (.@r>=8) bonus2 bExpAddRace,RC_Brute,5; }
 28929:4066,{ .@r = getequiprefinerycnt(EQI_HAND_L); bonus2 bExpAddRace,RC_Brute,5; if (.@r>=6) bonus2 bExpAddRace,RC_Brute,5; if (.@r>=8) bonus2 bExpAddRace,RC_Brute,5; }
 28929:4074,{ .@r = getequiprefinerycnt(EQI_HAND_L); bonus2 bExpAddRace,RC_Insect,5; if (.@r>=6) bonus2 bExpAddRace,RC_Insect,5; if (.@r>=8) bonus2 bExpAddRace,RC_Insect,5; }
 28929:4074,{ .@r = getequiprefinerycnt(EQI_HAND_L); bonus2 bExpAddRace,RC_Insect,5; if (.@r>=6) bonus2 bExpAddRace,RC_Insect,5; if (.@r>=8) bonus2 bExpAddRace,RC_Insect,5; }
@@ -414,7 +414,7 @@
 29598:26158,{ .@r= getequiprefinerycnt(EQI_HAND_R)/3; bonus2 bSkillAtk,"WL_HELLINFERNO",7*.@r; bonus2 bSkillAtk,"WL_CRIMSONROCK",5*.@r; }
 29598:26158,{ .@r= getequiprefinerycnt(EQI_HAND_R)/3; bonus2 bSkillAtk,"WL_HELLINFERNO",7*.@r; bonus2 bSkillAtk,"WL_CRIMSONROCK",5*.@r; }
 29599:16095,{ .@r= getequiprefinerycnt(EQI_HAND_R)/3; bonus2 bSkillAtk,"AB_JUDEX",10*.@r; bonus2 bSkillAtk,"AB_DUPLELIGHT",5*.@r; }
 29599:16095,{ .@r= getequiprefinerycnt(EQI_HAND_R)/3; bonus2 bSkillAtk,"AB_JUDEX",10*.@r; bonus2 bSkillAtk,"AB_DUPLELIGHT",5*.@r; }
 29599:2057,{ .@r= getequiprefinerycnt(EQI_HAND_R)/3; bonus2 bMagicAtkEle,Ele_Holy,5*.@r; bonus2 bSkillAtk,"AB_ADORAMUS",5*.@r; }
 29599:2057,{ .@r= getequiprefinerycnt(EQI_HAND_R)/3; bonus2 bMagicAtkEle,Ele_Holy,5*.@r; bonus2 bSkillAtk,"AB_ADORAMUS",5*.@r; }
-29599:26161,{ .@r= getequiprefinerycnt(EQI_HAND_R)3; bonus2 bSkillAtk,"PR_MAGNUS",10*.@r; bonus2 bSkillAtk,"AB_JUDEX",5*.@r; }
+29599:26161,{ .@r= getequiprefinerycnt(EQI_HAND_R)/3; bonus2 bSkillAtk,"PR_MAGNUS",10*.@r; bonus2 bSkillAtk,"AB_JUDEX",5*.@r; }
 29600:18185,{ .@r= getequiprefinerycnt(EQI_HAND_R)/3; bonus bCritAtkRate,5*.@r; bonus2 bSkillAtk,"SN_SHARPSHOOTING",7*.@r; }
 29600:18185,{ .@r= getequiprefinerycnt(EQI_HAND_R)/3; bonus bCritAtkRate,5*.@r; bonus2 bSkillAtk,"SN_SHARPSHOOTING",7*.@r; }
 29600:18186,{ .@r= getequiprefinerycnt(EQI_HAND_R)/3; bonus2 bSkillAtk,"RA_AIMEDBOLT",7*.@r; bonus2 bSkillUseSPrate,"RA_AIMEDBOLT",2*.@r; }
 29600:18186,{ .@r= getequiprefinerycnt(EQI_HAND_R)/3; bonus2 bSkillAtk,"RA_AIMEDBOLT",7*.@r; bonus2 bSkillUseSPrate,"RA_AIMEDBOLT",2*.@r; }
 29600:18187,{ .@r= getequiprefinerycnt(EQI_HAND_R)/3; bonus2 bSkillCooldown,"RA_UNLIMIT",-15000*.@r; bonus2 bSkillUseSPrate,"RA_ARROWSTORM",2*.@r; }
 29600:18187,{ .@r= getequiprefinerycnt(EQI_HAND_R)/3; bonus2 bSkillCooldown,"RA_UNLIMIT",-15000*.@r; bonus2 bSkillUseSPrate,"RA_ARROWSTORM",2*.@r; }
@@ -440,9 +440,9 @@
 29607:32107,{ .@r= getequiprefinerycnt(EQI_HAND_R)/3; bonus2 bMagicAtkEle,Ele_Neutral,5*.@r; bonus2 bSkillAtk,"WM_METALICSOUND",5*.@r; }
 29607:32107,{ .@r= getequiprefinerycnt(EQI_HAND_R)/3; bonus2 bMagicAtkEle,Ele_Neutral,5*.@r; bonus2 bSkillAtk,"WM_METALICSOUND",5*.@r; }
 29607:32108,{ .@r= getequiprefinerycnt(EQI_HAND_R)/3; bonus2 bSkillAtk,"WM_SEVERE_RAINSTORM",5*.@r; bonus bLongAtkRate,2*.@r; }
 29607:32108,{ .@r= getequiprefinerycnt(EQI_HAND_R)/3; bonus2 bSkillAtk,"WM_SEVERE_RAINSTORM",5*.@r; bonus bLongAtkRate,2*.@r; }
 2963:15073,{ bonus bAspdRate,5; }
 2963:15073,{ bonus bAspdRate,5; }
-2963:15074,{ bonus bDelayrate,-5; bonus2 bSubRace,RC_DemiHuman,5; bonus2 bSubRace,RC_Player,5; }
+2963:15074,{ bonus bDelayrate,-5; bonus2 bSubRace,RC_DemiHuman,5; bonus2 bSubRace,RC_Player_Human,5; }
 2963:20944,{ bonus bDelayrate,-5; }
 2963:20944,{ bonus bDelayrate,-5; }
-2964:15073,{ bonus bDelayrate,-5; bonus2 bSubRace,RC_DemiHuman,5; bonus2 bSubRace,RC_Player,5; }
+2964:15073,{ bonus bDelayrate,-5; bonus2 bSubRace,RC_DemiHuman,5; bonus2 bSubRace,RC_Player_Human,5; }
 2964:15074,{ bonus bVariableCastrate,-5; }
 2964:15074,{ bonus bVariableCastrate,-5; }
 2964:20943,{ bonus bUseSPrate,-5; }
 2964:20943,{ bonus bUseSPrate,-5; }
 2966:2967:13092,{ bonus bBaseAtk,-(getequiprefinerycnt(EQI_HAND_R)*10); }
 2966:2967:13092,{ bonus bBaseAtk,-(getequiprefinerycnt(EQI_HAND_R)*10); }
@@ -473,11 +473,11 @@
 2983:4269,{ bonus bInt,-3; bonus bSPrecovRate,-20; bonus bMaxSP,150; }
 2983:4269,{ bonus bInt,-3; bonus bSPrecovRate,-20; bonus bMaxSP,150; }
 2984:4151,{ bonus2 bSubRace,RC_Plant,-10; bonus2 bExpAddRace,RC_Plant,5; }
 2984:4151,{ bonus2 bSubRace,RC_Plant,-10; bonus2 bExpAddRace,RC_Plant,5; }
 2984:4164,{ bonus2 bSubRace,RC_Fish,-10; bonus2 bExpAddRace,RC_Fish,5; }
 2984:4164,{ bonus2 bSubRace,RC_Fish,-10; bonus2 bExpAddRace,RC_Fish,5; }
-2984:4204,{ bonus2 bSubRace,RC_Brute,-10; bonus2 bExpAddRace,RC_Brute,5; }
+2984:4204,{ bonus2 bSubRace,RC_Brute,-10; bonus2 bSubRace,RC_Player_Doram,-10; bonus2 bExpAddRace,RC_Brute,5; }
 2984:4221,{ bonus2 bSubRace,RC_Insect,-10; bonus2 bExpAddRace,RC_Insect,5; }
 2984:4221,{ bonus2 bSubRace,RC_Insect,-10; bonus2 bExpAddRace,RC_Insect,5; }
 2984:4235,{ bonus2 bSubRace,RC_Angel,-10; bonus2 bExpAddRace,RC_Angel,5; }
 2984:4235,{ bonus2 bSubRace,RC_Angel,-10; bonus2 bExpAddRace,RC_Angel,5; }
 2984:4239,{ bonus2 bSubRace,RC_Formless,-10; bonus2 bExpAddRace,RC_Formless,5; }
 2984:4239,{ bonus2 bSubRace,RC_Formless,-10; bonus2 bExpAddRace,RC_Formless,5; }
-2984:4245,{ bonus2 bSubRace,RC_DemiHuman,-10; bonus2 bSubRace,RC_Player,-10; bonus2 bExpAddRace,RC_DemiHuman,5; }
+2984:4245,{ bonus2 bSubRace,RC_DemiHuman,-10; bonus2 bSubRace,RC_Player_Human,-10; bonus2 bExpAddRace,RC_DemiHuman,5; }
 2984:4249,{ bonus2 bSubRace,RC_Demon,-10; bonus2 bExpAddRace,RC_Demon,5; }
 2984:4249,{ bonus2 bSubRace,RC_Demon,-10; bonus2 bExpAddRace,RC_Demon,5; }
 2984:4267,{ bonus2 bSubRace,RC_Dragon,-10; bonus2 bExpAddRace,RC_Dragon,5; }
 2984:4267,{ bonus2 bSubRace,RC_Dragon,-10; bonus2 bExpAddRace,RC_Dragon,5; }
 2984:4275,{ bonus2 bSubRace,RC_Undead,-10; bonus2 bExpAddRace,RC_Undead,5; }
 2984:4275,{ bonus2 bSubRace,RC_Undead,-10; bonus2 bExpAddRace,RC_Undead,5; }
@@ -537,7 +537,7 @@
 4168:4169,{ bonus bMaxHPrate,20; bonus bMaxSPrate,20; bonus bVariableCastrate,-10; }
 4168:4169,{ bonus bMaxHPrate,20; bonus bMaxSPrate,20; bonus bVariableCastrate,-10; }
 4169:4488,{ if(getequiprefinerycnt(EQI_SHOES) >= 15) { bonus bMaxHPrate,15; bonus bMaxSPrate,15; } else { bonus bMaxHPrate,10; bonus bMaxSPrate,10; } }
 4169:4488,{ if(getequiprefinerycnt(EQI_SHOES) >= 15) { bonus bMaxHPrate,15; bonus bMaxSPrate,15; } else { bonus bMaxHPrate,10; bonus bMaxSPrate,10; } }
 4172:4210:4230:4257:4272,{ bonus bAgi,5; bonus bStr,5; bonus bAspdRate,5; bonus bSpeedRate,25; bonus bSPDrainValue,1; if(BaseClass==Job_Thief) bonus bNoGemStone; }
 4172:4210:4230:4257:4272,{ bonus bAgi,5; bonus bStr,5; bonus bAspdRate,5; bonus bSpeedRate,25; bonus bSPDrainValue,1; if(BaseClass==Job_Thief) bonus bNoGemStone; }
-4178:4199:4234:4252:4297,{ bonus bAgi,5; bonus bDex,3; bonus bLongAtkRate,20; bonus bPerfectHitAddRate,20; if(BaseClass==Job_Archer) { bonus2 bExpAddRace,RC_Brute,5; bonus2 bComaRace,RC_Brute,100; } }
+4178:4199:4234:4252:4297,{ bonus bAgi,5; bonus bDex,3; bonus bLongAtkRate,20; bonus bPerfectHitAddRate,20; if(BaseClass==Job_Archer) { bonus2 bExpAddRace,RC_Brute,5; bonus2 bComaRace,RC_Brute,100; bonus2 bComaRace,RC_Player_Doram,100; } }
 4178:4234:4252:4297:4381,{ bonus bDex,5; bonus2 bSkillAtk,"CG_ARROWVULCAN",5; bonus2 bSkillAtk,"DC_THROWARROW",10; bonus2 bSkillAtk,"BA_MUSICALSTRIKE",10; if(BaseJob==Job_Bard||BaseJob==Job_Dancer) bonus3 bAutoSpellWhenHit,"CG_TAROTCARD",2,50; }
 4178:4234:4252:4297:4381,{ bonus bDex,5; bonus2 bSkillAtk,"CG_ARROWVULCAN",5; bonus2 bSkillAtk,"DC_THROWARROW",10; bonus2 bSkillAtk,"BA_MUSICALSTRIKE",10; if(BaseJob==Job_Bard||BaseJob==Job_Dancer) bonus3 bAutoSpellWhenHit,"CG_TAROTCARD",2,50; }
 4185:4217:4280:4293:4312,{ bonus bVit,10; bonus bVariableCastrate,-10; bonus bUseSPRate,-10; if(BaseClass==Job_Acolyte) { bonus2 bExpAddRace,RC_Undead,5; bonus2 bExpAddRace,RC_Demon,5; bonus2 bSubRace,RC_Undead,30; bonus2 bSubRace,RC_Demon,30; } }
 4185:4217:4280:4293:4312,{ bonus bVit,10; bonus bVariableCastrate,-10; bonus bUseSPRate,-10; if(BaseClass==Job_Acolyte) { bonus2 bExpAddRace,RC_Undead,5; bonus2 bExpAddRace,RC_Demon,5; bonus2 bSubRace,RC_Undead,30; bonus2 bSubRace,RC_Demon,30; } }
 4185:4293:4312:4332,{ bonus bStr,3; bonus bMaxSP,80; bonus bBaseAtk,25; bonus3 bAutoSpell,"AL_CRUCIS",5,10; bonus2 bSkillAtk,"MO_EXTREMITYFIST",10; if(BaseJob==Job_Monk) { bonus bUseSPrate,-10; bonus bNoCastCancel; } }
 4185:4293:4312:4332,{ bonus bStr,3; bonus bMaxSP,80; bonus bBaseAtk,25; bonus3 bAutoSpell,"AL_CRUCIS",5,10; bonus2 bSkillAtk,"MO_EXTREMITYFIST",10; if(BaseJob==Job_Monk) { bonus bUseSPrate,-10; bonus bNoCastCancel; } }
@@ -551,7 +551,7 @@
 4220:4246:4311:4319:4331,{ bonus bStr,10; bonus bMaxHPrate,20; bonus bHPrecovRate,50; bonus3 bAutoSpell,"BS_WEAPONPERFECT",1,3; bonus2 bAddMonsterDropItem,501,500; if(BaseClass==Job_Swordman) bonus2 bAddItemGroupHealRate,IG_Potion,50; }
 4220:4246:4311:4319:4331,{ bonus bStr,10; bonus bMaxHPrate,20; bonus bHPrecovRate,50; bonus3 bAutoSpell,"BS_WEAPONPERFECT",1,3; bonus2 bAddMonsterDropItem,501,500; if(BaseClass==Job_Swordman) bonus2 bAddItemGroupHealRate,IG_Potion,50; }
 4020:27328,{ bonus bBaseAtk,15; bonus2 bAddEle,Ele_Dark,20; }
 4020:27328,{ bonus bBaseAtk,15; bonus2 bAddEle,Ele_Dark,20; }
 4023:27328,{ bonus bInt,3; bonus bMaxSP,100; bonus bMatkRate,5; }
 4023:27328,{ bonus bInt,3; bonus bMaxSP,100; bonus bMatkRate,5; }
-4066:27328,{ bonus2 bSubRace,RC_DemiHuman,15; bonus2 bSubRace,RC_Player,15; }
+4066:27328,{ bonus2 bSubRace,RC_DemiHuman,15; bonus2 bSubRace,RC_Player_Human,15; }
 4067:27328,{ bonus bDef,100; }
 4067:27328,{ bonus bDef,100; }
 4071:27328,{ bonus bHit,15; bonus bFlee,15; bonus bCritAtkRate,15; }
 4071:27328,{ bonus bHit,15; bonus bFlee,15; bonus bCritAtkRate,15; }
 4077:27328,{ bonus bVariableCastrate,-25; }
 4077:27328,{ bonus bVariableCastrate,-25; }
@@ -567,7 +567,7 @@
 4305:27119,{ bonus2 bSubSize,Size_All,5; bonus bHit,25; bonus2 bAddSize,Size_All,20; }
 4305:27119,{ bonus2 bSubSize,Size_All,5; bonus bHit,25; bonus2 bAddSize,Size_All,20; }
 4311:4319:4331:4371,{ bonus bInt,1; bonus bStr,1; bonus bDef,2; bonus bSPrecovRate,10; bonus2 bSkillAtk,"PA_SHIELDCHAIN",10; bonus2 bSkillAtk,"PA_SACRIFICE",10; bonus bVariableCastrate,-10; if(BaseJob==Job_Crusader) bonus bDefEle,Ele_Holy; }
 4311:4319:4331:4371,{ bonus bInt,1; bonus bStr,1; bonus bDef,2; bonus bSPrecovRate,10; bonus2 bSkillAtk,"PA_SHIELDCHAIN",10; bonus2 bSkillAtk,"PA_SACRIFICE",10; bonus bVariableCastrate,-10; if(BaseJob==Job_Crusader) bonus bDefEle,Ele_Holy; }
 4323:4324,{ bonus3 bAutoSpell,"MG_FROSTDIVER",3,250; }
 4323:4324,{ bonus3 bAutoSpell,"MG_FROSTDIVER",3,250; }
-4435:4436,{ bonus2 bSPGainRace,RC_DemiHuman,2; bonus2 bSPGainRace,RC_Player,2; }
+4435:4436,{ bonus2 bSPGainRace,RC_DemiHuman,2; bonus2 bSPGainRace,RC_Player_Human,2; }
 4335:19156,{ .@r = getequiprefinerycnt(EQI_HEAD_TOP); if (.@r < 4) { .@a = 4; } else { .@a = min(.@r,10); } bonus3 bAutoSpell,"WZ_EARTHSPIKE",.@a,(.@a*10); bonus3 bAutoSpell,"WZ_HEAVENDRIVE",.@a,(.@a*10); }
 4335:19156,{ .@r = getequiprefinerycnt(EQI_HEAD_TOP); if (.@r < 4) { .@a = 4; } else { .@a = min(.@r,10); } bonus3 bAutoSpell,"WZ_EARTHSPIKE",.@a,(.@a*10); bonus3 bAutoSpell,"WZ_HEAVENDRIVE",.@a,(.@a*10); }
 4345:19156,{ .@r = getequiprefinerycnt(EQI_HEAD_TOP); if (.@r < 4) { .@a = 4; } else { .@a = min(.@r,10); } bonus3 bAutoSpell,"MG_LIGHTNINGBOLT",.@a,(.@a*10); bonus3 bAutoSpell,"MG_THUNDERSTORM",.@a,(.@a*10); }
 4345:19156,{ .@r = getequiprefinerycnt(EQI_HEAD_TOP); if (.@r < 4) { .@a = 4; } else { .@a = min(.@r,10); } bonus3 bAutoSpell,"MG_LIGHTNINGBOLT",.@a,(.@a*10); bonus3 bAutoSpell,"MG_THUNDERSTORM",.@a,(.@a*10); }
 4350:19156,{ .@r = getequiprefinerycnt(EQI_HEAD_TOP); if (.@r < 4) { .@a = 4; } else { .@a = min(.@r,10); } bonus3 bAutoSpell,"MG_COLDBOLT",.@a,(.@a*10); bonus3 bAutoSpell,"WZ_FROSTNOVA",.@a,(.@a*10); }
 4350:19156,{ .@r = getequiprefinerycnt(EQI_HEAD_TOP); if (.@r < 4) { .@a = 4; } else { .@a = min(.@r,10); } bonus3 bAutoSpell,"MG_COLDBOLT",.@a,(.@a*10); bonus3 bAutoSpell,"WZ_FROSTNOVA",.@a,(.@a*10); }
@@ -593,8 +593,8 @@
 4643:4646,{ bonus2 bAddClass,Class_All,10; bonus bMatkRate,10; }
 4643:4646,{ bonus2 bAddClass,Class_All,10; bonus bMatkRate,10; }
 4644:4646,{ bonus2 bAddClass,Class_All,10; bonus bMatkRate,10; }
 4644:4646,{ bonus2 bAddClass,Class_All,10; bonus bMatkRate,10; }
 4645:4646,{ bonus2 bAddClass,Class_All,10; bonus bMatkRate,10; }
 4645:4646,{ bonus2 bAddClass,Class_All,10; bonus bMatkRate,10; }
-4653:4654,{ bonus2 bSubRace,RC_Brute,5; bonus2 bSubRace,RC_Undead,5; bonus2 bIgnoreMdefRaceRate,RC_Brute,50; bonus2 bIgnoreMdefRaceRate,RC_Undead,50; }
-4653:4655,{ bonus2 bSubRace,RC_Brute,5; bonus2 bSubRace,RC_Undead,5; bonus2 bIgnoreDefRaceRate,RC_Brute,50; bonus2 bIgnoreDefRaceRate,RC_Undead,50; }
+4653:4654,{ bonus2 bSubRace,RC_Brute,5; bonus2 bSubRace,RC_Player_Doram,5; bonus2 bSubRace,RC_Undead,5; bonus2 bIgnoreMdefRaceRate,RC_Brute,50; bonus2 bIgnoreMdefRaceRate,RC_Player_Doram,50; bonus2 bIgnoreMdefRaceRate,RC_Undead,50; }
+4653:4655,{ bonus2 bSubRace,RC_Brute,5; bonus2 bSubRace,RC_Player_Doram,5; bonus2 bSubRace,RC_Undead,5; bonus2 bIgnoreDefRaceRate,RC_Brute,50; bonus2 bIgnoreDefRaceRate,RC_Player_Doram,50; bonus2 bIgnoreDefRaceRate,RC_Undead,50; }
 4656:4657,{ /* Unofficial chance */ bonus3 bAutoSpellWhenHit,"NPC_WIDESLEEP",2,10; bonus2 bSubEle,Ele_Neutral,5; }
 4656:4657,{ /* Unofficial chance */ bonus3 bAutoSpellWhenHit,"NPC_WIDESLEEP",2,10; bonus2 bSubEle,Ele_Neutral,5; }
 4671:4692,{ autobonus "{ bonus bMatk,100; }",30,6000,BF_MAGIC,"{ active_transform 3242,6000; }"; }
 4671:4692,{ autobonus "{ bonus bMatk,100; }",30,6000,BF_MAGIC,"{ active_transform 3242,6000; }"; }
 4672:4693,{ autobonus "{ bonus bAtk,100; }",30,6000,BF_WEAPON,"{ active_transform 3243,6000; }"; }
 4672:4693,{ autobonus "{ bonus bAtk,100; }",30,6000,BF_WEAPON,"{ active_transform 3243,6000; }"; }
@@ -752,19 +752,19 @@
 18140:1755:19048,{ bonus bLongAtkRate,20; bonus3 bAutoSpell,"NJ_HUUJIN",5,(readparam(bInt)>39) ? -300 : -100; if (getequiprefinerycnt(EQI_HAND_R) >= 10)  bonus bAspd,1; }
 18140:1755:19048,{ bonus bLongAtkRate,20; bonus3 bAutoSpell,"NJ_HUUJIN",5,(readparam(bInt)>39) ? -300 : -100; if (getequiprefinerycnt(EQI_HAND_R) >= 10)  bonus bAspd,1; }
 18140:19019,{ bonus bLongAtkRate,45; }
 18140:19019,{ bonus bLongAtkRate,45; }
 18149:19210,{ .@weapon = getequiprefinerycnt(EQI_HAND_R); .@eq = getequiprefinerycnt(EQI_HEAD_TOP); bonus bLongAtkRate,5; if (.@weapon >= 7 && .@eq >= 7) { .@val = 20; } if ((.@weapon + .@eq) >= 18) { bonus2 bAddClass,Class_All,10; } if ((.@weapon + .@eq) >= 22) { .@val += 30; } if (.@val) { bonus2 bSkillAtk,"RA_ARROWSTORM",.@val; } }
 18149:19210,{ .@weapon = getequiprefinerycnt(EQI_HAND_R); .@eq = getequiprefinerycnt(EQI_HEAD_TOP); bonus bLongAtkRate,5; if (.@weapon >= 7 && .@eq >= 7) { .@val = 20; } if ((.@weapon + .@eq) >= 18) { bonus2 bAddClass,Class_All,10; } if ((.@weapon + .@eq) >= 22) { .@val += 30; } if (.@val) { bonus2 bSkillAtk,"RA_ARROWSTORM",.@val; } }
-18174:22190,{ .@weapon = getequiprefinerycnt(EQI_HAND_R); .@eq = getequiprefinerycnt(EQI_SHOES); bonus2 bAddClass,Class_All,10; if (.@weapon >= 7 && .@eq >= 7) { bonus bAspd,2; } if ((.@weapon + .@eq) >= 18) { bonus bCritAtkRate,10; } if ((.@weapon + .@eq) >= 22) { autobonus "{ bonus bBaseAtk,100; bonus bCritAtkRate,15; bonus2 bAddRace,RC_Insect,50; bonus2 bAddRace,RC_Brute,50; }",20,10000,BF_LONG|BF_WEAPON|BF_NORMAL; /* fix me: unknown rates */ } }
+18174:22190,{ .@weapon = getequiprefinerycnt(EQI_HAND_R); .@eq = getequiprefinerycnt(EQI_SHOES); bonus2 bAddClass,Class_All,10; if (.@weapon >= 7 && .@eq >= 7) { bonus bAspd,2; } if ((.@weapon + .@eq) >= 18) { bonus bCritAtkRate,10; } if ((.@weapon + .@eq) >= 22) { autobonus "{ bonus bBaseAtk,100; bonus bCritAtkRate,15; bonus2 bAddRace,RC_Insect,50; bonus2 bAddRace,RC_Brute,50; bonus2 bAddRace,RC_Player_Doram,50; }",20,10000,BF_LONG|BF_WEAPON|BF_NORMAL; /* fix me: unknown rates */ } }
 18507:18539,{ bonus bUseSPrate,-3; }
 18507:18539,{ bonus bUseSPrate,-3; }
 18559:18560,{ bonus bCritAtkRate,5; }
 18559:18560,{ bonus bCritAtkRate,5; }
 18563:18564,{ bonus bFixedCastrate,-10; }
 18563:18564,{ bonus bFixedCastrate,-10; }
 18652:32227,{ .@r = getequiprefinerycnt(EQI_HEAD_TOP); if (.@r>=6) { bonus bDelayrate,-5; bonus bAspdRate,5; bonus2 bAddClass,Class_All,5; bonus2 bIgnoreDefClassRate,Class_All,25; } if (.@r>=8) { bonus bDelayrate,-10; bonus bAspdRate,10; bonus2 bAddClass,Class_All,5; bonus2 bIgnoreDefClassRate,Class_All,25; } }
 18652:32227,{ .@r = getequiprefinerycnt(EQI_HEAD_TOP); if (.@r>=6) { bonus bDelayrate,-5; bonus bAspdRate,5; bonus2 bAddClass,Class_All,5; bonus2 bIgnoreDefClassRate,Class_All,25; } if (.@r>=8) { bonus bDelayrate,-10; bonus bAspdRate,10; bonus2 bAddClass,Class_All,5; bonus2 bIgnoreDefClassRate,Class_All,25; } }
 18776:20710,{ bonus bBaseAtk,10; }
 18776:20710,{ bonus bBaseAtk,10; }
 18776:22015,{ bonus bMatk,20; }
 18776:22015,{ bonus bMatk,20; }
-18823:19246,{ .@atk = 40; .@aspd = 3; .@dmg = 2; .@agi = readparam(bAgi); if (.@agi > 107) { .@atk += 60; .@aspd += 5; .@dmg += 2; } if (.@agi > 119) { .@atk += 80; .@aspd += 7; .@dmg += 4; } bonus bBaseAtk,.@atk; bonus bAspdRate,.@aspd; bonus2 bSubRace,RC_Player,.@dmg; bonus2 bResEff,Eff_Blind,10000; bonus2 bResEff,Eff_Silence,10000; }
+18823:19246,{ .@atk = 40; .@aspd = 3; .@dmg = 2; .@agi = readparam(bAgi); if (.@agi > 107) { .@atk += 60; .@aspd += 5; .@dmg += 2; } if (.@agi > 119) { .@atk += 80; .@aspd += 7; .@dmg += 4; } bonus bBaseAtk,.@atk; bonus bAspdRate,.@aspd; bonus2 bSubRace,RC_Player_Human,.@dmg; bonus2 bResEff,Eff_Blind,10000; bonus2 bResEff,Eff_Silence,10000; }
 18823:28372,{ bonus2 bSkillVariableCast,"CR_GRANDCROSS",-1500; bonus2 bSkillAtk,"LG_RAYOFGENESIS",BaseLevel/30 + BaseLevel; bonus2 bSkillUseSP,"LG_RAYOFGENESIS",-10; }
 18823:28372,{ bonus2 bSkillVariableCast,"CR_GRANDCROSS",-1500; bonus2 bSkillAtk,"LG_RAYOFGENESIS",BaseLevel/30 + BaseLevel; bonus2 bSkillUseSP,"LG_RAYOFGENESIS",-10; }
 18823:28551,{ bonus2 bSkillDelay,"LG_OVERBRAND",-2000; bonus bLongAtkRate,getskilllv("LG_CANNONSPEAR") * 2; bonus bLongAtkRate,getskilllv("LG_OVERBRAND") * 2; bonus2 bSkillAtk,"LG_CANNONSPEAR",30; bonus2 bSkillAtk,"LG_OVERBRAND",20; }
 18823:28551,{ bonus2 bSkillDelay,"LG_OVERBRAND",-2000; bonus bLongAtkRate,getskilllv("LG_CANNONSPEAR") * 2; bonus bLongAtkRate,getskilllv("LG_OVERBRAND") * 2; bonus2 bSkillAtk,"LG_CANNONSPEAR",30; bonus2 bSkillAtk,"LG_OVERBRAND",20; }
-18849:32237,{ .@r = getequiprefinerycnt(EQI_HEAD_TOP); bonus bFixedCast,-300; if (.@r > 0) { bonus bMatk,(10*.@r); if (.@r >= 7) { bonus2 bMagicAddRace,RC_DemiHuman,10; bonus2 bMagicAddRace,RC_Player,10; bonus2 bMagicAddRace,RC_Demon,10; if (.@r >= 9) { bonus2 bMagicAtkEle,Ele_Water,10; bonus2 bMagicAtkEle,Ele_Wind,10; bonus2 bMagicAtkEle,Ele_Earth,10; bonus2 bMagicAtkEle,Ele_Fire,10; bonus2 bMagicAtkEle,Ele_Neutral,10; if (.@r >= 11) { bonus2 bMagicAddClass,Class_Boss,20; } } } } }
+18849:32237,{ .@r = getequiprefinerycnt(EQI_HEAD_TOP); bonus bFixedCast,-300; if (.@r > 0) { bonus bMatk,(10*.@r); if (.@r >= 7) { bonus2 bMagicAddRace,RC_DemiHuman,10; bonus2 bMagicAddRace,RC_Player_Human,10; bonus2 bMagicAddRace,RC_Demon,10; if (.@r >= 9) { bonus2 bMagicAtkEle,Ele_Water,10; bonus2 bMagicAtkEle,Ele_Wind,10; bonus2 bMagicAtkEle,Ele_Earth,10; bonus2 bMagicAtkEle,Ele_Fire,10; bonus2 bMagicAtkEle,Ele_Neutral,10; if (.@r >= 11) { bonus2 bMagicAddClass,Class_Boss,20; } } } } }
 18867:1720,{ bonus bLongAtkRate,3+(getequiprefinerycnt(EQI_HAND_R) > 6 ? 5:0); }
 18867:1720,{ bonus bLongAtkRate,3+(getequiprefinerycnt(EQI_HAND_R) > 6 ? 5:0); }
-18868:28320,{ bonus2 bAddRace,RC_DemiHuman,10; bonus2 bAddRace,RC_Player,10; }
+18868:28320,{ bonus2 bAddRace,RC_DemiHuman,10; bonus2 bAddRace,RC_Player_Human,10; }
 18933:19082,{ .@r = getequiprefinerycnt(EQI_HEAD_TOP); bonus2 bSkillAtk,"GN_SPORE_EXPLOSION",(5*.@r); }
 18933:19082,{ .@r = getequiprefinerycnt(EQI_HEAD_TOP); bonus2 bSkillAtk,"GN_SPORE_EXPLOSION",(5*.@r); }
 18933:2268,{ bonus bDelayrate,-5; }
 18933:2268,{ bonus bDelayrate,-5; }
 18933:4229,{ bonus bVariableCastrate,-10; }
 18933:4229,{ bonus bVariableCastrate,-10; }
@@ -780,7 +780,7 @@
 18985:28321:28322,{ bonus2 bSkillAtk,"HT_BLITZBEAT",200; }
 18985:28321:28322,{ bonus2 bSkillAtk,"HT_BLITZBEAT",200; }
 18985:28322,{ bonus2 bSkillAtk,"SN_FALCONASSAULT",50; }
 18985:28322,{ bonus2 bSkillAtk,"SN_FALCONASSAULT",50; }
 18997:28326:28327,{ bonus bSpeedRate,10; bonus bBaseAtk,50; bonus bMatk,50; if(getequiprefinerycnt(EQI_HEAD_TOP)>=9){ bonus bMaxHPrate,10; bonus bMaxSPrate,50; } }
 18997:28326:28327,{ bonus bSpeedRate,10; bonus bBaseAtk,50; bonus bMatk,50; if(getequiprefinerycnt(EQI_HEAD_TOP)>=9){ bonus bMaxHPrate,10; bonus bMaxSPrate,50; } }
-19024:19381,{ bonus bMdef,5; bonus bDef,50; bonus bAspdRate,5; bonus bVit,5; bonus2 bSubRace,RC_Player,3; if (readparam(bVit)>=108) { bonus bMdef,5; bonus bDef,50; bonus bAspdRate,5; bonus bVit,5; } if (readparam(bVit)>=120) { bonus bMdef,10; bonus bDef,100; bonus bVit,10; } }
+19024:19381,{ bonus bMdef,5; bonus bDef,50; bonus bAspdRate,5; bonus bVit,5; bonus2 bSubRace,RC_Player_Human,3; if (readparam(bVit)>=108) { bonus bMdef,5; bonus bDef,50; bonus bAspdRate,5; bonus bVit,5; } if (readparam(bVit)>=120) { bonus bMdef,10; bonus bDef,100; bonus bVit,10; } }
 19026:20756,{ .@r = getequiprefinerycnt(EQI_GARMENT); bonus2 bSPGainRace,RC_Fish,10; bonus3 bAddMonsterDropItem,544,RC_Fish,(5+.@r); bonus3 bAddMonsterDropItem,551,RC_Fish,(5+.@r); bonus2 bAddItemHealRate,544,5*(1+.@r); bonus2 bAddItemHealRate,551,5*(1+.@r); }
 19026:20756,{ .@r = getequiprefinerycnt(EQI_GARMENT); bonus2 bSPGainRace,RC_Fish,10; bonus3 bAddMonsterDropItem,544,RC_Fish,(5+.@r); bonus3 bAddMonsterDropItem,551,RC_Fish,(5+.@r); bonus2 bAddItemHealRate,544,5*(1+.@r); bonus2 bAddItemHealRate,551,5*(1+.@r); }
 19026:22059,{ bonus2 bCriticalAddRace,RC_Fish,(10+getequiprefinerycnt(EQI_SHOES)); }
 19026:22059,{ bonus2 bCriticalAddRace,RC_Fish,(10+getequiprefinerycnt(EQI_SHOES)); }
 19038:19039,{ .@r = getequiprefinerycnt(EQI_HEAD_TOP)+getequiprefinerycnt(EQI_HEAD_MID); if((.@r==7)||(.@r==8)){ bonus bCritical,12; bonus bHit,12; } if(.@r>=9){ bonus bMaxHP,1200; bonus bMaxSP,120; } }
 19038:19039,{ .@r = getequiprefinerycnt(EQI_HEAD_TOP)+getequiprefinerycnt(EQI_HEAD_MID); if((.@r==7)||(.@r==8)){ bonus bCritical,12; bonus bHit,12; } if(.@r>=9){ bonus bMaxHP,1200; bonus bMaxSP,120; } }
@@ -789,10 +789,10 @@
 19114:5548,{ bonus2 bSubSize,Size_All,5; }
 19114:5548,{ bonus2 bSubSize,Size_All,5; }
 19117:22101,{ bonus2 bDropAddRace,RC_All,5; bonus2 bExpAddRace,RC_All,5; if(getequiprefinerycnt(EQI_SHOES) >= 12) { bonus bFixedCast,-400; } }
 19117:22101,{ bonus2 bDropAddRace,RC_All,5; bonus2 bExpAddRace,RC_All,5; if(getequiprefinerycnt(EQI_SHOES) >= 12) { bonus bFixedCast,-400; } }
 19118:22101,{ bonus2 bDropAddRace,RC_All,4; bonus2 bExpAddRace,RC_All,4; if(getequiprefinerycnt(EQI_SHOES) >= 12) { bonus bFixedCast,-400; } }
 19118:22101,{ bonus2 bDropAddRace,RC_All,4; bonus2 bExpAddRace,RC_All,4; if(getequiprefinerycnt(EQI_SHOES) >= 12) { bonus bFixedCast,-400; } }
-19138:19327,{ .@cast = -(readparam(bInt)/8); .@sub = 2; .@heal = 5; if (.@i >= 120) { .@cast -= 10; .@sub += 6; .@heal += 25; } else if (.@i >= 108) { .@cast -= 4; .@sub += 2; .@heal += 10; } bonus bVariableCastrate,.@cast; bonus2 bSubRace,RC_DemiHuman,.@sub; bonus2 bSubRace,RC_Player,.@sub; bonus bHealPower,.@heal; bonus bAddItemHealRate,.@heal; bonus2 bVariableCastrate,"AB_CHEAL",-100; bonus2 bResEff,EFF_Bleeding,10000; bonus2 bResEff,Eff_Confusion,10000; }
-19139:19020,{ .@r = getequiprefinerycnt(EQI_HEAD_TOP); bonus bVit,4; bonus bVariableCastrate,-6; bonus2 bSubRace,RC_DemiHuman,4; bonus2 bSubRace,RC_Player,4; bonus2 bMagicAtkEle,Ele_Earth,20; bonus2 bMagicAtkEle,Ele_Wind,20; if (.@r>=7) { bonus bVit,4; bonus bVariableCastrate,-6; bonus2 bSubRace,RC_DemiHuman,4; bonus2 bSubRace,RC_Player,4; } if (.@r>=9) { bonus bVit,4; bonus bVariableCastrate,-6; bonus2 bSubRace,RC_DemiHuman,4; bonus2 bSubRace,RC_Player,4; } }
-19139:20813,{ .@r = getequiprefinerycnt(EQI_GARMENT); bonus bFixedCastrate,-50; bonus2 bSubRace,RC_DemiHuman,1; bonus2 bSubRace,RC_Player,1; if (.@r>=5) { bonus2 bSubRace,RC_DemiHuman,2; bonus2 bSubRace,RC_Player,2; } if (.@r>=7) { bonus2 bSubRace,RC_DemiHuman,2; bonus2 bSubRace,RC_Player,2; } }
-19139:22170,{ bonus bVit,4; bonus bInt,5; bonus2 bSubRace,RC_DemiHuman,3; bonus2 bSubRace,RC_Player,3; }
+19138:19327,{ .@cast = -(readparam(bInt)/8); .@sub = 2; .@heal = 5; if (.@i >= 120) { .@cast -= 10; .@sub += 6; .@heal += 25; } else if (.@i >= 108) { .@cast -= 4; .@sub += 2; .@heal += 10; } bonus bVariableCastrate,.@cast; bonus2 bSubRace,RC_DemiHuman,.@sub; bonus2 bSubRace,RC_Player_Human,.@sub; bonus bHealPower,.@heal; bonus bAddItemHealRate,.@heal; bonus2 bVariableCastrate,"AB_CHEAL",-100; bonus2 bResEff,EFF_Bleeding,10000; bonus2 bResEff,Eff_Confusion,10000; }
+19139:19020,{ .@r = getequiprefinerycnt(EQI_HEAD_TOP); bonus bVit,4; bonus bVariableCastrate,-6; bonus2 bSubRace,RC_DemiHuman,4; bonus2 bSubRace,RC_Player_Human,4; bonus2 bMagicAtkEle,Ele_Earth,20; bonus2 bMagicAtkEle,Ele_Wind,20; if (.@r>=7) { bonus bVit,4; bonus bVariableCastrate,-6; bonus2 bSubRace,RC_DemiHuman,4; bonus2 bSubRace,RC_Player_Human,4; } if (.@r>=9) { bonus bVit,4; bonus bVariableCastrate,-6; bonus2 bSubRace,RC_DemiHuman,4; bonus2 bSubRace,RC_Player_Human,4; } }
+19139:20813,{ .@r = getequiprefinerycnt(EQI_GARMENT); bonus bFixedCastrate,-50; bonus2 bSubRace,RC_DemiHuman,1; bonus2 bSubRace,RC_Player_Human,1; if (.@r>=5) { bonus2 bSubRace,RC_DemiHuman,2; bonus2 bSubRace,RC_Player_Human,2; } if (.@r>=7) { bonus2 bSubRace,RC_DemiHuman,2; bonus2 bSubRace,RC_Player_Human,2; } }
+19139:22170,{ bonus bVit,4; bonus bInt,5; bonus2 bSubRace,RC_DemiHuman,3; bonus2 bSubRace,RC_Player_Human,3; }
 19172:28500,{ bonus bDelayrate,-15; }
 19172:28500,{ bonus bDelayrate,-15; }
 19172:4403,{ bonus bDelayrate,30; }
 19172:4403,{ bonus bDelayrate,30; }
 19189:29316,{ autobonus3 "{ bonus bCritical,5; }",1000,60000,"BS_ADRENALINE"; }
 19189:29316,{ autobonus3 "{ bonus bCritical,5; }",1000,60000,"BS_ADRENALINE"; }
@@ -843,14 +843,14 @@
 19203:29351,{ bonus bBaseAtk,20; bonus bMatk,20; if (getskilllv("OB_OBOROGENSOU") == 5) bonus bVariableCastrate,-15; autobonus3 "{ bonus bCritAtkRate,30; }",1000,60000,"KG_KAGEMUSYA"; autobonus "{ bonus bNoSizeFix; }",50,5000,BF_WEAPON;  }
 19203:29351,{ bonus bBaseAtk,20; bonus bMatk,20; if (getskilllv("OB_OBOROGENSOU") == 5) bonus bVariableCastrate,-15; autobonus3 "{ bonus bCritAtkRate,30; }",1000,60000,"KG_KAGEMUSYA"; autobonus "{ bonus bNoSizeFix; }",50,5000,BF_WEAPON;  }
 19204:29352,{ bonus bMaxHP,500; bonus bBaseAtk,10; }
 19204:29352,{ bonus bMaxHP,500; bonus bBaseAtk,10; }
 19204:29353,{ bonus bMaxHP,1000; bonus bBaseAtk,20; skill "WS_CARTBOOST",1; autobonus3 "{ bonus bBaseAtk,30; }",1000,60000,"WS_CARTBOOST"; }
 19204:29353,{ bonus bMaxHP,1000; bonus bBaseAtk,20; skill "WS_CARTBOOST",1; autobonus3 "{ bonus bBaseAtk,30; }",1000,60000,"WS_CARTBOOST"; }
-19204:29354,{ bonus bMaxHP,1500; bonus bBaseAtk,40; skill "WS_CARTBOOST",1; autobonus3 "{ bonus bBaseAtk,50; }",1000,60000,"WS_CARTBOOST"; }
+19204:29354,{ bonus bMaxHP,1500; bonus bBaseAtk,40; skill "WS_CARTBOOST",3; autobonus3 "{ bonus bBaseAtk,50; }",1000,120000,"WS_CARTBOOST"; }
 19205:29355,{ bonus2 bSkillAtk,"SU_CN_METEOR",10; bonus2 bSkillAtk,"SU_LUNATICCARROTBEAT",10; }
 19205:29355,{ bonus2 bSkillAtk,"SU_CN_METEOR",10; bonus2 bSkillAtk,"SU_LUNATICCARROTBEAT",10; }
 19205:29356,{ bonus2 bSkillAtk,"SU_CN_METEOR",20; bonus2 bSkillAtk,"SU_LUNATICCARROTBEAT",20; bonus bFixedCast,-200; }
 19205:29356,{ bonus2 bSkillAtk,"SU_CN_METEOR",20; bonus2 bSkillAtk,"SU_LUNATICCARROTBEAT",20; bonus bFixedCast,-200; }
 19205:29357,{ bonus2 bSkillAtk,"SU_CN_METEOR",60; bonus2 bSkillAtk,"SU_LUNATICCARROTBEAT",60; bonus bFixedCast,-500; }
 19205:29357,{ bonus2 bSkillAtk,"SU_CN_METEOR",60; bonus2 bSkillAtk,"SU_LUNATICCARROTBEAT",60; bonus bFixedCast,-500; }
 19247:28762,{ bonus bMatk,50; .@eq = getequiprefinerycnt(EQI_HEAD_TOP); .@weapon = getequiprefinerycnt(EQI_HAND_R); if (.@eq >= 7 && .@weapon >= 7) { bonus bVariableCastrate,-10; } if ((.@eq + .@weapon) >= 18) { bonus2 bMagicAddSize,Size_Small,15; bonus2 bMagicAddSize,Size_Medium,15; if ((.@eq + .@weapon) >= 22) { autobonus "{ bonus bMatk,50; bonus2 bMagicAtkEle,Ele_Fire,20; }",5,10000,BF_MAGIC; /* unknown rate */ } } }
 19247:28762,{ bonus bMatk,50; .@eq = getequiprefinerycnt(EQI_HEAD_TOP); .@weapon = getequiprefinerycnt(EQI_HAND_R); if (.@eq >= 7 && .@weapon >= 7) { bonus bVariableCastrate,-10; } if ((.@eq + .@weapon) >= 18) { bonus2 bMagicAddSize,Size_Small,15; bonus2 bMagicAddSize,Size_Medium,15; if ((.@eq + .@weapon) >= 22) { autobonus "{ bonus bMatk,50; bonus2 bMagicAtkEle,Ele_Fire,20; }",5,10000,BF_MAGIC; /* unknown rate */ } } }
 19272:4365,{ bonus bVariableCastrate,-100; bonus2 bSkillCooldown,"WL_TELEKINESIS_INTENSE",-120000; }
 19272:4365,{ bonus bVariableCastrate,-100; bonus2 bSkillCooldown,"WL_TELEKINESIS_INTENSE",-120000; }
-19299:4463,{ .@type = getiteminfo(getequipid(EQI_COMPOUND_ON),11); if (.@type == W_BOOK || .@type == W_STAFF || .@type == W_2HSTAFF) { bonus2 bMagicAddRace,RC_Player, getequiprefinerycnt(EQI_HAND_R)*2; } }
-19299:5966,{ .@a = readparam(bDex); bonus bMatk,10; bonus bVariableCastrate,-2; bonus2 bSubRace,RC_DemiHuman,2; bonus2 bSubRace,RC_Player,2; if (.@a>=108) { bonus bMatk,20; bonus bVariableCastrate,-3; bonus2 bSubRace,RC_DemiHuman,2; bonus2 bSubRace,RC_Player,2; } if (.@a>=120) { bonus bMatk,30; bonus bVariableCastrate,-5; bonus2 bSubRace,RC_DemiHuman,4; bonus2 bSubRace,RC_Player,4; } }
+19299:4463,{ .@type = getiteminfo(getequipid(EQI_COMPOUND_ON),11); if (.@type == W_BOOK || .@type == W_STAFF || .@type == W_2HSTAFF) { bonus2 bMagicAddRace,RC_Player_Human, getequiprefinerycnt(EQI_HAND_R)*2; } }
+19299:5966,{ .@a = readparam(bDex); bonus bMatk,10; bonus bVariableCastrate,-2; bonus2 bSubRace,RC_DemiHuman,2; bonus2 bSubRace,RC_Player_Human,2; if (.@a>=108) { bonus bMatk,20; bonus bVariableCastrate,-3; bonus2 bSubRace,RC_DemiHuman,2; bonus2 bSubRace,RC_Player_Human,2; } if (.@a>=120) { bonus bMatk,30; bonus bVariableCastrate,-5; bonus2 bSubRace,RC_DemiHuman,4; bonus2 bSubRace,RC_Player_Human,4; } }
 19326:4187,{ .@r = getequiprefinerycnt(EQI_HEAD_TOP); bonus2 bExpAddRace,RC_DEMON,5; if (.@r>=6) bonus2 bExpAddRace,RC_DEMON,5; if (.@r>=8) bonus2 bExpAddRace,RC_DEMON,5; }
 19326:4187,{ .@r = getequiprefinerycnt(EQI_HEAD_TOP); bonus2 bExpAddRace,RC_DEMON,5; if (.@r>=6) bonus2 bExpAddRace,RC_DEMON,5; if (.@r>=8) bonus2 bExpAddRace,RC_DEMON,5; }
 19326:4190,{ .@r = getequiprefinerycnt(EQI_HEAD_TOP); bonus2 bExpAddRace,RC_Undead,5; if (.@r>=6) bonus2 bExpAddRace,RC_Undead,5; if (.@r>=8) bonus2 bExpAddRace,RC_Undead,5; }
 19326:4190,{ .@r = getequiprefinerycnt(EQI_HEAD_TOP); bonus2 bExpAddRace,RC_Undead,5; if (.@r>=6) bonus2 bExpAddRace,RC_Undead,5; if (.@r>=8) bonus2 bExpAddRace,RC_Undead,5; }
 19326:4224,{ .@r = getequiprefinerycnt(EQI_HEAD_TOP); bonus2 bExpAddRace,RC_Brute,5; if (.@r>=6) bonus2 bExpAddRace,RC_Brute,5; if (.@r>=8) bonus2 bExpAddRace,RC_Brute,5; }
 19326:4224,{ .@r = getequiprefinerycnt(EQI_HEAD_TOP); bonus2 bExpAddRace,RC_Brute,5; if (.@r>=6) bonus2 bExpAddRace,RC_Brute,5; if (.@r>=8) bonus2 bExpAddRace,RC_Brute,5; }
@@ -869,10 +869,10 @@
 19397:29582,{ bonus2 bSkillAtk,"SP_SWHOO",10; bonus2 bSkillAtk,"SL_SMA",10; bonus2 bSkillAtk,"SP_SPA",10; }
 19397:29582,{ bonus2 bSkillAtk,"SP_SWHOO",10; bonus2 bSkillAtk,"SL_SMA",10; bonus2 bSkillAtk,"SP_SPA",10; }
 19397:29583,{ bonus2 bSkillAtk,"SP_SWHOO",20; bonus2 bSkillAtk,"SL_SMA",20; bonus2 bSkillAtk,"SP_SPA",20; bonus2 bSkillCooldown,"SP_SOULREAPER",-10000; }
 19397:29583,{ bonus2 bSkillAtk,"SP_SWHOO",20; bonus2 bSkillAtk,"SL_SMA",20; bonus2 bSkillAtk,"SP_SPA",20; bonus2 bSkillCooldown,"SP_SOULREAPER",-10000; }
 19397:29584,{ bonus2 bSkillAtk,"SP_SWHOO",40; bonus2 bSkillAtk,"SL_SMA",40; bonus2 bSkillAtk,"SP_SPA",40; bonus2 bSkillCooldown,"SP_SOULREAPER",-10000; }
 19397:29584,{ bonus2 bSkillAtk,"SP_SWHOO",40; bonus2 bSkillAtk,"SL_SMA",40; bonus2 bSkillAtk,"SP_SPA",40; bonus2 bSkillCooldown,"SP_SOULREAPER",-10000; }
-19428:20948:32238:32239,{ bonus bInt,5; bonus bMaxSPrate,10; bonus bDef,100; bonus2 bMagicAtkEle,Ele_Water,10; bonus2 bMagicAtkEle,Ele_Earth,10; bonus2 bMagicAtkEle,Ele_Neutral,10; .@head = getequiprefinerycnt(EQI_HEAD_TOP); .@garment = getequiprefinerycnt(EQI_GARMENT); if (.@head >= 7 && .@garment >= 7) { .@matk = 40; } if ((.@head + .@garment) >= 18) { .@matk += 40; bonus2 bMagicAtkEle,Ele_Ghost,15; bonus2 bMagicAtkEle,Ele_Wind,15; bonus2 bMagicAtkEle,Ele_Holy,15; if ((.@head + .@garment) >= 22) { bonus bMatkRate,10; bonus2 bIgnoreMdefRaceRate,RC_Formless,50; bonus2 bIgnoreMdefRaceRate,RC_Demon,50; bonus2 bIgnoreMdefRaceRate,RC_Brute,50; } } bonus bMatk,.@matk; }
+19428:20948:32238:32239,{ bonus bInt,5; bonus bMaxSPrate,10; bonus bDef,100; bonus2 bMagicAtkEle,Ele_Water,10; bonus2 bMagicAtkEle,Ele_Earth,10; bonus2 bMagicAtkEle,Ele_Neutral,10; .@head = getequiprefinerycnt(EQI_HEAD_TOP); .@garment = getequiprefinerycnt(EQI_GARMENT); if (.@head >= 7 && .@garment >= 7) { .@matk = 40; } if ((.@head + .@garment) >= 18) { .@matk += 40; bonus2 bMagicAtkEle,Ele_Ghost,15; bonus2 bMagicAtkEle,Ele_Wind,15; bonus2 bMagicAtkEle,Ele_Holy,15; if ((.@head + .@garment) >= 22) { bonus bMatkRate,10; bonus2 bIgnoreMdefRaceRate,RC_Formless,50; bonus2 bIgnoreMdefRaceRate,RC_Demon,50; bonus2 bIgnoreMdefRaceRate,RC_Brute,50; bonus2 bIgnoreMdefRaceRate,RC_Player_Doram,50; } } bonus bMatk,.@matk; }
 20135:20136,{ bonus bAllStats,12; }
 20135:20136,{ bonus bAllStats,12; }
 20701:2165,{ .@a = getequiprefinerycnt(EQI_GARMENT); .@b = getequiprefinerycnt(EQI_HAND_L); bonus2 bAddEle,Ele_Earth,.@b; bonus2 bSubRace,RC_Fish,.@a; }
 20701:2165,{ .@a = getequiprefinerycnt(EQI_GARMENT); .@b = getequiprefinerycnt(EQI_HAND_L); bonus2 bAddEle,Ele_Earth,.@b; bonus2 bSubRace,RC_Fish,.@a; }
-20714:28320,{ .@val = min(12,getequiprefinerycnt(EQI_GARMENT)); bonus2 bAddRace,RC_DemiHuman,.@val; bonus2 bAddRace,RC_Player,.@val; }
+20714:28320,{ .@val = min(12,getequiprefinerycnt(EQI_GARMENT)); bonus2 bAddRace,RC_DemiHuman,.@val; bonus2 bAddRace,RC_Player_Human,.@val; }
 20717:22000,{ bonus bMaxHPRate,15; bonus bMaxSPRate,5; }
 20717:22000,{ bonus bMaxHPRate,15; bonus bMaxSPRate,5; }
 20717:22001,{ bonus bMaxHPRate,15; bonus bMaxSPRate,5; }
 20717:22001,{ bonus bMaxHPRate,15; bonus bMaxSPRate,5; }
 20717:22002,{ bonus bMaxHPRate,15; bonus bMaxSPRate,5; }
 20717:22002,{ bonus bMaxHPRate,15; bonus bMaxSPRate,5; }
@@ -938,25 +938,25 @@
 20831:4596,{ bonus bMatk,-5*(readparam(bInt)/10); }
 20831:4596,{ bonus bMatk,-5*(readparam(bInt)/10); }
 20838:26109,{ bonus2 bSkillAtk,"SO_PSYCHIC_WAVE",10; .@eq = getequiprefinerycnt(EQI_GARMENT); .@weapon = getequiprefinerycnt(EQI_HAND_R); if (.@eq >= 7 && .@weapon >= 7) { bonus2 bSkillAtk,"SO_EARTHGRAVE",40; } if ((.@eq + .@weapon) >= 18) { bonus2 bMagicAtkEle,Ele_Neutral,10; bonus2 bMagicAtkEle,Ele_Earth,10; if ((.@eq + .@weapon) >= 22) { bonus2 bMagicAtkEle,Ele_Water,10; } } }
 20838:26109,{ bonus2 bSkillAtk,"SO_PSYCHIC_WAVE",10; .@eq = getequiprefinerycnt(EQI_GARMENT); .@weapon = getequiprefinerycnt(EQI_HAND_R); if (.@eq >= 7 && .@weapon >= 7) { bonus2 bSkillAtk,"SO_EARTHGRAVE",40; } if ((.@eq + .@weapon) >= 18) { bonus2 bMagicAtkEle,Ele_Neutral,10; bonus2 bMagicAtkEle,Ele_Earth,10; if ((.@eq + .@weapon) >= 22) { bonus2 bMagicAtkEle,Ele_Water,10; } } }
 20840:28725,{ .@weapon = getequiprefinerycnt(EQI_HAND_R); .@eq = getequiprefinerycnt(EQI_GARMENT); .@val = 80; if (.@weapon >= 7 && .@eq >= 7) { .@val += 80; } if ((.@weapon + .@eq) >= 18) { .@val += 40; } if ((.@weapon + .@eq) >= 22) { bonus2 bMagicAtkEle,Ele_Fire,15; } bonus bMatk,.@val; }
 20840:28725,{ .@weapon = getequiprefinerycnt(EQI_HAND_R); .@eq = getequiprefinerycnt(EQI_GARMENT); .@val = 80; if (.@weapon >= 7 && .@eq >= 7) { .@val += 80; } if ((.@weapon + .@eq) >= 18) { .@val += 40; } if ((.@weapon + .@eq) >= 22) { bonus2 bMagicAtkEle,Ele_Fire,15; } bonus bMatk,.@val; }
-20846:22000,{ bonus bMaxHPrate,15; bonus bMdef,10; bonus bBaseAtk,30; bonus2 bSubRace,RC_DemiHuman,5; bonus2 bSubRace,RC_Player,5; }
-20846:22001,{ bonus bMaxHPrate,15; bonus bMdef,10; bonus bMatk,30; bonus2 bSubRace,RC_DemiHuman,5; bonus2 bSubRace,RC_Player,5; }
-20846:22002,{ bonus bMaxHPrate,15; bonus bMdef,10; bonus bAspdRate,5; bonus2 bSubRace,RC_DemiHuman,5; bonus2 bSubRace,RC_Player,5; }
-20846:22003,{ bonus bMaxHPrate,15; bonus bMdef,10; bonus bAddItemHealRate,10; bonus2 bSubRace,RC_DemiHuman,5; bonus2 bSubRace,RC_Player,5; }
-20846:22004,{ bonus bMaxHPrate,15; bonus bMdef,10; bonus bLongAtkRate,5; bonus2 bSubRace,RC_DemiHuman,5; bonus2 bSubRace,RC_Player,5; }
-20846:22005,{ bonus bMaxHPrate,15; bonus bMdef,10; bonus bCritAtkRate,5; bonus2 bSubRace,RC_DemiHuman,5; bonus2 bSubRace,RC_Player,5; }
-20846:22006,{ bonus bMaxHPrate,15; bonus bMdef,10; bonus bBaseAtk,30; bonus2 bSubRace,RC_DemiHuman,5; bonus2 bSubRace,RC_Player,5; }
-20846:22007,{ bonus bMaxHPrate,15; bonus bMdef,10; bonus bAddItemHealRate,10; bonus2 bSubRace,RC_DemiHuman,5; bonus2 bSubRace,RC_Player,5; }
-20846:22008,{ bonus bMaxHPrate,15; bonus bMdef,10; bonus bLongAtkRate,5; bonus2 bSubRace,RC_DemiHuman,5; bonus2 bSubRace,RC_Player,5; }
-20846:22009,{ bonus bMaxHPrate,15; bonus bMdef,10; bonus bMatk,30; bonus2 bSubRace,RC_DemiHuman,5; bonus2 bSubRace,RC_Player,5; }
-20846:22010,{ bonus bMaxHPrate,15; bonus bMdef,10; bonus bAspdRate,5; bonus2 bSubRace,RC_DemiHuman,5; bonus2 bSubRace,RC_Player,5; }
-20846:22011,{ bonus bMaxHPrate,15; bonus bMdef,10; bonus bCritAtkRate,5; bonus2 bSubRace,RC_DemiHuman,5; bonus2 bSubRace,RC_Player,5; }
+20846:22000,{ bonus bMaxHPrate,15; bonus bMdef,10; bonus bBaseAtk,30; bonus2 bSubRace,RC_DemiHuman,5; bonus2 bSubRace,RC_Player_Human,5; }
+20846:22001,{ bonus bMaxHPrate,15; bonus bMdef,10; bonus bMatk,30; bonus2 bSubRace,RC_DemiHuman,5; bonus2 bSubRace,RC_Player_Human,5; }
+20846:22002,{ bonus bMaxHPrate,15; bonus bMdef,10; bonus bAspdRate,5; bonus2 bSubRace,RC_DemiHuman,5; bonus2 bSubRace,RC_Player_Human,5; }
+20846:22003,{ bonus bMaxHPrate,15; bonus bMdef,10; bonus bAddItemHealRate,10; bonus2 bSubRace,RC_DemiHuman,5; bonus2 bSubRace,RC_Player_Human,5; }
+20846:22004,{ bonus bMaxHPrate,15; bonus bMdef,10; bonus bLongAtkRate,5; bonus2 bSubRace,RC_DemiHuman,5; bonus2 bSubRace,RC_Player_Human,5; }
+20846:22005,{ bonus bMaxHPrate,15; bonus bMdef,10; bonus bCritAtkRate,5; bonus2 bSubRace,RC_DemiHuman,5; bonus2 bSubRace,RC_Player_Human,5; }
+20846:22006,{ bonus bMaxHPrate,15; bonus bMdef,10; bonus bBaseAtk,30; bonus2 bSubRace,RC_DemiHuman,5; bonus2 bSubRace,RC_Player_Human,5; }
+20846:22007,{ bonus bMaxHPrate,15; bonus bMdef,10; bonus bAddItemHealRate,10; bonus2 bSubRace,RC_DemiHuman,5; bonus2 bSubRace,RC_Player_Human,5; }
+20846:22008,{ bonus bMaxHPrate,15; bonus bMdef,10; bonus bLongAtkRate,5; bonus2 bSubRace,RC_DemiHuman,5; bonus2 bSubRace,RC_Player_Human,5; }
+20846:22009,{ bonus bMaxHPrate,15; bonus bMdef,10; bonus bMatk,30; bonus2 bSubRace,RC_DemiHuman,5; bonus2 bSubRace,RC_Player_Human,5; }
+20846:22010,{ bonus bMaxHPrate,15; bonus bMdef,10; bonus bAspdRate,5; bonus2 bSubRace,RC_DemiHuman,5; bonus2 bSubRace,RC_Player_Human,5; }
+20846:22011,{ bonus bMaxHPrate,15; bonus bMdef,10; bonus bCritAtkRate,5; bonus2 bSubRace,RC_DemiHuman,5; bonus2 bSubRace,RC_Player_Human,5; }
 20847:28745,{ .@weapon = getequiprefinerycnt(EQI_HAND_R); .@eq = getequiprefinerycnt(EQI_GARMENT); .@val = 10; if (.@weapon >= 7 && .@eq >= 7) { bonus bCritAtkRate,15; } if ((.@weapon + .@eq) >= 18) { .@val += 15; if ((.@weapon + .@eq) >= 22) { skill "TF_DOUBLE",4; bonus bDoubleRate,20; } } bonus bAspdRate,.@val; }
 20847:28745,{ .@weapon = getequiprefinerycnt(EQI_HAND_R); .@eq = getequiprefinerycnt(EQI_GARMENT); .@val = 10; if (.@weapon >= 7 && .@eq >= 7) { bonus bCritAtkRate,15; } if ((.@weapon + .@eq) >= 18) { .@val += 15; if ((.@weapon + .@eq) >= 22) { skill "TF_DOUBLE",4; bonus bDoubleRate,20; } } bonus bAspdRate,.@val; }
 20859:4121,{ bonus bPerfectHitAddRate,50; bonus2 bResEff,Eff_Stone,10000; }
 20859:4121,{ bonus bPerfectHitAddRate,50; bonus2 bResEff,Eff_Stone,10000; }
 20863:4593,{ bonus bLongAtkRate,-1*readparam(bDex)/10; }
 20863:4593,{ bonus bLongAtkRate,-1*readparam(bDex)/10; }
 20922:4306,{ bonus2 bSubEle,Ele_Neutral,20; bonus bMaxHPrate,10; bonus bMdef,10; }
 20922:4306,{ bonus2 bSubEle,Ele_Neutral,20; bonus bMaxHPrate,10; bonus bMdef,10; }
-20925:22035,{ bonus bAgi,10; bonus bInt,10; bonus bVariableCastrate,-10; bonus2 bSubRace,RC_Player,5; }
-20925:22036,{ bonus bStr,10; bonus bDex,10; bonus bDelayrate,-20; bonus2 bSubRace,RC_Player,5; }
-20925:22037,{ bonus bVit,10; bonus bLuk,10; bonus bHealPower,20; bonus2 bSubRace,RC_Player,5; bonus bUseSPrate,-10; }
+20925:22035,{ bonus bAgi,10; bonus bInt,10; bonus bVariableCastrate,-10; bonus2 bSubRace,RC_Player_Human,5; }
+20925:22036,{ bonus bStr,10; bonus bDex,10; bonus bDelayrate,-20; bonus2 bSubRace,RC_Player_Human,5; }
+20925:22037,{ bonus bVit,10; bonus bLuk,10; bonus bHealPower,20; bonus2 bSubRace,RC_Player_Human,5; bonus bUseSPrate,-10; }
 20931:1752,{ bonus2 bSubEle,Ele_Fire,75; }
 20931:1752,{ bonus2 bSubEle,Ele_Fire,75; }
 20931:1754,{ bonus2 bSubEle,Ele_Water,75; }
 20931:1754,{ bonus2 bSubEle,Ele_Water,75; }
 20931:1755,{ bonus2 bSubEle,Ele_Wind,75; }
 20931:1755,{ bonus2 bSubEle,Ele_Wind,75; }
@@ -986,8 +986,8 @@
 22101:29152,{ bonus bMaxHPRate,5; bonus bMaxSPRate,5; .@r = getequiprefinerycnt(EQI_SHOES); if(.@r >= 7) { bonus bLongAtkRate,2; } if(.@r >= 9) { bonus bLongAtkRate,3; } if(.@r >= 12) { bonus bDelayrate,-5; } }
 22101:29152,{ bonus bMaxHPRate,5; bonus bMaxSPRate,5; .@r = getequiprefinerycnt(EQI_SHOES); if(.@r >= 7) { bonus bLongAtkRate,2; } if(.@r >= 9) { bonus bLongAtkRate,3; } if(.@r >= 12) { bonus bDelayrate,-5; } }
 22101:29153,{ bonus bMaxHPRate,5; bonus bMaxSPRate,5; .@r = getequiprefinerycnt(EQI_SHOES); if(.@r >= 7) { bonus bCritAtkRate,2; } if(.@r >= 9) { bonus bCritAtkRate,3; } if(.@r >= 12) { bonus bDelayrate,-5; } }
 22101:29153,{ bonus bMaxHPRate,5; bonus bMaxSPRate,5; .@r = getequiprefinerycnt(EQI_SHOES); if(.@r >= 7) { bonus bCritAtkRate,2; } if(.@r >= 9) { bonus bCritAtkRate,3; } if(.@r >= 12) { bonus bDelayrate,-5; } }
 22104:1646,{ .@r = getequiprefinerycnt(EQI_HAND_R); .@b = getskilllv("WZ_FROSTNOVA"); .@c = getskilllv("WZ_WATERBALL"); bonus2 bMagicAtkEle,Ele_Water,4*.@r; bonus2 bIgnoreMdefClassRate,Class_Normal,5*.@b; bonus2 bIgnoreMdefClassRate,Class_Boss,5*.@b; bonus2 bSkillAtk,"WZ_WATERBALL",(30*.@c)+(20*.@r); }
 22104:1646,{ .@r = getequiprefinerycnt(EQI_HAND_R); .@b = getskilllv("WZ_FROSTNOVA"); .@c = getskilllv("WZ_WATERBALL"); bonus2 bMagicAtkEle,Ele_Water,4*.@r; bonus2 bIgnoreMdefClassRate,Class_Normal,5*.@b; bonus2 bIgnoreMdefClassRate,Class_Boss,5*.@b; bonus2 bSkillAtk,"WZ_WATERBALL",(30*.@c)+(20*.@r); }
-22106:1387,{ .@r = getequiprefinerycnt(EQI_SHOES); .@b = getequiprefinerycnt(EQI_HAND_R); if (.@r>=7) { bonus2 bSubRace,RC_DemiHuman,30; bonus2 bSubRace,RC_Player,30; if (.@b>=7) { bonus2 bSkillAtk,"WS_CARTTERMINATION",8; bonus2 bAddClass,Class_Boss,20; } if (.@b>=9) { bonus2 bSkillAtk,"WS_CARTTERMINATION",12; bonus2 bAddClass,Class_Boss,30; } } }
-22106:1490,{ .@r = getequiprefinerycnt(EQI_HAND_R); bonus2 bSubRace,RC_DemiHuman,40; bonus2 bSubRace,RC_Player,40; bonus4 bAutoSpellOnSkill,"LK_SPIRALPIERCE","RK_SONICWAVE",getskilllv("RK_SONICWAVE"),10000; if (.@r>=7) { bonus2 bSkillAtk,"RK_SONICWAVE",20; bonus2 bSkillAtk,"LK_SPIRALPIERCE",20; bonus2 bSubClass,Class_Boss,20; } if (.@r>=9) { bonus2 bSkillAtk,"RK_SONICWAVE",30; bonus2 bSkillAtk,"LK_SPIRALPIERCE",30; bonus2 bSubClass,Class_Boss,30; } }
+22106:1387,{ .@r = getequiprefinerycnt(EQI_SHOES); .@b = getequiprefinerycnt(EQI_HAND_R); if (.@r>=7) { bonus2 bSubRace,RC_DemiHuman,30; bonus2 bSubRace,RC_Player_Human,30; if (.@b>=7) { bonus2 bSkillAtk,"WS_CARTTERMINATION",8; bonus2 bAddClass,Class_Boss,20; } if (.@b>=9) { bonus2 bSkillAtk,"WS_CARTTERMINATION",12; bonus2 bAddClass,Class_Boss,30; } } }
+22106:1490,{ .@r = getequiprefinerycnt(EQI_HAND_R); bonus2 bSubRace,RC_DemiHuman,40; bonus2 bSubRace,RC_Player_Human,40; bonus4 bAutoSpellOnSkill,"LK_SPIRALPIERCE","RK_SONICWAVE",getskilllv("RK_SONICWAVE"),10000; if (.@r>=7) { bonus2 bSkillAtk,"RK_SONICWAVE",20; bonus2 bSkillAtk,"LK_SPIRALPIERCE",20; bonus2 bSubClass,Class_Boss,20; } if (.@r>=9) { bonus2 bSkillAtk,"RK_SONICWAVE",30; bonus2 bSkillAtk,"LK_SPIRALPIERCE",30; bonus2 bSubClass,Class_Boss,30; } }
 22106:18122,{ .@r = getequiprefinerycnt(EQI_SHOES); .@b = getequiprefinerycnt(EQI_HAND_R); if (.@r>=7) { bonus bLongAtkRate,3*(readparam(bStr)/10); if (.@b>=7) { bonus2 bSkillAtk,"RA_ARROWSTORM",20; bonus2 bSkillAtk,"RA_AIMEDBOLT",20; bonus2 bAddClass,Class_Boss,20; } if (.@b>=9) { bonus2 bSkillAtk,"RA_ARROWSTORM",30; bonus2 bSkillAtk,"RA_AIMEDBOLT",30; bonus2 bAddClass,Class_Boss,30; } } }
 22106:18122,{ .@r = getequiprefinerycnt(EQI_SHOES); .@b = getequiprefinerycnt(EQI_HAND_R); if (.@r>=7) { bonus bLongAtkRate,3*(readparam(bStr)/10); if (.@b>=7) { bonus2 bSkillAtk,"RA_ARROWSTORM",20; bonus2 bSkillAtk,"RA_AIMEDBOLT",20; bonus2 bAddClass,Class_Boss,20; } if (.@b>=9) { bonus2 bSkillAtk,"RA_ARROWSTORM",30; bonus2 bSkillAtk,"RA_AIMEDBOLT",30; bonus2 bAddClass,Class_Boss,30; } } }
 22106:2160,{ .@r = getequiprefinerycnt(EQI_SHOES); if (.@r > 6) { bonus2 bSubSize,Size_Large,2; bonus2 bSubClass,Class_Boss,2; } if (.@r > 8) { bonus2 bSubSize,Size_Large,2; bonus2 bSubClass,Class_Boss,2; } }
 22106:2160,{ .@r = getequiprefinerycnt(EQI_SHOES); if (.@r > 6) { bonus2 bSubSize,Size_Large,2; bonus2 bSubClass,Class_Boss,2; } if (.@r > 8) { bonus2 bSubSize,Size_Large,2; bonus2 bSubClass,Class_Boss,2; } }
 22120:1631,{ .@r = getequiprefinerycnt(EQI_HAND_R); .@cast = -5*getskilllv("AB_ORATIO"); bonus2 bVariableCastrate,"AB_JUDEX",.@cast; bonus2 bVariableCastrate,"AB_ADORAMUS",.@cast; if (.@r >= 7) { .@magic = 30; if (.@r >= 9) { .@magic += 20; .@dmg = 20; } bonus2 bMagicAddRace,RC_Demon,.@magic; bonus2 bMagicAddRace,RC_Undead,.@magic; bonus2 bMagicAddEle,Ele_Undead,.@magic; bonus2 bMagicAddEle,Ele_Dark,.@magic; } bonus2 bSkillAtk,"AB_ADORAMUS",.@dmg + 10*(getskilllv("AB_LAUDAAGNUS")+getskilllv("AB_LAUDARAMUS")+getskilllv("AB_CLEARANCE")); }
 22120:1631,{ .@r = getequiprefinerycnt(EQI_HAND_R); .@cast = -5*getskilllv("AB_ORATIO"); bonus2 bVariableCastrate,"AB_JUDEX",.@cast; bonus2 bVariableCastrate,"AB_ADORAMUS",.@cast; if (.@r >= 7) { .@magic = 30; if (.@r >= 9) { .@magic += 20; .@dmg = 20; } bonus2 bMagicAddRace,RC_Demon,.@magic; bonus2 bMagicAddRace,RC_Undead,.@magic; bonus2 bMagicAddEle,Ele_Undead,.@magic; bonus2 bMagicAddEle,Ele_Dark,.@magic; } bonus2 bSkillAtk,"AB_ADORAMUS",.@dmg + 10*(getskilllv("AB_LAUDAAGNUS")+getskilllv("AB_LAUDARAMUS")+getskilllv("AB_CLEARANCE")); }
@@ -1008,11 +1008,11 @@
 22126:28471:28472,{ bonus bAspdRate,10; bonus bHit,10; bonus2 bExpAddClass,Class_All,2; bonus bSpeedAddRate,25; }
 22126:28471:28472,{ bonus bAspdRate,10; bonus bHit,10; bonus2 bExpAddClass,Class_All,2; bonus bSpeedAddRate,25; }
 22133:26007,{ bonus bAspdRate,8; .@eq = getequiprefinerycnt(EQI_SHOES); .@weapon = getequiprefinerycnt(EQI_HAND_R); if (.@eq >= 7 && .@weapon >= 7) { .@val = 20; } if ((.@eq + .@weapon) >= 18) { bonus bLongAtkRate,10; if ((.@eq + .@weapon) >= 22) { .@val += 30; } } if (.@val) { bonus2 bSkillAtk,"LG_BANISHINGPOINT",.@val; } }
 22133:26007,{ bonus bAspdRate,8; .@eq = getequiprefinerycnt(EQI_SHOES); .@weapon = getequiprefinerycnt(EQI_HAND_R); if (.@eq >= 7 && .@weapon >= 7) { .@val = 20; } if ((.@eq + .@weapon) >= 18) { bonus bLongAtkRate,10; if ((.@eq + .@weapon) >= 22) { .@val += 30; } } if (.@val) { bonus2 bSkillAtk,"LG_BANISHINGPOINT",.@val; } }
 22133:32005,{ bonus bBaseAtk,40; .@eq = getequiprefinerycnt(EQI_SHOES); .@weapon = getequiprefinerycnt(EQI_HAND_R); if (.@eq >= 7 && .@weapon >= 7) { .@val = 20; } if ((.@eq + .@weapon) >= 18) { bonus2 bAddClass,Class_All,10; if ((.@eq + .@weapon) >= 22) { .@val += 20; } } if (.@val) { bonus2 bSkillAtk,"RK_HUNDREDSPEAR",.@val; } }
 22133:32005,{ bonus bBaseAtk,40; .@eq = getequiprefinerycnt(EQI_SHOES); .@weapon = getequiprefinerycnt(EQI_HAND_R); if (.@eq >= 7 && .@weapon >= 7) { .@val = 20; } if ((.@eq + .@weapon) >= 18) { bonus2 bAddClass,Class_All,10; if ((.@eq + .@weapon) >= 22) { .@val += 20; } } if (.@val) { bonus2 bSkillAtk,"RK_HUNDREDSPEAR",.@val; } }
-22138:20815,{ .@r = getequiprefinerycnt(EQI_GARMENT); bonus2 bSubRace,RC_DemiHuman,10; bonus2 bSubRace,RC_Player,10; bonus2 bSubEle,Ele_Holy,30-(2*getskilllv("CR_TRUST")); bonus2 bSubEle,Ele_Dark,30; bonus bFixedCastrate,-50; if (.@r > 8) .@val = 20; else if (.@r > 6) .@val = 10; bonus2 bMagicAtkEle,Ele_Fire,.@val; bonus2 bMagicAtkEle,Ele_Neutral,.@val; bonus2 bMagicAtkEle,Ele_Dark,.@val; }
-22138:20815:1643,{ .@r = getequiprefinerycnt(EQI_HAND_R); bonus2 bSubRace,RC_DemiHuman,10; bonus2 bSubRace,RC_Player,10; bonus2 bMagicAtkEle,Ele_Fire,4*getskilllv("WZ_FIREPILLAR"); bonus2 bMagicAtkEle,Ele_Neutral,6*getskilllv("HW_GRAVITATION"); if (.@r > 8) .@val = 2; else if (.@r > 6) .@val = 1; bonus2 bSkillAtk,"WL_HELLINFERNO",100*.@val; bonus2 bMagicAddRace,RC_DemiHuman,20*.@val; bonus2 bMagicAddRace,RC_Player,20*.@val; }
+22138:20815,{ .@r = getequiprefinerycnt(EQI_GARMENT); bonus2 bSubRace,RC_DemiHuman,10; bonus2 bSubRace,RC_Player_Human,10; bonus2 bSubEle,Ele_Holy,30-(2*getskilllv("CR_TRUST")); bonus2 bSubEle,Ele_Dark,30; bonus bFixedCastrate,-50; if (.@r > 8) .@val = 20; else if (.@r > 6) .@val = 10; bonus2 bMagicAtkEle,Ele_Fire,.@val; bonus2 bMagicAtkEle,Ele_Neutral,.@val; bonus2 bMagicAtkEle,Ele_Dark,.@val; }
+22138:20815:1643,{ .@r = getequiprefinerycnt(EQI_HAND_R); bonus2 bSubRace,RC_DemiHuman,10; bonus2 bSubRace,RC_Player_Human,10; bonus2 bMagicAtkEle,Ele_Fire,4*getskilllv("WZ_FIREPILLAR"); bonus2 bMagicAtkEle,Ele_Neutral,6*getskilllv("HW_GRAVITATION"); if (.@r > 8) .@val = 2; else if (.@r > 6) .@val = 1; bonus2 bSkillAtk,"WL_HELLINFERNO",100*.@val; bonus2 bMagicAddRace,RC_DemiHuman,20*.@val; bonus2 bMagicAddRace,RC_Player_Human,20*.@val; }
 22138:4876,{ bonus2 bMagicAtkEle,Ele_Fire,-50; bonus2 bMagicAtkEle,Ele_Neutral,-50; bonus2 bMagicAtkEle,Ele_Dark,-50; }
 22138:4876,{ bonus2 bMagicAtkEle,Ele_Fire,-50; bonus2 bMagicAtkEle,Ele_Neutral,-50; bonus2 bMagicAtkEle,Ele_Dark,-50; }
-22170:1618,{ .@r = getequiprefinerycnt(EQI_HAND_R); bonus2 bSubRace,RC_DemiHuman,10; bonus2 bSubRace,RC_Player,10; bonus2 bIgnoreMdefClassRate,Class_All,50; if (.@r>=10) { bonus2 bMagicAtkEle,Ele_Neutral,80; bonus2 bMagicAddRace,RC_Demihuman,20; bonus2 bMagicAddRace,RC_Player,20; bonus2 bSkillCooldown,"WL_EARTHSTRAIN",-2400; bonus2 bSkillCooldown,"WL_CHAINLIGHTNING",-1000; autobonus "{ bonus2 bSkillAtk,\"WL_CHAINLIGHTNING\",100; }",60,5000,BF_MAGIC; } }
-22170:1620,{ .@r = getequiprefinerycnt(EQI_HAND_R); bonus2 bSubRace,RC_DemiHuman,10; bonus2 bSubRace,RC_Player,10; bonus2 bIgnoreMdefClassRate,Class_All,50; if (.@r>=10) { bonus2 bMagicAtkEle,Ele_Neutral,80; bonus2 bMagicAddRace,RC_Demihuman,20; bonus2 bMagicAddRace,RC_Player,20; bonus2 bSkillCooldown,"WL_EARTHSTRAIN",-2400; bonus2 bSkillCooldown,"WL_CHAINLIGHTNING",-1000; autobonus "{ bonus2 bSkillAtk,\"WL_CHAINLIGHTNING\",100; }",60,5000,BF_MAGIC; } }
+22170:1618,{ .@r = getequiprefinerycnt(EQI_HAND_R); bonus2 bSubRace,RC_DemiHuman,10; bonus2 bSubRace,RC_Player_Human,10; bonus2 bIgnoreMdefClassRate,Class_All,50; if (.@r>=10) { bonus2 bMagicAtkEle,Ele_Neutral,80; bonus2 bMagicAddRace,RC_Demihuman,20; bonus2 bMagicAddRace,RC_Player_Human,20; bonus2 bSkillCooldown,"WL_EARTHSTRAIN",-2400; bonus2 bSkillCooldown,"WL_CHAINLIGHTNING",-1000; autobonus "{ bonus2 bSkillAtk,\"WL_CHAINLIGHTNING\",100; }",60,5000,BF_MAGIC; } }
+22170:1620,{ .@r = getequiprefinerycnt(EQI_HAND_R); bonus2 bSubRace,RC_DemiHuman,10; bonus2 bSubRace,RC_Player_Human,10; bonus2 bIgnoreMdefClassRate,Class_All,50; if (.@r>=10) { bonus2 bMagicAtkEle,Ele_Neutral,80; bonus2 bMagicAddRace,RC_Demihuman,20; bonus2 bMagicAddRace,RC_Player_Human,20; bonus2 bSkillCooldown,"WL_EARTHSTRAIN",-2400; bonus2 bSkillCooldown,"WL_CHAINLIGHTNING",-1000; autobonus "{ bonus2 bSkillAtk,\"WL_CHAINLIGHTNING\",100; }",60,5000,BF_MAGIC; } }
 22170:19020,{ .@r = getequiprefinerycnt(EQI_HEAD_TOP); bonus2 bMagicAtkEle,Ele_Earth,10; bonus2 bMagicAtkEle,Ele_Wind,10; if (.@r>=7) { bonus2 bMagicAtkEle,Ele_Earth,10; bonus2 bMagicAtkEle,Ele_Wind,10; } if (.@r>=9) { bonus2 bMagicAtkEle,Ele_Earth,10; bonus2 bMagicAtkEle,Ele_Wind,10; } }
 22170:19020,{ .@r = getequiprefinerycnt(EQI_HEAD_TOP); bonus2 bMagicAtkEle,Ele_Earth,10; bonus2 bMagicAtkEle,Ele_Wind,10; if (.@r>=7) { bonus2 bMagicAtkEle,Ele_Earth,10; bonus2 bMagicAtkEle,Ele_Wind,10; } if (.@r>=9) { bonus2 bMagicAtkEle,Ele_Earth,10; bonus2 bMagicAtkEle,Ele_Wind,10; } }
 22171:13345,{ autobonus "{ bonus bStr,20; bonus bLongAtkRate,10; }",20,7000,BF_WEAPON; /* unknown rate */ }
 22171:13345,{ autobonus "{ bonus bStr,20; bonus bLongAtkRate,10; }",20,7000,BF_WEAPON; /* unknown rate */ }
 //22171:26154,{ autobonus "{ bonus bInt,20; bonus bMatkRate,15; }",20,7000,BF_MAGIC; /* unknown rate */ }
 //22171:26154,{ autobonus "{ bonus bInt,20; bonus bMatkRate,15; }",20,7000,BF_MAGIC; /* unknown rate */ }
@@ -1024,9 +1024,9 @@
 //22171:28631,{ autobonus "{ bonus bStr,20; bonus2 bAddClass,Class_All,15; }",3,7000,BF_WEAPON; /* unknown rate */ }
 //22171:28631,{ autobonus "{ bonus bStr,20; bonus2 bAddClass,Class_All,15; }",3,7000,BF_WEAPON; /* unknown rate */ }
 22171:28763:28764,{ autobonus "{ bonus bStr,20; bonus2 bAddClass,Class_All,10; }",20,7000,BF_WEAPON; /* unknown rate */ }
 22171:28763:28764,{ autobonus "{ bonus bStr,20; bonus2 bAddClass,Class_All,10; }",20,7000,BF_WEAPON; /* unknown rate */ }
 22171:32302,{ autobonus "{ bonus bDex,20; bonus bLongAtkRate,10; }",20,7000,BF_WEAPON; /* unknown rate */ }
 22171:32302,{ autobonus "{ bonus bDex,20; bonus bLongAtkRate,10; }",20,7000,BF_WEAPON; /* unknown rate */ }
-22172:15042,{ .@r = getequiprefinerycnt(EQI_ARMOR); bonus bSpeedRate,25; bonus bCritAtkRate,4*(readparam(bluk)/20); if (.@r>=7) { bonus bAspdRate,8; bonus2 bSubRace,RC_DemiHuman,8; bonus2 bSubRace,RC_Player,8; bonus2 bSkillAtk,"HT_BLITZBEAT",40; bonus2 bSkillAtk,"SN_SHARPSHOOTING",50; } if (.@r>=9) { bonus bAspdRate,4; bonus2 bSubRace,RC_DemiHuman,4; bonus2 bSubRace,RC_Player,4; bonus2 bSkillAtk,"HT_BLITZBEAT",20; bonus2 bSkillAtk,"SN_SHARPSHOOTING",25; } }
-22172:15043,{ .@r = getequiprefinerycnt(EQI_ARMOR); bonus bHPGainValue,500; bonus bSpeedRate,25; bonus2 bSkillAtk,"RA_CLUSTERBOMB",30*(readparam(bint)/20); bonus2 bSkillUseSP,"RA_ELECTRICSHOCKER",30; if (.@r>=7) { bonus bFlee2,6; bonus2 bSubRace,RC_DemiHuman,8; bonus2 bSubRace,RC_Player,8; bonus2 bSkillAtk,"RA_CLUSTERBOMB",400; bonus2 bSkillAtk,"RA_AIMEDBOLT",20; } if (.@r>=9) { bonus bFlee2,3; bonus2 bSubRace,RC_DemiHuman,4; bonus2 bSubRace,RC_Player,4; bonus2 bSkillAtk,"RA_CLUSTERBOMB",200; bonus2 bSkillAtk,"RA_AIMEDBOLT",10; } }
-22190:28254,{ bonus2 bAddClass,Class_All,10; .@eq = getequiprefinerycnt(EQI_SHOES); .@weapon = getequiprefinerycnt(EQI_HAND_R); if (.@eq >= 7 && .@weapon >= 7) { bonus bLongAtkRate,5; } if ((.@eq + .@weapon) >= 18) { bonus2 bSkillAtk,"RL_FIRE_RAIN",20; bonus2 bSkillCooldown,"RL_FIRE_RAIN",-2000; if ((.@eq + .@weapon) >= 22) { autobonus3 "{ bonus bBaseAtk,50; bonus2 bAddRace,RC_Brute,50; bonus2 bAddRace,RC_Demon,50; }",5,10000,"RL_R_TRIP"; /* unknown rate */ } } }
+22172:15042,{ .@r = getequiprefinerycnt(EQI_ARMOR); bonus bSpeedRate,25; bonus bCritAtkRate,4*(readparam(bluk)/20); if (.@r>=7) { bonus bAspdRate,8; bonus2 bSubRace,RC_DemiHuman,8; bonus2 bSubRace,RC_Player_Human,8; bonus2 bSkillAtk,"HT_BLITZBEAT",40; bonus2 bSkillAtk,"SN_SHARPSHOOTING",50; } if (.@r>=9) { bonus bAspdRate,4; bonus2 bSubRace,RC_DemiHuman,4; bonus2 bSubRace,RC_Player_Human,4; bonus2 bSkillAtk,"HT_BLITZBEAT",20; bonus2 bSkillAtk,"SN_SHARPSHOOTING",25; } }
+22172:15043,{ .@r = getequiprefinerycnt(EQI_ARMOR); bonus bHPGainValue,500; bonus bSpeedRate,25; bonus2 bSkillAtk,"RA_CLUSTERBOMB",30*(readparam(bint)/20); bonus2 bSkillUseSP,"RA_ELECTRICSHOCKER",30; if (.@r>=7) { bonus bFlee2,6; bonus2 bSubRace,RC_DemiHuman,8; bonus2 bSubRace,RC_Player_Human,8; bonus2 bSkillAtk,"RA_CLUSTERBOMB",400; bonus2 bSkillAtk,"RA_AIMEDBOLT",20; } if (.@r>=9) { bonus bFlee2,3; bonus2 bSubRace,RC_DemiHuman,4; bonus2 bSubRace,RC_Player_Human,4; bonus2 bSkillAtk,"RA_CLUSTERBOMB",200; bonus2 bSkillAtk,"RA_AIMEDBOLT",10; } }
+22190:28254,{ bonus2 bAddClass,Class_All,10; .@eq = getequiprefinerycnt(EQI_SHOES); .@weapon = getequiprefinerycnt(EQI_HAND_R); if (.@eq >= 7 && .@weapon >= 7) { bonus bLongAtkRate,5; } if ((.@eq + .@weapon) >= 18) { bonus2 bSkillAtk,"RL_FIRE_RAIN",20; bonus2 bSkillCooldown,"RL_FIRE_RAIN",-2000; if ((.@eq + .@weapon) >= 22) { autobonus3 "{ bonus bBaseAtk,50; bonus2 bAddRace,RC_Brute,50; bonus2 bAddRace,RC_Player_Doram,50; bonus2 bAddRace,RC_Demon,50; }",5,10000,"RL_R_TRIP"; /* unknown rate */ } } }
 24012:24013:24014:24015:24016:24017,{ bonus bAllStats,3; }
 24012:24013:24014:24015:24016:24017,{ bonus bAllStats,3; }
 24018:24019:24020,{ if(getequiprefinerycnt(EQI_SHADOW_ACC_R) + getequiprefinerycnt(EQI_SHADOW_ACC_L) + getequiprefinerycnt(EQI_SHADOW_WEAPON) >= 23) { bonus2 bAddClass,Class_All,1; } }
 24018:24019:24020,{ if(getequiprefinerycnt(EQI_SHADOW_ACC_R) + getequiprefinerycnt(EQI_SHADOW_ACC_L) + getequiprefinerycnt(EQI_SHADOW_WEAPON) >= 23) { bonus2 bAddClass,Class_All,1; } }
 24021:24022:24023,{ if(getequiprefinerycnt(EQI_SHADOW_ACC_R) + getequiprefinerycnt(EQI_SHADOW_ACC_L) + getequiprefinerycnt(EQI_SHADOW_WEAPON) >= 23) { bonus bMatkRate,1; } }
 24021:24022:24023,{ if(getequiprefinerycnt(EQI_SHADOW_ACC_R) + getequiprefinerycnt(EQI_SHADOW_ACC_L) + getequiprefinerycnt(EQI_SHADOW_WEAPON) >= 23) { bonus bMatkRate,1; } }
@@ -1086,7 +1086,7 @@
 24154:24155,{ bonus bDef,getequiprefinerycnt(EQI_SHADOW_ARMOR); if (getequiprefinerycnt(EQI_SHADOW_ARMOR)+getequiprefinerycnt(EQI_SHADOW_ACC_L) >= 15) bonus bUnbreakableArmor; }
 24154:24155,{ bonus bDef,getequiprefinerycnt(EQI_SHADOW_ARMOR); if (getequiprefinerycnt(EQI_SHADOW_ARMOR)+getequiprefinerycnt(EQI_SHADOW_ACC_L) >= 15) bonus bUnbreakableArmor; }
 24156:24166:24167,{ bonus bBaseAtk,5; if(getequiprefinerycnt(EQI_SHADOW_WEAPON)+getequiprefinerycnt(EQI_SHADOW_ACC_R)+getequiprefinerycnt(EQI_SHADOW_ACC_L)>=25) bonus bIgnoreDefRace,RC_DemiHuman; }
 24156:24166:24167,{ bonus bBaseAtk,5; if(getequiprefinerycnt(EQI_SHADOW_WEAPON)+getequiprefinerycnt(EQI_SHADOW_ACC_R)+getequiprefinerycnt(EQI_SHADOW_ACC_L)>=25) bonus bIgnoreDefRace,RC_DemiHuman; }
 24157:24166:24167,{ bonus bBaseAtk,5; if(getequiprefinerycnt(EQI_SHADOW_WEAPON)+getequiprefinerycnt(EQI_SHADOW_ACC_R)+getequiprefinerycnt(EQI_SHADOW_ACC_L)>=25) bonus bIgnoreDefRace,RC_Demon; }
 24157:24166:24167,{ bonus bBaseAtk,5; if(getequiprefinerycnt(EQI_SHADOW_WEAPON)+getequiprefinerycnt(EQI_SHADOW_ACC_R)+getequiprefinerycnt(EQI_SHADOW_ACC_L)>=25) bonus bIgnoreDefRace,RC_Demon; }
-24158:24166:24167,{ bonus bBaseAtk,5; if(getequiprefinerycnt(EQI_SHADOW_WEAPON)+getequiprefinerycnt(EQI_SHADOW_ACC_R)+getequiprefinerycnt(EQI_SHADOW_ACC_L)>=25) bonus bIgnoreDefRace,RC_Brute; }
+24158:24166:24167,{ bonus bBaseAtk,5; if(getequiprefinerycnt(EQI_SHADOW_WEAPON)+getequiprefinerycnt(EQI_SHADOW_ACC_R)+getequiprefinerycnt(EQI_SHADOW_ACC_L)>=25) { bonus bIgnoreDefRace,RC_Brute; bonus bIgnoreDefRace,RC_Player_Doram; } }
 24159:24166:24167,{ bonus bBaseAtk,5; if(getequiprefinerycnt(EQI_SHADOW_WEAPON)+getequiprefinerycnt(EQI_SHADOW_ACC_R)+getequiprefinerycnt(EQI_SHADOW_ACC_L)>=25) bonus bIgnoreDefRace,RC_Insect; }
 24159:24166:24167,{ bonus bBaseAtk,5; if(getequiprefinerycnt(EQI_SHADOW_WEAPON)+getequiprefinerycnt(EQI_SHADOW_ACC_R)+getequiprefinerycnt(EQI_SHADOW_ACC_L)>=25) bonus bIgnoreDefRace,RC_Insect; }
 24160:24166:24167,{ bonus bBaseAtk,5; if(getequiprefinerycnt(EQI_SHADOW_WEAPON)+getequiprefinerycnt(EQI_SHADOW_ACC_R)+getequiprefinerycnt(EQI_SHADOW_ACC_L)>=25) bonus bIgnoreDefRace,RC_Fish; }
 24160:24166:24167,{ bonus bBaseAtk,5; if(getequiprefinerycnt(EQI_SHADOW_WEAPON)+getequiprefinerycnt(EQI_SHADOW_ACC_R)+getequiprefinerycnt(EQI_SHADOW_ACC_L)>=25) bonus bIgnoreDefRace,RC_Fish; }
 24161:24166:24167,{ bonus bBaseAtk,5; if(getequiprefinerycnt(EQI_SHADOW_WEAPON)+getequiprefinerycnt(EQI_SHADOW_ACC_R)+getequiprefinerycnt(EQI_SHADOW_ACC_L)>=25) bonus bIgnoreDefRace,RC_Dragon; }
 24161:24166:24167,{ bonus bBaseAtk,5; if(getequiprefinerycnt(EQI_SHADOW_WEAPON)+getequiprefinerycnt(EQI_SHADOW_ACC_R)+getequiprefinerycnt(EQI_SHADOW_ACC_L)>=25) bonus bIgnoreDefRace,RC_Dragon; }
@@ -1098,7 +1098,7 @@
 24168:24169:24329,{ if (getequiprefinerycnt(EQI_SHADOW_WEAPON)+getequiprefinerycnt(EQI_SHADOW_ACC_R)+getequiprefinerycnt(EQI_SHADOW_ACC_L) >= 25) { bonus bIgnoreMDefRace,RC_DemiHuman; } }
 24168:24169:24329,{ if (getequiprefinerycnt(EQI_SHADOW_WEAPON)+getequiprefinerycnt(EQI_SHADOW_ACC_R)+getequiprefinerycnt(EQI_SHADOW_ACC_L) >= 25) { bonus bIgnoreMDefRace,RC_DemiHuman; } }
 24168:24169:24170,{ bonus bMatk,5; if(getequiprefinerycnt(EQI_SHADOW_WEAPON)+getequiprefinerycnt(EQI_SHADOW_ACC_R)+getequiprefinerycnt(EQI_SHADOW_ACC_L)>=25) bonus bIgnoreMDefRace,RC_DemiHuman; }
 24168:24169:24170,{ bonus bMatk,5; if(getequiprefinerycnt(EQI_SHADOW_WEAPON)+getequiprefinerycnt(EQI_SHADOW_ACC_R)+getequiprefinerycnt(EQI_SHADOW_ACC_L)>=25) bonus bIgnoreMDefRace,RC_DemiHuman; }
 24168:24169:24171,{ bonus bMatk,5; if(getequiprefinerycnt(EQI_SHADOW_WEAPON)+getequiprefinerycnt(EQI_SHADOW_ACC_R)+getequiprefinerycnt(EQI_SHADOW_ACC_L)>=25) bonus bIgnoreMDefRace,RC_Demon; }
 24168:24169:24171,{ bonus bMatk,5; if(getequiprefinerycnt(EQI_SHADOW_WEAPON)+getequiprefinerycnt(EQI_SHADOW_ACC_R)+getequiprefinerycnt(EQI_SHADOW_ACC_L)>=25) bonus bIgnoreMDefRace,RC_Demon; }
-24168:24169:24172,{ bonus bMatk,5; if(getequiprefinerycnt(EQI_SHADOW_WEAPON)+getequiprefinerycnt(EQI_SHADOW_ACC_R)+getequiprefinerycnt(EQI_SHADOW_ACC_L)>=25) bonus bIgnoreMDefRace,RC_Brute; }
+24168:24169:24172,{ bonus bMatk,5; if(getequiprefinerycnt(EQI_SHADOW_WEAPON)+getequiprefinerycnt(EQI_SHADOW_ACC_R)+getequiprefinerycnt(EQI_SHADOW_ACC_L)>=25) { bonus bIgnoreMDefRace,RC_Brute; bonus bIgnoreMDefRace,RC_Player_Doram; } }
 24168:24169:24173,{ bonus bMatk,5; if(getequiprefinerycnt(EQI_SHADOW_WEAPON)+getequiprefinerycnt(EQI_SHADOW_ACC_R)+getequiprefinerycnt(EQI_SHADOW_ACC_L)>=25) bonus bIgnoreMDefRace,RC_Insect; }
 24168:24169:24173,{ bonus bMatk,5; if(getequiprefinerycnt(EQI_SHADOW_WEAPON)+getequiprefinerycnt(EQI_SHADOW_ACC_R)+getequiprefinerycnt(EQI_SHADOW_ACC_L)>=25) bonus bIgnoreMDefRace,RC_Insect; }
 24168:24169:24174,{ bonus bMatk,5; if(getequiprefinerycnt(EQI_SHADOW_WEAPON)+getequiprefinerycnt(EQI_SHADOW_ACC_R)+getequiprefinerycnt(EQI_SHADOW_ACC_L)>=25) bonus bIgnoreMDefRace,RC_Fish; }
 24168:24169:24174,{ bonus bMatk,5; if(getequiprefinerycnt(EQI_SHADOW_WEAPON)+getequiprefinerycnt(EQI_SHADOW_ACC_R)+getequiprefinerycnt(EQI_SHADOW_ACC_L)>=25) bonus bIgnoreMDefRace,RC_Fish; }
 24168:24169:24175,{ bonus bMatk,5; if(getequiprefinerycnt(EQI_SHADOW_WEAPON)+getequiprefinerycnt(EQI_SHADOW_ACC_R)+getequiprefinerycnt(EQI_SHADOW_ACC_L)>=25) bonus bIgnoreMDefRace,RC_Dragon; }
 24168:24169:24175,{ bonus bMatk,5; if(getequiprefinerycnt(EQI_SHADOW_WEAPON)+getequiprefinerycnt(EQI_SHADOW_ACC_R)+getequiprefinerycnt(EQI_SHADOW_ACC_L)>=25) bonus bIgnoreMDefRace,RC_Dragon; }
@@ -1162,7 +1162,7 @@
 24345:24346:24347,{ .@r = getequiprefinerycnt(EQI_SHADOW_SHIELD) + getequiprefinerycnt(EQI_SHADOW_SHOES) + getequiprefinerycnt(EQI_SHADOW_ARMOR); bonus bMDef,5; if (.@r >= 25) { bonus bIgnoreMDefRace,RC_DemiHuman; bonus bIgnoreMDefRace,RC_Undead; } }
 24345:24346:24347,{ .@r = getequiprefinerycnt(EQI_SHADOW_SHIELD) + getequiprefinerycnt(EQI_SHADOW_SHOES) + getequiprefinerycnt(EQI_SHADOW_ARMOR); bonus bMDef,5; if (.@r >= 25) { bonus bIgnoreMDefRace,RC_DemiHuman; bonus bIgnoreMDefRace,RC_Undead; } }
 24345:24346:24348,{ .@r = getequiprefinerycnt(EQI_SHADOW_SHIELD) + getequiprefinerycnt(EQI_SHADOW_SHOES) + getequiprefinerycnt(EQI_SHADOW_ARMOR); bonus bMDef,5; if (.@r >= 25) { bonus bIgnoreMDefRace,RC_Demon; bonus bIgnoreMDefRace,RC_Angel; } }
 24345:24346:24348,{ .@r = getequiprefinerycnt(EQI_SHADOW_SHIELD) + getequiprefinerycnt(EQI_SHADOW_SHOES) + getequiprefinerycnt(EQI_SHADOW_ARMOR); bonus bMDef,5; if (.@r >= 25) { bonus bIgnoreMDefRace,RC_Demon; bonus bIgnoreMDefRace,RC_Angel; } }
 24345:24346:24349,{ .@r = getequiprefinerycnt(EQI_SHADOW_SHIELD) + getequiprefinerycnt(EQI_SHADOW_SHOES) + getequiprefinerycnt(EQI_SHADOW_ARMOR); bonus bMDef,5; if (.@r >= 25) { bonus bIgnoreMDefRace,RC_Formless; bonus bIgnoreMDefRace,RC_Dragon; } }
 24345:24346:24349,{ .@r = getequiprefinerycnt(EQI_SHADOW_SHIELD) + getequiprefinerycnt(EQI_SHADOW_SHOES) + getequiprefinerycnt(EQI_SHADOW_ARMOR); bonus bMDef,5; if (.@r >= 25) { bonus bIgnoreMDefRace,RC_Formless; bonus bIgnoreMDefRace,RC_Dragon; } }
-24345:24346:24350,{ .@r = getequiprefinerycnt(EQI_SHADOW_SHIELD) + getequiprefinerycnt(EQI_SHADOW_SHOES) + getequiprefinerycnt(EQI_SHADOW_ARMOR); bonus bMDef,5; if (.@r >= 25) { bonus bIgnoreMDefRace,RC_Plant; bonus bIgnoreMDefRace,RC_Brute; } }
+24345:24346:24350,{ .@r = getequiprefinerycnt(EQI_SHADOW_SHIELD) + getequiprefinerycnt(EQI_SHADOW_SHOES) + getequiprefinerycnt(EQI_SHADOW_ARMOR); bonus bMDef,5; if (.@r >= 25) { bonus bIgnoreMDefRace,RC_Plant; bonus bIgnoreMDefRace,RC_Brute; bonus bIgnoreMDefRace,RC_Player_Doram; } }
 24345:24346:24351,{ .@r = getequiprefinerycnt(EQI_SHADOW_SHIELD) + getequiprefinerycnt(EQI_SHADOW_SHOES) + getequiprefinerycnt(EQI_SHADOW_ARMOR); bonus bMDef,5; if (.@r >= 25) { bonus bIgnoreMDefRace,RC_Fish; bonus bIgnoreMDefRace,RC_Insect; } }
 24345:24346:24351,{ .@r = getequiprefinerycnt(EQI_SHADOW_SHIELD) + getequiprefinerycnt(EQI_SHADOW_SHOES) + getequiprefinerycnt(EQI_SHADOW_ARMOR); bonus bMDef,5; if (.@r >= 25) { bonus bIgnoreMDefRace,RC_Fish; bonus bIgnoreMDefRace,RC_Insect; } }
 24360:24361:24362,{ .@r = getequiprefinerycnt(EQI_SHADOW_WEAPON) + getequiprefinerycnt(EQI_SHADOW_ACC_R) + getequiprefinerycnt(EQI_SHADOW_ACC_L); .@rate = 20 + 10*(.@r/10); if (.@r >= 25) { .@hp = 500; } else { .@hp = 100; } autobonus "{ bonus2 bHPRegenRate,"+.@hp+",1000; }",.@rate,5000; }
 24360:24361:24362,{ .@r = getequiprefinerycnt(EQI_SHADOW_WEAPON) + getequiprefinerycnt(EQI_SHADOW_ACC_R) + getequiprefinerycnt(EQI_SHADOW_ACC_L); .@rate = 20 + 10*(.@r/10); if (.@r >= 25) { .@hp = 500; } else { .@hp = 100; } autobonus "{ bonus2 bHPRegenRate,"+.@hp+",1000; }",.@rate,5000; }
 24363:24364:24365,{ .@r = getequiprefinerycnt(EQI_SHADOW_WEAPON) + getequiprefinerycnt(EQI_SHADOW_ACC_R) + getequiprefinerycnt(EQI_SHADOW_ACC_L); .@rate = 10 + 10*(.@r/15); if (.@r >= 25) { .@hp = 250; } else { .@hp = 100; } autobonus "{ bonus2 bHPRegenRate,"+.@hp+",1000; }",.@rate,5000,BF_MAGIC; }
 24363:24364:24365,{ .@r = getequiprefinerycnt(EQI_SHADOW_WEAPON) + getequiprefinerycnt(EQI_SHADOW_ACC_R) + getequiprefinerycnt(EQI_SHADOW_ACC_L); .@rate = 10 + 10*(.@r/15); if (.@r >= 25) { .@hp = 250; } else { .@hp = 100; } autobonus "{ bonus2 bHPRegenRate,"+.@hp+",1000; }",.@rate,5000,BF_MAGIC; }
@@ -1171,15 +1171,21 @@
 24373:24374:24375,{ .@r = getequiprefinerycnt(EQI_SHADOW_SHIELD) + getequiprefinerycnt(EQI_SHADOW_SHOES) + getequiprefinerycnt(EQI_SHADOW_ARMOR); bonus bDef,5; if (.@r >= 25) { bonus bIgnoreDefRace,RC_DemiHuman; bonus bIgnoreDefRace,RC_Undead; } }
 24373:24374:24375,{ .@r = getequiprefinerycnt(EQI_SHADOW_SHIELD) + getequiprefinerycnt(EQI_SHADOW_SHOES) + getequiprefinerycnt(EQI_SHADOW_ARMOR); bonus bDef,5; if (.@r >= 25) { bonus bIgnoreDefRace,RC_DemiHuman; bonus bIgnoreDefRace,RC_Undead; } }
 24373:24374:24376,{ .@r = getequiprefinerycnt(EQI_SHADOW_SHIELD) + getequiprefinerycnt(EQI_SHADOW_SHOES) + getequiprefinerycnt(EQI_SHADOW_ARMOR); bonus bDef,5; if (.@r >= 25) { bonus bIgnoreDefRace,RC_Demon; bonus bIgnoreDefRace,RC_Angel; } }
 24373:24374:24376,{ .@r = getequiprefinerycnt(EQI_SHADOW_SHIELD) + getequiprefinerycnt(EQI_SHADOW_SHOES) + getequiprefinerycnt(EQI_SHADOW_ARMOR); bonus bDef,5; if (.@r >= 25) { bonus bIgnoreDefRace,RC_Demon; bonus bIgnoreDefRace,RC_Angel; } }
 24373:24374:24377,{ .@r = getequiprefinerycnt(EQI_SHADOW_SHIELD) + getequiprefinerycnt(EQI_SHADOW_SHOES) + getequiprefinerycnt(EQI_SHADOW_ARMOR); bonus bDef,5; if (.@r >= 25) { bonus bIgnoreDefRace,RC_Formless; bonus bIgnoreDefRace,RC_Dragon; } }
 24373:24374:24377,{ .@r = getequiprefinerycnt(EQI_SHADOW_SHIELD) + getequiprefinerycnt(EQI_SHADOW_SHOES) + getequiprefinerycnt(EQI_SHADOW_ARMOR); bonus bDef,5; if (.@r >= 25) { bonus bIgnoreDefRace,RC_Formless; bonus bIgnoreDefRace,RC_Dragon; } }
-24373:24374:24378,{ .@r = getequiprefinerycnt(EQI_SHADOW_SHIELD) + getequiprefinerycnt(EQI_SHADOW_SHOES) + getequiprefinerycnt(EQI_SHADOW_ARMOR); bonus bDef,5; if (.@r >= 25) { bonus bIgnoreDefRace,RC_Plant; bonus bIgnoreDefRace,RC_Brute; } }
+24373:24374:24378,{ .@r = getequiprefinerycnt(EQI_SHADOW_SHIELD) + getequiprefinerycnt(EQI_SHADOW_SHOES) + getequiprefinerycnt(EQI_SHADOW_ARMOR); bonus bDef,5; if (.@r >= 25) { bonus bIgnoreDefRace,RC_Plant; bonus bIgnoreDefRace,RC_Brute; bonus bIgnoreDefRace,RC_Player_Doram; } }
 24373:24374:24379,{ .@r = getequiprefinerycnt(EQI_SHADOW_SHIELD) + getequiprefinerycnt(EQI_SHADOW_SHOES) + getequiprefinerycnt(EQI_SHADOW_ARMOR); bonus bDef,5; if (.@r >= 25) { bonus bIgnoreDefRace,RC_Fish; bonus bIgnoreDefRace,RC_Insect; } }
 24373:24374:24379,{ .@r = getequiprefinerycnt(EQI_SHADOW_SHIELD) + getequiprefinerycnt(EQI_SHADOW_SHOES) + getequiprefinerycnt(EQI_SHADOW_ARMOR); bonus bDef,5; if (.@r >= 25) { bonus bIgnoreDefRace,RC_Fish; bonus bIgnoreDefRace,RC_Insect; } }
 24380:24381:24382,{ .@r = getequiprefinerycnt(EQI_SHADOW_WEAPON) + getequiprefinerycnt(EQI_SHADOW_ACC_R) + getequiprefinerycnt(EQI_SHADOW_ACC_L); .@rate = 20 + 10*(.@r/10); if (.@r >= 25) { .@sp = 30; } else { .@sp = 10; } autobonus "{ bonus2 bSPRegenRate,"+.@sp+",1000; }",.@rate,5000; }
 24380:24381:24382,{ .@r = getequiprefinerycnt(EQI_SHADOW_WEAPON) + getequiprefinerycnt(EQI_SHADOW_ACC_R) + getequiprefinerycnt(EQI_SHADOW_ACC_L); .@rate = 20 + 10*(.@r/10); if (.@r >= 25) { .@sp = 30; } else { .@sp = 10; } autobonus "{ bonus2 bSPRegenRate,"+.@sp+",1000; }",.@rate,5000; }
 24383:24384:24385,{ .@r = getequiprefinerycnt(EQI_SHADOW_WEAPON) + getequiprefinerycnt(EQI_SHADOW_ACC_R) + getequiprefinerycnt(EQI_SHADOW_ACC_L); .@rate = 10 + 10*(.@r/15); if (.@r >= 25) { .@sp = 30; } else { .@sp = 10; } autobonus "{ bonus2 bSPRegenRate,"+.@sp+",1000; }",.@rate,5000,BF_MAGIC; }
 24383:24384:24385,{ .@r = getequiprefinerycnt(EQI_SHADOW_WEAPON) + getequiprefinerycnt(EQI_SHADOW_ACC_R) + getequiprefinerycnt(EQI_SHADOW_ACC_L); .@rate = 10 + 10*(.@r/15); if (.@r >= 25) { .@sp = 30; } else { .@sp = 10; } autobonus "{ bonus2 bSPRegenRate,"+.@sp+",1000; }",.@rate,5000,BF_MAGIC; }
-24387:24388:24389:24390:24391:24392,{ .@r = getequiprefinerycnt(EQI_SHADOW_ARMOR)+getequiprefinerycnt(EQI_SHADOW_WEAPON)+getequiprefinerycnt(EQI_SHADOW_SHIELD)+getequiprefinerycnt(EQI_SHADOW_SHOES)+getequiprefinerycnt(EQI_SHADOW_ACC_R)+getequiprefinerycnt(EQI_SHADOW_ACC_L); .@val = 20 + min(30,.@r); if (BaseLevel >= 130) { .@val += 6; } else if (BaseLevel >= 125) { .@val += 3; } bonus2 bIgnoreDefRaceRate,RC_All,.@val; bonus2 bIgnoreMdefRaceRate,RC_All,.@val; bonus2 bIgnoreDefRaceRate,RC_Player,-.@val; bonus2 bIgnoreMdefRaceRate,RC_Player,-.@val; }
+24387:24388:24389:24390:24391:24392,{ .@r = getequiprefinerycnt(EQI_SHADOW_ARMOR)+getequiprefinerycnt(EQI_SHADOW_WEAPON)+getequiprefinerycnt(EQI_SHADOW_SHIELD)+getequiprefinerycnt(EQI_SHADOW_SHOES)+getequiprefinerycnt(EQI_SHADOW_ACC_R)+getequiprefinerycnt(EQI_SHADOW_ACC_L); .@val = 20 + min(30,.@r); if (BaseLevel >= 130) { .@val += 6; } else if (BaseLevel >= 125) { .@val += 3; } bonus2 bIgnoreDefRaceRate,RC_All,.@val; bonus2 bIgnoreMdefRaceRate,RC_All,.@val; bonus2 bIgnoreDefRaceRate,RC_Player_Human,-.@val; bonus2 bIgnoreMdefRaceRate,RC_Player_Human,-.@val; }
 24393:24394:24395,{ .@r = getequiprefinerycnt(EQI_SHADOW_ARMOR) + getequiprefinerycnt(EQI_SHADOW_SHIELD) + getequiprefinerycnt(EQI_SHADOW_SHOES); bonus bBaseAtk,.@r*2; if (.@r >= 25) { bonus2 bAddClass,Class_All,5; } else if (.@r >= 23) { bonus2 bAddClass,Class_All,2; } }
 24393:24394:24395,{ .@r = getequiprefinerycnt(EQI_SHADOW_ARMOR) + getequiprefinerycnt(EQI_SHADOW_SHIELD) + getequiprefinerycnt(EQI_SHADOW_SHOES); bonus bBaseAtk,.@r*2; if (.@r >= 25) { bonus2 bAddClass,Class_All,5; } else if (.@r >= 23) { bonus2 bAddClass,Class_All,2; } }
 24396:24397:24398,{ .@r = getequiprefinerycnt(EQI_SHADOW_ARMOR) + getequiprefinerycnt(EQI_SHADOW_SHIELD) + getequiprefinerycnt(EQI_SHADOW_SHOES); bonus bMatk,.@r*2; if (.@r >= 25) { bonus bMatkRate,5; } else if (.@r >= 23) { bonus bMatkRate,2; } }
 24396:24397:24398,{ .@r = getequiprefinerycnt(EQI_SHADOW_ARMOR) + getequiprefinerycnt(EQI_SHADOW_SHIELD) + getequiprefinerycnt(EQI_SHADOW_SHOES); bonus bMatk,.@r*2; if (.@r >= 25) { bonus bMatkRate,5; } else if (.@r >= 23) { bonus bMatkRate,2; } }
 24399:24400,{ .@r = getequiprefinerycnt(EQI_SHADOW_SHIELD) + getequiprefinerycnt(EQI_SHADOW_SHOES); if (.@r >= 16) { bonus bDef,100; bonus bMaxHPrate,4; bonus bMaxSPrate,4; } else { bonus bDef,50; bonus bMaxHPrate,2; bonus bMaxSPrate,2; } }
 24399:24400,{ .@r = getequiprefinerycnt(EQI_SHADOW_SHIELD) + getequiprefinerycnt(EQI_SHADOW_SHOES); if (.@r >= 16) { bonus bDef,100; bonus bMaxHPrate,4; bonus bMaxSPrate,4; } else { bonus bDef,50; bonus bMaxHPrate,2; bonus bMaxSPrate,2; } }
-24416:24417:24418:24419:24420:24421,{ bonus bAspd,2; bonus bVariableCastrate,-10; bonus2 bIgnoreDefRaceRate,RC_All,70; bonus2 bIgnoreMdefRaceRate,RC_All,70; bonus2 bIgnoreDefRaceRate,RC_Player,-70; bonus2 bIgnoreMdefRaceRate,RC_Player,-70; }
+24416:24417:24418:24419:24420:24421,{ bonus bAspd,2; bonus bVariableCastrate,-10; bonus2 bIgnoreDefRaceRate,RC_All,70; bonus2 bIgnoreMdefRaceRate,RC_All,70; bonus2 bIgnoreDefRaceRate,RC_Player_Human,-70; bonus2 bIgnoreMdefRaceRate,RC_Player_Human,-70; }
+29027:29145:29159,{ bonus2 bExpAddRace,RC_All,3; }
+29047:29359:29360,{ bonus bCritAtkRate,6; }
+29047:29359:29360:29361,{ bonus bCritical,10; }
+29053:29054:29055,{ bonus bDelayrate,-2; }
+29156:29157:29158,{ bonus bVariableCastrate,-6; }
+29156:29157:29158:29358,{ bonus bVariableCastrate,-5; }
 27101:28510,{ bonus bMatkRate,(getrefine()/3); }
 27101:28510,{ bonus bMatkRate,(getrefine()/3); }
 27102:28510,{ bonus bFlee2,5; }
 27102:28510,{ bonus bFlee2,5; }
 27103:28510,{ bonus2 bAddClass,Class_All,(getrefine()/3); }
 27103:28510,{ bonus2 bAddClass,Class_All,(getrefine()/3); }
@@ -1200,17 +1206,17 @@
 27170:27173,{ bonus2 bSkillAtk,"GS_SPREADATTACK",50; }
 27170:27173,{ bonus2 bSkillAtk,"GS_SPREADATTACK",50; }
 27171:27174,{ bonus2 bSkillAtk,"GS_RAPIDSHOWER",50; }
 27171:27174,{ bonus2 bSkillAtk,"GS_RAPIDSHOWER",50; }
 27172:27175,{ bonus2 bAddSize,Size_Small,10; bonus2 bMagicAddSize,Size_Small,10; }
 27172:27175,{ bonus2 bAddSize,Size_Small,10; bonus2 bMagicAddSize,Size_Small,10; }
-27196:27199,{ bonus2 bMagicAddSize,Size_Small,5; bonus2 bMagicAddRace,RC_Brute,5; }
+27196:27199,{ bonus2 bMagicAddSize,Size_Small,5; bonus2 bMagicAddRace,RC_Brute,5; bonus2 bMagicAddRace,RC_Player_Doram,5; }
 27196:27331,{ bonus bDelayrate,-3; }
 27196:27331,{ bonus bDelayrate,-3; }
-27197:27198,{ bonus2 bAddSize,Size_Small,5; bonus2 bAddRace,RC_Brute,5; }
+27197:27198,{ bonus2 bAddSize,Size_Small,5; bonus2 bAddRace,RC_Brute,5; bonus2 bAddRace,RC_Player_Doram,5; }
 27197:27333,{ bonus2 bAddClass,Class_All,5; }
 27197:27333,{ bonus2 bAddClass,Class_All,5; }
 // 27321:27326,{ bonus bMaxHPrate,50; }
 // 27321:27326,{ bonus bMaxHPrate,50; }
 27322:27323,{ bonus bMaxSPrate,5; bonus bMaxHPrate,5; }
 27322:27323,{ bonus bMaxSPrate,5; bonus bMaxHPrate,5; }
 27324:27325,{ bonus2 bMagicAtkEle,Ele_Water,10; bonus2 bSubDefEle,Ele_Fire,10; }
 27324:27325,{ bonus2 bMagicAtkEle,Ele_Water,10; bonus2 bSubDefEle,Ele_Fire,10; }
-28022:28509,{ .@r = getequiprefinerycnt(EQI_HAND_R); bonus bAspdRate,10; if (.@r >= 9) { bonus bCritAtkRate,10; if (.@r >= 11) { bonus2 bAddRace,RC_Brute,25; } } }
+28022:28509,{ .@r = getequiprefinerycnt(EQI_HAND_R); bonus bAspdRate,10; if (.@r >= 9) { bonus bCritAtkRate,10; if (.@r >= 11) { bonus2 bAddRace,RC_Brute,25; bonus2 bAddRace,RC_Player_Doram,25; } } }
 28315:28317,{ bonus2 bAddClass,Class_All,4; bonus bMatkRate,4; }
 28315:28317,{ bonus2 bAddClass,Class_All,4; bonus bMatkRate,4; }
 28316:28318,{ bonus2 bAddClass,Class_All,4; bonus bMatkRate,4; }
 28316:28318,{ bonus2 bAddClass,Class_All,4; bonus bMatkRate,4; }
-28320:22016,{ .@val = min(12,getequiprefinerycnt(EQI_SHOES)); bonus2 bAddRace,RC_DemiHuman,.@val; bonus2 bAddRace,RC_Player,.@val; }
+28320:22016,{ .@val = min(12,getequiprefinerycnt(EQI_SHOES)); bonus2 bAddRace,RC_DemiHuman,.@val; bonus2 bAddRace,RC_Player_Human,.@val; }
 28321:28322,{ bonus bUseSPrate,-(getskilllv("HT_BEASTBANE") * 2); }
 28321:28322,{ bonus bUseSPrate,-(getskilllv("HT_BEASTBANE") * 2); }
 28326:28327,{ bonus bInt,8; bonus bStr,8; }
 28326:28327,{ bonus bInt,8; bonus bStr,8; }
 28358:18521,{ skill "AS_CLOAKING",1; }
 28358:18521,{ skill "AS_CLOAKING",1; }
@@ -1229,19 +1235,19 @@
 28491:4817,{ bonus bHit,15; bonus bCriticalLong,10; }
 28491:4817,{ bonus bHit,15; bonus bCriticalLong,10; }
 28491:4818,{ bonus bHit,15; bonus bCriticalLong,10; }
 28491:4818,{ bonus bHit,15; bonus bCriticalLong,10; }
 28499:28920,{ bonus bFlee2,10; }
 28499:28920,{ bonus bFlee2,10; }
-28501:4807,{ bonus bAspd,1; bonus2 bSubRace,RC_DemiHuman,1; bonus2 bSubRace,RC_Brute,1; bonus2 bSubRace,RC_Fish,1; bonus2 bSubRace,RC_Player,1; bonus2 bSubRace,RC_Demon,1; bonus2 bSubRace,RC_Undead,1; }
-28501:4842,{ bonus bAspd,1; bonus2 bSubRace,RC_DemiHuman,1; bonus2 bSubRace,RC_Brute,1; bonus2 bSubRace,RC_Fish,1; bonus2 bSubRace,RC_Player,1; bonus2 bSubRace,RC_Demon,1; bonus2 bSubRace,RC_Undead,1; }
-28502:2201,{ .@a = (readparam(bStr)+readparam(bLuk))/80; .@b = (readparam(bAgi)+readparam(bVit))/80; .@c = (readparam(bInt)+readparam(bDex))/80; bonus bMaxHPrate,5*.@b; bonus2 bAddClass,Class_All,6*.@a; bonus bMatk,120*.@c; bonus bCritical,5*.@a; bonus bAspdRate,5*.@b; bonus bVariableCastrate,-3*.@c; bonus bCritAtkRate,10*.@a; bonus2 bSubRace,RC_DemiHuman,((2*.@b)+2); bonus2 bSubRace,RC_Player,((2*.@b)+2); bonus bHealPower,10*.@c; }
-28502:2202,{ .@a = (readparam(bStr)+readparam(bLuk))/80; .@b = (readparam(bAgi)+readparam(bVit))/80; .@c = (readparam(bInt)+readparam(bDex))/80; bonus bMaxHPrate,5*.@b; bonus2 bAddClass,Class_All,6*.@a; bonus bMatk,120*.@c; bonus bCritical,5*.@a; bonus bAspdRate,5*.@b; bonus bVariableCastrate,-3*.@c; bonus bCritAtkRate,10*.@a; bonus2 bSubRace,RC_DemiHuman,((2*.@b)+2); bonus2 bSubRace,RC_Player,((2*.@b)+2); bonus bHealPower,10*.@c; }
-28502:2203,{ .@a = (readparam(bStr)+readparam(bLuk))/80; .@b = (readparam(bAgi)+readparam(bVit))/80; .@c = (readparam(bInt)+readparam(bDex))/80; bonus bMaxHPrate,5*.@b; bonus2 bAddClass,Class_All,6*.@a; bonus bMatk,120*.@c; bonus bCritical,5*.@a; bonus bAspdRate,5*.@b; bonus bVariableCastrate,-3*.@c; bonus bCritAtkRate,10*.@a; bonus2 bSubRace,RC_DemiHuman,((2*.@b)+2); bonus2 bSubRace,RC_Player,((2*.@b)+2); bonus bHealPower,10*.@c; }
-28502:2204,{ .@a = (readparam(bStr)+readparam(bLuk))/80; .@b = (readparam(bAgi)+readparam(bVit))/80; .@c = (readparam(bInt)+readparam(bDex))/80; bonus bMaxHPrate,5*.@b; bonus2 bAddClass,Class_All,6*.@a; bonus bMatk,120*.@c; bonus bCritical,5*.@a; bonus bAspdRate,5*.@b; bonus bVariableCastrate,-3*.@c; bonus bCritAtkRate,10*.@a; bonus2 bSubRace,RC_DemiHuman,((2*.@b)+2); bonus2 bSubRace,RC_Player,((2*.@b)+2); bonus bHealPower,10*.@c; }
+28501:4807,{ bonus bAspd,1; bonus2 bSubRace,RC_DemiHuman,1; bonus2 bSubRace,RC_Brute,1; bonus2 bSubRace,RC_Player_Doram,1; bonus2 bSubRace,RC_Fish,1; bonus2 bSubRace,RC_Player_Human,1; bonus2 bSubRace,RC_Demon,1; bonus2 bSubRace,RC_Undead,1; }
+28501:4842,{ bonus bAspd,1; bonus2 bSubRace,RC_DemiHuman,1; bonus2 bSubRace,RC_Brute,1; bonus2 bSubRace,RC_Player_Doram,1; bonus2 bSubRace,RC_Fish,1; bonus2 bSubRace,RC_Player_Human,1; bonus2 bSubRace,RC_Demon,1; bonus2 bSubRace,RC_Undead,1; }
+28502:2201,{ .@a = (readparam(bStr)+readparam(bLuk))/80; .@b = (readparam(bAgi)+readparam(bVit))/80; .@c = (readparam(bInt)+readparam(bDex))/80; bonus bMaxHPrate,5*.@b; bonus2 bAddClass,Class_All,6*.@a; bonus bMatk,120*.@c; bonus bCritical,5*.@a; bonus bAspdRate,5*.@b; bonus bVariableCastrate,-3*.@c; bonus bCritAtkRate,10*.@a; bonus2 bSubRace,RC_DemiHuman,((2*.@b)+2); bonus2 bSubRace,RC_Player_Human,((2*.@b)+2); bonus bHealPower,10*.@c; }
+28502:2202,{ .@a = (readparam(bStr)+readparam(bLuk))/80; .@b = (readparam(bAgi)+readparam(bVit))/80; .@c = (readparam(bInt)+readparam(bDex))/80; bonus bMaxHPrate,5*.@b; bonus2 bAddClass,Class_All,6*.@a; bonus bMatk,120*.@c; bonus bCritical,5*.@a; bonus bAspdRate,5*.@b; bonus bVariableCastrate,-3*.@c; bonus bCritAtkRate,10*.@a; bonus2 bSubRace,RC_DemiHuman,((2*.@b)+2); bonus2 bSubRace,RC_Player_Human,((2*.@b)+2); bonus bHealPower,10*.@c; }
+28502:2203,{ .@a = (readparam(bStr)+readparam(bLuk))/80; .@b = (readparam(bAgi)+readparam(bVit))/80; .@c = (readparam(bInt)+readparam(bDex))/80; bonus bMaxHPrate,5*.@b; bonus2 bAddClass,Class_All,6*.@a; bonus bMatk,120*.@c; bonus bCritical,5*.@a; bonus bAspdRate,5*.@b; bonus bVariableCastrate,-3*.@c; bonus bCritAtkRate,10*.@a; bonus2 bSubRace,RC_DemiHuman,((2*.@b)+2); bonus2 bSubRace,RC_Player_Human,((2*.@b)+2); bonus bHealPower,10*.@c; }
+28502:2204,{ .@a = (readparam(bStr)+readparam(bLuk))/80; .@b = (readparam(bAgi)+readparam(bVit))/80; .@c = (readparam(bInt)+readparam(bDex))/80; bonus bMaxHPrate,5*.@b; bonus2 bAddClass,Class_All,6*.@a; bonus bMatk,120*.@c; bonus bCritical,5*.@a; bonus bAspdRate,5*.@b; bonus bVariableCastrate,-3*.@c; bonus bCritAtkRate,10*.@a; bonus2 bSubRace,RC_DemiHuman,((2*.@b)+2); bonus2 bSubRace,RC_Player_Human,((2*.@b)+2); bonus bHealPower,10*.@c; }
 28506:1414,{ .@r = getequiprefinerycnt(EQI_HAND_R); if (.@r>=7) { .@val = 30; if (.@r>=9) { .@val += 20; bonus2 bAddClass,Class_Boss,.@val; bonus2 bAddEle,Ele_Water,.@val; bonus2 bAddEle,Ele_Wind,.@val; bonus2 bAddRace,RC_Fish,.@val; bonus2 bAddRace,RC_Insect,.@val; bonus2 bSkillAtk,"RK_WINDCUTTER",.@val; if (.@r>=10) { bonus2 bVariableCastrate,"RK_WINDCUTTER",-50; } } } }
 28506:1414,{ .@r = getequiprefinerycnt(EQI_HAND_R); if (.@r>=7) { .@val = 30; if (.@r>=9) { .@val += 20; bonus2 bAddClass,Class_Boss,.@val; bonus2 bAddEle,Ele_Water,.@val; bonus2 bAddEle,Ele_Wind,.@val; bonus2 bAddRace,RC_Fish,.@val; bonus2 bAddRace,RC_Insect,.@val; bonus2 bSkillAtk,"RK_WINDCUTTER",.@val; if (.@r>=10) { bonus2 bVariableCastrate,"RK_WINDCUTTER",-50; } } } }
 28506:1449,{ .@r = getequiprefinerycnt(EQI_HAND_R); if (.@r>=7) { .@val = 30; if (.@r>=9) { .@val += 20; bonus2 bAddClass,Class_Boss,.@val; bonus2 bAddEle,Ele_Water,.@val; bonus2 bAddEle,Ele_Wind,.@val; bonus2 bAddRace,RC_Fish,.@val; bonus2 bAddRace,RC_Insect,.@val; bonus2 bSkillAtk,"RK_WINDCUTTER",.@val; if (.@r>=10) { bonus2 bVariableCastrate,"RK_WINDCUTTER",-50; } } } }
 28506:1449,{ .@r = getequiprefinerycnt(EQI_HAND_R); if (.@r>=7) { .@val = 30; if (.@r>=9) { .@val += 20; bonus2 bAddClass,Class_Boss,.@val; bonus2 bAddEle,Ele_Water,.@val; bonus2 bAddEle,Ele_Wind,.@val; bonus2 bAddRace,RC_Fish,.@val; bonus2 bAddRace,RC_Insect,.@val; bonus2 bSkillAtk,"RK_WINDCUTTER",.@val; if (.@r>=10) { bonus2 bVariableCastrate,"RK_WINDCUTTER",-50; } } } }
-28506:15037,{ .@r = getequiprefinerycnt(EQI_ARMOR); bonus2 bResEff,Eff_Freeze,10000; bonus2 bSubRace,RC_DemiHuman,3; bonus2 bSubRace,RC_Player,3; if (.@r>=7) { bonus bMaxHPrate,15; bonus2 bSubRace,RC_DemiHuman,2; bonus2 bSubRace,RC_Player,2; } if (.@r>=9) { bonus bMaxHPrate,15; bonus2 bSubRace,RC_DemiHuman,2; bonus2 bSubRace,RC_Player,2; } }
+28506:15037,{ .@r = getequiprefinerycnt(EQI_ARMOR); bonus2 bResEff,Eff_Freeze,10000; bonus2 bSubRace,RC_DemiHuman,3; bonus2 bSubRace,RC_Player_Human,3; if (.@r>=7) { bonus bMaxHPrate,15; bonus2 bSubRace,RC_DemiHuman,2; bonus2 bSubRace,RC_Player_Human,2; } if (.@r>=9) { bonus bMaxHPrate,15; bonus2 bSubRace,RC_DemiHuman,2; bonus2 bSubRace,RC_Player_Human,2; } }
 28506:15037:2476:2575:2884,{ autobonus3 "{bonus bDelayrate,-70;}",1000,10000,"LK_AURABLADE","{specialeffect2 EF_ENHANCE;}"; }
 28506:15037:2476:2575:2884,{ autobonus3 "{bonus bDelayrate,-70;}",1000,10000,"LK_AURABLADE","{specialeffect2 EF_ENHANCE;}"; }
-28506:2476,{ .@r = getequiprefinerycnt(EQI_SHOES); bonus2 bSubRace,RC_DemiHuman,3; bonus2 bSubRace,RC_Player,3; if (.@r>=7) { bonus bAspdRate,10; bonus2 bSubRace,RC_DemiHuman,1; bonus2 bSubRace,RC_Player,1; } if (.@r>=9) { bonus bAspdRate,10; bonus2 bSubRace,RC_DemiHuman,1; bonus2 bSubRace,RC_Player,1; } }
-28506:2575,{ .@r = getequiprefinerycnt(EQI_GARMENT); bonus2 bSubRace,RC_DemiHuman,3; bonus2 bSkillUseSP,"RK_WINDCUTTER",18; bonus2 bSubRace,RC_Player,3; if (.@r>=7) { bonus bLongAtkDef,10; bonus2 bSubRace,RC_DemiHuman,1; bonus2 bSubRace,RC_Player,1; } if (.@r>=9) { bonus bLongAtkDef,10; bonus2 bSubRace,RC_DemiHuman,1; bonus2 bSubRace,RC_Player,1; } }
-28506:2884,{ bonus2 bAddClass,Class_All,5; bonus bMaxSPrate,5; bonus bAspdRate,5; bonus2 bSubRace,RC_DemiHuman,4; bonus2 bSubRace,RC_Player,4; }
+28506:2476,{ .@r = getequiprefinerycnt(EQI_SHOES); bonus2 bSubRace,RC_DemiHuman,3; bonus2 bSubRace,RC_Player_Human,3; if (.@r>=7) { bonus bAspdRate,10; bonus2 bSubRace,RC_DemiHuman,1; bonus2 bSubRace,RC_Player_Human,1; } if (.@r>=9) { bonus bAspdRate,10; bonus2 bSubRace,RC_DemiHuman,1; bonus2 bSubRace,RC_Player_Human,1; } }
+28506:2575,{ .@r = getequiprefinerycnt(EQI_GARMENT); bonus2 bSubRace,RC_DemiHuman,3; bonus2 bSkillUseSP,"RK_WINDCUTTER",18; bonus2 bSubRace,RC_Player_Human,3; if (.@r>=7) { bonus bLongAtkDef,10; bonus2 bSubRace,RC_DemiHuman,1; bonus2 bSubRace,RC_Player_Human,1; } if (.@r>=9) { bonus bLongAtkDef,10; bonus2 bSubRace,RC_DemiHuman,1; bonus2 bSubRace,RC_Player_Human,1; } }
+28506:2884,{ bonus2 bAddClass,Class_All,5; bonus bMaxSPrate,5; bonus bAspdRate,5; bonus2 bSubRace,RC_DemiHuman,4; bonus2 bSubRace,RC_Player_Human,4; }
 28508:28612,{ .@r = getequiprefinerycnt(EQI_HAND_R); bonus bAspdRate,8; bonus bCritAtkRate,(5*(.@r/2)); if (.@r >= 9) { bonus bCritical,15; bonus2 bResEff,Eff_Curse,10000; if (.@r >= 11) { bonus bBaseAtk,100; } } }
 28508:28612,{ .@r = getequiprefinerycnt(EQI_HAND_R); bonus bAspdRate,8; bonus bCritAtkRate,(5*(.@r/2)); if (.@r >= 9) { bonus bCritical,15; bonus2 bResEff,Eff_Curse,10000; if (.@r >= 11) { bonus bBaseAtk,100; } } }
 28509:28626,{ .@r = getequiprefinerycnt(EQI_HAND_R); bonus bAspdRate,8; bonus bCritAtkRate,(5*(.@r/2)); if (.@r >= 9) { bonus bCritical,15; if (.@r >= 11) { bonus bBaseAtk,100; } } }
 28509:28626,{ .@r = getequiprefinerycnt(EQI_HAND_R); bonus bAspdRate,8; bonus bCritAtkRate,(5*(.@r/2)); if (.@r >= 9) { bonus bCritical,15; if (.@r >= 11) { bonus bBaseAtk,100; } } }
 28594:4875,{ bonus bStr,40; bonus bMaxHPrate,10; }
 28594:4875,{ bonus bStr,40; bonus bMaxHPrate,10; }

文件差异内容过多而无法显示
+ 181 - 181
db/re/item_db.txt


+ 2 - 0
db/re/item_delay.txt

@@ -99,6 +99,8 @@
 //12207,60000	//Vit_Dish10_
 //12207,60000	//Vit_Dish10_
 22508,1200000	//Para_Team_Mark_
 22508,1200000	//Para_Team_Mark_
 
 
+22540,5000,SC_REUSE_LIMIT_LUXANIMA	//Runstone_Lux
+
 // Bed of Honor
 // Bed of Honor
 22687,5000,SC_REUSE_LIMIT_F	// Pieces_Of_Sentiment
 22687,5000,SC_REUSE_LIMIT_F	// Pieces_Of_Sentiment
 
 

+ 429 - 0
db/re/item_misc.txt

@@ -1407,3 +1407,432 @@ IG_PRIVATE_AIRSHIP,25464,1 // World_Moving_Rights
 IG_Token_Of_Siegfried,6293,1	// F_Token_Of_Siegfried
 IG_Token_Of_Siegfried,6293,1	// F_Token_Of_Siegfried
 IG_Token_Of_Siegfried,6316,1	// E_Token_Of_Siegfried
 IG_Token_Of_Siegfried,6316,1	// E_Token_Of_Siegfried
 IG_Token_Of_Siegfried,7621,1	// Token_Of_Siegfried
 IG_Token_Of_Siegfried,7621,1	// Token_Of_Siegfried
+
+// Enchant_Stone_Box5
+IG_Enchant_Stone_Box5,6908,2	// ASPDStone_Robe
+IG_Enchant_Stone_Box5,6642,3	// ATKStone_Middle
+IG_Enchant_Stone_Box5,6643,3	// MATKStone_Middle
+IG_Enchant_Stone_Box5,6943,3	// ATKStone_Top
+IG_Enchant_Stone_Box5,6944,3	// MATKStone_Top
+IG_Enchant_Stone_Box5,6636,4	// STRStone_Top
+IG_Enchant_Stone_Box5,6637,4	// INTStone_Top
+IG_Enchant_Stone_Box5,6638,4	// AGIStone_Top
+IG_Enchant_Stone_Box5,6639,4	// DEXStone_Top
+IG_Enchant_Stone_Box5,6640,4	// VITStone_Top
+IG_Enchant_Stone_Box5,6641,4	// LUKStone_Top
+IG_Enchant_Stone_Box5,6743,4	// HPStone_Middle
+IG_Enchant_Stone_Box5,6744,4	// SPStone_Middle
+IG_Enchant_Stone_Box5,6945,4	// STRStone_Middle
+IG_Enchant_Stone_Box5,6946,4	// INTStone_Middle
+IG_Enchant_Stone_Box5,6947,4	// AGIStone_Middle
+IG_Enchant_Stone_Box5,6948,4	// DEXStone_Middle
+IG_Enchant_Stone_Box5,6949,4	// VITStone_Middle
+IG_Enchant_Stone_Box5,6950,4	// LUKStone_Middle
+IG_Enchant_Stone_Box5,6951,4	// HPStone_Bottom
+IG_Enchant_Stone_Box5,6644,5	// HITStone_Bottom
+IG_Enchant_Stone_Box5,6645,5	// FLEEStone_Bottom
+IG_Enchant_Stone_Box5,6740,5	// HealStone_Top
+IG_Enchant_Stone_Box5,6741,5	// HealStone2_Top
+IG_Enchant_Stone_Box5,6742,5	// HealStone_Middle
+IG_Enchant_Stone_Box5,6745,5	// HealStone_Bottom
+IG_Enchant_Stone_Box5,6790,5	// BigStone_Top
+IG_Enchant_Stone_Box5,6791,5	// MediumStone_Top
+IG_Enchant_Stone_Box5,6792,5	// SmallStone_Top
+
+// Enchant_Stone_Box6
+IG_Enchant_Stone_Box6,6963,83	// HPdrainStone_Robe
+IG_Enchant_Stone_Box6,6964,83	// SPdrainStone_Robe
+IG_Enchant_Stone_Box6,6908,165	// ASPDStone_Robe
+IG_Enchant_Stone_Box6,6642,248	// ATKStone_Middle
+IG_Enchant_Stone_Box6,6643,248	// MATKStone_Middle
+IG_Enchant_Stone_Box6,6943,248	// ATKStone_Top
+IG_Enchant_Stone_Box6,6944,248	// MATKStone_Top
+IG_Enchant_Stone_Box6,6636,331	// STRStone_Top
+IG_Enchant_Stone_Box6,6637,331	// INTStone_Top
+IG_Enchant_Stone_Box6,6638,331	// AGIStone_Top
+IG_Enchant_Stone_Box6,6639,331	// DEXStone_Top
+IG_Enchant_Stone_Box6,6640,331	// VITStone_Top
+IG_Enchant_Stone_Box6,6641,331	// LUKStone_Top
+IG_Enchant_Stone_Box6,6743,331	// HPStone_Middle
+IG_Enchant_Stone_Box6,6744,331	// SPStone_Middle
+IG_Enchant_Stone_Box6,6945,331	// STRStone_Middle
+IG_Enchant_Stone_Box6,6946,331	// INTStone_Middle
+IG_Enchant_Stone_Box6,6947,331	// AGIStone_Middle
+IG_Enchant_Stone_Box6,6948,331	// DEXStone_Middle
+IG_Enchant_Stone_Box6,6949,331	// VITStone_Middle
+IG_Enchant_Stone_Box6,6950,331	// LUKStone_Middle
+IG_Enchant_Stone_Box6,6951,331	// HPStone_Bottom
+IG_Enchant_Stone_Box6,6644,413	// HITStone_Bottom
+IG_Enchant_Stone_Box6,6645,413	// FLEEStone_Bottom
+IG_Enchant_Stone_Box6,6740,413	// HealStone_Top
+IG_Enchant_Stone_Box6,6741,413	// HealStone2_Top
+IG_Enchant_Stone_Box6,6742,413	// HealStone_Middle
+IG_Enchant_Stone_Box6,6745,413	// HealStone_Bottom
+IG_Enchant_Stone_Box6,6790,413	// BigStone_Top
+IG_Enchant_Stone_Box6,6791,413	// MediumStone_Top
+IG_Enchant_Stone_Box6,6792,413	// SmallStone_Top
+
+// Enchant_Stone_Box7
+IG_Enchant_Stone_Box7,6964,85	// SPdrainStone_Robe
+IG_Enchant_Stone_Box7,6963,169	// HPdrainStone_Robe
+IG_Enchant_Stone_Box7,6999,169	// HPdrainStone_Top
+IG_Enchant_Stone_Box7,25000,169	// SPdrainStone_Top
+IG_Enchant_Stone_Box7,6642,254	// ATKStone_Middle
+IG_Enchant_Stone_Box7,6643,254	// MATKStone_Middle
+IG_Enchant_Stone_Box7,6943,254	// ATKStone_Top
+IG_Enchant_Stone_Box7,6944,254	// MATKStone_Top
+IG_Enchant_Stone_Box7,25016,254	// ATKStone_Bottom
+IG_Enchant_Stone_Box7,25017,254	// MATKStone_Bottom
+IG_Enchant_Stone_Box7,25002,339	// ChangeLUK_Middle
+IG_Enchant_Stone_Box7,25003,339	// ChangeSTR_Middle
+IG_Enchant_Stone_Box7,25004,339	// ChangeAGI_Middle
+IG_Enchant_Stone_Box7,25005,339	// ChangeINT_Middle
+IG_Enchant_Stone_Box7,25006,339	// ChangeVIT_Middle
+IG_Enchant_Stone_Box7,25007,339	// ChangeDEX_Middle
+IG_Enchant_Stone_Box7,25008,339	// ChangeVIT_Bottom
+IG_Enchant_Stone_Box7,25009,339	// ChangeAGI_Bottom
+IG_Enchant_Stone_Box7,25010,339	// ChangeDEX_Bottom
+IG_Enchant_Stone_Box7,25011,339	// ChangeLUK_Bottom
+IG_Enchant_Stone_Box7,25012,339	// ChangeSTR_Bottom
+IG_Enchant_Stone_Box7,25013,339	// ChangeINT_Bottom
+IG_Enchant_Stone_Box7,6740,424	// HealStone_Top
+IG_Enchant_Stone_Box7,6741,424	// HealStone2_Top
+IG_Enchant_Stone_Box7,6743,424	// HPStone_Middle
+IG_Enchant_Stone_Box7,6744,424	// SPStone_Middle
+IG_Enchant_Stone_Box7,6745,424	// HealStone_Bottom
+IG_Enchant_Stone_Box7,6951,424	// HPStone_Bottom
+IG_Enchant_Stone_Box7,25001,424	// DEFStone_Middle
+IG_Enchant_Stone_Box7,25014,424	// MDEFStone_Bottom
+IG_Enchant_Stone_Box7,25015,424	// EXPStone_Bottom
+
+// Enchant_Stone_Box8
+IG_Enchant_Stone_Box8,25067,37	// CastingStone_Robe
+IG_Enchant_Stone_Box8,6964,74	// SPdrainStone_Robe
+IG_Enchant_Stone_Box8,25000,74	// SPdrainStone_Top
+IG_Enchant_Stone_Box8,6963,149	// HPdrainStone_Robe
+IG_Enchant_Stone_Box8,6999,149	// HPdrainStone_Top
+IG_Enchant_Stone_Box8,25062,149	// Greed_Stone
+IG_Enchant_Stone_Box8,25068,149	// ASPDStone_Top
+IG_Enchant_Stone_Box8,25072,149	// Kyrie_Stone
+IG_Enchant_Stone_Box8,6642,223	// ATKStone_Middle
+IG_Enchant_Stone_Box8,6643,223	// MATKStone_Middle
+IG_Enchant_Stone_Box8,6943,223	// ATKStone_Top
+IG_Enchant_Stone_Box8,6944,223	// MATKStone_Top
+IG_Enchant_Stone_Box8,25016,223	// ATKStone_Bottom
+IG_Enchant_Stone_Box8,25017,223	// MATKStone_Bottom
+IG_Enchant_Stone_Box8,25058,223	// TwinkleEffect_Top
+IG_Enchant_Stone_Box8,25059,223	// GhostEffect_Middle
+IG_Enchant_Stone_Box8,25060,223	// Critical_Stone
+IG_Enchant_Stone_Box8,25061,223	// Range_Stone
+IG_Enchant_Stone_Box8,25069,223	// ReloadStone_Top
+IG_Enchant_Stone_Box8,25070,223	// ReloadStone_Middle
+IG_Enchant_Stone_Box8,25071,223	// ReloadStone_Bottom
+IG_Enchant_Stone_Box8,25002,297	// ChangeLUK_Middle
+IG_Enchant_Stone_Box8,25003,297	// ChangeSTR_Middle
+IG_Enchant_Stone_Box8,25004,297	// ChangeAGI_Middle
+IG_Enchant_Stone_Box8,25005,297	// ChangeINT_Middle
+IG_Enchant_Stone_Box8,25006,297	// ChangeVIT_Middle
+IG_Enchant_Stone_Box8,25007,297	// ChangeDEX_Middle
+IG_Enchant_Stone_Box8,25008,297	// ChangeVIT_Bottom
+IG_Enchant_Stone_Box8,25009,297	// ChangeAGI_Bottom
+IG_Enchant_Stone_Box8,25010,297	// ChangeDEX_Bottom
+IG_Enchant_Stone_Box8,25011,297	// ChangeLUK_Bottom
+IG_Enchant_Stone_Box8,25012,297	// ChangeSTR_Bottom
+IG_Enchant_Stone_Box8,25013,297	// ChangeINT_Bottom
+IG_Enchant_Stone_Box8,25001,372	// DEFStone_Middle
+IG_Enchant_Stone_Box8,25014,372	// MDEFStone_Bottom
+IG_Enchant_Stone_Box8,25015,372	// EXPStone_Bottom
+IG_Enchant_Stone_Box8,25063,372	// MaxHP2_Stone
+IG_Enchant_Stone_Box8,25064,372	// MaxSP2_Stone
+IG_Enchant_Stone_Box8,25065,372	// Detoxify_Stone
+IG_Enchant_Stone_Box8,6745,372	// HealStone_Bottom
+
+// Enchant_Stone_Box9
+IG_Enchant_Stone_Box9,6964,79	// SPdrainStone_Robe
+IG_Enchant_Stone_Box9,25000,79	// SPdrainStone_Top
+IG_Enchant_Stone_Box9,6963,159	// HPdrainStone_Robe
+IG_Enchant_Stone_Box9,6999,159	// HPdrainStone_Top
+IG_Enchant_Stone_Box9,25062,159	// Greed_Stone
+IG_Enchant_Stone_Box9,25068,159	// ASPDStone_Top
+IG_Enchant_Stone_Box9,25072,159	// Kyrie_Stone
+IG_Enchant_Stone_Box9,25138,159	// ShrinkEffect_Middle
+IG_Enchant_Stone_Box9,6642,238	// ATKStone_Middle
+IG_Enchant_Stone_Box9,6643,238	// MATKStone_Middle
+IG_Enchant_Stone_Box9,6943,238	// ATKStone_Top
+IG_Enchant_Stone_Box9,6944,238	// MATKStone_Top
+IG_Enchant_Stone_Box9,25016,238	// ATKStone_Bottom
+IG_Enchant_Stone_Box9,25017,238	// MATKStone_Bottom
+IG_Enchant_Stone_Box9,25060,238	// Critical_Stone
+IG_Enchant_Stone_Box9,25061,238	// Range_Stone
+IG_Enchant_Stone_Box9,25069,238	// ReloadStone_Top
+IG_Enchant_Stone_Box9,25070,238	// ReloadStone_Middle
+IG_Enchant_Stone_Box9,25071,238	// ReloadStone_Bottom
+IG_Enchant_Stone_Box9,25136,238	// ElectricEffect_Middle
+IG_Enchant_Stone_Box9,25137,238	// GreenFloor_Bottom
+IG_Enchant_Stone_Box9,25002,317	// ChangeLUK_Middle
+IG_Enchant_Stone_Box9,25003,317	// ChangeSTR_Middle
+IG_Enchant_Stone_Box9,25004,317	// ChangeAGI_Middle
+IG_Enchant_Stone_Box9,25005,317	// ChangeINT_Middle
+IG_Enchant_Stone_Box9,25006,317	// ChangeVIT_Middle
+IG_Enchant_Stone_Box9,25007,317	// ChangeDEX_Middle
+IG_Enchant_Stone_Box9,25008,317	// ChangeVIT_Bottom
+IG_Enchant_Stone_Box9,25009,317	// ChangeAGI_Bottom
+IG_Enchant_Stone_Box9,25010,317	// ChangeDEX_Bottom
+IG_Enchant_Stone_Box9,25011,317	// ChangeLUK_Bottom
+IG_Enchant_Stone_Box9,25012,317	// ChangeSTR_Bottom
+IG_Enchant_Stone_Box9,25013,317	// ChangeINT_Bottom
+IG_Enchant_Stone_Box9,25015,397	// EXPStone_Bottom
+IG_Enchant_Stone_Box9,25063,397	// MaxHP2_Stone
+IG_Enchant_Stone_Box9,25064,397	// MaxSP2_Stone
+IG_Enchant_Stone_Box9,25139,397	// Identify_Stone
+IG_Enchant_Stone_Box9,25141,397	// EXPStone_Middle
+
+// Enchant_Stone_Box10
+IG_Enchant_Stone_Box10,6964,78	// SPdrainStone_Robe
+IG_Enchant_Stone_Box10,25000,78	// SPdrainStone_Top
+IG_Enchant_Stone_Box10,6999,156	// HPdrainStone_Top
+IG_Enchant_Stone_Box10,25062,156	// Greed_Stone
+IG_Enchant_Stone_Box10,25068,156	// ASPDStone_Top
+IG_Enchant_Stone_Box10,25072,156	// Kyrie_Stone
+IG_Enchant_Stone_Box10,25170,156	// MinorCastingStone_Robe
+IG_Enchant_Stone_Box10,25175,156	// LexAeternaStone_Middle
+IG_Enchant_Stone_Box10,25176,156	// BlueAuraEffect_Middle
+IG_Enchant_Stone_Box10,6642,234	// ATKStone_Middle
+IG_Enchant_Stone_Box10,6643,234	// MATKStone_Middle
+IG_Enchant_Stone_Box10,6943,234	// ATKStone_Top
+IG_Enchant_Stone_Box10,6944,234	// MATKStone_Top
+IG_Enchant_Stone_Box10,25016,234	// ATKStone_Bottom
+IG_Enchant_Stone_Box10,25017,234	// MATKStone_Bottom
+IG_Enchant_Stone_Box10,25060,234	// Critical_Stone
+IG_Enchant_Stone_Box10,25061,234	// Range_Stone
+IG_Enchant_Stone_Box10,25172,234	// CastingStone_Top
+IG_Enchant_Stone_Box10,25173,234	// CastingStone_Middle
+IG_Enchant_Stone_Box10,25174,234	// CastingStone_Bottom
+IG_Enchant_Stone_Box10,25176,234	// BlueAuraEffect_Middle
+IG_Enchant_Stone_Box10,25178,234	// PinkGlowEffect_Middle
+IG_Enchant_Stone_Box10,25002,312	// ChangeLUK_Middle
+IG_Enchant_Stone_Box10,25003,312	// ChangeSTR_Middle
+IG_Enchant_Stone_Box10,25004,312	// ChangeAGI_Middle
+IG_Enchant_Stone_Box10,25005,312	// ChangeINT_Middle
+IG_Enchant_Stone_Box10,25006,312	// ChangeVIT_Middle
+IG_Enchant_Stone_Box10,25007,312	// ChangeDEX_Middle
+IG_Enchant_Stone_Box10,25008,312	// ChangeVIT_Bottom
+IG_Enchant_Stone_Box10,25009,312	// ChangeAGI_Bottom
+IG_Enchant_Stone_Box10,25010,312	// ChangeDEX_Bottom
+IG_Enchant_Stone_Box10,25011,312	// ChangeLUK_Bottom
+IG_Enchant_Stone_Box10,25012,312	// ChangeSTR_Bottom
+IG_Enchant_Stone_Box10,25013,312	// ChangeINT_Bottom
+IG_Enchant_Stone_Box10,25015,391	// EXPStone_Bottom
+IG_Enchant_Stone_Box10,25063,391	// MaxHP2_Stone
+IG_Enchant_Stone_Box10,25064,391	// MaxSP2_Stone
+IG_Enchant_Stone_Box10,25141,391	// EXPStone_Middle
+IG_Enchant_Stone_Box10,25171,391	// EXPStone_Top
+
+// Enchant_Stone_Box11
+IG_Enchant_Stone_Box11,25067,2	// CastingStone_Robe
+IG_Enchant_Stone_Box11,6964,8	// SPdrainStone_Robe
+IG_Enchant_Stone_Box11,25000,8	// SPdrainStone_Top
+IG_Enchant_Stone_Box11,6908,16	// ASPDStone_Robe
+IG_Enchant_Stone_Box11,6963,16	// HPdrainStone_Robe
+IG_Enchant_Stone_Box11,6999,16	// HPdrainStone_Top
+IG_Enchant_Stone_Box11,25068,16	// ASPDStone_Top
+IG_Enchant_Stone_Box11,25170,16	// MinorCastingStone_Robe
+IG_Enchant_Stone_Box11,25224,16	// WhiteBodyEffect_Middle
+IG_Enchant_Stone_Box11,6642,24	// ATKStone_Middle
+IG_Enchant_Stone_Box11,6643,24	// MATKStone_Middle
+IG_Enchant_Stone_Box11,6943,24	// ATKStone_Top
+IG_Enchant_Stone_Box11,6944,24	// MATKStone_Top
+IG_Enchant_Stone_Box11,25016,24	// ATKStone_Bottom
+IG_Enchant_Stone_Box11,25017,24	// MATKStone_Bottom
+IG_Enchant_Stone_Box11,25060,24	// Critical_Stone
+IG_Enchant_Stone_Box11,25061,24	// Range_Stone
+IG_Enchant_Stone_Box11,25225,24	// ExplodingEffect_Middle
+IG_Enchant_Stone_Box11,25226,24	// WaterFieldEffect_Bottom
+IG_Enchant_Stone_Box11,25227,24	// Heal_Stone
+IG_Enchant_Stone_Box11,25228,24	// Teleport_Stone
+IG_Enchant_Stone_Box11,25229,24	// Steal_Stone
+IG_Enchant_Stone_Box11,25002,32	// ChangeLUK_Middle
+IG_Enchant_Stone_Box11,25003,32	// ChangeSTR_Middle
+IG_Enchant_Stone_Box11,25004,32	// ChangeAGI_Middle
+IG_Enchant_Stone_Box11,25005,32	// ChangeINT_Middle
+IG_Enchant_Stone_Box11,25006,32	// ChangeVIT_Middle
+IG_Enchant_Stone_Box11,25007,32	// ChangeDEX_Middle
+IG_Enchant_Stone_Box11,25008,32	// ChangeVIT_Bottom
+IG_Enchant_Stone_Box11,25009,32	// ChangeAGI_Bottom
+IG_Enchant_Stone_Box11,25010,32	// ChangeDEX_Bottom
+IG_Enchant_Stone_Box11,25011,32	// ChangeLUK_Bottom
+IG_Enchant_Stone_Box11,25012,32	// ChangeSTR_Bottom
+IG_Enchant_Stone_Box11,25013,32	// ChangeINT_Bottom
+IG_Enchant_Stone_Box11,25015,38	// EXPStone_Bottom
+IG_Enchant_Stone_Box11,25063,38	// MaxHP2_Stone
+IG_Enchant_Stone_Box11,25064,38	// MaxSP2_Stone
+IG_Enchant_Stone_Box11,25141,38	// EXPStone_Middle
+IG_Enchant_Stone_Box11,25171,38	// EXPStone_Top
+
+// Enchant_Stone_Box12
+IG_Enchant_Stone_Box12,25067,2	// CastingStone_Robe
+IG_Enchant_Stone_Box12,25302,2	// DoubleAttack_Stone
+IG_Enchant_Stone_Box12,25303,2	// Critical_Stone_Robe
+IG_Enchant_Stone_Box12,6964,8	// SPdrainStone_Robe
+IG_Enchant_Stone_Box12,25000,8	// SPdrainStone_Top
+IG_Enchant_Stone_Box12,25205,8	// ShrinkEffect_Bottom
+IG_Enchant_Stone_Box12,25306,8	// CastStone_Robe
+IG_Enchant_Stone_Box12,6908,16	// ASPDStone_Robe
+IG_Enchant_Stone_Box12,6963,16	// HPdrainStone_Robe
+IG_Enchant_Stone_Box12,6999,16	// HPdrainStone_Top
+IG_Enchant_Stone_Box12,25068,16	// ASPDStone_Top
+IG_Enchant_Stone_Box12,25170,16	// MinorCastingStone_Robe
+IG_Enchant_Stone_Box12,6642,24	// ATKStone_Middle
+IG_Enchant_Stone_Box12,6643,24	// MATKStone_Middle
+IG_Enchant_Stone_Box12,6943,24	// ATKStone_Top
+IG_Enchant_Stone_Box12,6944,24	// MATKStone_Top
+IG_Enchant_Stone_Box12,25015,24	// EXPStone_Bottom
+IG_Enchant_Stone_Box12,25016,24	// ATKStone_Bottom
+IG_Enchant_Stone_Box12,25017,24	// MATKStone_Bottom
+IG_Enchant_Stone_Box12,25061,24	// Range_Stone
+IG_Enchant_Stone_Box12,25141,24	// EXPStone_Middle
+IG_Enchant_Stone_Box12,25171,24	// EXPStone_Top
+IG_Enchant_Stone_Box12,25172,24	// CastingStone_Top
+IG_Enchant_Stone_Box12,25173,24	// CastingStone_Middle
+IG_Enchant_Stone_Box12,25174,24	// CastingStone_Bottom
+IG_Enchant_Stone_Box12,25002,38	// ChangeLUK_Middle
+IG_Enchant_Stone_Box12,25003,38	// ChangeSTR_Middle
+IG_Enchant_Stone_Box12,25004,38	// ChangeAGI_Middle
+IG_Enchant_Stone_Box12,25005,38	// ChangeINT_Middle
+IG_Enchant_Stone_Box12,25006,38	// ChangeVIT_Middle
+IG_Enchant_Stone_Box12,25007,38	// ChangeDEX_Middle
+IG_Enchant_Stone_Box12,25008,38	// ChangeVIT_Bottom
+IG_Enchant_Stone_Box12,25009,38	// ChangeAGI_Bottom
+IG_Enchant_Stone_Box12,25010,38	// ChangeDEX_Bottom
+IG_Enchant_Stone_Box12,25011,38	// ChangeLUK_Bottom
+IG_Enchant_Stone_Box12,25012,38	// ChangeSTR_Bottom
+IG_Enchant_Stone_Box12,25013,38	// ChangeINT_Bottom
+IG_Enchant_Stone_Box12,25060,38	// Critical_Stone
+IG_Enchant_Stone_Box12,25304,38	// Critical_Stone_Top
+IG_Enchant_Stone_Box12,25305,38	// Critical_Stone_Bottom
+
+// Enchant_Stone_Box13
+IG_Enchant_Stone_Box13,25067,2	// CastingStone_Robe
+IG_Enchant_Stone_Box13,25302,2	// DoubleAttack_Stone
+IG_Enchant_Stone_Box13,25303,2	// Critical_Stone_Robe
+IG_Enchant_Stone_Box13,6964,8	// SPdrainStone_Robe
+IG_Enchant_Stone_Box13,25000,8	// SPdrainStone_Top
+IG_Enchant_Stone_Box13,25205,8	// ShrinkEffect_Bottom
+IG_Enchant_Stone_Box13,25306,8	// CastStone_Robe
+IG_Enchant_Stone_Box13,6908,16	// ASPDStone_Robe
+IG_Enchant_Stone_Box13,6963,16	// HPdrainStone_Robe
+IG_Enchant_Stone_Box13,6999,16	// HPdrainStone_Top
+IG_Enchant_Stone_Box13,25068,16	// ASPDStone_Top
+IG_Enchant_Stone_Box13,25170,16	// MinorCastingStone_Robe
+IG_Enchant_Stone_Box13,25412,16	// SuraStone_Robe
+IG_Enchant_Stone_Box13,25416,16	// RangerStone_Robe
+IG_Enchant_Stone_Box13,25420,16	// SorcererStone_Robe
+IG_Enchant_Stone_Box13,25015,24	// EXPStone_Bottom
+IG_Enchant_Stone_Box13,25061,24	// Range_Stone
+IG_Enchant_Stone_Box13,25141,24	// EXPStone_Middle
+IG_Enchant_Stone_Box13,25171,24	// EXPStone_Top
+IG_Enchant_Stone_Box13,25172,24	// CastingStone_Top
+IG_Enchant_Stone_Box13,25173,24	// CastingStone_Middle
+IG_Enchant_Stone_Box13,25174,24	// CastingStone_Bottom
+IG_Enchant_Stone_Box13,6642,37	// ATKStone_Middle
+IG_Enchant_Stone_Box13,6643,37	// MATKStone_Middle
+IG_Enchant_Stone_Box13,6943,37	// ATKStone_Top
+IG_Enchant_Stone_Box13,6944,37	// MATKStone_Top
+IG_Enchant_Stone_Box13,25016,37	// ATKStone_Bottom
+IG_Enchant_Stone_Box13,25017,37	// MATKStone_Bottom
+IG_Enchant_Stone_Box13,25060,37	// Critical_Stone
+IG_Enchant_Stone_Box13,25304,37	// Critical_Stone_Top
+IG_Enchant_Stone_Box13,25305,37	// Critical_Stone_Bottom
+IG_Enchant_Stone_Box13,25409,37	// SuraStone_Top
+IG_Enchant_Stone_Box13,25410,37	// SuraStone_Middle
+IG_Enchant_Stone_Box13,25411,37	// SuraStone_Lower
+IG_Enchant_Stone_Box13,25413,37	// RangerStone_Top
+IG_Enchant_Stone_Box13,25414,37	// RangerStone_Middle
+IG_Enchant_Stone_Box13,25415,37	// RangerStone_Lower
+IG_Enchant_Stone_Box13,25417,37	// SorcererStone_Top
+IG_Enchant_Stone_Box13,25418,37	// SorcererStone_Middle
+IG_Enchant_Stone_Box13,25419,37	// SorcererStone_Lower
+
+// Enchant_Stone_Box14
+IG_Enchant_Stone_Box14,25067,2	// CastingStone_Robe
+IG_Enchant_Stone_Box14,25302,2	// DoubleAttack_Stone
+IG_Enchant_Stone_Box14,25303,2	// Critical_Stone_Robe
+IG_Enchant_Stone_Box14,6964,8	// SPdrainStone_Robe
+IG_Enchant_Stone_Box14,25000,8	// SPdrainStone_Top
+IG_Enchant_Stone_Box14,25205,8	// ShrinkEffect_Bottom
+IG_Enchant_Stone_Box14,25306,8	// CastStone_Robe
+IG_Enchant_Stone_Box14,6908,16	// ASPDStone_Robe
+IG_Enchant_Stone_Box14,6963,16	// HPdrainStone_Robe
+IG_Enchant_Stone_Box14,6999,16	// HPdrainStone_Top
+IG_Enchant_Stone_Box14,25068,16	// ASPDStone_Top
+IG_Enchant_Stone_Box14,25170,16	// MinorCastingStone_Robe
+IG_Enchant_Stone_Box14,25448,16	// RuneknightStone_Robe
+IG_Enchant_Stone_Box14,25449,16	// GeneticStone_Robe
+IG_Enchant_Stone_Box14,25456,16	// WarlockStone_Robe
+IG_Enchant_Stone_Box14,25015,24	// EXPStone_Bottom
+IG_Enchant_Stone_Box14,25061,24	// Range_Stone
+IG_Enchant_Stone_Box14,25141,24	// EXPStone_Middle
+IG_Enchant_Stone_Box14,25171,24	// EXPStone_Top
+IG_Enchant_Stone_Box14,25172,24	// CastingStone_Top
+IG_Enchant_Stone_Box14,25173,24	// CastingStone_Middle
+IG_Enchant_Stone_Box14,25174,24	// CastingStone_Bottom
+IG_Enchant_Stone_Box14,6642,37	// ATKStone_Middle
+IG_Enchant_Stone_Box14,6643,37	// MATKStone_Middle
+IG_Enchant_Stone_Box14,6943,37	// ATKStone_Top
+IG_Enchant_Stone_Box14,6944,37	// MATKStone_Top
+IG_Enchant_Stone_Box14,25016,37	// ATKStone_Bottom
+IG_Enchant_Stone_Box14,25017,37	// MATKStone_Bottom
+IG_Enchant_Stone_Box14,25060,37	// Critical_Stone
+IG_Enchant_Stone_Box14,25304,37	// Critical_Stone_Top
+IG_Enchant_Stone_Box14,25305,37	// Critical_Stone_Bottom
+IG_Enchant_Stone_Box14,25445,37	// RuneknightStone_Top
+IG_Enchant_Stone_Box14,25446,37	// RuneknightStone_Middle
+IG_Enchant_Stone_Box14,25447,37	// RuneknightStone_Lower
+IG_Enchant_Stone_Box14,25450,37	// GeneticStone_Top
+IG_Enchant_Stone_Box14,25451,37	// GeneticStone_Middle
+IG_Enchant_Stone_Box14,25452,37	// GeneticStone_Lower
+IG_Enchant_Stone_Box14,25453,37	// WarlockStone_Top
+IG_Enchant_Stone_Box14,25454,37	// WarlockStone_Middle
+IG_Enchant_Stone_Box14,25455,37	// WarlockStone_Lower
+
+// Enchant_Stone_Box15
+IG_Enchant_Stone_Box15,25067,2	// CastingStone_Robe
+IG_Enchant_Stone_Box15,25302,2	// DoubleAttack_Stone
+IG_Enchant_Stone_Box15,25303,2	// Critical_Stone_Robe
+IG_Enchant_Stone_Box15,6964,8	// SPdrainStone_Robe
+IG_Enchant_Stone_Box15,25000,8	// SPdrainStone_Top
+IG_Enchant_Stone_Box15,25205,8	// ShrinkEffect_Bottom
+IG_Enchant_Stone_Box15,25306,8	// CastStone_Robe
+IG_Enchant_Stone_Box15,6908,16	// ASPDStone_Robe
+IG_Enchant_Stone_Box15,6963,16	// HPdrainStone_Robe
+IG_Enchant_Stone_Box15,6999,16	// HPdrainStone_Top
+IG_Enchant_Stone_Box15,25068,16	// ASPDStone_Top
+IG_Enchant_Stone_Box15,25170,16	// MinorCastingStone_Robe
+IG_Enchant_Stone_Box15,25493,16	// ShadowchaserStone_Robe
+IG_Enchant_Stone_Box15,25497,16	// MechanicStone_Robe
+IG_Enchant_Stone_Box15,25501,16	// WanderMinstrelStone_Robe
+IG_Enchant_Stone_Box15,25015,24	// EXPStone_Bottom
+IG_Enchant_Stone_Box15,25061,24	// Range_Stone
+IG_Enchant_Stone_Box15,25141,24	// EXPStone_Middle
+IG_Enchant_Stone_Box15,25171,24	// EXPStone_Top
+IG_Enchant_Stone_Box15,25172,24	// CastingStone_Top
+IG_Enchant_Stone_Box15,25173,24	// CastingStone_Middle
+IG_Enchant_Stone_Box15,25174,24	// CastingStone_Bottom
+IG_Enchant_Stone_Box15,6642,37	// ATKStone_Middle
+IG_Enchant_Stone_Box15,6643,37	// MATKStone_Middle
+IG_Enchant_Stone_Box15,6943,37	// ATKStone_Top
+IG_Enchant_Stone_Box15,6944,37	// MATKStone_Top
+IG_Enchant_Stone_Box15,25016,37	// ATKStone_Bottom
+IG_Enchant_Stone_Box15,25017,37	// MATKStone_Bottom
+IG_Enchant_Stone_Box15,25060,37	// Critical_Stone
+IG_Enchant_Stone_Box15,25304,37	// Critical_Stone_Top
+IG_Enchant_Stone_Box15,25305,37	// Critical_Stone_Bottom
+IG_Enchant_Stone_Box15,25490,37	// ShadowchaserStone_Top
+IG_Enchant_Stone_Box15,25491,37	// ShadowchaserStone_Middle
+IG_Enchant_Stone_Box15,25492,37	// ShadowchaserStone_Lower
+IG_Enchant_Stone_Box15,25494,37	// MechanicStone_Top
+IG_Enchant_Stone_Box15,25495,37	// MechanicStone_Middle
+IG_Enchant_Stone_Box15,25496,37	// MechanicStone_Lower
+IG_Enchant_Stone_Box15,25498,37	// WanderMinstrelStone_Top
+IG_Enchant_Stone_Box15,25499,37	// WanderMinstrelStone_Middle
+IG_Enchant_Stone_Box15,25500,37	// WanderMinstrelStone_Lower

+ 6 - 6
db/re/item_randomopt_db.txt

@@ -97,7 +97,7 @@ RDMOPT_RACE_TOLERACE_PLANT,{ bonus2 bSubRace,RC_Plant,getrandomoptinfo(ROA_VALUE
 RDMOPT_RACE_TOLERACE_INSECT,{ bonus2 bSubRace,RC_Insect,getrandomoptinfo(ROA_VALUE); }
 RDMOPT_RACE_TOLERACE_INSECT,{ bonus2 bSubRace,RC_Insect,getrandomoptinfo(ROA_VALUE); }
 RDMOPT_RACE_TOLERACE_FISHS,{ bonus2 bSubRace,RC_Fish,getrandomoptinfo(ROA_VALUE); }
 RDMOPT_RACE_TOLERACE_FISHS,{ bonus2 bSubRace,RC_Fish,getrandomoptinfo(ROA_VALUE); }
 RDMOPT_RACE_TOLERACE_DEVIL,{ bonus2 bSubRace,RC_Demon,getrandomoptinfo(ROA_VALUE); }
 RDMOPT_RACE_TOLERACE_DEVIL,{ bonus2 bSubRace,RC_Demon,getrandomoptinfo(ROA_VALUE); }
-RDMOPT_RACE_TOLERACE_HUMAN,{ bonus2 bSubRace,RC_DemiHuman,getrandomoptinfo(ROA_VALUE); bonus2 bSubRace,RC_Player,getrandomoptinfo(ROA_VALUE); }
+RDMOPT_RACE_TOLERACE_HUMAN,{ bonus2 bSubRace,RC_DemiHuman,getrandomoptinfo(ROA_VALUE); bonus2 bSubRace,RC_Player_Human,getrandomoptinfo(ROA_VALUE); }
 RDMOPT_RACE_TOLERACE_ANGEL,{ bonus2 bSubRace,RC_Angel,getrandomoptinfo(ROA_VALUE); }
 RDMOPT_RACE_TOLERACE_ANGEL,{ bonus2 bSubRace,RC_Angel,getrandomoptinfo(ROA_VALUE); }
 RDMOPT_RACE_TOLERACE_DRAGON,{ bonus2 bSubRace,RC_Dragon,getrandomoptinfo(ROA_VALUE); }
 RDMOPT_RACE_TOLERACE_DRAGON,{ bonus2 bSubRace,RC_Dragon,getrandomoptinfo(ROA_VALUE); }
 RDMOPT_RACE_DAMAGE_NOTHING,{ bonus2 bAddRace,RC_Formless,getrandomoptinfo(ROA_VALUE); }
 RDMOPT_RACE_DAMAGE_NOTHING,{ bonus2 bAddRace,RC_Formless,getrandomoptinfo(ROA_VALUE); }
@@ -107,7 +107,7 @@ RDMOPT_RACE_DAMAGE_PLANT,{ bonus2 bAddRace,RC_Plant,getrandomoptinfo(ROA_VALUE);
 RDMOPT_RACE_DAMAGE_INSECT,{ bonus2 bAddRace,RC_Insect,getrandomoptinfo(ROA_VALUE); }
 RDMOPT_RACE_DAMAGE_INSECT,{ bonus2 bAddRace,RC_Insect,getrandomoptinfo(ROA_VALUE); }
 RDMOPT_RACE_DAMAGE_FISHS,{ bonus2 bAddRace,RC_Fish,getrandomoptinfo(ROA_VALUE); }
 RDMOPT_RACE_DAMAGE_FISHS,{ bonus2 bAddRace,RC_Fish,getrandomoptinfo(ROA_VALUE); }
 RDMOPT_RACE_DAMAGE_DEVIL,{ bonus2 bAddRace,RC_Demon,getrandomoptinfo(ROA_VALUE); }
 RDMOPT_RACE_DAMAGE_DEVIL,{ bonus2 bAddRace,RC_Demon,getrandomoptinfo(ROA_VALUE); }
-RDMOPT_RACE_DAMAGE_HUMAN,{ bonus2 bAddRace,RC_DemiHuman,getrandomoptinfo(ROA_VALUE); bonus2 bAddRace,RC_Player,getrandomoptinfo(ROA_VALUE); }
+RDMOPT_RACE_DAMAGE_HUMAN,{ bonus2 bAddRace,RC_DemiHuman,getrandomoptinfo(ROA_VALUE); bonus2 bAddRace,RC_Player_Human,getrandomoptinfo(ROA_VALUE); }
 RDMOPT_RACE_DAMAGE_ANGEL,{ bonus2 bAddRace,RC_Angel,getrandomoptinfo(ROA_VALUE); }
 RDMOPT_RACE_DAMAGE_ANGEL,{ bonus2 bAddRace,RC_Angel,getrandomoptinfo(ROA_VALUE); }
 RDMOPT_RACE_DAMAGE_DRAGON,{ bonus2 bAddRace,RC_Dragon,getrandomoptinfo(ROA_VALUE); }
 RDMOPT_RACE_DAMAGE_DRAGON,{ bonus2 bAddRace,RC_Dragon,getrandomoptinfo(ROA_VALUE); }
 RDMOPT_RACE_MDAMAGE_NOTHING,{ bonus2 bMagicAddRace,RC_Formless,getrandomoptinfo(ROA_VALUE); }
 RDMOPT_RACE_MDAMAGE_NOTHING,{ bonus2 bMagicAddRace,RC_Formless,getrandomoptinfo(ROA_VALUE); }
@@ -117,7 +117,7 @@ RDMOPT_RACE_MDAMAGE_PLANT,{ bonus2 bMagicAddRace,RC_Plant,getrandomoptinfo(ROA_V
 RDMOPT_RACE_MDAMAGE_INSECT,{ bonus2 bMagicAddRace,RC_Insect,getrandomoptinfo(ROA_VALUE); }
 RDMOPT_RACE_MDAMAGE_INSECT,{ bonus2 bMagicAddRace,RC_Insect,getrandomoptinfo(ROA_VALUE); }
 RDMOPT_RACE_MDAMAGE_FISHS,{ bonus2 bMagicAddRace,RC_Fish,getrandomoptinfo(ROA_VALUE); }
 RDMOPT_RACE_MDAMAGE_FISHS,{ bonus2 bMagicAddRace,RC_Fish,getrandomoptinfo(ROA_VALUE); }
 RDMOPT_RACE_MDAMAGE_DEVIL,{ bonus2 bMagicAddRace,RC_Demon,getrandomoptinfo(ROA_VALUE); }
 RDMOPT_RACE_MDAMAGE_DEVIL,{ bonus2 bMagicAddRace,RC_Demon,getrandomoptinfo(ROA_VALUE); }
-RDMOPT_RACE_MDAMAGE_HUMAN,{ bonus2 bMagicAddRace,RC_DemiHuman,getrandomoptinfo(ROA_VALUE); bonus2 bMagicAddRace,RC_Player,getrandomoptinfo(ROA_VALUE); }
+RDMOPT_RACE_MDAMAGE_HUMAN,{ bonus2 bMagicAddRace,RC_DemiHuman,getrandomoptinfo(ROA_VALUE); bonus2 bMagicAddRace,RC_Player_Human,getrandomoptinfo(ROA_VALUE); }
 RDMOPT_RACE_MDAMAGE_ANGEL,{ bonus2 bMagicAddRace,RC_Angel,getrandomoptinfo(ROA_VALUE); }
 RDMOPT_RACE_MDAMAGE_ANGEL,{ bonus2 bMagicAddRace,RC_Angel,getrandomoptinfo(ROA_VALUE); }
 RDMOPT_RACE_MDAMAGE_DRAGON,{ bonus2 bMagicAddRace,RC_Dragon,getrandomoptinfo(ROA_VALUE); }
 RDMOPT_RACE_MDAMAGE_DRAGON,{ bonus2 bMagicAddRace,RC_Dragon,getrandomoptinfo(ROA_VALUE); }
 RDMOPT_RACE_CRI_PERCENT_NOTHING,{ bonus2 bCriticalAddRace,RC_Formless,getrandomoptinfo(ROA_VALUE)/10; }
 RDMOPT_RACE_CRI_PERCENT_NOTHING,{ bonus2 bCriticalAddRace,RC_Formless,getrandomoptinfo(ROA_VALUE)/10; }
@@ -127,7 +127,7 @@ RDMOPT_RACE_CRI_PERCENT_PLANT,{ bonus2 bCriticalAddRace,RC_Plant,getrandomoptinf
 RDMOPT_RACE_CRI_PERCENT_INSECT,{ bonus2 bCriticalAddRace,RC_Insect,getrandomoptinfo(ROA_VALUE)/10; }
 RDMOPT_RACE_CRI_PERCENT_INSECT,{ bonus2 bCriticalAddRace,RC_Insect,getrandomoptinfo(ROA_VALUE)/10; }
 RDMOPT_RACE_CRI_PERCENT_FISHS,{ bonus2 bCriticalAddRace,RC_Fish,getrandomoptinfo(ROA_VALUE)/10; }
 RDMOPT_RACE_CRI_PERCENT_FISHS,{ bonus2 bCriticalAddRace,RC_Fish,getrandomoptinfo(ROA_VALUE)/10; }
 RDMOPT_RACE_CRI_PERCENT_DEVIL,{ bonus2 bCriticalAddRace,RC_Demon,getrandomoptinfo(ROA_VALUE)/10; }
 RDMOPT_RACE_CRI_PERCENT_DEVIL,{ bonus2 bCriticalAddRace,RC_Demon,getrandomoptinfo(ROA_VALUE)/10; }
-RDMOPT_RACE_CRI_PERCENT_HUMAN,{ bonus2 bCriticalAddRace,RC_DemiHuman,getrandomoptinfo(ROA_VALUE)/10; bonus2 bCriticalAddRace,RC_Player,getrandomoptinfo(ROA_VALUE)/10; }
+RDMOPT_RACE_CRI_PERCENT_HUMAN,{ bonus2 bCriticalAddRace,RC_DemiHuman,getrandomoptinfo(ROA_VALUE)/10; bonus2 bCriticalAddRace,RC_Player_Human,getrandomoptinfo(ROA_VALUE)/10; }
 RDMOPT_RACE_CRI_PERCENT_ANGEL,{ bonus2 bCriticalAddRace,RC_Angel,getrandomoptinfo(ROA_VALUE)/10; }
 RDMOPT_RACE_CRI_PERCENT_ANGEL,{ bonus2 bCriticalAddRace,RC_Angel,getrandomoptinfo(ROA_VALUE)/10; }
 RDMOPT_RACE_CRI_PERCENT_DRAGON,{ bonus2 bCriticalAddRace,RC_Dragon,getrandomoptinfo(ROA_VALUE)/10; }
 RDMOPT_RACE_CRI_PERCENT_DRAGON,{ bonus2 bCriticalAddRace,RC_Dragon,getrandomoptinfo(ROA_VALUE)/10; }
 RDMOPT_RACE_IGNORE_DEF_PERCENT_NOTHING,{ bonus2 bIgnoreDefRaceRate,RC_Formless,getrandomoptinfo(ROA_VALUE); }
 RDMOPT_RACE_IGNORE_DEF_PERCENT_NOTHING,{ bonus2 bIgnoreDefRaceRate,RC_Formless,getrandomoptinfo(ROA_VALUE); }
@@ -137,7 +137,7 @@ RDMOPT_RACE_IGNORE_DEF_PERCENT_PLANT,{ bonus2 bIgnoreDefRaceRate,RC_Plant,getran
 RDMOPT_RACE_IGNORE_DEF_PERCENT_INSECT,{ bonus2 bIgnoreDefRaceRate,RC_Insect,getrandomoptinfo(ROA_VALUE); }
 RDMOPT_RACE_IGNORE_DEF_PERCENT_INSECT,{ bonus2 bIgnoreDefRaceRate,RC_Insect,getrandomoptinfo(ROA_VALUE); }
 RDMOPT_RACE_IGNORE_DEF_PERCENT_FISHS,{ bonus2 bIgnoreDefRaceRate,RC_Fish,getrandomoptinfo(ROA_VALUE); }
 RDMOPT_RACE_IGNORE_DEF_PERCENT_FISHS,{ bonus2 bIgnoreDefRaceRate,RC_Fish,getrandomoptinfo(ROA_VALUE); }
 RDMOPT_RACE_IGNORE_DEF_PERCENT_DEVIL,{ bonus2 bIgnoreDefRaceRate,RC_Demon,getrandomoptinfo(ROA_VALUE); }
 RDMOPT_RACE_IGNORE_DEF_PERCENT_DEVIL,{ bonus2 bIgnoreDefRaceRate,RC_Demon,getrandomoptinfo(ROA_VALUE); }
-RDMOPT_RACE_IGNORE_DEF_PERCENT_HUMAN,{ bonus2 bIgnoreDefRaceRate,RC_DemiHuman,getrandomoptinfo(ROA_VALUE); bonus2 bIgnoreDefRaceRate,RC_Player,getrandomoptinfo(ROA_VALUE); }
+RDMOPT_RACE_IGNORE_DEF_PERCENT_HUMAN,{ bonus2 bIgnoreDefRaceRate,RC_DemiHuman,getrandomoptinfo(ROA_VALUE); bonus2 bIgnoreDefRaceRate,RC_Player_Human,getrandomoptinfo(ROA_VALUE); }
 RDMOPT_RACE_IGNORE_DEF_PERCENT_ANGEL,{ bonus2 bIgnoreDefRaceRate,RC_Angel,getrandomoptinfo(ROA_VALUE); }
 RDMOPT_RACE_IGNORE_DEF_PERCENT_ANGEL,{ bonus2 bIgnoreDefRaceRate,RC_Angel,getrandomoptinfo(ROA_VALUE); }
 RDMOPT_RACE_IGNORE_DEF_PERCENT_DRAGON,{ bonus2 bIgnoreDefRaceRate,RC_Dragon,getrandomoptinfo(ROA_VALUE); }
 RDMOPT_RACE_IGNORE_DEF_PERCENT_DRAGON,{ bonus2 bIgnoreDefRaceRate,RC_Dragon,getrandomoptinfo(ROA_VALUE); }
 RDMOPT_RACE_IGNORE_MDEF_PERCENT_NOTHING,{ bonus2 bIgnoreMdefRaceRate,RC_Formless,getrandomoptinfo(ROA_VALUE); }
 RDMOPT_RACE_IGNORE_MDEF_PERCENT_NOTHING,{ bonus2 bIgnoreMdefRaceRate,RC_Formless,getrandomoptinfo(ROA_VALUE); }
@@ -147,7 +147,7 @@ RDMOPT_RACE_IGNORE_MDEF_PERCENT_PLANT,{ bonus2 bIgnoreMdefRaceRate,RC_Plant,getr
 RDMOPT_RACE_IGNORE_MDEF_PERCENT_INSECT,{ bonus2 bIgnoreMdefRaceRate,RC_Insect,getrandomoptinfo(ROA_VALUE); }
 RDMOPT_RACE_IGNORE_MDEF_PERCENT_INSECT,{ bonus2 bIgnoreMdefRaceRate,RC_Insect,getrandomoptinfo(ROA_VALUE); }
 RDMOPT_RACE_IGNORE_MDEF_PERCENT_FISHS,{ bonus2 bIgnoreMdefRaceRate,RC_Fish,getrandomoptinfo(ROA_VALUE); }
 RDMOPT_RACE_IGNORE_MDEF_PERCENT_FISHS,{ bonus2 bIgnoreMdefRaceRate,RC_Fish,getrandomoptinfo(ROA_VALUE); }
 RDMOPT_RACE_IGNORE_MDEF_PERCENT_DEVIL,{ bonus2 bIgnoreMdefRaceRate,RC_Demon,getrandomoptinfo(ROA_VALUE); }
 RDMOPT_RACE_IGNORE_MDEF_PERCENT_DEVIL,{ bonus2 bIgnoreMdefRaceRate,RC_Demon,getrandomoptinfo(ROA_VALUE); }
-RDMOPT_RACE_IGNORE_MDEF_PERCENT_HUMAN,{ bonus2 bIgnoreMdefRaceRate,RC_DemiHuman,getrandomoptinfo(ROA_VALUE); bonus2 bIgnoreMdefRaceRate,RC_Player,getrandomoptinfo(ROA_VALUE); }
+RDMOPT_RACE_IGNORE_MDEF_PERCENT_HUMAN,{ bonus2 bIgnoreMdefRaceRate,RC_DemiHuman,getrandomoptinfo(ROA_VALUE); bonus2 bIgnoreMdefRaceRate,RC_Player_Human,getrandomoptinfo(ROA_VALUE); }
 RDMOPT_RACE_IGNORE_MDEF_PERCENT_ANGEL,{ bonus2 bIgnoreMdefRaceRate,RC_Angel,getrandomoptinfo(ROA_VALUE); }
 RDMOPT_RACE_IGNORE_MDEF_PERCENT_ANGEL,{ bonus2 bIgnoreMdefRaceRate,RC_Angel,getrandomoptinfo(ROA_VALUE); }
 RDMOPT_RACE_IGNORE_MDEF_PERCENT_DRAGON,{ bonus2 bIgnoreMdefRaceRate,RC_Dragon,getrandomoptinfo(ROA_VALUE); }
 RDMOPT_RACE_IGNORE_MDEF_PERCENT_DRAGON,{ bonus2 bIgnoreMdefRaceRate,RC_Dragon,getrandomoptinfo(ROA_VALUE); }
 RDMOPT_CLASS_DAMAGE_NORMAL_TARGET,{ bonus2 bAddClass,Class_Normal,getrandomoptinfo(ROA_VALUE); }
 RDMOPT_CLASS_DAMAGE_NORMAL_TARGET,{ bonus2 bAddClass,Class_Normal,getrandomoptinfo(ROA_VALUE); }

+ 0 - 9
db/re/item_stack.txt

@@ -17,14 +17,5 @@
 // Example:
 // Example:
 // 512,4,12  // Will not allow more than 4 Apples in storages.
 // 512,4,12  // Will not allow more than 4 Apples in storages.
 
 
-// Rune Knight
-12725,60,1  // Nauthiz Rune
-12726,60,1  // Raido Rune
-12727,60,1  // Berkana Rune
-12728,60,1  // Isa Rune
-12730,60,1  // Uruz Rune
-12733,60,1  // Hagalaz Rune
-22540,60,1  // Lux Anima Rune
-
 // Arch Bishop
 // Arch Bishop
 12333,3,1  // Ancilla
 12333,3,1  // Ancilla

+ 242 - 9
db/re/mob_db.txt

@@ -302,7 +302,7 @@
 1290,SKELETON_GENERAL,Skeleton General,Skeleton General,88,6720,0,1368,1553,1,1317,1701,100,35,72,34,52,31,84,25,10,12,1,1,29,0x3695,150,2276,576,432,0,0,0,0,0,0,0,7068,2550,756,160,508,800,0,0,1219,80,13035,15,2274,1,0,0,0,0,4221,1
 1290,SKELETON_GENERAL,Skeleton General,Skeleton General,88,6720,0,1368,1553,1,1317,1701,100,35,72,34,52,31,84,25,10,12,1,1,29,0x3695,150,2276,576,432,0,0,0,0,0,0,0,7068,2550,756,160,508,800,0,0,1219,80,13035,15,2274,1,0,0,0,0,4221,1
 1291,WRAITH_DEAD,Wraith Dead,Wraith Dead,86,10035,0,2518,1824,2,1002,160,88,56,63,69,55,45,88,45,10,12,2,1,89,0x3695,175,1816,576,240,0,0,0,0,0,0,0,1059,4413,2206,10,2506,8,716,700,732,5,603,100,568,300,0,0,0,0,4189,1
 1291,WRAITH_DEAD,Wraith Dead,Wraith Dead,86,10035,0,2518,1824,2,1002,160,88,56,63,69,55,45,88,45,10,12,2,1,89,0x3695,175,1816,576,240,0,0,0,0,0,0,0,1059,4413,2206,10,2506,8,716,700,732,5,603,100,568,300,0,0,0,0,4189,1
 1292,MINI_DEMON,Mini Demon,Mini Demon,117,19402,1,2700,2025,1,938,114,80,25,130,69,55,56,79,40,10,12,0,6,27,0x2003695,150,1000,600,384,0,0,0,0,0,0,0,1038,4413,1039,450,2255,3,757,160,912,2500,1009,10,1478,5,0,0,0,0,4204,1
 1292,MINI_DEMON,Mini Demon,Mini Demon,117,19402,1,2700,2025,1,938,114,80,25,130,69,55,56,79,40,10,12,0,6,27,0x2003695,150,1000,600,384,0,0,0,0,0,0,0,1038,4413,1039,450,2255,3,757,160,912,2500,1009,10,1478,5,0,0,0,0,4204,1
-1293,CREMY_FEAR,Creamy Fear,Creamy Fear,77,3420,0,945,1067,2,757,110,76,37,65,36,33,49,66,30,10,12,0,4,24,0x2003695,155,1136,720,840,0,0,0,0,0,0,0,924,4550,2333,10,518,550,602,200,1550,8,2726,5,522,50,0,0,0,0,4298,1
+1293,CREMY_FEAR,Creamy Fear,Creamy Fear,117,18211,0,2583,2475,2,731,243,76,37,65,36,33,49,79,30,10,12,0,4,24,0x2003695,155,1136,720,840,0,0,0,0,0,0,0,924,4550,2333,10,518,550,2899,1,12676,8,2726,5,522,50,0,0,0,0,4298,1
 1294,KILLER_MANTIS,Killer Mantis,Killer Mantis,91,7650,0,1485,1674,1,1521,1201,107,45,82,56,58,45,69,40,10,12,1,4,22,0x2003695,175,1528,660,432,0,0,0,0,0,0,0,1031,4550,943,2500,721,10,509,15,514,25,1262,1,2108,1,0,0,0,0,4301,1
 1294,KILLER_MANTIS,Killer Mantis,Killer Mantis,91,7650,0,1485,1674,1,1521,1201,107,45,82,56,58,45,69,40,10,12,1,4,22,0x2003695,175,1528,660,432,0,0,0,0,0,0,0,1031,4550,943,2500,721,10,509,15,514,25,1262,1,2108,1,0,0,0,0,4301,1
 1295,OWL_BARON,Owl Baron,Owl Baron,120,21000,1,3042,2282,2,629,201,88,25,72,65,55,102,77,72,10,12,2,6,60,0x6203695,175,1345,824,440,0,0,0,0,0,0,0,7071,3500,7063,2500,0,0,1472,1,1629,2,693,100,5045,5,0,0,0,0,4238,1
 1295,OWL_BARON,Owl Baron,Owl Baron,120,21000,1,3042,2282,2,629,201,88,25,72,65,55,102,77,72,10,12,2,6,60,0x6203695,175,1345,824,440,0,0,0,0,0,0,0,7071,3500,7063,2500,0,0,1472,1,1629,2,693,100,5045,5,0,0,0,0,4238,1
 1296,KOBOLD_LEADER,Kobold Leader,Kobold Leader,112,13520,1,2643,2383,1,995,96,90,62,135,34,68,56,83,47,10,12,1,7,44,0x3695,150,1028,528,360,0,0,0,0,0,0,0,999,450,1034,6305,912,1200,0,0,1613,2,525,150,526,100,0,0,0,0,4291,1
 1296,KOBOLD_LEADER,Kobold Leader,Kobold Leader,112,13520,1,2643,2383,1,995,96,90,62,135,34,68,56,83,47,10,12,1,7,44,0x3695,150,1028,528,360,0,0,0,0,0,0,0,999,450,1034,6305,912,1200,0,0,1613,2,525,150,526,100,0,0,0,0,4291,1
@@ -2096,10 +2096,10 @@
 2936,E_GHOSTRING,Ghostring,Ghostring,1,10,0,0,0,1,1,1,100,99,0,0,0,0,0,0,7,12,0,3,20,0x0,300,1220,1080,648,0,0,0,0,0,0,0,535,1500,535,1500,535,1500,535,1500,12192,2000,7225,2000,6658,500,0,0,0,0,6658,10000
 2936,E_GHOSTRING,Ghostring,Ghostring,1,10,0,0,0,1,1,1,100,99,0,0,0,0,0,0,7,12,0,3,20,0x0,300,1220,1080,648,0,0,0,0,0,0,0,535,1500,535,1500,535,1500,535,1500,12192,2000,7225,2000,6658,500,0,0,0,0,6658,10000
 //2937,M_LOKI,M Loki,M Loki,145,1215600,1,1,1,2,1835,444,15,89,76,66,90,55,189,22,10,12,1,7,20,0x0,175,800,750,300,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
 //2937,M_LOKI,M Loki,M Loki,145,1215600,1,1,1,2,1835,444,15,89,76,66,90,55,189,22,10,12,1,7,20,0x0,175,800,750,300,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
 2938,MM_MAGIC_SEAL,Magic Seal,Magic Seal,140,10000000,1,1,6999,1,1,1,80,200,16,26,30,115,79,5,10,12,2,0,20,0x0,300,1000,1000,1000,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
 2938,MM_MAGIC_SEAL,Magic Seal,Magic Seal,140,10000000,1,1,6999,1,1,1,80,200,16,26,30,115,79,5,10,12,2,0,20,0x0,300,1000,1000,1000,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
-2939,MM_EVIL_SHADOW1,Evil Shadow,Evil Shadow,138,112000,1,7456,5983,1,3266,1307,30,30,88,44,88,21,95,44,10,12,2,6,47,0x2000085,200,1500,600,500,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
-2940,MM_EVIL_SHADOW2,Evil Shadow,Evil Shadow,141,127650,1,8103,7738,1,2678,1071,121,36,60,103,45,35,172,15,10,12,1,6,47,0x2000085,200,1000,500,600,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
-2941,MM_EVIL_SHADOW3,Evil Shadow,Evil Shadow,142,153400,1,8863,6736,1,3167,1267,89,44,120,87,66,33,106,27,10,12,2,6,47,0x2000085,200,1800,780,480,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
-2942,MM_EVIL_FANATICS,Evil Fanatics,Evil Fanatics,151,8256000,1,1008653,988954,3,3350,167,166,103,118,72,40,55,213,30,10,12,2,6,67,0x6280085,200,1000,500,350,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
+2939,MM_EVIL_SHADOW1,Evil Shadow,Evil Shadow,138,112000,1,7456,5983,1,3266,1307,30,30,88,44,88,21,95,44,10,12,2,6,47,0x2000085,200,1500,600,500,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,27264,1
+2940,MM_EVIL_SHADOW2,Evil Shadow,Evil Shadow,141,127650,1,8103,7738,1,2678,1071,121,36,60,103,45,35,172,15,10,12,1,6,47,0x2000085,200,1000,500,600,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,27264,1
+2941,MM_EVIL_SHADOW3,Evil Shadow,Evil Shadow,142,153400,1,8863,6736,1,3167,1267,89,44,120,87,66,33,106,27,10,12,2,6,47,0x2000085,200,1800,780,480,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,27264,1
+2942,MM_EVIL_FANATICS,Evil Fanatics,Evil Fanatics,151,8256000,1,1008653,988954,3,3350,167,166,103,118,72,40,55,213,30,10,12,2,6,67,0x6280085,200,1000,500,350,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,27265,1
 2943,MM_ICE_MINE,Icemine,Icemine,149,10000,200,0,0,7,200,1,200,10,200,200,200,200,200,200,12,12,0,4,88,0xE170000,2000,0,1000,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
 2943,MM_ICE_MINE,Icemine,Icemine,149,10000,200,0,0,7,200,1,200,10,200,200,200,200,200,200,12,12,0,4,88,0xE170000,2000,0,1000,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
 //2944,J_HORNET
 //2944,J_HORNET
 //2945,J_MUMMY
 //2945,J_MUMMY
@@ -2347,7 +2347,7 @@
 //3187,E2_G_S_NYDHOG
 //3187,E2_G_S_NYDHOG
 //3188,E2_FELOCK
 //3188,E2_FELOCK
 //3189,WOLF_MOON
 //3189,WOLF_MOON
-3190,MM_SARAH,Sarah,Sarah Irene,160,100000000,1,0,0,12,1090,1665,276,255,43,161,6,188,225,136,10,12,0,0,20,0x87700A4,2000,500,500,0,0,0,0,0,0,0,0,15121,1000,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4610,1
+3190,MM_SARAH,Sarah,Sarah Irene,160,100000000,1,0,0,12,1090,1665,276,255,43,161,6,188,225,136,10,12,0,0,20,0xE7F00A4,2000,500,500,0,0,0,0,0,0,0,0,15121,1000,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4610,1
 3191,MM_M_GIGAN1,Gigantes,Gigantes,160,6653400,1,0,1,2,4635,120,64,112,156,151,30,62,265,21,10,12,1,6,47,0x62D3885,250,500,500,600,0,0,0,0,0,0,0,15121,100,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,27183,1
 3191,MM_M_GIGAN1,Gigantes,Gigantes,160,6653400,1,0,1,2,4635,120,64,112,156,151,30,62,265,21,10,12,1,6,47,0x62D3885,250,500,500,600,0,0,0,0,0,0,0,15121,100,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,27183,1
 3192,MM_M_GIGAN2,Gigantes,Gigantes,160,9870000,1,0,0,2,5128,89,89,175,212,138,43,21,227,15,10,12,1,6,47,0x62A3885,250,500,500,600,0,0,0,0,0,0,0,15121,100,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,27183,1
 3192,MM_M_GIGAN2,Gigantes,Gigantes,160,9870000,1,0,0,2,5128,89,89,175,212,138,43,21,227,15,10,12,1,6,47,0x62A3885,250,500,500,600,0,0,0,0,0,0,0,15121,100,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,27183,1
 3193,MM_M_GIGAN3,Ancient Medium Gigantes,Ancient Medium Gigantes,160,1126300,1,0,0,2,3967,165,113,155,121,125,45,35,271,15,10,12,1,6,47,0x6283885,300,500,500,600,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,27183,1
 3193,MM_M_GIGAN3,Ancient Medium Gigantes,Ancient Medium Gigantes,160,1126300,1,0,0,2,3967,165,113,155,121,125,45,35,271,15,10,12,1,6,47,0x6283885,300,500,500,600,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,27183,1
@@ -3946,12 +3946,42 @@
 //20813,MD_EVENT_AMDARAIS
 //20813,MD_EVENT_AMDARAIS
 //20814,G_PAYONSOLDIER
 //20814,G_PAYONSOLDIER
 //20815,G_PAYONSOLDIER2
 //20815,G_PAYONSOLDIER2
-
+//20816,EM_DILUVIO
+//20817,EM_ARDOR
+//20818,EM_PROCELLA
+//20819,EM_TERREMOTUS
+//20820,EM_SERPENS
+//20821,4JOB_VOID
+//20822,4JOB_WRAITH
+//20823,4JOB_KINGS_NIGHT
+//20824,4JOB_AGONY_NIGHT
+//20825,4JOB_DEVOTION_NIGHT
+//20826,4JOB_ARMED_NIGHT
+//20827,4JOB_DOOMK
+//20828,4JOB_VERKHASEL
+//20829,4JOB_BAPHOMET
+//20830,4JOB_H_FALCON
+//20831,4JOB_S_FALCON
+//20832,4JOB_R_FALCON
+//20833,4JOB_WORG
+//20834,MEISTER_ABR1
+//20835,MEISTER_ABR2
+//20836,MEISTER_ABR3
+//20837,MEISTER_ABR4
+//20838,ELEMETAL_MASTER_S1
+//20839,ELEMETAL_MASTER_S2
+//20840,ELEMETAL_MASTER_S3
+//20841,ELEMETAL_MASTER_S4
+//20842,ELEMETAL_MASTER_S5
 //20843,ILL_ABYSMAL_WITCH
 //20843,ILL_ABYSMAL_WITCH
 //20844,PRAY_GIVER
 //20844,PRAY_GIVER
 //20845,SMILE_GIVER
 //20845,SMILE_GIVER
 //20846,MD_HIDDEN_GROUND01
 //20846,MD_HIDDEN_GROUND01
 //20847,MD_HIDDEN_GROUND02
 //20847,MD_HIDDEN_GROUND02
+//20848,SUMMON_WOODENWARRIOR
+//20849,SUMMON_WOODEN_FAIRY
+//20850,SUMMON_CREEPER
+//20851,SUMMON_HELLTREE
 
 
 //20856,MD_N_ARENA_1
 //20856,MD_N_ARENA_1
 //20857,MD_N_ARENA_2
 //20857,MD_N_ARENA_2
@@ -3972,7 +4002,8 @@
 //20872,MD_GEFFEN_FENRIR_N
 //20872,MD_GEFFEN_FENRIR_N
 //20873,WAR_NUT
 //20873,WAR_NUT
 //20874,MOLE_TW
 //20874,MOLE_TW
-
+//20875,4JOB_LETICIA
+//20876,4JOB_ACIDUS
 //20877,G_ILL_SROPHO
 //20877,G_ILL_SROPHO
 //20878,G_ILL_OBEAUNE
 //20878,G_ILL_OBEAUNE
 //20879,G_ILL_DEVIACE
 //20879,G_ILL_DEVIACE
@@ -3982,8 +4013,210 @@
 //20883,G_ILL_SWORD_FISH
 //20883,G_ILL_SWORD_FISH
 //20884,G_ILL_STROUF
 //20884,G_ILL_STROUF
 //20885,G_ILL_PHEN
 //20885,G_ILL_PHEN
-
+//20886,MD_Airboat_Tree
+//20887,MD_Airboat_Poring
+//20888,MD_Airboat_Worm
+//20889,MD_Airboat_LEECH
+//20890,MD_Airboat_Mos
+//20891,MD_Airboat_Boss
+//20892,MD_SAKRAY
+//20893,MD_TIARA
+//20894,MD_UNDEAD_KNIGHT
+//20895,MD_UNDEAD_SOLDIER
+//20896,MD_UNDEAD_ARCHER
+//20897,MD_UNDEAD_WIZARD
+//20898,MD_UNDEAD_MAGICIAN
+//20899,MD_UNDEAD_NOBLE
+//20900,MD_UNDEAD_SERVANT
+//20901,DISASTER_OMEN
+//20902,DISASTER_WIND
+//20903,CONQUER_INCARNATION
+//20904,FAMINE_INCARNATION
+//20905,APPETITE_INCARNATION
+//20906,DISASTER_SYMBOL
+//20907,DEVIL_EYE
+//20908,WAR_INCARNATION
+//20909,DEATH_INCARNATION
+//20910,CARNIVOROUS
+//20911,SINS_JUSTICE
+//20912,SINS_BRAVE
+//20913,SINS_MODERATION
+//20914,SINS_WISDOM
+//20915,G_SINS_JUSTICE
+//20916,G_SINS_BRAVE
+//20917,G_SINS_MODERATION
+//20918,G_SINS_WISDOM
 //20919,CARAT_TWEVENT
 //20919,CARAT_TWEVENT
+//20920,CHIMERA_LAVA
+//20921,CHIMERA_FULGOR
+//20922,CHIMERA_NAPEO
+//20923,CHIMERA_GALENSIS
+//20924,CHIMERA_AMITERA
+//20925,CHIMERA_LITUS
+//20926,CHIMERA_FILLIA
+//20927,CHIMERA_VANILAQUS
+//20928,CHIMERA_THEONE
+//20929,GIANT_CAPUT
+//20930,DOLORIAN
+//20931,PLAGARION
+//20932,DEADRE
+//20933,VENEDI
+//20934,R001_BESTIA
+//20935,GAN_CEANN
+//20936,DISGUISER
+//20937,BRUTAL_MURDERER
+//20938,GHOST_CUBE
+//20939,LUDE_GAL
+//20940,BLUEMOON_LOLI_RURI
+//20941,GROTE
+//20942,PIERROTZOIST
+//20943,DEATH_WITCH
+//20944,JP_E_MONSTER_151
+//20945,JP_E_MONSTER_152
+//20946,JP_E_MONSTER_153
+//20947,JP_E_MONSTER_154
+//20948,JP_E_MONSTER_155
+//20949,JP_E_MONSTER_156
+//20950,JP_E_MONSTER_157
+//20951,JP_E_MONSTER_158
+//20952,JP_E_MONSTER_159
+//20953,JP_E_MONSTER_160
+//20954,JP_E_MONSTER_161
+//20955,JP_E_MONSTER_162
+//20956,JP_E_MONSTER_163
+//20957,JP_E_MONSTER_164
+//20958,JP_E_MONSTER_165
+//20959,JP_E_MONSTER_166
+//20960,JP_E_MONSTER_167
+//20961,JP_E_MONSTER_168
+//20962,JP_E_MONSTER_169
+//20963,JP_E_MONSTER_170
+//20964,JP_E_MONSTER_171
+//20965,JP_E_MONSTER_172
+//20966,JP_E_MONSTER_173
+//20967,JP_E_MONSTER_174
+//20968,JP_E_MONSTER_175
+//20969,JP_E_MONSTER_176
+//20970,JP_E_MONSTER_177
+//20971,JP_E_MONSTER_178
+//20972,JP_E_MONSTER_179
+//20973,JP_E_MONSTER_180
+//20974,JP_E_MONSTER_181
+//20975,JP_E_MONSTER_182
+//20976,JP_E_MONSTER_183
+//20977,JP_E_MONSTER_184
+//20978,JP_E_MONSTER_185
+//20979,JP_E_MONSTER_186
+//20980,JP_E_MONSTER_187
+//20981,JP_E_MONSTER_188
+//20982,JP_E_MONSTER_189
+//20983,JP_E_MONSTER_190
+//20984,JP_E_MONSTER_191
+//20985,JP_E_MONSTER_192
+//20986,JP_E_MONSTER_193
+//20987,JP_E_MONSTER_194
+//20988,JP_E_MONSTER_195
+//20989,JP_E_MONSTER_196
+//20990,JP_E_MONSTER_197
+//20991,JP_E_MONSTER_198
+//20992,JP_E_MONSTER_199
+//20993,JP_E_MONSTER_200
+//20994,MD_BETELGEUSE
+//20995,MD_G_DEADSOUL
+//20996,MD_NAGHT_SIEGER
+//20997,MD_G_ENTWEIHEN_M
+//20998,MD_T_JAKK
+//20999,MD_T_STONE_SHOOTER
+//21000,MD_T_GRIZZLY
+//21001,MD_T_STALACTIC_GOLEM
+//21002,MD_T_CHIMERA
+//21003,MD_T_KARAKASA
+//21004,MD_T_RIDEWORD
+//21005,MD_T_PARASITE
+//21006,MD_T_WRAITH
+//21007,MD_T_PETIT_
+//21008,MD_T_WIND_GHOST
+//21009,MD_T_CLOCK
+//21010,MD_T_RAYDRIC_ARCHER
+//21011,MD_T_INCREASE_SOIL
+//21012,MD_T_PENOMENA
+//21013,MD_T_PETIT
+//21014,MD_T_ALARM
+//21015,MD_T_ZOMBIE_PRISONER
+//21016,MD_T_MARIONETTE
+//21017,MD_T_PERMETER
+//21018,MD_T_SKEL_PRISONER
+//21019,MD_T_OWL_DUKE
+//21020,MD_T_DEVIRUCHI
+//21021,MD_T_BLOOD_BUTTERFLY
+//21022,MD_T_STAPO
+//21023,MD_T_EVIL_CLOUD_HERMIT
+//21024,MD_T_THE_PAPER
+//21025,MD_T_TENGU
+//21026,MD_T_ALICE
+//21027,MD_T_ANACONDAQ
+//21028,MD_T_GARGOYLE
+//21029,MD_T_CARAT
+//21030,MD_T_STING
+//21031,MD_T_GRYPHON
+//21032,MD_T_GIBBET
+//21033,MD_T_NIGHTMARE_TERROR
+//21034,MD_T_ANOLIAN
+//21035,MD_T_BLOODY_MURDERER
+//21036,MD_T_ALIOT
+//21037,MD_T_VENATU
+//21038,MD_T_DEATHWORD
+//21039,MD_T_PLASMA_B
+//21040,MD_T_DIMIK
+//21041,MD_T_MINI_DEMON
+//21042,MD_T_LEIB_OLMAI
+//21043,MD_T_WANDER_MAN
+//21044,MD_T_RETRIBUTION
+//21045,MD_T_FLAME_SKULL
+//21046,MD_T_KNIGHT_OF_ABYSS
+//21047,MD_T_BANSHEE
+//21048,G_CHIMERA_LAVA
+//21049,G_CHIMERA_FULGOR
+//21050,G_CHIMERA_NAPEO
+//21051,G_CHIMERA_GALENSIS
+//21052,G_DISGUISER
+//21053,G_BLUEMOON_LOLI_RURI
+//21054,G_GROTE
+//21055,G_PIERROTZOIST
+//21056,G_GIANT_CAPUT
+//21057,G_DOLORIAN
+//21058,G_PLAGARION
+//21059,G_DEADRE
+//21060,G_VENEDI
+//21061,MD_Airboat_Boss2
+//21062,MD_Airboat_Boss3
+//21063,MD_Airboat_Boss4
+//21064,S_DUMMY_100_SMALL
+//21065,S_DUMMY_100_MEDIUM
+//21066,S_DUMMY_100_LARGE
+//21067,S_DUMMY_100_NOTHING
+//21068,S_DUMMY_100_DRAGON
+//21069,S_DUMMY_100_ANIMAL
+//21070,S_DUMMY_100_HUMAN
+//21071,S_DUMMY_100_INSECT
+//21072,S_DUMMY_100_FISH
+//21073,S_DUMMY_100_DEMON
+//21074,S_DUMMY_100_PLANT
+//21075,S_DUMMY_100_ANGEL
+//21076,S_DUMMY_100_UNDEAD
+//21077,S_DUMMY_100_NOTHING2
+//21078,S_DUMMY_100_WATER
+//21079,S_DUMMY_100_GROUND
+//21080,S_DUMMY_100_FIRE
+//21081,S_DUMMY_100_WIND
+//21082,S_DUMMY_100_POISON
+//21083,S_DUMMY_100_SAINT
+//21084,S_DUMMY_100_DARKNESS
+//21085,S_DUMMY_100_TELEKINESIS
+//21086,S_DUMMY_100_UNDEAD2
+//21087,S_DUMMY_100_HUMANP
+//21088,S_DUMMY_100_DORAMP
+//21089,WANDERING_DUCK
 
 
 //31999,HUNTING_GID_DEFAULT
 //31999,HUNTING_GID_DEFAULT
 //32000,MONSTER_2ND_END
 //32000,MONSTER_2ND_END

+ 2 - 2
db/re/mob_race2_db.txt

@@ -16,9 +16,9 @@ RC2_GUARDIAN,1285,1286,1287,2081
 // Ninja Classes (Pirate's_Pride)
 // Ninja Classes (Pirate's_Pride)
 RC2_NINJA,1315,1364,1401,1560
 RC2_NINJA,1315,1364,1401,1560
 // GvG
 // GvG
-RC2_GVG,1143,1905,1906,1907
+RC2_GVG,1288,1905,1907,1908
 // Battlefield
 // Battlefield
-RC2_BATTLEFIELD,1906,1909,1914,1915
+RC2_BATTLEFIELD,1906,1909,1910,1911,1912,1913,1914,1915
 // Treasure Chests
 // Treasure Chests
 RC2_TREASURE,1324,1325,1326,1327,1328,1329,1330,1331,1332,1333,1334,1335,1336,1337,1338,1339,1340,1341,1342,1343,1344,1345,1346,1347,1348,1349,1350,1351,1352,1353,1354,1355,1356,1357,1358,1359,1360,1361,1362,1363,1938,1939,1940,1941,1942,1943,1944,1945,1946,2452,2453,2454,2455,2456,2457,2458,2459,2460,2461,2462
 RC2_TREASURE,1324,1325,1326,1327,1328,1329,1330,1331,1332,1333,1334,1335,1336,1337,1338,1339,1340,1341,1342,1343,1344,1345,1346,1347,1348,1349,1350,1351,1352,1353,1354,1355,1356,1357,1358,1359,1360,1361,1362,1363,1938,1939,1940,1941,1942,1943,1944,1945,1946,2452,2453,2454,2455,2456,2457,2458,2459,2460,2461,2462
 // Bio Labs
 // Bio Labs

+ 12 - 10
db/re/pet_db.yml

@@ -675,13 +675,13 @@ Body:
       if (.@i >= PET_INTIMATE_LOYAL) {
       if (.@i >= PET_INTIMATE_LOYAL) {
         bonus2 bAddRace,RC_Demihuman,3;
         bonus2 bAddRace,RC_Demihuman,3;
         bonus2 bMagicAddRace,RC_DemiHuman,3;
         bonus2 bMagicAddRace,RC_DemiHuman,3;
-        bonus2 bAddRace,RC_Player,3;
-        bonus2 bMagicAddRace,RC_Player,3;
+        bonus2 bAddRace,RC_Player_Human,3;
+        bonus2 bMagicAddRace,RC_Player_Human,3;
       } else if (.@i >= PET_INTIMATE_CORDIAL) {
       } else if (.@i >= PET_INTIMATE_CORDIAL) {
         bonus2 bAddRace,RC_Demihuman,2;
         bonus2 bAddRace,RC_Demihuman,2;
         bonus2 bMagicAddRace,RC_DemiHuman,2;
         bonus2 bMagicAddRace,RC_DemiHuman,2;
-        bonus2 bAddRace,RC_Player,2;
-        bonus2 bMagicAddRace,RC_Player,2;
+        bonus2 bAddRace,RC_Player_Human,2;
+        bonus2 bMagicAddRace,RC_Player_Human,2;
       }
       }
   - Mob: ALICE
   - Mob: ALICE
     TameItem: Sway_Apron
     TameItem: Sway_Apron
@@ -697,11 +697,11 @@ Body:
       if (.@i >= PET_INTIMATE_LOYAL) {
       if (.@i >= PET_INTIMATE_LOYAL) {
         bonus bMdef,2;
         bonus bMdef,2;
         bonus2 bSubRace,RC_DemiHuman,2;
         bonus2 bSubRace,RC_DemiHuman,2;
-        bonus2 bSubRace,RC_Player,2;
+        bonus2 bSubRace,RC_Player_Human,2;
       } else if (.@i >= PET_INTIMATE_CORDIAL) {
       } else if (.@i >= PET_INTIMATE_CORDIAL) {
         bonus bMdef,1;
         bonus bMdef,1;
         bonus2 bSubRace,RC_DemiHuman,1;
         bonus2 bSubRace,RC_DemiHuman,1;
-        bonus2 bSubRace,RC_Player,1;
+        bonus2 bSubRace,RC_Player_Human,1;
       }
       }
     Evolution:
     Evolution:
       - Target: ALIZA
       - Target: ALIZA
@@ -760,11 +760,11 @@ Body:
       if (.@i >= PET_INTIMATE_LOYAL) {
       if (.@i >= PET_INTIMATE_LOYAL) {
         bonus bDef,2;
         bonus bDef,2;
         bonus2 bSubRace,RC_DemiHuman,2;
         bonus2 bSubRace,RC_DemiHuman,2;
-        bonus2 bSubRace,RC_Player,2;
+        bonus2 bSubRace,RC_Player_Human,2;
       } else if (.@i >= PET_INTIMATE_CORDIAL) {
       } else if (.@i >= PET_INTIMATE_CORDIAL) {
         bonus bDef,1;
         bonus bDef,1;
         bonus2 bSubRace,RC_DemiHuman,1;
         bonus2 bSubRace,RC_DemiHuman,1;
-        bonus2 bSubRace,RC_Player,1;
+        bonus2 bSubRace,RC_Player_Human,1;
       }
       }
   - Mob: ECLIPSE_P
   - Mob: ECLIPSE_P
     EggItem: Spring_Rabbit_Egg
     EggItem: Spring_Rabbit_Egg
@@ -933,10 +933,10 @@ Body:
       
       
       if (.@i >= PET_INTIMATE_LOYAL) {
       if (.@i >= PET_INTIMATE_LOYAL) {
         bonus2 bAddRace,RC_DemiHuman,5;
         bonus2 bAddRace,RC_DemiHuman,5;
-        bonus2 bAddRace,RC_Player,5;
+        bonus2 bAddRace,RC_Player_Human,5;
       } else if (.@i >= PET_INTIMATE_CORDIAL) {
       } else if (.@i >= PET_INTIMATE_CORDIAL) {
         bonus2 bAddRace,RC_DemiHuman,3;
         bonus2 bAddRace,RC_DemiHuman,3;
-        bonus2 bAddRace,RC_Player,3;
+        bonus2 bAddRace,RC_Player_Human,3;
       }
       }
   - Mob: SUCCUBUS
   - Mob: SUCCUBUS
     TameItem: Boy's_Naivety
     TameItem: Boy's_Naivety
@@ -1143,8 +1143,10 @@ Body:
       
       
       if (.@i >= PET_INTIMATE_LOYAL) {
       if (.@i >= PET_INTIMATE_LOYAL) {
         bonus2 bSubRace,RC_Brute,5;
         bonus2 bSubRace,RC_Brute,5;
+        bonus2 bSubRace,RC_Player_Doram,5;
       } else if (.@i >= PET_INTIMATE_CORDIAL) {
       } else if (.@i >= PET_INTIMATE_CORDIAL) {
         bonus2 bSubRace,RC_Brute,3;
         bonus2 bSubRace,RC_Brute,3;
+        bonus2 bSubRace,RC_Player_Doram,3;
       }
       }
   - Mob: BACSOJIN_
   - Mob: BACSOJIN_
     TameItem: Shiny_Wing_Gown
     TameItem: Shiny_Wing_Gown

+ 2 - 2
db/re/produce_db.txt

@@ -665,8 +665,8 @@
 //267,1100003,29,2497,1,1092,10,1093,10,11621,15
 //267,1100003,29,2497,1,1092,10,1093,10,11621,15
 //-- Concentrated Blue Syrup Potion <-- GN_S_PHARMACY Lvl, 10 Empty Testtube, 10 Empty Potion Bottle, 15 Blue Syrup
 //-- Concentrated Blue Syrup Potion <-- GN_S_PHARMACY Lvl, 10 Empty Testtube, 10 Empty Potion Bottle, 15 Blue Syrup
 //268,1100004,29,2497,1,1092,10,1093,10,11624,15
 //268,1100004,29,2497,1,1092,10,1093,10,11624,15
-//-- Concentrated Golden Syrup Potion <-- GN_S_PHARMACY Lvl, 10 Empty Testtube, 10 Empty Potion Bottle, 15 White Syrup, 15 Yellow Syrup
-//269,1100005,29,2497,1,1092,10,1093,10,11623,15,11622,15
+//-- Concentrated Golden Syrup Potion <-- GN_S_PHARMACY Lvl, 10 Empty Testtube, 10 Empty Potion Bottle, 15 White Syrup, 10 Yellow Syrup
+//269,1100005,29,2497,1,1092,10,1093,10,11623,15,11622,10
 //===============================================
 //===============================================
 
 
 //--------------------LEVEL 30-----------
 //--------------------LEVEL 30-----------

文件差异内容过多而无法显示
+ 169 - 223
db/re/skill_db.yml


+ 4 - 0
db/re/skill_nocast_db.txt

@@ -33,7 +33,11 @@
 328,1	//DC_DONTFORGETME
 328,1	//DC_DONTFORGETME
 2422,1	//WM_LULLABY_DEEPSLEEP
 2422,1	//WM_LULLABY_DEEPSLEEP
 2423,1	//WM_SIRCLEOFNATURE
 2423,1	//WM_SIRCLEOFNATURE
+2425,1	//WM_GLOOMYDAY
+2429,1	//WM_SOUND_OF_DESTRUCTION
 2430,1	//WM_SATURDAY_NIGHT_FEVER
 2430,1	//WM_SATURDAY_NIGHT_FEVER
+2432,1	//WM_MELODYOFSINK
+2433,1	//WM_BEYOND_OF_WARCRY
 2455,1	//SO_ARRULLO
 2455,1	//SO_ARRULLO
 2299,1	//SC_MANHOLE
 2299,1	//SC_MANHOLE
 
 

+ 12 - 12
db/re/skill_tree.txt

@@ -3250,9 +3250,9 @@
 4068,2382,5,2422,1,0,0,0,0,0,0,0,0 //MI_ECHOSONG#Echo Song#
 4068,2382,5,2422,1,0,0,0,0,0,0,0,0 //MI_ECHOSONG#Echo Song#
 4068,2383,5,2422,1,0,0,0,0,0,0,0,0 //MI_HARMONIZE#Harmonize#
 4068,2383,5,2422,1,0,0,0,0,0,0,0,0 //MI_HARMONIZE#Harmonize#
 4068,2412,10,0,0,0,0,0,0,0,0,0,0 //WM_LESSON#Lesson#
 4068,2412,10,0,0,0,0,0,0,0,0,0,0 //WM_LESSON#Lesson#
-4068,2413,10,2417,1,0,0,0,0,0,0,0,0 //WM_METALICSOUND#Metallic Sound#
+4068,2413,10,2414,5,0,0,0,0,0,0,0,0 //WM_METALICSOUND#Metallic Sound#
 4068,2414,5,317,5,0,0,0,0,0,0,0,0 //WM_REVERBERATION#Reverberation#
 4068,2414,5,317,5,0,0,0,0,0,0,0,0 //WM_REVERBERATION#Reverberation#
-4068,2417,1,2414,1,0,0,0,0,0,0,0,0 //WM_DOMINION_IMPULSE#Dominion Impulse#
+//4068,2417,1,2414,1,0,0,0,0,0,0,0,0 //WM_DOMINION_IMPULSE#Dominion Impulse#
 4068,2418,5,316,5,0,0,0,0,0,0,0,0 //WM_SEVERE_RAINSTORM#Severe Rainstorm#
 4068,2418,5,316,5,0,0,0,0,0,0,0,0 //WM_SEVERE_RAINSTORM#Severe Rainstorm#
 4068,2419,5,2412,1,0,0,0,0,0,0,0,0 //WM_POEMOFNETHERWORLD#Poem Of The Netherworld#
 4068,2419,5,2412,1,0,0,0,0,0,0,0,0 //WM_POEMOFNETHERWORLD#Poem Of The Netherworld#
 4068,2420,5,2419,3,0,0,0,0,0,0,0,0 //WM_VOICEOFSIREN#Voice Of Siren#
 4068,2420,5,2419,3,0,0,0,0,0,0,0,0 //WM_VOICEOFSIREN#Voice Of Siren#
@@ -3306,9 +3306,9 @@
 4069,2351,5,2422,1,0,0,0,0,0,0,0,0 //WA_SYMPHONY_OF_LOVER#Symphony of Lovers#
 4069,2351,5,2422,1,0,0,0,0,0,0,0,0 //WA_SYMPHONY_OF_LOVER#Symphony of Lovers#
 4069,2352,5,2422,1,0,0,0,0,0,0,0,0 //WA_MOONLIT_SERENADE#Moonlit Serenade#
 4069,2352,5,2422,1,0,0,0,0,0,0,0,0 //WA_MOONLIT_SERENADE#Moonlit Serenade#
 4069,2412,10,0,0,0,0,0,0,0,0,0,0 //WM_LESSON#Lesson#
 4069,2412,10,0,0,0,0,0,0,0,0,0,0 //WM_LESSON#Lesson#
-4069,2413,10,2417,1,0,0,0,0,0,0,0,0 //WM_METALICSOUND#Metallic Sound#
+4069,2413,10,2414,5,0,0,0,0,0,0,0,0 //WM_METALICSOUND#Metallic Sound#
 4069,2414,5,325,5,0,0,0,0,0,0,0,0 //WM_REVERBERATION#Reverberation#
 4069,2414,5,325,5,0,0,0,0,0,0,0,0 //WM_REVERBERATION#Reverberation#
-4069,2417,1,2414,1,0,0,0,0,0,0,0,0 //WM_DOMINION_IMPULSE#Dominion Impulse#
+//4069,2417,1,2414,1,0,0,0,0,0,0,0,0 //WM_DOMINION_IMPULSE#Dominion Impulse#
 4069,2418,5,324,5,0,0,0,0,0,0,0,0 //WM_SEVERE_RAINSTORM#Severe Rainstorm#
 4069,2418,5,324,5,0,0,0,0,0,0,0,0 //WM_SEVERE_RAINSTORM#Severe Rainstorm#
 4069,2419,5,2412,1,0,0,0,0,0,0,0,0 //WM_POEMOFNETHERWORLD#Poem Of The Netherworld#
 4069,2419,5,2412,1,0,0,0,0,0,0,0,0 //WM_POEMOFNETHERWORLD#Poem Of The Netherworld#
 4069,2420,5,2419,3,0,0,0,0,0,0,0,0 //WM_VOICEOFSIREN#Voice Of Siren#
 4069,2420,5,2419,3,0,0,0,0,0,0,0,0 //WM_VOICEOFSIREN#Voice Of Siren#
@@ -3681,9 +3681,9 @@
 4075,2382,5,2422,1,0,0,0,0,0,0,0,0 //MI_ECHOSONG#Echo Song#
 4075,2382,5,2422,1,0,0,0,0,0,0,0,0 //MI_ECHOSONG#Echo Song#
 4075,2383,5,2422,1,0,0,0,0,0,0,0,0 //MI_HARMONIZE#Harmonize#
 4075,2383,5,2422,1,0,0,0,0,0,0,0,0 //MI_HARMONIZE#Harmonize#
 4075,2412,10,0,0,0,0,0,0,0,0,0,0 //WM_LESSON#Lesson#
 4075,2412,10,0,0,0,0,0,0,0,0,0,0 //WM_LESSON#Lesson#
-4075,2413,10,2417,1,0,0,0,0,0,0,0,0 //WM_METALICSOUND#Metallic Sound#
+4075,2413,10,2414,5,0,0,0,0,0,0,0,0 //WM_METALICSOUND#Metallic Sound#
 4075,2414,5,317,5,0,0,0,0,0,0,0,0 //WM_REVERBERATION#Reverberation#
 4075,2414,5,317,5,0,0,0,0,0,0,0,0 //WM_REVERBERATION#Reverberation#
-4075,2417,1,2414,1,0,0,0,0,0,0,0,0 //WM_DOMINION_IMPULSE#Dominion Impulse#
+//4075,2417,1,2414,1,0,0,0,0,0,0,0,0 //WM_DOMINION_IMPULSE#Dominion Impulse#
 4075,2418,5,316,5,0,0,0,0,0,0,0,0 //WM_SEVERE_RAINSTORM#Severe Rainstorm#
 4075,2418,5,316,5,0,0,0,0,0,0,0,0 //WM_SEVERE_RAINSTORM#Severe Rainstorm#
 4075,2419,5,2412,1,0,0,0,0,0,0,0,0 //WM_POEMOFNETHERWORLD#Poem Of The Netherworld#
 4075,2419,5,2412,1,0,0,0,0,0,0,0,0 //WM_POEMOFNETHERWORLD#Poem Of The Netherworld#
 4075,2420,5,2419,3,0,0,0,0,0,0,0,0 //WM_VOICEOFSIREN#Voice Of Siren#
 4075,2420,5,2419,3,0,0,0,0,0,0,0,0 //WM_VOICEOFSIREN#Voice Of Siren#
@@ -3744,9 +3744,9 @@
 4076,2351,5,2422,1,0,0,0,0,0,0,0,0 //WA_SYMPHONY_OF_LOVER#Symphony of Lovers#
 4076,2351,5,2422,1,0,0,0,0,0,0,0,0 //WA_SYMPHONY_OF_LOVER#Symphony of Lovers#
 4076,2352,5,2422,1,0,0,0,0,0,0,0,0 //WA_MOONLIT_SERENADE#Moonlit Serenade#
 4076,2352,5,2422,1,0,0,0,0,0,0,0,0 //WA_MOONLIT_SERENADE#Moonlit Serenade#
 4076,2412,10,0,0,0,0,0,0,0,0,0,0 //WM_LESSON#Lesson#
 4076,2412,10,0,0,0,0,0,0,0,0,0,0 //WM_LESSON#Lesson#
-4076,2413,10,2417,1,0,0,0,0,0,0,0,0 //WM_METALICSOUND#Metallic Sound#
+4076,2413,10,2414,5,0,0,0,0,0,0,0,0 //WM_METALICSOUND#Metallic Sound#
 4076,2414,5,325,5,0,0,0,0,0,0,0,0 //WM_REVERBERATION#Reverberation#
 4076,2414,5,325,5,0,0,0,0,0,0,0,0 //WM_REVERBERATION#Reverberation#
-4076,2417,1,2414,1,0,0,0,0,0,0,0,0 //WM_DOMINION_IMPULSE#Dominion Impulse#
+//4076,2417,1,2414,1,0,0,0,0,0,0,0,0 //WM_DOMINION_IMPULSE#Dominion Impulse#
 4076,2418,5,324,5,0,0,0,0,0,0,0,0 //WM_SEVERE_RAINSTORM#Severe Rainstorm#
 4076,2418,5,324,5,0,0,0,0,0,0,0,0 //WM_SEVERE_RAINSTORM#Severe Rainstorm#
 4076,2419,5,2412,1,0,0,0,0,0,0,0,0 //WM_POEMOFNETHERWORLD#Poem Of The Netherworld#
 4076,2419,5,2412,1,0,0,0,0,0,0,0,0 //WM_POEMOFNETHERWORLD#Poem Of The Netherworld#
 4076,2420,5,2419,3,0,0,0,0,0,0,0,0 //WM_VOICEOFSIREN#Voice Of Siren#
 4076,2420,5,2419,3,0,0,0,0,0,0,0,0 //WM_VOICEOFSIREN#Voice Of Siren#
@@ -4913,9 +4913,9 @@
 4104,2382,5,2422,1,0,0,0,0,0,0,0,0 //MI_ECHOSONG#Echo Song#
 4104,2382,5,2422,1,0,0,0,0,0,0,0,0 //MI_ECHOSONG#Echo Song#
 4104,2383,5,2422,1,0,0,0,0,0,0,0,0 //MI_HARMONIZE#Harmonize#
 4104,2383,5,2422,1,0,0,0,0,0,0,0,0 //MI_HARMONIZE#Harmonize#
 4104,2412,10,0,0,0,0,0,0,0,0,0,0 //WM_LESSON#Lesson#
 4104,2412,10,0,0,0,0,0,0,0,0,0,0 //WM_LESSON#Lesson#
-4104,2413,10,2417,1,0,0,0,0,0,0,0,0 //WM_METALICSOUND#Metallic Sound#
+4104,2413,10,2414,5,0,0,0,0,0,0,0,0 //WM_METALICSOUND#Metallic Sound#
 4104,2414,5,317,5,0,0,0,0,0,0,0,0 //WM_REVERBERATION#Reverberation#
 4104,2414,5,317,5,0,0,0,0,0,0,0,0 //WM_REVERBERATION#Reverberation#
-4104,2417,1,2414,1,0,0,0,0,0,0,0,0 //WM_DOMINION_IMPULSE#Dominion Impulse#
+//4104,2417,1,2414,1,0,0,0,0,0,0,0,0 //WM_DOMINION_IMPULSE#Dominion Impulse#
 4104,2418,5,316,5,0,0,0,0,0,0,0,0 //WM_SEVERE_RAINSTORM#Severe Rainstorm#
 4104,2418,5,316,5,0,0,0,0,0,0,0,0 //WM_SEVERE_RAINSTORM#Severe Rainstorm#
 4104,2419,5,2412,1,0,0,0,0,0,0,0,0 //WM_POEMOFNETHERWORLD#Poem Of The Netherworld#
 4104,2419,5,2412,1,0,0,0,0,0,0,0,0 //WM_POEMOFNETHERWORLD#Poem Of The Netherworld#
 4104,2420,5,2419,3,0,0,0,0,0,0,0,0 //WM_VOICEOFSIREN#Voice Of Siren#
 4104,2420,5,2419,3,0,0,0,0,0,0,0,0 //WM_VOICEOFSIREN#Voice Of Siren#
@@ -4971,9 +4971,9 @@
 4105,2351,5,2422,1,0,0,0,0,0,0,0,0 //WA_SYMPHONY_OF_LOVER#Symphony of Lovers#
 4105,2351,5,2422,1,0,0,0,0,0,0,0,0 //WA_SYMPHONY_OF_LOVER#Symphony of Lovers#
 4105,2352,5,2422,1,0,0,0,0,0,0,0,0 //WA_MOONLIT_SERENADE#Moonlit Serenade#
 4105,2352,5,2422,1,0,0,0,0,0,0,0,0 //WA_MOONLIT_SERENADE#Moonlit Serenade#
 4105,2412,10,0,0,0,0,0,0,0,0,0,0 //WM_LESSON#Lesson#
 4105,2412,10,0,0,0,0,0,0,0,0,0,0 //WM_LESSON#Lesson#
-4105,2413,10,2417,1,0,0,0,0,0,0,0,0 //WM_METALICSOUND#Metallic Sound#
+4105,2413,10,2414,5,0,0,0,0,0,0,0,0 //WM_METALICSOUND#Metallic Sound#
 4105,2414,5,325,5,0,0,0,0,0,0,0,0 //WM_REVERBERATION#Reverberation#
 4105,2414,5,325,5,0,0,0,0,0,0,0,0 //WM_REVERBERATION#Reverberation#
-4105,2417,1,2414,1,0,0,0,0,0,0,0,0 //WM_DOMINION_IMPULSE#Dominion Impulse#
+//4105,2417,1,2414,1,0,0,0,0,0,0,0,0 //WM_DOMINION_IMPULSE#Dominion Impulse#
 4105,2418,5,324,5,0,0,0,0,0,0,0,0 //WM_SEVERE_RAINSTORM#Severe Rainstorm#
 4105,2418,5,324,5,0,0,0,0,0,0,0,0 //WM_SEVERE_RAINSTORM#Severe Rainstorm#
 4105,2419,5,2412,1,0,0,0,0,0,0,0,0 //WM_POEMOFNETHERWORLD#Poem Of The Netherworld#
 4105,2419,5,2412,1,0,0,0,0,0,0,0,0 //WM_POEMOFNETHERWORLD#Poem Of The Netherworld#
 4105,2420,5,2419,3,0,0,0,0,0,0,0,0 //WM_VOICEOFSIREN#Voice Of Siren#
 4105,2420,5,2419,3,0,0,0,0,0,0,0,0 //WM_VOICEOFSIREN#Voice Of Siren#

+ 1 - 1
doc/atcommands.txt

@@ -1367,7 +1367,7 @@ Affected files:
 -- pcdb: statpoint.txt, job_exp.txt, skill_tree.txt, attr_fix.txt, job_db1.txt, job_db2.txt, job_basehpsp_db.txt, job_maxhpsp_db.txt, job_param_db.txt, level_penalty.txt
 -- pcdb: statpoint.txt, job_exp.txt, skill_tree.txt, attr_fix.txt, job_db1.txt, job_db2.txt, job_basehpsp_db.txt, job_maxhpsp_db.txt, job_param_db.txt, level_penalty.txt
 -- questdb: quest_db.txt
 -- questdb: quest_db.txt
 -- script: /npc/*.txt, /npc/*.conf
 -- script: /npc/*.txt, /npc/*.conf
--- skilldb: skill_db.txt, const.txt, skill_require_db.txt, skill_cast_db.txt, skill_castnodex_db.txt, skill_nocast_db.txt, skill_copyable_db.txt, skill_improvise_db.txt, skill_changematerial_db.txt, skill_nonearnpc_db.txt, skill_damage_db.txt, skill_unit_db.txt, abra_db.txt, create_arrow_db.txt, produce_db.txt, spellbook_db.txt, magicmushroom_db.txt
+-- skilldb: skill_db.yml, const.txt, skill_nocast_db.txt, skill_changematerial_db.txt, skill_damage_db.txt, abra_db.yml, create_arrow_db.txt, produce_db.txt, spellbook_db.yml, magicmushroom_db.yml
 -- statusdb: attr_fix.txt, size_fix.txt, refine_db.txt
 -- statusdb: attr_fix.txt, size_fix.txt, refine_db.txt
 -- achievementdb: achievement_db.conf
 -- achievementdb: achievement_db.conf
 
 

+ 4 - 3
doc/item_bonus.txt

@@ -22,7 +22,7 @@ This list contains all available constants referenced in the 'bonus' commands.
 
 
 * Race (r)
 * Race (r)
 	RC_Angel, RC_Brute, RC_DemiHuman, RC_Demon, RC_Dragon, RC_Fish, RC_Formless,
 	RC_Angel, RC_Brute, RC_DemiHuman, RC_Demon, RC_Dragon, RC_Fish, RC_Formless,
-	RC_Insect, RC_Plant, RC_Player, RC_Undead, RC_All
+	RC_Insect, RC_Plant, RC_Player_Human (RC_Player deprecated), RC_Player_Doram, RC_Undead, RC_All
 
 
 * Monster Race (mr)
 * Monster Race (mr)
 	RC2_Goblin, RC2_Kobold, RC2_Orc, RC2_Golem, RC2_Guardian, RC2_Ninja,
 	RC2_Goblin, RC2_Kobold, RC2_Orc, RC2_Golem, RC2_Guardian, RC2_Ninja,
@@ -65,7 +65,7 @@ This list contains all available constants referenced in the 'bonus' commands.
 	ATF_MISC	= Trigger on misc skills
 	ATF_MISC	= Trigger on misc skills
 
 
 * Other values:
 * Other values:
-	Skill (sk): see 'db/(pre-)re/skill_db.txt' (NOTE: Both skill IDs and names, in quotes, are supported.)
+	Skill (sk): see 'db/(pre-)re/skill_db.yml' (NOTE: Both skill IDs and names, in quotes, are supported.)
 	Monster id (mid): see 'db/(pre-)re/mob_db.txt'
 	Monster id (mid): see 'db/(pre-)re/mob_db.txt'
 	Item id (iid): see 'db/(pre-)re/item_db.txt'
 	Item id (iid): see 'db/(pre-)re/item_db.txt'
 	Item group (ig): see 'db/(pre-)re/item_group_db.txt' and the constants in 'db/const.txt', prefixed with IG_*
 	Item group (ig): see 'db/(pre-)re/item_group_db.txt' and the constants in 'db/const.txt', prefixed with IG_*
@@ -168,7 +168,8 @@ bonus2 bSkillUseSPrate,sk,n;		Decreases SP consumption of skill sk by n%
 Atk/Def
 Atk/Def
 -------
 -------
 bonus2 bSkillAtk,sk,n;    		Increases damage of skill sk by n%
 bonus2 bSkillAtk,sk,n;    		Increases damage of skill sk by n%
-bonus bLongAtkRate,n;     		Increases damage of ranged attacks by n%
+bonus bShortAtkRate,n;			Increases damage of short ranged attacks by n%
+bonus bLongAtkRate,n;     		Increases damage of long ranged attacks by n%
 bonus bCritAtkRate,n;     		Increases critical damage by +n%
 bonus bCritAtkRate,n;     		Increases critical damage by +n%
 bonus bCriticalDef,n;     		Decreases the chance of being hit by critical hits by n%
 bonus bCriticalDef,n;     		Decreases the chance of being hit by critical hits by n%
 bonus2 bWeaponAtk,w,n;    		Adds n ATK when weapon of type w is equipped
 bonus2 bWeaponAtk,w,n;    		Adds n ATK when weapon of type w is equipped

+ 1 - 1
doc/mapflags.txt

@@ -304,7 +304,7 @@ for 'Map' type 16 will be applied.
 
 
 This mapflag can also be used to adjust the damage of one skill by a percentage:
 This mapflag can also be used to adjust the damage of one skill by a percentage:
  - skill_name:
  - skill_name:
-	Name of the skill in 'db/(pre-)re/skill_db.txt' (ex. SM_BASH).
+	Name of the skill in 'db/(pre-)re/skill_db.yml' (ex. SM_BASH).
 	To adjust all skill damage, write "all" (without quotes).
 	To adjust all skill damage, write "all" (without quotes).
  - caster: the groups for which the adjustment takes effect. (bitmask)
  - caster: the groups for which the adjustment takes effect. (bitmask)
 	BL_PC = Player
 	BL_PC = Player

+ 44 - 15
doc/script_commands.txt

@@ -2910,6 +2910,7 @@ recreate these items perfectly if they are destroyed. Here's what you get:
 @inventorylist_option_id5[]        - fifth array of random option IDs
 @inventorylist_option_id5[]        - fifth array of random option IDs
 @inventorylist_option_value5[]     - fifth array of random option values
 @inventorylist_option_value5[]     - fifth array of random option values
 @inventorylist_option_parameter5[] - fifth array of random option parameters
 @inventorylist_option_parameter5[] - fifth array of random option parameters
+@inventorylist_tradable            - Returns if an item is tradable or not (Pass item_trade.txt, bound, and rental restrictions).
 
 
 This could be handy to save/restore a character's inventory, since no other
 This could be handy to save/restore a character's inventory, since no other
 command returns such a complete set of data, and could also be the only way to
 command returns such a complete set of data, and could also be the only way to
@@ -3426,7 +3427,7 @@ recalculating guardians' HP.
 This function returns the level of the skill <skill id> of the guild <guild id>.
 This function returns the level of the skill <skill id> of the guild <guild id>.
 If the guild does not have that skill, 0 is returned.
 If the guild does not have that skill, 0 is returned.
 If the guild does not exist, -1 is returned.
 If the guild does not exist, -1 is returned.
-Refer to 'db/(pre-)re/skill_db.txt' for the full list of skills. (GD_* are guild skills)
+Refer to 'db/(pre-)re/skill_db.yml' for the full list of skills. (GD_* are guild skills)
 
 
 ---------------------------------------
 ---------------------------------------
 
 
@@ -3459,7 +3460,7 @@ mes "You have " + getMapGuildUsers("prontera",getcharid(2)) + " guild members in
 
 
 This function returns the level of the specified skill that the invoking
 This function returns the level of the specified skill that the invoking
 character has. If they don't have the skill, 0 will be returned. The full list
 character has. If they don't have the skill, 0 will be returned. The full list
-of character skills is available in 'db/(pre-)re/skill_db.txt'.
+of character skills is available in 'db/(pre-)re/skill_db.yml'.
 
 
 There are two main uses for this function, it can check whether the character
 There are two main uses for this function, it can check whether the character
 has a skill or not, and it can tell you if the level is high enough.
 has a skill or not, and it can tell you if the level is high enough.
@@ -4798,8 +4799,9 @@ for special cases such as removing a status change or resetting a variable or st
 of the player.
 of the player.
 
 
 This command can not be used to rent stackable items. Rental items cannot be
 This command can not be used to rent stackable items. Rental items cannot be
-dropped, traded, sold to NPCs, or placed in guild storage. (i.e. trade mask 75)
+dropped, traded, or placed in guild storage. (i.e. trade mask 67)
 Note: 'delitem' in an NPC script can still remove rental items.
 Note: 'delitem' in an NPC script can still remove rental items.
+Note: 'countitem' will not count any item with a rental timer. Use 'rentalcountitem' instead.
 
 
 ---------------------------------------
 ---------------------------------------
 
 
@@ -5030,6 +5032,32 @@ If player is not in a guild or storage is open, 'guildstoragecountitem2' will re
 
 
 ---------------------------------------
 ---------------------------------------
 
 
+*rentalcountitem(<item id>{,<accountID>})
+*rentalcountitem("<item name>"{,<accountID>})
+
+This function will return the number of rental items for the specified item ID that the
+invoking character has in the inventory.
+
+---------------------------------------
+
+*rentalcountitem2(<item id>,<identify>,<refine>,<attribute>,<card1>,<card2>,<card3>,<card4>{,<accountID>})
+*rentalcountitem2("<item name>",<identify>,<refine>,<attribute>,<card1>,<card2>,<card3>,<card4>{,<accountID>})
+*rentalcountitem3(<item id>,<identify>,<refine>,<attribute>,<card1>,<card2>,<card3>,<card4>,<RandomIDArray>,<RandomValueArray>,<RandomParamArray>{,<accountID>})
+*rentalcountitem3("<item name>",<identify>,<refine>,<attribute>,<card1>,<card2>,<card3>,<card4>,<RandomIDArray>,<RandomValueArray>,<RandomParamArray>{,<accountID>})
+
+Expanded version of 'rentalcountitem' function, used for created/carded/forged items.
+
+This function will return the number of rental items for the specified item ID and
+other parameters that the invoking character has in the inventory.
+See 'getitem2' for an explanation of the expanded parameters.
+
+'rentalcountitem3' is advance version of 'rentalcountitem2' that also use Item Random Option as criteria.
+<RandomIDArray>    : Array variable of ID for item random option, see db/[pre-]re/item_randomopt_db.txt
+<RandomValueArray> : Array variable of item random option's value.
+<RandomParamArray> : Array variable of item random option's param.
+
+---------------------------------------
+
 *countbound({<bound type>{,<char_id>}})
 *countbound({<bound type>{,<char_id>}})
 
 
 This function will return the number of bounded items in the character's
 This function will return the number of bounded items in the character's
@@ -5583,7 +5611,7 @@ levels. This refers to the invoking character and will only work if the invoking
 character is a member of a guild AND its guild master, otherwise no failure
 character is a member of a guild AND its guild master, otherwise no failure
 message will be given and no error will occur, but nothing will happen - same
 message will be given and no error will occur, but nothing will happen - same
 about the guild skill trying to exceed the possible maximum. The full list of
 about the guild skill trying to exceed the possible maximum. The full list of
-guild skills is available in 'db/(pre-)re/skill_db.txt', these are all the GD_ skills at
+guild skills is available in 'db/(pre-)re/skill_db.yml', these are all the GD_ skills at
 the end.
 the end.
 
 
 // This would give your character's guild one level of Approval (GD_APPROVAL ID
 // This would give your character's guild one level of Approval (GD_APPROVAL ID
@@ -5970,7 +5998,7 @@ These commands will give the invoking character a specified skill. This is also
 used for item scripts.
 used for item scripts.
 
 
 Level is obvious. Skill id is the ID number of the skill in question as per
 Level is obvious. Skill id is the ID number of the skill in question as per
-'db/(pre-)re/skill_db.txt'. It is not known for certain whether this can be used to give
+'db/(pre-)re/skill_db.yml'. It is not known for certain whether this can be used to give
 a character a monster's skill, but you're welcome to try with the numbers given
 a character a monster's skill, but you're welcome to try with the numbers given
 in 'db/(pre-)re/mob_skill_db.txt'.
 in 'db/(pre-)re/mob_skill_db.txt'.
 
 
@@ -6596,13 +6624,14 @@ Returns true if the command was executed on the other NPC successfully, false if
 
 
 ---------------------------------------
 ---------------------------------------
 
 
-*npctalk "<message>"{,"<NPC name>","<flag>"};
+*npctalk "<message>"{,"<NPC name>",<flag>{,<color>}};
 
 
 This command will display a message as if the NPC object running it was a player
 This command will display a message as if the NPC object running it was a player
 talking - that is, above their head and in the chat window.
 talking - that is, above their head and in the chat window.
 The display name of the NPC won't get appended in front of the message.
 The display name of the NPC won't get appended in front of the message.
 If the <NPC name> option is given and not empty, then that NPC will display the message,
 If the <NPC name> option is given and not empty, then that NPC will display the message,
-else the attached NPC will display the message.
+else the attached NPC will display the message,
+the color format is in RGB (0xRRGGBB). The color is White by default.
 
 
 Target for <flag>:
 Target for <flag>:
 - bc_all  : Broadcast message is sent server-wide (only in the chat window).
 - bc_all  : Broadcast message is sent server-wide (only in the chat window).
@@ -9392,19 +9421,19 @@ Example:
 
 
 ---------------------------------------
 ---------------------------------------
 
 
-*bg_reserve("<battleground_name>");
+*bg_reserve("<battleground_map_name>"{,<ended>});
 
 
-Reserves a slot for the given Battleground for the Battleground UI System.
+Reserves a Battleground map for the Battleground UI System. When a map is booked it prevents another similar
+queue from being created and will allow players to join an active Battlegrounds event.
 
 
-Note: 'bg_reserve' and 'bg_unbook' prevent the Battlegrounds queue from joining players in an active Battleground.
+If <ended> is true, then the Battleground is marked as over to prevent new players from joining. This state is meant
+for the period where players can get their Badges.
 
 
 ---------------------------------------
 ---------------------------------------
 
 
-*bg_unbook("<battleground_name>");
-
-Removes a spot for the given Battleground for the Battleground UI System.
+*bg_unbook("<battleground_map_name>");
 
 
-Note: 'bg_reserve' and 'bg_unbook' prevent the Battlegrounds queue from joining players in an active Battleground.
+Removes a Battleground map for the Battleground UI System. When a map is unbooked it allows a queue to be created.
 
 
 ---------------------------------------
 ---------------------------------------
 
 
@@ -9701,7 +9730,7 @@ when pet performance is activated.
 
 
 This will make the pet use a specified support skill on the owner whenever the
 This will make the pet use a specified support skill on the owner whenever the
 HP and SP are below the given percent values, with a specified delay time
 HP and SP are below the given percent values, with a specified delay time
-between activations. The skill numbers are as per 'db/(pre-)re/skill_db.txt'.
+between activations. The skill numbers are as per 'db/(pre-)re/skill_db.yml'.
 
 
 It's not quite certain who's stats will be used for the skills cast, the
 It's not quite certain who's stats will be used for the skills cast, the
 character's or the pets. Probably, Skotlex can answer that question.
 character's or the pets. Probably, Skotlex can answer that question.

+ 2 - 2
doc/skill_db.txt

@@ -97,11 +97,11 @@ AllowOnWarg					- Usable while riding Warg.
 AllowOnMado					- Usable while on Madogear.
 AllowOnMado					- Usable while on Madogear.
 TargetManHole				- Target enemy with SC__MANHOLE.
 TargetManHole				- Target enemy with SC__MANHOLE.
 TargetHidden				- Target enemy with OPTION_HIDE.
 TargetHidden				- Target enemy with OPTION_HIDE.
-IncreaseGloomyDayDamage		- Increase SC_GLOOMYDAY_SK damage.
 IncreaseDanceWithWugDamage	- Increase SC_DANCEWITHWUG damage.
 IncreaseDanceWithWugDamage	- Increase SC_DANCEWITHWUG damage.
 IgnoreWugBite				- Ignore RA_WUGBITE.
 IgnoreWugBite				- Ignore RA_WUGBITE.
-IgnoreAutoGuard			- Not blocked by SC_AUTOGUARD (When TargetType is Weapon only).
+IgnoreAutoGuard				- Not blocked by SC_AUTOGUARD (When TargetType is Weapon only).
 IgnoreCicada				- Not blocked by SC_UTSUSEMI or SC_BUNSINJYUTSU (When TargetType is Weapon only).
 IgnoreCicada				- Not blocked by SC_UTSUSEMI or SC_BUNSINJYUTSU (When TargetType is Weapon only).
+ShowScale					- Shows AoE area while casting
 
 
 ---------------------------------------
 ---------------------------------------
 
 

+ 0 - 10
doc/yaml/db/improvise_db.yml

@@ -1,10 +0,0 @@
-###########################################################################
-# Improvised Song Database
-###########################################################################
-#
-# Improvised Song Settings
-#
-###########################################################################
-# - Skill             Skill to be casted by Improvised Song.
-#   Probability       Probability of skill compared to others in database (1 = 0.01%, 10000 = 100%).
-###########################################################################

+ 2 - 0
doc/yaml/db/instance_db.yml

@@ -9,6 +9,8 @@
 #   Name              Instance Name.
 #   Name              Instance Name.
 #   TimeLimit         Total lifetime of instance in seconds. (Default: 3600)
 #   TimeLimit         Total lifetime of instance in seconds. (Default: 3600)
 #   IdleTimeOut       Time before an idle instance is destroyed in seconds. (Default: 300)
 #   IdleTimeOut       Time before an idle instance is destroyed in seconds. (Default: 300)
+#   Destroyable       Toggles the ability to destroy the instance using instance 'Destroy' button. (Default: true)
+#                     Note: the button is displayed based on parties. For any mode, it requires the party leader to be the instance owner to destroy it.
 #   Enter:            Instance entrance coordinates.
 #   Enter:            Instance entrance coordinates.
 #     Map             Map Name where players start.
 #     Map             Map Name where players start.
 #     X               X Coordinate where players start.
 #     X               X Coordinate where players start.

+ 52 - 40
npc/battleground/flavius/flavius01.txt

@@ -58,25 +58,21 @@ OnStop:
 
 
 OnTimer1000:
 OnTimer1000:
 	stopnpctimer;
 	stopnpctimer;
-	if (!getbattleflag("feature.bgqueue"))
-		initnpctimer;
-	set .@chk_bat_a01,getmapusers("bat_b01");
-	if (.@chk_bat_a01 < 1) {
-		set $@FlaviusBG1, 0;
-		if( $@FlaviusBG1_id1 ) { bg_destroy $@FlaviusBG1_id1; set $@FlaviusBG1_id1, 0; }
-		if( $@FlaviusBG1_id2 ) { bg_destroy $@FlaviusBG1_id2; set $@FlaviusBG1_id2, 0; }
-		if (getbattleflag("feature.bgqueue")) {
+	if (bg_get_data($@FlaviusBG1_id1, 0) == 0 && bg_get_data($@FlaviusBG1_id2, 0) == 0) {
+		donpcevent "countdown#bat_b01::OnStop";
+		if (getbattleflag("feature.bgqueue"))
+			bg_reserve "bat_b01", true;
+		$@FlaviusBG1 = 0;
+		if( $@FlaviusBG1_id1 ) { bg_destroy $@FlaviusBG1_id1; $@FlaviusBG1_id1 = 0; }
+		if( $@FlaviusBG1_id2 ) { bg_destroy $@FlaviusBG1_id2; $@FlaviusBG1_id2 = 0; }
+		if (getbattleflag("feature.bgqueue"))
 			bg_unbook "bat_b01";
 			bg_unbook "bat_b01";
-			end;
-		} else
-			donpcevent "start#bat_b01::OnReadyCheck";
+		end;
 	}
 	}
-	if (getbattleflag("feature.bgqueue"))
-		initnpctimer;
+	initnpctimer;
 	end;
 	end;
 }
 }
 
 
-
 // Flavius Battleground Engine
 // Flavius Battleground Engine
 //============================================================
 //============================================================
 bat_b01,15,15,3	script	start#bat_b01	844,{
 bat_b01,15,15,3	script	start#bat_b01	844,{
@@ -139,13 +135,14 @@ OnReset:
 	donpcevent "guardian#bat_b01_b::OnEnable";
 	donpcevent "guardian#bat_b01_b::OnEnable";
 	donpcevent "cell#bat_b01_a::OnRed";
 	donpcevent "cell#bat_b01_a::OnRed";
 	donpcevent "cell#bat_b01_b::OnRed";
 	donpcevent "cell#bat_b01_b::OnRed";
-	donpcevent "time#bat_b01::OnEnable";
-	disablenpc "Guillaume Vintenar#b01_a";
-	disablenpc "Croix Vintenar#b01_b";
-	disablenpc "Vintenar#bat_b01_aover";
-	disablenpc "Vintenar#bat_b01_bover";
-	bg_warp $@FlaviusBG1_id1,"bat_b01",87,75;
-	bg_warp $@FlaviusBG1_id2,"bat_b01",311,224;
+	end;
+
+OnGuillaumeActive:
+	warp "bat_b01",87,75;
+	end;
+
+OnCroixActive:
+	warp "bat_b01",311,224;
 	end;
 	end;
 
 
 OnGuillaumeQuit:
 OnGuillaumeQuit:
@@ -181,6 +178,8 @@ OnMyMobDead:
 			enablenpc "Guillaume Vintenar#b01_a";
 			enablenpc "Guillaume Vintenar#b01_a";
 			enablenpc "Croix Vintenar#b01_b";
 			enablenpc "Croix Vintenar#b01_b";
 			donpcevent "time#bat_b01::OnStop";
 			donpcevent "time#bat_b01::OnStop";
+			if (getbattleflag("feature.bgqueue"))
+				bg_reserve "bat_b01", true;
 		}
 		}
 		else {
 		else {
 			set $@Croix_ScoreBG1,1;
 			set $@Croix_ScoreBG1,1;
@@ -215,6 +214,8 @@ OnMyMobDead:
 			enablenpc "Guillaume Vintenar#b01_a";
 			enablenpc "Guillaume Vintenar#b01_a";
 			enablenpc "Croix Vintenar#b01_b";
 			enablenpc "Croix Vintenar#b01_b";
 			donpcevent "time#bat_b01::OnStop";
 			donpcevent "time#bat_b01::OnStop";
+			if (getbattleflag("feature.bgqueue"))
+				bg_reserve "bat_b01", true;
 		}
 		}
 		else {
 		else {
 			set $@Guill_ScoreBG1,1;
 			set $@Guill_ScoreBG1,1;
@@ -314,12 +315,14 @@ bat_b01,10,294,3	script	Battle Therapist#b01_a	95,{
 
 
 OnTimer25000:
 OnTimer25000:
 	specialeffect EF_SANCTUARY;
 	specialeffect EF_SANCTUARY;
-	enablenpc "bat_b01_rp1_a_warp";
+	// enablenpc "bat_b01_rp1_a_warp";
+	areapercentheal "bat_b01",0,280,20,300,100,100;
+	areawarp "bat_b01",0,280,20,300,"bat_b01",87,73;
 	end;
 	end;
 
 
-OnTimer26000:
-	disablenpc "bat_b01_rp1_a_warp";
-	end;
+// OnTimer26000:
+	// disablenpc "bat_b01_rp1_a_warp";
+	// end;
 
 
 OnTimer26500:
 OnTimer26500:
 	stopnpctimer;
 	stopnpctimer;
@@ -332,22 +335,25 @@ OnEnable:
 	end;
 	end;
 
 
 OnStop:
 OnStop:
-	disablenpc "bat_b01_rp1_a_warp";
+	// disablenpc "bat_b01_rp1_a_warp";
 	disablenpc "Battle Therapist#b01_a";
 	disablenpc "Battle Therapist#b01_a";
 	stopnpctimer;
 	stopnpctimer;
 	end;
 	end;
 }
 }
 
 
+/*
+// replaced by areapercentheal and areawarp to prevent enqueue issue
 bat_b01,10,290,0	script	bat_b01_rp1_a_warp	45,10,10,{
 bat_b01,10,290,0	script	bat_b01_rp1_a_warp	45,10,10,{
 OnInit:
 OnInit:
 	disablenpc "bat_b01_rp1_a_warp";
 	disablenpc "bat_b01_rp1_a_warp";
 	end;
 	end;
 
 
-OnTouch_:
+OnTouch:
 	percentheal 100,100;
 	percentheal 100,100;
 	warp "bat_b01",87,73;
 	warp "bat_b01",87,73;
 	end;
 	end;
 }
 }
+*/
 
 
 bat_b01,389,14,3	script	Battle Therapist#b01_b	95,{
 bat_b01,389,14,3	script	Battle Therapist#b01_b	95,{
 	specialeffect2 EF_HEAL;
 	specialeffect2 EF_HEAL;
@@ -359,12 +365,14 @@ bat_b01,389,14,3	script	Battle Therapist#b01_b	95,{
 
 
 OnTimer25000:
 OnTimer25000:
 	specialeffect EF_SANCTUARY;
 	specialeffect EF_SANCTUARY;
-	enablenpc "bat_b01_rp1_b_warp";
+	// enablenpc "bat_b01_rp1_b_warp";
+	areapercentheal "bat_b01",379,0,399,20,100,100;
+	areawarp "bat_b01",379,0,399,20,"bat_b01",312,225;
 	end;
 	end;
 
 
-OnTimer26000:
-	disablenpc "bat_b01_rp1_b_warp";
-	end;
+// OnTimer26000:
+	// disablenpc "bat_b01_rp1_b_warp";
+	// end;
 
 
 OnTimer26500:
 OnTimer26500:
 	stopnpctimer;
 	stopnpctimer;
@@ -377,15 +385,16 @@ OnEnable:
 	end;
 	end;
 
 
 OnStop:
 OnStop:
-	disablenpc "bat_b01_rp1_b_warp";
+	// disablenpc "bat_b01_rp1_b_warp";
 	disablenpc "Battle Therapist#b01_b";
 	disablenpc "Battle Therapist#b01_b";
 	stopnpctimer;
 	stopnpctimer;
 	end;
 	end;
 }
 }
 
 
-bat_b01,389,10,0	script	bat_b01_rp1_b_warp	45,9,9,{
+/*
+bat_b01,389,10,0	script	bat_b01_rp1_b_warp	45,10,10,{
 OnInit:
 OnInit:
-	disablenpc "bat_b01_rp1_a_warp";
+	disablenpc "bat_b01_rp1_b_warp";
 	end;
 	end;
 
 
 OnTouch:
 OnTouch:
@@ -393,6 +402,7 @@ OnTouch:
 	warp "bat_b01",312,225;
 	warp "bat_b01",312,225;
 	end;
 	end;
 }
 }
+*/
 
 
 bat_b01,87,76,0	script	A_CODE#bat_b01	-1,5,5,{
 bat_b01,87,76,0	script	A_CODE#bat_b01	-1,5,5,{
 OnTouch:
 OnTouch:
@@ -490,6 +500,8 @@ OnTimer1830000:
 	bg_warp $@FlaviusBG1_id2,"bat_b01",390,10;
 	bg_warp $@FlaviusBG1_id2,"bat_b01",390,10;
 	enablenpc "Vintenar#bat_b01_aover";
 	enablenpc "Vintenar#bat_b01_aover";
 	enablenpc "Vintenar#bat_b01_bover";
 	enablenpc "Vintenar#bat_b01_bover";
+	if (getbattleflag("feature.bgqueue"))
+		bg_reserve "bat_b01", true;
 	end;
 	end;
 
 
 OnTimer1900000:
 OnTimer1900000:
@@ -526,11 +538,11 @@ bat_b01,10,294,3	script	Vintenar#bat_b01_aover	419,{
 	set .@A_B_gap,$@Guill_ScoreBG1 - $@Croix_ScoreBG1;
 	set .@A_B_gap,$@Guill_ScoreBG1 - $@Croix_ScoreBG1;
 	if ($@FlaviusBG1_id1 == getcharid(4)) {
 	if ($@FlaviusBG1_id1 == getcharid(4)) {
 		if (.@A_B_gap > 0)
 		if (.@A_B_gap > 0)
-			callfunc "F_BG_Badge",1,"Guillaume","Flavius";
+			callfunc "F_BG_Badge",1,"Guillaume","Flavius"; //Guillaume wins
 		else if (.@A_B_gap == 0)
 		else if (.@A_B_gap == 0)
-			callfunc "F_BG_Badge",0,"Guillaume","Flavius";
+			callfunc "F_BG_Badge",0,"Guillaume","Flavius"; //Tie
 		else
 		else
-			callfunc "F_BG_Badge",0,"Guillaume","Flavius";
+			callfunc "F_BG_Badge",0,"Guillaume","Flavius"; //Croix wins
 	}
 	}
 	else {
 	else {
 		mes "[Axl Rose]";
 		mes "[Axl Rose]";
@@ -551,11 +563,11 @@ bat_b01,389,14,3	script	Vintenar#bat_b01_bover	415,{
 	set .@A_B_gap,$@Guill_ScoreBG1 - $@Croix_ScoreBG1;
 	set .@A_B_gap,$@Guill_ScoreBG1 - $@Croix_ScoreBG1;
 	if ($@FlaviusBG1_id2 == getcharid(4)) {
 	if ($@FlaviusBG1_id2 == getcharid(4)) {
 		if (.@A_B_gap > 0)
 		if (.@A_B_gap > 0)
-			callfunc "F_BG_Badge",1,"Croix","Flavius";
+			callfunc "F_BG_Badge",0,"Croix","Flavius"; //Guillaume wins
 		else if (.@A_B_gap == 0)
 		else if (.@A_B_gap == 0)
-			callfunc "F_BG_Badge",0,"Croix","Flavius";
+			callfunc "F_BG_Badge",0,"Croix","Flavius"; //Tie
 		else
 		else
-			callfunc "F_BG_Badge",1,"Croix","Flavius";
+			callfunc "F_BG_Badge",1,"Croix","Flavius"; //Croix wins
 	}
 	}
 	else {
 	else {
 		mes "[Swandery]";
 		mes "[Swandery]";

+ 56 - 44
npc/battleground/flavius/flavius02.txt

@@ -59,21 +59,18 @@ OnStop:
 
 
 OnTimer1000:
 OnTimer1000:
 	stopnpctimer;
 	stopnpctimer;
-	if (!getbattleflag("feature.bgqueue"))
-		initnpctimer;
-	set .@chk_bat_a01,getmapusers("bat_b02");
-	if (.@chk_bat_a01 < 1) {
-		set $@FlaviusBG2, 0;
-		if( $@FlaviusBG2_id1 ) { bg_destroy $@FlaviusBG2_id1; set $@FlaviusBG2_id1, 0; }
-		if( $@FlaviusBG2_id2 ) { bg_destroy $@FlaviusBG2_id2; set $@FlaviusBG2_id2, 0; }
-		if (getbattleflag("feature.bgqueue")) {
-			bg_unbook "bat_b01";
-			end;
-		} else
-			donpcevent "start#bat_b01::OnReadyCheck";
+	if (bg_get_data($@FlaviusBG2_id1, 0) == 0 && bg_get_data($@FlaviusBG2_id2, 0) == 0) {
+		donpcevent "countdown#bat_b02::OnStop";
+		if (getbattleflag("feature.bgqueue"))
+			bg_reserve "bat_b02", true;
+		$@FlaviusBG2 = 0;
+		if( $@FlaviusBG2_id1 ) { bg_destroy $@FlaviusBG2_id1; $@FlaviusBG2_id1 = 0; }
+		if( $@FlaviusBG2_id2 ) { bg_destroy $@FlaviusBG2_id2; $@FlaviusBG2_id2 = 0; }
+		if (getbattleflag("feature.bgqueue"))
+			bg_unbook "bat_b02";
+		end;
 	}
 	}
-	if (getbattleflag("feature.bgqueue"))
-		initnpctimer;
+	initnpctimer;
 	end;
 	end;
 }
 }
 
 
@@ -89,7 +86,7 @@ OnReadyCheck:
 	if( $@FlaviusBG2 )
 	if( $@FlaviusBG2 )
 		end;
 		end;
 	if (!getbattleflag("feature.bgqueue")) {
 	if (!getbattleflag("feature.bgqueue")) {
-			set .@Guillaume, getwaitingroomstate(0,"Lieutenant Huvas");
+		set .@Guillaume, getwaitingroomstate(0,"Lieutenant Huvas");
 		set .@Croix, getwaitingroomstate(0,"Lieutenant Yukon");
 		set .@Croix, getwaitingroomstate(0,"Lieutenant Yukon");
 		if( !.@Guillaume && !.@Croix ) {
 		if( !.@Guillaume && !.@Croix ) {
 			donpcevent "#bat_b02_timer::OnStop";
 			donpcevent "#bat_b02_timer::OnStop";
@@ -102,8 +99,8 @@ OnReadyCheck:
 	set $@FlaviusBG2_Victory, 0;
 	set $@FlaviusBG2_Victory, 0;
 	set $@Croix_ScoreBG2, 0;
 	set $@Croix_ScoreBG2, 0;
 	set $@Guill_ScoreBG2, 0;
 	set $@Guill_ScoreBG2, 0;
-
 	bg_updatescore "bat_b02",$@Guill_ScoreBG2,$@Croix_ScoreBG2;
 	bg_updatescore "bat_b02",$@Guill_ScoreBG2,$@Croix_ScoreBG2;
+
 	if (!getbattleflag("feature.bgqueue")) {
 	if (!getbattleflag("feature.bgqueue")) {
 		donpcevent "Lieutenant Huvas::OnEnterBG";
 		donpcevent "Lieutenant Huvas::OnEnterBG";
 		donpcevent "Lieutenant Yukon::OnEnterBG";
 		donpcevent "Lieutenant Yukon::OnEnterBG";
@@ -140,13 +137,14 @@ OnReset:
 	donpcevent "guardian#bat_b02_b::OnEnable";
 	donpcevent "guardian#bat_b02_b::OnEnable";
 	donpcevent "cell#bat_b02_a::OnRed";
 	donpcevent "cell#bat_b02_a::OnRed";
 	donpcevent "cell#bat_b02_b::OnRed";
 	donpcevent "cell#bat_b02_b::OnRed";
-	donpcevent "time#bat_b02::OnEnable";
-	disablenpc "Guillaume Vintenar#b02_a";
-	disablenpc "Croix Vintenar#b02_b";
-	disablenpc "Vintenar#bat_b02_aover";
-	disablenpc "Vintenar#bat_b02_bover";
-	bg_warp $@FlaviusBG2_id1,"bat_b02",87,75;
-	bg_warp $@FlaviusBG2_id2,"bat_b02",311,224;
+	end;
+
+OnGuillaumeActive:
+	warp "bat_b02",87,75;
+	end;
+
+OnCroixActive:
+	warp "bat_b02",311,224;
 	end;
 	end;
 
 
 OnGuillaumeQuit:
 OnGuillaumeQuit:
@@ -182,6 +180,8 @@ OnMyMobDead:
 			enablenpc "Guillaume Vintenar#b02_a";
 			enablenpc "Guillaume Vintenar#b02_a";
 			enablenpc "Croix Vintenar#b02_b";
 			enablenpc "Croix Vintenar#b02_b";
 			donpcevent "time#bat_b02::OnStop";
 			donpcevent "time#bat_b02::OnStop";
+			if (getbattleflag("feature.bgqueue"))
+				bg_reserve "bat_b02", true;
 		}
 		}
 		else {
 		else {
 			set $@Croix_ScoreBG2,1;
 			set $@Croix_ScoreBG2,1;
@@ -216,6 +216,8 @@ OnMyMobDead:
 			enablenpc "Guillaume Vintenar#b02_a";
 			enablenpc "Guillaume Vintenar#b02_a";
 			enablenpc "Croix Vintenar#b02_b";
 			enablenpc "Croix Vintenar#b02_b";
 			donpcevent "time#bat_b02::OnStop";
 			donpcevent "time#bat_b02::OnStop";
+			if (getbattleflag("feature.bgqueue"))
+				bg_reserve "bat_b02", true;
 		}
 		}
 		else {
 		else {
 			set $@Guill_ScoreBG2,1;
 			set $@Guill_ScoreBG2,1;
@@ -315,12 +317,14 @@ bat_b02,10,294,3	script	Battle Therapist#b02_a	95,{
 
 
 OnTimer25000:
 OnTimer25000:
 	specialeffect EF_SANCTUARY;
 	specialeffect EF_SANCTUARY;
-	enablenpc "bat_b02_rp1_a_warp";
+	// enablenpc "bat_b02_rp1_a_warp";
+	areapercentheal "bat_b02",0,280,20,300,100,100;
+	areawarp "bat_b02",0,280,20,300,"bat_b02",87,73;
 	end;
 	end;
 
 
-OnTimer26000:
-	disablenpc "bat_b02_rp1_a_warp";
-	end;
+// OnTimer26000:
+	// disablenpc "bat_b02_rp1_a_warp";
+	// end;
 
 
 OnTimer26500:
 OnTimer26500:
 	stopnpctimer;
 	stopnpctimer;
@@ -333,22 +337,24 @@ OnEnable:
 	end;
 	end;
 
 
 OnStop:
 OnStop:
-	disablenpc "bat_b02_rp1_a_warp";
+	// disablenpc "bat_b02_rp1_a_warp";
 	disablenpc "Battle Therapist#b02_a";
 	disablenpc "Battle Therapist#b02_a";
 	stopnpctimer;
 	stopnpctimer;
 	end;
 	end;
 }
 }
 
 
+/*
 bat_b02,10,290,0	script	bat_b02_rp1_a_warp	45,10,10,{
 bat_b02,10,290,0	script	bat_b02_rp1_a_warp	45,10,10,{
 OnInit:
 OnInit:
 	disablenpc "bat_b02_rp1_a_warp";
 	disablenpc "bat_b02_rp1_a_warp";
 	end;
 	end;
 
 
-OnTouch_:
+OnTouch:
 	percentheal 100,100;
 	percentheal 100,100;
 	warp "bat_b02",87,73;
 	warp "bat_b02",87,73;
 	end;
 	end;
 }
 }
+*/
 
 
 bat_b02,389,14,3	script	Battle Therapist#b02_b	95,{
 bat_b02,389,14,3	script	Battle Therapist#b02_b	95,{
 	specialeffect2 EF_HEAL;
 	specialeffect2 EF_HEAL;
@@ -360,12 +366,14 @@ bat_b02,389,14,3	script	Battle Therapist#b02_b	95,{
 
 
 OnTimer25000:
 OnTimer25000:
 	specialeffect EF_SANCTUARY;
 	specialeffect EF_SANCTUARY;
-	enablenpc "bat_b02_rp1_b_warp";
+	areapercentheal "bat_b02",379,0,399,20,100,100;
+	areawarp "bat_b02",379,0,399,20,"bat_b02",312,225;
+	// enablenpc "bat_b02_rp1_b_warp";
 	end;
 	end;
 
 
-OnTimer26000:
-	disablenpc "bat_b02_rp1_b_warp";
-	end;
+// OnTimer26000:
+	// disablenpc "bat_b02_rp1_b_warp";
+	// end;
 
 
 OnTimer26500:
 OnTimer26500:
 	stopnpctimer;
 	stopnpctimer;
@@ -378,15 +386,16 @@ OnEnable:
 	end;
 	end;
 
 
 OnStop:
 OnStop:
-	disablenpc "bat_b02_rp1_b_warp";
+	// disablenpc "bat_b02_rp1_b_warp";
 	disablenpc "Battle Therapist#b02_b";
 	disablenpc "Battle Therapist#b02_b";
 	stopnpctimer;
 	stopnpctimer;
 	end;
 	end;
 }
 }
 
 
-bat_b02,389,10,0	script	bat_b02_rp1_b_warp	45,9,9,{
+/*
+bat_b02,389,10,0	script	bat_b02_rp1_b_warp	45,10,10,{
 OnInit:
 OnInit:
-	disablenpc "bat_b02_rp1_a_warp";
+	disablenpc "bat_b02_rp1_b_warp";
 	end;
 	end;
 
 
 OnTouch:
 OnTouch:
@@ -394,18 +403,19 @@ OnTouch:
 	warp "bat_b02",312,225;
 	warp "bat_b02",312,225;
 	end;
 	end;
 }
 }
+*/
 
 
 bat_b02,87,76,0	script	A_CODE#bat_b02	-1,5,5,{
 bat_b02,87,76,0	script	A_CODE#bat_b02	-1,5,5,{
 OnTouch:
 OnTouch:
 	if (checkquest(2070) < 0)
 	if (checkquest(2070) < 0)
-		//setquest 2070;
+		setquest 2070;
 	end;
 	end;
 }
 }
 
 
 bat_b02,312,224,0	script	B_CODE#bat_b02	-1,5,5,{
 bat_b02,312,224,0	script	B_CODE#bat_b02	-1,5,5,{
 OnTouch:
 OnTouch:
 	if (checkquest(2070) < 0)
 	if (checkquest(2070) < 0)
-		//setquest 2070;
+		setquest 2070;
 	end;
 	end;
 }
 }
 
 
@@ -491,6 +501,8 @@ OnTimer1830000:
 	bg_warp $@FlaviusBG2_id2,"bat_b02",390,10;
 	bg_warp $@FlaviusBG2_id2,"bat_b02",390,10;
 	enablenpc "Vintenar#bat_b02_aover";
 	enablenpc "Vintenar#bat_b02_aover";
 	enablenpc "Vintenar#bat_b02_bover";
 	enablenpc "Vintenar#bat_b02_bover";
+	if (getbattleflag("feature.bgqueue"))
+		bg_reserve "bat_b02", true;
 	end;
 	end;
 
 
 OnTimer1900000:
 OnTimer1900000:
@@ -527,11 +539,11 @@ bat_b02,10,294,3	script	Vintenar#bat_b02_aover	419,{
 	set .@A_B_gap,$@Guill_ScoreBG2 - $@Croix_ScoreBG2;
 	set .@A_B_gap,$@Guill_ScoreBG2 - $@Croix_ScoreBG2;
 	if ($@FlaviusBG2_id1 == getcharid(4)) {
 	if ($@FlaviusBG2_id1 == getcharid(4)) {
 		if (.@A_B_gap > 0)
 		if (.@A_B_gap > 0)
-			callfunc "F_BG_Badge",1,"Guillaume","Flavius";
+			callfunc "F_BG_Badge",1,"Guillaume","Flavius"; //Guillaume wins
 		else if (.@A_B_gap == 0)
 		else if (.@A_B_gap == 0)
-			callfunc "F_BG_Badge",0,"Guillaume","Flavius";
+			callfunc "F_BG_Badge",0,"Guillaume","Flavius"; //Tie
 		else
 		else
-			callfunc "F_BG_Badge",0,"Guillaume","Flavius";
+			callfunc "F_BG_Badge",0,"Guillaume","Flavius"; //Croix wins
 	}
 	}
 	else {
 	else {
 		mes "[Axl Rose]";
 		mes "[Axl Rose]";
@@ -552,11 +564,11 @@ bat_b02,389,14,3	script	Vintenar#bat_b02_bover	415,{
 	set .@A_B_gap,$@Guill_ScoreBG2 - $@Croix_ScoreBG2;
 	set .@A_B_gap,$@Guill_ScoreBG2 - $@Croix_ScoreBG2;
 	if ($@FlaviusBG2_id2 == getcharid(4)) {
 	if ($@FlaviusBG2_id2 == getcharid(4)) {
 		if (.@A_B_gap > 0)
 		if (.@A_B_gap > 0)
-			callfunc "F_BG_Badge",1,"Croix","Flavius";
+			callfunc "F_BG_Badge",0,"Croix","Flavius"; //Guillaume wins
 		else if (.@A_B_gap == 0)
 		else if (.@A_B_gap == 0)
-			callfunc "F_BG_Badge",0,"Croix","Flavius";
+			callfunc "F_BG_Badge",0,"Croix","Flavius"; //Tie
 		else
 		else
-			callfunc "F_BG_Badge",1,"Croix","Flavius";
+			callfunc "F_BG_Badge",1,"Croix","Flavius"; //Croix wins
 	}
 	}
 	else {
 	else {
 		mes "[Swandery]";
 		mes "[Swandery]";

+ 11 - 1
npc/battleground/kvm/kvm01.txt

@@ -155,6 +155,14 @@ OnCroixDie:
 	}
 	}
 	end;
 	end;
 
 
+OnGuillaumeActive:
+	warp "bat_c01",61,120;
+	end;
+
+OnCroixActive:
+	warp "bat_c01",138,63;
+	end;
+
 OnStart:
 OnStart:
 	disablenpc "KVM Officer#KVM01A";
 	disablenpc "KVM Officer#KVM01A";
 	disablenpc "KVM Officer#KVM01B";
 	disablenpc "KVM Officer#KVM01B";
@@ -224,6 +232,7 @@ OnTimer61000:
 			end;
 			end;
 		}
 		}
 	}
 	}
+	bg_updatescore "bat_c01",.Guillaume_Count,.Croix_Count;
 	set $@KvM01BG, 2; // Playing
 	set $@KvM01BG, 2; // Playing
 	bg_warp $@KvM01BG_id1,"bat_c01",61,120;
 	bg_warp $@KvM01BG_id1,"bat_c01",61,120;
 	bg_warp $@KvM01BG_id2,"bat_c01",138,63;
 	bg_warp $@KvM01BG_id2,"bat_c01",138,63;
@@ -292,6 +301,8 @@ OnStop:
 	bg_warp $@KvM01BG_id1,"bat_c01",53,128;
 	bg_warp $@KvM01BG_id1,"bat_c01",53,128;
 	bg_warp $@KvM01BG_id2,"bat_c01",146,55;
 	bg_warp $@KvM01BG_id2,"bat_c01",146,55;
 	donpcevent "KvM01_BG_Out::OnBegin";
 	donpcevent "KvM01_BG_Out::OnBegin";
+	if (getbattleflag("feature.bgqueue"))
+		bg_reserve "bat_c01", true;
 	end;
 	end;
 }
 }
 
 
@@ -333,7 +344,6 @@ OnTimer60000:
 	disablenpc "KVM Officer#KVM01B";
 	disablenpc "KVM Officer#KVM01B";
 	mapwarp "bat_c01","bat_room",154,150;
 	mapwarp "bat_c01","bat_room",154,150;
 	maprespawnguildid "bat_c01",0,3; // Just in case someone else
 	maprespawnguildid "bat_c01",0,3; // Just in case someone else
-	bg_updatescore "bat_c01",5,5;
 	set $@KvM01BG, 0;
 	set $@KvM01BG, 0;
 
 
 OnGuillaumeJoin:
 OnGuillaumeJoin:

+ 11 - 1
npc/battleground/kvm/kvm02.txt

@@ -155,6 +155,14 @@ OnCroixDie:
 	}
 	}
 	end;
 	end;
 
 
+OnGuillaumeActive:
+	warp "bat_c02",62,119;
+	end;
+
+OnCroixActive:
+	warp "bat_c02",137,64;
+	end;
+
 OnStart:
 OnStart:
 	disablenpc "KVM Officer#KVM02A";
 	disablenpc "KVM Officer#KVM02A";
 	disablenpc "KVM Officer#KVM02B";
 	disablenpc "KVM Officer#KVM02B";
@@ -224,6 +232,7 @@ OnTimer61000:
 			end;
 			end;
 		}
 		}
 	}
 	}
+	bg_updatescore "bat_c02",.Guillaume_Count,.Croix_Count;
 	set $@KvM02BG, 2; // Playing
 	set $@KvM02BG, 2; // Playing
 	bg_warp $@KvM02BG_id1,"bat_c02",62,119;
 	bg_warp $@KvM02BG_id1,"bat_c02",62,119;
 	bg_warp $@KvM02BG_id2,"bat_c02",137,64;
 	bg_warp $@KvM02BG_id2,"bat_c02",137,64;
@@ -292,6 +301,8 @@ OnStop:
 	bg_warp $@KvM02BG_id1,"bat_c02",53,128;
 	bg_warp $@KvM02BG_id1,"bat_c02",53,128;
 	bg_warp $@KvM02BG_id2,"bat_c02",146,55;
 	bg_warp $@KvM02BG_id2,"bat_c02",146,55;
 	donpcevent "KvM02_BG_Out::OnBegin";
 	donpcevent "KvM02_BG_Out::OnBegin";
+	if (getbattleflag("feature.bgqueue"))
+		bg_reserve "bat_c02", true;
 	end;
 	end;
 }
 }
 
 
@@ -333,7 +344,6 @@ OnTimer60000:
 	disablenpc "KVM Officer#KVM02B";
 	disablenpc "KVM Officer#KVM02B";
 	mapwarp "bat_c02","bat_room",154,150;
 	mapwarp "bat_c02","bat_room",154,150;
 	maprespawnguildid "bat_c02",0,3; // Just in case someone else
 	maprespawnguildid "bat_c02",0,3; // Just in case someone else
-	bg_updatescore "bat_c02",5,5;
 	set $@KvM02BG, 0;
 	set $@KvM02BG, 0;
 
 
 OnGuillaumeJoin:
 OnGuillaumeJoin:

+ 11 - 1
npc/battleground/kvm/kvm03.txt

@@ -155,6 +155,14 @@ OnCroixDie:
 	}
 	}
 	end;
 	end;
 
 
+OnGuillaumeActive:
+	warp "bat_c03",62,119;
+	end;
+
+OnCroixActive:
+	warp "bat_c03",137,64;
+	end;
+
 OnStart:
 OnStart:
 	disablenpc "KVM Officer#KVM03A";
 	disablenpc "KVM Officer#KVM03A";
 	disablenpc "KVM Officer#KVM03B";
 	disablenpc "KVM Officer#KVM03B";
@@ -224,6 +232,7 @@ OnTimer61000:
 			end;
 			end;
 		}
 		}
 	}
 	}
+	bg_updatescore "bat_c03",.Guillaume_Count,.Croix_Count;
 	set $@KvM03BG, 2; // Playing
 	set $@KvM03BG, 2; // Playing
 	bg_warp $@KvM03BG_id1,"bat_c03",62,119;
 	bg_warp $@KvM03BG_id1,"bat_c03",62,119;
 	bg_warp $@KvM03BG_id2,"bat_c03",137,64;
 	bg_warp $@KvM03BG_id2,"bat_c03",137,64;
@@ -292,6 +301,8 @@ OnStop:
 	bg_warp $@KvM03BG_id1,"bat_c03",53,128;
 	bg_warp $@KvM03BG_id1,"bat_c03",53,128;
 	bg_warp $@KvM03BG_id2,"bat_c03",146,55;
 	bg_warp $@KvM03BG_id2,"bat_c03",146,55;
 	donpcevent "KvM03_BG_Out::OnBegin";
 	donpcevent "KvM03_BG_Out::OnBegin";
+	if (getbattleflag("feature.bgqueue"))
+		bg_reserve "bat_c03", true;
 	end;
 	end;
 }
 }
 
 
@@ -333,7 +344,6 @@ OnTimer60000:
 	disablenpc "KVM Officer#KVM03B";
 	disablenpc "KVM Officer#KVM03B";
 	mapwarp "bat_c03","bat_room",154,150;
 	mapwarp "bat_c03","bat_room",154,150;
 	maprespawnguildid "bat_c03",0,3; // Just in case someone else
 	maprespawnguildid "bat_c03",0,3; // Just in case someone else
-	bg_updatescore "bat_c03",5,5;
 	set $@KvM03BG, 0;
 	set $@KvM03BG, 0;
 
 
 OnGuillaumeJoin:
 OnGuillaumeJoin:

+ 57 - 32
npc/battleground/tierra/tierra01.txt

@@ -58,21 +58,18 @@ OnStop:
 
 
 OnTimer1000:
 OnTimer1000:
 	stopnpctimer;
 	stopnpctimer;
-	if (!getbattleflag("feature.bgqueue"))
-		initnpctimer;
-	set .@chk_bat_a01,getmapusers("bat_a01");
-	if (.@chk_bat_a01 < 1) {
-		set $@TierraBG1,0; set $@TierraBG1_Victory, 0;
-		if( $@TierraBG1_id1 ) { bg_destroy $@TierraBG1_id1; set $@TierraBG1_id1, 0; }
-		if( $@TierraBG1_id2 ) { bg_destroy $@TierraBG1_id2; set $@TierraBG1_id2, 0; }
-		if (getbattleflag("feature.bgqueue")) {
+	if (bg_get_data($@TierraBG1_id1, 0) == 0 && bg_get_data($@TierraBG1_id2, 0) == 0) {
+		donpcevent "countdown#bat_a01::OnStop";
+		if (getbattleflag("feature.bgqueue"))
+			bg_reserve "bat_a01", true;
+		$@TierraBG1 = 0; $@TierraBG1_Victory = 0;
+		if( $@TierraBG1_id1 ) { bg_destroy $@TierraBG1_id1; $@TierraBG1_id1 = 0; }
+		if( $@TierraBG1_id2 ) { bg_destroy $@TierraBG1_id2; $@TierraBG1_id2 = 0; }
+		if (getbattleflag("feature.bgqueue"))
 			bg_unbook "bat_a01";
 			bg_unbook "bat_a01";
-			end;
-		} else
-			donpcevent "start#bat_a01::OnReadyCheck";
+		end;
 	}
 	}
-	if (getbattleflag("feature.bgqueue"))
-		initnpctimer;
+	initnpctimer;
 	end;
 	end;
 }
 }
 
 
@@ -126,6 +123,14 @@ OnEnable:
 	disablenpc "Croix Vintenar#a01_b";
 	disablenpc "Croix Vintenar#a01_b";
 	end;
 	end;
 
 
+OnGuillaumeActive:
+	warp "bat_a01",352,342;
+	end;
+
+OnCroixActive:
+	warp "bat_a01",353,52;
+	end;
+
 OnGuillaumeQuit:
 OnGuillaumeQuit:
 OnCroixQuit:
 OnCroixQuit:
 	if (getbattleflag("feature.bgqueue"))
 	if (getbattleflag("feature.bgqueue"))
@@ -183,6 +188,8 @@ OnMyMobDead:
 		mapannounce "bat_a01", "Croix Vintenar Swandery: We destroyed Guillaume's Food Storage. We won that! Wow!",bc_map,"0xFFCE00";
 		mapannounce "bat_a01", "Croix Vintenar Swandery: We destroyed Guillaume's Food Storage. We won that! Wow!",bc_map,"0xFFCE00";
 		bg_warp $@TierraBG1_id1,"bat_a01",50,374;
 		bg_warp $@TierraBG1_id1,"bat_a01",50,374;
 		bg_warp $@TierraBG1_id2,"bat_a01",42,16;
 		bg_warp $@TierraBG1_id2,"bat_a01",42,16;
+		if (getbattleflag("feature.bgqueue"))
+			bg_reserve "bat_a01", true;
 	}
 	}
 	end;
 	end;
 }
 }
@@ -206,6 +213,8 @@ OnMyMobDead:
 		mapannounce "bat_a01", "Guillaume Vintenar Axl Rose : We destroyed Croix's Food Storage. We won that! Wow!",bc_map,"0xFFCE00";
 		mapannounce "bat_a01", "Guillaume Vintenar Axl Rose : We destroyed Croix's Food Storage. We won that! Wow!",bc_map,"0xFFCE00";
 		bg_warp $@TierraBG1_id1,"bat_a01",50,374;
 		bg_warp $@TierraBG1_id1,"bat_a01",50,374;
 		bg_warp $@TierraBG1_id2,"bat_a01",42,16;
 		bg_warp $@TierraBG1_id2,"bat_a01",42,16;
+		if (getbattleflag("feature.bgqueue"))
+			bg_reserve "bat_a01", true;
 	}
 	}
 	end;
 	end;
 }
 }
@@ -364,8 +373,10 @@ bat_a01,185,270,1	script	Guillaume Blacksmith#a01	851,{
 				mes "[Guillaume Blacksmith]";
 				mes "[Guillaume Blacksmith]";
 				mes "Wow! It's done.";
 				mes "Wow! It's done.";
 				mes "We are relieved.";
 				mes "We are relieved.";
-				delitem 7049,50; //Stone
-				donpcevent "barricade#bat_a01_a::OnEnable";
+				if (mobcount("bat_a01","barricade#bat_a01_a::OnMyMobDead") < 17) {
+					delitem 7049,50; //Stone
+					donpcevent "barricade#bat_a01_a::OnEnable";
+				}
 				close2;
 				close2;
 				disablenpc "Guillaume Blacksmith#a01";
 				disablenpc "Guillaume Blacksmith#a01";
 				end;
 				end;
@@ -448,8 +459,10 @@ bat_a01,170,121,5	script	Croix Blacksmith#bat_a01	851,{
 				mes "[Croix Blacksmith]";
 				mes "[Croix Blacksmith]";
 				mes "Wow! It's done.";
 				mes "Wow! It's done.";
 				mes "We are relieved.";
 				mes "We are relieved.";
-				delitem 7049,50; //Stone
-				donpcevent "barricade#bat_a01_b::OnEnable";
+				if (mobcount("bat_a01","barricade#bat_a01_b::OnMyMobDead") < 17) {
+					delitem 7049,50; //Stone
+					donpcevent "barricade#bat_a01_b::OnEnable";
+				}
 				close2;
 				close2;
 				disablenpc "Croix Blacksmith#bat_a01";
 				disablenpc "Croix Blacksmith#bat_a01";
 				end;
 				end;
@@ -500,35 +513,39 @@ OnEnable:
 	end;
 	end;
 
 
 OnStop:
 OnStop:
-	disablenpc "bat_a01_rp1_a_warp";
+	// disablenpc "bat_a01_rp1_a_warp";
 	disablenpc "Battle Therapist#a01_a";
 	disablenpc "Battle Therapist#a01_a";
 	stopnpctimer;
 	stopnpctimer;
 	end;
 	end;
 
 
 OnTimer25000:
 OnTimer25000:
 	specialeffect EF_SANCTUARY;
 	specialeffect EF_SANCTUARY;
-	enablenpc "bat_a01_rp1_a_warp";
+	// enablenpc "bat_a01_rp1_a_warp";
+	areapercentheal "bat_a01",41,365,61,385,100,100;
+	areawarp "bat_a01",41,365,61,385,"bat_a01",352,342;
 	end;
 	end;
 
 
-OnTimer26000:
-	disablenpc "bat_a01_rp1_a_warp";
-	end;
+// OnTimer26000:
+	// disablenpc "bat_a01_rp1_a_warp";
+	// end;
 
 
 OnTimer26500:
 OnTimer26500:
 	donpcevent "Battle Therapist#a01_a::OnEnable";
 	donpcevent "Battle Therapist#a01_a::OnEnable";
 	end;
 	end;
 }
 }
 
 
+/*
 bat_a01,51,375,0	script	bat_a01_rp1_a_warp	-1,10,10,{
 bat_a01,51,375,0	script	bat_a01_rp1_a_warp	-1,10,10,{
 OnInit:
 OnInit:
 	disablenpc "bat_a01_rp1_a_warp";
 	disablenpc "bat_a01_rp1_a_warp";
 	end;
 	end;
 
 
-OnTouch_:
+OnTouch:
 	percentheal 100,100;
 	percentheal 100,100;
 	warp "bat_a01",352,342;
 	warp "bat_a01",352,342;
 	end;
 	end;
 }
 }
+*/
 
 
 bat_a01,45,19,3	script	Battle Therapist#a01_b	95,{
 bat_a01,45,19,3	script	Battle Therapist#a01_b	95,{
 	specialeffect2 EF_HEAL;
 	specialeffect2 EF_HEAL;
@@ -550,25 +567,28 @@ OnEnable:
 	end;
 	end;
 
 
 OnStop:
 OnStop:
-	disablenpc "bat_a01_rp1_b_warp";
+	// disablenpc "bat_a01_rp1_b_warp";
 	disablenpc "Battle Therapist#a01_b";
 	disablenpc "Battle Therapist#a01_b";
 	stopnpctimer;
 	stopnpctimer;
 	end;
 	end;
 
 
 OnTimer25000:
 OnTimer25000:
 	specialeffect EF_SANCTUARY;
 	specialeffect EF_SANCTUARY;
-	enablenpc "bat_a01_rp1_b_warp";
+	areapercentheal "bat_a01",33,7,53,27,100,100;
+	areawarp "bat_a01",33,7,53,27,"bat_a01",353,52;
+	// enablenpc "bat_a01_rp1_b_warp";
 	end;
 	end;
 
 
-OnTimer26000:
-	disablenpc "bat_a01_rp1_b_warp";
-	end;
+// OnTimer26000:
+	// disablenpc "bat_a01_rp1_b_warp";
+	// end;
 
 
 OnTimer26500:
 OnTimer26500:
 	donpcevent "Battle Therapist#a01_b::OnEnable";
 	donpcevent "Battle Therapist#a01_b::OnEnable";
 	end;
 	end;
 }
 }
 
 
+/*
 bat_a01,43,17,0	script	bat_a01_rp1_b_warp	-1,10,10,{
 bat_a01,43,17,0	script	bat_a01_rp1_b_warp	-1,10,10,{
 OnInit:
 OnInit:
 	disablenpc "bat_a01_rp1_b_warp";
 	disablenpc "bat_a01_rp1_b_warp";
@@ -579,6 +599,7 @@ OnTouch:
 	warp "bat_a01",353,52;
 	warp "bat_a01",353,52;
 	end;
 	end;
 }
 }
+*/
 
 
 bat_a01,60,216,3	script	Valley Ghost#bat_a01_n	950,{
 bat_a01,60,216,3	script	Valley Ghost#bat_a01_n	950,{
 	specialeffect2 EF_HEAL;
 	specialeffect2 EF_HEAL;
@@ -597,18 +618,21 @@ OnEnable:
 
 
 OnTimer25000:
 OnTimer25000:
 	specialeffect EF_SANCTUARY;
 	specialeffect EF_SANCTUARY;
-	enablenpc "bat_a01_rp1_n_warp";
+	areapercentheal "bat_a01",45,203,65,223,100,100;
+	areawarp "bat_a01",45,203,65,223,"bat_a01",301,209;
+	// enablenpc "bat_a01_rp1_n_warp";
 	end;
 	end;
 
 
-OnTimer26000:
-	disablenpc "bat_a01_rp1_n_warp";
-	end;
+// OnTimer26000:
+	// disablenpc "bat_a01_rp1_n_warp";
+	// end;
 
 
 OnTimer26500:
 OnTimer26500:
 	donpcevent "Valley Ghost#bat_a01_n::OnEnable";
 	donpcevent "Valley Ghost#bat_a01_n::OnEnable";
 	end;
 	end;
 }
 }
 
 
+/*
 bat_a01,55,213,0	script	bat_a01_rp1_n_warp	-1,10,10,{
 bat_a01,55,213,0	script	bat_a01_rp1_n_warp	-1,10,10,{
 OnInit:
 OnInit:
 	disablenpc "bat_a01_rp1_n_warp";
 	disablenpc "bat_a01_rp1_n_warp";
@@ -619,6 +643,7 @@ OnTouch:
 	warp "bat_a01",301,209;
 	warp "bat_a01",301,209;
 	end;
 	end;
 }
 }
+*/
 
 
 bat_a01,194,267,0	script	barri_warp_up#bat_a01_a	-1,7,0,{
 bat_a01,194,267,0	script	barri_warp_up#bat_a01_a	-1,7,0,{
 OnTouch:
 OnTouch:

+ 58 - 32
npc/battleground/tierra/tierra02.txt

@@ -57,21 +57,19 @@ OnStop:
 
 
 OnTimer1000:
 OnTimer1000:
 	stopnpctimer;
 	stopnpctimer;
-	if (!getbattleflag("feature.bgqueue"))
-		initnpctimer;
-	set .@chk_bat_a02,getmapusers("bat_a02");
-	if (.@chk_bat_a02 < 1) {
-		set $@TierraBG2,0; set $@TierraBG2_Victory, 0;
-		if( $@TierraBG2_id1 ) { bg_destroy $@TierraBG2_id1; set $@TierraBG2_id1, 0; }
-		if( $@TierraBG2_id2 ) { bg_destroy $@TierraBG2_id2; set $@TierraBG2_id2, 0; }
-		if (getbattleflag("feature.bgqueue")) {
+	if (!bg_get_data($@TierraBG2_id1, 0) && !bg_get_data($@TierraBG2_id2, 0)) {
+		donpcevent "countdown#bat_a02::OnStop";
+		if (getbattleflag("feature.bgqueue"))
+			bg_reserve "bat_a02", true;
+		mapwarp "bat_a02","bat_room",154,150;
+		$@TierraBG2 = 0; $@TierraBG2_Victory = 0;
+		if( $@TierraBG2_id1 ) { bg_destroy $@TierraBG2_id1; $@TierraBG2_id1 = 0; }
+		if( $@TierraBG2_id2 ) { bg_destroy $@TierraBG2_id2; $@TierraBG2_id2 = 0; }
+		if (getbattleflag("feature.bgqueue"))
 			bg_unbook "bat_a02";
 			bg_unbook "bat_a02";
-			end;
-		} else
-			donpcevent "start#bat_a02::OnReadyCheck";
+		end;
 	}
 	}
-	if (getbattleflag("feature.bgqueue"))
-		initnpctimer;
+	initnpctimer;
 	end;
 	end;
 }
 }
 
 
@@ -125,6 +123,14 @@ OnEnable:
 	disablenpc "Croix Vintenar#a02_b";
 	disablenpc "Croix Vintenar#a02_b";
 	end;
 	end;
 
 
+OnGuillaumeActive:
+	warp "bat_a02",352,342;
+	end;
+
+OnCroixActive:
+	warp "bat_a02",353,52;
+	end;
+
 OnGuillaumeQuit:
 OnGuillaumeQuit:
 OnCroixQuit:
 OnCroixQuit:
 	if (getbattleflag("feature.bgqueue"))
 	if (getbattleflag("feature.bgqueue"))
@@ -182,6 +188,8 @@ OnMyMobDead:
 		mapannounce "bat_a02", "Croix Vintenar Swandery: We destroyed Guillaume's Food Storage. We won that! Wow!",bc_map,"0xFFCE00";
 		mapannounce "bat_a02", "Croix Vintenar Swandery: We destroyed Guillaume's Food Storage. We won that! Wow!",bc_map,"0xFFCE00";
 		bg_warp $@TierraBG2_id1,"bat_a02",50,374;
 		bg_warp $@TierraBG2_id1,"bat_a02",50,374;
 		bg_warp $@TierraBG2_id2,"bat_a02",42,16;
 		bg_warp $@TierraBG2_id2,"bat_a02",42,16;
+		if (getbattleflag("feature.bgqueue"))
+			bg_reserve "bat_a02", true;
 	}
 	}
 	end;
 	end;
 }
 }
@@ -205,6 +213,8 @@ OnMyMobDead:
 		mapannounce "bat_a02", "Guillaume Vintenar Axl Rose : We destroyed Croix's Food Storage. We won that! Wow!",bc_map,"0xFFCE00";
 		mapannounce "bat_a02", "Guillaume Vintenar Axl Rose : We destroyed Croix's Food Storage. We won that! Wow!",bc_map,"0xFFCE00";
 		bg_warp $@TierraBG2_id1,"bat_a02",50,374;
 		bg_warp $@TierraBG2_id1,"bat_a02",50,374;
 		bg_warp $@TierraBG2_id2,"bat_a02",42,16;
 		bg_warp $@TierraBG2_id2,"bat_a02",42,16;
+		if (getbattleflag("feature.bgqueue"))
+			bg_reserve "bat_a02", true;
 	}
 	}
 	end;
 	end;
 }
 }
@@ -363,8 +373,10 @@ bat_a02,185,270,1	script	Guillaume Blacksmith#a02	851,{
 				mes "[Guillaume Blacksmith]";
 				mes "[Guillaume Blacksmith]";
 				mes "Wow! It's done.";
 				mes "Wow! It's done.";
 				mes "We are relieved.";
 				mes "We are relieved.";
-				delitem 7049,50; //Stone
-				donpcevent "barricade#bat_a02_a::OnEnable";
+				if (mobcount("bat_a02","barricade#bat_a02_a::OnMyMobDead") < 17) {
+					delitem 7049,50; //Stone
+					donpcevent "barricade#bat_a02_a::OnEnable";
+				}
 				close2;
 				close2;
 				disablenpc "Guillaume Blacksmith#a02";
 				disablenpc "Guillaume Blacksmith#a02";
 				end;
 				end;
@@ -447,8 +459,10 @@ bat_a02,170,121,5	script	Croix Blacksmith#bat_a02	851,{
 				mes "[Croix Blacksmith]";
 				mes "[Croix Blacksmith]";
 				mes "Wow! It's done.";
 				mes "Wow! It's done.";
 				mes "We are relieved.";
 				mes "We are relieved.";
-				delitem 7049,50; //Stone
-				donpcevent "barricade#bat_a02_b::OnEnable";
+				if (mobcount("bat_a02","barricade#bat_a02_b::OnMyMobDead") < 17) {
+					delitem 7049,50; //Stone
+					donpcevent "barricade#bat_a02_b::OnEnable";
+				}
 				close2;
 				close2;
 				disablenpc "Croix Blacksmith#bat_a02";
 				disablenpc "Croix Blacksmith#bat_a02";
 				end;
 				end;
@@ -499,35 +513,39 @@ OnEnable:
 	end;
 	end;
 
 
 OnStop:
 OnStop:
-	disablenpc "bat_a02_rp1_a_warp";
+	// disablenpc "bat_a02_rp1_a_warp";
 	disablenpc "Battle Therapist#a02_a";
 	disablenpc "Battle Therapist#a02_a";
 	stopnpctimer;
 	stopnpctimer;
 	end;
 	end;
 
 
 OnTimer25000:
 OnTimer25000:
 	specialeffect EF_SANCTUARY;
 	specialeffect EF_SANCTUARY;
-	enablenpc "bat_a02_rp1_a_warp";
+	// enablenpc "bat_a02_rp1_a_warp";
+	areapercentheal "bat_a02",41,365,61,385,100,100;
+	areawarp "bat_a02",41,365,61,385,"bat_a02",352,342;
 	end;
 	end;
 
 
-OnTimer26000:
-	disablenpc "bat_a02_rp1_a_warp";
-	end;
+// OnTimer26000:
+	// disablenpc "bat_a02_rp1_a_warp";
+	// end;
 
 
 OnTimer26500:
 OnTimer26500:
 	donpcevent "Battle Therapist#a02_a::OnEnable";
 	donpcevent "Battle Therapist#a02_a::OnEnable";
 	end;
 	end;
 }
 }
 
 
+/*
 bat_a02,51,375,0	script	bat_a02_rp1_a_warp	-1,10,10,{
 bat_a02,51,375,0	script	bat_a02_rp1_a_warp	-1,10,10,{
 OnInit:
 OnInit:
 	disablenpc "bat_a02_rp1_a_warp";
 	disablenpc "bat_a02_rp1_a_warp";
 	end;
 	end;
 
 
-OnTouch_:
+OnTouch:
 	percentheal 100,100;
 	percentheal 100,100;
 	warp "bat_a02",352,342;
 	warp "bat_a02",352,342;
 	end;
 	end;
 }
 }
+*/
 
 
 bat_a02,45,19,3	script	Battle Therapist#a02_b	95,{
 bat_a02,45,19,3	script	Battle Therapist#a02_b	95,{
 	specialeffect2 EF_HEAL;
 	specialeffect2 EF_HEAL;
@@ -549,25 +567,28 @@ OnEnable:
 	end;
 	end;
 
 
 OnStop:
 OnStop:
-	disablenpc "bat_a02_rp1_b_warp";
+	// disablenpc "bat_a02_rp1_b_warp";
 	disablenpc "Battle Therapist#a02_b";
 	disablenpc "Battle Therapist#a02_b";
 	stopnpctimer;
 	stopnpctimer;
 	end;
 	end;
 
 
 OnTimer25000:
 OnTimer25000:
 	specialeffect EF_SANCTUARY;
 	specialeffect EF_SANCTUARY;
-	enablenpc "bat_a02_rp1_b_warp";
+	// enablenpc "bat_a02_rp1_b_warp";
+	areapercentheal "bat_a02",33,7,53,27,100,100;
+	areawarp "bat_a02",33,7,53,27,"bat_a02",353,52;
 	end;
 	end;
 
 
-OnTimer26000:
-	disablenpc "bat_a02_rp1_b_warp";
-	end;
+// OnTimer26000:
+	// disablenpc "bat_a02_rp1_b_warp";
+	// end;
 
 
 OnTimer26500:
 OnTimer26500:
 	donpcevent "Battle Therapist#a02_b::OnEnable";
 	donpcevent "Battle Therapist#a02_b::OnEnable";
 	end;
 	end;
 }
 }
 
 
+/*
 bat_a02,43,17,0	script	bat_a02_rp1_b_warp	-1,10,10,{
 bat_a02,43,17,0	script	bat_a02_rp1_b_warp	-1,10,10,{
 OnInit:
 OnInit:
 	disablenpc "bat_a02_rp1_b_warp";
 	disablenpc "bat_a02_rp1_b_warp";
@@ -578,6 +599,7 @@ OnTouch:
 	warp "bat_a02",353,52;
 	warp "bat_a02",353,52;
 	end;
 	end;
 }
 }
+*/
 
 
 bat_a02,60,216,3	script	Valley Ghost#bat_a02_n	950,{
 bat_a02,60,216,3	script	Valley Ghost#bat_a02_n	950,{
 	specialeffect2 EF_HEAL;
 	specialeffect2 EF_HEAL;
@@ -596,18 +618,21 @@ OnEnable:
 
 
 OnTimer25000:
 OnTimer25000:
 	specialeffect EF_SANCTUARY;
 	specialeffect EF_SANCTUARY;
-	enablenpc "bat_a02_rp1_n_warp";
+	// enablenpc "bat_a02_rp1_n_warp";
+	areapercentheal "bat_a02",45,203,65,223,100,100;
+	areawarp "bat_a02",45,203,65,223,"bat_a02",301,209;
 	end;
 	end;
 
 
-OnTimer26000:
-	disablenpc "bat_a02_rp1_n_warp";
-	end;
+// OnTimer26000:
+	// disablenpc "bat_a02_rp1_n_warp";
+	// end;
 
 
 OnTimer26500:
 OnTimer26500:
 	donpcevent "Valley Ghost#bat_a02_n::OnEnable";
 	donpcevent "Valley Ghost#bat_a02_n::OnEnable";
 	end;
 	end;
 }
 }
 
 
+/*
 bat_a02,55,213,0	script	bat_a02_rp1_n_warp	-1,10,10,{
 bat_a02,55,213,0	script	bat_a02_rp1_n_warp	-1,10,10,{
 OnInit:
 OnInit:
 	disablenpc "bat_a02_rp1_n_warp";
 	disablenpc "bat_a02_rp1_n_warp";
@@ -618,6 +643,7 @@ OnTouch:
 	warp "bat_a02",301,209;
 	warp "bat_a02",301,209;
 	end;
 	end;
 }
 }
+*/
 
 
 bat_a02,194,267,0	script	barri_warp_up#bat_a02_a	-1,7,0,{
 bat_a02,194,267,0	script	barri_warp_up#bat_a02_a	-1,7,0,{
 OnTouch:
 OnTouch:

+ 22 - 18
npc/custom/official/GeffenMagicTournament.txt

@@ -1944,74 +1944,76 @@ OnStart:
 	switch ('GMT_1QUE) {
 	switch ('GMT_1QUE) {
 		case 11:
 		case 11:
 			hideonnpc instance_npcname("Arhi#1");
 			hideonnpc instance_npcname("Arhi#1");
-			'BossID = monster(.@map$,114,50,"--ja--",2549,1,.@label$);
+			monster(.@map$,114,50,"--ja--",2549,1,.@label$);
 			break;
 			break;
 		case 12:
 		case 12:
 			hideonnpc instance_npcname("Dio Anemos#1");
 			hideonnpc instance_npcname("Dio Anemos#1");
-			'BossID = monster(.@map$,114,50,"--ja--",2550,1,.@label$);
+			monster(.@map$,114,50,"--ja--",2550,1,.@label$);
 			break;
 			break;
 		case 13:
 		case 13:
 			if ('GMTQuest == 1) {
 			if ('GMTQuest == 1) {
 				hideonnpc instance_npcname("Geffen Gangster#n1");
 				hideonnpc instance_npcname("Geffen Gangster#n1");
-				'BossID = monster(.@map$,114,50,"--ja--",2553,1,.@label$);
+				monster(.@map$,114,50,"--ja--",2553,1,.@label$);
 			} else if ('GMTQuest == 2) {
 			} else if ('GMTQuest == 2) {
 				hideonnpc instance_npcname("Geffen Bully#n1");
 				hideonnpc instance_npcname("Geffen Bully#n1");
-				'BossID = monster(.@map$,114,50,"--ja--",2552,1,.@label$);
+				monster(.@map$,114,50,"--ja--",2552,1,.@label$);
 			} else {
 			} else {
 				hideonnpc instance_npcname("Geffen Shoplifter#n1");
 				hideonnpc instance_npcname("Geffen Shoplifter#n1");
-				'BossID = monster(.@map$,114,50,"--ja--",2551,1,.@label$);
+				monster(.@map$,114,50,"--ja--",2551,1,.@label$);
 			}
 			}
 			break;
 			break;
 		case 14:
 		case 14:
 			hideonnpc instance_npcname("Faymont#1");
 			hideonnpc instance_npcname("Faymont#1");
-			'BossID = monster(.@map$,114,50,"--ja--",2554,1,.@label$);
+			monster(.@map$,114,50,"--ja--",2554,1,.@label$);
 			break;
 			break;
 		case 15:
 		case 15:
 			hideonnpc instance_npcname("Ordre#1");
 			hideonnpc instance_npcname("Ordre#1");
-			'BossID = monster(.@map$,114,50,"--ja--",2555,1,.@label$);
+			monster(.@map$,114,50,"--ja--",2555,1,.@label$);
 			break;
 			break;
 		case 16:
 		case 16:
 			hideonnpc instance_npcname("Blut Hase#1");
 			hideonnpc instance_npcname("Blut Hase#1");
-			'BossID = monster(.@map$,114,50,"--ja--",2556,1,.@label$);
+			monster(.@map$,114,50,"--ja--",2556,1,.@label$);
 			break;
 			break;
 		case 17:
 		case 17:
 			hideonnpc instance_npcname("Kuro Akuma#1");
 			hideonnpc instance_npcname("Kuro Akuma#1");
-			'BossID = monster(.@map$,114,50,"--ja--",2557,1,.@label$);
+			monster(.@map$,114,50,"--ja--",2557,1,.@label$);
 			break;
 			break;
 		case 18:
 		case 18:
 			hideonnpc instance_npcname("Ifodes#1");
 			hideonnpc instance_npcname("Ifodes#1");
-			'BossID = monster(.@map$,114,50,"--ja--",2558,1,.@label$);
+			monster(.@map$,114,50,"--ja--",2558,1,.@label$);
 			break;
 			break;
 		case 19:
 		case 19:
 			hideonnpc instance_npcname("Licheniyes#1");
 			hideonnpc instance_npcname("Licheniyes#1");
-			'BossID = monster(.@map$,114,50,"--ja--",2559,1,.@label$);
+			monster(.@map$,114,50,"--ja--",2559,1,.@label$);
 			break;
 			break;
 		case 20:
 		case 20:
 			hideonnpc instance_npcname("Odoric#1");
 			hideonnpc instance_npcname("Odoric#1");
-			'BossID = monster(.@map$,114,50,"--ja--",2560,1,.@label$);
+			monster(.@map$,114,50,"--ja--",2560,1,.@label$);
 			break;
 			break;
 		case 21:
 		case 21:
 			hideonnpc instance_npcname("Ju#1");
 			hideonnpc instance_npcname("Ju#1");
-			'BossID = monster(.@map$,114,50,"--ja--",2561,1,.@label$);
+			monster(.@map$,114,50,"--ja--",2561,1,.@label$);
 			break;
 			break;
 		case 22:
 		case 22:
 			if ('half) {
 			if ('half) {
 				hideonnpc instance_npcname("Dwigh#1");
 				hideonnpc instance_npcname("Dwigh#1");
-				'BossID = monster(.@map$,114,50,"--ja--",2562,1,.@label$);
+				monster(.@map$,114,50,"--ja--",2562,1,.@label$);
 			}
 			}
 			else {
 			else {
 				hideonnpc instance_npcname("Fay Kanavian#1");
 				hideonnpc instance_npcname("Fay Kanavian#1");
-				'BossID = monster(.@map$,114,50,"--ja--",2563,1,.@label$);
+				monster(.@map$,114,50,"--ja--",2563,1,.@label$);
 				donpcevent instance_npcname("#GMTHomun")+"::OnSummon";
 				donpcevent instance_npcname("#GMTHomun")+"::OnSummon";
 			}
 			}
 			
 			
 			break;
 			break;
 		case 23:
 		case 23:
 			hideonnpc instance_npcname("Fenrir#f");
 			hideonnpc instance_npcname("Fenrir#f");
-			'BossID = monster(.@map$,114,50,"--ja--",2564,1,.@label$);
+			monster(.@map$,114,50,"--ja--",2564,1,.@label$);
+			'BossID = $@mobid[0];
 			donpcevent instance_npcname("Geffen Academy Master")+"::OnTalk3";
 			donpcevent instance_npcname("Geffen Academy Master")+"::OnTalk3";
 			end;
 			end;
 	}
 	}
+	'BossID = $@mobid[0];
 		
 		
 	donpcevent instance_npcname("Geffen Academy Master")+"::OnTalk1";
 	donpcevent instance_npcname("Geffen Academy Master")+"::OnTalk1";
 	end;
 	end;
@@ -2089,7 +2091,8 @@ OnTimeout2:
 	mapannounce instance_mapname("1@ge_st"), "<Magic Tournament Broadcast>: Time's up! The judges will decide the victor for this round!",bc_blue;	
 	mapannounce instance_mapname("1@ge_st"), "<Magic Tournament Broadcast>: Time's up! The judges will decide the victor for this round!",bc_blue;	
 	
 	
 	setcell instance_mapname("1@ge_st"), 50, 50, 50, 50, cell_walkable, 1;
 	setcell instance_mapname("1@ge_st"), 50, 50, 50, 50, cell_walkable, 1;
-	unitwarp 'BossID, instance_mapname("1@ge_st"), 50, 50;
+	if (unitexists('BossID))
+		unitwarp 'BossID, instance_mapname("1@ge_st"), 50, 50;
 	killmonster instance_mapname("1@ge_st"), instance_npcname("#GMTcontroller")+"::OnTimeout";
 	killmonster instance_mapname("1@ge_st"), instance_npcname("#GMTcontroller")+"::OnTimeout";
 	'BossID = 0;
 	'BossID = 0;
 	
 	
@@ -2231,7 +2234,8 @@ end;
 
 
 OnSummon:
 OnSummon:
 	initnpctimer;
 	initnpctimer;
-	'HomID = monster (instance_mapname("1@ge_st"), 114,50,"--ja--",2565,1, instance_npcname("#GMTHomun")+"::OnHomDead");
+	monster (instance_mapname("1@ge_st"), 114,50,"--ja--",2565,1, instance_npcname("#GMTHomun")+"::OnHomDead");
+	'HomID = $@mobid[0];
 	end;
 	end;
 
 
 OnTimer10000:
 OnTimer10000:

+ 31 - 10
npc/custom/woe_controller.txt

@@ -283,13 +283,36 @@ OnReward:
 				.@cid[0] = .@master_cid;
 				.@cid[0] = .@master_cid;
 				.@aid[0] = .@master_aid;
 				.@aid[0] = .@master_aid;
 			}
 			}
-
-			for(set .@j,0; .@j<.@size_guild; set .@j,.@j+1) {
-				if ((.Options&8) && !(.Options&4)) {
-					set .@ip$, replacestr(getcharip(.@aid[.@j]),".","a");
-					if (getd(".@ip_"+.@i+"_"+.@ip$)) continue;
-					setd ".@ip_"+.@i+"_"+.@ip$,1;
+			else if (.Options&8) {
+				for ( .@j = 0; .@j < .@size_guild; ++.@j ) {
+					.@is_online[.@j] = isloggedin( .@aid[.@j], .@cid[.@j] );
+					if (.@is_online[.@j])
+						.@ip$ = replacestr(getcharip(.@aid[.@j]),".","a");
+					else {
+						if (query_sql("SELECT `last_ip` FROM `login` WHERE `account_id` = '" + .@aid[.@j] + "'", .@last_ip$) < 1)
+							continue;
+						.@ip$ = replacestr(.@last_ip$, ".", "a");
+					}
+					.@variable$ = ".@ip_" + .@i + "_" + .@ip$;
+					.@index = getd(.@variable$) - 1;
+				
+					if (.@index >= 0) {
+						if (.@is_online[.@j]) {
+							.@tmp_account_id[.@index] = .@aid[.@j];
+							.@tmp_char_id[.@index] = .@cid[.@j];
+						}
+						continue;
+					}
+					setd .@variable$, .@j+1;
+					.@tmp_account_id[.@k] = .@aid[.@j];
+					.@tmp_char_id[.@k] = .@cid[.@j];
+					.@k++;
 				}
 				}
+				copyarray .@aid[0], .@tmp_account_id[0], .@k;
+				copyarray .@cid[0], .@tmp_char_id[0], .@k;
+				.@size_guild = .@k;
+			}
+			for(set .@j,0; .@j<.@size_guild; set .@j,.@j+1) {
 				if (.Options&2) {
 				if (.Options&2) {
 					.@charid = .@cid[.@j];
 					.@charid = .@cid[.@j];
 					.@sender$ = "no-reply";
 					.@sender$ = "no-reply";
@@ -318,7 +341,6 @@ OnReward:
 					}
 					}
 					Zeny += .reward_zeny;
 					Zeny += .reward_zeny;
 					dispbottom "You have been rewarded for conquering " + .@castle_name$ + ".";
 					dispbottom "You have been rewarded for conquering " + .@castle_name$ + ".";
-					detachrid;
 				}
 				}
 			}
 			}
 		}
 		}
@@ -326,15 +348,14 @@ OnReward:
 	return;
 	return;
 
 
 OnPCLoadMapEvent:
 OnPCLoadMapEvent:
-	.@compare_val = compare(strcharinfo(3),"g_cas");
-	if (!.@compare_val) end;
+	if (!compare(strcharinfo(3),"g_cas")) end;
 	if (((.AutoKick && .Active[0]) || (.NoOwner && !getcastledata(strcharinfo(3),1))) && !(.Active[0]&(1<<getd("."+strcharinfo(3))))) {
 	if (((.AutoKick && .Active[0]) || (.NoOwner && !getcastledata(strcharinfo(3),1))) && !(.Active[0]&(1<<getd("."+strcharinfo(3))))) {
 		if (getcharid(2) && getcastledata(strcharinfo(3),1) == getcharid(2)) end;
 		if (getcharid(2) && getcastledata(strcharinfo(3),1) == getcharid(2)) end;
 		.@castle_name$ = getcastlename(strcharinfo(3));
 		.@castle_name$ = getcastlename(strcharinfo(3));
 		sleep2 1000;
 		sleep2 1000;
 		message strcharinfo(0), .@castle_name$ + " is currently inactive.";
 		message strcharinfo(0), .@castle_name$ + " is currently inactive.";
 		sleep2 5000;
 		sleep2 5000;
-		if (.@compare_val) warp "SavePoint",0,0;
+		if (compare(strcharinfo(3),"g_cas")) warp "SavePoint",0,0;
 	}
 	}
 	end;
 	end;
 
 

+ 10 - 0
npc/pre-re/quests/quests_niflheim.txt

@@ -0,0 +1,10 @@
+//===== rAthena Script =======================================
+//= Quest NPCs related to Niflheim
+//===== Description: =========================================
+//= [Official Conversion]
+//= Piano Key Ouest
+//===== Additional Comments: =================================
+//= 1.0 Moved Piano3 to pre-re/re paths. [Daegaladh]
+//============================================================
+
+nif_in,114,181,0	duplicate(Piano3)	#Piano3	HIDDEN_NPC,1,1

+ 1 - 0
npc/pre-re/scripts_athena.conf

@@ -93,5 +93,6 @@ npc: npc/pre-re/quests/quests_izlude.txt
 npc: npc/pre-re/quests/quests_lighthalzen.txt
 npc: npc/pre-re/quests/quests_lighthalzen.txt
 npc: npc/pre-re/quests/quests_morocc.txt
 npc: npc/pre-re/quests/quests_morocc.txt
 npc: npc/pre-re/quests/quests_nameless.txt
 npc: npc/pre-re/quests/quests_nameless.txt
+npc: npc/pre-re/quests/quests_niflheim.txt
 npc: npc/pre-re/quests/the_sign_quest.txt
 npc: npc/pre-re/quests/the_sign_quest.txt
 npc: npc/pre-re/quests/quests_veins.txt
 npc: npc/pre-re/quests/quests_veins.txt

+ 43 - 39
npc/quests/guildrelay.txt

@@ -70,9 +70,10 @@
 	}
 	}
 	if (getcharid(2) == .@GID) {
 	if (getcharid(2) == .@GID) {
 		if (is_guild_leader() == true) {
 		if (is_guild_leader() == true) {
+			.@time = atoi( gettimestr("%H%M",5) );
 			if (guildrelay_q == 100) {
 			if (guildrelay_q == 100) {
-				if (guildtime > 22) {
-					if ((gettime(DT_HOUR) > 1) && (gettime(DT_HOUR) < guildtime)) {
+				if (guildtime > 2299) {
+					if (.@time > 0101 && .@time < guildtime) {
 						mes "[" + .@name$ + "]";
 						mes "[" + .@name$ + "]";
 						mes "Oh, you're back. So did you";
 						mes "Oh, you're back. So did you";
 						mes "rest up enough? I'm sure the";
 						mes "rest up enough? I'm sure the";
@@ -128,8 +129,8 @@
 						close;
 						close;
 					}
 					}
 				}
 				}
-				else if (guildtime > 22) {
-					if ((gettime(DT_HOUR) > 0) && (gettime(DT_HOUR) < guildtime)) {
+				else if (guildtime > 2200) {
+					if (.@time > 0001 && .@time < guildtime) {
 						mes "[" + .@name$ + "]";
 						mes "[" + .@name$ + "]";
 						mes "Oh, you're back. So did you";
 						mes "Oh, you're back. So did you";
 						mes "rest up enough? I'm sure the";
 						mes "rest up enough? I'm sure the";
@@ -185,7 +186,7 @@
 						close;
 						close;
 					}
 					}
 				}
 				}
-				else if ((gettime(DT_HOUR) - guildtime) > 2) {
+				else if ((.@time - guildtime) > 0200) {
 					mes "[" + .@name$ + "]";
 					mes "[" + .@name$ + "]";
 					mes "Oh, you're back. So did you";
 					mes "Oh, you're back. So did you";
 					mes "rest up enough? I'm sure the";
 					mes "rest up enough? I'm sure the";
@@ -242,7 +243,7 @@
 				}
 				}
 			}
 			}
 			else if (guildrelay_q == 150) {
 			else if (guildrelay_q == 150) {
-				if (((guildtime > 22) && (gettime(DT_HOUR) > 1) && (gettime(DT_HOUR) < guildtime)) || ((guildtime > 21) && (gettime(DT_HOUR) > 0) && (gettime(DT_HOUR) < guildtime)) || ((gettime(DT_HOUR) - guildtime) > 2)) {
+				if ((guildtime > 2299 && .@time > 0101 && .@time < guildtime) || (guildtime > 2199 && .@time > 0001 && .@time < guildtime) || ((.@time - guildtime) > 0200)) {
 					mes "[" + .@name$ + "]";
 					mes "[" + .@name$ + "]";
 					mes "Ah, you look well rested,";
 					mes "Ah, you look well rested,";
 					mes "master. It is now time for";
 					mes "master. It is now time for";
@@ -306,12 +307,12 @@
 				}
 				}
 			}
 			}
 			else if (guildrelay_q == 25) {
 			else if (guildrelay_q == 25) {
-				if (((guildtime > 22) && ((gettime(DT_HOUR) > 4) && (gettime(DT_HOUR) < guildtime)))
-				|| ((guildtime > 21) && ((gettime(DT_HOUR) > 3) && (gettime(DT_HOUR) < guildtime)))
-				|| ((guildtime > 20) && ((gettime(DT_HOUR) > 2) && (gettime(DT_HOUR) < guildtime)))
-				|| ((guildtime > 19) && ((gettime(DT_HOUR) > 1) && (gettime(DT_HOUR) < guildtime)))
-				|| ((guildtime > 18) && ((gettime(DT_HOUR) > 0) && (gettime(DT_HOUR) < guildtime)))
-				|| ((gettime(DT_HOUR) - guildtime) > 5)) {
+				if ((guildtime > 2299 && .@time > 0401 && .@time < guildtime)
+				|| (guildtime > 2199 && .@time > 0301 && .@time < guildtime)
+				|| (guildtime > 2059 && .@time > 0201 && .@time < guildtime)
+				|| (guildtime > 1999 && .@time > 0101 && .@time < guildtime)
+				|| (guildtime > 1899 && .@time > 0001 && .@time < guildtime)
+				|| ((.@time - guildtime) > 0500)) {
 					mes "[" + .@name$ + "]";
 					mes "[" + .@name$ + "]";
 					mes "Ah, have you rested well,";
 					mes "Ah, have you rested well,";
 					mes "master? Please excuse my";
 					mes "master? Please excuse my";
@@ -415,7 +416,7 @@
 					mes "Hand me the spirit, and allow";
 					mes "Hand me the spirit, and allow";
 					mes "me to give you your guild's reward.";
 					mes "me to give you your guild's reward.";
 					delitem 7239,1; //Soul_Of_Proceeding
 					delitem 7239,1; //Soul_Of_Proceeding
-					set guildtime,gettime(DT_HOUR);
+					set guildtime,.@time;
 					set guildrelay_q,100;
 					set guildrelay_q,100;
 					set .@incen_item,rand(1,100);
 					set .@incen_item,rand(1,100);
 					if ((.@incen_item > 0) && (.@incen_item < 25)) {
 					if ((.@incen_item > 0) && (.@incen_item < 25)) {
@@ -483,7 +484,7 @@
 					mes "challenges that you will all";
 					mes "challenges that you will all";
 					mes "face together. Good work!";
 					mes "face together. Good work!";
 					delitem 7245,1; //Soul_Of_Friendship
 					delitem 7245,1; //Soul_Of_Friendship
-					set guildtime,gettime(DT_HOUR);
+					set guildtime, atoi( gettimestr("%H%M",5) );
 					set guildrelay_q,150;
 					set guildrelay_q,150;
 					set .@incen_item,rand(1,100);
 					set .@incen_item,rand(1,100);
 					if ((.@incen_item > 0) && (.@incen_item < 16)) {
 					if ((.@incen_item > 0) && (.@incen_item < 16)) {
@@ -576,7 +577,7 @@
 					mes "Tristan III, and share it with";
 					mes "Tristan III, and share it with";
 					mes "guild. Once again, good work.";
 					mes "guild. Once again, good work.";
 					delitem 7251,1; //Soul_Of_Victory
 					delitem 7251,1; //Soul_Of_Victory
-					set guildtime,gettime(DT_HOUR);
+					set guildtime, atoi( gettimestr("%H%M",5) );
 					set guildrelay_q,25;
 					set guildrelay_q,25;
 					set .@incen_item,rand(1,100);
 					set .@incen_item,rand(1,100);
 					if ((.@incen_item > 0) && (.@incen_item < 26)) {
 					if ((.@incen_item > 0) && (.@incen_item < 26)) {
@@ -1411,11 +1412,12 @@
 				mes "don't you worry about it.";
 				mes "don't you worry about it.";
 				delitem 7235,1; //Soul_Of_Courage
 				delitem 7235,1; //Soul_Of_Courage
 				set guildrelay_q,4;
 				set guildrelay_q,4;
-				set guildtime,gettime(DT_HOUR);
+				set guildtime, atoi( gettimestr("%H%M",5) );
 				close;
 				close;
 			}
 			}
-			if ((guildtime > 22) && (guildrelay_q == 4) && (BaseJob == Job_Blacksmith)) {
-				if ((gettime(DT_HOUR) > 2) && (gettime(DT_HOUR) < guildtime)) {
+			.@time = atoi( gettimestr("%H%M",5) );
+			if ((guildtime > 2259) && (guildrelay_q == 4) && (BaseJob == Job_Blacksmith)) {
+				if ((.@time > 0201) && (.@time < guildtime)) {
 					mes "[" + .@name$ + "]";
 					mes "[" + .@name$ + "]";
 					mes "I guess enough time";
 					mes "I guess enough time";
 					mes "has passed. You ready";
 					mes "has passed. You ready";
@@ -1428,8 +1430,8 @@
 					close;
 					close;
 				}
 				}
 			}
 			}
-			if ((guildtime > 21) && (guildrelay_q == 4) && (BaseJob == Job_Blacksmith)) {
-				if ((gettime(DT_HOUR) > 0101) && (gettime(DT_HOUR) < guildtime)) {
+			if ((guildtime > 2159) && (guildrelay_q == 4) && (BaseJob == Job_Blacksmith)) {
+				if ((.@time > 0101) && (.@time < guildtime)) {
 					mes "[" + .@name$ + "]";
 					mes "[" + .@name$ + "]";
 					mes "I guess enough time";
 					mes "I guess enough time";
 					mes "has passed. You ready";
 					mes "has passed. You ready";
@@ -1442,8 +1444,8 @@
 					close;
 					close;
 				}
 				}
 			}
 			}
-			if ((guildtime > 20) && (guildrelay_q == 4) && (BaseJob == Job_Blacksmith)) {
-				if ((gettime(DT_HOUR) > 0001) && (gettime(DT_HOUR) < guildtime)) {
+			if ((guildtime > 2059) && (guildrelay_q == 4) && (BaseJob == Job_Blacksmith)) {
+				if ((.@time > 0001) && (.@time < guildtime)) {
 					mes "[" + .@name$ + "]";
 					mes "[" + .@name$ + "]";
 					mes "I guess enough time";
 					mes "I guess enough time";
 					mes "has passed. You ready";
 					mes "has passed. You ready";
@@ -1456,7 +1458,7 @@
 					close;
 					close;
 				}
 				}
 			}
 			}
-			if ((gettime(DT_HOUR) - guildtime > 0300) && (guildrelay_q == 4) && (BaseJob == Job_Blacksmith)) {
+			if ((.@time - guildtime > 0300) && (guildrelay_q == 4) && (BaseJob == Job_Blacksmith)) {
 				mes "[" + .@name$ + "]";
 				mes "[" + .@name$ + "]";
 				mes "I guess enough time";
 				mes "I guess enough time";
 				mes "has passed. You ready";
 				mes "has passed. You ready";
@@ -1797,11 +1799,12 @@
 				mes "in order to be successful.";
 				mes "in order to be successful.";
 				delitem 7240,1; //Soul_Of_Confidence
 				delitem 7240,1; //Soul_Of_Confidence
 				set guildrelay_q,9;
 				set guildrelay_q,9;
-				set guildtime,gettime(DT_HOUR);
+				set guildtime, atoi( gettimestr("%H%M",5) );
 				close;
 				close;
 			}
 			}
-			if ((guildtime > 22) && (guildrelay_q == 9) && (BaseJob == Job_Sage)) {
-				if ((gettime(DT_HOUR) > 02) && (gettime(DT_HOUR) < guildtime)) {
+			.@time = atoi( gettimestr("%H%M",5) );
+			if ((guildtime > 2259) && (guildrelay_q == 9) && (BaseJob == Job_Sage)) {
+				if ((.@time > 0201) && (.@time < guildtime)) {
 					mes "[" + .@name$ + "]";
 					mes "[" + .@name$ + "]";
 					mes "So did you spend some";
 					mes "So did you spend some";
 					mes "quality time with your";
 					mes "quality time with your";
@@ -1831,8 +1834,8 @@
 					close;
 					close;
 				}
 				}
 			}
 			}
-			else if ((guildtime > 21) && (guildrelay_q == 9) && (BaseJob == Job_Sage)) {
-				if ((gettime(DT_HOUR) > 01) && (gettime(DT_HOUR) < guildtime)) {
+			else if ((guildtime > 2159) && (guildrelay_q == 9) && (BaseJob == Job_Sage)) {
+				if ((.@time > 0101) && (.@time < guildtime)) {
 					mes "[" + .@name$ + "]";
 					mes "[" + .@name$ + "]";
 					mes "So did you spend some";
 					mes "So did you spend some";
 					mes "quality time with your";
 					mes "quality time with your";
@@ -1862,8 +1865,8 @@
 					close;
 					close;
 				}
 				}
 			}
 			}
-			else if ((guildtime > 20) && (guildrelay_q == 9) && (BaseJob == Job_Sage)) {
-				if ((gettime(DT_HOUR) > 0) && (gettime(DT_HOUR) < guildtime)) {
+			else if ((guildtime > 2059) && (guildrelay_q == 9) && (BaseJob == Job_Sage)) {
+				if ((.@time > 0001) && (.@time < guildtime)) {
 					mes "[" + .@name$ + "]";
 					mes "[" + .@name$ + "]";
 					mes "So did you spend some";
 					mes "So did you spend some";
 					mes "quality time with your";
 					mes "quality time with your";
@@ -1893,7 +1896,7 @@
 					close;
 					close;
 				}
 				}
 			}
 			}
-			else if ((gettime(DT_HOUR) - guildtime > 3) && (guildrelay_q == 9) && (BaseJob == Job_Sage)) {
+			else if ((.@time - guildtime > 0300) && (guildrelay_q == 9) && (BaseJob == Job_Sage)) {
 				mes "[" + .@name$ + "]";
 				mes "[" + .@name$ + "]";
 				mes "So did you spend some";
 				mes "So did you spend some";
 				mes "quality time with your";
 				mes "quality time with your";
@@ -2766,11 +2769,12 @@
 				mes "to your feelings this time...";
 				mes "to your feelings this time...";
 				delitem 7249,1; //Soul_Of_Service
 				delitem 7249,1; //Soul_Of_Service
 				set guildrelay_q,21;
 				set guildrelay_q,21;
-				set guildtime,gettime(DT_HOUR);
+				set guildtime, atoi( gettimestr("%H%M",5) );
 				close;
 				close;
 			}
 			}
-			if ((guildtime > 22) && (guildrelay_q == 21) && (BaseJob == Job_Crusader)) {
-				if ((gettime(DT_HOUR) > 2) && (gettime(DT_HOUR) < guildtime)) {
+			.@time = atoi( gettimestr("%H%M",5) );
+			if ((guildtime > 2259) && (guildrelay_q == 21) && (BaseJob == Job_Crusader)) {
+				if ((.@time > 0201) && (.@time < guildtime)) {
 					mes "[" + .@name$ + "]";
 					mes "[" + .@name$ + "]";
 					mes "Yes. You've come at just";
 					mes "Yes. You've come at just";
 					mes "the right time. Remember";
 					mes "the right time. Remember";
@@ -2791,8 +2795,8 @@
 					close;
 					close;
 				}
 				}
 			}
 			}
-			if ((guildtime > 21) && (guildrelay_q == 21) && (BaseJob == Job_Crusader)) {
-				if ((gettime(DT_HOUR) > 1) && (gettime(DT_HOUR) < guildtime)) {
+			if ((guildtime > 2159) && (guildrelay_q == 21) && (BaseJob == Job_Crusader)) {
+				if ((.@time > 0101) && (.@time < guildtime)) {
 					mes "[" + .@name$ + "]";
 					mes "[" + .@name$ + "]";
 					mes "Yes. You've come at just";
 					mes "Yes. You've come at just";
 					mes "the right time. Remember";
 					mes "the right time. Remember";
@@ -2813,8 +2817,8 @@
 					close;
 					close;
 				}
 				}
 			}
 			}
-			if ((guildtime > 20) && (guildrelay_q == 21) && (BaseJob == Job_Crusader)) {
-				if ((gettime(DT_HOUR) > 0) && (gettime(DT_HOUR) < guildtime)) {
+			if ((guildtime > 2059) && (guildrelay_q == 21) && (BaseJob == Job_Crusader)) {
+				if ((.@time > 0001) && (.@time < guildtime)) {
 					mes "[" + .@name$ + "]";
 					mes "[" + .@name$ + "]";
 					mes "Yes. You've come at just";
 					mes "Yes. You've come at just";
 					mes "the right time. Remember";
 					mes "the right time. Remember";
@@ -2835,7 +2839,7 @@
 					close;
 					close;
 				}
 				}
 			}
 			}
-			if ((gettime(DT_HOUR) - guildtime > 3) && (guildrelay_q == 21) && (BaseJob == Job_Crusader)) {
+			if ((.@time - guildtime > 0300) && (guildrelay_q == 21) && (BaseJob == Job_Crusader)) {
 				mes "[" + .@name$ + "]";
 				mes "[" + .@name$ + "]";
 				mes "Yes. You've come at just";
 				mes "Yes. You've come at just";
 				mes "the right time. Remember";
 				mes "the right time. Remember";

+ 58 - 17
npc/quests/quests_lighthalzen.txt

@@ -2044,11 +2044,12 @@ lhz_in02,201,210,5	script	Digotz	4_M_LGTMAN,{
 		close;
 		close;
 	}
 	}
 	if (friendship > 14) {
 	if (friendship > 14) {
+		cutin "lhz_diguts05.bmp",2;
 		mes "^3355FFDigotz has passed";
 		mes "^3355FFDigotz has passed";
 		mes "away, but the look on";
 		mes "away, but the look on";
 		mes "his face seems very";
 		mes "his face seems very";
 		mes "peaceful and content.^000000";
 		mes "peaceful and content.^000000";
-		close;
+		close3;
 	}
 	}
 	if (friendship == 14) {
 	if (friendship == 14) {
 		mes "^3355FFDigotz is seriously";
 		mes "^3355FFDigotz is seriously";
@@ -2061,6 +2062,7 @@ lhz_in02,201,210,5	script	Digotz	4_M_LGTMAN,{
 		mes "Oh no, let me";
 		mes "Oh no, let me";
 		mes "get you some help!";
 		mes "get you some help!";
 		next;
 		next;
+		cutin "lhz_diguts04.bmp",2;
 		mes "[Digotz]";
 		mes "[Digotz]";
 		mes "H-hey... It's the";
 		mes "H-hey... It's the";
 		mes "adventurer... Man,";
 		mes "adventurer... Man,";
@@ -2085,6 +2087,7 @@ lhz_in02,201,210,5	script	Digotz	4_M_LGTMAN,{
 		mes "to him. We'll hang out and have";
 		mes "to him. We'll hang out and have";
 		mes "fun, just like the good old days.";
 		mes "fun, just like the good old days.";
 		next;
 		next;
+		cutin "lhz_diguts05.bmp",2;
 		mes "[Digotz]";
 		mes "[Digotz]";
 		mes "I missed my buddies, but now...";
 		mes "I missed my buddies, but now...";
 		mes "Now I can hear them calling me.";
 		mes "Now I can hear them calling me.";
@@ -2114,9 +2117,11 @@ lhz_in02,201,210,5	script	Digotz	4_M_LGTMAN,{
 		set friendship,15;
 		set friendship,15;
 		changequest 12005,12006;
 		changequest 12005,12006;
 		getitem 1201,1; //Knife
 		getitem 1201,1; //Knife
+		cutin "",255;
 		close;
 		close;
 	}
 	}
 	if (friendship == 13) {
 	if (friendship == 13) {
+		cutin "lhz_diguts08.bmp",2;
 		mes "[Digotz]";
 		mes "[Digotz]";
 		mes "Wh-whoa, I need to";
 		mes "Wh-whoa, I need to";
 		mes "get ready! That Maku's";
 		mes "get ready! That Maku's";
@@ -2124,9 +2129,10 @@ lhz_in02,201,210,5	script	Digotz	4_M_LGTMAN,{
 		mes "I look too rich and pampered.";
 		mes "I look too rich and pampered.";
 		mes "Damn! Where did I put all of";
 		mes "Damn! Where did I put all of";
 		mes "my fashionable street clothes?";
 		mes "my fashionable street clothes?";
-		close;
+		close3;
 	}
 	}
-	if ((friendship == 12 && countitem(7351) > 0)) {
+	if (friendship == 12 && countitem(7351) > 0) {
+		cutin "lhz_diguts08.bmp",2;
 		mes "[Digotz]";
 		mes "[Digotz]";
 		mes "Even if Benkaistein";
 		mes "Even if Benkaistein";
 		mes "did come back, I don't";
 		mes "did come back, I don't";
@@ -2135,6 +2141,7 @@ lhz_in02,201,210,5	script	Digotz	4_M_LGTMAN,{
 		mes "I think I'd even be madder!";
 		mes "I think I'd even be madder!";
 		next;
 		next;
 		if (select("Show Benkaistein's Journal.:Don't show Benkaistein's Journal.") == 1) {
 		if (select("Show Benkaistein's Journal.:Don't show Benkaistein's Journal.") == 1) {
+			cutin "",255;
 			mes "[Digotz]";
 			mes "[Digotz]";
 			mes "Why am I so ticked off?";
 			mes "Why am I so ticked off?";
 			mes "^3355FF*Sigh*^000000 You have something";
 			mes "^3355FF*Sigh*^000000 You have something";
@@ -2159,6 +2166,7 @@ lhz_in02,201,210,5	script	Digotz	4_M_LGTMAN,{
 			mes "I think about it. Boy, I hope";
 			mes "I think about it. Boy, I hope";
 			mes "we don't do that again.^000000";
 			mes "we don't do that again.^000000";
 			next;
 			next;
+			cutin "lhz_diguts02.bmp",2;
 			mes "[Digotz]";
 			mes "[Digotz]";
 			mes "Oh yeah, I remember that!";
 			mes "Oh yeah, I remember that!";
 			mes "Maku wore the wings most";
 			mes "Maku wore the wings most";
@@ -2167,6 +2175,7 @@ lhz_in02,201,210,5	script	Digotz	4_M_LGTMAN,{
 			mes "air the longest! Yeah, I was";
 			mes "air the longest! Yeah, I was";
 			mes "a regular Kid Pegasus~";
 			mes "a regular Kid Pegasus~";
 			next;
 			next;
+			cutin "",255;
 			mes "[Benkaistein's Journal]";
 			mes "[Benkaistein's Journal]";
 			mes "^856363Maku, Digotz and me went";
 			mes "^856363Maku, Digotz and me went";
 			mes "outside of town. Of course,";
 			mes "outside of town. Of course,";
@@ -2183,6 +2192,7 @@ lhz_in02,201,210,5	script	Digotz	4_M_LGTMAN,{
 			mes "bad and the monster got away.";
 			mes "bad and the monster got away.";
 			mes "Boy, mom was not happy...^000000";
 			mes "Boy, mom was not happy...^000000";
 			next;
 			next;
+			cutin "lhz_diguts03.bmp",2;
 			mes "[Digotz]";
 			mes "[Digotz]";
 			mes "Huh. I don't remember";
 			mes "Huh. I don't remember";
 			mes "that so well. But I know that";
 			mes "that so well. But I know that";
@@ -2191,6 +2201,7 @@ lhz_in02,201,210,5	script	Digotz	4_M_LGTMAN,{
 			mes "then. We must have been totally";
 			mes "then. We must have been totally";
 			mes "nuts to fight a monster, though.";
 			mes "nuts to fight a monster, though.";
 			next;
 			next;
+			cutin "",255;
 			mes "[Benkaistein's Journal]";
 			mes "[Benkaistein's Journal]";
 			mes "^856363Digotz's been sick for three";
 			mes "^856363Digotz's been sick for three";
 			mes "days now. It's just a normal";
 			mes "days now. It's just a normal";
@@ -2198,6 +2209,7 @@ lhz_in02,201,210,5	script	Digotz	4_M_LGTMAN,{
 			mes "it's Digotz's fault he got sick.^FFFFFF ^856363 But he's always asking me to";
 			mes "it's Digotz's fault he got sick.^FFFFFF ^856363 But he's always asking me to";
 			mes "go visit him and see if he's okay.^000000";
 			mes "go visit him and see if he's okay.^000000";
 			next;
 			next;
+			cutin "lhz_diguts01.bmp",2;
 			mes "[Digotz]";
 			mes "[Digotz]";
 			mes "I think I remember being";
 			mes "I think I remember being";
 			mes "pretty sick. Maku was worried?";
 			mes "pretty sick. Maku was worried?";
@@ -2206,6 +2218,7 @@ lhz_in02,201,210,5	script	Digotz	4_M_LGTMAN,{
 			mes "um, Gonorrhitis. You know.";
 			mes "um, Gonorrhitis. You know.";
 			mes "That might have been it.";
 			mes "That might have been it.";
 			next;
 			next;
+			cutin "",255;
 			mes "[Benkaistein's Journal]";
 			mes "[Benkaistein's Journal]";
 			mes "^856363Mom and dad keep telling";
 			mes "^856363Mom and dad keep telling";
 			mes "me not to hang out with Maku";
 			mes "me not to hang out with Maku";
@@ -2221,12 +2234,14 @@ lhz_in02,201,210,5	script	Digotz	4_M_LGTMAN,{
 			mes "But Digotz doesn't care.";
 			mes "But Digotz doesn't care.";
 			mes "I know he likes Maku a lot.^000000";
 			mes "I know he likes Maku a lot.^000000";
 			next;
 			next;
+			cutin "lhz_diguts07.bmp",2;
 			mes "[Digotz]";
 			mes "[Digotz]";
 			mes "Well, we were a lot";
 			mes "Well, we were a lot";
 			mes "younger and closer back";
 			mes "younger and closer back";
 			mes "then, so... ^333333*Ahem!*^000000 Why did";
 			mes "then, so... ^333333*Ahem!*^000000 Why did";
 			mes "Benkaistein even write that?!";
 			mes "Benkaistein even write that?!";
 			next;
 			next;
+			cutin "",255;
 			mes "[Benkaistein's Journal]";
 			mes "[Benkaistein's Journal]";
 			mes "^856363Today, the three of us";
 			mes "^856363Today, the three of us";
 			mes "made an oath of brotherhood,";
 			mes "made an oath of brotherhood,";
@@ -2235,6 +2250,7 @@ lhz_in02,201,210,5	script	Digotz	4_M_LGTMAN,{
 			mes "be friends no matter what.";
 			mes "be friends no matter what.";
 			mes "For always and for always.^000000";
 			mes "For always and for always.^000000";
 			next;
 			next;
+			cutin "lhz_diguts07.bmp",2;
 			mes "[Digotz]";
 			mes "[Digotz]";
 			mes "I... I was forced to make";
 			mes "I... I was forced to make";
 			mes "that oath! And people do";
 			mes "that oath! And people do";
@@ -2243,6 +2259,7 @@ lhz_in02,201,210,5	script	Digotz	4_M_LGTMAN,{
 			mes "it's not like that oath really";
 			mes "it's not like that oath really";
 			mes "means anything now, does it?";
 			mes "means anything now, does it?";
 			next;
 			next;
+			cutin "",255;
 			set friendship,13;
 			set friendship,13;
 			mes "[Digotz]";
 			mes "[Digotz]";
 			mes "That does it. I'm gonna";
 			mes "That does it. I'm gonna";
@@ -2260,9 +2277,10 @@ lhz_in02,201,210,5	script	Digotz	4_M_LGTMAN,{
 		mes "more like Maku, though,";
 		mes "more like Maku, though,";
 		mes "don't get me wrong, it's";
 		mes "don't get me wrong, it's";
 		mes "not like I care about the guy.";
 		mes "not like I care about the guy.";
-		close;
+		close3;
 	}
 	}
 	if (friendship == 7) {
 	if (friendship == 7) {
+		cutin "lhz_diguts03.bmp",2;
 		mes "[Digotz]";
 		mes "[Digotz]";
 		mes "Even if Benkaistein came";
 		mes "Even if Benkaistein came";
 		mes "back from wherever he was";
 		mes "back from wherever he was";
@@ -2270,9 +2288,10 @@ lhz_in02,201,210,5	script	Digotz	4_M_LGTMAN,{
 		mes "able to get Maku to apologize";
 		mes "able to get Maku to apologize";
 		mes "to me. That guy is just way";
 		mes "to me. That guy is just way";
 		mes "too stubborn for his own good!";
 		mes "too stubborn for his own good!";
-		close;
+		close3;
 	}
 	}
 	if (friendship == 6) {
 	if (friendship == 6) {
+		cutin "lhz_diguts01.bmp",2;
 		mes "[Digotz]";
 		mes "[Digotz]";
 		mes "Oh, it's been a while.";
 		mes "Oh, it's been a while.";
 		mes "What are you doing back";
 		mes "What are you doing back";
@@ -2288,6 +2307,7 @@ lhz_in02,201,210,5	script	Digotz	4_M_LGTMAN,{
 		mes "and has been threatening to";
 		mes "and has been threatening to";
 		mes "beat you up pretty badly.";
 		mes "beat you up pretty badly.";
 		next;
 		next;
+		cutin "lhz_diguts08.bmp",2;
 		mes "[Digotz]";
 		mes "[Digotz]";
 		mes "That no-good, dirty";
 		mes "That no-good, dirty";
 		mes "lying rotten scoundrel!";
 		mes "lying rotten scoundrel!";
@@ -2296,6 +2316,7 @@ lhz_in02,201,210,5	script	Digotz	4_M_LGTMAN,{
 		mes "the ghetto and beat Maku";
 		mes "the ghetto and beat Maku";
 		mes "up myself! That stupid guy!";
 		mes "up myself! That stupid guy!";
 		next;
 		next;
+		cutin "lhz_diguts03.bmp",2;
 		mes "[Digotz]";
 		mes "[Digotz]";
 		mes "During times like this,";
 		mes "During times like this,";
 		mes "I really miss ^FF0000Benkaistein^000000.";
 		mes "I really miss ^FF0000Benkaistein^000000.";
@@ -2322,6 +2343,7 @@ lhz_in02,201,210,5	script	Digotz	4_M_LGTMAN,{
 		set friendship,7;
 		set friendship,7;
 		changequest 12002,12003;
 		changequest 12002,12003;
 		next;
 		next;
+		cutin "",255;
 		mes "[Digotz]";
 		mes "[Digotz]";
 		mes "I don't know why,";
 		mes "I don't know why,";
 		mes "but I'm so angry!";
 		mes "but I'm so angry!";
@@ -2329,7 +2351,8 @@ lhz_in02,201,210,5	script	Digotz	4_M_LGTMAN,{
 		mes "out so much over this?!";
 		mes "out so much over this?!";
 		close;
 		close;
 	}
 	}
-	if ((friendship == 4 || friendship == 5)) {
+	if (friendship == 4 || friendship == 5) {
+		cutin "lhz_diguts01.bmp",2;
 		mes "[Digotz]";
 		mes "[Digotz]";
 		mes "Still checking out";
 		mes "Still checking out";
 		mes "Uptown Lighthalzen?";
 		mes "Uptown Lighthalzen?";
@@ -2345,9 +2368,10 @@ lhz_in02,201,210,5	script	Digotz	4_M_LGTMAN,{
 		mes "^FF0000Not to mention an apology!";
 		mes "^FF0000Not to mention an apology!";
 		mes "^FF0000But who cares what you think?!";
 		mes "^FF0000But who cares what you think?!";
 		mes "I'm so goddamn happy without you!^000000";
 		mes "I'm so goddamn happy without you!^000000";
-		close;
+		close3;
 	}
 	}
 	if (friendship == 3) {
 	if (friendship == 3) {
+		cutin "lhz_diguts01.bmp",2;
 		mes "[Digotz]";
 		mes "[Digotz]";
 		mes "I know that the";
 		mes "I know that the";
 		mes "opulence of Uptown";
 		mes "opulence of Uptown";
@@ -2369,7 +2393,9 @@ lhz_in02,201,210,5	script	Digotz	4_M_LGTMAN,{
 		mes "says, unless it's an apology";
 		mes "says, unless it's an apology";
 		mes "for being a fully blown jerk.";
 		mes "for being a fully blown jerk.";
 		mes "Ever since we were kids...";
 		mes "Ever since we were kids...";
+		cutin "",255;
 		next;
 		next;
+		cutin "lhz_diguts08.bmp",2;
 		mes "[Digotz]";
 		mes "[Digotz]";
 		mes "Anyway, we used to be close,";
 		mes "Anyway, we used to be close,";
 		mes "but that guy was never a true";
 		mes "but that guy was never a true";
@@ -2386,6 +2412,7 @@ lhz_in02,201,210,5	script	Digotz	4_M_LGTMAN,{
 		mes "on the worst blind dates a";
 		mes "on the worst blind dates a";
 		mes "man can possibly experience!";
 		mes "man can possibly experience!";
 		next;
 		next;
+		cutin "lhz_diguts01.bmp",2;
 		mes "[Digotz]";
 		mes "[Digotz]";
 		mes "Maku doesn't know a damn";
 		mes "Maku doesn't know a damn";
 		mes "about friendship! Even if I did";
 		mes "about friendship! Even if I did";
@@ -2401,6 +2428,7 @@ lhz_in02,201,210,5	script	Digotz	4_M_LGTMAN,{
 		mes "and check up on him! I only";
 		mes "and check up on him! I only";
 		mes "have one regret though...";
 		mes "have one regret though...";
 		next;
 		next;
+		cutin "lhz_diguts07.bmp",2;
 		mes "[Digotz]";
 		mes "[Digotz]";
 		mes "I only wish I had one";
 		mes "I only wish I had one";
 		mes "last chance to see Maku...";
 		mes "last chance to see Maku...";
@@ -2432,9 +2460,10 @@ lhz_in02,201,210,5	script	Digotz	4_M_LGTMAN,{
 		mes "^FF0000But who cares what you think?!";
 		mes "^FF0000But who cares what you think?!";
 		mes "I'm so goddamn happy without you!^000000";
 		mes "I'm so goddamn happy without you!^000000";
 		set friendship,4;
 		set friendship,4;
-		close;
+		close3;
 	}
 	}
 	if (friendship == 2) {
 	if (friendship == 2) {
+		cutin "lhz_diguts01.bmp",2;
 		mes "[Digotz]";
 		mes "[Digotz]";
 		mes "What are you still";
 		mes "What are you still";
 		mes "doing hanging around";
 		mes "doing hanging around";
@@ -2447,9 +2476,10 @@ lhz_in02,201,210,5	script	Digotz	4_M_LGTMAN,{
 		mes "Just hearing about";
 		mes "Just hearing about";
 		mes "Maku makes me so feel";
 		mes "Maku makes me so feel";
 		mes "so upset for some reason!";
 		mes "so upset for some reason!";
-		close;
+		close3;
 	}
 	}
 	if (friendship == 1) {
 	if (friendship == 1) {
+		cutin "lhz_diguts02.bmp",2;
 		mes "[Digotz]";
 		mes "[Digotz]";
 		mes "Oh, an adventurer?";
 		mes "Oh, an adventurer?";
 		mes "Welcome to Uptown";
 		mes "Welcome to Uptown";
@@ -2466,6 +2496,7 @@ lhz_in02,201,210,5	script	Digotz	4_M_LGTMAN,{
 		mes "your stay in my hometown.";
 		mes "your stay in my hometown.";
 		next;
 		next;
 		select("Do you know someone named Maku?");
 		select("Do you know someone named Maku?");
+		cutin "lhz_diguts01.bmp",2;
 		mes "[Digotz]";
 		mes "[Digotz]";
 		mes "Maku? Maku. Yes, he's my";
 		mes "Maku? Maku. Yes, he's my";
 		mes "childhood friend. Or he was,";
 		mes "childhood friend. Or he was,";
@@ -2483,8 +2514,9 @@ lhz_in02,201,210,5	script	Digotz	4_M_LGTMAN,{
 		mes "Just forget everything I said.";
 		mes "Just forget everything I said.";
 		set friendship,2;
 		set friendship,2;
 		changequest 12000,12001;
 		changequest 12000,12001;
-		close;
+		close3;
 	}
 	}
+	cutin "lhz_diguts02.bmp",2;
 	mes "[Digotz]";
 	mes "[Digotz]";
 	mes "Oh, an adventurer?";
 	mes "Oh, an adventurer?";
 	mes "Welcome to Uptown";
 	mes "Welcome to Uptown";
@@ -2500,7 +2532,7 @@ lhz_in02,201,210,5	script	Digotz	4_M_LGTMAN,{
 	mes "glad to see somebody";
 	mes "glad to see somebody";
 	mes "aside from the stuck up";
 	mes "aside from the stuck up";
 	mes "rich people who live here.";
 	mes "rich people who live here.";
-	close;
+	close3;
 }
 }
 
 
 lighthalzen,337,232,3	script	Maku	4_M_LGTPOOR,{
 lighthalzen,337,232,3	script	Maku	4_M_LGTPOOR,{
@@ -3021,6 +3053,7 @@ yuno_in04,96,106,5	script	Passionate Student	4_M_SAGE_A,{
 		close;
 		close;
 	}
 	}
 	if (friendship == 15) {
 	if (friendship == 15) {
+		cutin "lhz_benkaistin01.bmp",2;
 		mes "[Benkaistein]";
 		mes "[Benkaistein]";
 		mes "Were you able to bring";
 		mes "Were you able to bring";
 		mes "my journal to Digotz and";
 		mes "my journal to Digotz and";
@@ -3062,9 +3095,9 @@ yuno_in04,96,106,5	script	Passionate Student	4_M_SAGE_A,{
 		mes "adventurer. When the three";
 		mes "adventurer. When the three";
 		mes "of us get together, I'll be";
 		mes "of us get together, I'll be";
 		mes "sure to let you know~";
 		mes "sure to let you know~";
-		close;
+		close3;
 	}
 	}
-	if ((friendship == 11 && countitem(7351) > 0)) {
+	if (friendship == 11 && countitem(7351) > 0) {
 		mes "[Benkaistein]";
 		mes "[Benkaistein]";
 		mes "Aw nuts, this is";
 		mes "Aw nuts, this is";
 		mes "taking much longer";
 		mes "taking much longer";
@@ -3072,6 +3105,7 @@ yuno_in04,96,106,5	script	Passionate Student	4_M_SAGE_A,{
 		mes "Now where did I put";
 		mes "Now where did I put";
 		mes "that thing? Hmmmm...";
 		mes "that thing? Hmmmm...";
 		next;
 		next;
+		cutin "lhz_benkaistin02.bmp",2;
 		mes "[Benkaistein]";
 		mes "[Benkaistein]";
 		mes "Oh, is that it?";
 		mes "Oh, is that it?";
 		mes "Did you find my";
 		mes "Did you find my";
@@ -3080,6 +3114,7 @@ yuno_in04,96,106,5	script	Passionate Student	4_M_SAGE_A,{
 		mes "This is it! Thank you";
 		mes "This is it! Thank you";
 		mes "for finding this for me!";
 		mes "for finding this for me!";
 		next;
 		next;
+		cutin "",255;
 		mes "[Benkaistein]";
 		mes "[Benkaistein]";
 		mes "Would you mind doing";
 		mes "Would you mind doing";
 		mes "a favor for me? It'd be";
 		mes "a favor for me? It'd be";
@@ -3097,6 +3132,7 @@ yuno_in04,96,106,5	script	Passionate Student	4_M_SAGE_A,{
 		next;
 		next;
 		set friendship,12;
 		set friendship,12;
 		changequest 12004,12005;
 		changequest 12004,12005;
+		cutin "lhz_benkaistin04.bmp",2;
 		mes "[Benkaistein]";
 		mes "[Benkaistein]";
 		mes "Anyway, this should at";
 		mes "Anyway, this should at";
 		mes "least help them realize";
 		mes "least help them realize";
@@ -3104,9 +3140,9 @@ yuno_in04,96,106,5	script	Passionate Student	4_M_SAGE_A,{
 		mes "acting. Thanks in advance,";
 		mes "acting. Thanks in advance,";
 		mes "and please take care of";
 		mes "and please take care of";
 		mes "Maku and Digotz for me.";
 		mes "Maku and Digotz for me.";
-		close;
+		close3;
 	}
 	}
-	if ((friendship == 10 || friendship == 11)) {
+	if (friendship == 10 || friendship == 11) {
 		mes "[Benkaistein]";
 		mes "[Benkaistein]";
 		mes "Aw nuts, this is";
 		mes "Aw nuts, this is";
 		mes "taking much longer";
 		mes "taking much longer";
@@ -3121,6 +3157,7 @@ yuno_in04,96,106,5	script	Passionate Student	4_M_SAGE_A,{
 		close;
 		close;
 	}
 	}
 	if (friendship == 9) {
 	if (friendship == 9) {
+		cutin "lhz_benkaistin03.bmp",2;
 		mes "[Passionate Student]";
 		mes "[Passionate Student]";
 		mes "Oh, you startled me!";
 		mes "Oh, you startled me!";
 		mes "Still, I'm aware that it's";
 		mes "Still, I'm aware that it's";
@@ -3130,6 +3167,7 @@ yuno_in04,96,106,5	script	Passionate Student	4_M_SAGE_A,{
 		mes "I help you, adventurer?";
 		mes "I help you, adventurer?";
 		next;
 		next;
 		select("Tell him about Maku and Digotz.");
 		select("Tell him about Maku and Digotz.");
+		cutin "lhz_benkaistin02.bmp",2;
 		mes "[Benkaistein]";
 		mes "[Benkaistein]";
 		mes "Oh, how are my friends";
 		mes "Oh, how are my friends";
 		mes "doing? Oh, what? They're";
 		mes "doing? Oh, what? They're";
@@ -3154,9 +3192,10 @@ yuno_in04,96,106,5	script	Passionate Student	4_M_SAGE_A,{
 		mes "so important? Wait! Would you";
 		mes "so important? Wait! Would you";
 		mes "please wait a second while";
 		mes "please wait a second while";
 		mes "I look for something?";
 		mes "I look for something?";
-		close;
+		close3;
 	}
 	}
 	if (friendship == 8) {
 	if (friendship == 8) {
+		cutin "lhz_benkaistin04.bmp",2;
 		mes "[Passionate Student]";
 		mes "[Passionate Student]";
 		mes "Let's see, now.";
 		mes "Let's see, now.";
 		mes "Wind Magic, Black Magic,";
 		mes "Wind Magic, Black Magic,";
@@ -3203,7 +3242,9 @@ yuno_in04,96,106,5	script	Passionate Student	4_M_SAGE_A,{
 		mes "["+ strcharinfo(0) +"]";
 		mes "["+ strcharinfo(0) +"]";
 		mes "HEY YOU...!";
 		mes "HEY YOU...!";
 		mes "BENKAISTEIN~!";
 		mes "BENKAISTEIN~!";
+		cutin "",255;
 		next;
 		next;
+		cutin "lhz_benkaistin02.bmp",2;
 		mes "[Passionate Student]";
 		mes "[Passionate Student]";
 		mes "Oh, good heavens!";
 		mes "Oh, good heavens!";
 		mes "C-can't you keep";
 		mes "C-can't you keep";
@@ -3212,7 +3253,7 @@ yuno_in04,96,106,5	script	Passionate Student	4_M_SAGE_A,{
 		mes "No, wait. Have you been";
 		mes "No, wait. Have you been";
 		mes "calling me all this time?";
 		mes "calling me all this time?";
 		set friendship,9;
 		set friendship,9;
-		close;
+		close3;
 	}
 	}
 	mes "[Passionate Student]";
 	mes "[Passionate Student]";
 	mes "Let's see, now.";
 	mes "Let's see, now.";

+ 10 - 14
npc/quests/quests_morocc.txt

@@ -948,13 +948,11 @@ moc_fild20,354,183,3	script	Continental Guard#01::MocConGuard	707,3,3,{
 			close;
 			close;
 		case 2:
 		case 2:
 			if ($@re_moc < 3) {
 			if ($@re_moc < 3) {
-				getpartymember(getcharid(1));
-				set .@partymembercount,$@partymembercount;
-				copyarray .@partymembername$[0],$@partymembername$[0],.@partymembercount;
-				for(.@i = 0; .@i < .@partymembercount; .@i++) {
-					if (isloggedin(getcharid(3,.@partymembername$[.@i]))) {
-						set .@onlinemembers,.@onlinemembers + 1;
-					}
+				getpartymember getcharid(1), 1, .@partymembercid;
+				.@partymembercount = $@partymembercount;
+				for (.@i = 0; .@i < .@partymembercount; .@i++) {
+					if (convertpcinfo(.@partymembercid[.@i], CPC_ACCOUNT))
+						.@onlinemembers++;
 				}
 				}
 				if ((.@onlinemembers > 1) && (countitem(7826) > 0)) {
 				if ((.@onlinemembers > 1) && (countitem(7826) > 0)) {
 					mes "[Continental Guard]";
 					mes "[Continental Guard]";
@@ -1009,13 +1007,11 @@ moc_fild20,354,183,3	script	Continental Guard#01::MocConGuard	707,3,3,{
 		mes "[Continental Guard]";
 		mes "[Continental Guard]";
 		mes "Ah, you're an adventurer working for the Continental Guard. Nice to meet you. Feel free to ask me if you need my assistance.";
 		mes "Ah, you're an adventurer working for the Continental Guard. Nice to meet you. Feel free to ask me if you need my assistance.";
 		next;
 		next;
-		getpartymember(getcharid(1));
-		set .@partymembercount,$@partymembercount;
-		copyarray .@partymembername$[0],$@partymembername$[0],.@partymembercount;
-		for(.@i = 0; .@i < .@partymembercount; .@i++) {
-			if (isloggedin(getcharid(3,.@partymembername$[.@i]))) {
-				set .@onlinemembers,.@onlinemembers + 1;
-			}
+		getpartymember getcharid(1), 1, .@partymembercid;
+		.@partymembercount = $@partymembercount;
+		for (.@i = 0; .@i < .@partymembercount; .@i++) {
+			if (convertpcinfo(.@partymembercid[.@i], CPC_ACCOUNT))
+				.@onlinemembers++;
 		}
 		}
 		switch(select("Enter the First Field to Investigate:Enter the Second Field to Investigate:Return to Morocc's Accident Site:Cancel Conversation")) {
 		switch(select("Enter the First Field to Investigate:Enter the Second Field to Investigate:Return to Morocc's Accident Site:Cancel Conversation")) {
 		case 1:
 		case 1:

+ 1 - 1
npc/quests/quests_niflheim.txt

@@ -249,7 +249,7 @@ OnTouch_:
 	end;
 	end;
 }
 }
 
 
-nif_in,118,151,0	script	#Piano3	111,1,1,{
+-	script	Piano3	HIDDEN_NPC,{
 	end;
 	end;
 
 
 OnTouch_:
 OnTouch_:

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

@@ -1057,7 +1057,7 @@ lasagna,224,126,5	script	Healer Haru#doram07t	4_DR_M_02,{
 			setquest 7722;// EMT
 			setquest 7722;// EMT
 			completequest 7722;// EMT
 			completequest 7722;// EMT
 		}
 		}
-		skill "NV_FIRSTAID",1,SKILL_PERM;
+		skill "NV_FIRSTAID",1,SKILL_PERM_GRANT;
 		next;
 		next;
 		mes "[Healer Haru]";
 		mes "[Healer Haru]";
 		mes "Well, then. I'll let you in on something juicy while I'm at it.";
 		mes "Well, then. I'll let you in on something juicy while I'm at it.";

+ 1 - 1
npc/re/instances/MalangdoCulvert.txt

@@ -377,7 +377,7 @@ mal_in01,160,34,4	script	Missing, the Cleaner	545,{
 		set in_canal_n,1;
 		set in_canal_n,1;
 		close;
 		close;
 	}
 	}
-	if (countitem(6436) == 0) {
+	if (rentalcountitem(6436) == 0) {
 		mes "[Missing, the Cleaner]";
 		mes "[Missing, the Cleaner]";
 		mes "You don't look like you have Seagod Protection. I can't open door at the moment!";
 		mes "You don't look like you have Seagod Protection. I can't open door at the moment!";
 		close;
 		close;

+ 1 - 0
npc/re/instances/NightmarishJitterbug.txt

@@ -1419,6 +1419,7 @@ OnTouch_:
 		break;
 		break;
 	case 3:
 	case 3:
 		jitterbug_options |= 1;
 		jitterbug_options |= 1;
+		areamonster 'map_jtb$,351,131,389,96, "--ja--", 3108,1;	// no label
 		unittalk getcharid(3), "" + strcharinfo(0) + " : I like your Red Potion (feat. Muka).";
 		unittalk getcharid(3), "" + strcharinfo(0) + " : I like your Red Potion (feat. Muka).";
 		mes "[Newoz]";
 		mes "[Newoz]";
 		mes "Hah hah, this is embarassing, but thank you.";
 		mes "Hah hah, this is embarassing, but thank you.";

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

@@ -83,7 +83,7 @@ mal_dun01,151,235,5	script	Starfish	551,{
 				close;
 				close;
 			}
 			}
 			if (.@playtime == 2) erasequest 4197;
 			if (.@playtime == 2) erasequest 4197;
-			if (countitem(6442)) {
+			if (rentalcountitem(6442)) {
 				if (instance_create(.@md_name$) < 0) {
 				if (instance_create(.@md_name$) < 0) {
 					mes "[Starfish]";
 					mes "[Starfish]";
 					mes "Party name is... "+getpartyname(.@party_id)+".";
 					mes "Party name is... "+getpartyname(.@party_id)+".";
@@ -118,7 +118,7 @@ mal_dun01,153,237,5	script	Weird Entrance	844,{
 	next;
 	next;
 	switch(select("Go in.:Stop.")) {
 	switch(select("Go in.:Stop.")) {
 	case 1:
 	case 1:
-		if (countitem(6442)) {
+		if (rentalcountitem(6442)) {
 			switch(instance_enter("Octopus Cave")) {
 			switch(instance_enter("Octopus Cave")) {
 			case IE_OTHER:
 			case IE_OTHER:
 				mes "[Starfish]";
 				mes "[Starfish]";

+ 13 - 7
npc/re/instances/SarahAndFenrir.txt

@@ -666,8 +666,10 @@ OnTimer15500:
 1@glast,199,237,0	script	#glast_move_03	WARPNPC,2,2,{
 1@glast,199,237,0	script	#glast_move_03	WARPNPC,2,2,{
 	end;
 	end;
 OnTouch:
 OnTouch:
-	if (is_party_leader() == true)
-		warpparty 'map_glast$,197,263, getcharid(1), 'map_glast$,1,1;
+	if (is_party_leader() == true) {
+		// warpparty 'map_glast$,197,263, getcharid(1), 'map_glast$,1,1;	// using mapwarp for now
+		mapwarp 'map_glast$,'map_glast$,197,263;
+	}
 	end;
 	end;
 }
 }
 
 
@@ -675,8 +677,10 @@ OnTouch:
 1@glast,199,294,0	script	#glast_move_03a	WARPNPC,3,3,{
 1@glast,199,294,0	script	#glast_move_03a	WARPNPC,3,3,{
 	end;
 	end;
 OnTouch:
 OnTouch:
-	if (is_party_leader() == true)
-		warpparty 'map_glast$,188,334, getcharid(1), 'map_glast$,1,1;
+	if (is_party_leader() == true) {
+		// warpparty 'map_glast$,188,334, getcharid(1), 'map_glast$,1,1;
+		mapwarp 'map_glast$,'map_glast$,188,334;
+	}
 	end;
 	end;
 }
 }
 
 
@@ -694,7 +698,8 @@ OnTouch:
 OnTouch:
 OnTouch:
 	if (is_party_leader() == true) {
 	if (is_party_leader() == true) {
 		donpcevent instance_npcname("#sarah_wrath") + "::OnStop";
 		donpcevent instance_npcname("#sarah_wrath") + "::OnStop";
-		warpparty 'map_glast$,349,282, getcharid(1), 'map_glast$,1,1;
+		// warpparty 'map_glast$,349,282, getcharid(1), 'map_glast$,1,1;
+		mapwarp 'map_glast$,'map_glast$,349,282;
 	}
 	}
 	end;
 	end;
 }
 }
@@ -763,12 +768,13 @@ OnTouch:
 		npctalk "Fenrith Fenrir: We don't have much time! We have to go search for it now! Let's go in!", 'fenrir_3$;
 		npctalk "Fenrith Fenrir: We don't have much time! We have to go search for it now! Let's go in!", 'fenrir_3$;
 		sleep2 2000;
 		sleep2 2000;
 		setpcblock PCBLOCK_NPC, false;
 		setpcblock PCBLOCK_NPC, false;
-		if ('skip_left_part == 0) {// 5 mins have passed?
+		if ('skip_left_part == 0 && is_party_leader() == true) {// 5 mins have passed?
 			donpcevent instance_npcname("#fenrir_left_final_2") + "::OnStop";
 			donpcevent instance_npcname("#fenrir_left_final_2") + "::OnStop";
 			disablenpc 'fenrir_3$;
 			disablenpc 'fenrir_3$;
 			enablenpc 'fenrir_4$;
 			enablenpc 'fenrir_4$;
 			enablenpc instance_npcname("#glast_event_9");
 			enablenpc instance_npcname("#glast_event_9");
-			warpparty 'map_glast$,41,348, getcharid(1), 'map_glast$,1,1;
+			// warpparty 'map_glast$,41,348, getcharid(1), 'map_glast$,1,1;
+			mapwarp 'map_glast$,'map_glast$,41,348;
 		}
 		}
 	}
 	}
 	end;
 	end;

+ 257 - 0
npc/re/merchants/OldGlastHeim_merchants.txt

@@ -339,3 +339,260 @@ S_Slot:
 	}
 	}
 	close;
 	close;
 }
 }
+
+// Temporal shoes slotted - npc enchant
+glast_01,184,283,4	script	Dark magic master#pa082	1_F_01,{
+	disable_items;
+	if ((MaxWeight - Weight) < 1000) {
+		mes "Your bag is too heavy. Reduce some weight and come back.";
+		close;
+	}
+	if (checkweight(1201,1) == 0) {
+		mes "You seem to be carrying too many items. Put some items in storage and come back again.";
+		close;
+	}
+	// requirements
+	.@coagulated_id = 6608;// Coagulated_Spell
+	.@polluted_id = 6755;// Polluted_Spell
+	.@cost_zeny = 100000;
+
+	mes "[Dark magic master]";
+	mes "I deal with the Temporal Boots with socket only.";
+	next;
+	if (select( "How does the enchanting work?", "Give effect to my Temporal Boots" ) == 1) {
+		mes "[Dark magic master]";
+		mes "You should ask Hugin's magic master all the basic things. I want deeper conversation about enchating work.";
+		next;
+		mes "[Dark magic master]";
+		mes "I need 4 items. ^0000ff" + callfunc("F_InsertComma",.@cost_zeny) + ", " + getitemname(.@polluted_id) + ", " + getitemname(.@coagulated_id) + ", Temporal Boots(Socket) Series^000000. If you don't have any of these, I cannot help you.";
+		next;
+		mes "[Dark magic master]";
+		mes "It's my small hobby.. To enchant Socketed Temporal Boots using polluted and coagulated spell.";
+		next;
+		mes "[Dark magic master]";
+		mes "Of course, you must cope with bigger risk of destruction whenever you'd like to enchant again and again.";
+		next;
+		mes "[Dark magic master]";
+		mes "The enchant order is same as Hugin's magic master's enchantment. Please refer to his explanation.";
+		close;
+	}
+	.@equip_id = getequipid(EQI_SHOES);
+
+	switch(.@equip_id) {
+	case 22006:	// Temporal_Str_Boots_
+	case 22007:	// Temporal_Vit_Boots_
+	case 22008:	// Temporal_Dex_Boots_
+	case 22009:	// Temporal_Int_Boots_
+	case 22010:	// Temporal_Agi_Boots_
+	case 22011:	// Temporal_Luk_Boots_
+	case 22113:	// Modified_Str_Boots_
+	case 22114:	// Modified_Int_Boots_
+	case 22115:	// Modified_Agi_Boots_
+	case 22116:	// Modified_Vit_Boots_
+	case 22117:	// Modified_Dex_Boots_
+	case 22118:	// Modified_Luk_Boots_
+		break;
+	case -1:
+		mes "[Dark magic master]";
+		mes "Are you wearing the item?";
+		close;
+	default:
+		mes "[Dark magic master]";
+		mes "This is not the right item for this enchant. Remember, only those 6 types of Temporal Boots with socket are available for hidden enchanting..";
+		close;
+	}
+	// enchants ID
+	setarray .@enchant_1[0],4808,4832,4814,4741,4869,4752;// Fighting_Spirit4	Expert_Archer1	Spell2	Vitality2	DelayafterAttack1Lv	Luck3
+	setarray .@enchant_2[0],4820,4833,4813,4742,4872,4753;// Fighting_Spirit5	Expert_Archer2	Spell3	Vitality3	DelayafterAttack2Lv	Luck4
+	setarray .@enchant_3[0],4821,4834,4812,4861,4873,4754;// Fighting_Spirit6	Expert_Archer3	Spell4	MHP1		DelayafterAttack3Lv	Luck5
+	setarray .@enchant_4[0],4822,4835,4826,4862,4881,4755;// Fighting_Spirit7	Expert_Archer4	Spell5	MHP2		DelayafterAttack4Lv	Luck6
+
+	// requirements amount
+	setarray .@en_amount_coag[0],3,10,20,40,50;
+	setarray .@en_amount_polluted[0],1,2,4,7,10;
+
+	// (custom) chances of success (official value unknown)
+	setarray .@chances[0],100,70,70,70,70;
+
+	// data of item equipped
+	.@equip_name$ = getequipname(EQI_SHOES);
+	setarray .@card[0],
+		getequipcardid(EQI_SHOES,0),
+		getequipcardid(EQI_SHOES,1),
+		getequipcardid(EQI_SHOES,2),
+		getequipcardid(EQI_SHOES,3);
+	copyarray .@equip_card[0], .@card[0], 4;
+	.@equip_refine = getequiprefinerycnt(EQI_SHOES);
+
+	if (.@card[2] > 0) {
+		mes "[Dark magic master]";
+		mes "These boots have already passed the enchanting limit. We can't enchant them any more.";
+		close;
+	}
+	if (.@card[3] == 0) {// 4th slot 1st try enchanting
+		.@amount_coag = .@en_amount_coag[0];
+		.@amount_poll = .@en_amount_polluted[0];
+
+		mes "[Dark magic master]";
+		mes "Want to enchant ^0000ff" + .@equip_name$ + " (Socket)^000000? For the 1st enchanting, you need ^0000ff" + .@amount_poll + " " + getitemname(.@polluted_id) + ", " + .@amount_coag + " " + getitemname(.@coagulated_id) + ", and " + callfunc("F_InsertComma",.@cost_zeny) + " zeny^000000.";
+		mes "It has some risk of failing..";
+		next;
+		.@s = select( "Quit", "Fighting Spirit", "Archery", "Spell", "Vitality", "Attack Speed", "Lucky" ) - 2;
+		if (.@s == -1) {
+			mes "[Dark magic master]";
+			mes "Ok, come back when you are ready.";
+			close;
+		}
+		.@card[3] = .@enchant_1[.@s];
+		.@string$ = "enchant number ^6300001^000000.";
+		.@num = 0;
+	}
+	else {
+		for ( .@num = 1; .@num < 5; .@num++ ) {
+			for ( .@type = 0; .@type < 6 && .@card[3] != getd( ".@enchant_" + .@num + "[" + .@type + "]" ); .@type++ )
+				continue;
+			if (.@type < 6)
+				break;
+		}
+		if (.@num == 5) {
+			mes "[Dark magic master]";
+			mes "Something wrong happened.";
+			close;
+		}
+		.@amount_coag = .@en_amount_coag[.@num];
+		.@amount_poll = .@en_amount_polluted[.@num];
+
+		mes "[Dark magic master]";
+		if (.@num == 4) {
+			.@card[2] = callfunc("F_Rand",4875,4876,4877,4878,4879,4880);// Bear's_Power, Runaway_Magic, Speed_Of_Light, Muscle_Fool, Hawkeye, Lucky_Day
+			.@string$ = "^990000 Bonus effect ^000000 upgrade.";
+			mes "Would you like a random bonus effect for the 3rd slot? You need ^0000ff" + .@amount_poll + " " + getitemname(.@polluted_id) + ", " + .@amount_coag + " " + getitemname(.@coagulated_id) + ", and " + callfunc("F_InsertComma",.@cost_zeny) + " zeny^000000. But it has high risk of failing..";
+		}
+		else {
+			.@level = .@num + 1;
+			.@card[3] = getd( ".@enchant_" + (.@num+1) + "[" + .@type + "]" );
+			.@string$ = "enchant number ^990000" + .@level + "^000000.";
+			mes "Enchanting ^0000ff" + .@equip_name$ + " (Socket)^000000's 4th slot as ^0000ff" + .@level + "^000000 level effect. Requires ^0000ff" + .@amount_poll + " " + getitemname(.@polluted_id) + ", " + .@amount_coag + " " + getitemname(.@coagulated_id) + ", and " + callfunc("F_InsertComma",.@cost_zeny) + " z^000000. It has some risk of failing..";
+		}
+		next;
+		if (select( "Quit", "Effect Upgrade!" ) == 1) {
+			mes "[Dark magic master]";
+			mes "Ok, come back when you are ready.";
+			close;
+		}
+	}
+	if (countitem(.@coagulated_id) < .@amount_coag) {
+		mes "[Dark magic master]";
+		mes "Hmm, you are missing " + (.@amount_coag - countitem(.@coagulated_id)) + " " + getitemname(.@coagulated_id) + " items. Go get more, and then we can talk about more enchants.";
+		close;
+	}
+	if (countitem(.@polluted_id) < .@amount_poll) {
+		mes "[Dark magic master]";
+		mes "Hmm, you are missing " + (.@amount_poll - countitem(.@polluted_id)) + " " + getitemname(.@polluted_id) + " items. Go get more, and then we can talk about more enchants.";
+		close;
+	}
+	if (Zeny < .@cost_zeny) {
+		mes "[Dark magic master]";
+		mes "You must bring ^0000ff" + callfunc("F_InsertComma",.@cost_zeny) + " zeny^000000. Nothing is free you know...";
+		close;
+	}
+	delitem .@coagulated_id, .@amount_coag;
+	delitem .@polluted_id, .@amount_poll;
+	Zeny -= .@cost_zeny;
+
+	// anti-hack
+	if (callfunc("F_IsEquipIDHack", EQI_SHOES, .@equip_id) || callfunc("F_IsEquipCardHack", EQI_SHOES, .@equip_card[0], .@equip_card[1], .@equip_card[2], .@equip_card[3]) || callfunc("F_IsEquipRefineHack", EQI_SHOES, .@equip_refine))
+		close;
+
+	delequip EQI_SHOES;
+	if (.@chances[.@num] < rand(1,100)) {
+		specialeffect2 EF_LORD;
+		mes "[Dark magic master]";
+		mes "Arrggg, we failed. Better luck next time.";
+		close;
+	}
+	specialeffect2 EF_REPAIRWEAPON;
+	mes "[Hugin's Magician]";
+	mes "Trying for " + .@string$;
+	getitem2 .@equip_id,1,1,.@equip_refine,0,0,0,.@card[2],.@card[3];
+	close;
+}
+
+// Items exchange for card
+glast_01,216,292,5	script	Portrait collector#0002	4_M_OILMAN,{
+	disable_items;
+	if ((MaxWeight - Weight) < 1000) {
+		mes "Your bag is too heavy. Reduce some weight and come back.";
+		close;
+	}
+	if (checkweight(1201,1) == 0) {
+		mes "You seem to be carrying too many items. Put some items in storage and come back again.";
+		close;
+	}
+	.@coagulated_id = 6608;		// Coagulated_Spell
+	.@polluted_id = 6755;		// Polluted_Spell
+	.@white_card = 4608;		// White_Knightage_Card
+	.@khalitzburg_card = 4609;	// Khaliz_Knightage_Card
+
+	mes "[Portrait collector]";
+	mes "I have been collecting portraits for an year already. Now it's time to show people my collection.";
+	next;
+	mes "[Portrait collector]";
+	mes "Hey, do you have a lot of " + getitemname(.@polluted_id) + " or " + getitemname(.@coagulated_id) + "? If so, why don't you trade a nice portrait that I have?";
+	next;
+	switch( select( "Cancel", "Exchange for " + getitemname(.@white_card), "Exchange for " + getitemname(.@khalitzburg_card) ) ) {
+	case 1:
+		mes "[Portrait collector]";
+		mes "Well, OK. Come back when you are ready.";
+		close;
+	case 2:
+		.@reward_id = .@white_card;
+		.@amount_coag = 3000;
+		.@amount_polluted = 70;
+		break;
+	case 3:
+		.@reward_id = .@khalitzburg_card;
+		.@amount_coag = 5000;
+		.@amount_polluted = 100;
+		break;
+	}
+	mes "[Portrait collector]";
+	mes "What would you like in exchange for the " + getitemname(.@reward_id) + "?";
+	next;
+	if (countitem(.@coagulated_id) < .@amount_coag)
+		.@color$[0] = "^666666";
+	if (countitem(.@polluted_id) < .@amount_polluted)
+		.@color$[1] = "^666666";
+	switch( select( "Cancel", sprintf("%s%s %s^000000", .@color$[0], callfunc("F_InsertComma",.@amount_coag), getitemname(.@coagulated_id)), sprintf("%s%s %s^000000", .@color$[1], callfunc("F_InsertComma",.@amount_polluted), getitemname(.@polluted_id)) ) ) {
+	case 1:
+		mes "[Portrait collector]";
+		mes "Well, OK. Come back when you are ready.";
+		close;
+	case 2:
+		.@id = .@coagulated_id;
+		.@amount = .@amount_coag;
+		break;
+	case 3:
+		.@id = .@polluted_id;
+		.@amount = .@amount_polluted;
+		break;
+	}
+	if (countitem(.@id) < .@amount) {
+		mes "[Portrait collector]";
+		mes "Hmm, you don't have enough Spell now. Go get more.";
+		close;
+	}
+	mes "[Portrait collector]";
+	mes "Are you sure that you won't regret it?";
+	next;
+	if (select( "Cancel", "Sure" ) == 1) {
+		mes "[Portrait collector]";
+		mes "Well, OK. Come back when you are ready.";
+		close;
+	}
+	mes "[Portrait collector]";
+	mes "Cool, let's make a deal.";
+	delitem .@id, .@amount;
+	getitem .@reward_id,1;
+	close;
+}

+ 1431 - 0
npc/re/merchants/malangdo_costume.txt

@@ -0,0 +1,1431 @@
+//===== rAthena Script =======================================
+//= Costumes NPCs.
+//===== Description: =========================================
+//= [Official Conversion]
+//= Costumes exchange/enchant NPCs in Malangdo.
+//= The database of the following box are left empty 
+//= until high items ID are supported:
+//=   Enchant_Stone_Box19
+//=   Enchant_Stone_Box20
+//=   Enchant_Stone_Box21
+//===== Changelogs: ==========================================
+//= 1.0 First version. [Capuche]
+//============================================================
+
+// Costume exchange
+mal_in01,20,124,5	script	Designer Heidam#eventhat	4_CAT_SAILOR5,{
+	if (checkweight(1301,1) == 0) {
+		mes "- Please stop here!! -";
+		mes "- You have carried too much items, -";
+		mes "- Therefore unable receive any item again, -";
+		mes "- Please reduce your weight, -";
+		mes "- And come back again later! -";
+		close;
+	}
+	disable_items;
+	mes "[Designer Heidam]";
+	mes "I am Designer Heidam, who has all kinds of cool costumes in the World.";
+	mes "If you have any Kitcoins with you, come look for Designer Heidam!";
+	next;
+	if (select( "Exchange costume for random enchant box", "Continue conversation" ) == 2) {
+		mes "[Designer Heidam]";
+		mes "Though I look out of shape right now, I used to be a well known fashion model and designer!";
+		next;
+		mes "[Designer Heidam]";
+		mes "Don't pity me! I am well aware of my looks, but I like who I am inside.";
+		close;
+	}
+	mes "[" + strcharinfo(0) + "]";
+	mes "This item is useless to me! Do you have anything else?";
+	next;
+	mes "[Designer Heidam]";
+	mes "Oh, then I can exchange it for a box of costume enchantment items.";
+	next;
+	mes "- Rummaging -";
+	next;
+	// ===================================================================
+	// =================== Costume Enchant Stone Box 4 ===================
+	// ===================================================================
+	.@box_list[0] = 22826;		// Enchant_Stone_Box4
+	setarray .@item_list_0[0],
+		19608,		// C_Chick_Hat
+		19654,		// C_J_Captain_Hat
+		19712,		// C_Little_Angel_Doll
+		19721,		// C_Darkness_Helm
+		19823,		// C_White_Cat_Hood
+		19876,		// C_Rabbit_Ear_Hat
+		20036,		// C_Sword_Master_Crown
+		20145,		// C_Robo_Eye
+		20146,		// C_Angel_Spirit
+		20147,		// C_Bell_Pigeon
+		20746;		// C_Rudra_Wing
+	// ===================================================================
+	// =================== Costume Enchant Stone Box 5 ===================
+	// ===================================================================
+	.@box_list[1] = 22868;		// Enchant_Stone_Box5
+	setarray .@item_list_1[0],
+		19601,		// Drooping_Aliot
+		19643,		// C_Whikebain_Ears
+		19787,		// C_Devoted_Eyes
+		19836,		// C_L_Magestic_Goat
+		19912,		// C_Cat_Eye
+		19928,		// C_Gothic_Heart_Wing
+		19930,		// C_Angel_Mini_Silk_Hat
+		19668,		// C_Wind_Milestone
+		20070,		// C_Alpaca_Hood
+		20115,		// C_Under_Rim_Glasses
+		20130,		// C_Whisper_Tall_Hat
+		20132,		// C_Subject_Aura
+		20133,		// C_Poring_Mascot_Costume
+		20199,		// C_Evil_Marcher_Hat
+		20200,		// C_Rabbit_Head_Dress
+		20202,		// C_Deviruchi_Balloon
+		20217,		// C_Arabian_Veil
+		20224,		// C_Red_Tailed_Ribbon
+		20230,		// C_Mask_Of_Bankrupt
+		20231,		// C_Snowman_Hat
+		20232,		// C_Celines_Ribbon
+		20233,		// C_Gold_Angel_Sculpture
+		20263,		// C_Hat_Of_Drowsy_Cat
+		20761,		// C_Wing_Of_Happiness
+		20798;		// GrimReaper_Protection
+	// ===================================================================
+	// =================== Costume Enchant Stone Box 6 ===================
+	// ===================================================================
+	.@box_list[2] = 22905;		// Enchant_Stone_Box6
+	setarray .@item_list_2[0],
+		19954,		// C_3D_Glasses
+		20071,		// C_Worg_In_Mouth
+		20239,		// C_Large_Ribbon_Muffler
+		20242,		// C_Snownow_Hat
+		20273,		// C_Soft_Sheep_Hat
+		20762;		// C_GreatDevilWing
+	// ===================================================================
+	// =================== Costume Enchant Stone Box 7 ===================
+	// ===================================================================
+	.@box_list[3] = 22953;		// Enchant_Stone_Box7
+	setarray .@item_list_3[0],
+		18740,		// C_Hair_Of_The_Strong
+		19815,		// C_Lolita_Ten_Gallon_Hat
+		20255,		// C_Love_Cheek
+		20266,		// C_Secret_Zipper
+		20268,		// C_Sleep_Eclipse_Family
+		20286,		// C_Under_Rim_Glasses_Red
+		20329,		// C_Tare_HSchool_Doll_Hat
+		20330;		// C_Sombrero
+	// ===================================================================
+	// =================== Costume Enchant Stone Box 8 ===================
+	// ===================================================================
+	.@box_list[4] = 23001;		// Enchant_Stone_Box8
+	setarray .@item_list_4[0],
+		19158,		// C_Gemini_Eyes
+		19816,		// C_Pecopeco_Cap
+		19925,		// C_One_Eyed_Glasses
+		20071,		// C_Worg_In_Mouth
+		20125,		// C_Mini_Glasses
+		20201,		// C_Banshee_Master_Kiss
+		20204,		// C_Hunting_Cap
+		20235,		// C_Frozen_Land_Rose
+		20253,		// C_Droopy_Alice_Doll
+		20254,		// C_Ribbon_Yellow
+		20258,		// C_Blue_Head_Dress
+		20264,		// C_Blood_Sucker
+		20266,		// C_Secret_Zipper
+		20270,		// C_Gryphon_Wing_Ears
+		20315,		// C_Analyze_Eye
+		20318,		// C_Charleston_Antenna
+		20340,		// C_Straight_Pony_BL
+		20341,		// C_Cowlick_BL
+		20342,		// C_Loose_Wave_Twin_BL
+		20349,		// C_FlyingGalapago
+		20350,		// C_Cowlick_YL
+		20351,		// C_Cowlick_GN
+		20352,		// C_Cowlick_PP
+		20353,		// C_Cowlick_RD
+		20354,		// C_Cowlick_OM
+		20355,		// C_Cowlick_BU
+		20356,		// C_Cowlick_WH
+		20357,		// C_Straight_Pony_YL
+		20358,		// C_Straight_Pony_GN
+		20359,		// C_Straight_Pony_PP
+		20360,		// C_Straight_Pony_RD
+		20361,		// C_Straight_Pony_OM
+		20362,		// C_Straight_Pony_BU
+		20363,		// C_Straight_Pony_WH
+		20364,		// C_Loose_Wave_Twin_YL
+		20365,		// C_Loose_Wave_Twin_GN
+		20366,		// C_Loose_Wave_Twin_PP
+		20367,		// C_Loose_Wave_Twin_RD
+		20368,		// C_Loose_Wave_Twin_OM
+		20369,		// C_Loose_Wave_Twin_BU
+		20370,		// C_Loose_Wave_Twin_WH
+		20396,		// C_Woodie_Hat
+		20448,		// C_Cons_Of_Water
+		20457,		// C_Feather_Fluttering
+		20487,		// C_Floral_Waltz
+		20489,		// C_Pope_Crown
+		20504,		// C_Cupid_Wing_Pink
+		20299,		// C_Face_Crusher
+		19598,		// C_Wondering_Wolf_Helm
+		20300;		// C_Hill_Wind_Mask
+	// ===================================================================
+	// =================== Costume Enchant Stone Box 9 ===================
+	// ===================================================================
+	.@box_list[5] = 23058;		// Enchant_Stone_Box9
+	setarray .@item_list_5[0],
+		18744,		// C_World_Star
+		19600,		// Drooping_Kiehl
+		19760,		// C_Rainbow_Veil
+		19761,		// C_White_Lily
+		19978,		// C_Silver_Exclamation
+		19979,		// C_Golden_Question
+		20172,		// C_Pumpkin_Head
+		20180,		// C_Westren_Grace
+		20278,		// C_Man_Medal
+		20325,		// C_Little_Aquarium
+		20344,		// C_Happy_Balloon_J
+		20398,		// C_Niflheim_Bunny_Hat
+		20399,		// C_Crow_Tengu_Mask
+		20404,		// C_Blessing_Of_Angels
+		20405,		// C_Eremes_Scarf
+		20447,		// C_Small_Poring_Band
+		31331,		// C_Chung_E_Shinyon_Cap
+		31372,		// C_Binit_Doll_Hat
+		31430,		// C_Seppl_Hat_TW
+		31431;	// C_Curupira_Hat_TW
+	// ====================================================================
+	// =================== Costume Enchant Stone Box 10 ===================
+	// ====================================================================
+	.@box_list[6] = 23086;		// Enchant_Stone_Box10
+	setarray .@item_list_6[0],
+		20430,		// C_Morocc_Kid_Servant
+		20432,		// C_Khalitzburg_KN_Helm
+		20433,		// C_Louise_Red_Hat
+		20440,		// C_Tone_Of_Gold
+		20458,		// C_Wild_Poring_Rider
+		20459,		// C_Valhalla_Idol
+		20464,		// C_Monochrome_RibbonHat
+		20491,		// C_Laser_Of_Eagle
+		20502,		// C_Devil_Wing
+		20507,		// C_Poring_Bag
+		31087,		// C_Dwarf_Beard
+		31088;		// C_Mad_Hatter
+	// ====================================================================
+	// =================== Costume Enchant Stone Box 11 ===================
+	// ====================================================================
+	.@box_list[7] = 23174;		// Enchant_Stone_Box11
+	setarray .@item_list_7[0],
+		5909,		// C_Valkyrie_Circlet
+		5979,		// C_Angel_Fluttering
+		19745,		// C_Holy_Marching_Hat_J
+		19825,		// C_Vicious_Stop_Bandage
+		20149,		// C_Hexagon_Spectacles
+		20381,		// C_Steampunk_Hat
+		20383,		// C_Magicdecoy_Doll
+		20483,		// C_Butterfly_Barrettes
+		20490,		// C_Full_Bloom_Hp_Blue
+		20499,		// C_Cat_Ear_Hat
+		20509,		// C_Wings_of_Uriel
+		31029,		// C_Pig_Nose
+		31032,		// C_Tare_Luwmin
+		31040,		// C_Magical_Feather
+		31055,		// C_Poring_Soap_Pipe
+		31057,		// C_Eremes_Scarf_Black
+		31062,		// C_Eleanor_Wig
+		31063,		// C_Hair_Bun_BU
+		31064,		// C_Hair_Bun_RD
+		31065,		// C_Hair_Bun_YL
+		31066,		// C_Hair_Bun_GN
+		31067,		// C_Hair_Bun_BL
+		31068,		// C_Hair_Bun_WH
+		31069,		// C_Hair_Bun_OM
+		31070,		// C_Hair_Bun_PP
+		31071,		// C_Roll_Twin_BU
+		31072,		// C_Roll_Twin_RD
+		31073,		// C_Roll_Twin_YL
+		31074,		// C_Roll_Twin_GN
+		31075,		// C_Roll_Twin_BL
+		31076,		// C_Roll_Twin_WH
+		31077,		// C_Roll_Twin_OM
+		31078,		// C_Roll_Twin_PP
+		31079,		// C_Long_Pony_BU
+		31080,		// C_Long_Pony_RD
+		31081,		// C_Long_Pony_YL
+		31082,		// C_Long_Pony_GN
+		31083,		// C_Long_Pony_BL
+		31084,		// C_Long_Pony_WH
+		31085,		// C_Long_Pony_OM
+		31086,		// C_Long_Pony_PP
+		31120,		// C_Vampire_Familiar
+		31123,		// C_Ghostring_Tall_Hat
+		31125,		// C_QueenAnzRevenge
+		31118,		// C_Assassin_Skull_Mask
+		31370,		// C_Straight_Long_YLK
+		31376,		// C_Jirant_Circlet
+		31391,		// C_Floating_Stone_Of_Int
+		31418,		// C_Leek_In_Mouth
+		20508,		// C_Poster_Girl_Hat
+		20530,		// C_Wings_of_Gabriel
+		19555;		// C_Crescent_Helm
+	// ====================================================================
+	// =================== Costume Enchant Stone Box 12 ===================
+	// ====================================================================
+	.@box_list[8] = 23299;		// Enchant_Stone_Box12
+	setarray .@item_list_8[0],
+		20156,		// C_Fan_In_Mouth
+		20195,		// C_Scratching_Cat
+		20449,		// C_White_Black_Temp
+		20511,		// C_Blue_Fairy_Wing
+		20514,		// C_Thanatos_Sword
+		20765,		// C_Archangel_Wing
+		31134,		// C_Happy_Parrot_J
+		31136,		// C_Clock_Casket
+		31160,		// C_RuneHelm
+		31162,		// C_Shaving_Foam
+		31165,		// C_Piggyback
+		31186,		// C_Black_Cat
+		31300,		// C_Warm_Cat_Muffler
+		31327;		// C_Stretched_Nose_M
+		// 31627;		// C_L_Magesic2_TW
+	// ====================================================================
+	// =================== Costume Enchant Stone Box 13 ===================
+	// ====================================================================
+	.@box_list[9] = 23524;		// Enchant_Stone_Box13
+	setarray .@item_list_9[0],
+		20488,		// C_Pope_Ribbon
+		20495,		// C_Quati_Hat_J
+		31031,		// C_Tare_Pope_Casual
+		31033,		// C_BelieversCap
+		31122,		// C_Bloody_Stop_Bandage
+		31164,		// C_Brown_Stall
+		31166,		// C_Teddy_Bear_Hood
+		31168,		// C_Mouton_Life_BL
+		31178,		// C_Flame_Muffler
+		31294,		// C_Jirant_Circlet_Red
+		31397,		// C_Pope_Sitting_Head
+		31545,		// C_Eremes_Scarf_BU
+		// 31626,		// C_FluffyWing_TW
+		31628;		// C_Bogy_Cap_TW
+	// ====================================================================
+	// =================== Costume Enchant Stone Box 14 ===================
+	// ====================================================================
+	.@box_list[10] = 23629;		// Enchant_Stone_Box14
+	setarray .@item_list_10[0],
+		31415,		// C_Wanderer_Sakkat
+		19289,		// C_Moon_Eyepatch
+		19291,		// C_Shiba_Inu
+		19294,		// C_CatEars_Cyber_HeadP_R
+		19763,		// C_Leaf_Cat_Hat
+		20376,		// C_Memories_Of_Lovers
+		20493,		// C_Wing_Headphone
+		20498,		// C_Elephant_Hat
+		20516,		// C_Wings_of_Michael
+		31180,		// C_Shura_King_Pledge
+		31329,		// C_Alice_Wig
+		31332,		// Khalitzburg_KN_Helm_BL
+		31414,		// C_Cancer_Diadem
+		31504;		// C_Starving_Fish_Hat
+	// ====================================================================
+	// =================== Costume Enchant Stone Box 15 ===================
+	// ====================================================================
+	.@box_list[11] = 23682;		// Enchant_Stone_Box15
+	setarray .@item_list_11[0],
+		19723,		// C_Sacred_Torch_Coronet
+		19953,		// C_Parade_Cap
+		19959,		// C_Drooping_Argiope
+		19960,		// C_Chain_Puppet
+		19992,		// C_Chilly_Breath
+		20179,		// C_Monkey_On_Fur_Hat
+		20510,		// C_SwordWing
+		20515,		// C_Magic_Circle
+		20517,		// C_GiantCatBag_TW
+		31152,		// C_Piamette_BowTie_Red
+		31314,		// C_Ghost_Holiday
+		31396,		// C_Sorcerer_Hood
+		31398,		// C_Blinking_Thin_Eyes
+		31432,		// C_Luwmin_Ice
+		31433,		// C_Astro_Circle
+		31437,		// C_Baby_Penguin
+		31439,		// C_Fluffy_Heart_Earmuffs
+		31452,		// C_White_Cat
+		31460,		// C_Blessing_Sky_Lantern
+		31463,		// C_Flying_Drone
+		31498,		// C_Elephangel_TH
+		// 31722,		// C_Sedora_Hat
+		31412;		// C_Virgo_Crown
+	// ====================================================================
+	// =================== Costume Enchant Stone Box 16 ===================
+	// ====================================================================
+	// Note: The reward is 'Costume Enchant Stone Box 16' on items description but Enchant_Stone_Box21 in the file
+	.@box_list[12] = 100314;		// Enchant_Stone_Box21
+	setarray .@item_list_12[0],
+		20033,		// C_Buddhist_Priest_Crown
+		20098,		// C_Vampire_Hairband
+		20171,		// C_Sepia_Cap
+		20174,		// C_Halloween_Hat_Orange
+		20395,		// C_BlackWitchHat
+		20482,		// C_Heaven_Cage
+		20533,		// C_PinkButterfly_Wing_T
+		20535,		// C_Digital_Space
+		20543,		// C_Halloween_Poring_Bag
+		31139,		// C_White_Rabbit_Ear
+		31249,		// C_Rabbit_Hopping
+		31489,		// C_Bouquet_Hat
+		31490,		// C_Poring_Muffler
+		31529,		// C_Happy_Rabbit_Ribbon
+		31606;		// C_Autumn_Headband
+	// ====================================================================
+	// =================== Costume Enchant Stone Box 17 ===================
+	// ====================================================================
+	.@box_list[13] = 100314;		// Enchant_Stone_Box21
+	setarray .@item_list_13[0],
+		19990,		// C_Snow_Rabbit_Knit_Hat
+		20175,		// C_Diabolic_Headphone
+		20546,		// C_Backside_Ribbon_Bell
+		20764,		// C_Fallen_Angel_Wing
+		31440,		// C_Snow_Bear_Food
+		31565,		// C_Princess_Ribbon_Crown
+		31586,		// C_Poporing_Muffler
+		31616,		// C_Sleep_Sheep_TW
+		31625,		// C_Protect_Cloth
+		31693;		// C_LunaticMuffler
+	// ====================================================================
+	// =================== Costume Enchant Stone Box 18 ===================
+	// ====================================================================
+	.@box_list[14] = 100314;		// Enchant_Stone_Box21
+	setarray .@item_list_14[0],
+		20257,		// C_Black_Rabbit_Bonnet
+		20486,		// C_Twin_Margaret
+		20570,		// C_HeartChocoBag
+		20572,		// C_WingOfHeart
+		31382,		// C_Cat_Ears_Punkish
+		31481,		// C_CatCoffeeCup_TW
+		31624,		// C_HeartOfCat_TW
+		31699;		// C_Smiling_Eyes
+	// ====================================================================
+	// =================== Costume Enchant Stone Box 19 ===================
+	// ====================================================================
+	.@box_list[15] = 100052;		// Enchant_Stone_Box19
+	setarray .@item_list_15[0],
+		20022,		// C_Love_Piece
+		20519,		// C_Full_BloomCherry_Tree
+		20576,		// C_Cat_Fork
+		31027,		// C_Pretty_Bear
+		31483,		// C_CatEarRibbon_TW
+		31512,		// C_Panda_Rabbit
+		31569,		// C_OpenAir_Headset
+		31572,		// C_Mobile_Pursuit_System
+		31573,		// C_Mecha_Cat_Ears
+		31574,		// C_Cyber_Income
+		31600,		// C_Kishu_Inu
+		31614,		// C_Fox
+		31698,		// C_Pigtail_Red_Hood
+		31765,		// C_Garnet_Tiara
+		31766,		// C_Peony_Hair_Ornament
+		440000;		// C_SharkHead
+	// ====================================================================
+	// =================== Costume Enchant Stone Box 20 ===================
+	// ====================================================================
+	.@box_list[16] = 100202;		// Enchant_Stone_Box20
+	setarray .@item_list_16[0],
+		20582,		// C_T_Bear_Bag
+		20584,		// C_Big_Foxtail
+		20588,		// C_Nifl_Bloom
+		31479,		// C_ManyStars_TW
+		31568,		// C_Floating_Ball_TW
+		31611,		// C_Dark_Snake_Lord_Stall
+		31671,		// Costume_Twin_Cannon
+		31673,		// C_Picnic_Basket
+		31688,		// C_Poring_On_Shoulder
+		31735,		// Costume_Yawata_Seal
+		31787,		// C_SavageB_On_Shoulder
+		31798,		// C_Baby_Panda
+		31799,		// C_Pretty_Bear_WH
+		31832,		// C_Bicolor_Cat_Witch_Hat
+		31884,		// C_Magic_Helm
+		400020;		// C_BeachBall
+	// ====================================================================
+	// =================== Costume Enchant Stone Box 21 ===================
+	// ====================================================================
+	.@box_list[17] = 100314;		// Enchant_Stone_Box21
+	setarray .@item_list_17[0],
+		20592,		// C_Santa_Backpack
+		31509,		// C_Fawn_Ear
+		31559,		// C_Royalguard_Necklace
+		440002;		// C_Happy_Cat_TW
+
+	while(1) {
+		for ( .@i = 0; .@i < 18; ++.@i ) {
+			if (getiteminfo(.@box_list[.@i], 2) == -1)	// temporary check
+				continue;
+			.@size = getarraysize( getd(".@item_list_" + .@i) );
+			for ( .@h = 0; .@h < .@size; ++.@h ) {
+				.@id = getd( ".@item_list_" + .@i + "[" + .@h + "]" );
+				if (getiteminfo(.@id, 2) == -1)	// temporary check
+					continue;
+				if (countitem(.@id) < 1)
+					continue;
+				mes "[Designer Heidam]";
+				mes "I see that you have a ^3131FF" + getitemname(.@id) + "^000000. Do you want to exchange this with a costume enchantment box?";
+				next;
+				switch( select( "Exchange", "Look for something else", "Stop Exchanging" ) ) {
+				case 1:
+					mes "[Designer Heidam]";
+					if (countitem(.@id) < 1)
+						mes "Oh~ Something suddenly disappeared...";
+					else {
+						mes "Exchange Completed.";
+						delitem .@id, 1;
+						getitem .@box_list[.@i], 1;
+					}
+					mes "Let me check you for another item to exchange...";
+					next;
+					break;
+				case 2:
+					break;
+				case 3:
+					mes "[Designer Heidam]";
+					mes "Meow? Where are you going?";
+					close;
+				}
+			}
+		}
+		mes "[Designer Heidam]";
+		mes "Guess that is all.";
+		next;
+		if (select( "Look more", "Quit" ) == 2) {
+			mes "[Designer Heidam]";
+			mes "Bye~";
+			close;
+		}
+	}
+}
+
+malangdo,115,154,3	script	Fashion Stone#stone	4_BULLETIN_BOARD2,{ end; }
+
+// Costume enchant (top, mid, low)
+mal_in01,22,113,3	script	Aver De Dosh#cos_ect	4_WHITETIGER,{
+	disable_items;
+	mes "[Aver De Dosh]";
+	mes "Welcome to Fashion Stone!!";
+	next;
+	mes "[Aver De Dosh]";
+	mes "We take various costume items.";
+	next;
+	mes "[Aver De Dosh]";
+	mes "If you want cool styling for your costume Hat, please come to me 'Aver De Dosh'!";
+	mes "Don't forget to bring ^ff0000your own costume Hat and costume stones^000000~";
+	next;
+	if (select( "Apply ability.", "End Conversation." ) == 2) {
+		mes "[Aver De Dosh]";
+		mes "Please check our other upgrading services~";
+		close;
+	}
+	if (checkweight(1119,3) == 0) {
+		mes "[Aver De Dosh]";
+		mes "Kiaaaaach!!!";
+		mes "I hate bulging bags!";
+		mes "No matter how cool your hat looks, that fat bag of yours is a fashion terror you know!";
+		next;
+		mes "[Aver De Dosh]";
+		mes "It seems you have too many items on you.";
+		mes "Come back after clearing some inventory spaces.";
+		close;
+	}
+	.@eq_top = getequipid(EQI_COSTUME_HEAD_TOP);
+	.@eq_mid = getequipid(EQI_COSTUME_HEAD_MID);
+	.@eq_low = getequipid(EQI_COSTUME_HEAD_LOW);
+
+	if (.@eq_top == -1 && .@eq_mid == -1 && .@eq_low == -1) {
+		mes "[Aver De Dosh]";
+		mes "You must wear item you want to add ability.";
+		mes "Then, I will be able to help you out.";
+		close;
+	}
+	if (.@eq_top > -1) {
+		.@part = EQI_COSTUME_HEAD_TOP;
+		.@equip_id = .@eq_top;
+	}
+	else if (.@eq_mid > -1) {
+		.@part = EQI_COSTUME_HEAD_MID;
+		.@equip_id = .@eq_mid;
+	}
+	else if (.@eq_low > -1) {
+		.@part = EQI_COSTUME_HEAD_LOW;
+		.@equip_id = .@eq_low;
+	}
+
+	switch(.@part) {
+	case EQI_COSTUME_HEAD_TOP:
+		switch(.@equip_id) {
+			// top
+		case 18740:	// C_Hair_Of_The_Strong
+		case 18741:	// C_Will_O_Wisp
+		case 19294:	// C_CatEars_Cyber_HeadP_R
+		case 19507:	// Fine_Sun
+		case 19515:	// Yellow_Hat
+		case 19516:	// Singing_Bird
+		case 19517:	// Cocks_Comb
+		case 19518:	// Rainbow
+		case 19519:	// Lightning_Cloud
+		case 19520:	// Rain_Cloud
+		case 19521:	// Charlie_Hat
+		case 19522:	// Mini_Crown1
+		case 19523:	// Donation_Ribbon
+		case 19524:	// C_Green_Feeler
+		case 19525:	// C_Jack_A_Dandy
+		case 19526:	// C_Helm
+		case 19527:	// C_Sharp_Gear
+		case 19529:	// C_Angelic_Chain
+		case 19537:	// C_Gryphon_Hat
+		case 19543:	// Oliver_Wolf_Hood
+		case 19544:	// C_Tare_Neko_Cru
+		case 19545:	// C_Boys_Cap
+		case 19546:	// C_Valkyrie_Helm
+		case 19547:	// C_Deviruchi_Cap
+		case 19548:	// C_Frog_Cap
+		case 19549:	// C_Magestic_Goat
+		case 19573:	// C_Heart_Wing_Hairband
+		case 19575:	// C_Rising_Black_Dragon
+		case 19576:	// C_Tare_Pope
+		case 19577:	// 10th_Anni_Poring_Hat
+		case 19585:	// C_Feather_Beret
+		case 19586:	// C_Pink_Bunny_Band_J
+		case 19587:	// C_King_Poring_Hat
+		case 19590:	// C_Twin_Ribbon_J
+		case 19592:	// C_Hibiscus_J
+		case 19599:	// C_Imp_Hat
+		case 19600:	// Drooping_Kiehl
+		case 19601:	// Drooping_Aliot
+		case 19602:	// C_Invisible_Cap
+		case 19608:	// C_Chick_Hat
+		case 19613:	// C_Valkyrie_Feather_Band
+		case 19618:	// C_Mask_Of_Fox
+		case 19625:	// C_Bunny_Band
+		case 19629:	// C_Tiara
+		case 19630:	// C_Crown
+		case 19632:	// C_Hat
+		case 19633:	// C_Flower_Hairband
+		case 19635:	// C_Mini_Propeller
+		case 19637:	// C_Nurse_Cap
+		case 19639:	// C_Sahkkat
+		case 19643:	// C_Whikebain_Ears
+		case 19646:	// C_Ramen_Hat
+		case 19647:	// C_Red_Deviruchi_Cap
+		case 19650:	// C_Rainbow_Feather_Deco
+		case 19653:	// C_Marcher_Hat
+		case 19654:	// C_J_Captain_Hat
+		case 19655:	// C_Tiraya_Bonnet
+		case 19656:	// C_Minstrel_Hat
+		case 19657:	// C_Captain_Hat
+		case 19659:	// C_Gray_Fur_Hat
+		case 19665:	// C_Poring_Cake_Cap
+		case 19667:	// C_Helm_Of_Dragoon
+		case 19668:	// C_Wind_Milestone
+		case 19677:	// C_Soulless_Wing
+		case 19682:	// C_Santa_Poring_Hat
+		case 19684:	// C_Happy_Wig
+		case 19694:	// C_Vane_Hairpin
+		case 19702:	// C_Santa_Hat_1
+		case 19706:	// C_Red_Dress_Hat
+		case 19712:	// C_Little_Angel_Doll
+		case 19715:	// C_Scarf
+		case 19719:	// C_Coronet
+		case 19721:	// C_Darkness_Helm
+		case 19723:	// C_Sacred_Torch_Coronet
+		case 19728:	// C_Tare_Zonda
+		case 19729:	// C_Neko_Mimi_Kafra
+		case 19731:	// C_Satanic_Chain
+		case 19733:	// C_Panda_Cap
+		case 19737:	// C_Corsair_K
+		case 19738:	// C_Detective_Hat_K
+		case 19739:	// C_Sleeping_Kitty_Cat
+		case 19745:	// C_Holy_Marching_Hat_J
+		case 19750:	// C_Saint_Frill_Ribbon
+		case 19758:	// C_King_Frog_Hat
+		case 19761:	// C_White_Lily
+		case 19762:	// C_Happy_Peace_Proof
+		case 19763:	// C_Leaf_Cat_Hat
+		case 19771:	// C_Butterfly_Hairpin
+		case 19782:	// C_Drooping_Kitty
+		case 19784:	// C_Morrigane's_Helm
+		case 19786:	// C_Mistress_Crown
+		case 19789:	// C_Sweet_Gents
+		case 19790:	// C_Wedding_Veil
+		case 19795:	// C_Lord_Circlet
+		case 19796:	// C_Bone_Helm
+		case 19797:	// C_Apple_Of_Archer
+		case 19799:	// C_Golden_Gear
+		case 19800:	// C_Carnation_Hairband
+		case 19807:	// C_Majestic_Helmet
+		case 19818:	// C_Droop_Morocc_Minion
+		case 19824:	// C_Evil_Druid_Hat
+		case 19825:	// C_Vicious_Stop_Bandage
+		case 19827:	// C_Amistr_Cap
+		case 19828:	// C_Fedora
+		case 19829:	// C_Straw_Hat
+		case 19831:	// C_Filir_Hat
+		case 19833:	// C_Fillet
+		case 19835:	// C_Lif_Doll_Hat
+		case 19836:	// C_L_Magestic_Goat
+		case 19839:	// C_Vanilmirth_Hat
+		case 19842:	// C_Puppy_Hat
+		case 19843:	// C_Cat_Hairband
+		case 19844:	// C_Turban
+		case 19845:	// C_Hair_Protector
+		case 19847:	// C_Big_Sis_Ribbon
+		case 19848:	// C_Angeling_Hat
+		case 19851:	// C_Brown_Bear_Cap
+		case 19852:	// C_Galapago_Cap
+		case 19858:	// C_Leaf_Headgear
+		case 19859:	// C_Flying_Angel
+		case 19860:	// C_Cryptura_Hair_Cap
+		case 19861:	// C_Heart_Hair_Pin
+		case 19862:	// C_Horn_Of_Succubus
+		case 19863:	// C_Inccubus_Horn
+		case 19865:	// C_Joker_Jester
+		case 19866:	// C_Blue_Pajamas_Hat
+		case 19874:	// C_Carnival_Circlet
+		case 19876:	// C_Rabbit_Ear_Hat
+		case 19878:	// C_Drooping_Bunny
+		case 19883:	// C_Piamette_Hood
+		case 19884:	// C_Vanargandr_Helm
+		case 19913:	// C_Poo_Poo_Hat
+		case 19930:	// C_Angel_Mini_Silk_Hat
+		case 19931:	// C_Lazy_Raccoon
+		case 19932:	// C_Cap_Of_Concentration
+		case 19934:	// C_10Gallon_Hat_Of_Flame
+		case 19935:	// C_Hunting_Cap_Of_Gust
+		case 19936:	// C_Knit_Cap_Of_Water
+		case 19937:	// C_Silk_Hat_Of_Earth
+		case 19939:	// C_Antler
+		case 19941:	// C_Ear_Mufs
+		case 19953:	// C_Parade_Cap
+		case 19955:	// C_Mini_Tree_J
+		case 19977:	// C_Golden_Exclamation
+		case 19978:	// C_Silver_Exclamation
+		case 19979:	// C_Golden_Question
+		case 19980:	// C_Silver_Question
+		case 19983:	// C_Flower_Hairpin
+		case 19984:	// C_Winter_Hat
+		case 20017:	// C_Marionette_Doll
+		case 20036:	// C_Sword_Master_Crown
+		case 20046:	// C_Decoration_bluerose
+		case 20049:	// C_Plaster
+		case 20050:	// C_Ph.D_Hat
+		case 20057:	// C_Feather_Bonnet
+		case 20063:	// C_Yellow_Brain_Hat
+		case 20064:	// Blue_Brain_Hat
+		case 20070:	// C_Alpaca_Hood
+		case 20073:	// C_Hair_Band
+		case 20074:	// C_Biretta
+		case 20090:	// C_Egg_Shell
+		case 20092:	// C_Sales_Signboard
+		case 20093:	// C_Star_Sparkling
+		case 20094:	// C_Fillet_Green
+		case 20095:	// C_Fillet_Red
+		case 20096:	// C_Fillet_Blue
+		case 20097:	// C_Fillet_White
+		case 20114:	// C_Funeral_Costume
+		case 20118:	// C_Hat_Of_Cake
+		case 20119:	// C_Fur_Hat
+		case 20120:	// C_Antenna
+		case 20121:	// C_Lotus_Flower_Hat
+		case 20130:	// C_Whisper_Tall_Hat
+		case 20133:	// C_Poring_Mascot_Costume
+		case 20151:	// C_Poison_Spore_Hat
+		case 20157:	// C_Fish_On_Head
+		case 20158:	// C_Circlet
+		case 20159:	// C_Blue_Hair_Band
+		case 20160:	// C_Fried_Egg
+		case 20161:	// C_Prontera_Army_Cap
+		case 20175:	// C_Diabolic_Headphone
+		case 20179:	// C_Monkey_On_Fur_Hat
+		case 20180:	// C_Westren_Grace
+		case 20181:	// C_Mistic_Rose
+		case 20182:	// C_Mottled_Egg_Shell
+		case 20184:	// C_Party_Hat
+		case 20186:	// C_Magni_Cap
+		case 20197:	// C_Amistr_Beret
+		case 20199:	// C_Evil_Marcher_Hat
+		case 20200:	// C_Rabbit_Head_Dress
+		case 20203:	// C_Bandana
+		case 20204:	// C_Hunting_Cap
+		case 20205:	// C_Fancy_Flower
+		case 20207:	// C_Stripe_Band
+		case 20208:	// C_Necktie
+		case 20214:	// C_Evil_Marcher_Hat_J
+		case 20224:	// C_Red_Tailed_Ribbon
+		case 20225:	// C_Pumpkin_Hat
+		case 20226:	// C_Hair_Brush
+		case 20231:	// C_Snowman_Hat
+		case 20232:	// C_Celines_Ribbon
+		case 20233:	// C_Gold_Angel_Sculpture
+		case 20238:	// C_Blue_Drooping_Kitty
+		case 20242:	// C_Snownow_Hat
+		case 20248:	// C_Black_Strong_Hair
+		case 20249:	// C_Red_Strong_Hair
+		case 20250:	// C_White_Strong_Hair
+		case 20253:	// C_Droopy_Alice_Doll
+		case 20254:	// C_Ribbon_Yellow
+		case 20258:	// C_Blue_Head_Dress
+		case 20262:	// C_Fox_Ears_Bell_Ribbon
+		case 20263:	// C_Hat_Of_Drowsy_Cat
+		case 20266:	// C_Secret_Zipper
+		case 20269:	// C_White_Fox_Ear_Ribbon
+		case 20271:	// C_Sunflower
+		case 20272:	// C_Snowy_Horn
+		case 20273:	// C_Soft_Sheep_Hat
+		case 20277:	// C_Balloon_Hat
+		case 20278:	// C_Man_Medal
+		case 20283:	// C_Over_Protector
+		case 20383:	// C_Magicdecoy_Doll
+		case 20433:	// C_Louise_Red_Hat
+		case 20447:	// C_Small_Poring_Band
+		case 20452:	// C_berry_Prince_Crown
+		case 20458:	// C_Wild_Poring_Rider
+		case 20463:	// C_Two_Tone_Beret
+		case 20464:	// C_Monochrome_RibbonHat
+		case 20467:	// C_Elemental_Crown
+		case 20483:	// C_Butterfly_Barrettes
+		case 20489:	// C_Pope_Crown
+		case 20490:	// C_Full_Bloom_Hp_Blue
+		case 20491:	// C_Laser_Of_Eagle
+		case 20495:	// C_Quati_Hat_J
+		case 20498:	// C_Elephant_Hat
+		case 20508:	// C_Poster_Girl_Hat
+		case 31027:	// C_Pretty_Bear
+		case 31031:	// C_Tare_Pope_Casual
+		case 31032:	// C_Tare_Luwmin
+		case 31040:	// C_Magical_Feather
+		case 31062:	// C_Eleanor_Wig
+		case 31123:	// C_Ghostring_Tall_Hat
+		case 31125:	// C_QueenAnzRevenge
+		case 31137:	// C_Blue_Rose_Ornament
+		case 31139:	// C_White_Rabbit_Ear
+		case 31147:	// C_Tare_Domovoi
+		case 31149:	// C_Nydhog_Wig
+		case 31151:	// C_Chasher_Ear
+		case 31158:	// C_Squirrel_Ear_Hat
+		case 31176:	// C_Looking
+		case 31177:	// C_Tail_Hat
+		case 31180:	// C_Shura_King_Pledge
+		case 31200:	// C_Wrapping_Ribbon
+		case 31204:	// C_Drooping_White_Kitty
+		case 31249:	// C_Rabbit_Hopping
+		case 31252:	// C_Cat_Ear_Hat_White
+		case 31294:	// C_Jirant_Circlet_Red
+		case 31314:	// C_Ghost_Holiday
+		case 31318:	// C_Gerhard_Von_Devi
+		case 31329:	// C_Alice_Wig
+		case 31331:	// C_Chung_E_Shinyon_Cap
+		case 31332:	// Khalitzburg_KN_Helm_BL
+		case 31370:	// C_Straight_Long_YLK
+		case 31372:	// C_Binit_Doll_Hat
+		case 31582:	// C_Jirant_Circlet
+		case 31382:	// C_Cat_Ears_Punkish
+		case 31385:	// C_Gothic_Pumpkin_Head
+		case 31396:	// C_Sorcerer_Hood
+		case 31397:	// C_Pope_Sitting_Head
+		case 31405:	// C_Eleanor_Wig_YL
+		case 31406:	// C_Nydhog_Wig_WH
+		case 31407:	// C_Alice_Wig_PK
+		case 31412:	// C_Virgo_Crown
+		case 31414:	// C_Cancer_Diadem
+		case 31430:	// C_Seppl_Hat_TW
+		case 31431:	// C_Curupira_Hat_TW
+		case 31433:	// C_Astro_Circle
+		case 31439:	// C_Fluffy_Heart_Earmuffs
+		case 31440:	// C_Snow_Bear_Food
+		case 31451:	// C_Blue_Frill_Ribbon
+		case 31456:	// C_Baby_Leopard_Cat
+		case 20227:	// C_Husky_Hat
+		case 31474:	// C_Straight_Long_BL
+		case 31475:	// C_Black_Fox_Ear_Ribbon
+		case 31481:	// C_CatCoffeeCup_TW
+		case 31489:	// C_Bouquet_Hat
+		case 31504:	// C_Starving_Fish_Hat
+		case 31509:	// C_Fawn_Ear
+		case 31529:	// C_Happy_Rabbit_Ribbon
+		case 31546:	// C_Clock_Casket_RD
+		case 31564:	// C_Variant_Veil
+		case 31565:	// C_Princess_Ribbon_Crown
+		case 31573:	// C_Mecha_Cat_Ears
+		case 31598:	// C_Forest_Guide
+		case 31624:	// C_HeartOfCat_TW
+		case 31628:	// C_Bogy_Cap_TW
+			// top + mid
+		case 19555:	// C_Crescent_Helm
+		case 19574:	// C_Lord_of_Death
+		case 19578:	// C_Goggle
+		case 19598:	// C_Wondering_Wolf_Helm
+		case 19612:	// C_Headset_OST
+		case 19710:	// C_Wings_Of_Victory
+		case 19760:	// C_Rainbow_Veil
+		case 19775:	// C_Marvelous_Wig
+		case 19823:	// C_White_Cat_Hood
+		case 19864:	// C_Afro_Wig
+		case 19928:	// C_Gothic_Heart_Wing
+		case 20402:	// C_Holy_Klobuk
+		case 20493:	// C_Wing_Headphone
+		case 31205:	// C_L_Orc_Hero_Helm
+		case 31415:	// C_Wanderer_Sakkat
+			// top + low
+		case 20217:	// C_Arabian_Veil
+			// top + mid + low
+		case 19556:	// C_Kabuki_Mask
+		case 19746:	// C_Cap_Of_Blindness
+		case 19821:	// C_Hyegun_Hat
+		case 19849:	// C_Munak_Turban
+		case 19850:	// C_Bongun_Hat
+		case 20481:	// C_Mask_of_Ifrit
+		case 31409:	// C_Barrel_Helm
+			break;
+		default:
+			mes "[Aver De Dosh]";
+			mes "Well...";
+			mes "This hat is currently not available for upgrade.";
+			close;
+		}
+		break;
+
+	case EQI_COSTUME_HEAD_MID:
+		switch(.@equip_id) {
+			// mid
+		case 18742:	// C_MoonStar_Accessory
+		case 18744:	// C_World_Star
+		case 19291:	// C_Shiba_Inu
+		case 19509:	// Butterfly_Wing_Ear
+		case 19510:	// Nut_On_Head
+		case 19511:	// Heart_Eye_Patch1
+		case 19512:	// Heart_Eye_Patch2
+		case 19550:	// C_Blush
+		case 19551:	// C_Elven_Ears
+		case 19603:	// C_Invisible_Sunglasses
+		case 19621:	// C_Ear_Of_Devils_Wing
+		case 19624:	// C_Round_Eyes
+		case 19734:	// C_Binoculars
+		case 19735:	// C_Fin_Helm
+		case 19752:	// C_Shelter_Wing_Ears
+		case 19755:	// C_YinYang_Earring
+		case 19781:	// C_Ear_Of_Angel's_Wing_
+		case 19787:	// C_Devoted_Eyes
+		case 19826:	// C_Ice_Wing_Ear
+		case 19830:	// C_Sunglasses
+		case 19846:	// C_Opera_Ghost_Mask
+		case 19871:	// C_Music_Decoration
+		case 19885:	// C_Blinker
+		case 19886:	// C_Luxury_Sunglasses
+		case 19887:	// C_One_Eyed_Glass
+		case 19888:	// C_Glasses
+		case 19889:	// C_Pair_Of_Red_Ribbon
+		case 19912:	// C_Cat_Eye
+		case 19925:	// C_One_Eyed_Glasses
+		case 19954:	// C_3D_Glasses
+		case 19989:	// C_Mouton_Life
+		case 20115:	// C_Under_Rim_Glasses
+		case 20125:	// C_Mini_Glasses
+		case 20145:	// C_Robo_Eye
+		case 20146:	// C_Angel_Spirit
+		case 20147:	// C_Bell_Pigeon
+		case 20149:	// C_Hexagon_Spectacles
+		case 20215:	// C_Black_Devil_Mask
+		case 20221:	// C_Eyes_Of_Ifrit
+		case 20255:	// C_Love_Cheek
+		case 20270:	// C_Gryphon_Wing_Ears
+		case 20295:	// C_Poring_Sunglasses_J
+		case 20298:	// C_Happy_Lunatic_Ear
+		case 20318:	// C_Charleston_Antenna
+		case 20319:	// C_Crimson_Booster
+		case 20325:	// C_Little_Aquarium
+		case 20376:	// C_Memories_Of_Lovers
+		case 20399:	// C_Crow_Tengu_Mask
+		case 20404:	// C_Blessing_Of_Angels
+		case 20430:	// C_Morocc_Kid_Servant
+		case 31047:	// C_First_Love_Cheek
+		case 31122:	// C_Bloody_Stop_Bandage
+		case 31167:	// C_Lunatic_Ear_Black
+		case 31168:	// C_Mouton_Life_BL
+		case 31183:	// C_Fallen_Angel_Blessing
+		case 31186:	// C_Black_Cat
+		case 31299:	// C_White_Rabbit
+		case 31302:	// C_Black_Magenta_Ribbon
+		case 31308:	// C_Protect_Feathers
+		case 31327:	// C_Stretched_Nose_M
+		case 31391:	// C_Floating_Stone_Of_Int
+		case 31398:	// C_Blinking_Thin_Eyes
+		case 31437:	// C_Baby_Penguin
+		case 31452:	// C_White_Cat
+		case 31463:	// C_Flying_Drone
+		case 31472:	// C_Fairy_Feathers
+		case 31483:	// C_CatEarRibbon_TW
+		case 31488:	// C_Mvp
+		case 31512:	// C_Panda_Rabbit
+		case 31567:	// C_Sheep_Horn
+		case 31568:	// C_Floating_Ball_TW
+		case 31574:	// C_Cyber_Income
+		case 31600:	// C_Kishu_Inu
+		case 31614:	// C_Fox
+		case 31673:	// C_Picnic_Basket
+		case 31688:	// C_Poring_On_Shoulder
+		case 31699:	// C_Smiling_Eyes
+			// mid + low
+		case 19554:	// C_Hahoe_Mask
+		case 19563:	// C_Dragon_Arhat_Mask
+		case 19564:	// C_Tiger_Arhat_Mask
+		case 19638:	// C_Mr_Smile
+		case 19732:	// C_Goblin_Mask_04
+		case 19736:	// C_Gas_Mask
+		case 19791:	// C_Alarm_Mask
+		case 19792:	// C_Goblin_Mask_01
+		case 19793:	// C_Goblin_Mask_02
+		case 19794:	// C_Goblin_Mask_03
+		case 19882:	// C_Flowerpot_Mask
+		case 20166:	// C_Hockey_Mask
+		case 20195:	// C_Scratching_Cat
+		case 20230:	// C_Mask_Of_Bankrupt
+		case 20299:	// C_Face_Crusher
+		case 31505:	// C_Falcon_Mask
+			break;
+		default:
+			mes "[Aver De Dosh]";
+			mes "Well...";
+			mes "This hat is currently not available for upgrade.";
+			close;
+		}
+		break;
+
+	case EQI_COSTUME_HEAD_LOW:
+		switch(.@equip_id) {
+		case 19513:	// Chicken_Beak
+		case 19514:	// Charlie_Beard
+		case 19528:	// C_Iron_Cane
+		case 19552:	// C_Centimental_Flower
+		case 19553:	// C_Assassin_Mask_
+		case 19566:	// C_Samurai_Mask
+		case 19604:	// C_Invisible_Mask
+		case 19606:	// C_Ninja_Scroll
+		case 19634:	// C_Flu_Mask
+		case 19636:	// C_Pierrot_Nose
+		case 19672:	// C_Poring_Letter
+		case 19783:	// C_Granpa_Beard
+		case 19785:	// C_Well_Baked_Toast
+		case 19798:	// C_Angry_Mouth
+		case 19902:	// C_Cigar
+		case 20034:	// C_Jack_Castle_Bat
+		case 20054:	// C_Baby_Pacifier
+		case 20071:	// C_Worg_In_Mouth
+		case 20091:	// C_Smoking_Pipe
+		case 20132:	// C_Subject_Aura
+		case 20156:	// C_Fan_In_Mouth
+		case 20169:	// C_Long_Tongue
+		case 20201:	// C_Banshee_Master_Kiss
+		case 20202:	// C_Deviruchi_Balloon
+		case 20223:	// C_Centimental_Leaf
+		case 20235:	// C_Frozen_Land_Rose
+		case 20239:	// C_Large_Ribbon_Muffler
+		case 20240:	// C_Gift_Of_Snow
+		case 20264:	// C_Blood_Sucker
+		case 20305:	// C_NettyHeart_BalloonGum
+		case 20340:	// C_Straight_Pony_BL
+		case 20342:	// C_Loose_Wave_Twin_BL
+		case 20344:	// C_Happy_Balloon_J
+		case 20357:	// C_Straight_Pony_YL
+		case 20358:	// C_Straight_Pony_GN
+		case 20359:	// C_Straight_Pony_PP
+		case 20360:	// C_Straight_Pony_RD
+		case 20361:	// C_Straight_Pony_OM
+		case 20362:	// C_Straight_Pony_BU
+		case 20363:	// C_Straight_Pony_WH
+		case 20364:	// C_Loose_Wave_Twin_YL
+		case 20365:	// C_Loose_Wave_Twin_GN
+		case 20366:	// C_Loose_Wave_Twin_PP
+		case 20367:	// C_Loose_Wave_Twin_RD
+		case 20368:	// C_Loose_Wave_Twin_OM
+		case 20369:	// C_Loose_Wave_Twin_BU
+		case 20370:	// C_Loose_Wave_Twin_WH
+		case 20405:	// C_Eremes_Scarf
+		case 20407:	// C_Subject_Aura_Red
+		case 20429:	// C_Piamette_BowTie
+		case 20440:	// C_Tone_Of_Gold
+		case 20448:	// C_Cons_Of_Water
+		case 20462:	// C_Cat_Ears_Cape
+		case 20497:	// C_Umbala_Spirit
+		case 20798:	// GrimReaper_Protection
+		case 31029:	// C_Pig_Nose
+		case 31045:	// C_Blue_Rear_Ribbon
+		case 31057:	// C_Eremes_Scarf_Black
+		case 31063:	// C_Hair_Bun_BU
+		case 31064:	// C_Hair_Bun_RD
+		case 31065:	// C_Hair_Bun_YL
+		case 31066:	// C_Hair_Bun_GN
+		case 31067:	// C_Hair_Bun_BL
+		case 31068:	// C_Hair_Bun_WH
+		case 31069:	// C_Hair_Bun_OM
+		case 31070:	// C_Hair_Bun_PP
+		case 31079:	// C_Long_Pony_BU
+		case 31080:	// C_Long_Pony_RD
+		case 31081:	// C_Long_Pony_YL
+		case 31082:	// C_Long_Pony_GN
+		case 31083:	// C_Long_Pony_BL
+		case 31084:	// C_Long_Pony_WH
+		case 31085:	// C_Long_Pony_OM
+		case 31086:	// C_Long_Pony_PP
+		case 31152:	// C_Piamette_BowTie_Red
+		case 31178:	// C_Flame_Muffler
+		case 31189:	// C_Cat_Ears_Cape_Red
+		case 31210:	// C_Side_Pigtail_BU
+		case 31211:	// C_Side_Pigtail_RD
+		case 31212:	// C_Side_Pigtail_YL
+		case 31213:	// C_Side_Pigtail_GN
+		case 31214:	// C_Side_Pigtail_BL
+		case 31215:	// C_Side_Pigtail_WH
+		case 31216:	// C_Side_Pigtail_OM
+		case 31217:	// C_Side_Pigtail_PP
+		case 31226:	// C_Long_Twin_BU
+		case 31227:	// C_Long_Twin_RD
+		case 31228:	// C_Long_Twin_YL
+		case 31229:	// C_Long_Twin_GN
+		case 31230:	// C_Long_Twin_BL
+		case 31231:	// C_Long_Twin_WH
+		case 31232:	// C_Long_Twin_OM
+		case 31233:	// C_Long_Twin_PP
+		case 31251:	// C_Cat_Mouth
+		case 31296:	// C_Strawberry_In_Mouth
+		case 31300:	// C_Warm_Cat_Muffler
+		case 31315:	// C_Stall_Of_Angel
+		case 31330:	// C_Fallen_Angel_Valletta
+		case 31381:	// C_Diabolic_Lapel
+		case 31383:	// C_Volume_Low_Twin
+		case 31393:	// C_Vajra
+		case 31395:	// C_Book_Of_Magic
+		case 31404:	// C_Poring_Traffic_Light
+		case 31418:	// C_Leek_In_Mouth
+		case 31432:	// C_Luwmin_Ice
+		case 31438:	// C_Fluffy_Angel_Cape
+		case 31450:	// C_Lolita_Two_Side_Up
+		case 31453:	// C_L_RibbonMuff_Black
+		case 31460:	// C_Blessing_Sky_Lantern
+		case 31473:	// C_Tipsy
+		case 31490:	// C_Poring_Muffler
+		case 31492:	// C_Cat_Ears_Cape_Brown
+		case 31493:	// C_Volume_Low_Twin_WH
+		case 31498:	// C_Elephangel_TH
+		case 31533:	// C_Warm_Cat_Muffler_BL
+		case 31545:	// C_Eremes_Scarf_BU
+		case 31572:	// C_Mobile_Pursuit_System
+		case 31586:	// C_Poporing_Muffler
+		case 31611:	// C_Dark_Snake_Lord_Stall
+		case 31616:	// C_Sleep_Sheep_TW
+		case 31625:	// C_Protect_Cloth
+		case 31698:	// C_Pigtail_Red_Hood
+			break;
+		default:
+			mes "[Aver De Dosh]";
+			mes "Well...";
+			mes "This hat is currently not available for upgrade.";
+			close;
+		}
+		break;
+
+	default:
+		mes "An unknown error has occurred.";
+		close;
+	}
+
+	.@location = getiteminfo(.@equip_id, 5);
+	.@equip_refine = getequiprefinerycnt(.@part);
+	setarray .@card[0], getequipcardid(.@part, 0), getequipcardid(.@part, 1), getequipcardid(.@part, 2), getequipcardid(.@part, 3);
+
+	mes "[Aver De Dosh]";
+	mes "Wow~ This ^0000FF" + getitemname(.@equip_id) + "^000000!!! looks great on you!!";
+	mes "What kind of stone do you want to use for the upgrade?";
+	next;
+	if (.@part == EQI_COSTUME_HEAD_TOP)
+		.@slot = select( "Upper", "Middle", "Lower", "Cancel" ) - 1;	// the slot enchanted changes according to the location
+	else if (.@part == EQI_COSTUME_HEAD_MID)
+		.@slot = select( "", "Middle", "Lower", "Cancel" ) - 1;
+	else if (.@part == EQI_COSTUME_HEAD_LOW)
+		.@slot = 2;
+
+	switch(.@slot) {
+	case 0:
+		if (!(.@location & 1024)) {
+			mes "[Aver De Dosh]";
+			mes "The costume can't be enhanced at this location.";	// custom
+			close;
+		}
+		setarray .@stone_id[0],
+			6636, 4700,	// STRStone_Top	Strength1
+			6637, 4710,	// INTStone_Top	Inteligence1
+			6638, 4730,	// AGIStone_Top	Agility1
+			6639, 4720,	// DEXStone_Top	Dexterity1
+			6640, 4740,	// VITStone_Top	Vitality1
+			6641, 4750,	// LUKStone_Top	Luck1
+			6716, 4926,	// Cri_Stone	Critical1
+			6740, 4930,	// HealStone_Top	HEAL2
+			6741, 4805,	// HealStone2_Top	Heal_Amount2
+			6790, 4936,	// BigStone_Top	ATK_BIG1
+			6791, 4937,	// MediumStone_Top	ATK_MEDIUM1
+			6792, 4938,	// SmallStone_Top	ATK_SMALL1
+			6943, 29028,	// ATKStone_Top	Atk1p_Top
+			6944, 29030,	// MATKStone_Top	Matk1p_Top
+			6999, 29013,	// HPdrainStone_Top	HPdrain3
+			25000, 29032,	// SPdrainStone_Top	SPdrain1_Top
+			25068, 4807,	// ASPDStone_Top	Atk_Speed1
+			25069, 29053,	// ReloadStone_Top	Skill_Delay1_Top
+			25171, 29159,	// EXPStone_Top	EXP2TOP
+			25172, 29156,	// CastingStone_Top	Casting_Top
+			25304, 29359;	// Critical_Stone_Top	Fatal_Top
+		break;
+	case 1:
+		if (!(.@location & 2048)) {
+			mes "[Aver De Dosh]";
+			mes "The costume can't be enhanced at this location.";	// custom
+			close;
+		}
+		setarray .@stone_id[0],
+			6642, 4882,	// ATKStone_Middle	Atk1p
+			6643, 4883,	// MATKStone_Middle	Matk1p
+			6717, 4927,	// MaxHP_Stone	HP50
+			6742, 4931,	// HealStone_Middle	HEALHP1
+			6743, 4861,	// HPStone_Middle	MHP1
+			6744, 4929,	// SPStone_Middle	MSP1
+			6945, 4700,	// STRStone_Middle	Strength1
+			6946, 4710,	// INTStone_Middle	Inteligence1
+			6947, 4730,	// AGIStone_Middle	Agility1
+			6948, 4720,	// DEXStone_Middle	Dexterity1
+			6949, 4740,	// VITStone_Middle	Vitality1
+			6950, 4750,	// LUKStone_Middle	Luck1
+			25001, 29026,	// DEFStone_Middle	Def20
+			25002, 29024,	// ChangeLUK_Middle	LUK3STR
+			25003, 29014,	// ChangeSTR_Middle	STR3INT
+			25004, 29022,	// ChangeAGI_Middle	AGI3LUK
+			25005, 29016,	// ChangeINT_Middle	INT3DEX
+			25006, 29020,	// ChangeVIT_Middle	VIT3AGI
+			25007, 29018,	// ChangeDEX_Middle	DEX3VIT
+			25060, 29047,	// Critical_Stone	Fatal0
+			25061, 29048,	// Range_Stone	Expert_Archer0
+			25070, 29054,	// ReloadStone_Middle	Skill_Delay1_Middle
+			25141, 29145,	// EXPStone_Middle	EXP2MIDDLE
+			25173, 29157,	// CastingStone_Middle	Casting_Middle
+			25175, 29155;	// LexAeternaStone_Middle	LexAeterna
+		break;
+	case 2:
+		if (!(.@location & 4096)) {
+			mes "[Aver De Dosh]";
+			mes "The costume can't be enhanced at this location.";	// custom
+			close;
+		}
+		setarray .@stone_id[0],
+			6644, 4884,	// HITStone_Bottom	HIT1
+			6645, 4859,	// FLEEStone_Bottom	Evasion1
+			6718, 4928,	// MaxSP_Stone	SP10
+			6745, 4932,	// HealStone_Bottom	HEALSP1
+			6951, 4861,	// HPStone_Bottom	MHP1
+			25008, 29021,	// ChangeVIT_Bottom	VIT3LUK
+			25009, 29023,	// ChangeAGI_Bottom	AGI3STR
+			25010, 29019,	// ChangeDEX_Bottom	DEX3AGI
+			25011, 29025,	// ChangeLUK_Bottom	LUK3INT
+			25012, 29015,	// ChangeSTR_Bottom	STR3DEX
+			25013, 29017,	// ChangeINT_Bottom	INT3VIT
+			25014, 29033,	// MDEFStone_Bottom	Mdef4_Bottom
+			25015, 29027,	// EXPStone_Bottom	EXP2
+			25016, 29029,	// ATKStone_Bottom	Atk1p_Bottom
+			25017, 29031,	// MATKStone_Bottom	Matk1p_Bottom
+			25062, 29046,	// Greed_Stone	Greed
+			25063, 29049,	// MaxHP2_Stone	HP100_
+			25064, 29050,	// MaxSP2_Stone	SP50_
+			25065, 29051,	// Detoxify_Stone	Detoxify
+			25066, 29052,	// Recovery_Stone	Recovery
+			25071, 29055,	// ReloadStone_Bottom	Skill_Delay1_Bottom
+			25072, 29057,	// Kyrie_Stone	Kyrie
+			25139, 29146,	// Identify_Stone	Identify
+			25174, 29158,	// CastingStone_Bottom	Casting_Bottom
+			25227, 29227,	// Heal_Stone	Heal
+			25228, 29229,	// Teleport_Stone	Teleport
+			25229, 29228,	// Steal_Stone	Steal
+			25305, 29360;	// Critical_Stone_Bottom	Fatal_Bottom
+		break;
+	default:
+		mes "[Aver De Dosh]";
+		mes "Please check our other upgrading services~";
+		close;
+	}
+	.@size = getarraysize(.@stone_id);
+	for ( .@i = 0; .@i < .@size; .@i += 2 )
+		.@menu$ += sprintf( "%d. %s [%d] left:", (.@i/2)+1, getitemname(.@stone_id[.@i]), countitem(.@stone_id[.@i]) );
+	.@s = (select(.@menu$) - 1) * 2;
+	.@stone = .@stone_id[.@s];
+	.@enchant = .@stone_id[.@s+1];
+
+	if (getequipid(.@part) < 0 || countitem(.@stone) < 1) {
+		mes "[Aver De Dosh]";
+		mes "Hmm? Think you are lack of ingredients.";
+		mes "You must have both costume item and ability stone for this upgrading work.";
+		close;
+	}
+	mes "^FF0000   !!! Caution !!!^000000";
+	mes "^FF0000This upgrade can be failed.^000000";
+	mes "^FF0000If the item already has extra ability,^000000";
+	mes "^FF0000we will reset item's ability.^000000";
+	mes "^FF0000Are you sure about upgrading this item?^000000";
+	next;
+	if (select( "Yes.", "No." ) == 2) {
+		mes "[Aver De Dosh]";
+		mes "Please check our other upgrading services~";
+		close;
+	}
+	delitem .@stone, 1;
+
+	// anti-hack
+	if (callfunc("F_IsEquipIDHack", .@part, .@equip_id) || callfunc("F_IsEquipCardHack", .@part, .@card[0], .@card[1], .@card[2], .@card[3]) || callfunc("F_IsEquipRefineHack", .@part, .@equip_refine))
+		close;
+
+	delequip .@part;
+	if (rand(1,100) < 51) {
+		mes "[Aver De Dosh]";
+		mes "Wow... Elegance!!";
+		mes "This is perfect... Wow!";
+		.@card[.@slot] = .@enchant;
+	}
+	else {
+		mes "[Aver De Dosh]";
+		mes "History is known for its failure...";
+		mes "History of Fashion also is...";
+		mes "Sorry...to disappoint you..~ LoL.";
+		.@card[.@slot] = 0;
+	}
+	getitem2 .@equip_id,1,1,.@equip_refine,0,.@card[0],.@card[1],.@card[2],.@card[3];
+	close;
+}
+
+// Costume enchant (garment)
+mal_in01,20,107,3	script	Lace La Zard#cos_ect	4_FROG,{
+	disable_items;
+	mes "[Lace La Zard]";
+	mes "Welcome to Fashion Stone!!";
+	mes "My name is Lace La Zard who will make your 'Power Shoulder' dream come true.";
+	next;
+	mes "[Lace La Zard]";
+	mes "Bring your ^ff0000Costume Garment^000000 and ^ff0000Garment Stone^000000, I will complete the perfect upgrade for you.!";
+	mes "I found this formula while working on my own humble body upgrading!";
+	next;
+	if (select( "Apply ability.", "End Conversation." ) == 2) {
+		mes "[Lace La Zard]";
+		mes "Yes? Your want to look more?";
+		close;
+	}
+	if (checkweight(1119,3) == 0) {
+		mes "[Lace La Zard]";
+		mes "Well... Your shoulder doesn't look possilbe for any more upgrade...!";
+		mes "Don't be cruel to your shoulder!";
+		next;
+		mes "It seems you have too many items on you.";
+		mes "Come back after clearing some inventory spaces.";
+		close;
+	}
+	.@part = EQI_COSTUME_GARMENT;
+	.@equip_id = getequipid(.@part);
+	if (.@equip_id == -1) {
+		mes "[Lace La Zard]";
+		mes "Put the garment on your shoulder.";
+		mes "I need to have a look at it to check for upgrading posibility..";
+		close;
+	}
+
+	// costume garment list allowed (incomplete)
+	switch(.@equip_id) {
+	case 20502:	// C_Devil_Wing
+	case 20504:	// C_Cupid_Wing_Pink
+	case 20505:	// C_Cupid_Wing_Skyblue
+	case 20506:	// C_Invisible_Manteau
+	case 20507:	// C_Poring_Bag
+	case 20509:	// C_Wings_of_Uriel
+	case 20510:	// C_SwordWing
+	case 20511:	// C_Blue_Fairy_Wing
+	case 20727:	// Brilliant_Golden_Wings
+	case 20737:	// C_Kirin_Wing
+	case 20746:	// C_Rudra_Wing
+	case 20761:	// C_Wing_Of_Happiness
+	case 20762:	// C_GreatDevilWing
+	case 20763:	// C_Amistr_Bag
+	case 20764:	// C_Fallen_Angel_Wing
+	case 20765:	// C_Archangel_Wing
+		break;
+	default:
+		mes "[Lace La Zard]";
+		mes "I need to have a look at it to check for upgrading posibility..";// custom
+		close;
+	}
+
+	.@equip_refine = getequiprefinerycnt(.@part);
+	setarray .@card[0], getequipcardid(.@part, 0), getequipcardid(.@part, 1), getequipcardid(.@part, 2), getequipcardid(.@part, 3);
+
+	mes "[Lace La Zard]";
+	mes "Wow ^0000FF" + getitemname(.@equip_id) + "^000000!!! You got some sense there, aren't you?";
+	mes "Great!! I'm fully ready for this upgrade!!";
+	next;
+	setarray .@data$[0],
+		6908, 4807, "ASPD+1 only",	// ASPDStone_Robe	Atk_Speed1
+		6963, 4992, "Absorption 1% of damage dealt to enemy into HP with 1% chance",	// HPdrainStone_Robe	HPdrain1
+		6964, 4993, "Absorption 1% of damage dealt to enemy into SP with 1% chance";	// SPdrainStone_Robe	SPdrain1
+		// unknown text
+		// 25067, 29056, "",	// CastingStone_Robe	FixedCasting05
+		// 25170, 29154, "",	// MinorCastingStone_Robe	FixedCasting03
+		// 25302, 29362, "",	// DoubleAttack_Stone	DoubleAttack
+		// 25303, 29361, "",	// Critical_Stone_Robe	Fatal_Robe
+		// 25306, 29358, "";	// CastStone_Robe	Casting_Robe
+
+	.@size = getarraysize(.@data$);
+	for ( .@i = 0; .@i < .@size; .@i += 3 ) {
+		.@id = atoi(.@data$[.@i]);
+		.@menu$ += sprintf( "%d. %s (%d) left:", (.@j+1), getitemname(.@id), countitem(.@id) );
+		.@j++;
+	}
+	.@menu$ += "End Conversation.";
+	.@s = (select(.@menu$) - 1) * 3;
+	if (.@s == .@size) {
+		mes "[Lace La Zard]";
+		mes "Yes? Your want to look more?";
+		close;
+	}
+	.@id = atoi(.@data$[.@s]);
+	.@enchant = atoi(.@data$[.@s+1]);
+	if (getequipid(.@part) < 0 || countitem(.@id) < 1) {
+		mes "[Lace La Zard]";
+		mes "You must have both costume item and ability stone for this upgrading work.";
+		close;
+	}
+	mes "^FF0000   !!! Caution !!!^000000";
+	mes "^ff0000This upgrade can be failed.^000000";
+	mes "^ff0000If the item already has extra ability, we will reset item's ability and give " + .@data$[.@s+2] + ".^000000";
+	mes "^ff0000Are you sure about upgrading this item?^000000";
+	next;
+	if (select( "Yes.", "No." ) == 2) {
+		mes "[Lace La Zard]";
+		mes "Yes? Your want to look more?";
+		close;
+	}
+
+	// anti-hack
+	if (callfunc("F_IsEquipIDHack", .@part, .@equip_id) || callfunc("F_IsEquipCardHack", .@part, .@card[0], .@card[1], .@card[2], .@card[3]) || callfunc("F_IsEquipRefineHack", .@part, .@equip_refine))
+		close;
+
+	delitem .@id, 1;
+	delequip .@part;
+	if (rand(100) < 50) {
+		mes "[Lace La Zard]";
+		mes "Beautiful!!";
+		mes "Did I really made this myself!!!!";
+		.@card[0] = .@enchant;
+	}
+	else {
+		mes "[Lace La Zard]";
+		mes "Oh no!";
+		mes "Crash!!!!! I cannot show this failure to the World!!!";
+		.@card[0] = 0;
+	}
+	getitem2 .@equip_id,1,1,.@equip_refine,0,.@card[0],.@card[1],.@card[2],.@card[3];
+	close;
+}

+ 169 - 0
npc/re/merchants/pet_trader.txt

@@ -0,0 +1,169 @@
+//===== rAthena Script =======================================
+//= Pet Trader NPC
+//===== Description: =========================================
+//= [Walkthrough Conversion]
+//= Exchanges Cute Pet Tickets for Pet Eggs.
+//===== Additional Comments: =================================
+//= 1.0 First version [Latiosu]
+//============================================================
+
+prontera,210,209,5	script	Pet Trader#1	4_M_JPNOJI,{
+	disable_items;
+	mes "[Pet Trader]";
+	mes "Making a living through business ain't easy.";
+	mes "I get real bad motion sickness, yet today I got caught up in a storm on my way here.";
+	next;
+	mes "[Pet Trader]";
+	mes "It was such a horrible experience. Thanks to that, I don't feel so good. Ughh...";
+	next;
+	mes "[Pet Trader]";
+	mes "Anyway, did you come here looking for a Cute Pet?";
+	mes "You've brought a ticket with you, right?";
+	next;
+	switch (select("Examine your tickets:Cancel")) {
+	case 1:
+		setarray .@tickets,
+			6116, //Succu_Pet_Coupon
+			6117, //Imp_Pet_Coupon
+			6118, //Chung_E_Pet_Coupon
+			6129, //Ticket_Nightmare
+			6130, //Ticket_Loli_Ruri
+			6131, //Ticket_Goblin_Leader
+			6132, //Ticket_Incubus
+			6133, //Ticket_Miyabi_Ningyo
+			6134, //Ticket_Whisper
+			6135, //Ticket_Wicked_Nymph
+			6136, //Ticket_Medusa
+			6137, //Ticket_Stoneshooter
+			6138, //Ticket_Marionette
+			6139, //Ticket_Leafcat
+			6140, //Ticket_Dullahan
+			6141, //Ticket_Shinobi
+			6142, //Ticket_Golem
+			6143, //Ticket_Civil_Servant
+			6157, //Poring_Ticket
+			6158, //Drops_Ticket
+			6159, //Poporing_Ticket
+			6160, //Lunatic_Ticket
+			6161, //Picky_Ticket
+			6162, //Pecopeco_Ticket
+			6163, //Savage_Baby_Ticket
+			6164, //Spore_Ticket
+			6165, //Poison_Spore_Ticket
+			6166, //Chonchon_Ticket
+			6167, //Steel_Chonchon_Ticket
+			6168, //Petit_Ticket
+			6169, //Deviruchi_Ticket
+			6170, //Isis_Ticket
+			6171, //Smokie_Ticket
+			6172, //Dokebi_Ticket
+			6173, //Desert_Wolf_B_Ticket
+			6174, //Yoyo_Ticket
+			6175, //Sohee_Ticket
+			6176, //Rocker_Ticket
+			6177, //Hunter_Fly_Ticket
+			6178, //Orc_Warrior_Ticket
+			6179, //Bapho_Jr_Ticket
+			6180, //Munak_Ticket
+			6181, //Bongun_Ticket
+			6182, //Goblin_Ticket
+			6183, //Hardtack_Ticket
+			6184, //Zherlthsh_Ticket
+			6185, //Alice_Ticket
+			6883, //Pet_Snow_Bunny_Ticket
+			6884; //Pet_Tikbalang_Ticket
+		setarray .@eggs,
+			9055, //Succubus_Egg
+			9056, //Imp_Egg
+			9030, //Chung_E_Egg
+			9054, //Nightmare_Terror_Egg
+			9042, //Loli_Ruri_Egg
+			9046, //Goblin_Leader_Egg
+			9052, //Incubus_Egg
+			9048, //Miyabi_Ningyo_Egg
+			9045, //Whisper_Egg
+			9047, //Wicked_Nymph_Egg
+			9050, //Medusa_Egg
+			9051, //Stone_Shooter_Egg
+			9043, //Marionette_Egg
+			9041, //Leaf_Cat_Egg
+			9049, //Dullahan_Egg
+			9044, //Shinobi_Egg
+			9053, //Golem_Egg
+			9040, //Civil_Servant_Egg
+			9001, //Poring_Egg
+			9002, //Drops_Egg
+			9003, //Poporing_Egg
+			9004, //Lunatic_Egg
+			9005, //Picky_Egg
+			9014, //PecoPeco_Egg
+			9009, //Savage_Bebe_Egg
+			9012, //Spore_Egg
+			9013, //Poison_Spore_Egg
+			9006, //Chonchon_Egg
+			9007, //Steel_Chonchon_Egg
+			9022, //Green_Petite_Egg
+			9023, //Deviruchi_Egg
+			9021, //Isis_Egg
+			9015, //Smokie_Egg
+			9019, //Dokkaebi_Egg
+			9010, //Baby_Desert_Wolf_Egg
+			9016, //Yoyo_Egg
+			9020, //Sohee_Egg
+			9011, //Rocker_Egg
+			9008, //Hunter_Fly_Egg
+			9017, //Orc_Warrior_Egg
+			9024, //Bapho_Jr
+			9018, //Munak_Egg
+			9025, //Bongun_Egg
+			9029, //Santa_Goblin_Egg
+			9028, //Rice_Cake_Egg
+			9026, //Zherlthsh_Egg
+			9027, //Alice_Egg
+			9058, //Snow_Rabbit_Egg
+			9059; //Tikbalang_Pet
+		for (.@i = 0; .@i < getarraysize(.@tickets); .@i++) {
+			if (countitem(.@tickets[.@i]) > 0) {
+				.@menu$ += getitemname(.@tickets[.@i]) + ":";
+				.@ticketIndices[.@count++] = .@i;
+			}
+		}
+
+		if (.@count == 0) {
+			mes "[Pet Trader]";
+			mes "I don't think you've got the stuff I want.";
+			close;
+		}
+
+		mes "[Pet Trader]";
+		mes "Which ticket do you want to exchange?";
+		next;
+		.@index = .@ticketIndices[select(.@menu$) - 1];
+
+		mes "[Pet Trader]";
+		mes "Great!";
+		mes "^0000FF"+ getitemname(.@eggs[.@index]) +"^000000";
+		mes "Are you sure you want this pet?";
+		next;
+		if (select("Yes:No") == 2) close;
+		if (!checkweight(.@eggs[.@index], 1)) {
+			mes "You're carrying too much stuff!";
+			mes "Come back when you've made some space.";
+			close;
+		}
+
+		mes "[Pet Trader]";
+		mes "Here's your pet~";
+		delitem .@tickets[.@index], 1;
+		getitem .@eggs[.@index], 1;
+		close;
+	case 2:
+		mes "[Pet Trader]";
+		mes "So you want hear about the land across the sea, but I ain't feeling so well today.";
+		close;
+	}
+	end;
+}
+
+// Duplicate NPCs
+alberta,179,141,5	duplicate(Pet Trader#1)	Pet Trader#2	4_M_JPNOJI

+ 2 - 2
npc/re/merchants/te_merchant.txt

@@ -120,7 +120,7 @@ S_Rent:
 	mes "Select the desired item.";
 	mes "Select the desired item.";
 	next;
 	next;
 	for ( .@i = 1; .@i < getargcount(); .@i += 2 ) {
 	for ( .@i = 1; .@i < getargcount(); .@i += 2 ) {
-		if (countitem(getarg(.@i)) > isequippedcnt(getarg(.@i)))// don't count item equipped
+		if (rentalcountitem(getarg(.@i)) > isequippedcnt(getarg(.@i)))// don't count item equipped
 			.@menu$ = .@menu$ + "^4d4dff"+ getarg(.@i+1) +" - Checked out^000000:";
 			.@menu$ = .@menu$ + "^4d4dff"+ getarg(.@i+1) +" - Checked out^000000:";
 		else
 		else
 			.@menu$ = .@menu$ + getarg(.@i+1) + ":";
 			.@menu$ = .@menu$ + getarg(.@i+1) + ":";
@@ -130,7 +130,7 @@ S_Rent:
 	if (.@s <= .@total_item) {
 	if (.@s <= .@total_item) {
 		.@index = .@s *2 +1;
 		.@index = .@s *2 +1;
 		mes "[Rental Items Manager]";
 		mes "[Rental Items Manager]";
-		if (countitem(getarg(.@index)) > isequippedcnt(getarg(.@index)))
+		if (rentalcountitem(getarg(.@index)) > isequippedcnt(getarg(.@index)))
 			mes "You already have "+ getarg(.@index+1) +".";
 			mes "You already have "+ getarg(.@index+1) +".";
 		else {
 		else {
 			mes "Here is "+ getarg(.@index+1) +".";
 			mes "Here is "+ getarg(.@index+1) +".";

+ 10 - 0
npc/re/quests/quests_niflheim.txt

@@ -0,0 +1,10 @@
+//===== rAthena Script =======================================
+//= Quest NPCs related to Niflheim
+//===== Description: =========================================
+//= [Official Conversion]
+//= Piano Key Ouest
+//===== Additional Comments: =================================
+//= 1.0 Moved Piano3 to pre-re/re paths. [Daegaladh]
+//============================================================
+
+nif_in,118,151,0	duplicate(Piano3)	#Piano3	HIDDEN_NPC,1,1

+ 1 - 0
npc/re/quests/quests_rockridge.txt

@@ -5888,6 +5888,7 @@ harboro1,156,215,5	script	Innkeeper#rockridge	1_ETC_01,{
 		mes "Enjoy your stay at the Lazy Owl's.";
 		mes "Enjoy your stay at the Lazy Owl's.";
 		close2;
 		close2;
 		Zeny = Zeny - 5000;
 		Zeny = Zeny - 5000;
+		percentheal 100,100;
 		warp "harboro1",157,210;
 		warp "harboro1",157,210;
 		end;
 		end;
 	case 3:
 	case 3:

+ 3 - 0
npc/re/scripts_athena.conf

@@ -111,9 +111,11 @@ npc: npc/re/merchants/guild_warehouse.txt
 npc: npc/re/merchants/hd_refiner.txt
 npc: npc/re/merchants/hd_refiner.txt
 npc: npc/re/merchants/HorrorToyFactory_merchants.txt
 npc: npc/re/merchants/HorrorToyFactory_merchants.txt
 npc: npc/re/merchants/inn.txt
 npc: npc/re/merchants/inn.txt
+npc: npc/re/merchants/malangdo_costume.txt
 npc: npc/re/merchants/moro_cav_exchange.txt
 npc: npc/re/merchants/moro_cav_exchange.txt
 npc: npc/re/merchants/nightmare_biolab.txt
 npc: npc/re/merchants/nightmare_biolab.txt
 npc: npc/re/merchants/OldGlastHeim_merchants.txt
 npc: npc/re/merchants/OldGlastHeim_merchants.txt
+npc: npc/re/merchants/pet_trader.txt
 npc: npc/re/merchants/quivers.txt
 npc: npc/re/merchants/quivers.txt
 npc: npc/re/merchants/refine.txt
 npc: npc/re/merchants/refine.txt
 npc: npc/re/merchants/renters.txt
 npc: npc/re/merchants/renters.txt
@@ -198,6 +200,7 @@ npc: npc/re/quests/quests_malaya.txt
 npc: npc/re/quests/quests_mora.txt
 npc: npc/re/quests/quests_mora.txt
 npc: npc/re/quests/quests_morocc.txt
 npc: npc/re/quests/quests_morocc.txt
 npc: npc/re/quests/quests_nameless.txt
 npc: npc/re/quests/quests_nameless.txt
+npc: npc/re/quests/quests_niflheim.txt
 npc: npc/re/quests/quests_rockridge.txt
 npc: npc/re/quests/quests_rockridge.txt
 npc: npc/re/quests/quests_veins.txt
 npc: npc/re/quests/quests_veins.txt
 npc: npc/re/quests/the_sign_quest.txt
 npc: npc/re/quests/the_sign_quest.txt

+ 175 - 175
sql-files/item_db.sql

@@ -512,7 +512,7 @@ REPLACE INTO `item_db` VALUES (1126,'Saber','Saber',5,49000,NULL,1000,115,NULL,1
 REPLACE INTO `item_db` VALUES (1127,'Saber_','Saber',5,49000,NULL,1000,115,NULL,1,3,0x000654E2,7,2,2,3,27,1,2,NULL,NULL,NULL);
 REPLACE INTO `item_db` VALUES (1127,'Saber_','Saber',5,49000,NULL,1000,115,NULL,1,3,0x000654E2,7,2,2,3,27,1,2,NULL,NULL,NULL);
 REPLACE INTO `item_db` VALUES (1128,'Hae_Dong_Gum_','Haedonggum',5,50000,NULL,900,120,NULL,1,2,0x000654E2,7,2,2,3,27,1,2,'bonus bInt,3;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1128,'Hae_Dong_Gum_','Haedonggum',5,50000,NULL,900,120,NULL,1,2,0x000654E2,7,2,2,3,27,1,2,'bonus bInt,3;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1129,'Flamberge','Flamberge',5,60000,NULL,1500,150,NULL,1,0,0x00004080,7,2,2,3,27,1,2,NULL,NULL,NULL);
 REPLACE INTO `item_db` VALUES (1129,'Flamberge','Flamberge',5,60000,NULL,1500,150,NULL,1,0,0x00004080,7,2,2,3,27,1,2,NULL,NULL,NULL);
-REPLACE INTO `item_db` VALUES (1130,'Nagan','Nagan',5,20,NULL,500,120,NULL,1,0,0x000654E2,7,2,2,4,40,1,2,'skill "TF_DOUBLE",5; bonus bDoubleRate,25; bonus2 bAddRace,RC_DemiHuman,5; bonus2 bAddRace,RC_Player,5;',NULL,NULL);
+REPLACE INTO `item_db` VALUES (1130,'Nagan','Nagan',5,20,NULL,500,120,NULL,1,0,0x000654E2,7,2,2,4,40,1,2,'skill "TF_DOUBLE",5; bonus bDoubleRate,25; bonus2 bAddRace,RC_DemiHuman,5; bonus2 bAddRace,RC_Player_Human,5;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1131,'Ice_Falchon','Ice Falchion',5,20,NULL,600,100,NULL,1,0,0x000654E2,7,2,2,4,40,1,2,'bonus bAtkEle,Ele_Water; bonus2 bAddEff,Eff_Freeze,500; bonus2 bAddEff2,Eff_Freeze,10; skill "MG_COLDBOLT",3; bonus3 bAutoSpell,"MG_COLDBOLT",3,100;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1131,'Ice_Falchon','Ice Falchion',5,20,NULL,600,100,NULL,1,0,0x000654E2,7,2,2,4,40,1,2,'bonus bAtkEle,Ele_Water; bonus2 bAddEff,Eff_Freeze,500; bonus2 bAddEff2,Eff_Freeze,10; skill "MG_COLDBOLT",3; bonus3 bAutoSpell,"MG_COLDBOLT",3,100;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1132,'Edge','Edge',5,20,NULL,700,115,NULL,1,0,0x000654E2,7,2,2,4,40,1,2,'bonus2 bAddEff,Eff_Curse,30; bonus2 bComaClass,Class_Normal,10;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1132,'Edge','Edge',5,20,NULL,700,115,NULL,1,0,0x000654E2,7,2,2,4,40,1,2,'bonus2 bAddEff,Eff_Curse,30; bonus2 bComaClass,Class_Normal,10;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1133,'Fire_Brand','Fireblend',5,20,NULL,500,100,NULL,1,0,0x000654E2,7,2,2,4,40,1,2,'bonus bAtkEle,Ele_Fire; skill "MG_FIREBOLT",3; bonus3 bAutoSpell,"MG_FIREBOLT",3,100;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1133,'Fire_Brand','Fireblend',5,20,NULL,500,100,NULL,1,0,0x000654E2,7,2,2,4,40,1,2,'bonus bAtkEle,Ele_Fire; skill "MG_FIREBOLT",3; bonus3 bAutoSpell,"MG_FIREBOLT",3,100;',NULL,NULL);
@@ -551,25 +551,25 @@ REPLACE INTO `item_db` VALUES (1165,'Masamune','Masamune',5,20,NULL,1000,200,NUL
 REPLACE INTO `item_db` VALUES (1166,'Dragon_Slayer','Dragon Slayer',5,20,NULL,1300,150,NULL,1,0,0x00004082,7,2,34,4,48,1,3,'bonus bIgnoreDefRace,RC_Dragon; bonus2 bAddRace,RC_Dragon,15;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1166,'Dragon_Slayer','Dragon Slayer',5,20,NULL,1300,150,NULL,1,0,0x00004082,7,2,34,4,48,1,3,'bonus bIgnoreDefRace,RC_Dragon; bonus2 bAddRace,RC_Dragon,15;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1167,'Schweizersabel','Schweizersabel',5,20,NULL,1600,160,NULL,1,0,0x00004082,7,2,34,4,48,1,3,'bonus bAtkEle,Ele_Wind; bonus bDef,1; bonus3 bAutoSpell,"MG_LIGHTNINGBOLT",3,100;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1167,'Schweizersabel','Schweizersabel',5,20,NULL,1600,160,NULL,1,0,0x00004082,7,2,34,4,48,1,3,'bonus bAtkEle,Ele_Wind; bonus bDef,1; bonus3 bAutoSpell,"MG_LIGHTNINGBOLT",3,100;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1168,'Zweihander','Zweihander',5,20,NULL,2200,200,NULL,1,0,0x00004082,7,2,34,4,48,1,3,'bonus bUnbreakableWeapon;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1168,'Zweihander','Zweihander',5,20,NULL,2200,200,NULL,1,0,0x00004082,7,2,34,4,48,1,3,'bonus bUnbreakableWeapon;',NULL,NULL);
-REPLACE INTO `item_db` VALUES (1169,'Executioner_','Executioner',5,20,NULL,2200,155,NULL,1,0,0x00004082,7,2,34,4,48,1,3,'bonus bIgnoreDefRace,RC_DemiHuman; bonus bIgnoreDefRace,RC_Player; bonus2 bAddRace,RC_DemiHuman,20; bonus2 bAddRace,RC_Player,20; bonus2 bSubRace,RC_DemiHuman,-10; bonus2 bSubRace,RC_Player,-10; bonus bAtkEle,Ele_Dark;',NULL,NULL);
+REPLACE INTO `item_db` VALUES (1169,'Executioner_','Executioner',5,20,NULL,2200,155,NULL,1,0,0x00004082,7,2,34,4,48,1,3,'bonus bIgnoreDefRace,RC_DemiHuman; bonus bIgnoreDefRace,RC_Player_Human; bonus2 bAddRace,RC_DemiHuman,20; bonus2 bAddRace,RC_Player_Human,20; bonus2 bSubRace,RC_DemiHuman,-10; bonus2 bSubRace,RC_Player_Human,-10; bonus bAtkEle,Ele_Dark;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1170,'Katzbalger','Katzbalger',5,20,NULL,2000,175,NULL,1,0,0x00004082,7,2,34,4,48,1,3,'bonus bVit,5; bonus bDef,10;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1170,'Katzbalger','Katzbalger',5,20,NULL,2000,175,NULL,1,0,0x00004082,7,2,34,4,48,1,3,'bonus bVit,5; bonus bDef,10;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1171,'Zweihander_','Zweihander',5,20,NULL,2200,200,NULL,1,2,0x00004082,7,2,34,4,48,1,3,'bonus bUnbreakableWeapon;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1171,'Zweihander_','Zweihander',5,20,NULL,2200,200,NULL,1,2,0x00004082,7,2,34,4,48,1,3,'bonus bUnbreakableWeapon;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1172,'Claymore_','Claymore',5,74000,NULL,2500,180,NULL,1,2,0x00004080,7,2,34,3,33,1,3,NULL,NULL,NULL);
 REPLACE INTO `item_db` VALUES (1172,'Claymore_','Claymore',5,74000,NULL,2500,180,NULL,1,2,0x00004080,7,2,34,3,33,1,3,NULL,NULL,NULL);
 REPLACE INTO `item_db` VALUES (1173,'Muramasa_C','Muramasa',5,1,NULL,0,204,NULL,1,0,0x00004082,7,2,34,4,1,0,3,'bonus bCritical,30; bonus bAspdRate,8;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1173,'Muramasa_C','Muramasa',5,1,NULL,0,204,NULL,1,0,0x00004082,7,2,34,4,1,0,3,'bonus bCritical,30; bonus bAspdRate,8;',NULL,NULL);
-REPLACE INTO `item_db` VALUES (1174,'Executioner_C','Executioner',5,2,NULL,0,190,NULL,1,0,0x00004082,7,2,34,4,0,0,3,'bonus bIgnoreDefRace,RC_DemiHuman; bonus bIgnoreDefRace,RC_Player; bonus2 bAddRace,RC_DemiHuman,20; bonus2 bAddRace,RC_Player,20; bonus2 bSubRace,RC_DemiHuman,-10; bonus2 bSubRace,RC_Player,-10; bonus bAtkEle,Ele_Dark;',NULL,NULL);
+REPLACE INTO `item_db` VALUES (1174,'Executioner_C','Executioner',5,2,NULL,0,190,NULL,1,0,0x00004082,7,2,34,4,0,0,3,'bonus bIgnoreDefRace,RC_DemiHuman; bonus bIgnoreDefRace,RC_Player_Human; bonus2 bAddRace,RC_DemiHuman,20; bonus2 bAddRace,RC_Player_Human,20; bonus2 bSubRace,RC_DemiHuman,-10; bonus2 bSubRace,RC_Player_Human,-10; bonus bAtkEle,Ele_Dark;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1175,'Altas_Weapon','Atlas Weapon',5,20,NULL,3500,200,NULL,1,1,0x00004082,2,2,34,4,55,1,3,'bonus bCritical,10; if(readparam(bStr)>=80) bonus bBreakArmorRate,500;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1175,'Altas_Weapon','Atlas Weapon',5,20,NULL,3500,200,NULL,1,1,0x00004082,2,2,34,4,55,1,3,'bonus bCritical,10; if(readparam(bStr)>=80) bonus bBreakArmorRate,500;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1176,'Muscle_Cutter','Muscle Cutter',5,20,NULL,2200,160,NULL,1,2,0x00004082,2,2,34,4,55,1,3,'bonus2 bAddEff,Eff_Bleeding,800; bonus3 bAutoSpell,"AL_DECAGI",1,30;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1176,'Muscle_Cutter','Muscle Cutter',5,20,NULL,2200,160,NULL,1,2,0x00004082,2,2,34,4,55,1,3,'bonus2 bAddEff,Eff_Bleeding,800; bonus3 bAutoSpell,"AL_DECAGI",1,30;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1177,'Muramash','Muramash',5,20,NULL,0,120,NULL,1,0,0x00004082,7,2,34,1,0,0,3,'bonus2 bAddClass,Class_All,50;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1177,'Muramash','Muramash',5,20,NULL,0,120,NULL,1,0,0x00004082,7,2,34,1,0,0,3,'bonus2 bAddClass,Class_All,50;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1178,'Schweizersabel_','Schweizersabel',5,20,NULL,1600,160,NULL,1,2,0x00004082,7,2,34,4,48,1,3,'bonus bAtkEle,Ele_Wind; bonus bDef,1; bonus3 bAutoSpell,"MG_LIGHTNINGBOLT",3,100;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1178,'Schweizersabel_','Schweizersabel',5,20,NULL,1600,160,NULL,1,2,0x00004082,7,2,34,4,48,1,3,'bonus bAtkEle,Ele_Wind; bonus bDef,1; bonus3 bAutoSpell,"MG_LIGHTNINGBOLT",3,100;',NULL,NULL);
-REPLACE INTO `item_db` VALUES (1179,'Executioner__','Executioner',5,20,NULL,2200,155,NULL,1,1,0x00004082,7,2,34,4,48,1,3,'bonus bIgnoreDefRace,RC_DemiHuman; bonus bIgnoreDefRace,RC_Player; bonus2 bAddRace,RC_DemiHuman,20; bonus2 bAddRace,RC_Player,20; bonus2 bSubRace,RC_DemiHuman,-10; bonus2 bSubRace,RC_Player,-10; bonus bAtkEle,Ele_Dark;',NULL,NULL);
+REPLACE INTO `item_db` VALUES (1179,'Executioner__','Executioner',5,20,NULL,2200,155,NULL,1,1,0x00004082,7,2,34,4,48,1,3,'bonus bIgnoreDefRace,RC_DemiHuman; bonus bIgnoreDefRace,RC_Player_Human; bonus2 bAddRace,RC_DemiHuman,20; bonus2 bAddRace,RC_Player_Human,20; bonus2 bSubRace,RC_DemiHuman,-10; bonus2 bSubRace,RC_Player_Human,-10; bonus bAtkEle,Ele_Dark;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1180,'Dragon_Slayer_','Dragon Slayer',5,20,NULL,1300,150,NULL,1,2,0x00004082,7,2,34,4,48,1,3,'bonus bIgnoreDefRace,RC_Dragon; bonus2 bAddRace,RC_Dragon,15;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1180,'Dragon_Slayer_','Dragon Slayer',5,20,NULL,1300,150,NULL,1,2,0x00004082,7,2,34,4,48,1,3,'bonus bIgnoreDefRace,RC_Dragon; bonus2 bAddRace,RC_Dragon,15;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1181,'Tae_Goo_Lyeon','Tae Goo Lyeon',5,20,NULL,2000,250,NULL,1,2,0x00004082,2,2,34,4,90,1,3,'bonus bFlee2,10; if(JobLevel>=70) autobonus "{ bonus bBaseAtk,50; }",10,10000,BF_WEAPON,"{ specialeffect2 EF_POTION_BERSERK; }"; if(getrefine()>8) { bonus bCastrate,-20; bonus bDelayRate,-20; }',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1181,'Tae_Goo_Lyeon','Tae Goo Lyeon',5,20,NULL,2000,250,NULL,1,2,0x00004082,2,2,34,4,90,1,3,'bonus bFlee2,10; if(JobLevel>=70) autobonus "{ bonus bBaseAtk,50; }",10,10000,BF_WEAPON,"{ specialeffect2 EF_POTION_BERSERK; }"; if(getrefine()>8) { bonus bCastrate,-20; bonus bDelayRate,-20; }',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1182,'Bloody_Eater','Bloody Eater',5,20,NULL,1200,200,NULL,1,2,0x00004082,2,2,34,4,50,1,3,'bonus bAtkEle,Ele_Ghost; autobonus "{ bonus bCritical,100; bonus bBaseAtk,50; }",1,5000,0,"{ specialeffect2 EF_FIRESPLASHHIT; }"; bonus bHPGainValue,100;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1182,'Bloody_Eater','Bloody Eater',5,20,NULL,1200,200,NULL,1,2,0x00004082,2,2,34,4,50,1,3,'bonus bAtkEle,Ele_Ghost; autobonus "{ bonus bCritical,100; bonus bBaseAtk,50; }",1,5000,0,"{ specialeffect2 EF_FIRESPLASHHIT; }"; bonus bHPGainValue,100;',NULL,NULL);
-REPLACE INTO `item_db` VALUES (1183,'BF_Two_Handed_Sword1','Brave Assaulter\'s Katzbalger',5,20,NULL,0,200,NULL,1,0,0x00004082,7,2,34,3,80,1,3,'bonus bStr,2; bonus2 bAddRace,RC_DemiHuman,55; bonus2 bAddRace,RC_Player,55; bonus2 bIgnoreDefRaceRate,RC_DemiHuman,20; bonus2 bIgnoreDefRaceRate,RC_Player,20; bonus bUnbreakableWeapon;',NULL,NULL);
-REPLACE INTO `item_db` VALUES (1184,'BF_Two_Handed_Sword2','Valorous Assaulter\'s Katzbalger',5,20,NULL,0,200,NULL,1,0,0x00004082,7,2,34,3,80,1,3,'bonus bCritical,20; bonus2 bAddRace,RC_DemiHuman,55; bonus2 bAddRace,RC_Player,55; bonus bCritAtkRate,20; bonus bUnbreakableWeapon;',NULL,NULL);
+REPLACE INTO `item_db` VALUES (1183,'BF_Two_Handed_Sword1','Brave Assaulter\'s Katzbalger',5,20,NULL,0,200,NULL,1,0,0x00004082,7,2,34,3,80,1,3,'bonus bStr,2; bonus2 bAddRace,RC_DemiHuman,55; bonus2 bAddRace,RC_Player_Human,55; bonus2 bIgnoreDefRaceRate,RC_DemiHuman,20; bonus2 bIgnoreDefRaceRate,RC_Player_Human,20; bonus bUnbreakableWeapon;',NULL,NULL);
+REPLACE INTO `item_db` VALUES (1184,'BF_Two_Handed_Sword2','Valorous Assaulter\'s Katzbalger',5,20,NULL,0,200,NULL,1,0,0x00004082,7,2,34,3,80,1,3,'bonus bCritical,20; bonus2 bAddRace,RC_DemiHuman,55; bonus2 bAddRace,RC_Player_Human,55; bonus bCritAtkRate,20; bonus bUnbreakableWeapon;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1185,'Violet_Fear','Violet Fear',5,20,NULL,2200,275,NULL,1,2,0x00004082,2,2,34,4,80,1,3,'bonus3 bAutoSpell,"WZ_METEOR",3,30; bonus3 bAutoSpell,"WZ_FROSTNOVA",5,50; autobonus "{ bonus bIgnoreDefClass,Class_Normal; }",50,5000;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1185,'Violet_Fear','Violet Fear',5,20,NULL,2200,275,NULL,1,2,0x00004082,2,2,34,4,80,1,3,'bonus3 bAutoSpell,"WZ_METEOR",3,30; bonus3 bAutoSpell,"WZ_FROSTNOVA",5,50; autobonus "{ bonus bIgnoreDefClass,Class_Normal; }",50,5000;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1186,'Death_Guidance','Death Guidance',5,20,NULL,2000,200,NULL,1,2,0x00004082,2,2,34,4,70,1,3,'bonus bStr,5; bonus bAgi,2; bonus bFlee2,20; bonus3 bAutoSpell,"NPC_HELLPOWER",1,10; bonus4 bAutoSpell,"NPC_HELLPOWER",1,10,0; if( getrefine()>8 ) bonus3 bAutoSpell,"NPC_VAMPIRE_GIFT",2,20; else bonus3 bAutoSpell,"NPC_VAMPIRE_GIFT",1,20;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1186,'Death_Guidance','Death Guidance',5,20,NULL,2000,200,NULL,1,2,0x00004082,2,2,34,4,70,1,3,'bonus bStr,5; bonus bAgi,2; bonus bFlee2,20; bonus3 bAutoSpell,"NPC_HELLPOWER",1,10; bonus4 bAutoSpell,"NPC_HELLPOWER",1,10,0; if( getrefine()>8 ) bonus3 bAutoSpell,"NPC_VAMPIRE_GIFT",2,20; else bonus3 bAutoSpell,"NPC_VAMPIRE_GIFT",1,20;',NULL,NULL);
-REPLACE INTO `item_db` VALUES (1187,'Krieger_Twohand_Sword1','Glorious Claymore',5,20,NULL,0,220,NULL,1,0,0x00004082,7,2,34,4,80,1,3,'bonus2 bAddRace,RC_DemiHuman,70; bonus2 bAddRace,RC_Player,70; bonus2 bIgnoreDefRaceRate,RC_DemiHuman,25; bonus2 bIgnoreDefRaceRate,RC_Player,25; bonus bUnbreakableWeapon; if(getrefine()>5) { bonus2 bAddRace,RC_DemiHuman,(getrefine()-3)*(getrefine()-3); bonus2 bAddRace,RC_Player,(getrefine()-3)*(getrefine()-3); bonus2 bIgnoreDefRaceRate,RC_DemiHuman,5; bonus2 bIgnoreDefRaceRate,RC_Player,5; } if(getrefine()>8) { bonus3 bAutoSpell,"LK_CONCENTRATION",max(getskilllv("LK_CONCENTRATION"),1),30; bonus3 bAutoSpell,"LK_AURABLADE",max(getskilllv("LK_AURABLADE"),1),30; }',NULL,NULL);
+REPLACE INTO `item_db` VALUES (1187,'Krieger_Twohand_Sword1','Glorious Claymore',5,20,NULL,0,220,NULL,1,0,0x00004082,7,2,34,4,80,1,3,'bonus2 bAddRace,RC_DemiHuman,70; bonus2 bAddRace,RC_Player_Human,70; bonus2 bIgnoreDefRaceRate,RC_DemiHuman,25; bonus2 bIgnoreDefRaceRate,RC_Player_Human,25; bonus bUnbreakableWeapon; if(getrefine()>5) { bonus2 bAddRace,RC_DemiHuman,(getrefine()-3)*(getrefine()-3); bonus2 bAddRace,RC_Player_Human,(getrefine()-3)*(getrefine()-3); bonus2 bIgnoreDefRaceRate,RC_DemiHuman,5; bonus2 bIgnoreDefRaceRate,RC_Player_Human,5; } if(getrefine()>8) { bonus3 bAutoSpell,"LK_CONCENTRATION",max(getskilllv("LK_CONCENTRATION"),1),30; bonus3 bAutoSpell,"LK_AURABLADE",max(getskilllv("LK_AURABLADE"),1),30; }',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1188,'Veteran_Sword','Veteran Sword',5,10000,NULL,2000,180,NULL,1,1,0x00004082,7,2,34,4,80,1,3,'if(getskilllv("SM_BASH")==10) { bonus2 bSkillAtk,"SM_BASH",50; } if(getskilllv("KN_BOWLINGBASH")==10) { bonus2 bSkillAtk,"KN_BOWLINGBASH",50; } bonus bStr,1; bonus bDex,1;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1188,'Veteran_Sword','Veteran Sword',5,10000,NULL,2000,180,NULL,1,1,0x00004082,7,2,34,4,80,1,3,'if(getskilllv("SM_BASH")==10) { bonus2 bSkillAtk,"SM_BASH",50; } if(getskilllv("KN_BOWLINGBASH")==10) { bonus2 bSkillAtk,"KN_BOWLINGBASH",50; } bonus bStr,1; bonus bDex,1;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1189,'Krasnaya','Krasnaya',5,20,NULL,3800,200,NULL,2,3,0x00004082,2,2,34,2,50,1,3,'if(readparam(bStr)>=95) { bonus bBaseAtk,20; }',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1189,'Krasnaya','Krasnaya',5,20,NULL,3800,200,NULL,2,3,0x00004082,2,2,34,2,50,1,3,'if(readparam(bStr)>=95) { bonus bBaseAtk,20; }',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1190,'Claymore_C','Claymore',5,0,NULL,0,220,NULL,1,0,0x00004080,7,2,34,3,1,0,3,'bonus2 bAddSize,Size_All,40;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1190,'Claymore_C','Claymore',5,0,NULL,0,220,NULL,1,0,0x00004080,7,2,34,3,1,0,3,'bonus2 bAddSize,Size_All,40;',NULL,NULL);
@@ -601,12 +601,12 @@ REPLACE INTO `item_db` VALUES (1224,'Sword_Breaker','Swordbreaker',5,20,NULL,100
 REPLACE INTO `item_db` VALUES (1225,'Mail_Breaker','Mailbreaker',5,20,NULL,1000,70,NULL,1,0,0x028F5EEE,7,2,2,4,36,1,1,'bonus bBreakArmorRate,500;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1225,'Mail_Breaker','Mailbreaker',5,20,NULL,1000,70,NULL,1,0,0x028F5EEE,7,2,2,4,36,1,1,'bonus bBreakArmorRate,500;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1226,'Damascus_','Damascus',5,49000,NULL,800,118,NULL,1,2,0x028F5EEE,7,2,2,3,24,1,1,'bonus bUnbreakableWeapon;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1226,'Damascus_','Damascus',5,49000,NULL,800,118,NULL,1,2,0x028F5EEE,7,2,2,3,24,1,1,'bonus bUnbreakableWeapon;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1227,'Weeder_Knife','Weeder Knife',5,20,NULL,400,80,NULL,1,0,0x028F5EEE,7,2,2,4,36,1,1,'bonus bIgnoreDefRace,RC_Plant; bonus2 bAddRace,RC_Plant,15; bonus2 bSubRace,RC_Plant,15;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1227,'Weeder_Knife','Weeder Knife',5,20,NULL,400,80,NULL,1,0,0x028F5EEE,7,2,2,4,36,1,1,'bonus bIgnoreDefRace,RC_Plant; bonus2 bAddRace,RC_Plant,15; bonus2 bSubRace,RC_Plant,15;',NULL,NULL);
-REPLACE INTO `item_db` VALUES (1228,'Combat_Knife','Combat Knife',5,20,NULL,400,80,NULL,1,0,0x028F5EEE,7,2,2,4,36,1,1,'bonus bIgnoreDefRace,RC_DemiHuman; bonus bIgnoreDefRace,RC_Player; bonus2 bSubRace,RC_DemiHuman,10; bonus2 bSubRace,RC_Player,10; bonus2 bSubRace,RC_Demon,-10;',NULL,NULL);
+REPLACE INTO `item_db` VALUES (1228,'Combat_Knife','Combat Knife',5,20,NULL,400,80,NULL,1,0,0x028F5EEE,7,2,2,4,36,1,1,'bonus bIgnoreDefRace,RC_DemiHuman; bonus bIgnoreDefRace,RC_Player_Human; bonus2 bSubRace,RC_DemiHuman,10; bonus2 bSubRace,RC_Player_Human,10; bonus2 bSubRace,RC_Demon,-10;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1229,'Mama\'s_Knife','Kitchen Knife',5,20,NULL,500,75,NULL,1,0,0x028F5EEE,7,2,2,4,36,1,1,'bonus bCritical,30; bonus3 bAddMonsterDropItem,517,RC_Brute,5000;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1229,'Mama\'s_Knife','Kitchen Knife',5,20,NULL,500,75,NULL,1,0,0x028F5EEE,7,2,2,4,36,1,1,'bonus bCritical,30; bonus3 bAddMonsterDropItem,517,RC_Brute,5000;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1230,'House_Auger','Ice Pick',5,20,NULL,600,80,NULL,1,0,0x028F5EEE,7,2,2,4,36,1,1,'bonus bDefRatioAtkClass,Class_All;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1230,'House_Auger','Ice Pick',5,20,NULL,600,80,NULL,1,0,0x028F5EEE,7,2,2,4,36,1,1,'bonus bDefRatioAtkClass,Class_All;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1231,'Bazerald','Bazerald',5,20,NULL,500,70,NULL,1,0,0x028F5EEE,7,2,2,4,36,1,1,'bonus bAtkEle,Ele_Fire; bonus bInt,5; bonus bMatkRate,10;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1231,'Bazerald','Bazerald',5,20,NULL,500,70,NULL,1,0,0x028F5EEE,7,2,2,4,36,1,1,'bonus bAtkEle,Ele_Fire; bonus bInt,5; bonus bMatkRate,10;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1232,'Assasin_Dagger','Assassin Dagger',5,20,NULL,600,140,NULL,1,0,0x00001000,7,2,2,4,36,1,1,'bonus bMaxHPrate,20; bonus bMaxSPrate,15; bonus bAspdRate,2; bonus bAtkEle,Ele_Dark;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1232,'Assasin_Dagger','Assassin Dagger',5,20,NULL,600,140,NULL,1,0,0x00001000,7,2,2,4,36,1,1,'bonus bMaxHPrate,20; bonus bMaxSPrate,15; bonus bAspdRate,2; bonus bAtkEle,Ele_Dark;',NULL,NULL);
-REPLACE INTO `item_db` VALUES (1233,'Exercise','Exorciser',5,20,NULL,700,90,NULL,1,0,0x028F5EEE,7,2,2,4,36,1,1,'bonus bIgnoreDefRace,RC_Demon; bonus2 bSubRace,RC_Demon,5; bonus2 bSubRace,RC_DemiHuman,-10; bonus2 bSubRace,RC_Player,-10;',NULL,NULL);
+REPLACE INTO `item_db` VALUES (1233,'Exercise','Exorciser',5,20,NULL,700,90,NULL,1,0,0x028F5EEE,7,2,2,4,36,1,1,'bonus bIgnoreDefRace,RC_Demon; bonus2 bSubRace,RC_Demon,5; bonus2 bSubRace,RC_DemiHuman,-10; bonus2 bSubRace,RC_Player_Human,-10;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1234,'Moonlight_Sword','Moonlight Dagger',5,20,NULL,700,50,NULL,1,0,0x028F5EEE,7,2,2,4,36,1,1,'bonus bMaxSPrate,10; bonus bSPDrainValue,3;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1234,'Moonlight_Sword','Moonlight Dagger',5,20,NULL,700,50,NULL,1,0,0x028F5EEE,7,2,2,4,36,1,1,'bonus bMaxSPrate,10; bonus bSPDrainValue,3;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1235,'Azoth','Azoth',5,20,NULL,700,110,NULL,1,0,0x00040000,7,2,2,4,36,1,1,'bonus bClassChange,300;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1235,'Azoth','Azoth',5,20,NULL,700,110,NULL,1,0,0x00040000,7,2,2,4,36,1,1,'bonus bClassChange,300;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1236,'Sucsamad','Sucsamad',5,20,NULL,800,140,NULL,1,0,0x028F5EEE,7,2,2,4,36,1,1,'bonus2 bAddEle,Ele_Earth,10; bonus2 bAddEle,Ele_Wind,10; bonus bUnbreakableWeapon;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1236,'Sucsamad','Sucsamad',5,20,NULL,800,140,NULL,1,0,0x028F5EEE,7,2,2,4,36,1,1,'bonus2 bAddEle,Ele_Earth,10; bonus2 bAddEle,Ele_Wind,10; bonus bUnbreakableWeapon;',NULL,NULL);
@@ -635,28 +635,28 @@ REPLACE INTO `item_db` VALUES (1257,'Katar_Of_Thornbush','Katar of Quaking',5,45
 REPLACE INTO `item_db` VALUES (1258,'Katar_Of_Raging_Blaze','Katar of Raging Blaze',5,45000,NULL,1200,105,NULL,1,0,0x00001000,7,2,34,3,55,1,16,'bonus bAtkEle,Ele_Fire; bonus2 bAddEff,Eff_Silence,500;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1258,'Katar_Of_Raging_Blaze','Katar of Raging Blaze',5,45000,NULL,1200,105,NULL,1,0,0x00001000,7,2,34,3,55,1,16,'bonus bAtkEle,Ele_Fire; bonus2 bAddEff,Eff_Silence,500;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1259,'Katar_Of_Piercing_Wind','Katar of Piercing Wind',5,45000,NULL,1200,105,NULL,1,0,0x00001000,7,2,34,3,55,1,16,'bonus bAtkEle,Ele_Wind; bonus2 bAddEff,Eff_Sleep,500;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1259,'Katar_Of_Piercing_Wind','Katar of Piercing Wind',5,45000,NULL,1200,105,NULL,1,0,0x00001000,7,2,34,3,55,1,16,'bonus bAtkEle,Ele_Wind; bonus2 bAddEff,Eff_Sleep,500;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1260,'Ghoul_Leg','Sharpened Legbone of Ghoul',5,52500,NULL,1700,150,NULL,1,0,0x00001000,7,2,34,3,65,1,16,'bonus bAtkEle,Ele_Undead;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1260,'Ghoul_Leg','Sharpened Legbone of Ghoul',5,52500,NULL,1700,150,NULL,1,0,0x00001000,7,2,34,3,65,1,16,'bonus bAtkEle,Ele_Undead;',NULL,NULL);
-REPLACE INTO `item_db` VALUES (1261,'Infiltrator','Infiltrator',5,57000,NULL,1500,140,NULL,1,0,0x00001000,7,2,34,4,75,1,16,'bonus2 bAddRace,RC_DemiHuman,50; bonus2 bAddRace,RC_Player,50; bonus bDef,3; bonus bFlee,5; bonus bFlee2,2;',NULL,NULL);
+REPLACE INTO `item_db` VALUES (1261,'Infiltrator','Infiltrator',5,57000,NULL,1500,140,NULL,1,0,0x00001000,7,2,34,4,75,1,16,'bonus2 bAddRace,RC_DemiHuman,50; bonus2 bAddRace,RC_Player_Human,50; bonus bDef,3; bonus bFlee,5; bonus bFlee2,2;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1262,'Nail_Of_Loki','Loki\'s Nail',5,20,NULL,1200,115,NULL,1,0,0x00001000,7,2,34,3,55,1,16,'bonus2 bAddEff,Eff_Bleeding,300;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1262,'Nail_Of_Loki','Loki\'s Nail',5,20,NULL,1200,115,NULL,1,0,0x00001000,7,2,34,3,55,1,16,'bonus2 bAddEff,Eff_Bleeding,300;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1263,'Unholy_Touch','Unholy Touch',5,20,NULL,1250,151,NULL,1,0,0x00001000,7,2,34,4,70,1,16,'bonus bAtkEle,Ele_Dark; bonus2 bAddEff,Eff_Curse,200; bonus bCritical,-1; bonus bUnbreakableWeapon;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1263,'Unholy_Touch','Unholy Touch',5,20,NULL,1250,151,NULL,1,0,0x00001000,7,2,34,4,70,1,16,'bonus bAtkEle,Ele_Dark; bonus2 bAddEff,Eff_Curse,200; bonus bCritical,-1; bonus bUnbreakableWeapon;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1264,'Various_Jur','Specialty Jur',5,20,NULL,800,90,NULL,1,4,0x00001000,7,2,34,1,1,1,16,'bonus2 bAddEff2,Eff_Bleeding,10;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1264,'Various_Jur','Specialty Jur',5,20,NULL,800,90,NULL,1,4,0x00001000,7,2,34,1,1,1,16,'bonus2 bAddEff2,Eff_Bleeding,10;',NULL,NULL);
-REPLACE INTO `item_db` VALUES (1265,'Bloody_Roar','Bloody Roar',5,20,NULL,1000,120,NULL,1,0,0x00001000,7,2,34,4,75,1,16,'bonus bIgnoreDefRace,RC_DemiHuman; bonus bIgnoreDefRace,RC_Player; bonus bFlee,-(readparam(bAgi)+BaseLevel); bonus bHPrecovRate,-100; bonus bSPrecovRate,-100;',NULL,NULL);
-REPLACE INTO `item_db` VALUES (1266,'Infiltrator_','Infiltrator',5,57000,NULL,1500,140,NULL,1,1,0x00001000,7,2,34,4,75,1,16,'bonus2 bAddRace,RC_DemiHuman,50; bonus2 bAddRace,RC_Player,50; bonus bDef,3; bonus bFlee,5; bonus bFlee2,2;',NULL,NULL);
-REPLACE INTO `item_db` VALUES (1267,'Infiltrator_C','Infiltrator',5,1,NULL,0,189,NULL,1,0,0x00001000,7,2,34,4,1,0,16,'bonus2 bAddRace,RC_DemiHuman,70; bonus2 bAddRace,RC_Player,70; bonus bDef,3; bonus bFlee,5; bonus bFlee2,2; bonus bAspdRate,5;',NULL,NULL);
+REPLACE INTO `item_db` VALUES (1265,'Bloody_Roar','Bloody Roar',5,20,NULL,1000,120,NULL,1,0,0x00001000,7,2,34,4,75,1,16,'bonus bIgnoreDefRace,RC_DemiHuman; bonus bIgnoreDefRace,RC_Player_Human; bonus bFlee,-(readparam(bAgi)+BaseLevel); bonus bHPrecovRate,-100; bonus bSPrecovRate,-100;',NULL,NULL);
+REPLACE INTO `item_db` VALUES (1266,'Infiltrator_','Infiltrator',5,57000,NULL,1500,140,NULL,1,1,0x00001000,7,2,34,4,75,1,16,'bonus2 bAddRace,RC_DemiHuman,50; bonus2 bAddRace,RC_Player_Human,50; bonus bDef,3; bonus bFlee,5; bonus bFlee2,2;',NULL,NULL);
+REPLACE INTO `item_db` VALUES (1267,'Infiltrator_C','Infiltrator',5,1,NULL,0,189,NULL,1,0,0x00001000,7,2,34,4,1,0,16,'bonus2 bAddRace,RC_DemiHuman,70; bonus2 bAddRace,RC_Player_Human,70; bonus bDef,3; bonus bFlee,5; bonus bFlee2,2; bonus bAspdRate,5;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1268,'Wild_Beast_Claw','Wild Beast Claw',5,20,NULL,1450,160,NULL,1,1,0x00001000,2,2,34,4,55,1,16,'if(getrefine()>=9){ bonus3 bAutoSpell,"NPC_CRITICALWOUND",2,100; } else bonus3 bAutoSpell,"NPC_CRITICALWOUND",1,100;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1268,'Wild_Beast_Claw','Wild Beast Claw',5,20,NULL,1450,160,NULL,1,1,0x00001000,2,2,34,4,55,1,16,'if(getrefine()>=9){ bonus3 bAutoSpell,"NPC_CRITICALWOUND",2,100; } else bonus3 bAutoSpell,"NPC_CRITICALWOUND",1,100;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1269,'Inverse_Scale','Inverse Scale',5,20,NULL,1500,140,NULL,1,0,0x00001000,2,2,34,4,55,1,16,'bonus bAtkEle,Ele_Holy; bonus3 bAutoSpell,"NPC_DRAGONFEAR",1,30;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1269,'Inverse_Scale','Inverse Scale',5,20,NULL,1500,140,NULL,1,0,0x00001000,2,2,34,4,55,1,16,'bonus bAtkEle,Ele_Holy; bonus3 bAutoSpell,"NPC_DRAGONFEAR",1,30;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1270,'Drill_Katar','Drill Katar',5,20,NULL,1400,110,NULL,1,1,0x00001000,2,2,34,4,55,1,16,'bonus bHit,30; bonus3 bAutoSpell,"ST_FULLSTRIP",1,150;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1270,'Drill_Katar','Drill Katar',5,20,NULL,1400,110,NULL,1,1,0x00001000,2,2,34,4,55,1,16,'bonus bHit,30; bonus3 bAutoSpell,"ST_FULLSTRIP",1,150;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1271,'Blood_Tears','Blood Tears',5,20,NULL,1700,120,NULL,1,2,0x00001000,2,2,34,4,55,1,16,'if(getrefine()>=9){ bonus3 bAutoSpell,"NPC_WIDEBLEEDING",2,30; } else bonus3 bAutoSpell,"NPC_WIDEBLEEDING",1,30;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1271,'Blood_Tears','Blood Tears',5,20,NULL,1700,120,NULL,1,2,0x00001000,2,2,34,4,55,1,16,'if(getrefine()>=9){ bonus3 bAutoSpell,"NPC_WIDEBLEEDING",2,30; } else bonus3 bAutoSpell,"NPC_WIDEBLEEDING",1,30;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1272,'Scratcher','Scratcher',5,20,NULL,0,120,NULL,1,0,0x00001000,7,2,34,1,0,0,16,'bonus2 bAddClass,Class_All,50;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1272,'Scratcher','Scratcher',5,20,NULL,0,120,NULL,1,0,0x00001000,7,2,34,1,0,0,16,'bonus2 bAddClass,Class_All,50;',NULL,NULL);
-REPLACE INTO `item_db` VALUES (1273,'Bloody_Roar_C','Refined Bloody Roar',5,1,NULL,0,148,NULL,1,0,0x00001000,7,2,34,4,0,0,16,'bonus bIgnoreDefRace,RC_DemiHuman; bonus bIgnoreDefRace,RC_Player; bonus2 bHPRegenRate,3,5000;',NULL,NULL);
+REPLACE INTO `item_db` VALUES (1273,'Bloody_Roar_C','Refined Bloody Roar',5,1,NULL,0,148,NULL,1,0,0x00001000,7,2,34,4,0,0,16,'bonus bIgnoreDefRace,RC_DemiHuman; bonus bIgnoreDefRace,RC_Player_Human; bonus2 bHPRegenRate,3,5000;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1274,'Unholy_Touch_C','Refined Unholy Touch',5,1,NULL,0,179,NULL,1,0,0x00001000,7,2,34,4,0,0,16,'bonus bAtkEle,Ele_Dark; bonus2 bAddEff,Eff_Curse,5000; bonus bCritical,-1; bonus bUnbreakableWeapon;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1274,'Unholy_Touch_C','Refined Unholy Touch',5,1,NULL,0,179,NULL,1,0,0x00001000,7,2,34,4,0,0,16,'bonus bAtkEle,Ele_Dark; bonus2 bAddEff,Eff_Curse,5000; bonus bCritical,-1; bonus bUnbreakableWeapon;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1275,'Katar_Of_Cold_Icicle_','Katar of Frozen Icicle',5,45000,NULL,1200,105,NULL,1,3,0x00001000,7,2,34,3,55,1,16,'bonus bAtkEle,Ele_Water; bonus2 bAddEff,Eff_Freeze,500;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1275,'Katar_Of_Cold_Icicle_','Katar of Frozen Icicle',5,45000,NULL,1200,105,NULL,1,3,0x00001000,7,2,34,3,55,1,16,'bonus bAtkEle,Ele_Water; bonus2 bAddEff,Eff_Freeze,500;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1276,'Katar_Of_Thornbush_','Katar of Quaking',5,45000,NULL,1200,105,NULL,1,3,0x00001000,7,2,34,3,55,1,16,'bonus bAtkEle,Ele_Earth; bonus2 bAddEff,Eff_Blind,500;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1276,'Katar_Of_Thornbush_','Katar of Quaking',5,45000,NULL,1200,105,NULL,1,3,0x00001000,7,2,34,3,55,1,16,'bonus bAtkEle,Ele_Earth; bonus2 bAddEff,Eff_Blind,500;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1277,'Katar_Of_Raging_Blaze_','Katar of Raging Blaze',5,45000,NULL,1200,105,NULL,1,3,0x00001000,7,2,34,3,55,1,16,'bonus bAtkEle,Ele_Fire; bonus2 bAddEff,Eff_Silence,500;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1277,'Katar_Of_Raging_Blaze_','Katar of Raging Blaze',5,45000,NULL,1200,105,NULL,1,3,0x00001000,7,2,34,3,55,1,16,'bonus bAtkEle,Ele_Fire; bonus2 bAddEff,Eff_Silence,500;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1278,'Katar_Of_Piercing_Wind_','Katar of Piercing Wind',5,45000,NULL,1200,105,NULL,1,3,0x00001000,7,2,34,3,55,1,16,'bonus bAtkEle,Ele_Wind; bonus2 bAddEff,Eff_Sleep,500;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1278,'Katar_Of_Piercing_Wind_','Katar of Piercing Wind',5,45000,NULL,1200,105,NULL,1,3,0x00001000,7,2,34,3,55,1,16,'bonus bAtkEle,Ele_Wind; bonus2 bAddEff,Eff_Sleep,500;',NULL,NULL);
-REPLACE INTO `item_db` VALUES (1279,'BF_Katar1','Brave Carnage Katar',5,20,NULL,0,130,NULL,1,0,0x00001000,7,2,34,3,80,1,16,'bonus bStr,1; bonus bDex,1; bonus bLuk,1; bonus2 bAddRace,RC_DemiHuman,70; bonus2 bAddRace,RC_Player,70; bonus2 bIgnoreDefRaceRate,RC_DemiHuman,20; bonus2 bIgnoreDefRaceRate,RC_Player,20; bonus bUnbreakableWeapon;',NULL,NULL);
-REPLACE INTO `item_db` VALUES (1280,'BF_Katar2','Valorous Carnage Katar',5,20,NULL,0,130,NULL,1,0,0x00001000,7,2,34,3,80,1,16,'bonus bStr,1; bonus bDex,1; bonus bLuk,1; bonus2 bAddRace,RC_DemiHuman,70; bonus2 bAddRace,RC_Player,70; bonus bCritAtkRate,20; bonus bAspdRate,5; bonus bUnbreakableWeapon;',NULL,NULL);
-REPLACE INTO `item_db` VALUES (1281,'Krieger_Katar1','Glorious Bloody Roar',5,20,NULL,0,140,NULL,1,0,0x00001000,7,2,34,4,80,1,16,'bonus2 bAddRace,RC_DemiHuman,70; bonus2 bAddRace,RC_Player,70; bonus2 bIgnoreDefRaceRate,RC_DemiHuman,20; bonus2 bIgnoreDefRaceRate,RC_Player,20; bonus bUnbreakableWeapon; if(getrefine()>5) { bonus2 bAddRace,RC_DemiHuman,(getrefine()-4)*(getrefine()-4); bonus2 bAddRace,RC_Player,(getrefine()-4)*(getrefine()-4); bonus2 bIgnoreDefRaceRate,RC_DemiHuman,5; bonus2 bIgnoreDefRaceRate,RC_Player,5; } if(getrefine()>8) autobonus "{ bonus bAspdRate,100; }",70,3000,BF_WEAPON,"{ specialeffect2 EF_POTION_BERSERK; }";',NULL,NULL);
-REPLACE INTO `item_db` VALUES (1282,'Krieger_Katar2','Glorious Jamadhar',5,20,NULL,0,140,NULL,1,0,0x00001000,7,2,34,4,80,1,16,'bonus2 bAddRace,RC_DemiHuman,70; bonus2 bAddRace,RC_Player,70; bonus2 bIgnoreDefRaceRate,RC_DemiHuman,20; bonus2 bIgnoreDefRaceRate,RC_Player,20; bonus bUnbreakableWeapon; if(getrefine()>5) { bonus2 bAddRace,RC_DemiHuman,(getrefine()-4)*(getrefine()-4); bonus2 bAddRace,RC_Player,(getrefine()-4)*(getrefine()-4); bonus2 bCriticalAddRace,RC_DemiHuman,5; bonus2 bCriticalAddRace,RC_Player,5; } if(getrefine()>8) autobonus "{ bonus bAspdRate,100; }",70,3000,BF_WEAPON,"{ specialeffect2 EF_POTION_BERSERK; }";',NULL,NULL);
+REPLACE INTO `item_db` VALUES (1279,'BF_Katar1','Brave Carnage Katar',5,20,NULL,0,130,NULL,1,0,0x00001000,7,2,34,3,80,1,16,'bonus bStr,1; bonus bDex,1; bonus bLuk,1; bonus2 bAddRace,RC_DemiHuman,70; bonus2 bAddRace,RC_Player_Human,70; bonus2 bIgnoreDefRaceRate,RC_DemiHuman,20; bonus2 bIgnoreDefRaceRate,RC_Player_Human,20; bonus bUnbreakableWeapon;',NULL,NULL);
+REPLACE INTO `item_db` VALUES (1280,'BF_Katar2','Valorous Carnage Katar',5,20,NULL,0,130,NULL,1,0,0x00001000,7,2,34,3,80,1,16,'bonus bStr,1; bonus bDex,1; bonus bLuk,1; bonus2 bAddRace,RC_DemiHuman,70; bonus2 bAddRace,RC_Player_Human,70; bonus bCritAtkRate,20; bonus bAspdRate,5; bonus bUnbreakableWeapon;',NULL,NULL);
+REPLACE INTO `item_db` VALUES (1281,'Krieger_Katar1','Glorious Bloody Roar',5,20,NULL,0,140,NULL,1,0,0x00001000,7,2,34,4,80,1,16,'bonus2 bAddRace,RC_DemiHuman,70; bonus2 bAddRace,RC_Player_Human,70; bonus2 bIgnoreDefRaceRate,RC_DemiHuman,20; bonus2 bIgnoreDefRaceRate,RC_Player_Human,20; bonus bUnbreakableWeapon; if(getrefine()>5) { bonus2 bAddRace,RC_DemiHuman,(getrefine()-4)*(getrefine()-4); bonus2 bAddRace,RC_Player_Human,(getrefine()-4)*(getrefine()-4); bonus2 bIgnoreDefRaceRate,RC_DemiHuman,5; bonus2 bIgnoreDefRaceRate,RC_Player_Human,5; } if(getrefine()>8) autobonus "{ bonus bAspdRate,100; }",70,3000,BF_WEAPON,"{ specialeffect2 EF_POTION_BERSERK; }";',NULL,NULL);
+REPLACE INTO `item_db` VALUES (1282,'Krieger_Katar2','Glorious Jamadhar',5,20,NULL,0,140,NULL,1,0,0x00001000,7,2,34,4,80,1,16,'bonus2 bAddRace,RC_DemiHuman,70; bonus2 bAddRace,RC_Player_Human,70; bonus2 bIgnoreDefRaceRate,RC_DemiHuman,20; bonus2 bIgnoreDefRaceRate,RC_Player_Human,20; bonus bUnbreakableWeapon; if(getrefine()>5) { bonus2 bAddRace,RC_DemiHuman,(getrefine()-4)*(getrefine()-4); bonus2 bAddRace,RC_Player_Human,(getrefine()-4)*(getrefine()-4); bonus2 bCriticalAddRace,RC_DemiHuman,5; bonus2 bCriticalAddRace,RC_Player_Human,5; } if(getrefine()>8) autobonus "{ bonus bAspdRate,100; }",70,3000,BF_WEAPON,"{ specialeffect2 EF_POTION_BERSERK; }";',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1283,'Katar_Of_Speed','Katar Of Speed',5,20,NULL,0,175,NULL,1,0,0x00001000,7,2,34,4,0,0,16,'bonus2 bSkillAtk,"AS_SONICBLOW",25; bonus bAspdRate,3;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1283,'Katar_Of_Speed','Katar Of Speed',5,20,NULL,0,175,NULL,1,0,0x00001000,7,2,34,4,0,0,16,'bonus2 bSkillAtk,"AS_SONICBLOW",25; bonus bAspdRate,3;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1284,'Krishna','Krishna',5,20,NULL,1200,120,NULL,1,2,0x00001000,2,2,34,3,50,1,16,'bonus2 bSkillAtk,"AS_GRIMTOOTH",10; if(getskilllv("AS_SONICBLOW")) { bonus3 bAutoSpell,"AS_SONICBLOW",getskilllv("AS_SONICBLOW"),5; }else{ bonus3 bAutoSpell,"AS_SONICBLOW",1,5; }',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1284,'Krishna','Krishna',5,20,NULL,1200,120,NULL,1,2,0x00001000,2,2,34,3,50,1,16,'bonus2 bSkillAtk,"AS_GRIMTOOTH",10; if(getskilllv("AS_SONICBLOW")) { bonus3 bAutoSpell,"AS_SONICBLOW",getskilllv("AS_SONICBLOW"),5; }else{ bonus3 bAutoSpell,"AS_SONICBLOW",1,5; }',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1285,'Cakram','Chakram',5,20,NULL,1000,130,NULL,1,2,0x00001000,2,2,34,3,50,1,16,'if(getskilllv("AS_KATAR")==10) { bonus bHit,10; } bonus2 bSkillAtk,"ASC_METEORASSAULT",20;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1285,'Cakram','Chakram',5,20,NULL,1000,130,NULL,1,2,0x00001000,2,2,34,3,50,1,16,'if(getskilllv("AS_KATAR")==10) { bonus bHit,10; } bonus2 bSkillAtk,"ASC_METEORASSAULT",20;',NULL,NULL);
@@ -666,12 +666,12 @@ REPLACE INTO `item_db` VALUES (1301,'Axe','Axe',5,500,NULL,800,38,NULL,1,3,0x000
 REPLACE INTO `item_db` VALUES (1302,'Axe_','Axe',5,500,NULL,800,38,NULL,1,4,0x000654E3,7,2,2,1,3,1,6,NULL,NULL,NULL);
 REPLACE INTO `item_db` VALUES (1302,'Axe_','Axe',5,500,NULL,800,38,NULL,1,4,0x000654E3,7,2,2,1,3,1,6,NULL,NULL,NULL);
 REPLACE INTO `item_db` VALUES (1303,'Axe__','Axe',5,500,NULL,800,38,NULL,1,0,0x000654E3,7,2,2,1,3,1,6,NULL,NULL,NULL);
 REPLACE INTO `item_db` VALUES (1303,'Axe__','Axe',5,500,NULL,800,38,NULL,1,0,0x000654E3,7,2,2,1,3,1,6,NULL,NULL,NULL);
 REPLACE INTO `item_db` VALUES (1304,'Orcish_Axe','Orcish Axe',5,20,NULL,1500,75,NULL,1,0,0x000654E3,7,2,2,3,3,1,6,NULL,NULL,NULL);
 REPLACE INTO `item_db` VALUES (1304,'Orcish_Axe','Orcish Axe',5,20,NULL,1500,75,NULL,1,0,0x000654E3,7,2,2,3,3,1,6,NULL,NULL,NULL);
-REPLACE INTO `item_db` VALUES (1305,'Cleaver','Cleaver',5,20,NULL,1200,140,NULL,1,0,0x000444A2,7,2,2,4,44,1,6,'bonus2 bSubRace,RC_DemiHuman,5; bonus2 bSubRace,RC_Player,5; bonus3 bAddMonsterDropItem,517,RC_Brute,3000;',NULL,NULL);
+REPLACE INTO `item_db` VALUES (1305,'Cleaver','Cleaver',5,20,NULL,1200,140,NULL,1,0,0x000444A2,7,2,2,4,44,1,6,'bonus2 bSubRace,RC_DemiHuman,5; bonus2 bSubRace,RC_Player_Human,5; bonus3 bAddMonsterDropItem,517,RC_Brute,3000;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1306,'War_Axe','War Axe',5,20,NULL,4200,140,NULL,1,1,0x00040400,7,2,2,3,76,1,6,'bonus bDex,2; bonus bLuk,2;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1306,'War_Axe','War Axe',5,20,NULL,4200,140,NULL,1,1,0x00040400,7,2,2,3,76,1,6,'bonus bDex,2; bonus bLuk,2;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1307,'Windhawk','Windhawk',5,18000,NULL,1500,115,NULL,1,0,0x000654E2,7,2,2,2,14,1,6,'bonus bAtkEle,Ele_Wind; bonus bAspdRate,5;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1307,'Windhawk','Windhawk',5,18000,NULL,1500,115,NULL,1,0,0x000654E2,7,2,2,2,14,1,6,'bonus bAtkEle,Ele_Wind; bonus bAspdRate,5;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1308,'Golden_Axe','Golden Axe',5,20,NULL,3000,170,NULL,1,0,0x00000001,7,2,2,4,45,1,6,NULL,NULL,NULL);
 REPLACE INTO `item_db` VALUES (1308,'Golden_Axe','Golden Axe',5,20,NULL,3000,170,NULL,1,0,0x00000001,7,2,2,4,45,1,6,NULL,NULL,NULL);
 REPLACE INTO `item_db` VALUES (1309,'Orcish_Axe_','Orcish Axe',5,20,NULL,1500,75,NULL,1,4,0x000654E3,7,2,2,3,3,1,6,NULL,NULL,NULL);
 REPLACE INTO `item_db` VALUES (1309,'Orcish_Axe_','Orcish Axe',5,20,NULL,1500,75,NULL,1,4,0x000654E3,7,2,2,3,3,1,6,NULL,NULL,NULL);
-REPLACE INTO `item_db` VALUES (1310,'Krieger_Onehand_Axe1','Glorious Cleaver',5,20,NULL,0,130,NULL,1,0,0x000444A2,7,2,2,4,80,1,6,'bonus2 bAddRace,RC_DemiHuman,75; bonus2 bAddRace,RC_Player,75; bonus2 bIgnoreDefRaceRate,RC_DemiHuman,20; bonus2 bIgnoreDefRaceRate,RC_Player,20; bonus bUnbreakableWeapon; if(getrefine()>5) { bonus2 bAddRace,RC_DemiHuman,(getrefine()-4)*(getrefine()-4); bonus2 bAddRace,RC_Player,(getrefine()-4)*(getrefine()-4); bonus2 bIgnoreDefRaceRate,RC_DemiHuman,5; bonus2 bIgnoreDefRaceRate,RC_Player,5; bonus bAspdRate,5; } if(getrefine()>8) { bonus bAspdRate,5; bonus3 bAutoSpell,"NPC_CRITICALWOUND",1,50; bonus4 bAutoSpellOnSkill,"MC_MAMMONITE","NPC_CRITICALWOUND",2,200; }',NULL,NULL);
+REPLACE INTO `item_db` VALUES (1310,'Krieger_Onehand_Axe1','Glorious Cleaver',5,20,NULL,0,130,NULL,1,0,0x000444A2,7,2,2,4,80,1,6,'bonus2 bAddRace,RC_DemiHuman,75; bonus2 bAddRace,RC_Player_Human,75; bonus2 bIgnoreDefRaceRate,RC_DemiHuman,20; bonus2 bIgnoreDefRaceRate,RC_Player_Human,20; bonus bUnbreakableWeapon; if(getrefine()>5) { bonus2 bAddRace,RC_DemiHuman,(getrefine()-4)*(getrefine()-4); bonus2 bAddRace,RC_Player_Human,(getrefine()-4)*(getrefine()-4); bonus2 bIgnoreDefRaceRate,RC_DemiHuman,5; bonus2 bIgnoreDefRaceRate,RC_Player_Human,5; bonus bAspdRate,5; } if(getrefine()>8) { bonus bAspdRate,5; bonus3 bAutoSpell,"NPC_CRITICALWOUND",1,50; bonus4 bAutoSpellOnSkill,"MC_MAMMONITE","NPC_CRITICALWOUND",2,200; }',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1311,'Vecer_Axe','Vecer Axe',5,20,NULL,1500,140,NULL,1,2,0x000444A2,2,2,2,3,50,1,6,'if(readparam(bLuk)>=90) { bonus bBaseAtk,20; } if(readparam(bDex)>=90) { bonus bCritical,5; } if(readparam(bDex)>=90||readparam(bLuk)>=90) { bonus2 bSkillAtk,"MC_MAMMONITE",15; }',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1311,'Vecer_Axe','Vecer Axe',5,20,NULL,1500,140,NULL,1,2,0x000444A2,2,2,2,3,50,1,6,'if(readparam(bLuk)>=90) { bonus bBaseAtk,20; } if(readparam(bDex)>=90) { bonus bCritical,5; } if(readparam(bDex)>=90||readparam(bLuk)>=90) { bonus2 bSkillAtk,"MC_MAMMONITE",15; }',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1312,'Orcish_Axe_C','Orcish Axe',5,0,NULL,0,110,NULL,1,0,0x000654E3,7,2,2,3,1,0,6,'bonus2 bAddSize,Size_All,70;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1312,'Orcish_Axe_C','Orcish Axe',5,0,NULL,0,110,NULL,1,0,0x000654E3,7,2,2,3,1,0,6,'bonus2 bAddSize,Size_All,70;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1313,'Tourist_Axe','Tourist Axe',5,0,NULL,500,77,NULL,1,0,0x000654E3,7,2,2,1,1,0,6,'bonus bStr,2;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1313,'Tourist_Axe','Tourist Axe',5,0,NULL,500,77,NULL,1,0,0x000654E3,7,2,2,1,1,0,6,'bonus bStr,2;',NULL,NULL);
@@ -694,9 +694,9 @@ REPLACE INTO `item_db` VALUES (1363,'Brood_Axe','Bloody Axe',5,20,NULL,4000,170,
 REPLACE INTO `item_db` VALUES (1364,'Great_Axe','Great Axe',5,20,NULL,1800,187,NULL,1,0,0x000444A2,7,2,34,4,44,1,7,'bonus2 bAddSkillBlow,"MC_MAMMONITE",5; bonus2 bAddEff,Eff_Stun,1500;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1364,'Great_Axe','Great Axe',5,20,NULL,1800,187,NULL,1,0,0x000444A2,7,2,34,4,44,1,7,'bonus2 bAddSkillBlow,"MC_MAMMONITE",5; bonus2 bAddEff,Eff_Stun,1500;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1365,'Sabbath','Sabbath',5,20,NULL,2300,120,NULL,1,0,0x000444A2,7,2,34,4,44,1,7,'bonus bAtkEle,Ele_Dark; bonus2 bComaRace,RC_Demon,50; bonus2 bCriticalAddRace,RC_Undead,50;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1365,'Sabbath','Sabbath',5,20,NULL,2300,120,NULL,1,0,0x000444A2,7,2,34,4,44,1,7,'bonus bAtkEle,Ele_Dark; bonus2 bComaRace,RC_Demon,50; bonus2 bCriticalAddRace,RC_Undead,50;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1366,'Right_Epsilon','Light Epsilon',5,20,NULL,2300,180,NULL,1,0,0x000444A2,7,2,34,4,44,1,7,'bonus bAtkEle,Ele_Holy; skill "AL_HEAL",3; bonus2 bAddRace,RC_Demon,3;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1366,'Right_Epsilon','Light Epsilon',5,20,NULL,2300,180,NULL,1,0,0x000444A2,7,2,34,4,44,1,7,'bonus bAtkEle,Ele_Holy; skill "AL_HEAL",3; bonus2 bAddRace,RC_Demon,3;',NULL,NULL);
-REPLACE INTO `item_db` VALUES (1367,'Slaughter','Slaughter',5,20,NULL,2500,120,NULL,1,0,0x000444A2,7,2,34,4,44,1,7,'bonus bAtkEle,Ele_Earth; bonus bIgnoreDefRace,RC_Brute; bonus2 bComaRace,RC_Brute,40;',NULL,NULL);
+REPLACE INTO `item_db` VALUES (1367,'Slaughter','Slaughter',5,20,NULL,2500,120,NULL,1,0,0x000444A2,7,2,34,4,44,1,7,'bonus bAtkEle,Ele_Earth; bonus bIgnoreDefRace,RC_Brute; bonus2 bComaRace,RC_Brute,40; bonus bIgnoreDefRace,RC_Player_Doram; bonus2 bComaRace,RC_Player_Doram,40;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1368,'Tomahawk','Tomahawk',5,20,NULL,2500,165,NULL,1,0,0x000444A2,7,2,34,4,44,1,7,'bonus bAtkEle,Ele_Wind; skill "ITM_TOMAHAWK",1;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1368,'Tomahawk','Tomahawk',5,20,NULL,2500,165,NULL,1,0,0x000444A2,7,2,34,4,44,1,7,'bonus bAtkEle,Ele_Wind; skill "ITM_TOMAHAWK",1;',NULL,NULL);
-REPLACE INTO `item_db` VALUES (1369,'Guillotine','Guillotine',5,20,NULL,3000,215,NULL,1,0,0x000444A2,7,2,34,4,44,1,7,'bonus2 bComaRace,RC_DemiHuman,30; bonus2 bComaRace,RC_Player,30; bonus2 bSPDrainValueRace,RC_DemiHuman,2; bonus2 bSPDrainValueRace,RC_Player,2; bonus2 bSPGainRace,RC_DemiHuman,20; bonus2 bSPGainRace,RC_Player,20;',NULL,NULL);
+REPLACE INTO `item_db` VALUES (1369,'Guillotine','Guillotine',5,20,NULL,3000,215,NULL,1,0,0x000444A2,7,2,34,4,44,1,7,'bonus2 bComaRace,RC_DemiHuman,30; bonus2 bComaRace,RC_Player_Human,30; bonus2 bSPDrainValueRace,RC_DemiHuman,2; bonus2 bSPDrainValueRace,RC_Player_Human,2; bonus2 bSPGainRace,RC_DemiHuman,20; bonus2 bSPGainRace,RC_Player_Human,20;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1370,'Doom_Slayer','Doom Slayer',5,20,NULL,6000,10,NULL,1,0,0x000444A2,7,2,34,4,80,1,7,'bonus bAspdRate,-40; bonus bUseSPrate,100; if(readparam(bStr)>=95){ bonus bBaseAtk,340; bonus2 bAddEff,Eff_Stun,3000; bonus bBreakArmorRate,500; }',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1370,'Doom_Slayer','Doom Slayer',5,20,NULL,6000,10,NULL,1,0,0x000444A2,7,2,34,4,80,1,7,'bonus bAspdRate,-40; bonus bUseSPrate,100; if(readparam(bStr)>=95){ bonus bBaseAtk,340; bonus2 bAddEff,Eff_Stun,3000; bonus bBreakArmorRate,500; }',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1371,'Doom_Slayer_','Doom Slayer',5,20,NULL,6000,10,NULL,1,1,0x000444A2,7,2,34,4,80,1,7,'bonus bAspdRate,-40; bonus bUseSPrate,100; if(readparam(bStr)>=95){ bonus bBaseAtk,340; bonus2 bAddEff,Eff_Stun,3000; bonus bBreakArmorRate,500; }',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1371,'Doom_Slayer_','Doom Slayer',5,20,NULL,6000,10,NULL,1,1,0x000444A2,7,2,34,4,80,1,7,'bonus bAspdRate,-40; bonus bUseSPrate,100; if(readparam(bStr)>=95){ bonus bBaseAtk,340; bonus2 bAddEff,Eff_Stun,3000; bonus bBreakArmorRate,500; }',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1372,'Right_Epsilon_C','Light Epsilon',5,1,NULL,0,229,NULL,1,0,0x000444A2,7,2,34,4,1,0,7,'bonus bAtkEle,Ele_Holy; skill "AL_HEAL",3; bonus2 bAddRace,RC_Demon,3; bonus bStr,10; bonus bSpeedRate,25;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1372,'Right_Epsilon_C','Light Epsilon',5,1,NULL,0,229,NULL,1,0,0x000444A2,7,2,34,4,1,0,7,'bonus bAtkEle,Ele_Holy; skill "AL_HEAL",3; bonus2 bAddRace,RC_Demon,3; bonus bStr,10; bonus bSpeedRate,25;',NULL,NULL);
@@ -706,10 +706,10 @@ REPLACE INTO `item_db` VALUES (1375,'Berdysz','Berdysz',5,20,NULL,2500,200,NULL,
 REPLACE INTO `item_db` VALUES (1376,'Heart_Breaker','Heart Breaker',5,20,NULL,2000,175,NULL,1,1,0x000444A2,2,2,34,4,70,1,7,'bonus bCritical,20+getrefine(); bonus bAspdRate,5; if((Class==Job_Whitesmith)||(Class==Job_Creator)) bonus3 bAutoSpell,"BS_HAMMERFALL",3,30;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1376,'Heart_Breaker','Heart Breaker',5,20,NULL,2000,175,NULL,1,1,0x000444A2,2,2,34,4,70,1,7,'bonus bCritical,20+getrefine(); bonus bAspdRate,5; if((Class==Job_Whitesmith)||(Class==Job_Creator)) bonus3 bAutoSpell,"BS_HAMMERFALL",3,30;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1377,'Hurricane_Fury','Hurricane\'s Fury',5,20,NULL,3500,332,NULL,1,1,0x000444A2,2,2,34,4,80,1,7,'bonus2 bSubSize,Size_Medium,10+getrefine(); bonus bAspdRate,getrefine(); bonus3 bAutoSpell,"NPC_PULSESTRIKE",5,20;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1377,'Hurricane_Fury','Hurricane\'s Fury',5,20,NULL,3500,332,NULL,1,1,0x000444A2,2,2,34,4,80,1,7,'bonus2 bSubSize,Size_Medium,10+getrefine(); bonus bAspdRate,getrefine(); bonus3 bAutoSpell,"NPC_PULSESTRIKE",5,20;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1378,'Great_Axe_C','Refined Great Axe',5,1,NULL,0,215,NULL,1,0,0x000444A2,7,2,34,4,0,0,7,'bonus bStr,5; bonus bHit,20; bonus2 bAddSkillBlow,"MC_MAMMONITE",5; bonus2 bAddEff,Eff_Stun,2000;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1378,'Great_Axe_C','Refined Great Axe',5,1,NULL,0,215,NULL,1,0,0x000444A2,7,2,34,4,0,0,7,'bonus bStr,5; bonus bHit,20; bonus2 bAddSkillBlow,"MC_MAMMONITE",5; bonus2 bAddEff,Eff_Stun,2000;',NULL,NULL);
-REPLACE INTO `item_db` VALUES (1379,'BF_Two_Handed_Axe1','Valorous Insane Battle Axe',5,20,NULL,0,200,NULL,1,0,0x000444A2,7,2,34,3,80,1,7,'bonus bStr,3; bonus2 bAddRace,RC_DemiHuman,55; bonus2 bAddRace,RC_Player,55; bonus2 bIgnoreDefRaceRate,RC_DemiHuman,20; bonus2 bIgnoreDefRaceRate,RC_Player,20; bonus bUnbreakableWeapon;',NULL,NULL);
-REPLACE INTO `item_db` VALUES (1380,'BF_Two_Handed_Axe2','Brave Insane Battle Axe',5,20,NULL,0,200,NULL,1,0,0x000444A2,7,2,34,3,80,1,7,'bonus bStr,3; bonus2 bAddRace,RC_DemiHuman,55; bonus2 bAddRace,RC_Player,55; autobonus "{ bonus bBreakArmorRate,10000; }",20,3000,BF_WEAPON,"{ specialeffect2 EF_POTION_BERSERK; }"; bonus bUnbreakableWeapon;',NULL,NULL);
+REPLACE INTO `item_db` VALUES (1379,'BF_Two_Handed_Axe1','Valorous Insane Battle Axe',5,20,NULL,0,200,NULL,1,0,0x000444A2,7,2,34,3,80,1,7,'bonus bStr,3; bonus2 bAddRace,RC_DemiHuman,55; bonus2 bAddRace,RC_Player_Human,55; bonus2 bIgnoreDefRaceRate,RC_DemiHuman,20; bonus2 bIgnoreDefRaceRate,RC_Player_Human,20; bonus bUnbreakableWeapon;',NULL,NULL);
+REPLACE INTO `item_db` VALUES (1380,'BF_Two_Handed_Axe2','Brave Insane Battle Axe',5,20,NULL,0,200,NULL,1,0,0x000444A2,7,2,34,3,80,1,7,'bonus bStr,3; bonus2 bAddRace,RC_DemiHuman,55; bonus2 bAddRace,RC_Player_Human,55; autobonus "{ bonus bBreakArmorRate,10000; }",20,3000,BF_WEAPON,"{ specialeffect2 EF_POTION_BERSERK; }"; bonus bUnbreakableWeapon;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1381,'N_Battle_Axe','Novice Battle Axe',5,0,NULL,0,100,NULL,1,3,0x000444A2,7,2,34,1,3,0,7,NULL,NULL,NULL);
 REPLACE INTO `item_db` VALUES (1381,'N_Battle_Axe','Novice Battle Axe',5,0,NULL,0,100,NULL,1,3,0x000444A2,7,2,34,1,3,0,7,NULL,NULL,NULL);
-REPLACE INTO `item_db` VALUES (1382,'Krieger_Twohand_Axe1','Glorious Two-Handed Axe',5,20,NULL,0,220,NULL,1,0,0x000444A2,7,2,34,4,80,1,7,'bonus2 bAddRace,RC_DemiHuman,70; bonus2 bAddRace,RC_Player,70; bonus2 bIgnoreDefRaceRate,RC_DemiHuman,25; bonus2 bIgnoreDefRaceRate,RC_Player,25; bonus bUnbreakableWeapon; if(getrefine()>5) { bonus2 bAddRace,RC_DemiHuman,(getrefine()-3)*(getrefine()-3); bonus2 bAddRace,RC_Player,(getrefine()-3)*(getrefine()-3); bonus2 bIgnoreDefRaceRate,RC_DemiHuman,5; bonus2 bIgnoreDefRaceRate,RC_Player,5; bonus3 bAutoSpell,"NPC_CRITICALWOUND",1,50; } if(getrefine()>8) { bonus3 bAutoSpell,"NPC_CRITICALWOUND",1,100; bonus4 bAutoSpellOnSkill,"MC_MAMMONITE","NPC_CRITICALWOUND",2,200; bonus4 bAutoSpellOnSkill,"WS_CARTTERMINATION","NPC_CRITICALWOUND",2,200; }',NULL,NULL);
+REPLACE INTO `item_db` VALUES (1382,'Krieger_Twohand_Axe1','Glorious Two-Handed Axe',5,20,NULL,0,220,NULL,1,0,0x000444A2,7,2,34,4,80,1,7,'bonus2 bAddRace,RC_DemiHuman,70; bonus2 bAddRace,RC_Player_Human,70; bonus2 bIgnoreDefRaceRate,RC_DemiHuman,25; bonus2 bIgnoreDefRaceRate,RC_Player_Human,25; bonus bUnbreakableWeapon; if(getrefine()>5) { bonus2 bAddRace,RC_DemiHuman,(getrefine()-3)*(getrefine()-3); bonus2 bAddRace,RC_Player_Human,(getrefine()-3)*(getrefine()-3); bonus2 bIgnoreDefRaceRate,RC_DemiHuman,5; bonus2 bIgnoreDefRaceRate,RC_Player_Human,5; bonus3 bAutoSpell,"NPC_CRITICALWOUND",1,50; } if(getrefine()>8) { bonus3 bAutoSpell,"NPC_CRITICALWOUND",1,100; bonus4 bAutoSpellOnSkill,"MC_MAMMONITE","NPC_CRITICALWOUND",2,200; bonus4 bAutoSpellOnSkill,"WS_CARTTERMINATION","NPC_CRITICALWOUND",2,200; }',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1383,'Holy_Celestial_Axe','Celestial Axe',5,20,NULL,1500,200,NULL,1,0,0x000444A2,7,2,34,4,60,1,7,'bonus bAtkEle,Ele_Holy; bonus bVit,10; bonus2 bAddRace,RC_Undead,10; bonus3 bAutoSpell,"AL_BLESSING",5,50;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1383,'Holy_Celestial_Axe','Celestial Axe',5,20,NULL,1500,200,NULL,1,0,0x000444A2,7,2,34,4,60,1,7,'bonus bAtkEle,Ele_Holy; bonus bVit,10; bonus2 bAddRace,RC_Undead,10; bonus3 bAutoSpell,"AL_BLESSING",5,50;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1384,'Veteran_Axe','Veteran Axe',5,10000,NULL,3000,250,NULL,1,2,0x000444A2,7,2,34,3,80,1,7,'if(getskilllv("BS_DAGGER")==3) { bonus bBaseAtk,10; } if(getskilllv("BS_SWORD")==3) { bonus bBaseAtk,10; } if(getskilllv("BS_TWOHANDSWORD")==3) { bonus bBaseAtk,10; } if(getskilllv("BS_KNUCKLE")==3) { bonus bBaseAtk,10; } if(getskilllv("BS_SPEAR")==3) { bonus bBaseAtk,10; } if(getskilllv("BS_AXE")==3) { bonus bBaseAtk,10; } if(getskilllv("BS_MACE")==3) { bonus bBaseAtk,10; } bonus bVit,2;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1384,'Veteran_Axe','Veteran Axe',5,10000,NULL,3000,250,NULL,1,2,0x000444A2,7,2,34,3,80,1,7,'if(getskilllv("BS_DAGGER")==3) { bonus bBaseAtk,10; } if(getskilllv("BS_SWORD")==3) { bonus bBaseAtk,10; } if(getskilllv("BS_TWOHANDSWORD")==3) { bonus bBaseAtk,10; } if(getskilllv("BS_KNUCKLE")==3) { bonus bBaseAtk,10; } if(getskilllv("BS_SPEAR")==3) { bonus bBaseAtk,10; } if(getskilllv("BS_AXE")==3) { bonus bBaseAtk,10; } if(getskilllv("BS_MACE")==3) { bonus bBaseAtk,10; } bonus bVit,2;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1385,'Bradium_Stonehammer','Bradium Stone Hammer',5,20,NULL,2700,210,NULL,1,0,0x000444A2,2,2,34,4,75,1,7,'bonus3 bAddEffOnSkill,"BS_HAMMERFALL",Eff_Stun,500+(200*getrefine());',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1385,'Bradium_Stonehammer','Bradium Stone Hammer',5,20,NULL,2700,210,NULL,1,0,0x000444A2,2,2,34,4,75,1,7,'bonus3 bAddEffOnSkill,"BS_HAMMERFALL",Eff_Stun,500+(200*getrefine());',NULL,NULL);
@@ -739,15 +739,15 @@ REPLACE INTO `item_db` VALUES (1417,'Pole_Axe','Pole Axe',5,20,NULL,3800,160,NUL
 REPLACE INTO `item_db` VALUES (1418,'Gungnir_','Gungnir',5,20,NULL,500,120,NULL,3,2,0x00004082,7,2,2,4,4,1,4,'bonus bAtkEle,Ele_Wind; bonus bPerfectHitRate,25; bonus bHit,30;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1418,'Gungnir_','Gungnir',5,20,NULL,500,120,NULL,3,2,0x00004082,7,2,2,4,4,1,4,'bonus bAtkEle,Ele_Wind; bonus bPerfectHitRate,25; bonus bHit,30;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1419,'Pole_Axe_C','Pole Axe',5,1,NULL,4800,159,NULL,3,0,0x00004082,7,2,2,3,1,0,4,'bonus bStr,1; bonus bInt,2; bonus bDex,1;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1419,'Pole_Axe_C','Pole Axe',5,1,NULL,4800,159,NULL,3,0,0x00004082,7,2,2,3,1,0,4,'bonus bStr,1; bonus bInt,2; bonus bDex,1;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1420,'Long_Horn','Long Horn',5,20,NULL,1000,150,NULL,3,1,0x00004082,2,2,2,4,65,1,4,'bonus bAtkEle,Ele_Holy; bonus2 bAddEff,Eff_Bleeding,500; skill "TF_DETOXIFY",1; bonus bUnbreakableWeapon;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1420,'Long_Horn','Long Horn',5,20,NULL,1000,150,NULL,3,1,0x00004082,2,2,2,4,65,1,4,'bonus bAtkEle,Ele_Holy; bonus2 bAddEff,Eff_Bleeding,500; skill "TF_DETOXIFY",1; bonus bUnbreakableWeapon;',NULL,NULL);
-REPLACE INTO `item_db` VALUES (1421,'Battle_Hook','Battle Hook',5,20,NULL,900,140,NULL,3,1,0x00004082,2,2,2,4,65,1,4,'bonus2 bAddEff,Eff_Stun,500; bonus2 bAddRace,RC_DemiHuman,20; bonus2 bAddRace,RC_Player,20; skill "KN_PIERCE",3;',NULL,NULL);
-REPLACE INTO `item_db` VALUES (1422,'Hunting_Spear','Hunting Spear',5,20,NULL,4200,180,NULL,3,1,0x00004082,2,2,2,4,60,1,4,'bonus bIgnoreDefRace,RC_Brute; bonus3 bAddMonsterDropItem,517,RC_Brute,1000; bonus3 bAutoSpell,"LK_JOINTBEAT",3,100;',NULL,NULL);
+REPLACE INTO `item_db` VALUES (1421,'Battle_Hook','Battle Hook',5,20,NULL,900,140,NULL,3,1,0x00004082,2,2,2,4,65,1,4,'bonus2 bAddEff,Eff_Stun,500; bonus2 bAddRace,RC_DemiHuman,20; bonus2 bAddRace,RC_Player_Human,20; skill "KN_PIERCE",3;',NULL,NULL);
+REPLACE INTO `item_db` VALUES (1422,'Hunting_Spear','Hunting Spear',5,20,NULL,4200,180,NULL,3,1,0x00004082,2,2,2,4,60,1,4,'bonus bIgnoreDefRace,RC_Brute; bonus bIgnoreDefRace,RC_Player_Doram; bonus3 bAddMonsterDropItem,517,RC_Brute,1000; bonus3 bAutoSpell,"LK_JOINTBEAT",3,100;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1423,'Pole_XO','Pole XO',5,20,NULL,0,120,NULL,3,0,0x00004082,7,2,2,1,0,0,4,'bonus2 bAddClass,Class_All,50;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1423,'Pole_XO','Pole XO',5,20,NULL,0,120,NULL,3,0,0x00004082,7,2,2,1,0,0,4,'bonus2 bAddClass,Class_All,50;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1424,'Skewer_C','Refined Brocca',5,1,NULL,0,149,NULL,3,0,0x00004082,7,2,2,4,0,0,4,'bonus bIgnoreDefClass,Class_Normal; bonus2 bAddSize,Size_Medium,20;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1424,'Skewer_C','Refined Brocca',5,1,NULL,0,149,NULL,3,0,0x00004082,7,2,2,4,0,0,4,'bonus bIgnoreDefClass,Class_Normal; bonus2 bAddSize,Size_Medium,20;',NULL,NULL);
-REPLACE INTO `item_db` VALUES (1425,'BF_Spear1','Assaulter Spear',5,20,NULL,0,60,NULL,3,0,0x00004082,7,2,2,3,80,1,4,'bonus bStr,2; bonus2 bAddRace,RC_DemiHuman,95; bonus2 bAddRace,RC_Player,95; bonus2 bIgnoreDefRaceRate,RC_DemiHuman,20; bonus2 bIgnoreDefRaceRate,RC_Player,20; bonus bUnbreakableWeapon; if(BaseJob==Job_Crusader) bonus bAspdRate,20;',NULL,NULL);
-REPLACE INTO `item_db` VALUES (1426,'Krieger_Onehand_Spear1','Glorious Spear',5,20,NULL,0,130,NULL,3,0,0x00004082,7,2,2,4,80,1,4,'bonus2 bAddRace,RC_DemiHuman,95; bonus2 bAddRace,RC_Player,95; bonus2 bIgnoreDefRaceRate,RC_DemiHuman,20; bonus2 bIgnoreDefRaceRate,RC_Player,20; bonus bUnbreakableWeapon; if(getrefine()>5) { bonus2 bAddRace,RC_DemiHuman,(getrefine()-4)*(getrefine()-4); bonus2 bAddRace,RC_Player,(getrefine()-4)*(getrefine()-4); bonus2 bIgnoreDefRaceRate,RC_DemiHuman,5; bonus2 bIgnoreDefRaceRate,RC_Player,5; bonus bAspdRate,10; } if(getrefine()>8) { if(BaseJob==Job_Knight) bonus4 bAutoSpellOnSkill,"KN_PIERCE","NPC_CRITICALWOUND",2,200; else if(BaseJob==Job_Crusader) bonus3 bAutoSpell,"PA_PRESSURE",5,100; }',NULL,NULL);
+REPLACE INTO `item_db` VALUES (1425,'BF_Spear1','Assaulter Spear',5,20,NULL,0,60,NULL,3,0,0x00004082,7,2,2,3,80,1,4,'bonus bStr,2; bonus2 bAddRace,RC_DemiHuman,95; bonus2 bAddRace,RC_Player_Human,95; bonus2 bIgnoreDefRaceRate,RC_DemiHuman,20; bonus2 bIgnoreDefRaceRate,RC_Player_Human,20; bonus bUnbreakableWeapon; if(BaseJob==Job_Crusader) bonus bAspdRate,20;',NULL,NULL);
+REPLACE INTO `item_db` VALUES (1426,'Krieger_Onehand_Spear1','Glorious Spear',5,20,NULL,0,130,NULL,3,0,0x00004082,7,2,2,4,80,1,4,'bonus2 bAddRace,RC_DemiHuman,95; bonus2 bAddRace,RC_Player_Human,95; bonus2 bIgnoreDefRaceRate,RC_DemiHuman,20; bonus2 bIgnoreDefRaceRate,RC_Player_Human,20; bonus bUnbreakableWeapon; if(getrefine()>5) { bonus2 bAddRace,RC_DemiHuman,(getrefine()-4)*(getrefine()-4); bonus2 bAddRace,RC_Player_Human,(getrefine()-4)*(getrefine()-4); bonus2 bIgnoreDefRaceRate,RC_DemiHuman,5; bonus2 bIgnoreDefRaceRate,RC_Player_Human,5; bonus bAspdRate,10; } if(getrefine()>8) { if(BaseJob==Job_Knight) bonus4 bAutoSpellOnSkill,"KN_PIERCE","NPC_CRITICALWOUND",2,200; else if(BaseJob==Job_Crusader) bonus3 bAutoSpell,"PA_PRESSURE",5,100; }',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1427,'Spear_Of_Excellent','Spear Of Excellent',5,20,NULL,0,160,NULL,3,0,0x00004082,7,2,2,3,0,0,4,'bonus2 bSkillAtk,"SM_MAGNUM",25; bonus bStr,2;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1427,'Spear_Of_Excellent','Spear Of Excellent',5,20,NULL,0,160,NULL,3,0,0x00004082,7,2,2,3,0,0,4,'bonus2 bSkillAtk,"SM_MAGNUM",25; bonus bStr,2;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1428,'Long_Horn_M','Long Horn',5,20,NULL,1000,150,NULL,3,1,0x00004082,2,2,2,4,65,1,4,'bonus bAtkEle,Ele_Holy; bonus2 bAddEff,Eff_Bleeding,500; skill "TF_DETOXIFY",1; bonus bUnbreakableWeapon;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1428,'Long_Horn_M','Long Horn',5,20,NULL,1000,150,NULL,3,1,0x00004082,2,2,2,4,65,1,4,'bonus bAtkEle,Ele_Holy; bonus2 bAddEff,Eff_Bleeding,500; skill "TF_DETOXIFY",1; bonus bUnbreakableWeapon;',NULL,NULL);
-REPLACE INTO `item_db` VALUES (1429,'Hunting_Spear_M','Hunting Spear',5,20,NULL,4200,180,NULL,3,1,0x00004082,2,2,2,4,60,1,4,'bonus bIgnoreDefRace,RC_Brute; bonus3 bAddMonsterDropItem,517,RC_Brute,1000; bonus3 bAutoSpell,"LK_JOINTBEAT",3,500;',NULL,NULL);
+REPLACE INTO `item_db` VALUES (1429,'Hunting_Spear_M','Hunting Spear',5,20,NULL,4200,180,NULL,3,1,0x00004082,2,2,2,4,60,1,4,'bonus bIgnoreDefRace,RC_Brute; bonus bIgnoreDefRace,RC_Player_Doram; bonus3 bAddMonsterDropItem,517,RC_Brute,1000; bonus3 bAutoSpell,"LK_JOINTBEAT",3,500;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1430,'Pike_C','Pike',5,0,NULL,0,74,NULL,3,0,0x00004082,7,2,2,1,1,0,4,'bonus2 bAddSize,Size_All,70;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1430,'Pike_C','Pike',5,0,NULL,0,74,NULL,3,0,0x00004082,7,2,2,1,1,0,4,'bonus2 bAddSize,Size_All,70;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1431,'F_Pole_Axe_C','Pole Axe',5,1,NULL,4800,195,NULL,3,0,0x00004082,7,2,2,3,1,0,4,'bonus bStr,1; bonus bInt,2; bonus bDex,1;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1431,'F_Pole_Axe_C','Pole Axe',5,1,NULL,4800,195,NULL,3,0,0x00004082,7,2,2,3,1,0,4,'bonus bStr,1; bonus bInt,2; bonus bDex,1;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1432,'E_Pole_Axe_C','Pole Axe',5,1,NULL,4800,195,NULL,3,0,0x00004082,7,2,2,3,1,0,4,'bonus bStr,1; bonus bInt,2; bonus bDex,1;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1432,'E_Pole_Axe_C','Pole Axe',5,1,NULL,4800,195,NULL,3,0,0x00004082,7,2,2,3,1,0,4,'bonus bStr,1; bonus bInt,2; bonus bDex,1;',NULL,NULL);
@@ -768,9 +768,9 @@ REPLACE INTO `item_db` VALUES (1463,'Halberd','Halberd',5,54000,NULL,2500,165,NU
 REPLACE INTO `item_db` VALUES (1464,'Halberd_','Halberd',5,54000,NULL,2500,165,NULL,3,2,0x00004082,7,2,34,3,33,1,5,NULL,NULL,NULL);
 REPLACE INTO `item_db` VALUES (1464,'Halberd_','Halberd',5,54000,NULL,2500,165,NULL,3,2,0x00004082,7,2,34,3,33,1,5,NULL,NULL,NULL);
 REPLACE INTO `item_db` VALUES (1465,'Halberd__','Halberd',5,54000,NULL,2500,165,NULL,3,0,0x00004082,7,2,34,3,33,1,5,NULL,NULL,NULL);
 REPLACE INTO `item_db` VALUES (1465,'Halberd__','Halberd',5,54000,NULL,2500,165,NULL,3,0,0x00004082,7,2,34,3,33,1,5,NULL,NULL,NULL);
 REPLACE INTO `item_db` VALUES (1466,'Crescent_Scythe','Crescent Scythe',5,20,NULL,2500,180,NULL,3,0,0x00004082,7,2,34,4,48,1,5,'bonus bCritical,30; bonus bHit,10;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1466,'Crescent_Scythe','Crescent Scythe',5,20,NULL,2500,180,NULL,3,0,0x00004082,7,2,34,4,48,1,5,'bonus bCritical,30; bonus bHit,10;',NULL,NULL);
-REPLACE INTO `item_db` VALUES (1467,'Bill_Guisarme','Bill Guisarme',5,20,NULL,1000,183,NULL,3,0,0x00004082,7,2,34,4,48,1,5,'bonus2 bAddRace,RC_Brute,10; bonus2 bAddRace,RC_DemiHuman,5; bonus2 bAddRace,RC_Player,5;',NULL,NULL);
+REPLACE INTO `item_db` VALUES (1467,'Bill_Guisarme','Bill Guisarme',5,20,NULL,1000,183,NULL,3,0,0x00004082,7,2,34,4,48,1,5,'bonus2 bAddRace,RC_Brute,10; bonus2 bAddRace,RC_Player_Doram,10; bonus2 bAddRace,RC_DemiHuman,5; bonus2 bAddRace,RC_Player_Human,5;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1468,'Zephyrus','Zephyrus',5,20,NULL,2000,170,NULL,3,0,0x00004082,7,2,34,4,48,1,5,'bonus bAtkEle,Ele_Wind; bonus2 bAddEff,Eff_Silence,200; bonus3 bAutoSpell,"MG_THUNDERSTORM",3,100;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1468,'Zephyrus','Zephyrus',5,20,NULL,2000,170,NULL,3,0,0x00004082,7,2,34,4,48,1,5,'bonus bAtkEle,Ele_Wind; bonus2 bAddEff,Eff_Silence,200; bonus3 bAutoSpell,"MG_THUNDERSTORM",3,100;',NULL,NULL);
-REPLACE INTO `item_db` VALUES (1469,'Longinus\'s_Spear','Longinus\'s Spear',5,20,NULL,2500,180,NULL,3,0,0x00004082,7,2,34,4,48,1,5,'bonus bAtkEle,Ele_Dark; bonus2 bAddRace,RC_DemiHuman,10; bonus2 bAddRace,RC_Player,10; bonus2 bAddRace,RC_Angel,10;',NULL,NULL);
+REPLACE INTO `item_db` VALUES (1469,'Longinus\'s_Spear','Longinus\'s Spear',5,20,NULL,2500,180,NULL,3,0,0x00004082,7,2,34,4,48,1,5,'bonus bAtkEle,Ele_Dark; bonus2 bAddRace,RC_DemiHuman,10; bonus2 bAddRace,RC_Player_Human,10; bonus2 bAddRace,RC_Angel,10;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1470,'Brionac','Brionac',5,20,NULL,3000,190,NULL,3,0,0x00004082,7,2,34,4,48,1,5,'bonus bAtkEle,Ele_Holy; skill "AL_HEAL",5; bonus3 bAutoSpell,"MG_SOULSTRIKE",3,100; bonus2 bAddClass,Class_Boss,5;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1470,'Brionac','Brionac',5,20,NULL,3000,190,NULL,3,0,0x00004082,7,2,34,4,48,1,5,'bonus bAtkEle,Ele_Holy; skill "AL_HEAL",5; bonus3 bAutoSpell,"MG_SOULSTRIKE",3,100; bonus2 bAddClass,Class_Boss,5;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1471,'Hell_Fire','Hellfire',5,20,NULL,3500,200,NULL,3,0,0x00004082,7,2,34,4,48,1,5,'bonus bAtkEle,Ele_Fire; bonus3 bAutoSpell,"MG_FIREBALL",3,100; bonus bStr,3;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1471,'Hell_Fire','Hellfire',5,20,NULL,3500,200,NULL,3,0,0x00004082,7,2,34,4,48,1,5,'bonus bAtkEle,Ele_Fire; bonus3 bAutoSpell,"MG_FIREBALL",3,100; bonus bStr,3;',NULL,NULL);
 # 2-Handed Staffs
 # 2-Handed Staffs
@@ -781,17 +781,17 @@ REPLACE INTO `item_db` VALUES (1474,'Gae_Bolg','Gae Bolg',5,20,NULL,2000,160,NUL
 REPLACE INTO `item_db` VALUES (1475,'Horseback_Lance','Equestrian\'s Spear',5,20,NULL,3700,200,NULL,4,0,0x00004082,7,2,34,4,75,1,5,NULL,NULL,NULL);
 REPLACE INTO `item_db` VALUES (1475,'Horseback_Lance','Equestrian\'s Spear',5,20,NULL,3700,200,NULL,4,0,0x00004082,7,2,34,4,75,1,5,NULL,NULL,NULL);
 REPLACE INTO `item_db` VALUES (1476,'Crescent_Scythe_','Crescent Scythe',5,20,NULL,2500,180,NULL,3,1,0x00004082,7,2,34,4,48,1,5,'bonus bCritical,30; bonus bHit,10;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1476,'Crescent_Scythe_','Crescent Scythe',5,20,NULL,2500,180,NULL,3,1,0x00004082,7,2,34,4,48,1,5,'bonus bCritical,30; bonus bHit,10;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1477,'Spectral_Spear','Spectral Spear',5,20,NULL,2000,170,NULL,3,0,0x00004082,7,2,34,4,75,1,5,'bonus2 bAddEle,Ele_Dark,20; bonus2 bAddRace,RC_Demon,20; bonus2 bAddRace,RC_Undead,20; bonus2 bSubEle,Ele_Dark,10; bonus2 bSubRace,RC_Demon,10; bonus2 bSubRace,RC_Undead,10; bonus2 bAddEff2,Eff_Confusion,1000; bonus bHPGainValue,50;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1477,'Spectral_Spear','Spectral Spear',5,20,NULL,2000,170,NULL,3,0,0x00004082,7,2,34,4,75,1,5,'bonus2 bAddEle,Ele_Dark,20; bonus2 bAddRace,RC_Demon,20; bonus2 bAddRace,RC_Undead,20; bonus2 bSubEle,Ele_Dark,10; bonus2 bSubRace,RC_Demon,10; bonus2 bSubRace,RC_Undead,10; bonus2 bAddEff2,Eff_Confusion,1000; bonus bHPGainValue,50;',NULL,NULL);
-REPLACE INTO `item_db` VALUES (1478,'Ahlspiess','Ahlspiess',5,20,NULL,1000,120,NULL,3,0,0x00004080,7,2,34,4,65,1,5,'bonus bIgnoreDefClass,Class_Normal; bonus bIgnoreDefClass,Class_Boss; bonus2 bAddRace,RC_DemiHuman,10; bonus2 bAddRace,RC_Player,10; bonus3 bAutoSpell,"KN_PIERCE",5,30;',NULL,NULL);
+REPLACE INTO `item_db` VALUES (1478,'Ahlspiess','Ahlspiess',5,20,NULL,1000,120,NULL,3,0,0x00004080,7,2,34,4,65,1,5,'bonus bIgnoreDefClass,Class_Normal; bonus bIgnoreDefClass,Class_Boss; bonus2 bAddRace,RC_DemiHuman,10; bonus2 bAddRace,RC_Player_Human,10; bonus3 bAutoSpell,"KN_PIERCE",5,30;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1479,'Spectral_Spear_','Spectral Spear',5,20,NULL,2000,170,NULL,3,1,0x00004082,7,2,34,4,75,1,5,'bonus2 bAddEle,Ele_Dark,20; bonus2 bAddRace,RC_Demon,20; bonus2 bAddRace,RC_Undead,20; bonus2 bSubEle,Ele_Dark,10; bonus2 bSubRace,RC_Demon,10; bonus2 bSubRace,RC_Undead,10; bonus2 bAddEff2,Eff_Confusion,1000; bonus bHPGainValue,50;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1479,'Spectral_Spear_','Spectral Spear',5,20,NULL,2000,170,NULL,3,1,0x00004082,7,2,34,4,75,1,5,'bonus2 bAddEle,Ele_Dark,20; bonus2 bAddRace,RC_Demon,20; bonus2 bAddRace,RC_Undead,20; bonus2 bSubEle,Ele_Dark,10; bonus2 bSubRace,RC_Demon,10; bonus2 bSubRace,RC_Undead,10; bonus2 bAddEff2,Eff_Confusion,1000; bonus bHPGainValue,50;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1480,'Gae_Bolg_','Gae Bolg',5,20,NULL,2000,160,NULL,3,2,0x00004082,7,2,34,4,60,1,5,'bonus bIgnoreDefRace,RC_Dragon; bonus2 bAddClass,Class_Boss,10;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1480,'Gae_Bolg_','Gae Bolg',5,20,NULL,2000,160,NULL,3,2,0x00004082,7,2,34,4,60,1,5,'bonus bIgnoreDefRace,RC_Dragon; bonus2 bAddClass,Class_Boss,10;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1481,'Zephyrus_','Zephyrus',5,20,NULL,2000,170,NULL,3,3,0x00004082,7,2,34,4,48,1,5,'bonus bAtkEle,Ele_Wind; bonus2 bAddEff,Eff_Silence,200; bonus3 bAutoSpell,"MG_THUNDERSTORM",3,100;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1481,'Zephyrus_','Zephyrus',5,20,NULL,2000,170,NULL,3,3,0x00004082,7,2,34,4,48,1,5,'bonus bAtkEle,Ele_Wind; bonus2 bAddEff,Eff_Silence,200; bonus3 bAutoSpell,"MG_THUNDERSTORM",3,100;',NULL,NULL);
-REPLACE INTO `item_db` VALUES (1482,'BF_Lance1','Assaulter Lance',5,NULL,NULL,0,160,NULL,3,0,0x00004082,7,2,34,3,80,1,5,'bonus bStr,2; bonus2 bAddRace,RC_DemiHuman,25; bonus2 bAddRace,RC_Player,25; bonus bIgnoreDefRace,RC_DemiHuman; bonus bIgnoreDefRace,RC_Player; bonus bUnbreakableWeapon;',NULL,NULL);
+REPLACE INTO `item_db` VALUES (1482,'BF_Lance1','Assaulter Lance',5,NULL,NULL,0,160,NULL,3,0,0x00004082,7,2,34,3,80,1,5,'bonus bStr,2; bonus2 bAddRace,RC_DemiHuman,25; bonus2 bAddRace,RC_Player_Human,25; bonus bIgnoreDefRace,RC_DemiHuman; bonus bIgnoreDefRace,RC_Player_Human; bonus bUnbreakableWeapon;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1483,'Ivory_Lance','Ivory Lance',5,20,NULL,1000,160,NULL,3,1,0x00004082,2,2,34,3,50,1,5,'bonus bAgi,2; bonus bAspdRate,3; bonus2 bAddEff,Eff_Bleeding,300; bonus3 bAutoSpell,"NPC_CRITICALWOUND",1,30; skill "KN_SPEARSTAB",5;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1483,'Ivory_Lance','Ivory Lance',5,20,NULL,1000,160,NULL,3,1,0x00004082,2,2,34,3,50,1,5,'bonus bAgi,2; bonus bAspdRate,3; bonus2 bAddEff,Eff_Bleeding,300; bonus3 bAutoSpell,"NPC_CRITICALWOUND",1,30; skill "KN_SPEARSTAB",5;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1484,'Cardo','Cardo',5,20,NULL,5600,150,NULL,3,1,0x00000080,2,2,34,4,70,1,5,'bonus bAspdRate,-10; bonus bDef,getrefine()/2;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1484,'Cardo','Cardo',5,20,NULL,5600,150,NULL,3,1,0x00000080,2,2,34,4,70,1,5,'bonus bAspdRate,-10; bonus bDef,getrefine()/2;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1485,'Battle_Fork','Battle Fork',5,20,NULL,700,112,NULL,3,4,0x00004082,2,2,34,2,50,1,5,NULL,NULL,NULL);
 REPLACE INTO `item_db` VALUES (1485,'Battle_Fork','Battle Fork',5,20,NULL,700,112,NULL,3,4,0x00004082,2,2,34,2,50,1,5,NULL,NULL,NULL);
-REPLACE INTO `item_db` VALUES (1486,'Krieger_Twohand_Spear1','Glorious Lance',5,20,NULL,0,220,NULL,3,0,0x00004082,7,2,34,4,80,1,5,'bonus2 bAddRace,RC_DemiHuman,70; bonus2 bAddRace,RC_Player,70; bonus2 bIgnoreDefRaceRate,RC_DemiHuman,25; bonus2 bIgnoreDefRaceRate,RC_Player,25; bonus bUnbreakableWeapon; if(getrefine()>5) { bonus2 bAddRace,RC_DemiHuman,(getrefine()-4)*(getrefine()-4); bonus2 bAddRace,RC_Player,(getrefine()-4)*(getrefine()-4); bonus2 bIgnoreDefRaceRate,RC_DemiHuman,5; bonus2 bIgnoreDefRaceRate,RC_Player,5; } if(getrefine()>8) { if(BaseJob==Job_Knight) bonus4 bAutoSpellOnSkill,"KN_PIERCE","NPC_CRITICALWOUND",2,200; else if(BaseJob==Job_Crusader) bonus3 bAutoSpell,"PA_PRESSURE",5,200; }',NULL,NULL);
+REPLACE INTO `item_db` VALUES (1486,'Krieger_Twohand_Spear1','Glorious Lance',5,20,NULL,0,220,NULL,3,0,0x00004082,7,2,34,4,80,1,5,'bonus2 bAddRace,RC_DemiHuman,70; bonus2 bAddRace,RC_Player_Human,70; bonus2 bIgnoreDefRaceRate,RC_DemiHuman,25; bonus2 bIgnoreDefRaceRate,RC_Player_Human,25; bonus bUnbreakableWeapon; if(getrefine()>5) { bonus2 bAddRace,RC_DemiHuman,(getrefine()-4)*(getrefine()-4); bonus2 bAddRace,RC_Player_Human,(getrefine()-4)*(getrefine()-4); bonus2 bIgnoreDefRaceRate,RC_DemiHuman,5; bonus2 bIgnoreDefRaceRate,RC_Player_Human,5; } if(getrefine()>8) { if(BaseJob==Job_Knight) bonus4 bAutoSpellOnSkill,"KN_PIERCE","NPC_CRITICALWOUND",2,200; else if(BaseJob==Job_Crusader) bonus3 bAutoSpell,"PA_PRESSURE",5,200; }',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1487,'Lance_C','Lance',5,0,NULL,0,220,NULL,3,0,0x00004082,7,2,34,3,1,0,5,'bonus2 bAddSize,Size_All,50;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1487,'Lance_C','Lance',5,0,NULL,0,220,NULL,3,0,0x00004082,7,2,34,3,1,0,5,'bonus2 bAddSize,Size_All,50;',NULL,NULL);
-REPLACE INTO `item_db` VALUES (1488,'Ahlspiess_C','Ahlspiess',5,20,NULL,0,135,NULL,3,0,0x00004080,7,2,34,4,1,1,5,'bonus bIgnoreDefClass,Class_Normal; bonus bIgnoreDefClass,Class_Boss; bonus2 bAddRace,RC_DemiHuman,10; bonus2 bAddRace,RC_Player,10; bonus3 bAutoSpell,"KN_PIERCE",5,30;',NULL,NULL);
+REPLACE INTO `item_db` VALUES (1488,'Ahlspiess_C','Ahlspiess',5,20,NULL,0,135,NULL,3,0,0x00004080,7,2,34,4,1,1,5,'bonus bIgnoreDefClass,Class_Normal; bonus bIgnoreDefClass,Class_Boss; bonus2 bAddRace,RC_DemiHuman,10; bonus2 bAddRace,RC_Player_Human,10; bonus3 bAutoSpell,"KN_PIERCE",5,30;',NULL,NULL);
 # Maces
 # Maces
 REPLACE INTO `item_db` VALUES (1501,'Club','Club',5,120,NULL,700,23,NULL,1,3,0x0004C5B3,7,2,2,1,2,1,8,NULL,NULL,NULL);
 REPLACE INTO `item_db` VALUES (1501,'Club','Club',5,120,NULL,700,23,NULL,1,3,0x0004C5B3,7,2,2,1,2,1,8,NULL,NULL,NULL);
 REPLACE INTO `item_db` VALUES (1502,'Club_','Club',5,120,NULL,700,23,NULL,1,4,0x0004C5B3,7,2,2,1,2,1,8,NULL,NULL,NULL);
 REPLACE INTO `item_db` VALUES (1502,'Club_','Club',5,120,NULL,700,23,NULL,1,4,0x0004C5B3,7,2,2,1,2,1,8,NULL,NULL,NULL);
@@ -819,7 +819,7 @@ REPLACE INTO `item_db` VALUES (1523,'Spike','Spike',5,20,NULL,700,85,NULL,1,0,0x
 REPLACE INTO `item_db` VALUES (1524,'Golden_Mace','Golden Mace',5,20,NULL,800,110,NULL,1,1,0x00008110,7,2,2,4,40,1,8,'bonus2 bAddRace,RC_Undead,10; bonus bUnbreakableWeapon;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1524,'Golden_Mace','Golden Mace',5,20,NULL,800,110,NULL,1,1,0x00008110,7,2,2,4,40,1,8,'bonus2 bAddRace,RC_Undead,10; bonus bUnbreakableWeapon;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1525,'Long_Mace','Long Mace',5,20,NULL,800,135,NULL,3,0,0x00008110,7,2,2,4,40,1,8,'bonus bLongAtkDef,10;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1525,'Long_Mace','Long Mace',5,20,NULL,800,135,NULL,3,0,0x00008110,7,2,2,4,40,1,8,'bonus bLongAtkDef,10;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1526,'Slash','Slash',5,20,NULL,1000,145,NULL,1,0,0x00008110,7,2,2,4,40,1,8,'bonus2 bAddRace,RC_Undead,15; bonus2 bComaRace,RC_Undead,10; bonus2 bExpAddRace,RC_Undead,5;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1526,'Slash','Slash',5,20,NULL,1000,145,NULL,1,0,0x00008110,7,2,2,4,40,1,8,'bonus2 bAddRace,RC_Undead,15; bonus2 bComaRace,RC_Undead,10; bonus2 bExpAddRace,RC_Undead,5;',NULL,NULL);
-REPLACE INTO `item_db` VALUES (1527,'Quadrille','Quadrille',5,20,NULL,900,165,NULL,1,0,0x00008110,7,2,2,4,40,1,8,'bonus2 bAddRace,RC_Undead,10; bonus2 bAddRace,RC_DemiHuman,10; bonus2 bAddRace,RC_Player,10; bonus2 bAddEle,Ele_Earth,10;',NULL,NULL);
+REPLACE INTO `item_db` VALUES (1527,'Quadrille','Quadrille',5,20,NULL,900,165,NULL,1,0,0x00008110,7,2,2,4,40,1,8,'bonus2 bAddRace,RC_Undead,10; bonus2 bAddRace,RC_DemiHuman,10; bonus2 bAddRace,RC_Player_Human,10; bonus2 bAddEle,Ele_Earth,10;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1528,'Grand_Cross','Grand Cross',5,20,NULL,1500,140,NULL,1,0,0x00008110,7,2,2,4,40,1,8,'bonus bAtkEle,Ele_Holy; skill "PR_TURNUNDEAD",3; bonus3 bAutoSpell,"PR_TURNUNDEAD",3,100; bonus2 bSPDrainValueRace,RC_Undead,1; bonus2 bSPGainRace,RC_Undead,3;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1528,'Grand_Cross','Grand Cross',5,20,NULL,1500,140,NULL,1,0,0x00008110,7,2,2,4,40,1,8,'bonus bAtkEle,Ele_Holy; skill "PR_TURNUNDEAD",3; bonus3 bAutoSpell,"PR_TURNUNDEAD",3,100; bonus2 bSPDrainValueRace,RC_Undead,1; bonus2 bSPGainRace,RC_Undead,3;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1529,'Iron_Driver','Iron Driver',5,20,NULL,3000,155,NULL,2,0,0x00008100,7,2,2,3,78,1,8,NULL,NULL,NULL);
 REPLACE INTO `item_db` VALUES (1529,'Iron_Driver','Iron Driver',5,20,NULL,3000,155,NULL,2,0,0x00008100,7,2,2,3,78,1,8,NULL,NULL,NULL);
 REPLACE INTO `item_db` VALUES (1530,'Mjolnir','Mjolnir',5,20,NULL,6000,250,NULL,1,0,0x000444A2,7,2,2,4,95,0,8,'bonus bAtkEle,Ele_Wind; bonus bDex,40; bonus bStr,15; bonus bAspdRate,10; bonus bUnbreakableWeapon;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1530,'Mjolnir','Mjolnir',5,20,NULL,6000,250,NULL,1,0,0x000444A2,7,2,2,4,95,0,8,'bonus bAtkEle,Ele_Wind; bonus bDex,40; bonus bStr,15; bonus bAspdRate,10; bonus bUnbreakableWeapon;',NULL,NULL);
@@ -829,16 +829,16 @@ REPLACE INTO `item_db` VALUES (1533,'Warrior_Balmung','Warrior\'s Balmung',5,20,
 REPLACE INTO `item_db` VALUES (1534,'Spanner_C','Wrench',5,2,NULL,0,150,NULL,1,0,0x00008110,7,2,2,3,0,0,8,'bonus2 bAddEff,Eff_Blind,100; bonus2 bAddEff,Eff_Stun,100; bonus2 bAddEff,Eff_Poison,100; bonus2 bAddEff,Eff_Freeze,100;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1534,'Spanner_C','Wrench',5,2,NULL,0,150,NULL,1,0,0x00008110,7,2,2,3,0,0,8,'bonus2 bAddEff,Eff_Blind,100; bonus2 bAddEff,Eff_Stun,100; bonus2 bAddEff,Eff_Poison,100; bonus2 bAddEff,Eff_Freeze,100;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1535,'Hollgrehenn_Hammer','Hollgrehenn\'s Hammer',5,4444,NULL,44,4,NULL,1,1,0x0004C5B2,7,2,2,4,44,1,8,'bonus bBreakArmorRate,100; bonus bBreakWeaponRate,100; if(readparam(bStr)>=44) { bonus bBaseAtk,44; }',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1535,'Hollgrehenn_Hammer','Hollgrehenn\'s Hammer',5,4444,NULL,44,4,NULL,1,1,0x0004C5B2,7,2,2,4,44,1,8,'bonus bBreakArmorRate,100; bonus bBreakWeaponRate,100; if(readparam(bStr)>=44) { bonus bBaseAtk,44; }',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1536,'Good_Morning_Star','Good Morning Star',5,20,NULL,0,120,NULL,1,0,0x0004C5B2,7,2,2,1,0,0,8,'bonus2 bAddClass,Class_All,50;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1536,'Good_Morning_Star','Good Morning Star',5,20,NULL,0,120,NULL,1,0,0x0004C5B2,7,2,2,1,0,0,8,'bonus2 bAddClass,Class_All,50;',NULL,NULL);
-REPLACE INTO `item_db` VALUES (1537,'Quadrille_C','Refined Quadrille',5,1,NULL,0,193,NULL,1,0,0x00008110,7,2,2,4,0,0,8,'bonus2 bAddRace,RC_DemiHuman,30; bonus2 bAddRace,RC_Player,30; bonus2 bAddRace,RC_Demon,40; bonus2 bAddRace,RC_Undead,40;',NULL,NULL);
+REPLACE INTO `item_db` VALUES (1537,'Quadrille_C','Refined Quadrille',5,1,NULL,0,193,NULL,1,0,0x00008110,7,2,2,4,0,0,8,'bonus2 bAddRace,RC_DemiHuman,30; bonus2 bAddRace,RC_Player_Human,30; bonus2 bAddRace,RC_Demon,40; bonus2 bAddRace,RC_Undead,40;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1538,'Spike_','Spike',5,20,NULL,700,85,NULL,1,2,0x00008110,7,2,2,4,40,1,8,'bonus bCritical,40; bonus bDefRate,-67; bonus bDef2Rate,-67;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1538,'Spike_','Spike',5,20,NULL,700,85,NULL,1,2,0x00008110,7,2,2,4,40,1,8,'bonus bCritical,40; bonus bDefRate,-67; bonus bDef2Rate,-67;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1539,'Golden_Mace_','Golden Mace',5,20,NULL,800,110,NULL,1,2,0x00008110,7,2,2,4,40,1,8,'bonus2 bAddRace,RC_Undead,10; bonus bUnbreakableWeapon;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1539,'Golden_Mace_','Golden Mace',5,20,NULL,800,110,NULL,1,2,0x00008110,7,2,2,4,40,1,8,'bonus2 bAddRace,RC_Undead,10; bonus bUnbreakableWeapon;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1540,'Grand_Cross_','Grand Cross',5,20,NULL,1500,140,NULL,1,1,0x00008110,7,2,2,4,40,1,8,'bonus bAtkEle,Ele_Holy; skill "PR_TURNUNDEAD",3; bonus3 bAutoSpell,"PR_TURNUNDEAD",3,100; bonus2 bSPDrainValueRace,RC_Undead,1; bonus2 bSPGainRace,RC_Undead,3;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1540,'Grand_Cross_','Grand Cross',5,20,NULL,1500,140,NULL,1,1,0x00008110,7,2,2,4,40,1,8,'bonus bAtkEle,Ele_Holy; skill "PR_TURNUNDEAD",3; bonus3 bAutoSpell,"PR_TURNUNDEAD",3,100; bonus2 bSPDrainValueRace,RC_Undead,1; bonus2 bSPGainRace,RC_Undead,3;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1541,'Nemesis','Nemesis',5,20,NULL,900,120,NULL,1,0,0x00008110,7,2,2,4,60,1,8,'bonus bAtkEle,Ele_Holy; bonus2 bAddRace,RC_Undead,10; bonus2 bAddRace,RC_Demon,10; bonus3 bAutoSpell,"AL_CRUCIS",1+getrefine(),100; autobonus "{ bonus bBaseAtk,50; }",10,20000,BF_WEAPON,"{ specialeffect2 EF_BLOODDRAIN; }";',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1541,'Nemesis','Nemesis',5,20,NULL,900,120,NULL,1,0,0x00008110,7,2,2,4,60,1,8,'bonus bAtkEle,Ele_Holy; bonus2 bAddRace,RC_Undead,10; bonus2 bAddRace,RC_Demon,10; bonus3 bAutoSpell,"AL_CRUCIS",1+getrefine(),100; autobonus "{ bonus bBaseAtk,50; }",10,20000,BF_WEAPON,"{ specialeffect2 EF_BLOODDRAIN; }";',NULL,NULL);
-REPLACE INTO `item_db` VALUES (1542,'BF_Morning_Star1','Valorous Battlefield Morning Star',5,20,NULL,0,105,NULL,1,0,0x0004C5B3,7,2,2,3,80,1,8,'bonus bStr,1; bonus bDex,1; bonus2 bAddRace,RC_DemiHuman,75; bonus2 bAddRace,RC_Player,75; bonus2 bIgnoreDefRaceRate,RC_DemiHuman,20; bonus2 bIgnoreDefRaceRate,RC_Player,20; bonus bUnbreakableWeapon;',NULL,NULL);
-REPLACE INTO `item_db` VALUES (1543,'BF_Morning_Star2','Brave Battlefield Morning Star',5,20,NULL,0,105,NULL,1,0,0x0004C5B3,7,2,2,3,80,1,8,'bonus bStr,1; bonus bDex,1; bonus2 bAddRace,RC_DemiHuman,75; bonus2 bAddRace,RC_Player,75; bonus bUnbreakableWeapon; autobonus "{ bonus2 bAddEff,Eff_Stun,5000; }",10,6000,BF_WEAPON,"{ specialeffect2 EF_POTION_BERSERK; }";',NULL,NULL);
+REPLACE INTO `item_db` VALUES (1542,'BF_Morning_Star1','Valorous Battlefield Morning Star',5,20,NULL,0,105,NULL,1,0,0x0004C5B3,7,2,2,3,80,1,8,'bonus bStr,1; bonus bDex,1; bonus2 bAddRace,RC_DemiHuman,75; bonus2 bAddRace,RC_Player_Human,75; bonus2 bIgnoreDefRaceRate,RC_DemiHuman,20; bonus2 bIgnoreDefRaceRate,RC_Player_Human,20; bonus bUnbreakableWeapon;',NULL,NULL);
+REPLACE INTO `item_db` VALUES (1543,'BF_Morning_Star2','Brave Battlefield Morning Star',5,20,NULL,0,105,NULL,1,0,0x0004C5B3,7,2,2,3,80,1,8,'bonus bStr,1; bonus bDex,1; bonus2 bAddRace,RC_DemiHuman,75; bonus2 bAddRace,RC_Player_Human,75; bonus bUnbreakableWeapon; autobonus "{ bonus2 bAddEff,Eff_Stun,5000; }",10,6000,BF_WEAPON,"{ specialeffect2 EF_POTION_BERSERK; }";',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1544,'Lunakaligo','Lunakaligo',5,20,NULL,700,110,NULL,1,3,0x00008110,2,2,2,3,50,1,8,'if(readparam(bStr)>=77) { bonus bAspdRate,4; bonus2 bAddEff,Eff_Stun,1500; bonus3 bAddMonsterDropItem,12065,RC_Plant,500; bonus3 bAddMonsterDropItem,12043,RC_Brute,500; bonus3 bAddMonsterDropItem,12069,RC_Fish,500; }',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1544,'Lunakaligo','Lunakaligo',5,20,NULL,700,110,NULL,1,3,0x00008110,2,2,2,3,50,1,8,'if(readparam(bStr)>=77) { bonus bAspdRate,4; bonus2 bAddEff,Eff_Stun,1500; bonus3 bAddMonsterDropItem,12065,RC_Plant,500; bonus3 bAddMonsterDropItem,12043,RC_Brute,500; bonus3 bAddMonsterDropItem,12069,RC_Fish,500; }',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1545,'N_Mace','Novice Mace',5,0,NULL,0,57,NULL,1,3,0x0004C5B3,7,2,2,1,2,0,8,NULL,NULL,NULL);
 REPLACE INTO `item_db` VALUES (1545,'N_Mace','Novice Mace',5,0,NULL,0,57,NULL,1,3,0x0004C5B3,7,2,2,1,2,0,8,NULL,NULL,NULL);
-REPLACE INTO `item_db` VALUES (1546,'Krieger_Onehand_Mace1','Glorious Morning Star',5,20,NULL,0,130,NULL,1,0,0x0004C5B3,7,2,2,4,80,1,8,'bonus2 bAddRace,RC_DemiHuman,75; bonus2 bAddRace,RC_Player,75; bonus2 bIgnoreDefRaceRate,RC_DemiHuman,20; bonus2 bIgnoreDefRaceRate,RC_Player,20; bonus bUnbreakableWeapon; if(getrefine()>5) { bonus2 bAddRace,RC_DemiHuman,(getrefine()-4)*(getrefine()-4); bonus2 bAddRace,RC_Player,(getrefine()-4)*(getrefine()-4); bonus2 bIgnoreDefRaceRate,RC_DemiHuman,5; bonus2 bIgnoreDefRaceRate,RC_Player,5; bonus bAspdRate,5; } if(getrefine()>8) { bonus2 bAddEff,Eff_Stun,2000; bonus bAspdRate,5; }',NULL,NULL);
+REPLACE INTO `item_db` VALUES (1546,'Krieger_Onehand_Mace1','Glorious Morning Star',5,20,NULL,0,130,NULL,1,0,0x0004C5B3,7,2,2,4,80,1,8,'bonus2 bAddRace,RC_DemiHuman,75; bonus2 bAddRace,RC_Player_Human,75; bonus2 bIgnoreDefRaceRate,RC_DemiHuman,20; bonus2 bIgnoreDefRaceRate,RC_Player_Human,20; bonus bUnbreakableWeapon; if(getrefine()>5) { bonus2 bAddRace,RC_DemiHuman,(getrefine()-4)*(getrefine()-4); bonus2 bAddRace,RC_Player_Human,(getrefine()-4)*(getrefine()-4); bonus2 bIgnoreDefRaceRate,RC_DemiHuman,5; bonus2 bIgnoreDefRaceRate,RC_Player_Human,5; bonus bAspdRate,5; } if(getrefine()>8) { bonus2 bAddEff,Eff_Stun,2000; bonus bAspdRate,5; }',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1547,'Mace_Of_Madness','Mace Of Madness',5,20,NULL,0,150,NULL,1,0,0x0004C5B2,7,2,2,3,0,0,8,'bonus2 bSkillAtk,"MC_CARTREVOLUTION",25; bonus bStr,2;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1547,'Mace_Of_Madness','Mace Of Madness',5,20,NULL,0,150,NULL,1,0,0x0004C5B2,7,2,2,3,0,0,8,'bonus2 bSkillAtk,"MC_CARTREVOLUTION",25; bonus bStr,2;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1548,'Veteran_Hammer','Veteran Hammer',5,10000,NULL,1800,160,NULL,1,2,0x00008110,7,2,2,3,80,1,8,'bonus bHealPower,getskilllv("AL_DP"); bonus bCritical,getskilllv("PR_MACEMASTERY")*2; bonus bInt,1; bonus bLuk,1;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1548,'Veteran_Hammer','Veteran Hammer',5,10000,NULL,1800,160,NULL,1,2,0x00008110,7,2,2,3,80,1,8,'bonus bHealPower,getskilllv("AL_DP"); bonus bCritical,getskilllv("PR_MACEMASTERY")*2; bonus bInt,1; bonus bLuk,1;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1549,'Pilebuncker','Pile Bunker',5,10000,NULL,3500,450,NULL,1,0,0x00000400,7,2,2,3,99,1,8,NULL,NULL,NULL);
 REPLACE INTO `item_db` VALUES (1549,'Pilebuncker','Pile Bunker',5,10000,NULL,3500,450,NULL,1,0,0x00000400,7,2,2,3,99,1,8,NULL,NULL,NULL);
@@ -858,7 +858,7 @@ REPLACE INTO `item_db` VALUES (1561,'Hardback','Hardcover Book',5,20,NULL,1500,1
 REPLACE INTO `item_db` VALUES (1562,'Bible_Of_Battlefield','Battlefield Textbook',5,20,NULL,700,110,NULL,1,1,0x00410100,7,2,2,4,80,0,15,'bonus bInt,3; bonus3 bAutoSpell,"AL_BLESSING",3+(getskilllv("AL_BLESSING")>3)*(getskilllv("AL_BLESSING")-3),20;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1562,'Bible_Of_Battlefield','Battlefield Textbook',5,20,NULL,700,110,NULL,1,1,0x00410100,7,2,2,4,80,0,15,'bonus bInt,3; bonus3 bAutoSpell,"AL_BLESSING",3+(getskilllv("AL_BLESSING")>3)*(getskilllv("AL_BLESSING")-3),20;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1563,'Diary_Of_Great_Sage_C','Sage\'s Diary',5,1,NULL,0,135,NULL,1,2,0x00410100,7,2,2,3,1,0,15,'bonus bMatkRate,20; bonus bAspdRate,5;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1563,'Diary_Of_Great_Sage_C','Sage\'s Diary',5,1,NULL,0,135,NULL,1,2,0x00410100,7,2,2,3,1,0,15,'bonus bMatkRate,20; bonus bAspdRate,5;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1564,'Encyclopedia','Encyclopedia',5,20,NULL,2000,110,NULL,1,2,0x00410100,7,2,2,3,70,1,15,'bonus bMatkRate,15; bonus bInt,3; bonus bDex,2; bonus bCritical,20+((readparam(bLuk)*2)/10);',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1564,'Encyclopedia','Encyclopedia',5,20,NULL,2000,110,NULL,1,2,0x00410100,7,2,2,3,70,1,15,'bonus bMatkRate,15; bonus bInt,3; bonus bDex,2; bonus bCritical,20+((readparam(bLuk)*2)/10);',NULL,NULL);
-REPLACE INTO `item_db` VALUES (1565,'Death_Note','Ledger of Death',5,20,NULL,1000,137,NULL,1,2,0x00410100,7,2,2,4,85,1,15,'bonus bMatkRate,15; bonus bStr,3; bonus bInt,3; bonus bLuk,-20; bonus2 bComaRace,RC_DemiHuman,10; bonus2 bComaRace,RC_Player,10; bonus bAspdRate,getrefine(); if(BaseJob==Job_Sage) bonus3 bAutoSpell,"NPC_HELLJUDGEMENT",5,20;',NULL,NULL);
+REPLACE INTO `item_db` VALUES (1565,'Death_Note','Ledger of Death',5,20,NULL,1000,137,NULL,1,2,0x00410100,7,2,2,4,85,1,15,'bonus bMatkRate,15; bonus bStr,3; bonus bInt,3; bonus bLuk,-20; bonus2 bComaRace,RC_DemiHuman,10; bonus2 bComaRace,RC_Player_Human,10; bonus bAspdRate,getrefine(); if(BaseJob==Job_Sage) bonus3 bAutoSpell,"NPC_HELLJUDGEMENT",5,20;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1566,'Diary_Of_Great_Basil','Diary Of Great Basil',5,20,NULL,0,120,NULL,1,0,0x00410100,7,2,2,1,0,0,15,'bonus2 bAddClass,Class_All,50;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1566,'Diary_Of_Great_Basil','Diary Of Great Basil',5,20,NULL,0,120,NULL,1,0,0x00410100,7,2,2,1,0,0,15,'bonus2 bAddClass,Class_All,50;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1567,'Hardback_C','Refined Hardcover Book',5,1,NULL,0,168,NULL,1,0,0x00410100,7,2,2,4,0,0,15,'bonus bStr,5; bonus bDex,2; bonus bMatkRate,20;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1567,'Hardback_C','Refined Hardcover Book',5,1,NULL,0,168,NULL,1,0,0x00410100,7,2,2,4,0,0,15,'bonus bStr,5; bonus bDex,2; bonus bMatkRate,20;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1568,'Book_Of_Billows_','Book of Billows',5,35000,NULL,750,90,NULL,1,3,0x00410100,7,2,2,3,27,1,15,'bonus bAtkEle,Ele_Water;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1568,'Book_Of_Billows_','Book of Billows',5,35000,NULL,750,90,NULL,1,3,0x00410100,7,2,2,3,27,1,15,'bonus bAtkEle,Ele_Water;',NULL,NULL);
@@ -867,12 +867,12 @@ REPLACE INTO `item_db` VALUES (1570,'Book_Of_Blazing_Sun_','Book of Blazing Sun'
 REPLACE INTO `item_db` VALUES (1571,'Book_Of_Gust_Of_Wind_','Book of Gust of Wind',5,35000,NULL,750,90,NULL,1,3,0x00410100,7,2,2,3,27,1,15,'bonus bAtkEle,Ele_Wind;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1571,'Book_Of_Gust_Of_Wind_','Book of Gust of Wind',5,35000,NULL,750,90,NULL,1,3,0x00410100,7,2,2,3,27,1,15,'bonus bAtkEle,Ele_Wind;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1572,'Principles_Of_Magic','Principles of Magic',5,20,NULL,300,60,NULL,1,2,0x00410100,7,2,2,3,60,1,15,'bonus bMatkRate,20; bonus bInt,3; bonus bSPrecovRate,5;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1572,'Principles_Of_Magic','Principles of Magic',5,20,NULL,300,60,NULL,1,2,0x00410100,7,2,2,3,60,1,15,'bonus bMatkRate,20; bonus bInt,3; bonus bSPrecovRate,5;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1573,'Ancient_Magic','Ancient Magic',5,20,NULL,700,30,NULL,1,2,0x00410100,7,2,2,3,70,1,15,'bonus bMatkRate,15;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1573,'Ancient_Magic','Ancient Magic',5,20,NULL,700,30,NULL,1,2,0x00410100,7,2,2,3,70,1,15,'bonus bMatkRate,15;',NULL,NULL);
-REPLACE INTO `item_db` VALUES (1574,'BF_Book1','Brave Battle Strategy Book',5,20,NULL,0,90,NULL,1,0,0x00410100,7,2,2,3,80,1,15,'bonus bStr,2; bonus bInt,1; bonus bMatkRate,15; bonus2 bAddRace,RC_DemiHuman,75; bonus2 bAddRace,RC_Player,75; bonus2 bIgnoreDefRaceRate,RC_DemiHuman,20; bonus2 bIgnoreDefRaceRate,RC_Player,20; bonus bUnbreakableWeapon;',NULL,NULL);
-REPLACE INTO `item_db` VALUES (1575,'BF_Book2','Valorous Battle Strategy Book',5,20,NULL,0,90,NULL,1,0,0x00410100,7,2,2,3,80,1,15,'bonus bStr,2; bonus bInt,1; bonus bMatkRate,15; bonus2 bIgnoreMdefRaceRate,RC_DemiHuman,25; bonus2 bIgnoreMdefRaceRate,RC_Player,25; bonus bUnbreakableWeapon;',NULL,NULL);
-REPLACE INTO `item_db` VALUES (1576,'Krieger_Book1','Glorious Tablet',5,20,NULL,0,90,NULL,1,0,0x00410100,7,2,2,4,80,1,15,'bonus bMatkRate,15; bonus2 bAddRace,RC_DemiHuman,80; bonus2 bAddRace,RC_Player,80; bonus2 bIgnoreDefRaceRate,RC_DemiHuman,25; bonus2 bIgnoreDefRaceRate,RC_Player,25; bonus bUnbreakableWeapon; if(getrefine()>5) { bonus2 bAddRace,RC_DemiHuman,(getrefine()-4)*(getrefine()-4); bonus2 bAddRace,RC_Player,(getrefine()-4)*(getrefine()-4); bonus2 bIgnoreDefRaceRate,RC_DemiHuman,5; bonus2 bIgnoreDefRaceRate,RC_Player,5; } if(getrefine()>8) autobonus "{ bonus bBaseAtk,200; }",30,3000,BF_WEAPON,"{ specialeffect2 EF_BASH3D; }";',NULL,NULL);
-REPLACE INTO `item_db` VALUES (1577,'Krieger_Book2','Glorious Apocalypse',5,20,NULL,0,90,NULL,1,0,0x00410100,7,2,2,4,80,1,15,'bonus bMatkRate,15; bonus2 bAddRace,RC_DemiHuman,80; bonus2 bAddRace,RC_Player,80; bonus2 bIgnoreDefRaceRate,RC_DemiHuman,25; bonus2 bIgnoreDefRaceRate,RC_Player,25; bonus bUnbreakableWeapon; if(getrefine()>5) bonus2 bIgnoreDefRaceRate,RC_DemiHuman,5; bonus2 bIgnoreDefRaceRate,RC_Player,5; if(getrefine()>8) { bonus bMatkRate,5; bonus bCastrate,-5; bonus bDelayRate,-5; }',NULL,NULL);
+REPLACE INTO `item_db` VALUES (1574,'BF_Book1','Brave Battle Strategy Book',5,20,NULL,0,90,NULL,1,0,0x00410100,7,2,2,3,80,1,15,'bonus bStr,2; bonus bInt,1; bonus bMatkRate,15; bonus2 bAddRace,RC_DemiHuman,75; bonus2 bAddRace,RC_Player_Human,75; bonus2 bIgnoreDefRaceRate,RC_DemiHuman,20; bonus2 bIgnoreDefRaceRate,RC_Player_Human,20; bonus bUnbreakableWeapon;',NULL,NULL);
+REPLACE INTO `item_db` VALUES (1575,'BF_Book2','Valorous Battle Strategy Book',5,20,NULL,0,90,NULL,1,0,0x00410100,7,2,2,3,80,1,15,'bonus bStr,2; bonus bInt,1; bonus bMatkRate,15; bonus2 bIgnoreMdefRaceRate,RC_DemiHuman,25; bonus2 bIgnoreMdefRaceRate,RC_Player_Human,25; bonus bUnbreakableWeapon;',NULL,NULL);
+REPLACE INTO `item_db` VALUES (1576,'Krieger_Book1','Glorious Tablet',5,20,NULL,0,90,NULL,1,0,0x00410100,7,2,2,4,80,1,15,'bonus bMatkRate,15; bonus2 bAddRace,RC_DemiHuman,80; bonus2 bAddRace,RC_Player_Human,80; bonus2 bIgnoreDefRaceRate,RC_DemiHuman,25; bonus2 bIgnoreDefRaceRate,RC_Player_Human,25; bonus bUnbreakableWeapon; if(getrefine()>5) { bonus2 bAddRace,RC_DemiHuman,(getrefine()-4)*(getrefine()-4); bonus2 bAddRace,RC_Player_Human,(getrefine()-4)*(getrefine()-4); bonus2 bIgnoreDefRaceRate,RC_DemiHuman,5; bonus2 bIgnoreDefRaceRate,RC_Player_Human,5; } if(getrefine()>8) autobonus "{ bonus bBaseAtk,200; }",30,3000,BF_WEAPON,"{ specialeffect2 EF_BASH3D; }";',NULL,NULL);
+REPLACE INTO `item_db` VALUES (1577,'Krieger_Book2','Glorious Apocalypse',5,20,NULL,0,90,NULL,1,0,0x00410100,7,2,2,4,80,1,15,'bonus bMatkRate,15; bonus2 bAddRace,RC_DemiHuman,80; bonus2 bAddRace,RC_Player_Human,80; bonus2 bIgnoreDefRaceRate,RC_DemiHuman,25; bonus2 bIgnoreDefRaceRate,RC_Player_Human,25; bonus bUnbreakableWeapon; if(getrefine()>5) bonus2 bIgnoreDefRaceRate,RC_DemiHuman,5; bonus2 bIgnoreDefRaceRate,RC_Player_Human,5; if(getrefine()>8) { bonus bMatkRate,5; bonus bCastrate,-5; bonus bDelayRate,-5; }',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1578,'Book_Of_Prayer','Book Of Prayer',5,20,NULL,0,140,NULL,1,0,0x00410100,7,2,2,3,0,0,15,'bonus bVit,2; bonus bMdef,2; bonus bMaxSPrate,10;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1578,'Book_Of_Prayer','Book Of Prayer',5,20,NULL,0,140,NULL,1,0,0x00410100,7,2,2,3,0,0,15,'bonus bVit,2; bonus bMdef,2; bonus bMaxSPrate,10;',NULL,NULL);
-REPLACE INTO `item_db` VALUES (1579,'Death_Note_M','Book of the Dead',5,20,NULL,1000,137,NULL,1,2,0x00410100,7,2,2,4,85,1,15,'bonus bMatkRate,15; bonus bStr,3; bonus bInt,3; bonus bLuk,-20; bonus2 bComaRace,RC_DemiHuman,10; bonus2 bComaRace,RC_Player,10; bonus bAspdRate,getrefine(); if(BaseJob==Job_Sage) bonus3 bAutoSpell,"NPC_HELLJUDGEMENT",5,20;',NULL,NULL);
+REPLACE INTO `item_db` VALUES (1579,'Death_Note_M','Book of the Dead',5,20,NULL,1000,137,NULL,1,2,0x00410100,7,2,2,4,85,1,15,'bonus bMatkRate,15; bonus bStr,3; bonus bInt,3; bonus bLuk,-20; bonus2 bComaRace,RC_DemiHuman,10; bonus2 bComaRace,RC_Player_Human,10; bonus bAspdRate,getrefine(); if(BaseJob==Job_Sage) bonus3 bAutoSpell,"NPC_HELLJUDGEMENT",5,20;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1580,'Encyclopedia_C','Giant Encyclopedia',5,0,NULL,0,145,NULL,1,0,0x00410100,7,2,2,3,0,0,15,'bonus bMatkRate,15; bonus bInt,3; bonus bDex,2; bonus bCritical,20+((readparam(bLuk)*2)/10); bonus2 bAddSize,Size_All,40;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1580,'Encyclopedia_C','Giant Encyclopedia',5,0,NULL,0,145,NULL,1,0,0x00410100,7,2,2,3,0,0,15,'bonus bMatkRate,15; bonus bInt,3; bonus bDex,2; bonus bCritical,20+((readparam(bLuk)*2)/10); bonus2 bAddSize,Size_All,40;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1581,'F_Diary_Of_Great_Sage_C','Diary Of Great Sage',5,1,NULL,0,135,NULL,1,2,0x00410100,7,2,2,3,1,0,15,NULL,NULL,NULL);
 REPLACE INTO `item_db` VALUES (1581,'F_Diary_Of_Great_Sage_C','Diary Of Great Sage',5,1,NULL,0,135,NULL,1,2,0x00410100,7,2,2,3,1,0,15,NULL,NULL,NULL);
 REPLACE INTO `item_db` VALUES (1582,'E_Diary_Of_Great_Sage_C','Diary Of Great Sage',5,1,NULL,0,135,NULL,1,2,0x00410100,7,2,2,3,1,0,15,NULL,NULL,NULL);
 REPLACE INTO `item_db` VALUES (1582,'E_Diary_Of_Great_Sage_C','Diary Of Great Sage',5,1,NULL,0,135,NULL,1,2,0x00410100,7,2,2,3,1,0,15,NULL,NULL,NULL);
@@ -910,16 +910,16 @@ REPLACE INTO `item_db` VALUES (1628,'Survival_Rod_C','Refined Survivor\'s Rod',5
 REPLACE INTO `item_db` VALUES (1629,'Walking_Stick','Gentleman\'s Staff',5,20,NULL,500,40,NULL,1,1,0x00818314,7,2,2,4,50,1,10,'bonus bMatkRate,15; bonus bDex,1;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1629,'Walking_Stick','Gentleman\'s Staff',5,20,NULL,500,40,NULL,1,1,0x00818314,7,2,2,4,50,1,10,'bonus bMatkRate,15; bonus bDex,1;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1630,'Release_Of_Wish','Release of Wish',5,20,NULL,500,30,NULL,1,0,0x00810204,7,2,2,3,50,1,10,'bonus bMatkRate,15; bonus bInt,3; bonus bHealPower,5; autobonus "{ bonus2 bSPRegenRate,100,2000; bonus2 bHPRegenRate,50,2000; }",10,10000,BF_MAGIC,"{ specialeffect2 EF_HEAL; }";',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1630,'Release_Of_Wish','Release of Wish',5,20,NULL,500,30,NULL,1,0,0x00810204,7,2,2,3,50,1,10,'bonus bMatkRate,15; bonus bInt,3; bonus bHealPower,5; autobonus "{ bonus2 bSPRegenRate,100,2000; bonus2 bHPRegenRate,50,2000; }",10,10000,BF_MAGIC,"{ specialeffect2 EF_HEAL; }";',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1631,'Holy_Stick','Holy Stick',5,20,NULL,500,50,NULL,1,1,0x00008100,7,2,2,4,70,1,10,'bonus bAtkEle,Ele_Holy; bonus bMatkRate,15; bonus2 bCastrate,"AL_HOLYLIGHT",-25; bonus2 bCastrate,"PR_TURNUNDEAD",-25; bonus2 bCastrate,"PR_MAGNUS",-25;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1631,'Holy_Stick','Holy Stick',5,20,NULL,500,50,NULL,1,1,0x00008100,7,2,2,4,70,1,10,'bonus bAtkEle,Ele_Holy; bonus bMatkRate,15; bonus2 bCastrate,"AL_HOLYLIGHT",-25; bonus2 bCastrate,"PR_TURNUNDEAD",-25; bonus2 bCastrate,"PR_MAGNUS",-25;',NULL,NULL);
-REPLACE INTO `item_db` VALUES (1632,'BF_Staff1','Warlock\'s Magic Wand',5,20,NULL,0,70,NULL,1,0,0x00818314,7,2,2,3,80,1,10,'bonus bInt,4; bonus bDex,3; bonus bMatkRate,15; bonus2 bIgnoreMdefRaceRate,RC_DemiHuman,25; bonus2 bIgnoreMdefRaceRate,RC_Player,25; bonus3 bAddEff,Eff_Stun,500,ATF_SKILL; bonus bUnbreakableWeapon;',NULL,NULL);
-REPLACE INTO `item_db` VALUES (1633,'BF_Staff2','Warlock\'s Battle Wand',5,20,NULL,0,70,NULL,1,0,0x00818314,7,2,2,3,80,1,10,'bonus bInt,3; bonus bDex,3; bonus bMatkRate,15; bonus2 bMagicAddRace,RC_DemiHuman,15; bonus2 bMagicAddRace,RC_Player,15; bonus3 bAddEff,Eff_Stun,500,ATF_SKILL; bonus bUnbreakableWeapon;',NULL,NULL);
+REPLACE INTO `item_db` VALUES (1632,'BF_Staff1','Warlock\'s Magic Wand',5,20,NULL,0,70,NULL,1,0,0x00818314,7,2,2,3,80,1,10,'bonus bInt,4; bonus bDex,3; bonus bMatkRate,15; bonus2 bIgnoreMdefRaceRate,RC_DemiHuman,25; bonus2 bIgnoreMdefRaceRate,RC_Player_Human,25; bonus3 bAddEff,Eff_Stun,500,ATF_SKILL; bonus bUnbreakableWeapon;',NULL,NULL);
+REPLACE INTO `item_db` VALUES (1633,'BF_Staff2','Warlock\'s Battle Wand',5,20,NULL,0,70,NULL,1,0,0x00818314,7,2,2,3,80,1,10,'bonus bInt,3; bonus bDex,3; bonus bMatkRate,15; bonus2 bMagicAddRace,RC_DemiHuman,15; bonus2 bMagicAddRace,RC_Player_Human,15; bonus3 bAddEff,Eff_Stun,500,ATF_SKILL; bonus bUnbreakableWeapon;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1634,'BF_Staff3','Strong Recovery Wand',5,20,NULL,0,70,NULL,1,0,0x00818314,7,2,2,3,80,1,10,'bonus bMatkRate,15; bonus bHealPower,14; bonus2 bSPRegenRate,5,10000; bonus bUnbreakableWeapon;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1634,'BF_Staff3','Strong Recovery Wand',5,20,NULL,0,70,NULL,1,0,0x00818314,7,2,2,3,80,1,10,'bonus bMatkRate,15; bonus bHealPower,14; bonus2 bSPRegenRate,5,10000; bonus bUnbreakableWeapon;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1635,'BF_Staff4','Speedy Recovery Wand',5,20,NULL,0,70,NULL,1,0,0x00818314,7,2,2,3,80,1,10,'bonus bInt,3; bonus bDex,2; bonus bMatkRate,15; bonus bDelayRate,-15; bonus2 bSPRegenRate,5,10000; bonus bUnbreakableWeapon;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1635,'BF_Staff4','Speedy Recovery Wand',5,20,NULL,0,70,NULL,1,0,0x00818314,7,2,2,3,80,1,10,'bonus bInt,3; bonus bDex,2; bonus bMatkRate,15; bonus bDelayRate,-15; bonus2 bSPRegenRate,5,10000; bonus bUnbreakableWeapon;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1636,'Thorn_Staff','Thorn Staff of Darkness',5,20,NULL,700,60,NULL,1,0,0x00018314,2,2,2,4,75,1,10,'bonus bInt,3; bonus bDex,3; bonus bMatkRate,20; bonus2 bIgnoreMdefClassRate,Class_Normal,getrefine(); bonus2 bIgnoreMdefClassRate,Class_Boss,getrefine(); bonus bDelayRate,-(getrefine()*3/2);',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1636,'Thorn_Staff','Thorn Staff of Darkness',5,20,NULL,700,60,NULL,1,0,0x00018314,2,2,2,4,75,1,10,'bonus bInt,3; bonus bDex,3; bonus bMatkRate,20; bonus2 bIgnoreMdefClassRate,Class_Normal,getrefine(); bonus2 bIgnoreMdefClassRate,Class_Boss,getrefine(); bonus bDelayRate,-(getrefine()*3/2);',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1637,'Eraser','Eraser',5,20,NULL,500,80,NULL,1,0,0x00018314,2,2,2,4,70,1,10,'bonus bMatkRate,20; bonus bInt,3; bonus bDex,2; bonus bSPrecovRate,8; if( getrefine()>9 ) bonus5 bAutoSpell,"NPC_WIDESOULDRAIN",3,5,BF_MAGIC,0; else bonus5 bAutoSpell,"NPC_WIDESOULDRAIN",1,5,BF_MAGIC,0;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1637,'Eraser','Eraser',5,20,NULL,500,80,NULL,1,0,0x00018314,2,2,2,4,70,1,10,'bonus bMatkRate,20; bonus bInt,3; bonus bDex,2; bonus bSPrecovRate,8; if( getrefine()>9 ) bonus5 bAutoSpell,"NPC_WIDESOULDRAIN",3,5,BF_MAGIC,0; else bonus5 bAutoSpell,"NPC_WIDESOULDRAIN",1,5,BF_MAGIC,0;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1638,'Healing_Staff_C','Staff Of Healing',5,20,NULL,0,10,NULL,1,0,0x00008110,7,2,2,3,1,1,10,'bonus bAtkEle,Ele_Holy; bonus bMatkRate,15; bonus bHealPower,(getrefine()*3/2);',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1638,'Healing_Staff_C','Staff Of Healing',5,20,NULL,0,10,NULL,1,0,0x00008110,7,2,2,3,1,1,10,'bonus bAtkEle,Ele_Holy; bonus bMatkRate,15; bonus bHealPower,(getrefine()*3/2);',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1639,'N_Rod','Novice Rod',5,0,NULL,0,15,NULL,1,3,0x00818315,7,2,2,1,1,0,10,'bonus bMatkRate,16;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1639,'N_Rod','Novice Rod',5,0,NULL,0,15,NULL,1,3,0x00818315,7,2,2,1,1,0,10,'bonus bMatkRate,16;',NULL,NULL);
-REPLACE INTO `item_db` VALUES (1640,'Krieger_Onehand_Staff1','Glorious Arc Wand',5,20,NULL,0,70,NULL,1,0,0x00818314,7,2,2,4,80,1,10,'bonus2 bMagicAddRace,RC_DemiHuman,15; bonus2 bMagicAddRace,RC_Player,15; bonus2 bIgnoreMdefRaceRate,RC_DemiHuman,25 + ((getrefine()>5) ? 5 : 0); bonus2 bIgnoreMdefRaceRate,RC_Player,25 + ((getrefine()>5) ? 5 : 0); bonus bUnbreakableWeapon; if(getrefine()>8) { bonus bCastrate,-5; bonus bDelayRate,-5; bonus bMatkRate,5; }',NULL,NULL);
-REPLACE INTO `item_db` VALUES (1641,'Krieger_Onehand_Staff2','Glorious Cure Wand',5,20,NULL,0,70,NULL,1,0,0x00818314,7,2,2,4,80,1,10,'bonus bHealPower,14; bonus bDelayRate,-10; bonus bUnbreakableWeapon; if(getrefine()>5) { bonus2 bIgnoreMdefRaceRate,RC_DemiHuman,5; bonus2 bIgnoreMdefRaceRate,RC_Player,5; bonus bHealPower,5+(getrefine()-5)*2; } if(getrefine()>8) bonus5 bAutoSpellOnSkill,"AL_HEAL","AL_HEAL",10,100,1; if(getrefine()>9) { bonus bHealPower,10; }',NULL,NULL);
+REPLACE INTO `item_db` VALUES (1640,'Krieger_Onehand_Staff1','Glorious Arc Wand',5,20,NULL,0,70,NULL,1,0,0x00818314,7,2,2,4,80,1,10,'bonus2 bMagicAddRace,RC_DemiHuman,15; bonus2 bMagicAddRace,RC_Player_Human,15; bonus2 bIgnoreMdefRaceRate,RC_DemiHuman,25 + ((getrefine()>5) ? 5 : 0); bonus2 bIgnoreMdefRaceRate,RC_Player_Human,25 + ((getrefine()>5) ? 5 : 0); bonus bUnbreakableWeapon; if(getrefine()>8) { bonus bCastrate,-5; bonus bDelayRate,-5; bonus bMatkRate,5; }',NULL,NULL);
+REPLACE INTO `item_db` VALUES (1641,'Krieger_Onehand_Staff2','Glorious Cure Wand',5,20,NULL,0,70,NULL,1,0,0x00818314,7,2,2,4,80,1,10,'bonus bHealPower,14; bonus bDelayRate,-10; bonus bUnbreakableWeapon; if(getrefine()>5) { bonus2 bIgnoreMdefRaceRate,RC_DemiHuman,5; bonus2 bIgnoreMdefRaceRate,RC_Player_Human,5; bonus bHealPower,5+(getrefine()-5)*2; } if(getrefine()>8) bonus5 bAutoSpellOnSkill,"AL_HEAL","AL_HEAL",10,100,1; if(getrefine()>9) { bonus bHealPower,10; }',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1642,'Staff_Of_Darkness','Staff Of Darkness',5,20,NULL,0,100,NULL,1,0,0x00818314,7,2,2,2,0,0,10,'bonus bCastrate,-5; bonus bMatkRate,15; bonus bInt,2;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1642,'Staff_Of_Darkness','Staff Of Darkness',5,20,NULL,0,100,NULL,1,0,0x00818314,7,2,2,2,0,0,10,'bonus bCastrate,-5; bonus bMatkRate,15; bonus bInt,2;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1643,'Dead_Tree_Cane','Dead Tree Cane',5,20,NULL,100,100,NULL,1,0,0x00818314,7,2,2,4,70,1,10,'bonus bMatk,15; bonus bInt,4; if(getrefine()>5) { bonus bInt,getrefine()-5; bonus bMaxHP,-200; bonus bMaxSP,-100; }',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1643,'Dead_Tree_Cane','Dead Tree Cane',5,20,NULL,100,100,NULL,1,0,0x00818314,7,2,2,4,70,1,10,'bonus bMatk,15; bonus bInt,4; if(getrefine()>5) { bonus bInt,getrefine()-5; bonus bMaxHP,-200; bonus bMaxSP,-100; }',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1644,'Piercing_Staff_M','Staff of Piercing',5,20,NULL,500,80,NULL,1,0,0x00018314,2,2,2,3,70,1,10,'bonus bInt,4; bonus bMatkRate,15; bonus2 bIgnoreMdefClassRate,Class_Normal,10+getrefine(); bonus2 bIgnoreMdefClassRate,Class_Boss,10+getrefine();',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1644,'Piercing_Staff_M','Staff of Piercing',5,20,NULL,500,80,NULL,1,0,0x00018314,2,2,2,3,70,1,10,'bonus bInt,4; bonus bMatkRate,15; bonus2 bIgnoreMdefClassRate,Class_Normal,10+getrefine(); bonus2 bIgnoreMdefClassRate,Class_Boss,10+getrefine();',NULL,NULL);
@@ -964,12 +964,12 @@ REPLACE INTO `item_db` VALUES (1734,'Orc_Archer_Bow','Orc Archer Bow',5,20,NULL,
 REPLACE INTO `item_db` VALUES (1735,'Kkakkung','Kkakkung',5,20,NULL,0,120,NULL,5,0,0x000A0848,7,2,34,1,1,0,11,'bonus2 bAddClass,Class_All,50;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1735,'Kkakkung','Kkakkung',5,20,NULL,0,120,NULL,5,0,0x000A0848,7,2,34,1,1,0,11,'bonus2 bAddClass,Class_All,50;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1736,'Double_Bound','Double Bound',5,20,NULL,900,70,NULL,5,3,0x00000800,2,2,34,3,70,1,11,'bonus3 bAutoSpell,"AC_DOUBLE",GetSkillLv("AC_DOUBLE"),10;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1736,'Double_Bound','Double Bound',5,20,NULL,900,70,NULL,5,3,0x00000800,2,2,34,3,70,1,11,'bonus3 bAutoSpell,"AC_DOUBLE",GetSkillLv("AC_DOUBLE"),10;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1737,'Ixion_Wing','Ixion Wings',5,20,NULL,300,135,NULL,5,1,0x00000800,2,2,34,4,70,1,11,'autobonus "{ bonus bAspdRate,7; }",10+(getrefine()*2),7000,BF_WEAPON,"{ specialeffect2 EF_HASTEUP; }"; bonus2 bAddSkillBlow,"AC_CHARGEARROW",3;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1737,'Ixion_Wing','Ixion Wings',5,20,NULL,300,135,NULL,5,1,0x00000800,2,2,34,4,70,1,11,'autobonus "{ bonus bAspdRate,7; }",10+(getrefine()*2),7000,BF_WEAPON,"{ specialeffect2 EF_HASTEUP; }"; bonus2 bAddSkillBlow,"AC_CHARGEARROW",3;',NULL,NULL);
-REPLACE INTO `item_db` VALUES (1738,'BF_Bow1','Valorous Battle CrossBow',5,0,NULL,0,100,NULL,5,0,0x000A0848,7,2,34,3,80,1,11,'bonus bDex,2; bonus2 bAddRace,RC_DemiHuman,55; bonus2 bAddRace,RC_Player,55; bonus2 bIgnoreDefRaceRate,RC_DemiHuman,20; bonus2 bIgnoreDefRaceRate,RC_Player,20; bonus bUnbreakableWeapon;',NULL,NULL);
-REPLACE INTO `item_db` VALUES (1739,'BF_Bow2','Brave Battle CrossBow',5,0,NULL,0,100,NULL,5,0,0x000A0848,7,2,34,3,80,1,11,'bonus bDex,2; bonus bInt,10; bonus2 bAddRace,RC_DemiHuman,55; bonus2 bAddRace,RC_Player,55; bonus bUnbreakableWeapon;',NULL,NULL);
+REPLACE INTO `item_db` VALUES (1738,'BF_Bow1','Valorous Battle CrossBow',5,0,NULL,0,100,NULL,5,0,0x000A0848,7,2,34,3,80,1,11,'bonus bDex,2; bonus2 bAddRace,RC_DemiHuman,55; bonus2 bAddRace,RC_Player_Human,55; bonus2 bIgnoreDefRaceRate,RC_DemiHuman,20; bonus2 bIgnoreDefRaceRate,RC_Player_Human,20; bonus bUnbreakableWeapon;',NULL,NULL);
+REPLACE INTO `item_db` VALUES (1739,'BF_Bow2','Brave Battle CrossBow',5,0,NULL,0,100,NULL,5,0,0x000A0848,7,2,34,3,80,1,11,'bonus bDex,2; bonus bInt,10; bonus2 bAddRace,RC_DemiHuman,55; bonus2 bAddRace,RC_Player_Human,55; bonus bUnbreakableWeapon;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1740,'Nepenthes_Bow','Nepenthes Bow',5,20,NULL,1000,105,NULL,5,2,0x00000800,2,2,34,4,60,1,11,'bonus4 bAutoSpellOnSkill,"AC_DOUBLE","AC_CHARGEARROW",1,20;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1740,'Nepenthes_Bow','Nepenthes Bow',5,20,NULL,1000,105,NULL,5,2,0x00000800,2,2,34,4,60,1,11,'bonus4 bAutoSpellOnSkill,"AC_DOUBLE","AC_CHARGEARROW",1,20;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1741,'Cursed_Lyre','Cursed Lyre',5,20,NULL,1250,125,NULL,5,1,0x00080808,2,2,34,4,80,1,11,'bonus bLuk,-2; bonus2 bAddEff,Eff_Curse,400;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1741,'Cursed_Lyre','Cursed Lyre',5,20,NULL,1250,125,NULL,5,1,0x00080808,2,2,34,4,80,1,11,'bonus bLuk,-2; bonus2 bAddEff,Eff_Curse,400;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1742,'N_Composite_Bow','Novice Composite Bow',5,1,NULL,0,49,NULL,5,3,0x000A0848,7,2,34,1,4,0,11,NULL,NULL,NULL);
 REPLACE INTO `item_db` VALUES (1742,'N_Composite_Bow','Novice Composite Bow',5,1,NULL,0,49,NULL,5,3,0x000A0848,7,2,34,1,4,0,11,NULL,NULL,NULL);
-REPLACE INTO `item_db` VALUES (1743,'Krieger_Bow1','Glorious Hunter Bow',5,0,NULL,0,100,NULL,5,0,0x001A0848,7,2,34,4,80,1,11,'bonus2 bAddRace,RC_DemiHuman,55; bonus2 bAddRace,RC_Player,55; bonus2 bIgnoreDefRaceRate,RC_DemiHuman,20; bonus2 bIgnoreDefRaceRate,RC_Player,20; bonus bCritAtkRate,getrefine() * 2; bonus bUnbreakableWeapon; if(getrefine()>5) { bonus2 bAddRace,RC_DemiHuman,(getrefine()-4)*(getrefine()-4); bonus2 bAddRace,RC_Player,(getrefine()-4)*(getrefine()-4); bonus2 bIgnoreDefRaceRate,RC_DemiHuman,5; bonus2 bIgnoreDefRaceRate,RC_Player,5; } if(getrefine()>8) bonus2 bSkillAtk,"AC_DOUBLE",20;',NULL,NULL);
+REPLACE INTO `item_db` VALUES (1743,'Krieger_Bow1','Glorious Hunter Bow',5,0,NULL,0,100,NULL,5,0,0x001A0848,7,2,34,4,80,1,11,'bonus2 bAddRace,RC_DemiHuman,55; bonus2 bAddRace,RC_Player_Human,55; bonus2 bIgnoreDefRaceRate,RC_DemiHuman,20; bonus2 bIgnoreDefRaceRate,RC_Player_Human,20; bonus bCritAtkRate,getrefine() * 2; bonus bUnbreakableWeapon; if(getrefine()>5) { bonus2 bAddRace,RC_DemiHuman,(getrefine()-4)*(getrefine()-4); bonus2 bAddRace,RC_Player_Human,(getrefine()-4)*(getrefine()-4); bonus2 bIgnoreDefRaceRate,RC_DemiHuman,5; bonus2 bIgnoreDefRaceRate,RC_Player_Human,5; } if(getrefine()>8) bonus2 bSkillAtk,"AC_DOUBLE",20;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1744,'Bow_Of_Evil','Bow Of Evil',5,0,NULL,0,170,NULL,5,0,0x000A0848,7,2,34,4,1,0,11,'bonus2 bSkillAtk,"AC_DOUBLE",25; bonus bDex,2;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1744,'Bow_Of_Evil','Bow Of Evil',5,0,NULL,0,170,NULL,5,0,0x000A0848,7,2,34,4,1,0,11,'bonus2 bSkillAtk,"AC_DOUBLE",25; bonus bDex,2;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1745,'Falken_Blitz','Falken Blitz',5,0,NULL,1000,100,NULL,5,2,0x00080808,2,2,34,3,50,1,11,'bonus2 bSkillAtk,"SN_SHARPSHOOTING",10; bonus2 bSkillAtk,"AC_DOUBLE",10; bonus2 bSkillAtk,"AC_CHARGEARROW",10;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1745,'Falken_Blitz','Falken Blitz',5,0,NULL,1000,100,NULL,5,2,0x00080808,2,2,34,3,50,1,11,'bonus2 bSkillAtk,"SN_SHARPSHOOTING",10; bonus2 bSkillAtk,"AC_DOUBLE",10; bonus2 bSkillAtk,"AC_CHARGEARROW",10;',NULL,NULL);
 # Arrows
 # Arrows
@@ -1019,11 +1019,11 @@ REPLACE INTO `item_db` VALUES (1819,'Icicle_Fist','Icicle Fist',5,20,NULL,650,80
 REPLACE INTO `item_db` VALUES (1820,'Electric_Fist','Electric Fist',5,20,NULL,650,80,NULL,1,3,0x00008100,7,2,2,3,75,1,12,'bonus3 bAutoSpell,"SA_LIGHTNINGLOADER",5,10;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1820,'Electric_Fist','Electric Fist',5,20,NULL,650,80,NULL,1,3,0x00008100,7,2,2,3,75,1,12,'bonus3 bAutoSpell,"SA_LIGHTNINGLOADER",5,10;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1821,'Seismic_Fist','Seismic Fist',5,20,NULL,650,80,NULL,1,3,0x00008100,7,2,2,3,75,1,12,'bonus3 bAutoSpell,"SA_SEISMICWEAPON",5,10;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1821,'Seismic_Fist','Seismic Fist',5,20,NULL,650,80,NULL,1,3,0x00008100,7,2,2,3,75,1,12,'bonus3 bAutoSpell,"SA_SEISMICWEAPON",5,10;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1822,'Combo_Battle_Glove','Combo Battle Glove',5,20,NULL,500,30,NULL,1,4,0x00008100,7,2,2,3,60,1,12,'bonus2 bSkillAtk,"MO_TRIPLEATTACK",15; bonus2 bSkillAtk,"MO_CHAINCOMBO",15; bonus2 bSkillAtk,"MO_COMBOFINISH",20;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1822,'Combo_Battle_Glove','Combo Battle Glove',5,20,NULL,500,30,NULL,1,4,0x00008100,7,2,2,3,60,1,12,'bonus2 bSkillAtk,"MO_TRIPLEATTACK",15; bonus2 bSkillAtk,"MO_CHAINCOMBO",15; bonus2 bSkillAtk,"MO_COMBOFINISH",20;',NULL,NULL);
-REPLACE INTO `item_db` VALUES (1823,'BF_Knuckle1','Valorous Battle Fist',5,20,NULL,0,30,NULL,1,0,0x00008100,7,2,2,3,80,1,12,'bonus bStr,2; bonus bAgi,1; bonus2 bAddRace,RC_DemiHuman,95; bonus2 bAddRace,RC_Player,95; bonus2 bIgnoreDefRaceRate,RC_DemiHuman,20; bonus2 bIgnoreDefRaceRate,RC_Player,20; bonus4 bAutoSpell,"CH_SOULCOLLECT",1,5,0; bonus bUnbreakableWeapon;',NULL,NULL);
-REPLACE INTO `item_db` VALUES (1824,'BF_Knuckle2','Brave Battle Fist',5,20,NULL,0,30,NULL,1,0,0x00008100,7,2,2,3,80,1,12,'bonus bStr,2; bonus bInt,1; bonus2 bAddRace,RC_DemiHuman,95; bonus2 bAddRace,RC_Player,95; bonus2 bCastrate,"MO_EXTREMITYFIST",-25; autobonus "{ bonus2 bCastrate,\\\"MO_EXTREMITYFIST\\\",-100; }",50,6000,BF_WEAPON,"{ specialeffect2 EF_SUFFRAGIUM; }"; bonus bUnbreakableWeapon;',NULL,NULL);
+REPLACE INTO `item_db` VALUES (1823,'BF_Knuckle1','Valorous Battle Fist',5,20,NULL,0,30,NULL,1,0,0x00008100,7,2,2,3,80,1,12,'bonus bStr,2; bonus bAgi,1; bonus2 bAddRace,RC_DemiHuman,95; bonus2 bAddRace,RC_Player_Human,95; bonus2 bIgnoreDefRaceRate,RC_DemiHuman,20; bonus2 bIgnoreDefRaceRate,RC_Player_Human,20; bonus4 bAutoSpell,"CH_SOULCOLLECT",1,5,0; bonus bUnbreakableWeapon;',NULL,NULL);
+REPLACE INTO `item_db` VALUES (1824,'BF_Knuckle2','Brave Battle Fist',5,20,NULL,0,30,NULL,1,0,0x00008100,7,2,2,3,80,1,12,'bonus bStr,2; bonus bInt,1; bonus2 bAddRace,RC_DemiHuman,95; bonus2 bAddRace,RC_Player_Human,95; bonus2 bCastrate,"MO_EXTREMITYFIST",-25; autobonus "{ bonus2 bCastrate,\\\"MO_EXTREMITYFIST\\\",-100; }",50,6000,BF_WEAPON,"{ specialeffect2 EF_SUFFRAGIUM; }"; bonus bUnbreakableWeapon;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1825,'Horn_Of_Hilthrion','Horn of Hillslion',5,20,NULL,600,95,NULL,1,3,0x00008000,2,2,2,3,60,1,12,'bonus3 bAutoSpell,"NPC_CRITICALWOUND",1,100; bonus4 bAutoSpellOnSkill,"CH_PALMSTRIKE","MO_INVESTIGATE",1,100; bonus3 bAutoSpell,"MO_CALLSPIRITS",5,100;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1825,'Horn_Of_Hilthrion','Horn of Hillslion',5,20,NULL,600,95,NULL,1,3,0x00008000,2,2,2,3,60,1,12,'bonus3 bAutoSpell,"NPC_CRITICALWOUND",1,100; bonus4 bAutoSpellOnSkill,"CH_PALMSTRIKE","MO_INVESTIGATE",1,100; bonus3 bAutoSpell,"MO_CALLSPIRITS",5,100;',NULL,NULL);
-REPLACE INTO `item_db` VALUES (1826,'Krieger_Knuckle1','Glorious Claw',5,20,NULL,0,30,NULL,1,0,0x00008100,7,2,2,4,80,1,12,'bonus2 bAddRace,RC_DemiHuman,95; bonus2 bAddRace,RC_Player,95; bonus2 bIgnoreDefRaceRate,RC_DemiHuman,20; bonus2 bIgnoreDefRaceRate,RC_Player,20; bonus bUnbreakableWeapon; if(getrefine()>5) { bonus2 bAddRace,RC_DemiHuman,(getrefine()-4)*(getrefine()-4); bonus2 bAddRace,RC_Player,(getrefine()-4)*(getrefine()-4); bonus2 bIgnoreDefRaceRate,RC_DemiHuman,5; bonus2 bIgnoreDefRaceRate,RC_Player,5; } if(getrefine()>8) { bonus3 bAutoSpell,"MO_INVESTIGATE",5,(getrefine()*10-50); bonus3 bAutoSpell,"AL_DECAGI",1,(getrefine()*10-50); }',NULL,NULL);
-REPLACE INTO `item_db` VALUES (1827,'Krieger_Knuckle2','Glorious Fist',5,20,NULL,0,30,NULL,1,0,0x00008100,7,2,2,4,80,1,12,'bonus2 bAddRace,RC_DemiHuman,95; bonus2 bAddRace,RC_Player,95; bonus2 bIgnoreDefRaceRate,RC_DemiHuman,20; bonus2 bIgnoreDefRaceRate,RC_Player,20; bonus bUnbreakableWeapon; if(getrefine()>5) { bonus2 bAddRace,RC_DemiHuman,(getrefine()-4)*(getrefine()-4); bonus2 bAddRace,RC_Player,(getrefine()-4)*(getrefine()-4); bonus2 bIgnoreDefRaceRate,RC_DemiHuman,5; bonus2 bIgnoreDefRaceRate,RC_Player,5; } if(getrefine()>8) { bonus2 bCastrate,"MO_EXTREMITYFIST",-100; bonus4 bautospellonskill,"MO_EXPLOSIONSPIRITS","CH_SOULCOLLECT",1,1000; }',NULL,NULL);
+REPLACE INTO `item_db` VALUES (1826,'Krieger_Knuckle1','Glorious Claw',5,20,NULL,0,30,NULL,1,0,0x00008100,7,2,2,4,80,1,12,'bonus2 bAddRace,RC_DemiHuman,95; bonus2 bAddRace,RC_Player_Human,95; bonus2 bIgnoreDefRaceRate,RC_DemiHuman,20; bonus2 bIgnoreDefRaceRate,RC_Player_Human,20; bonus bUnbreakableWeapon; if(getrefine()>5) { bonus2 bAddRace,RC_DemiHuman,(getrefine()-4)*(getrefine()-4); bonus2 bAddRace,RC_Player_Human,(getrefine()-4)*(getrefine()-4); bonus2 bIgnoreDefRaceRate,RC_DemiHuman,5; bonus2 bIgnoreDefRaceRate,RC_Player_Human,5; } if(getrefine()>8) { bonus3 bAutoSpell,"MO_INVESTIGATE",5,(getrefine()*10-50); bonus3 bAutoSpell,"AL_DECAGI",1,(getrefine()*10-50); }',NULL,NULL);
+REPLACE INTO `item_db` VALUES (1827,'Krieger_Knuckle2','Glorious Fist',5,20,NULL,0,30,NULL,1,0,0x00008100,7,2,2,4,80,1,12,'bonus2 bAddRace,RC_DemiHuman,95; bonus2 bAddRace,RC_Player_Human,95; bonus2 bIgnoreDefRaceRate,RC_DemiHuman,20; bonus2 bIgnoreDefRaceRate,RC_Player_Human,20; bonus bUnbreakableWeapon; if(getrefine()>5) { bonus2 bAddRace,RC_DemiHuman,(getrefine()-4)*(getrefine()-4); bonus2 bAddRace,RC_Player_Human,(getrefine()-4)*(getrefine()-4); bonus2 bIgnoreDefRaceRate,RC_DemiHuman,5; bonus2 bIgnoreDefRaceRate,RC_Player_Human,5; } if(getrefine()>8) { bonus2 bCastrate,"MO_EXTREMITYFIST",-100; bonus4 bautospellonskill,"MO_EXPLOSIONSPIRITS","CH_SOULCOLLECT",1,1000; }',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1828,'Monk_Knuckle','Monk Knuckle',5,20,NULL,0,150,NULL,1,0,0x00008100,7,2,2,4,0,0,12,'bonus bInt,2; bonus2 bSkillAtk,"MO_FINGEROFFENSIVE",25;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1828,'Monk_Knuckle','Monk Knuckle',5,20,NULL,0,150,NULL,1,0,0x00008100,7,2,2,4,0,0,12,'bonus bInt,2; bonus2 bSkillAtk,"MO_FINGEROFFENSIVE",25;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1829,'Fist_C','Fist',5,0,NULL,0,150,NULL,1,0,0x00008100,7,2,2,3,1,0,12,'bonus2 bAddSize,Size_All,40;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1829,'Fist_C','Fist',5,0,NULL,0,150,NULL,1,0,0x00008100,7,2,2,3,1,0,12,'bonus2 bAddSize,Size_All,40;',NULL,NULL);
 # Instruments
 # Instruments
@@ -1049,11 +1049,11 @@ REPLACE INTO `item_db` VALUES (1919,'Base_Guitar','Bass Guitar',5,20,NULL,1500,1
 REPLACE INTO `item_db` VALUES (1920,'Berserk_Guitar','Berserk Guitar',5,20,NULL,1800,10,NULL,1,0,0x00080000,2,1,2,4,70,1,13,'bonus bAspdRate,100; bonus bHPrecovRate,-100; bonus2 bHPLossRate,50,5000; bonus bDex,-readparam(bDex);',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1920,'Berserk_Guitar','Berserk Guitar',5,20,NULL,1800,10,NULL,1,0,0x00080000,2,1,2,4,70,1,13,'bonus bAspdRate,100; bonus bHPrecovRate,-100; bonus2 bHPLossRate,50,5000; bonus bDex,-readparam(bDex);',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1921,'Guh_Moon_Gom','Gun Moon Gom',5,20,NULL,0,120,NULL,1,0,0x00080000,7,1,2,1,0,0,13,'bonus2 bAddClass,Class_All,50;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1921,'Guh_Moon_Gom','Gun Moon Gom',5,20,NULL,0,120,NULL,1,0,0x00080000,7,1,2,1,0,0,13,'bonus2 bAddClass,Class_All,50;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1922,'Oriental_Lute_','Oriental Lute',5,20,NULL,1200,150,NULL,1,2,0x00080000,7,1,2,4,65,1,13,'bonus2 bSkillAtk,"CG_ARROWVULCAN",10; bonus2 bSkillAtk,"BA_MUSICALSTRIKE",10;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1922,'Oriental_Lute_','Oriental Lute',5,20,NULL,1200,150,NULL,1,2,0x00080000,7,1,2,4,65,1,13,'bonus2 bSkillAtk,"CG_ARROWVULCAN",10; bonus2 bSkillAtk,"BA_MUSICALSTRIKE",10;',NULL,NULL);
-REPLACE INTO `item_db` VALUES (1923,'BF_Instrument1','Valorous Battlefield Guitar',5,20,NULL,0,50,NULL,1,0,0x00080000,7,1,2,3,80,1,13,'bonus bDex,2; bonus2 bAddRace,RC_DemiHuman,95; bonus2 bAddRace,RC_Player,95; bonus2 bIgnoreDefRaceRate,RC_DemiHuman,20; bonus2 bIgnoreDefRaceRate,RC_Player,20; bonus bUnbreakableWeapon;',NULL,NULL);
-REPLACE INTO `item_db` VALUES (1924,'BF_Instrument2','Brave Battlefield Guitar',5,20,NULL,0,50,NULL,1,0,0x00080000,7,1,2,3,80,1,13,'bonus bDex,2; bonus2 bAddRace,RC_DemiHuman,95; bonus2 bAddRace,RC_Player,95; bonus2 bSkillAtk,"CG_ARROWVULCAN",20; bonus bUnbreakableWeapon;',NULL,NULL);
+REPLACE INTO `item_db` VALUES (1923,'BF_Instrument1','Valorous Battlefield Guitar',5,20,NULL,0,50,NULL,1,0,0x00080000,7,1,2,3,80,1,13,'bonus bDex,2; bonus2 bAddRace,RC_DemiHuman,95; bonus2 bAddRace,RC_Player_Human,95; bonus2 bIgnoreDefRaceRate,RC_DemiHuman,20; bonus2 bIgnoreDefRaceRate,RC_Player_Human,20; bonus bUnbreakableWeapon;',NULL,NULL);
+REPLACE INTO `item_db` VALUES (1924,'BF_Instrument2','Brave Battlefield Guitar',5,20,NULL,0,50,NULL,1,0,0x00080000,7,1,2,3,80,1,13,'bonus bDex,2; bonus2 bAddRace,RC_DemiHuman,95; bonus2 bAddRace,RC_Player_Human,95; bonus2 bSkillAtk,"CG_ARROWVULCAN",20; bonus bUnbreakableWeapon;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1925,'Cello','Cello',5,20,NULL,700,110,NULL,1,3,0x00080000,2,1,2,3,70,1,13,'bonus bAgi,2; bonus bDex,3; bonus2 bAddSkillBlow,"BA_MUSICALSTRIKE",2; bonus2 bAddSkillBlow,"CG_ARROWVULCAN",3;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1925,'Cello','Cello',5,20,NULL,700,110,NULL,1,3,0x00080000,2,1,2,3,70,1,13,'bonus bAgi,2; bonus bDex,3; bonus2 bAddSkillBlow,"BA_MUSICALSTRIKE",2; bonus2 bAddSkillBlow,"CG_ARROWVULCAN",3;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1926,'Harp_Of_Nepenthes','Harp of Nepenthes',5,20,NULL,1000,120,NULL,1,2,0x00080000,2,1,2,4,60,1,13,'bonus bInt,2; if( getrefine()>9 ) { bonus3 bAddEffOnSkill,"BA_MUSICALSTRIKE",Eff_Stun,2000; } else { bonus3 bAddEffOnSkill,"BA_MUSICALSTRIKE",Eff_Stun,1000; }',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1926,'Harp_Of_Nepenthes','Harp of Nepenthes',5,20,NULL,1000,120,NULL,1,2,0x00080000,2,1,2,4,60,1,13,'bonus bInt,2; if( getrefine()>9 ) { bonus3 bAddEffOnSkill,"BA_MUSICALSTRIKE",Eff_Stun,2000; } else { bonus3 bAddEffOnSkill,"BA_MUSICALSTRIKE",Eff_Stun,1000; }',NULL,NULL);
-REPLACE INTO `item_db` VALUES (1927,'Krieger_Instrument1','Glorious Guitar',5,20,NULL,0,50,NULL,1,0,0x00080000,7,1,2,4,80,1,13,'bonus2 bAddRace,RC_DemiHuman,95; bonus2 bAddRace,RC_Player,95; bonus2 bIgnoreDefRaceRate,RC_DemiHuman,20; bonus2 bIgnoreDefRaceRate,RC_Player,20; bonus bUnbreakableWeapon; if(getrefine()>5) { bonus2 bAddRace,RC_DemiHuman,(getrefine()-4)*(getrefine()-4); bonus2 bAddRace,RC_Player,(getrefine()-4)*(getrefine()-4); bonus2 bIgnoreDefRaceRate,RC_DemiHuman,5; bonus2 bIgnoreDefRaceRate,RC_Player,5; } if(getrefine()>8) bonus4 bAutoSpellOnSkill,"CG_ARROWVULCAN","CG_TAROTCARD",5,100;',NULL,NULL);
+REPLACE INTO `item_db` VALUES (1927,'Krieger_Instrument1','Glorious Guitar',5,20,NULL,0,50,NULL,1,0,0x00080000,7,1,2,4,80,1,13,'bonus2 bAddRace,RC_DemiHuman,95; bonus2 bAddRace,RC_Player_Human,95; bonus2 bIgnoreDefRaceRate,RC_DemiHuman,20; bonus2 bIgnoreDefRaceRate,RC_Player_Human,20; bonus bUnbreakableWeapon; if(getrefine()>5) { bonus2 bAddRace,RC_DemiHuman,(getrefine()-4)*(getrefine()-4); bonus2 bAddRace,RC_Player_Human,(getrefine()-4)*(getrefine()-4); bonus2 bIgnoreDefRaceRate,RC_DemiHuman,5; bonus2 bIgnoreDefRaceRate,RC_Player_Human,5; } if(getrefine()>8) bonus4 bAutoSpellOnSkill,"CG_ARROWVULCAN","CG_TAROTCARD",5,100;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1928,'Berserk_Guitar_I','Spirited Guitar',5,0,NULL,0,40,NULL,1,0,0x00080000,2,1,2,4,0,0,13,'bonus bAspdRate,100; bonus bHPrecovRate,-100; bonus2 bHPLossRate,50,5000; bonus bDex,-readparam(bDex);',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1928,'Berserk_Guitar_I','Spirited Guitar',5,0,NULL,0,40,NULL,1,0,0x00080000,2,1,2,4,0,0,13,'bonus bAspdRate,100; bonus bHPrecovRate,-100; bonus2 bHPLossRate,50,5000; bonus bDex,-readparam(bDex);',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1929,'Guitar_C','Guitar',5,0,NULL,0,177,NULL,1,0,0x00080000,7,1,2,3,1,0,13,'bonus2 bAddSize,Size_All,40;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1929,'Guitar_C','Guitar',5,0,NULL,0,177,NULL,1,0,0x00080000,7,1,2,3,1,0,13,'bonus2 bAddSize,Size_All,40;',NULL,NULL);
 # Whips
 # Whips
@@ -1084,17 +1084,17 @@ REPLACE INTO `item_db` VALUES (1973,'Sea_Witch_Foot','Sea Witch\'s Foot',5,20,NU
 REPLACE INTO `item_db` VALUES (1974,'Carrot_Whip','Carrot Whip',5,20,NULL,1300,185,NULL,2,0,0x00080000,2,0,2,4,70,1,14,'if(getrefine()>0) bonus3 bAutoSpell,"AL_INCAGI",getrefine(),10;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1974,'Carrot_Whip','Carrot Whip',5,20,NULL,1300,185,NULL,2,0,0x00080000,2,0,2,4,70,1,14,'if(getrefine()>0) bonus3 bAutoSpell,"AL_INCAGI",getrefine(),10;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1975,'Queen_Is_Whip','Queen Is Whip',5,20,NULL,0,120,NULL,2,0,0x00080000,7,0,2,1,0,0,14,'bonus2 bAddClass,Class_All,50;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1975,'Queen_Is_Whip','Queen Is Whip',5,20,NULL,0,120,NULL,2,0,0x00080000,7,0,2,1,0,0,14,'bonus2 bAddClass,Class_All,50;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1976,'Queen\'s_Whip_','Queen\'s Whip',5,20,NULL,1100,150,NULL,2,2,0x00080000,7,0,2,4,65,1,14,'bonus2 bSkillAtk,"CG_ARROWVULCAN",10; bonus2 bSkillAtk,"DC_THROWARROW",10;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1976,'Queen\'s_Whip_','Queen\'s Whip',5,20,NULL,1100,150,NULL,2,2,0x00080000,7,0,2,4,65,1,14,'bonus2 bSkillAtk,"CG_ARROWVULCAN",10; bonus2 bSkillAtk,"DC_THROWARROW",10;',NULL,NULL);
-REPLACE INTO `item_db` VALUES (1977,'BF_Whip1','Valorous Battle Lariat',5,20,NULL,0,50,NULL,2,0,0x00080000,7,0,2,3,80,1,14,'bonus bDex,2; bonus2 bAddRace,RC_DemiHuman,95; bonus2 bAddRace,RC_Player,95; bonus2 bIgnoreDefRaceRate,RC_DemiHuman,20; bonus2 bIgnoreDefRaceRate,RC_Player,20; bonus bUnbreakableWeapon;',NULL,NULL);
-REPLACE INTO `item_db` VALUES (1978,'BF_Whip2','Brave Battle Lariat',5,20,NULL,0,50,NULL,2,0,0x00080000,7,0,2,3,80,1,14,'bonus bDex,2; bonus2 bAddRace,RC_DemiHuman,95; bonus2 bAddRace,RC_Player,95; bonus2 bSkillAtk,"CG_ARROWVULCAN",20; bonus bUnbreakableWeapon;',NULL,NULL);
+REPLACE INTO `item_db` VALUES (1977,'BF_Whip1','Valorous Battle Lariat',5,20,NULL,0,50,NULL,2,0,0x00080000,7,0,2,3,80,1,14,'bonus bDex,2; bonus2 bAddRace,RC_DemiHuman,95; bonus2 bAddRace,RC_Player_Human,95; bonus2 bIgnoreDefRaceRate,RC_DemiHuman,20; bonus2 bIgnoreDefRaceRate,RC_Player_Human,20; bonus bUnbreakableWeapon;',NULL,NULL);
+REPLACE INTO `item_db` VALUES (1978,'BF_Whip2','Brave Battle Lariat',5,20,NULL,0,50,NULL,2,0,0x00080000,7,0,2,3,80,1,14,'bonus bDex,2; bonus2 bAddRace,RC_DemiHuman,95; bonus2 bAddRace,RC_Player_Human,95; bonus2 bSkillAtk,"CG_ARROWVULCAN",20; bonus bUnbreakableWeapon;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1979,'Stem_Of_Nepenthes','Stem of Nepenthes',5,20,NULL,1000,120,NULL,2,2,0x00080000,2,0,2,4,60,1,14,'bonus bInt,2; if( getrefine()>=9 ) { bonus3 bAddEffOnSkill,"DC_THROWARROW",Eff_Freeze,2000; } else { bonus3 bAddEffOnSkill,"DC_THROWARROW",Eff_Freeze,1000; }',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1979,'Stem_Of_Nepenthes','Stem of Nepenthes',5,20,NULL,1000,120,NULL,2,2,0x00080000,2,0,2,4,60,1,14,'bonus bInt,2; if( getrefine()>=9 ) { bonus3 bAddEffOnSkill,"DC_THROWARROW",Eff_Freeze,2000; } else { bonus3 bAddEffOnSkill,"DC_THROWARROW",Eff_Freeze,1000; }',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1980,'Whip_Of_Balance','Whip of Balance',5,20,NULL,700,110,NULL,2,3,0x00080000,2,0,2,3,70,1,14,'bonus bAgi,2; bonus bDex,3; bonus2 bAddSkillBlow,"DC_THROWARROW",2; bonus2 bAddSkillBlow,"CG_ARROWVULCAN",3;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1980,'Whip_Of_Balance','Whip of Balance',5,20,NULL,700,110,NULL,2,3,0x00080000,2,0,2,3,70,1,14,'bonus bAgi,2; bonus bDex,3; bonus2 bAddSkillBlow,"DC_THROWARROW",2; bonus2 bAddSkillBlow,"CG_ARROWVULCAN",3;',NULL,NULL);
-REPLACE INTO `item_db` VALUES (1981,'Krieger_Whip1','Glorious Lariat',5,20,NULL,0,50,NULL,2,0,0x00080000,7,0,2,4,80,1,14,'bonus2 bAddRace,RC_DemiHuman,95; bonus2 bAddRace,RC_Player,95; bonus2 bIgnoreDefRaceRate,RC_DemiHuman,20; bonus2 bIgnoreDefRaceRate,RC_Player,20; bonus bUnbreakableWeapon; if(getrefine()>5) { bonus2 bAddRace,RC_DemiHuman,(getrefine()-4)*(getrefine()-4); bonus2 bAddRace,RC_Player,(getrefine()-4)*(getrefine()-4); bonus2 bIgnoreDefRaceRate,RC_DemiHuman,5; bonus2 bIgnoreDefRaceRate,RC_Player,5; } if(getrefine()>8) bonus4 bAutoSpellOnSkill,"CG_ARROWVULCAN","CG_TAROTCARD",5,100;',NULL,NULL);
+REPLACE INTO `item_db` VALUES (1981,'Krieger_Whip1','Glorious Lariat',5,20,NULL,0,50,NULL,2,0,0x00080000,7,0,2,4,80,1,14,'bonus2 bAddRace,RC_DemiHuman,95; bonus2 bAddRace,RC_Player_Human,95; bonus2 bIgnoreDefRaceRate,RC_DemiHuman,20; bonus2 bIgnoreDefRaceRate,RC_Player_Human,20; bonus bUnbreakableWeapon; if(getrefine()>5) { bonus2 bAddRace,RC_DemiHuman,(getrefine()-4)*(getrefine()-4); bonus2 bAddRace,RC_Player_Human,(getrefine()-4)*(getrefine()-4); bonus2 bIgnoreDefRaceRate,RC_DemiHuman,5; bonus2 bIgnoreDefRaceRate,RC_Player_Human,5; } if(getrefine()>8) bonus4 bAutoSpellOnSkill,"CG_ARROWVULCAN","CG_TAROTCARD",5,100;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1982,'Phenomena_Whip','Phenomena Whip',5,20,NULL,0,160,NULL,2,0,0x00080000,7,0,2,4,0,0,14,'bonus bDex,2; bonus2 bSkillAtk,"DC_THROWARROW",25;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1982,'Phenomena_Whip','Phenomena Whip',5,20,NULL,0,160,NULL,2,0,0x00080000,7,0,2,4,0,0,14,'bonus bDex,2; bonus2 bSkillAtk,"DC_THROWARROW",25;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1983,'Rante_C','Rante Whip',5,0,NULL,0,170,NULL,2,0,0x00080000,7,0,2,3,1,0,14,'bonus2 bAddSize,Size_All,40;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (1983,'Rante_C','Rante Whip',5,0,NULL,0,170,NULL,2,0,0x00080000,7,0,2,3,1,0,14,'bonus2 bAddSize,Size_All,40;',NULL,NULL);
 # Additional 2-Handed Staffs
 # Additional 2-Handed Staffs
 REPLACE INTO `item_db` VALUES (2000,'Destruction_Rod','Staff of Destruction',5,20,NULL,2500,130,NULL,1,1,0x00000200,2,2,34,4,80,1,23,'bonus bMatkRate,25+getrefine()/2; bonus bInt,3; bonus bAgi,10; bonus bUseSPrate,(getrefine()*2); bonus3 bAutoSpellWhenHit,"WZ_JUPITEL",5,(getrefine()*20); bonus2 bCastrate,"HW_MAGICPOWER",-50;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (2000,'Destruction_Rod','Staff of Destruction',5,20,NULL,2500,130,NULL,1,1,0x00000200,2,2,34,4,80,1,23,'bonus bMatkRate,25+getrefine()/2; bonus bInt,3; bonus bAgi,10; bonus bUseSPrate,(getrefine()*2); bonus3 bAutoSpellWhenHit,"WZ_JUPITEL",5,(getrefine()*20); bonus2 bCastrate,"HW_MAGICPOWER",-50;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (2001,'Divine_Cross','Divine Cross',5,20,NULL,1500,120,NULL,1,0,0x00008100,7,2,34,4,70,1,23,'bonus bAtkEle,Ele_Holy; bonus bMatkRate,15; bonus bDex,4; bonus2 bSubRace,RC_Demon,15; bonus2 bSubRace,RC_Undead,15;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (2001,'Divine_Cross','Divine Cross',5,20,NULL,1500,120,NULL,1,0,0x00008100,7,2,34,4,70,1,23,'bonus bAtkEle,Ele_Holy; bonus bMatkRate,15; bonus bDex,4; bonus2 bSubRace,RC_Demon,15; bonus2 bSubRace,RC_Undead,15;',NULL,NULL);
-REPLACE INTO `item_db` VALUES (2002,'Krieger_Twohand_Staff1','Glorious Destruction Staff',5,20,NULL,0,70,NULL,1,0,0x00018314,7,2,34,4,80,1,23,'bonus bMatkRate,getrefine(); bonus2 bMagicAddRace,RC_DemiHuman,15; bonus2 bMagicAddRace,RC_Player,15; bonus2 bIgnoreMdefRaceRate,RC_DemiHuman,25; bonus2 bIgnoreMdefRaceRate,RC_Player,25; bonus bUnbreakableWeapon; if(getrefine()>5) { bonus2 bMagicAddRace,RC_DemiHuman,(getrefine()-5)*2; bonus2 bMagicAddRace,RC_Player,(getrefine()-5)*2; bonus2 bIgnoreMdefRaceRate,RC_DemiHuman,5+(getrefine()-5)*2; bonus2 bIgnoreMdefRaceRate,RC_Player,5+(getrefine()-5)*2; } if(getrefine()>8) { bonus5 bAutoSpellOnSkill,"WZ_STORMGUST","MG_SAFETYWALL",10,200,1; bonus5 bAutoSpellOnSkill,"WZ_METEOR","MG_SAFETYWALL",10,200,1; bonus5 bAutoSpellOnSkill,"WZ_VERMILION","MG_SAFETYWALL",10,200,1; }',NULL,NULL);
+REPLACE INTO `item_db` VALUES (2002,'Krieger_Twohand_Staff1','Glorious Destruction Staff',5,20,NULL,0,70,NULL,1,0,0x00018314,7,2,34,4,80,1,23,'bonus bMatkRate,getrefine(); bonus2 bMagicAddRace,RC_DemiHuman,15; bonus2 bMagicAddRace,RC_Player_Human,15; bonus2 bIgnoreMdefRaceRate,RC_DemiHuman,25; bonus2 bIgnoreMdefRaceRate,RC_Player_Human,25; bonus bUnbreakableWeapon; if(getrefine()>5) { bonus2 bMagicAddRace,RC_DemiHuman,(getrefine()-5)*2; bonus2 bMagicAddRace,RC_Player_Human,(getrefine()-5)*2; bonus2 bIgnoreMdefRaceRate,RC_DemiHuman,5+(getrefine()-5)*2; bonus2 bIgnoreMdefRaceRate,RC_Player_Human,5+(getrefine()-5)*2; } if(getrefine()>8) { bonus5 bAutoSpellOnSkill,"WZ_STORMGUST","MG_SAFETYWALL",10,200,1; bonus5 bAutoSpellOnSkill,"WZ_METEOR","MG_SAFETYWALL",10,200,1; bonus5 bAutoSpellOnSkill,"WZ_VERMILION","MG_SAFETYWALL",10,200,1; }',NULL,NULL);
 REPLACE INTO `item_db` VALUES (2003,'Destruction_Rod_M','Staff of Destruction',5,20,NULL,2500,130,NULL,1,1,0x00000200,2,2,34,4,80,1,23,'bonus bMatkRate,25+getrefine()/2; bonus bInt,3; bonus bAgi,10; bonus bUseSPrate,(getrefine()*2); bonus3 bAutoSpellWhenHit,"WZ_JUPITEL",5,(getrefine()*20); bonus2 bCastrate,"HW_MAGICPOWER",-50;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (2003,'Destruction_Rod_M','Staff of Destruction',5,20,NULL,2500,130,NULL,1,1,0x00000200,2,2,34,4,80,1,23,'bonus bMatkRate,25+getrefine()/2; bonus bInt,3; bonus bAgi,10; bonus bUseSPrate,(getrefine()*2); bonus3 bAutoSpellWhenHit,"WZ_JUPITEL",5,(getrefine()*20); bonus2 bCastrate,"HW_MAGICPOWER",-50;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (2004,'Kronos','Kronos',5,20,NULL,1000,30,NULL,1,0,0x00010204,2,2,34,4,50,1,23,'bonus bMatkRate,20; bonus bInt,3+(getrefine()/2); bonus bMaxHP,300+(50*getrefine()/2); autobonus "{ bonus bMatkRate,12; bonus buseSPRate,20; }",1,5000,BF_MAGIC,"{ specialeffect2 EF_ENHANCE; }";',NULL,NULL);
 REPLACE INTO `item_db` VALUES (2004,'Kronos','Kronos',5,20,NULL,1000,30,NULL,1,0,0x00010204,2,2,34,4,50,1,23,'bonus bMatkRate,20; bonus bInt,3+(getrefine()/2); bonus bMaxHP,300+(50*getrefine()/2); autobonus "{ bonus bMatkRate,12; bonus buseSPRate,20; }",1,5000,BF_MAGIC,"{ specialeffect2 EF_ENHANCE; }";',NULL,NULL);
 REPLACE INTO `item_db` VALUES (2005,'Dea_Staff','Dea Staff',5,20,NULL,1000,30,NULL,1,1,0x00008110,2,2,34,3,50,1,23,'bonus bAtkEle,Ele_Holy; bonus bMatkRate,15+getrefine()/2; bonus bInt,6; bonus bVit,2; autobonus3 "{ }",20,1000,"AL_HEAL","{ specialeffect2 EF_MAGICALATTHIT; heal 0,200; }";',NULL,NULL);
 REPLACE INTO `item_db` VALUES (2005,'Dea_Staff','Dea Staff',5,20,NULL,1000,30,NULL,1,1,0x00008110,2,2,34,3,50,1,23,'bonus bAtkEle,Ele_Holy; bonus bMatkRate,15+getrefine()/2; bonus bInt,6; bonus bVit,2; autobonus3 "{ }",20,1000,"AL_HEAL","{ specialeffect2 EF_MAGICALATTHIT; heal 0,200; }";',NULL,NULL);
@@ -1141,7 +1141,7 @@ REPLACE INTO `item_db` VALUES (2137,'Valkyrja\'s_Shield_C','Neo Valkyrja\'s Shie
 REPLACE INTO `item_db` VALUES (2138,'Bradium_Shield','Bradium Shield',4,20,NULL,1800,NULL,5,NULL,1,0x00CFFF80,2,2,32,NULL,65,1,3,'bonus2 bSkillAtk,"CR_SHIELDBOOMERANG",60; bonus bAgi,-1; bonus bMaxHP,500;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (2138,'Bradium_Shield','Bradium Shield',4,20,NULL,1800,NULL,5,NULL,1,0x00CFFF80,2,2,32,NULL,65,1,3,'bonus2 bSkillAtk,"CR_SHIELDBOOMERANG",60; bonus bAgi,-1; bonus bMaxHP,500;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (2139,'Flame_Thrower','Flame Thrower',4,20000,NULL,2000,NULL,60,NULL,0,0x00000400,63,2,32,NULL,99,0,1,NULL,NULL,NULL);
 REPLACE INTO `item_db` VALUES (2139,'Flame_Thrower','Flame Thrower',4,20000,NULL,2000,NULL,60,NULL,0,0x00000400,63,2,32,NULL,99,0,1,NULL,NULL,NULL);
 # GM Shield
 # GM Shield
-REPLACE INTO `item_db` VALUES (2199,'Ahura_Mazda','Ahura Mazdah',4,1,NULL,10,NULL,100,NULL,0,0xFFFFFFFF,7,2,32,NULL,1,1,0,'bonus bAllStats,50; bonus bMdef,99; bonus bShortWeaponDamageReturn,100; bonus2 bSubRace,RC_DemiHuman,95; bonus2 bSubRace,RC_Player,95; skill "CR_FULLPROTECTION",5; Skill "WZ_ESTIMATION",1; Skill "ST_FULLSTRIP",5; Skill "HW_MAGICPOWER",10; bonus bMaxHPRate,200; bonus bNoGemStone; bonus bSpeedRate,25; bonus bNoWalkDelay;',NULL,NULL);
+REPLACE INTO `item_db` VALUES (2199,'Ahura_Mazda','Ahura Mazdah',4,1,NULL,10,NULL,100,NULL,0,0xFFFFFFFF,7,2,32,NULL,1,1,0,'bonus bAllStats,50; bonus bMdef,99; bonus bShortWeaponDamageReturn,100; bonus2 bSubRace,RC_DemiHuman,95; bonus2 bSubRace,RC_Player_Human,95; skill "CR_FULLPROTECTION",5; Skill "WZ_ESTIMATION",1; Skill "ST_FULLSTRIP",5; Skill "HW_MAGICPOWER",10; bonus bMaxHPRate,200; bonus bNoGemStone; bonus bSpeedRate,25; bonus bNoWalkDelay;',NULL,NULL);
 # Headgears
 # Headgears
 #===================================================================
 #===================================================================
 REPLACE INTO `item_db` VALUES (2201,'Sunglasses','Sunglasses',4,5000,NULL,100,NULL,0,NULL,0,0xFFFFFFFF,7,2,512,NULL,0,0,12,'bonus2 bResEff,Eff_Blind,500;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (2201,'Sunglasses','Sunglasses',4,5000,NULL,100,NULL,0,NULL,0,0xFFFFFFFF,7,2,512,NULL,0,0,12,'bonus2 bResEff,Eff_Blind,500;',NULL,NULL);
@@ -1232,9 +1232,9 @@ REPLACE INTO `item_db` VALUES (2285,'Apple_Of_Archer','Apple of Archer',4,20,NUL
 REPLACE INTO `item_db` VALUES (2286,'Elven_Ears','Elven Ears',4,20,NULL,100,NULL,0,NULL,0,0xFFFFFFFE,7,2,512,NULL,70,0,73,NULL,NULL,NULL);
 REPLACE INTO `item_db` VALUES (2286,'Elven_Ears','Elven Ears',4,20,NULL,100,NULL,0,NULL,0,0xFFFFFFFE,7,2,512,NULL,70,0,73,NULL,NULL,NULL);
 REPLACE INTO `item_db` VALUES (2287,'Pirate_Bandana','Pirate Bandana',4,20,NULL,100,NULL,3,NULL,0,0xFFFFFFFE,7,2,256,NULL,0,1,74,'bonus bStr,1;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (2287,'Pirate_Bandana','Pirate Bandana',4,20,NULL,100,NULL,3,NULL,0,0xFFFFFFFE,7,2,256,NULL,0,1,74,'bonus bStr,1;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (2288,'Mr_Scream','Mr. Scream',4,20,NULL,100,NULL,1,NULL,0,0xFFFFFFFE,7,2,513,NULL,0,0,75,NULL,NULL,NULL);
 REPLACE INTO `item_db` VALUES (2288,'Mr_Scream','Mr. Scream',4,20,NULL,100,NULL,1,NULL,0,0xFFFFFFFE,7,2,513,NULL,0,0,75,NULL,NULL,NULL);
-REPLACE INTO `item_db` VALUES (2289,'Poo_Poo_Hat','Poo Poo Hat',4,20,NULL,700,NULL,0,NULL,0,0xFFFFFFFF,7,2,256,NULL,0,0,76,'bonus2 bSubRace,RC_DemiHuman,10; bonus2 bSubRace,RC_Player,10;',NULL,NULL);
+REPLACE INTO `item_db` VALUES (2289,'Poo_Poo_Hat','Poo Poo Hat',4,20,NULL,700,NULL,0,NULL,0,0xFFFFFFFF,7,2,256,NULL,0,0,76,'bonus2 bSubRace,RC_DemiHuman,10; bonus2 bSubRace,RC_Player_Human,10;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (2290,'Funeral_Costume','Funeral Hat',4,3000,NULL,100,NULL,1,NULL,0,0xFFFFFFFF,7,2,256,NULL,0,0,77,NULL,NULL,NULL);
 REPLACE INTO `item_db` VALUES (2290,'Funeral_Costume','Funeral Hat',4,3000,NULL,100,NULL,1,NULL,0,0xFFFFFFFF,7,2,256,NULL,0,0,77,NULL,NULL,NULL);
-REPLACE INTO `item_db` VALUES (2291,'Masquerade','Masquerade',4,20,NULL,100,NULL,0,NULL,0,0xFFFFFFFE,7,2,512,NULL,0,0,78,'bonus2 bAddRace,RC_DemiHuman,3; bonus2 bAddRace,RC_Player,3;',NULL,NULL);
+REPLACE INTO `item_db` VALUES (2291,'Masquerade','Masquerade',4,20,NULL,100,NULL,0,NULL,0,0xFFFFFFFE,7,2,512,NULL,0,0,78,'bonus2 bAddRace,RC_DemiHuman,3; bonus2 bAddRace,RC_Player_Human,3;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (2292,'Welding_Mask','Welding Mask',4,20,NULL,300,NULL,2,NULL,0,0x00040420,7,2,513,NULL,50,0,79,'bonus2 bSubEle,Ele_Fire,10;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (2292,'Welding_Mask','Welding Mask',4,20,NULL,300,NULL,2,NULL,0,0x00040420,7,2,513,NULL,50,0,79,'bonus2 bSubEle,Ele_Fire,10;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (2293,'Pretend_Murdered','Pretend Murdered',4,20,NULL,100,NULL,1,NULL,0,0xFFFFFFFF,7,2,256,NULL,0,0,80,NULL,NULL,NULL);
 REPLACE INTO `item_db` VALUES (2293,'Pretend_Murdered','Pretend Murdered',4,20,NULL,100,NULL,1,NULL,0,0xFFFFFFFF,7,2,256,NULL,0,0,80,NULL,NULL,NULL);
 REPLACE INTO `item_db` VALUES (2294,'Star_Dust','Stellar',4,20,NULL,100,NULL,1,NULL,0,0xFFFFFFFF,7,2,256,NULL,0,1,81,NULL,NULL,NULL);
 REPLACE INTO `item_db` VALUES (2294,'Star_Dust','Stellar',4,20,NULL,100,NULL,1,NULL,0,0xFFFFFFFF,7,2,256,NULL,0,1,81,NULL,NULL,NULL);
@@ -1313,20 +1313,20 @@ REPLACE INTO `item_db` VALUES (2365,'Orleans_Gown','Orleans\'s Gown',4,20,NULL,3
 REPLACE INTO `item_db` VALUES (2366,'Divine_Cloth','Divine Cloth',4,20,NULL,1500,NULL,6,NULL,1,0xFFFFFFFE,2,2,16,NULL,55,1,0,'bonus2 bResEff,Eff_Curse,500; bonus2 bResEff,Eff_Silence,500; bonus2 bResEff,Eff_Stun,500; bonus2 bResEff,Eff_Stone,500; bonus2 bResEff,Eff_Sleep,500;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (2366,'Divine_Cloth','Divine Cloth',4,20,NULL,1500,NULL,6,NULL,1,0xFFFFFFFE,2,2,16,NULL,55,1,0,'bonus2 bResEff,Eff_Curse,500; bonus2 bResEff,Eff_Silence,500; bonus2 bResEff,Eff_Stun,500; bonus2 bResEff,Eff_Stone,500; bonus2 bResEff,Eff_Sleep,500;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (2367,'Sniping_Suit','Sniping Suit',4,20,NULL,750,NULL,5,NULL,1,0x00000800,2,2,16,NULL,50,1,0,'bonus bMdef,5; bonus bCritical,6+(readparam(bLuk)/10); bonus bDelayRate,-23;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (2367,'Sniping_Suit','Sniping Suit',4,20,NULL,750,NULL,5,NULL,1,0x00000800,2,2,16,NULL,50,1,0,'bonus bMdef,5; bonus bCritical,6+(readparam(bLuk)/10); bonus bDelayRate,-23;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (2368,'Golden_Armor','Golden Armor',4,20,NULL,2000,NULL,4,NULL,0,0xFFFFFFFF,7,2,16,NULL,0,0,0,'bonus bMdef,4;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (2368,'Golden_Armor','Golden Armor',4,20,NULL,2000,NULL,4,NULL,0,0xFFFFFFFF,7,2,16,NULL,0,0,0,'bonus bMdef,4;',NULL,NULL);
-REPLACE INTO `item_db` VALUES (2369,'Freyja_Overcoat','Freyja Overcoat',4,0,NULL,500,NULL,12,NULL,0,0xFFFFFFFE,7,2,16,NULL,0,0,0,'bonus bUnbreakableArmor; bonus2 bSubRace,RC_DemiHuman,10; bonus2 bSubRace,RC_Player,10;',NULL,NULL);
+REPLACE INTO `item_db` VALUES (2369,'Freyja_Overcoat','Freyja Overcoat',4,0,NULL,500,NULL,12,NULL,0,0xFFFFFFFE,7,2,16,NULL,0,0,0,'bonus bUnbreakableArmor; bonus2 bSubRace,RC_DemiHuman,10; bonus2 bSubRace,RC_Player_Human,10;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (2370,'Used_Mage_Coat','Used Mage Coat',4,0,NULL,0,NULL,15,NULL,0,0xFFFFFFFF,7,2,16,NULL,0,0,0,'bonus bMaxHP,300; bonus bMaxSP,30; bonus bBaseAtk,10; bonus bAGI,1;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (2370,'Used_Mage_Coat','Used Mage Coat',4,0,NULL,0,NULL,15,NULL,0,0xFFFFFFFF,7,2,16,NULL,0,0,0,'bonus bMaxHP,300; bonus bMaxSP,30; bonus bBaseAtk,10; bonus bAGI,1;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (2371,'G_Strings_','Pantie',4,1000,NULL,100,NULL,4,NULL,1,0xFFFFFFFF,7,2,16,NULL,0,1,0,NULL,NULL,NULL);
 REPLACE INTO `item_db` VALUES (2371,'G_Strings_','Pantie',4,1000,NULL,100,NULL,4,NULL,1,0xFFFFFFFF,7,2,16,NULL,0,1,0,NULL,NULL,NULL);
 REPLACE INTO `item_db` VALUES (2372,'Mage_Coat_','Mage Coat',4,20,NULL,600,NULL,5,NULL,1,0x00810204,7,2,16,NULL,50,1,0,'bonus bMdef,5; bonus bInt,1;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (2372,'Mage_Coat_','Mage Coat',4,20,NULL,600,NULL,5,NULL,1,0x00810204,7,2,16,NULL,50,1,0,'bonus bMdef,5; bonus bInt,1;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (2373,'Holy_Robe_','Holy Robe',4,20,NULL,1700,NULL,7,NULL,1,0x00008110,7,2,16,NULL,60,1,0,'bonus bMdef,5; bonus2 bSubRace,RC_Demon,15; bonus2 bSubEle,Ele_Dark,10;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (2373,'Holy_Robe_','Holy Robe',4,20,NULL,1700,NULL,7,NULL,1,0x00008110,7,2,16,NULL,60,1,0,'bonus bMdef,5; bonus2 bSubRace,RC_Demon,15; bonus2 bSubEle,Ele_Dark,10;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (2374,'Diabolus_Robe','Diabolus Robe',4,20,NULL,300,NULL,6,NULL,1,0x00098B1C,2,2,16,NULL,55,1,0,'bonus bMaxSP,150; bonus bMdef,5; bonus bHealPower,6; bonus bDelayRate,-10;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (2374,'Diabolus_Robe','Diabolus Robe',4,20,NULL,300,NULL,6,NULL,1,0x00098B1C,2,2,16,NULL,55,1,0,'bonus bMaxSP,150; bonus bMdef,5; bonus bHealPower,6; bonus bDelayRate,-10;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (2375,'Diabolus_Armor','Diabolus Armor',4,20,NULL,600,NULL,7,NULL,1,0x000654E2,2,2,16,NULL,55,1,0,'bonus bStr,2; bonus bDex,1; bonus bMaxHP,150; bonus2 bResEff,Eff_Stun,500; bonus2 bResEff,Eff_Stone,500;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (2375,'Diabolus_Armor','Diabolus Armor',4,20,NULL,600,NULL,7,NULL,1,0x000654E2,2,2,16,NULL,55,1,0,'bonus bStr,2; bonus bDex,1; bonus bMaxHP,150; bonus2 bResEff,Eff_Stun,500; bonus2 bResEff,Eff_Stone,500;',NULL,NULL);
-REPLACE INTO `item_db` VALUES (2376,'Assaulter_Plate','Assaulter Plate',4,10,NULL,0,NULL,7,NULL,1,0x006444A2,7,2,16,NULL,80,1,0,'bonus bMaxHP,150; bonus bMdef,2; bonus2 bSubRace,RC_DemiHuman,2; bonus2 bSubRace,RC_Player,2;',NULL,NULL);
-REPLACE INTO `item_db` VALUES (2377,'Elite_Engineer_Armor','Elite Engineer Armor',4,10,NULL,0,NULL,7,NULL,1,0x00040420,7,2,16,NULL,80,1,0,'bonus bMaxHP,150; bonus bMdef,2; bonus2 bSubRace,RC_DemiHuman,2; bonus2 bSubRace,RC_Player,2;',NULL,NULL);
-REPLACE INTO `item_db` VALUES (2378,'Assassin_Robe','Assassin Robe',4,10,NULL,0,NULL,7,NULL,1,0x02021040,7,2,16,NULL,80,1,0,'bonus bMaxHP,150; bonus bMdef,2; bonus2 bSubRace,RC_DemiHuman,2; bonus2 bSubRace,RC_Player,2;',NULL,NULL);
-REPLACE INTO `item_db` VALUES (2379,'Warlock_Battle_Robe','Warlock\'s Battle Robe',4,10,NULL,0,NULL,3,NULL,1,0x00810204,7,2,16,NULL,80,1,0,'bonus bMaxHP,150; bonus bMdef,2; bonus2 bSubRace,RC_DemiHuman,2; bonus2 bSubRace,RC_Player,2;',NULL,NULL);
-REPLACE INTO `item_db` VALUES (2380,'Medic_Robe','Medic\'s Robe',4,10,NULL,0,NULL,3,NULL,1,0x00008110,7,2,16,NULL,80,1,0,'bonus bMaxHP,150; bonus bMdef,2; bonus2 bSubRace,RC_DemiHuman,2; bonus2 bSubRace,RC_Player,2;',NULL,NULL);
-REPLACE INTO `item_db` VALUES (2381,'Elite_Archer_Suit','Elite Archer Suit',4,10,NULL,0,NULL,3,NULL,1,0x00080808,7,2,16,NULL,80,1,0,'bonus bMaxHP,150; bonus bMdef,2; bonus2 bSubRace,RC_DemiHuman,2; bonus2 bSubRace,RC_Player,2;',NULL,NULL);
-REPLACE INTO `item_db` VALUES (2382,'Elite_Shooter_Suit','Elite Shooter Suit',4,10,NULL,0,NULL,3,NULL,1,0x41000000,7,2,16,NULL,80,1,0,'bonus bMaxHP,150; bonus bMdef,2; bonus2 bSubRace,RC_DemiHuman,2; bonus2 bSubRace,RC_Player,2;',NULL,NULL);
+REPLACE INTO `item_db` VALUES (2376,'Assaulter_Plate','Assaulter Plate',4,10,NULL,0,NULL,7,NULL,1,0x006444A2,7,2,16,NULL,80,1,0,'bonus bMaxHP,150; bonus bMdef,2; bonus2 bSubRace,RC_DemiHuman,2; bonus2 bSubRace,RC_Player_Human,2;',NULL,NULL);
+REPLACE INTO `item_db` VALUES (2377,'Elite_Engineer_Armor','Elite Engineer Armor',4,10,NULL,0,NULL,7,NULL,1,0x00040420,7,2,16,NULL,80,1,0,'bonus bMaxHP,150; bonus bMdef,2; bonus2 bSubRace,RC_DemiHuman,2; bonus2 bSubRace,RC_Player_Human,2;',NULL,NULL);
+REPLACE INTO `item_db` VALUES (2378,'Assassin_Robe','Assassin Robe',4,10,NULL,0,NULL,7,NULL,1,0x02021040,7,2,16,NULL,80,1,0,'bonus bMaxHP,150; bonus bMdef,2; bonus2 bSubRace,RC_DemiHuman,2; bonus2 bSubRace,RC_Player_Human,2;',NULL,NULL);
+REPLACE INTO `item_db` VALUES (2379,'Warlock_Battle_Robe','Warlock\'s Battle Robe',4,10,NULL,0,NULL,3,NULL,1,0x00810204,7,2,16,NULL,80,1,0,'bonus bMaxHP,150; bonus bMdef,2; bonus2 bSubRace,RC_DemiHuman,2; bonus2 bSubRace,RC_Player_Human,2;',NULL,NULL);
+REPLACE INTO `item_db` VALUES (2380,'Medic_Robe','Medic\'s Robe',4,10,NULL,0,NULL,3,NULL,1,0x00008110,7,2,16,NULL,80,1,0,'bonus bMaxHP,150; bonus bMdef,2; bonus2 bSubRace,RC_DemiHuman,2; bonus2 bSubRace,RC_Player_Human,2;',NULL,NULL);
+REPLACE INTO `item_db` VALUES (2381,'Elite_Archer_Suit','Elite Archer Suit',4,10,NULL,0,NULL,3,NULL,1,0x00080808,7,2,16,NULL,80,1,0,'bonus bMaxHP,150; bonus bMdef,2; bonus2 bSubRace,RC_DemiHuman,2; bonus2 bSubRace,RC_Player_Human,2;',NULL,NULL);
+REPLACE INTO `item_db` VALUES (2382,'Elite_Shooter_Suit','Elite Shooter Suit',4,10,NULL,0,NULL,3,NULL,1,0x41000000,7,2,16,NULL,80,1,0,'bonus bMaxHP,150; bonus bMdef,2; bonus2 bSubRace,RC_DemiHuman,2; bonus2 bSubRace,RC_Player_Human,2;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (2383,'Brynhild','Brynhild',4,20,NULL,400,NULL,10,NULL,0,0xFFFFFFFF,7,2,16,NULL,94,0,0,'bonus bMdef,10; bonus bMaxHP,20*BaseLevel; bonus bMaxSP,5*BaseLevel; bonus2 bAddClass,Class_All,10; bonus bMatkRate,10; bonus bUnbreakableArmor; bonus bNoKnockback;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (2383,'Brynhild','Brynhild',4,20,NULL,400,NULL,10,NULL,0,0xFFFFFFFF,7,2,16,NULL,94,0,0,'bonus bMdef,10; bonus bMaxHP,20*BaseLevel; bonus bMaxSP,5*BaseLevel; bonus2 bAddClass,Class_All,10; bonus bMatkRate,10; bonus bUnbreakableArmor; bonus bNoKnockback;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (2384,'Spritual_Tunic','Spiritual Tunic',4,20,NULL,0,NULL,10,NULL,0,0xFFFFFFFF,7,2,16,NULL,0,0,0,'bonus bMaxHP,800; bonus2 bResEff,Eff_Freeze,10000; bonus2 bSubEle,Ele_Earth,20; bonus2 bSubEle,Ele_Fire,20; bonus2 bSubEle,Ele_Wind,20; bonus2 bSubEle,Ele_Poison,20; bonus2 bSubEle,Ele_Holy,20; bonus2 bSubEle,Ele_Dark,20; bonus2 bSubEle,Ele_Ghost,20; bonus2 bSubEle,Ele_Undead,20;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (2384,'Spritual_Tunic','Spiritual Tunic',4,20,NULL,0,NULL,10,NULL,0,0xFFFFFFFF,7,2,16,NULL,0,0,0,'bonus bMaxHP,800; bonus2 bResEff,Eff_Freeze,10000; bonus2 bSubEle,Ele_Earth,20; bonus2 bSubEle,Ele_Fire,20; bonus2 bSubEle,Ele_Wind,20; bonus2 bSubEle,Ele_Poison,20; bonus2 bSubEle,Ele_Holy,20; bonus2 bSubEle,Ele_Dark,20; bonus2 bSubEle,Ele_Ghost,20; bonus2 bSubEle,Ele_Undead,20;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (2385,'Recuperative_Armor','Recuperative Armor',4,20,NULL,0,NULL,12,NULL,0,0xFFFFFFFF,7,2,16,NULL,0,0,0,'bonus bNoRegen,1; bonus bNoRegen,2; bonus bHPGainValue,60; bonus bSPGainValue,6; bonus bMagicHPGainValue,60; bonus bMagicSPGainValue,6;',NULL,'heal 0,-100;');
 REPLACE INTO `item_db` VALUES (2385,'Recuperative_Armor','Recuperative Armor',4,20,NULL,0,NULL,12,NULL,0,0xFFFFFFFF,7,2,16,NULL,0,0,0,'bonus bNoRegen,1; bonus bNoRegen,2; bonus bHPGainValue,60; bonus bSPGainValue,6; bonus bMagicHPGainValue,60; bonus bMagicSPGainValue,6;',NULL,'heal 0,-100;');
@@ -1338,7 +1338,7 @@ REPLACE INTO `item_db` VALUES (2390,'Improved_Tights','Improved Tights',4,20,NUL
 REPLACE INTO `item_db` VALUES (2391,'Life_Link','Life Link',4,20,NULL,3500,NULL,9,NULL,1,0x00004082,2,2,16,NULL,82,1,0,'bonus bVit,2; bonus bMdef,5; bonus bHPrecovRate,50;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (2391,'Life_Link','Life Link',4,20,NULL,3500,NULL,9,NULL,1,0x00004082,2,2,16,NULL,82,1,0,'bonus bVit,2; bonus bMdef,5; bonus bHPrecovRate,50;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (2392,'Old_Pant','Old Green Pantie',4,0,NULL,0,NULL,10,NULL,0,0xFFFFFFFF,7,2,16,NULL,0,0,0,'bonus bStr,2; bonus bVit,2; bonus bMaxHP,200; bonus3 bAutoSpellWhenHit,"MO_CALLSPIRITS",5,20; bonus bMdef,1;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (2392,'Old_Pant','Old Green Pantie',4,0,NULL,0,NULL,10,NULL,0,0xFFFFFFFF,7,2,16,NULL,0,0,0,'bonus bStr,2; bonus bVit,2; bonus bMaxHP,200; bonus3 bAutoSpellWhenHit,"MO_CALLSPIRITS",5,20; bonus bMdef,1;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (2393,'N_Adventurer\'s_Suit','Novice Adventurer\'s Suit',4,0,NULL,0,NULL,8,NULL,1,0xFFFFFFFF,7,2,16,NULL,0,0,0,NULL,NULL,NULL);
 REPLACE INTO `item_db` VALUES (2393,'N_Adventurer\'s_Suit','Novice Adventurer\'s Suit',4,0,NULL,0,NULL,8,NULL,1,0xFFFFFFFF,7,2,16,NULL,0,0,0,NULL,NULL,NULL);
-REPLACE INTO `item_db` VALUES (2394,'Krieger_Suit1','Glorious Suit',4,20,NULL,0,NULL,0,NULL,0,0xFFFFFFFE,7,2,16,NULL,81,1,0,'bonus bMaxHPRate,20; bonus2 bSubRace,RC_DemiHuman,7; bonus2 bSubRace,RC_Player,7;',NULL,NULL);
+REPLACE INTO `item_db` VALUES (2394,'Krieger_Suit1','Glorious Suit',4,20,NULL,0,NULL,0,NULL,0,0xFFFFFFFE,7,2,16,NULL,81,1,0,'bonus bMaxHPRate,20; bonus2 bSubRace,RC_DemiHuman,7; bonus2 bSubRace,RC_Player_Human,7;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (2395,'Krieger_Suit2','Glorious Popularized Suit',4,20,NULL,0,NULL,0,NULL,0,0xFFFFFFFE,7,2,16,NULL,61,1,0,'bonus bMaxHP,600; bonus bSPrecovRate,10;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (2395,'Krieger_Suit2','Glorious Popularized Suit',4,20,NULL,0,NULL,0,NULL,0,0xFFFFFFFE,7,2,16,NULL,61,1,0,'bonus bMaxHP,600; bonus bSPrecovRate,10;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (2396,'Krieger_Suit3','Glorious Mass-Production Suit',4,20,NULL,0,NULL,0,NULL,0,0xFFFFFFFE,7,2,16,NULL,0,1,0,'bonus bMaxHP,500;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (2396,'Krieger_Suit3','Glorious Mass-Production Suit',4,20,NULL,0,NULL,0,NULL,0,0xFFFFFFFE,7,2,16,NULL,0,1,0,'bonus bMaxHP,500;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (2397,'Incredible_Coat','Incredible Event Resignation Coat',4,10,NULL,900,NULL,2,NULL,0,0xFFFFFFFE,7,2,16,NULL,0,1,0,NULL,NULL,NULL);
 REPLACE INTO `item_db` VALUES (2397,'Incredible_Coat','Incredible Event Resignation Coat',4,10,NULL,900,NULL,2,NULL,0,0xFFFFFFFE,7,2,16,NULL,0,1,0,NULL,NULL,NULL);
@@ -1373,23 +1373,23 @@ REPLACE INTO `item_db` VALUES (2424,'Tidal_Shoes','Tidal Shoes',4,20,NULL,300,NU
 REPLACE INTO `item_db` VALUES (2425,'Black_Leather_Boots','Black Leather Boots',4,20,NULL,500,NULL,4,NULL,0,0xFFFFFFFE,2,2,64,NULL,55,1,0,'bonus bAgi,1; if(getrefine()>=9) bonus bAgi,2;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (2425,'Black_Leather_Boots','Black Leather Boots',4,20,NULL,500,NULL,4,NULL,0,0xFFFFFFFE,2,2,64,NULL,55,1,0,'bonus bAgi,1; if(getrefine()>=9) bonus bAgi,2;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (2426,'Shadow_Walk','Shadow Walk',4,20,NULL,2000,NULL,0,NULL,0,0xFFFFFFFE,2,2,64,NULL,75,1,0,'bonus bMdef,10; if(getskilllv("AS_CLOAKING")<2){ bonus5 bAutoSpellWhenHit,"AS_CLOAKING",2,100,BF_MAGIC,0; } else bonus5 bAutoSpellWhenHit,"AS_CLOAKING",getskilllv("AS_CLOAKING"),100,BF_MAGIC,0;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (2426,'Shadow_Walk','Shadow Walk',4,20,NULL,2000,NULL,0,NULL,0,0xFFFFFFFE,2,2,64,NULL,75,1,0,'bonus bMdef,10; if(getskilllv("AS_CLOAKING")<2){ bonus5 bAutoSpellWhenHit,"AS_CLOAKING",2,100,BF_MAGIC,0; } else bonus5 bAutoSpellWhenHit,"AS_CLOAKING",getskilllv("AS_CLOAKING"),100,BF_MAGIC,0;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (2427,'Golden_Shoes','Golden Shoes',4,20,NULL,300,NULL,4,NULL,0,0xFFFFFFFF,7,2,64,NULL,0,0,0,'bonus bMdef,4;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (2427,'Golden_Shoes','Golden Shoes',4,20,NULL,300,NULL,4,NULL,0,0xFFFFFFFF,7,2,64,NULL,0,0,0,'bonus bMdef,4;',NULL,NULL);
-REPLACE INTO `item_db` VALUES (2428,'Freyja_Boots','Freyja Boots',4,0,NULL,300,NULL,10,NULL,0,0xFFFFFFFE,7,2,64,NULL,0,0,0,'bonus2 bSubRace,RC_DemiHuman,5; bonus2 bSubRace,RC_Player,5;',NULL,NULL);
+REPLACE INTO `item_db` VALUES (2428,'Freyja_Boots','Freyja Boots',4,0,NULL,300,NULL,10,NULL,0,0xFFFFFFFE,7,2,64,NULL,0,0,0,'bonus2 bSubRace,RC_DemiHuman,5; bonus2 bSubRace,RC_Player_Human,5;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (2429,'Iron_Boots01','Iron Boots',4,0,NULL,1500,NULL,5,NULL,0,0x000E5CEA,7,2,64,NULL,0,1,0,NULL,NULL,NULL);
 REPLACE INTO `item_db` VALUES (2429,'Iron_Boots01','Iron Boots',4,0,NULL,1500,NULL,5,NULL,0,0x000E5CEA,7,2,64,NULL,0,1,0,NULL,NULL,NULL);
 REPLACE INTO `item_db` VALUES (2430,'Iron_Boots02','Iron Boots',4,0,NULL,800,NULL,5,NULL,0,0xFFFFFFFF,7,2,64,NULL,0,1,0,NULL,NULL,NULL);
 REPLACE INTO `item_db` VALUES (2430,'Iron_Boots02','Iron Boots',4,0,NULL,800,NULL,5,NULL,0,0xFFFFFFFF,7,2,64,NULL,0,1,0,NULL,NULL,NULL);
 REPLACE INTO `item_db` VALUES (2431,'Valley_Shoes','Valley Shoes',4,20,NULL,0,NULL,10,NULL,0,0xFFFFFFFF,7,2,64,NULL,0,0,0,'bonus bMaxHPRate,7; bonus bMaxSPRate,7;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (2431,'Valley_Shoes','Valley Shoes',4,20,NULL,0,NULL,10,NULL,0,0xFFFFFFFF,7,2,64,NULL,0,0,0,'bonus bMaxHPRate,7; bonus bMaxSPRate,7;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (2432,'Spiky_Heel_','High Heels',4,8500,NULL,600,NULL,2,NULL,1,0xFFFFFFFE,7,2,64,NULL,0,1,0,'bonus bMdef,5;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (2432,'Spiky_Heel_','High Heels',4,8500,NULL,600,NULL,2,NULL,1,0xFFFFFFFE,7,2,64,NULL,0,1,0,'bonus bMdef,5;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (2433,'Diabolus_Boots','Diabolus Boots',4,20,NULL,250,NULL,4,NULL,1,0x00CFFF80,2,2,64,NULL,0,1,0,'bonus bMaxHP,(BaseLevel*10);',NULL,NULL);
 REPLACE INTO `item_db` VALUES (2433,'Diabolus_Boots','Diabolus Boots',4,20,NULL,250,NULL,4,NULL,1,0x00CFFF80,2,2,64,NULL,0,1,0,'bonus bMaxHP,(BaseLevel*10);',NULL,NULL);
 REPLACE INTO `item_db` VALUES (2434,'Black_Leather_Boots_','Black Leather Boots',4,20,NULL,500,NULL,4,NULL,1,0xFFFFFFFE,2,2,64,NULL,55,1,0,'bonus bAgi,1; if(getrefine()>=9) bonus bAgi,2;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (2434,'Black_Leather_Boots_','Black Leather Boots',4,20,NULL,500,NULL,4,NULL,1,0xFFFFFFFE,2,2,64,NULL,55,1,0,'bonus bAgi,1; if(getrefine()>=9) bonus bAgi,2;',NULL,NULL);
-REPLACE INTO `item_db` VALUES (2435,'Battle_Greave','Battle Greaves',4,10,NULL,0,NULL,4,NULL,1,0x026654E2,7,2,64,NULL,80,1,0,'bonus bMaxHP,100; bonus bMdef,1; bonus2 bSubRace,RC_DemiHuman,1; bonus2 bSubRace,RC_Player,1;',NULL,NULL);
-REPLACE INTO `item_db` VALUES (2436,'Combat_Boots','Combat Boots',4,10,NULL,0,NULL,3,NULL,1,0x00898B1C,7,2,64,NULL,80,1,0,'bonus bMaxHP,100; bonus bMdef,1; bonus2 bSubRace,RC_DemiHuman,1; bonus2 bSubRace,RC_Player,1;',NULL,NULL);
-REPLACE INTO `item_db` VALUES (2437,'Battle_Boots','Battle Boots',4,10,NULL,0,NULL,3,NULL,1,0x41000000,7,2,64,NULL,80,1,0,'bonus bMaxHP,100; bonus bMdef,1; bonus2 bSubRace,RC_DemiHuman,1; bonus2 bSubRace,RC_Player,1;',NULL,NULL);
+REPLACE INTO `item_db` VALUES (2435,'Battle_Greave','Battle Greaves',4,10,NULL,0,NULL,4,NULL,1,0x026654E2,7,2,64,NULL,80,1,0,'bonus bMaxHP,100; bonus bMdef,1; bonus2 bSubRace,RC_DemiHuman,1; bonus2 bSubRace,RC_Player_Human,1;',NULL,NULL);
+REPLACE INTO `item_db` VALUES (2436,'Combat_Boots','Combat Boots',4,10,NULL,0,NULL,3,NULL,1,0x00898B1C,7,2,64,NULL,80,1,0,'bonus bMaxHP,100; bonus bMdef,1; bonus2 bSubRace,RC_DemiHuman,1; bonus2 bSubRace,RC_Player_Human,1;',NULL,NULL);
+REPLACE INTO `item_db` VALUES (2437,'Battle_Boots','Battle Boots',4,10,NULL,0,NULL,3,NULL,1,0x41000000,7,2,64,NULL,80,1,0,'bonus bMaxHP,100; bonus bMdef,1; bonus2 bSubRace,RC_DemiHuman,1; bonus2 bSubRace,RC_Player_Human,1;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (2438,'Paw_Of_Cat','Paw Of Cat',4,10,NULL,300,NULL,0,NULL,0,0xFFFFFFFF,7,2,64,NULL,80,1,0,'bonus bFlee,5; bonus bAgi,1;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (2438,'Paw_Of_Cat','Paw Of Cat',4,10,NULL,300,NULL,0,NULL,0,0xFFFFFFFF,7,2,64,NULL,80,1,0,'bonus bFlee,5; bonus bAgi,1;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (2439,'Refresh_Shoes','Refresh Shoes',4,20,NULL,0,NULL,9,NULL,0,0xFFFFFFFF,7,2,64,NULL,0,0,0,'bonus bMaxHPRate,17; bonus bMaxSPRate,8; bonus2 bHPRegenRate,20,10000; bonus2 bSPRegenRate,3,10000;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (2439,'Refresh_Shoes','Refresh Shoes',4,20,NULL,0,NULL,9,NULL,0,0xFFFFFFFF,7,2,64,NULL,0,0,0,'bonus bMaxHPRate,17; bonus bMaxSPRate,8; bonus2 bHPRegenRate,20,10000; bonus2 bSPRegenRate,3,10000;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (2440,'Sprint_Shoes','Sprint Shoes',4,20,NULL,300,NULL,2,NULL,1,0x00CFFF80,2,2,64,NULL,70,1,0,'bonus bAgi,1; bonus bSPrecovRate,5;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (2440,'Sprint_Shoes','Sprint Shoes',4,20,NULL,300,NULL,2,NULL,1,0x00CFFF80,2,2,64,NULL,70,1,0,'bonus bAgi,1; bonus bSPrecovRate,5;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (2441,'Beach_Sandal','Beach Sandals',4,20,NULL,200,NULL,0,NULL,0,0xFFFFFFFF,7,2,64,NULL,0,1,0,'bonus bStr,1; bonus bInt,1; bonus bAgi,1; bonus2 bSubEle,Ele_Fire,10;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (2441,'Beach_Sandal','Beach Sandals',4,20,NULL,200,NULL,0,NULL,0,0xFFFFFFFF,7,2,64,NULL,0,1,0,'bonus bStr,1; bonus bInt,1; bonus bAgi,1; bonus2 bSubEle,Ele_Fire,10;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (2442,'Boots_Perforated','Red Stocking Boots',4,0,NULL,0,NULL,7,NULL,0,0xFFFFFFFF,7,2,64,NULL,0,0,0,'bonus bLuk,2; bonus bHPrecovRate,10; bonus bSPrecovRate,10; bonus3 bAutoSpellWhenHit,"WZ_QUAGMIRE",3,20; bonus bMdef,1;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (2442,'Boots_Perforated','Red Stocking Boots',4,0,NULL,0,NULL,7,NULL,0,0xFFFFFFFF,7,2,64,NULL,0,0,0,'bonus bLuk,2; bonus bHPrecovRate,10; bonus bSPrecovRate,10; bonus3 bAutoSpellWhenHit,"WZ_QUAGMIRE",3,20; bonus bMdef,1;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (2443,'Fish_Shoes','Fisher\'s Boots',4,10,NULL,250,NULL,0,NULL,0,0xFFFFFFFF,7,2,64,NULL,0,0,0,NULL,NULL,NULL);
 REPLACE INTO `item_db` VALUES (2443,'Fish_Shoes','Fisher\'s Boots',4,10,NULL,250,NULL,0,NULL,0,0xFFFFFFFF,7,2,64,NULL,0,0,0,NULL,NULL,NULL);
-REPLACE INTO `item_db` VALUES (2444,'Krieger_Shoes1','Glorious Shoes',4,20,NULL,0,NULL,0,NULL,0,0xFFFFFFFE,7,2,64,NULL,81,1,0,'bonus bMaxHPRate,10; bonus2 bSubRace,RC_DemiHuman,4; bonus2 bSubRace,RC_Player,4; bonus3 bAutoSpellWhenHit,"AL_INCAGI",1,10;',NULL,NULL);
+REPLACE INTO `item_db` VALUES (2444,'Krieger_Shoes1','Glorious Shoes',4,20,NULL,0,NULL,0,NULL,0,0xFFFFFFFE,7,2,64,NULL,81,1,0,'bonus bMaxHPRate,10; bonus2 bSubRace,RC_DemiHuman,4; bonus2 bSubRace,RC_Player_Human,4; bonus3 bAutoSpellWhenHit,"AL_INCAGI",1,10;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (2445,'Krieger_Shoes2','Glorious Popularized Shoes',4,20,NULL,0,NULL,0,NULL,0,0xFFFFFFFE,7,2,64,NULL,61,1,0,'bonus bMaxHPRate,5; bonus bMaxSPRate,5;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (2445,'Krieger_Shoes2','Glorious Popularized Shoes',4,20,NULL,0,NULL,0,NULL,0,0xFFFFFFFE,7,2,64,NULL,61,1,0,'bonus bMaxHPRate,5; bonus bMaxSPRate,5;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (2446,'Krieger_Shoes3','Glorious Mass-Production Shoes',4,20,NULL,0,NULL,0,NULL,0,0xFFFFFFFE,7,2,64,NULL,0,1,0,'bonus bMaxHPRate,5;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (2446,'Krieger_Shoes3','Glorious Mass-Production Shoes',4,20,NULL,0,NULL,0,NULL,0,0xFFFFFFFE,7,2,64,NULL,0,1,0,'bonus bMaxHPRate,5;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (2447,'Military_Boots','Army Boots',4,0,NULL,1000,NULL,5,NULL,0,0xFFFFFFFE,7,2,64,NULL,0,1,0,NULL,NULL,NULL);
 REPLACE INTO `item_db` VALUES (2447,'Military_Boots','Army Boots',4,0,NULL,1000,NULL,5,NULL,0,0xFFFFFFFE,7,2,64,NULL,0,1,0,NULL,NULL,NULL);
@@ -1430,23 +1430,23 @@ REPLACE INTO `item_db` VALUES (2529,'Rider_Insignia','Rider Insignia',4,20,NULL,
 REPLACE INTO `item_db` VALUES (2530,'Rider_Insignia_','Rider Insignia',4,20,NULL,500,NULL,4,NULL,1,0xFFFFFFFE,2,2,4,NULL,55,1,0,'bonus bAgi,2;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (2530,'Rider_Insignia_','Rider Insignia',4,20,NULL,500,NULL,4,NULL,1,0xFFFFFFFE,2,2,4,NULL,55,1,0,'bonus bAgi,2;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (2531,'Ulfhedinn','Ulfhedinn',4,20,NULL,700,NULL,3,NULL,1,0x000654E2,2,2,4,NULL,70,1,0,'bonus3 bAutoSpellWhenHit,"NPC_STONESKIN",6,20;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (2531,'Ulfhedinn','Ulfhedinn',4,20,NULL,700,NULL,3,NULL,1,0x000654E2,2,2,4,NULL,70,1,0,'bonus3 bAutoSpellWhenHit,"NPC_STONESKIN",6,20;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (2532,'Mithril_Magic_Cape','Mithril Magic Cape',4,20,NULL,400,NULL,3,NULL,1,0x00098B1C,2,2,4,NULL,70,1,0,'bonus bMdef,3; bonus5 bAutoSpellWhenHit,"NPC_ANTIMAGIC",6,200,BF_MAGIC,0;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (2532,'Mithril_Magic_Cape','Mithril Magic Cape',4,20,NULL,400,NULL,3,NULL,1,0x00098B1C,2,2,4,NULL,70,1,0,'bonus bMdef,3; bonus5 bAutoSpellWhenHit,"NPC_ANTIMAGIC",6,200,BF_MAGIC,0;',NULL,NULL);
-REPLACE INTO `item_db` VALUES (2533,'Freyja_Cape','Freyja Cape',4,0,NULL,200,NULL,10,NULL,0,0xFFFFFFFE,7,2,4,NULL,0,0,0,'bonus2 bSubRace,RC_DemiHuman,15; bonus2 bSubRace,RC_Player,15;',NULL,NULL);
+REPLACE INTO `item_db` VALUES (2533,'Freyja_Cape','Freyja Cape',4,0,NULL,200,NULL,10,NULL,0,0xFFFFFFFE,7,2,4,NULL,0,0,0,'bonus2 bSubRace,RC_DemiHuman,15; bonus2 bSubRace,RC_Player_Human,15;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (2534,'Ruffler','Ruffler',4,20,NULL,0,NULL,10,NULL,0,0xFFFFFFFF,7,2,4,NULL,0,0,0,'bonus2 bSubEle,Ele_Neutral,17; bonus bFlee,17;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (2534,'Ruffler','Ruffler',4,20,NULL,0,NULL,10,NULL,0,0xFFFFFFFF,7,2,4,NULL,0,0,0,'bonus2 bSubEle,Ele_Neutral,17; bonus bFlee,17;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (2535,'Cloak_Of_Survival_C','Cloak Of Survival',4,1,NULL,0,NULL,5,NULL,0,0x00810204,7,2,4,NULL,0,0,0,'bonus bVit,10; bonus bMdef,10;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (2535,'Cloak_Of_Survival_C','Cloak Of Survival',4,1,NULL,0,NULL,5,NULL,0,0x00810204,7,2,4,NULL,0,0,0,'bonus bVit,10; bonus bMdef,10;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (2536,'Skin_Of_Ventus','Skin of Ventus',4,20,NULL,250,NULL,2,NULL,1,0xFFFFFFFE,7,2,4,NULL,60,1,0,'bonus bMdef,2; bonus bMaxHP,200; bonus bFlee,10;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (2536,'Skin_Of_Ventus','Skin of Ventus',4,20,NULL,250,NULL,2,NULL,1,0xFFFFFFFE,7,2,4,NULL,60,1,0,'bonus bMdef,2; bonus bMaxHP,200; bonus bFlee,10;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (2537,'Diabolus_Manteau','Diabolus Manteau',4,20,NULL,250,NULL,5,NULL,1,0x00CFFF80,2,2,4,NULL,0,1,0,'bonus2 bSubEle,Ele_Neutral,5; bonus bMaxHP,100; bonus2 bAddDamageClass,1916,10; bonus2 bAddDamageClass,1917,10;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (2537,'Diabolus_Manteau','Diabolus Manteau',4,20,NULL,250,NULL,5,NULL,1,0x00CFFF80,2,2,4,NULL,0,1,0,'bonus2 bSubEle,Ele_Neutral,5; bonus bMaxHP,100; bonus2 bAddDamageClass,1916,10; bonus2 bAddDamageClass,1917,10;',NULL,NULL);
-REPLACE INTO `item_db` VALUES (2538,'Commander_Manteau','Captain\'s Manteau',4,10,NULL,0,NULL,4,NULL,1,0x026654E2,7,2,4,NULL,80,1,0,'bonus bMaxHP,50; bonus bMdef,1; bonus2 bSubRace,RC_DemiHuman,1; bonus2 bSubRace,RC_Player,1;',NULL,NULL);
-REPLACE INTO `item_db` VALUES (2539,'Commander_Manteau_','Commander\'s Manteau',4,10,NULL,0,NULL,3,NULL,1,0x00898B1C,7,2,4,NULL,80,1,0,'bonus bMaxHP,50; bonus bMdef,1; bonus2 bSubRace,RC_DemiHuman,1; bonus2 bSubRace,RC_Player,1;',NULL,NULL);
-REPLACE INTO `item_db` VALUES (2540,'Sheriff_Manteau','Sheriff\'s Manteau',4,10,NULL,0,NULL,3,NULL,1,0x41000000,7,2,4,NULL,80,1,0,'bonus bMaxHP,50; bonus bMdef,1; bonus2 bSubRace,RC_DemiHuman,1; bonus2 bSubRace,RC_Player,1;',NULL,NULL);
+REPLACE INTO `item_db` VALUES (2538,'Commander_Manteau','Captain\'s Manteau',4,10,NULL,0,NULL,4,NULL,1,0x026654E2,7,2,4,NULL,80,1,0,'bonus bMaxHP,50; bonus bMdef,1; bonus2 bSubRace,RC_DemiHuman,1; bonus2 bSubRace,RC_Player_Human,1;',NULL,NULL);
+REPLACE INTO `item_db` VALUES (2539,'Commander_Manteau_','Commander\'s Manteau',4,10,NULL,0,NULL,3,NULL,1,0x00898B1C,7,2,4,NULL,80,1,0,'bonus bMaxHP,50; bonus bMdef,1; bonus2 bSubRace,RC_DemiHuman,1; bonus2 bSubRace,RC_Player_Human,1;',NULL,NULL);
+REPLACE INTO `item_db` VALUES (2540,'Sheriff_Manteau','Sheriff\'s Manteau',4,10,NULL,0,NULL,3,NULL,1,0x41000000,7,2,4,NULL,80,1,0,'bonus bMaxHP,50; bonus bMdef,1; bonus2 bSubRace,RC_DemiHuman,1; bonus2 bSubRace,RC_Player_Human,1;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (2541,'Asprika','Asprika',4,20,NULL,400,NULL,5,NULL,0,0xFFFFFFFF,7,2,4,NULL,94,0,0,'bonus bMdef,5; bonus3 bSubEle,Ele_Neutral,30,BF_SHORT; bonus3 bSubEle,Ele_Water,30,BF_SHORT; bonus3 bSubEle,Ele_Earth,30,BF_SHORT; bonus3 bSubEle,Ele_Fire,30,BF_SHORT; bonus3 bSubEle,Ele_Wind,30,BF_SHORT; bonus3 bSubEle,Ele_Poison,30,BF_SHORT; bonus3 bSubEle,Ele_Holy,30,BF_SHORT; bonus3 bSubEle,Ele_Dark,30,BF_SHORT; bonus3 bSubEle,Ele_Ghost,30,BF_SHORT; bonus3 bSubEle,Ele_Undead,30,BF_SHORT; bonus bFlee,30; skill "AL_TELEPORT",1; bonus bUnbreakableGarment;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (2541,'Asprika','Asprika',4,20,NULL,400,NULL,5,NULL,0,0xFFFFFFFF,7,2,4,NULL,94,0,0,'bonus bMdef,5; bonus3 bSubEle,Ele_Neutral,30,BF_SHORT; bonus3 bSubEle,Ele_Water,30,BF_SHORT; bonus3 bSubEle,Ele_Earth,30,BF_SHORT; bonus3 bSubEle,Ele_Fire,30,BF_SHORT; bonus3 bSubEle,Ele_Wind,30,BF_SHORT; bonus3 bSubEle,Ele_Poison,30,BF_SHORT; bonus3 bSubEle,Ele_Holy,30,BF_SHORT; bonus3 bSubEle,Ele_Dark,30,BF_SHORT; bonus3 bSubEle,Ele_Ghost,30,BF_SHORT; bonus3 bSubEle,Ele_Undead,30,BF_SHORT; bonus bFlee,30; skill "AL_TELEPORT",1; bonus bUnbreakableGarment;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (2542,'Flame_Manteau','Flame Manteau of Naght Sieger',4,20,NULL,70,NULL,4,NULL,1,0xFFFFFFFE,2,2,4,NULL,70,1,0,'bonus bMaxHPRate,5; bonus bMdef,2; bonus bMatkRate,1; bonus2 bAddEle,Ele_Fire,2;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (2542,'Flame_Manteau','Flame Manteau of Naght Sieger',4,20,NULL,70,NULL,4,NULL,1,0xFFFFFFFE,2,2,4,NULL,70,1,0,'bonus bMaxHPRate,5; bonus bMdef,2; bonus bMatkRate,1; bonus2 bAddEle,Ele_Fire,2;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (2543,'Sylphid_Manteau','Sylphid Manteau',4,20,NULL,0,NULL,9,NULL,0,0xFFFFFFFF,7,2,4,NULL,0,0,0,'bonus bFlee,13; bonus2 bSubEle,Ele_Neutral,13; bonus bFlee2,1;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (2543,'Sylphid_Manteau','Sylphid Manteau',4,20,NULL,0,NULL,9,NULL,0,0xFFFFFFFF,7,2,4,NULL,0,0,0,'bonus bFlee,13; bonus2 bSubEle,Ele_Neutral,13; bonus bFlee2,1;',NULL,NULL);
-REPLACE INTO `item_db` VALUES (2544,'Leather_Of_Tendrilion','Leather of Tendrilion',4,20,NULL,300,NULL,3,NULL,1,0x00CFDF80,2,2,4,NULL,0,1,0,'bonus2 bSubEle,Ele_Water,5; bonus2 bSubEle,Ele_Earth,5; bonus2 bSubRace,RC_Plant,5; bonus2 bSubRace,RC_Brute,5;',NULL,NULL);
+REPLACE INTO `item_db` VALUES (2544,'Leather_Of_Tendrilion','Leather of Tendrilion',4,20,NULL,300,NULL,3,NULL,1,0x00CFDF80,2,2,4,NULL,0,1,0,'bonus2 bSubEle,Ele_Water,5; bonus2 bSubEle,Ele_Earth,5; bonus2 bSubRace,RC_Plant,5; bonus2 bSubRace,RC_Brute,5; bonus2 bSubRace,RC_Player_Doram,5;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (2545,'Musika','Musika',4,20,NULL,500,NULL,2,NULL,1,0x00008100,2,2,4,NULL,70,1,0,'bonus bMdef,3; bonus3 bAutoSpellwhenhit,"AL_HEAL",max(1,getskilllv("AL_HEAL")),20;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (2545,'Musika','Musika',4,20,NULL,500,NULL,2,NULL,1,0x00008100,2,2,4,NULL,70,1,0,'bonus bMdef,3; bonus3 bAutoSpellwhenhit,"AL_HEAL",max(1,getskilllv("AL_HEAL")),20;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (2546,'Beach_Manteau','Beach Manteau',4,20,NULL,600,NULL,0,NULL,1,0xFFFFFFFF,7,2,4,NULL,0,1,0,'bonus bStr,1; bonus bInt,1; bonus2 bSubEle,Ele_Fire,10;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (2546,'Beach_Manteau','Beach Manteau',4,20,NULL,600,NULL,0,NULL,1,0xFFFFFFFF,7,2,4,NULL,0,1,0,'bonus bStr,1; bonus bInt,1; bonus2 bSubEle,Ele_Fire,10;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (2547,'Cheap_Running_Shirts','Cheap Undershirt',4,0,NULL,0,NULL,8,NULL,0,0xFFFFFFFF,7,2,4,NULL,0,1,0,'bonus bDex,2; bonus bFlee,10; bonus2 bSubEle,Ele_Neutral,10; bonus bMdef,1;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (2547,'Cheap_Running_Shirts','Cheap Undershirt',4,0,NULL,0,NULL,8,NULL,0,0xFFFFFFFF,7,2,4,NULL,0,1,0,'bonus bDex,2; bonus bFlee,10; bonus2 bSubEle,Ele_Neutral,10; bonus bMdef,1;',NULL,NULL);
-REPLACE INTO `item_db` VALUES (2548,'Muffler_C','Neo Muffler',4,0,NULL,0,NULL,5,NULL,0,0xFFFFFFFE,2,2,4,NULL,95,0,0,'bonus2 bSubRace,RC_DemiHuman,10; bonus2 bSubRace,RC_Player,10; bonus bMaxHPrate,10; bonus2 bSubEle,Ele_Water,5; bonus2 bSubEle,Ele_Fire,5; bonus2 bSubEle,Ele_Holy,5; bonus2 bSubEle,Ele_Dark,5;',NULL,NULL);
-REPLACE INTO `item_db` VALUES (2549,'Krieger_Muffler1','Glorious Muffler',4,20,NULL,0,NULL,0,NULL,0,0xFFFFFFFE,7,2,4,NULL,81,1,0,'bonus bMaxHPRate,5; bonus2 bSubRace,RC_DemiHuman,5; bonus2 bSubRace,RC_Player,5;',NULL,NULL);
+REPLACE INTO `item_db` VALUES (2548,'Muffler_C','Neo Muffler',4,0,NULL,0,NULL,5,NULL,0,0xFFFFFFFE,2,2,4,NULL,95,0,0,'bonus2 bSubRace,RC_DemiHuman,10; bonus2 bSubRace,RC_Player_Human,10; bonus bMaxHPrate,10; bonus2 bSubEle,Ele_Water,5; bonus2 bSubEle,Ele_Fire,5; bonus2 bSubEle,Ele_Holy,5; bonus2 bSubEle,Ele_Dark,5;',NULL,NULL);
+REPLACE INTO `item_db` VALUES (2549,'Krieger_Muffler1','Glorious Muffler',4,20,NULL,0,NULL,0,NULL,0,0xFFFFFFFE,7,2,4,NULL,81,1,0,'bonus bMaxHPRate,5; bonus2 bSubRace,RC_DemiHuman,5; bonus2 bSubRace,RC_Player_Human,5;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (2550,'Fisher\'s_Muffler','Fisher\'s Muffler',4,20,NULL,200,NULL,0,NULL,0,0xFFFFFFFF,7,2,4,NULL,0,1,0,NULL,NULL,NULL);
 REPLACE INTO `item_db` VALUES (2550,'Fisher\'s_Muffler','Fisher\'s Muffler',4,20,NULL,200,NULL,0,NULL,0,0xFFFFFFFF,7,2,4,NULL,0,1,0,NULL,NULL,NULL);
 REPLACE INTO `item_db` VALUES (2551,'Rider_Insignia_M','Crest of the Rider',4,20,NULL,500,NULL,4,NULL,1,0xFFFFFFFE,2,2,4,NULL,55,1,0,'bonus bAgi,2;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (2551,'Rider_Insignia_M','Crest of the Rider',4,20,NULL,500,NULL,4,NULL,1,0xFFFFFFFE,2,2,4,NULL,55,1,0,'bonus bAgi,2;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (2552,'Mithril_Magic_Cape_M','Mithril Magic Manteau',4,20,NULL,400,NULL,3,NULL,1,0x00098B1C,2,2,4,NULL,70,1,0,'bonus bMdef,3; bonus5 bAutoSpellWhenHit,"NPC_ANTIMAGIC",6,200,BF_MAGIC,0;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (2552,'Mithril_Magic_Cape_M','Mithril Magic Manteau',4,20,NULL,400,NULL,3,NULL,1,0x00098B1C,2,2,4,NULL,70,1,0,'bonus bMdef,3; bonus5 bAutoSpellWhenHit,"NPC_ANTIMAGIC",6,200,BF_MAGIC,0;',NULL,NULL);
@@ -1705,7 +1705,7 @@ REPLACE INTO `item_db` VALUES (4031,'Pecopeco_Card','Peco Peco Card',6,20,NULL,1
 REPLACE INTO `item_db` VALUES (4032,'Ambernite_Card','Ambernite Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,32,NULL,NULL,NULL,NULL,'bonus bDef,2;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (4032,'Ambernite_Card','Ambernite Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,32,NULL,NULL,NULL,NULL,'bonus bDef,2;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (4033,'Poporing_Card','Poporing Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,136,NULL,NULL,NULL,NULL,'skill "TF_DETOXIFY",1;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (4033,'Poporing_Card','Poporing Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,136,NULL,NULL,NULL,NULL,'skill "TF_DETOXIFY",1;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (4034,'Worm_Tail_Card','Wormtail Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,136,NULL,NULL,NULL,NULL,'bonus bDex,2;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (4034,'Worm_Tail_Card','Wormtail Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,136,NULL,NULL,NULL,NULL,'bonus bDex,2;',NULL,NULL);
-REPLACE INTO `item_db` VALUES (4035,'Hydra_Card','Hydra Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,NULL,NULL,'bonus2 bAddRace,RC_DemiHuman,20; bonus2 bAddRace,RC_Player,20;',NULL,NULL);
+REPLACE INTO `item_db` VALUES (4035,'Hydra_Card','Hydra Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,NULL,NULL,'bonus2 bAddRace,RC_DemiHuman,20; bonus2 bAddRace,RC_Player_Human,20;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (4036,'Muka_Card','Muka Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,136,NULL,NULL,NULL,NULL,'bonus bHPrecovRate,10;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (4036,'Muka_Card','Muka Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,136,NULL,NULL,NULL,NULL,'bonus bHPrecovRate,10;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (4037,'Snake_Card','Snake Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,NULL,NULL,'bonus2 bAddEff,Eff_Poison,500; bonus bBaseAtk,5;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (4037,'Snake_Card','Snake Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,NULL,NULL,'bonus2 bAddEff,Eff_Poison,500; bonus bBaseAtk,5;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (4038,'Zombie_Card','Zombie Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,64,NULL,NULL,NULL,NULL,'bonus bHPrecovRate,20;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (4038,'Zombie_Card','Zombie Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,64,NULL,NULL,NULL,NULL,'bonus bHPrecovRate,20;',NULL,NULL);
@@ -1728,15 +1728,15 @@ REPLACE INTO `item_db` VALUES (4054,'Angeling_Card','Angeling Card',6,20,NULL,10
 REPLACE INTO `item_db` VALUES (4055,'Marina_Card','Marina Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,NULL,NULL,'bonus2 bAddEff,Eff_Freeze,500; bonus bBaseAtk,5;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (4055,'Marina_Card','Marina Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,NULL,NULL,'bonus2 bAddEff,Eff_Freeze,500; bonus bBaseAtk,5;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (4056,'Dustiness_Card','Dustiness Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,4,NULL,NULL,NULL,NULL,'bonus2 bSubEle,Ele_Wind,30; bonus bFlee,5;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (4056,'Dustiness_Card','Dustiness Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,4,NULL,NULL,NULL,NULL,'bonus2 bSubEle,Ele_Wind,30; bonus bFlee,5;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (4057,'Metaller_Card','Metaller Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,NULL,NULL,'bonus2 bAddEff,Eff_Silence,500; bonus bBaseAtk,5;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (4057,'Metaller_Card','Metaller Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,NULL,NULL,'bonus2 bAddEff,Eff_Silence,500; bonus bBaseAtk,5;',NULL,NULL);
-REPLACE INTO `item_db` VALUES (4058,'Thara_Frog_Card','Thara Frog Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,32,NULL,NULL,NULL,NULL,'bonus2 bSubRace,RC_DemiHuman,30; bonus2 bSubRace,RC_Player,30;',NULL,NULL);
+REPLACE INTO `item_db` VALUES (4058,'Thara_Frog_Card','Thara Frog Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,32,NULL,NULL,NULL,NULL,'bonus2 bSubRace,RC_DemiHuman,30; bonus2 bSubRace,RC_Player_Human,30;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (4059,'Soldier_Andre_Card','Soldier Andre Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,32,NULL,NULL,NULL,NULL,'bonus2 bSubRace,RC_Plant,30;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (4059,'Soldier_Andre_Card','Soldier Andre Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,32,NULL,NULL,NULL,NULL,'bonus2 bSubRace,RC_Plant,30;',NULL,NULL);
-REPLACE INTO `item_db` VALUES (4060,'Goblin_Card','Goblin Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,NULL,NULL,'bonus2 bAddRace,RC_Brute,20;',NULL,NULL);
+REPLACE INTO `item_db` VALUES (4060,'Goblin_Card','Goblin Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,NULL,NULL,'bonus2 bAddRace,RC_Brute,20; bonus2 bAddRace,RC_Player_Doram,20;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (4061,'Cornutus_Card','Cornutus Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,16,NULL,NULL,NULL,NULL,'bonus bUnbreakableArmor; bonus bDef,1;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (4061,'Cornutus_Card','Cornutus Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,16,NULL,NULL,NULL,NULL,'bonus bUnbreakableArmor; bonus bDef,1;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (4062,'Anacondaq_Card','Anacondaq Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,NULL,NULL,'bonus2 bAddEle,Ele_Poison,20;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (4062,'Anacondaq_Card','Anacondaq Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,NULL,NULL,'bonus2 bAddEle,Ele_Poison,20;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (4063,'Caramel_Card','Caramel Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,NULL,NULL,'bonus2 bAddRace,RC_Insect,20;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (4063,'Caramel_Card','Caramel Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,NULL,NULL,'bonus2 bAddRace,RC_Insect,20;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (4064,'Zerom_Card','Zerom Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,136,NULL,NULL,NULL,NULL,'bonus bDex,3;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (4064,'Zerom_Card','Zerom Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,136,NULL,NULL,NULL,NULL,'bonus bDex,3;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (4065,'Kaho_Card','Kaho Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,NULL,NULL,'bonus2 bAddEle,Ele_Earth,20;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (4065,'Kaho_Card','Kaho Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,NULL,NULL,'bonus2 bAddEle,Ele_Earth,20;',NULL,NULL);
-REPLACE INTO `item_db` VALUES (4066,'Orc_Warrior_Card','Orc Warrior Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,32,NULL,NULL,NULL,NULL,'bonus2 bSubRace,RC_Brute,30;',NULL,NULL);
+REPLACE INTO `item_db` VALUES (4066,'Orc_Warrior_Card','Orc Warrior Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,32,NULL,NULL,NULL,NULL,'bonus2 bSubRace,RC_Brute,30; bonus2 bSubRace,RC_Player_Doram,30;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (4067,'Megalodon_Card','Megalodon Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,32,NULL,NULL,NULL,NULL,'bonus2 bResEff,Eff_Freeze,2000; bonus bDef,1;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (4067,'Megalodon_Card','Megalodon Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,32,NULL,NULL,NULL,NULL,'bonus2 bResEff,Eff_Freeze,2000; bonus bDef,1;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (4068,'Scorpion_Card','Scorpion Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,NULL,NULL,'bonus2 bAddRace,RC_Plant,20;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (4068,'Scorpion_Card','Scorpion Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,NULL,NULL,'bonus2 bAddRace,RC_Plant,20;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (4069,'Drainliar_Card','Drainliar Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,NULL,NULL,'bonus2 bAddEle,Ele_Water,20;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (4069,'Drainliar_Card','Drainliar Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,NULL,NULL,'bonus2 bAddEle,Ele_Water,20;',NULL,NULL);
@@ -1795,7 +1795,7 @@ REPLACE INTO `item_db` VALUES (4121,'Phreeoni_Card','Phreeoni Card',6,20,NULL,10
 REPLACE INTO `item_db` VALUES (4122,'Deviruchi_Card','Deviruchi Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,769,NULL,NULL,NULL,NULL,'bonus bStr,1; bonus2 bResEff,Eff_Blind,10000;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (4122,'Deviruchi_Card','Deviruchi Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,769,NULL,NULL,NULL,NULL,'bonus bStr,1; bonus2 bResEff,Eff_Blind,10000;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (4123,'Eddga_Card','Eddga Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,64,NULL,NULL,NULL,NULL,'bonus bMaxHPrate,-25; bonus bNoWalkDelay;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (4123,'Eddga_Card','Eddga Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,64,NULL,NULL,NULL,NULL,'bonus bMaxHPrate,-25; bonus bNoWalkDelay;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (4124,'Medusa_Card','Medusa Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,32,NULL,NULL,NULL,NULL,'bonus2 bSubRace,RC_Demon,15; bonus2 bResEff,Eff_Stone,10000;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (4124,'Medusa_Card','Medusa Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,32,NULL,NULL,NULL,NULL,'bonus2 bSubRace,RC_Demon,15; bonus2 bResEff,Eff_Stone,10000;',NULL,NULL);
-REPLACE INTO `item_db` VALUES (4125,'Deviace_Card','Deviace Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,NULL,NULL,'bonus2 bAddRace,RC_DemiHuman,7; bonus2 bAddRace,RC_Player,7; bonus2 bAddRace,RC_Brute,7; bonus2 bAddRace,RC_Plant,7; bonus2 bAddRace,RC_Insect,7;',NULL,NULL);
+REPLACE INTO `item_db` VALUES (4125,'Deviace_Card','Deviace Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,NULL,NULL,'bonus2 bAddRace,RC_DemiHuman,7; bonus2 bAddRace,RC_Player_Human,7; bonus2 bAddRace,RC_Brute,7; bonus2 bAddRace,RC_Player_Doram,7; bonus2 bAddRace,RC_Plant,7; bonus2 bAddRace,RC_Insect,7;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (4126,'Minorous_Card','Minorous Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,NULL,NULL,'bonus2 bAddSize,Size_Large,15; bonus bBaseAtk,5;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (4126,'Minorous_Card','Minorous Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,NULL,NULL,'bonus2 bAddSize,Size_Large,15; bonus bBaseAtk,5;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (4127,'Nightmare_Card','Nightmare Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,769,NULL,NULL,NULL,NULL,'bonus2 bResEff,Eff_Sleep,10000; bonus bAgi,1;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (4127,'Nightmare_Card','Nightmare Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,769,NULL,NULL,NULL,NULL,'bonus2 bResEff,Eff_Sleep,10000; bonus bAgi,1;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (4128,'Golden_Bug_Card','Golden Thief Bug Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,32,NULL,NULL,NULL,NULL,'bonus bNoMagicDamage,100; bonus bUseSPrate,100;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (4128,'Golden_Bug_Card','Golden Thief Bug Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,32,NULL,NULL,NULL,NULL,'bonus bNoMagicDamage,100; bonus bUseSPrate,100;',NULL,NULL);
@@ -1837,7 +1837,7 @@ REPLACE INTO `item_db` VALUES (4163,'Gryphon_Card','Gryphon Card',6,20,NULL,10,N
 REPLACE INTO `item_db` VALUES (4164,'Gullinbursti_Card','Gullinbursti Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,64,NULL,NULL,NULL,NULL,'bonus2 bSubRace,RC_Fish,-20; bonus2 bExpAddRace,RC_Fish,10;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (4164,'Gullinbursti_Card','Gullinbursti Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,64,NULL,NULL,NULL,NULL,'bonus2 bSubRace,RC_Fish,-20; bonus2 bExpAddRace,RC_Fish,10;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (4165,'Gig_Card','Gig Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,NULL,NULL,'bonus2 bSPGainRace,RC_Insect,5;',NULL,'heal 0,-5;');
 REPLACE INTO `item_db` VALUES (4165,'Gig_Card','Gig Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,NULL,NULL,'bonus2 bSPGainRace,RC_Insect,5;',NULL,'heal 0,-5;');
 REPLACE INTO `item_db` VALUES (4166,'Nightmare_Terror_Card','Nightmare Terror Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,16,NULL,NULL,NULL,NULL,'bonus2 bAddEffWhenHit,Eff_Curse,300;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (4166,'Nightmare_Terror_Card','Nightmare Terror Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,16,NULL,NULL,NULL,NULL,'bonus2 bAddEffWhenHit,Eff_Curse,300;',NULL,NULL);
-REPLACE INTO `item_db` VALUES (4167,'Neraid_Card','Nereid Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,NULL,NULL,'bonus2 bSPGainRace,RC_Brute,5;',NULL,'heal 0,-5;');
+REPLACE INTO `item_db` VALUES (4167,'Neraid_Card','Nereid Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,NULL,NULL,'bonus2 bSPGainRace,RC_Brute,5; bonus2 bSPGainRace,RC_Player_Doram,5;',NULL,'heal 0,-5;');
 REPLACE INTO `item_db` VALUES (4168,'Dark_Lord_Card','Dark Lord Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,64,NULL,NULL,NULL,NULL,'bonus3 bAutoSpellWhenHit,"WZ_METEOR",5,100;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (4168,'Dark_Lord_Card','Dark Lord Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,64,NULL,NULL,NULL,NULL,'bonus3 bAutoSpellWhenHit,"WZ_METEOR",5,100;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (4169,'Dark_Illusion_Card','Dark Illusion Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,769,NULL,NULL,NULL,NULL,'bonus bMaxHPrate,-10; bonus bMaxSPrate,-10; bonus bCastrate,-10;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (4169,'Dark_Illusion_Card','Dark Illusion Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,769,NULL,NULL,NULL,NULL,'bonus bMaxHPrate,-10; bonus bMaxSPrate,-10; bonus bCastrate,-10;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (4170,'Dark_Frame_Card','Dark Frame Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,16,NULL,NULL,NULL,NULL,'bonus2 bAddEffWhenHit,Eff_Stone,600;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (4170,'Dark_Frame_Card','Dark Frame Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,16,NULL,NULL,NULL,NULL,'bonus2 bAddEffWhenHit,Eff_Stone,600;',NULL,NULL);
@@ -1874,7 +1874,7 @@ REPLACE INTO `item_db` VALUES (4200,'Megalith_Card','Megalith Card',6,20,NULL,10
 REPLACE INTO `item_db` VALUES (4201,'Majoruros_Card','Majoruros Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,16,NULL,NULL,NULL,NULL,'bonus2 bAddEffWhenHit,Eff_Stun,600;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (4201,'Majoruros_Card','Majoruros Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,16,NULL,NULL,NULL,NULL,'bonus2 bAddEffWhenHit,Eff_Stun,600;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (4202,'Civil_Servant_Card','Mao Guai Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,NULL,NULL,'bonus2 bAddEle,Ele_Ghost,20;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (4202,'Civil_Servant_Card','Mao Guai Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,NULL,NULL,'bonus2 bAddEle,Ele_Ghost,20;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (4203,'Mutant_Dragon_Card','Mutant Dragonoid Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,NULL,NULL,'bonus bBaseAtk,15; bonus3 bAutoSpell,"MG_FIREBALL",3+2*(getskilllv("MG_FIREBALL")==10),50;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (4203,'Mutant_Dragon_Card','Mutant Dragonoid Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,NULL,NULL,'bonus bBaseAtk,15; bonus3 bAutoSpell,"MG_FIREBALL",3+2*(getskilllv("MG_FIREBALL")==10),50;',NULL,NULL);
-REPLACE INTO `item_db` VALUES (4204,'Mini_Demon_Card','Mini Demon Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,64,NULL,NULL,NULL,NULL,'bonus2 bSubRace,RC_Brute,-20; bonus2 bExpAddRace,RC_Brute,10;',NULL,NULL);
+REPLACE INTO `item_db` VALUES (4204,'Mini_Demon_Card','Mini Demon Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,64,NULL,NULL,NULL,NULL,'bonus2 bSubRace,RC_Brute,-20; bonus2 bSubRace,RC_Player_Doram,-20; bonus2 bExpAddRace,RC_Brute,10;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (4205,'Mimic_Card','Mimic Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,136,NULL,NULL,NULL,NULL,'bonus2 bAddMonsterDropItem,603,10;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (4205,'Mimic_Card','Mimic Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,136,NULL,NULL,NULL,NULL,'bonus2 bAddMonsterDropItem,603,10;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (4206,'Mystcase_Card','Myst Case Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,769,NULL,NULL,NULL,NULL,'bonus2 bAddMonsterDropItem,644,30;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (4206,'Mystcase_Card','Myst Case Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,769,NULL,NULL,NULL,NULL,'bonus2 bAddMonsterDropItem,644,30;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (4207,'Mysteltainn_Card','Mysteltainn Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,32,NULL,NULL,NULL,NULL,'bonus2 bSubSize,Size_Small,25; bonus bDef,1;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (4207,'Mysteltainn_Card','Mysteltainn Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,32,NULL,NULL,NULL,NULL,'bonus2 bSubSize,Size_Small,25; bonus bDef,1;',NULL,NULL);
@@ -1915,8 +1915,8 @@ REPLACE INTO `item_db` VALUES (4241,'Archangeling_Card','Arc Angeling Card',6,20
 REPLACE INTO `item_db` VALUES (4242,'Apocalips_Card','Apocalipse Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,16,NULL,NULL,NULL,NULL,'bonus bVit,2; if(getrefine()>8) bonus bMaxHP,800;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (4242,'Apocalips_Card','Apocalipse Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,16,NULL,NULL,NULL,NULL,'bonus bVit,2; if(getrefine()>8) bonus bMaxHP,800;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (4243,'Antonio_Card','Antonio Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,16,NULL,NULL,NULL,NULL,'bonus3 bAutoSpellWhenHit,"AL_TELEPORT",1,500;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (4243,'Antonio_Card','Antonio Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,16,NULL,NULL,NULL,NULL,'bonus3 bAutoSpellWhenHit,"AL_TELEPORT",1,500;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (4244,'Alarm_Card','Alarm Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,64,NULL,NULL,NULL,NULL,'bonus3 bAutoSpellWhenHit,"MG_SIGHT",1,200; bonus bMaxHP,300; bonus bVit,1;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (4244,'Alarm_Card','Alarm Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,64,NULL,NULL,NULL,NULL,'bonus3 bAutoSpellWhenHit,"MG_SIGHT",1,200; bonus bMaxHP,300; bonus bVit,1;',NULL,NULL);
-REPLACE INTO `item_db` VALUES (4245,'Am_Mut_Card','Am Mut Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,64,NULL,NULL,NULL,NULL,'bonus2 bSubRace,RC_DemiHuman,-20; bonus2 bSubRace,RC_Player,-20; bonus2 bExpAddRace,RC_DemiHuman,10;',NULL,NULL);
-REPLACE INTO `item_db` VALUES (4246,'Assulter_Card','Assaulter Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,NULL,NULL,'bonus bCritAtkRate,10; bonus2 bCriticalAddRace,RC_DemiHuman,7; bonus2 bCriticalAddRace,RC_Player,7;',NULL,NULL);
+REPLACE INTO `item_db` VALUES (4245,'Am_Mut_Card','Am Mut Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,64,NULL,NULL,NULL,NULL,'bonus2 bSubRace,RC_DemiHuman,-20; bonus2 bSubRace,RC_Player_Human,-20; bonus2 bExpAddRace,RC_DemiHuman,10;',NULL,NULL);
+REPLACE INTO `item_db` VALUES (4246,'Assulter_Card','Assaulter Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,NULL,NULL,'bonus bCritAtkRate,10; bonus2 bCriticalAddRace,RC_DemiHuman,7; bonus2 bCriticalAddRace,RC_Player_Human,7;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (4247,'Aster_Card','Aster Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,NULL,NULL,'bonus bBaseAtk,5; bonus2 bAddDamageClass,1074,30;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (4247,'Aster_Card','Aster Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,NULL,NULL,'bonus bBaseAtk,5; bonus2 bAddDamageClass,1074,30;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (4248,'Ancient_Mummy_Card','Ancient Mummy Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,32,NULL,NULL,NULL,NULL,'bonus3 bAutoSpellWhenHit,"AL_CRUCIS",5,30;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (4248,'Ancient_Mummy_Card','Ancient Mummy Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,32,NULL,NULL,NULL,NULL,'bonus3 bAutoSpellWhenHit,"AL_CRUCIS",5,30;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (4249,'Ancient_Worm_Card','Ancient Worm Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,64,NULL,NULL,NULL,NULL,'bonus2 bSubRace,RC_Demon,-20; bonus2 bExpAddRace,RC_Demon,10;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (4249,'Ancient_Worm_Card','Ancient Worm Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,64,NULL,NULL,NULL,NULL,'bonus2 bSubRace,RC_Demon,-20; bonus2 bExpAddRace,RC_Demon,10;',NULL,NULL);
@@ -1967,7 +1967,7 @@ REPLACE INTO `item_db` VALUES (4293,'Cookie_Card','Cookie Card',6,20,NULL,10,NUL
 REPLACE INTO `item_db` VALUES (4294,'Quve_Card','Quve Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,136,NULL,NULL,NULL,NULL,'if(BaseJob==Job_Novice||BaseJob==Job_SuperNovice) bonus3 bAutoSpellWhenHit,"AL_INCAGI",1,100;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (4294,'Quve_Card','Quve Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,136,NULL,NULL,NULL,NULL,'if(BaseJob==Job_Novice||BaseJob==Job_SuperNovice) bonus3 bAutoSpellWhenHit,"AL_INCAGI",1,100;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (4295,'Kraben_Card','Kraben Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,16,NULL,NULL,NULL,NULL,'bonus2 bAddEffWhenHit,Eff_Blind,600;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (4295,'Kraben_Card','Kraben Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,16,NULL,NULL,NULL,NULL,'bonus2 bAddEffWhenHit,Eff_Blind,600;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (4296,'Cramp_Card','Cramp Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,769,NULL,NULL,NULL,NULL,'bonus2 bGetZenyNum,500,1;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (4296,'Cramp_Card','Cramp Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,769,NULL,NULL,NULL,NULL,'bonus2 bGetZenyNum,500,1;',NULL,NULL);
-REPLACE INTO `item_db` VALUES (4297,'Cruiser_Card','Cruiser Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,NULL,NULL,'bonus bCritAtkRate,10; bonus2 bCriticalAddRace,RC_Brute,7;',NULL,NULL);
+REPLACE INTO `item_db` VALUES (4297,'Cruiser_Card','Cruiser Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,NULL,NULL,'bonus bCritAtkRate,10; bonus2 bCriticalAddRace,RC_Brute,7; bonus2 bCriticalAddRace,RC_Player_Doram,7;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (4298,'Cremy_Fear_Card','Creamy Fear Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,16,NULL,NULL,NULL,NULL,'bonus2 bAddEffWhenHit,Eff_Confusion,600;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (4298,'Cremy_Fear_Card','Creamy Fear Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,16,NULL,NULL,NULL,NULL,'bonus2 bAddEffWhenHit,Eff_Confusion,600;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (4299,'Clock_Card','Clock Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,16,NULL,NULL,NULL,NULL,'bonus3 bAutoSpellWhenHit,"CR_AUTOGUARD",3+7*(getskilllv("CR_AUTOGUARD")==10),30;',NULL,'sc_end SC_AUTOGUARD;');
 REPLACE INTO `item_db` VALUES (4299,'Clock_Card','Clock Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,16,NULL,NULL,NULL,NULL,'bonus3 bAutoSpellWhenHit,"CR_AUTOGUARD",3+7*(getskilllv("CR_AUTOGUARD")==10),30;',NULL,'sc_end SC_AUTOGUARD;');
 REPLACE INTO `item_db` VALUES (4300,'Chimera_Card','Chimera Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,16,NULL,NULL,NULL,NULL,'bonus2 bAddEffWhenHit,Eff_Poison,300+600*(BaseJob==Job_Assassin);',NULL,NULL);
 REPLACE INTO `item_db` VALUES (4300,'Chimera_Card','Chimera Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,16,NULL,NULL,NULL,NULL,'bonus2 bAddEffWhenHit,Eff_Poison,300+600*(BaseJob==Job_Assassin);',NULL,NULL);
@@ -1999,7 +1999,7 @@ REPLACE INTO `item_db` VALUES (4325,'Harpy_Card','Harpy Card',6,20,NULL,10,NULL,
 REPLACE INTO `item_db` VALUES (4326,'See_Otter_Card','Sea-Otter Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,136,NULL,NULL,NULL,NULL,'bonus2 bAddItemGroupHealRate,IG_Fish,50; bonus3 bAddMonsterDropItem,551,RC_Fish,300; bonus3 bAddMonsterDropItem,544,RC_Fish,300;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (4326,'See_Otter_Card','Sea-Otter Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,136,NULL,NULL,NULL,NULL,'bonus2 bAddItemGroupHealRate,IG_Fish,50; bonus3 bAddMonsterDropItem,551,RC_Fish,300; bonus3 bAddMonsterDropItem,544,RC_Fish,300;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (4327,'Blood_Butterfly_Card','Bloody Butterfly Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,136,NULL,NULL,NULL,NULL,'bonus bCastrate,30; bonus bNoCastCancel; bonus2 bSkillAtk,"MG_FIREWALL",5;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (4327,'Blood_Butterfly_Card','Bloody Butterfly Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,136,NULL,NULL,NULL,NULL,'bonus bCastrate,30; bonus bNoCastCancel; bonus2 bSkillAtk,"MG_FIREWALL",5;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (4328,'Hyegun_Card','Yao Jun Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,4,NULL,NULL,NULL,NULL,'bonus bFlee,15; bonus bCritical,1;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (4328,'Hyegun_Card','Yao Jun Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,4,NULL,NULL,NULL,NULL,'bonus bFlee,15; bonus bCritical,1;',NULL,NULL);
-REPLACE INTO `item_db` VALUES (4329,'Phendark_Card','Phendark Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,NULL,NULL,'bonus2 bSPGainRace,RC_DemiHuman,5; bonus2 bSPGainRace,RC_Player,5;',NULL,'heal 0,-5;');
+REPLACE INTO `item_db` VALUES (4329,'Phendark_Card','Phendark Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,NULL,NULL,'bonus2 bSPGainRace,RC_DemiHuman,5; bonus2 bSPGainRace,RC_Player_Human,5;',NULL,'heal 0,-5;');
 REPLACE INTO `item_db` VALUES (4330,'Dark_Snake_Lord_Card','Evil Snake Lord Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,769,NULL,NULL,NULL,NULL,'bonus bInt,3; bonus2 bResEff,Eff_Blind,10000; bonus2 bResEff,Eff_Curse,10000;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (4330,'Dark_Snake_Lord_Card','Evil Snake Lord Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,769,NULL,NULL,NULL,NULL,'bonus bInt,3; bonus2 bResEff,Eff_Blind,10000; bonus2 bResEff,Eff_Curse,10000;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (4331,'Heater_Card','Heater Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,136,NULL,NULL,NULL,NULL,'bonus bCritical,3; if(BaseClass==Job_Swordman) bonus bFlee2,3;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (4331,'Heater_Card','Heater Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,136,NULL,NULL,NULL,NULL,'bonus bCritical,3; if(BaseClass==Job_Swordman) bonus bFlee2,3;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (4332,'Waste_Stove_Card','Waste Stove Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,16,NULL,NULL,NULL,NULL,'bonus bBaseAtk,5; bonus bInt,1;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (4332,'Waste_Stove_Card','Waste Stove Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,16,NULL,NULL,NULL,NULL,'bonus bBaseAtk,5; bonus bInt,1;',NULL,NULL);
@@ -2030,7 +2030,7 @@ REPLACE INTO `item_db` VALUES (4356,'Beholder_Card','Beholder Card',6,20,NULL,10
 REPLACE INTO `item_db` VALUES (4357,'B_Seyren_Card','Lord Knight Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,769,NULL,NULL,NULL,NULL,'skill "LK_BERSERK",1; bonus bMaxHPrate,-50;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (4357,'B_Seyren_Card','Lord Knight Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,769,NULL,NULL,NULL,NULL,'skill "LK_BERSERK",1; bonus bMaxHPrate,-50;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (4358,'Seyren_Card','Seyren Windsor Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,769,NULL,NULL,NULL,NULL,'bonus bStr,getrefine()-6;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (4358,'Seyren_Card','Seyren Windsor Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,769,NULL,NULL,NULL,NULL,'bonus bStr,getrefine()-6;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (4359,'B_Eremes_Card','Assassin Cross Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,4,NULL,NULL,NULL,NULL,'skill "AS_CLOAKING",3;',NULL,'sc_end SC_CLOAKING;');
 REPLACE INTO `item_db` VALUES (4359,'B_Eremes_Card','Assassin Cross Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,4,NULL,NULL,NULL,NULL,'skill "AS_CLOAKING",3;',NULL,'sc_end SC_CLOAKING;');
-REPLACE INTO `item_db` VALUES (4360,'Eremes_Card','Eremes Guile Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,NULL,NULL,'bonus2 bCriticalAddRace,RC_DemiHuman,10; bonus2 bCriticalAddRace,RC_Player,10;',NULL,NULL);
+REPLACE INTO `item_db` VALUES (4360,'Eremes_Card','Eremes Guile Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,NULL,NULL,'bonus2 bCriticalAddRace,RC_DemiHuman,10; bonus2 bCriticalAddRace,RC_Player_Human,10;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (4361,'B_Harword_Card','MasterSmith Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,NULL,NULL,'bonus bBreakWeaponRate,1000; bonus bBreakArmorRate,700;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (4361,'B_Harword_Card','MasterSmith Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,NULL,NULL,'bonus bBreakWeaponRate,1000; bonus bBreakArmorRate,700;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (4362,'Harword_Card','Howard Alt-Eisen Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,NULL,NULL,'bonus bAspdRate,-5; bonus bHit,30;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (4362,'Harword_Card','Howard Alt-Eisen Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,NULL,NULL,'bonus bAspdRate,-5; bonus bHit,30;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (4363,'B_Magaleta_Card','High Priest Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,16,NULL,NULL,NULL,NULL,'bonus5 bAutoSpellWhenHit,"HP_ASSUMPTIO",1,50,BF_WEAPON|BF_MAGIC,0;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (4363,'B_Magaleta_Card','High Priest Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,16,NULL,NULL,NULL,NULL,'bonus5 bAutoSpellWhenHit,"HP_ASSUMPTIO",1,50,BF_WEAPON|BF_MAGIC,0;',NULL,NULL);
@@ -2102,16 +2102,16 @@ REPLACE INTO `item_db` VALUES (4428,'Bow_Guardian_Card','Bow Guardian Card',6,20
 REPLACE INTO `item_db` VALUES (4429,'Salamander_Card','Salamander Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,4,NULL,NULL,NULL,NULL,'bonus2 bSkillAtk,"WZ_FIREPILLAR",40; bonus2 bSkillAtk,"WZ_METEOR",40;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (4429,'Salamander_Card','Salamander Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,4,NULL,NULL,NULL,NULL,'bonus2 bSkillAtk,"WZ_FIREPILLAR",40; bonus2 bSkillAtk,"WZ_METEOR",40;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (4430,'Ifrit_Card','Ifrit Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,136,NULL,NULL,NULL,NULL,'bonus bBaseAtk,(JobLevel/10); bonus bCritical,(JobLevel/10); bonus bHit,(JobLevel/10); bonus3 bAutoSpellWhenHit,"NPC_EARTHQUAKE",2,10;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (4430,'Ifrit_Card','Ifrit Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,136,NULL,NULL,NULL,NULL,'bonus bBaseAtk,(JobLevel/10); bonus bCritical,(JobLevel/10); bonus bHit,(JobLevel/10); bonus3 bAutoSpellWhenHit,"NPC_EARTHQUAKE",2,10;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (4431,'Kasa_Card','Kasa Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,4,NULL,NULL,NULL,NULL,'bonus3 bAutoSpell,"MG_FIREBALL",5,20; bonus3 bAutoSpell,"MG_FIREBOLT",5,20;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (4431,'Kasa_Card','Kasa Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,4,NULL,NULL,NULL,NULL,'bonus3 bAutoSpell,"MG_FIREBALL",5,20; bonus3 bAutoSpell,"MG_FIREBOLT",5,20;',NULL,NULL);
-REPLACE INTO `item_db` VALUES (4432,'Magmaring_Card','Magmaring Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,4,NULL,NULL,NULL,NULL,'bonus bBaseAtk,5; bonus2 bAddEle,Ele_Earth,10; bonus2 bCriticalAddRace,RC_Brute,15;',NULL,NULL);
+REPLACE INTO `item_db` VALUES (4432,'Magmaring_Card','Magmaring Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,4,NULL,NULL,NULL,NULL,'bonus bBaseAtk,5; bonus2 bAddEle,Ele_Earth,10; bonus2 bCriticalAddRace,RC_Brute,15; bonus2 bCriticalAddRace,RC_Player_Doram,15;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (4433,'Imp_Card','Imp Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,136,NULL,NULL,NULL,NULL,'bonus2 bSkillAtk,"MG_FIREBOLT",25; bonus2 bCastrate,"MG_FIREBOLT",-25;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (4433,'Imp_Card','Imp Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,136,NULL,NULL,NULL,NULL,'bonus2 bSkillAtk,"MG_FIREBOLT",25; bonus2 bCastrate,"MG_FIREBOLT",-25;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (4434,'Knocker_Card','Knocker Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,769,NULL,NULL,NULL,NULL,'bonus2 bAddRace,RC_Formless,5; bonus3 bAddMonsterDropItem,756,RC_Formless,10; bonus3 bAddMonsterDropItem,757,RC_Formless,10;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (4434,'Knocker_Card','Knocker Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,769,NULL,NULL,NULL,NULL,'bonus2 bAddRace,RC_Formless,5; bonus3 bAddMonsterDropItem,756,RC_Formless,10; bonus3 bAddMonsterDropItem,757,RC_Formless,10;',NULL,NULL);
-REPLACE INTO `item_db` VALUES (4435,'Zombie_Slaughter_Card','Zombie Slaughter Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,64,NULL,NULL,NULL,NULL,'bonus2 bAddRace,RC_DemiHuman,1; bonus2 bAddRace,RC_Player,1; bonus2 bMagicAddRace,RC_DemiHuman,1; bonus2 bMagicAddRace,RC_Player,1; bonus bHPGainValue,50;',NULL,NULL);
-REPLACE INTO `item_db` VALUES (4436,'Ragged_Zombie_Card','Ragged Zombie Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,136,NULL,NULL,NULL,NULL,'bonus2 bCriticalAddRace,RC_DemiHuman,5; bonus2 bCriticalAddRace,RC_Player,5; bonus2 bAddRace,RC_DemiHuman,1; bonus2 bAddRace,RC_Player,1; bonus2 bMagicAddRace,RC_DemiHuman,1; bonus2 bMagicAddRace,RC_Player,1; bonus2 bAddEff2,Eff_Bleeding,10;',NULL,NULL);
+REPLACE INTO `item_db` VALUES (4435,'Zombie_Slaughter_Card','Zombie Slaughter Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,64,NULL,NULL,NULL,NULL,'bonus2 bAddRace,RC_DemiHuman,1; bonus2 bAddRace,RC_Player_Human,1; bonus2 bMagicAddRace,RC_DemiHuman,1; bonus2 bMagicAddRace,RC_Player_Human,1; bonus bHPGainValue,50;',NULL,NULL);
+REPLACE INTO `item_db` VALUES (4436,'Ragged_Zombie_Card','Ragged Zombie Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,136,NULL,NULL,NULL,NULL,'bonus2 bCriticalAddRace,RC_DemiHuman,5; bonus2 bCriticalAddRace,RC_Player_Human,5; bonus2 bAddRace,RC_DemiHuman,1; bonus2 bAddRace,RC_Player_Human,1; bonus2 bMagicAddRace,RC_DemiHuman,1; bonus2 bMagicAddRace,RC_Player_Human,1; bonus2 bAddEff2,Eff_Bleeding,10;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (4437,'Hell_Poodle_Card','Hell Poodle Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,136,NULL,NULL,NULL,NULL,'bonus bHit,1; bonus2 bAddItemHealRate,517,100; bonus3 bAddEff,Eff_Bleeding,50,ATF_SHORT;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (4437,'Hell_Poodle_Card','Hell Poodle Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,136,NULL,NULL,NULL,NULL,'bonus bHit,1; bonus2 bAddItemHealRate,517,100; bonus3 bAddEff,Eff_Bleeding,50,ATF_SHORT;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (4438,'Banshee_Card','Banshee Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,769,NULL,NULL,NULL,NULL,'if(BaseClass==Job_Mage){ bonus bMaxSP,100; bonus bMaxHP,-100; bonus2 bSkillAtk,"MG_NAPALMBEAT",20; bonus2 bSkillAtk,"MG_SOULSTRIKE",20; bonus2 bSkillAtk,"HW_NAPALMVULCAN",20; }',NULL,NULL);
 REPLACE INTO `item_db` VALUES (4438,'Banshee_Card','Banshee Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,769,NULL,NULL,NULL,NULL,'if(BaseClass==Job_Mage){ bonus bMaxSP,100; bonus bMaxHP,-100; bonus2 bSkillAtk,"MG_NAPALMBEAT",20; bonus2 bSkillAtk,"MG_SOULSTRIKE",20; bonus2 bSkillAtk,"HW_NAPALMVULCAN",20; }',NULL,NULL);
 REPLACE INTO `item_db` VALUES (4439,'Flame_Skull_Card','Flame Skull Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,32,NULL,NULL,NULL,NULL,'bonus2 bResEff,Eff_Blind,3000; bonus2 bResEff,Eff_Stun,3000; bonus2 bResEff,Eff_Curse,3000; bonus2 bResEff,Eff_Stone,3000; bonus2 bAddEffWhenHit,Eff_Blind,500; bonus2 bAddEffWhenHit,Eff_Stun,500; bonus2 bAddEffWhenHit,Eff_Curse,500; bonus2 bAddEffWhenHit,Eff_Stone,500;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (4439,'Flame_Skull_Card','Flame Skull Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,32,NULL,NULL,NULL,NULL,'bonus2 bResEff,Eff_Blind,3000; bonus2 bResEff,Eff_Stun,3000; bonus2 bResEff,Eff_Curse,3000; bonus2 bResEff,Eff_Stone,3000; bonus2 bAddEffWhenHit,Eff_Blind,500; bonus2 bAddEffWhenHit,Eff_Stun,500; bonus2 bAddEffWhenHit,Eff_Curse,500; bonus2 bAddEffWhenHit,Eff_Stone,500;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (4440,'Necromancer_Card','Necromancer Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,NULL,NULL,'if(getiteminfo(getequipid(EQI_HAND_R),11)==W_STAFF) { bonus bInt,1; bonus2 bIgnoreMdefClassRate,Class_Normal,2; bonus2 bIgnoreMdefClassRate,Class_Boss,2; }',NULL,NULL);
 REPLACE INTO `item_db` VALUES (4440,'Necromancer_Card','Necromancer Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,NULL,NULL,'if(getiteminfo(getequipid(EQI_HAND_R),11)==W_STAFF) { bonus bInt,1; bonus2 bIgnoreMdefClassRate,Class_Normal,2; bonus2 bIgnoreMdefClassRate,Class_Boss,2; }',NULL,NULL);
-REPLACE INTO `item_db` VALUES (4441,'Fallen_Bishop_Card','Fallen Bishop Hibram Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,64,NULL,NULL,NULL,NULL,'bonus bMatkRate,10; bonus bMaxSPrate,-50; bonus2 bMagicAddRace,RC_Angel,50; bonus2 bMagicAddRace,RC_DemiHuman,50; bonus2 bMagicAddRace,RC_Player,50;',NULL,NULL);
+REPLACE INTO `item_db` VALUES (4441,'Fallen_Bishop_Card','Fallen Bishop Hibram Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,64,NULL,NULL,NULL,NULL,'bonus bMatkRate,10; bonus bMaxSPrate,-50; bonus2 bMagicAddRace,RC_Angel,50; bonus2 bMagicAddRace,RC_DemiHuman,50; bonus2 bMagicAddRace,RC_Player_Human,50;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (4442,'Tatacho_Card','Tatacho Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,32,NULL,NULL,NULL,NULL,'bonus2 bSubEle,Ele_Neutral,20; bonus2 bAddEle,Ele_Neutral,5;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (4442,'Tatacho_Card','Tatacho Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,32,NULL,NULL,NULL,NULL,'bonus2 bSubEle,Ele_Neutral,20; bonus2 bAddEle,Ele_Neutral,5;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (4443,'Aqua_Elemental_Card','Aqua Elemental Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,32,NULL,NULL,NULL,NULL,'bonus2 bSubEle,Ele_Water,20; bonus2 bAddEle,Ele_Water,5;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (4443,'Aqua_Elemental_Card','Aqua Elemental Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,32,NULL,NULL,NULL,NULL,'bonus2 bSubEle,Ele_Water,20; bonus2 bAddEle,Ele_Water,5;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (4444,'Draco_Card','Draco Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,32,NULL,NULL,NULL,NULL,'bonus2 bSubEle,Ele_Earth,20; bonus2 bAddEle,Ele_Earth,5;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (4444,'Draco_Card','Draco Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,32,NULL,NULL,NULL,NULL,'bonus2 bSubEle,Ele_Earth,20; bonus2 bAddEle,Ele_Earth,5;',NULL,NULL);
@@ -2311,7 +2311,7 @@ REPLACE INTO `item_db` VALUES (5094,'Orc_Hero_Helm','Helmet of Orc Hero',4,50000
 REPLACE INTO `item_db` VALUES (5096,'Assassin_Mask_','Assassin Mask',4,20,NULL,100,NULL,0,NULL,0,0x00001100,7,2,1,NULL,70,0,180,NULL,NULL,NULL);
 REPLACE INTO `item_db` VALUES (5096,'Assassin_Mask_','Assassin Mask',4,20,NULL,100,NULL,0,NULL,0,0x00001100,7,2,1,NULL,70,0,180,NULL,NULL,NULL);
 REPLACE INTO `item_db` VALUES (5097,'Cone_Hat_','Holiday Hat',4,0,NULL,400,NULL,0,NULL,0,0xFFFFFFFF,7,2,256,NULL,0,1,144,NULL,NULL,NULL);
 REPLACE INTO `item_db` VALUES (5097,'Cone_Hat_','Holiday Hat',4,0,NULL,400,NULL,0,NULL,0,0xFFFFFFFF,7,2,256,NULL,0,1,144,NULL,NULL,NULL);
 REPLACE INTO `item_db` VALUES (5098,'Tiger_Mask','Tiger Mask',4,20,NULL,400,NULL,2,NULL,0,0xFFFFFFFF,7,2,768,NULL,50,0,181,'bonus bStr,3; bonus bMaxHP,100;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (5098,'Tiger_Mask','Tiger Mask',4,20,NULL,400,NULL,2,NULL,0,0xFFFFFFFF,7,2,768,NULL,50,0,181,'bonus bStr,3; bonus bMaxHP,100;',NULL,NULL);
-REPLACE INTO `item_db` VALUES (5099,'Cat_Hat','Neko Mimi',4,20,NULL,300,NULL,1,NULL,0,0xFFFFFFFF,7,2,256,NULL,0,1,182,'bonus bLuk,2; bonus bMdef,10; bonus2 bSubRace,RC_Brute,5;',NULL,NULL);
+REPLACE INTO `item_db` VALUES (5099,'Cat_Hat','Neko Mimi',4,20,NULL,300,NULL,1,NULL,0,0xFFFFFFFF,7,2,256,NULL,0,1,182,'bonus bLuk,2; bonus bMdef,10; bonus2 bSubRace,RC_Brute,5; bonus2 bSubRace,RC_Player_Doram,5;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (5100,'Sales_Signboard','Sales Banner',4,20,NULL,800,NULL,0,NULL,0,0xFFFFFFFF,7,2,256,NULL,75,1,183,'bonus bStr,1; bonus bAgi,1; bonus bLuk,1;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (5100,'Sales_Signboard','Sales Banner',4,20,NULL,800,NULL,0,NULL,0,0xFFFFFFFF,7,2,256,NULL,75,1,183,'bonus bStr,1; bonus bAgi,1; bonus bLuk,1;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (5101,'Takius_Blindfold','Takius\'s Blindfold',4,20,NULL,100,NULL,0,NULL,0,0xFFFFFFFF,7,2,512,NULL,0,0,184,NULL,NULL,NULL);
 REPLACE INTO `item_db` VALUES (5101,'Takius_Blindfold','Takius\'s Blindfold',4,20,NULL,100,NULL,0,NULL,0,0xFFFFFFFF,7,2,512,NULL,0,0,184,NULL,NULL,NULL);
 REPLACE INTO `item_db` VALUES (5102,'Round_Eyes','Blank Eyes',4,20,NULL,100,NULL,0,NULL,0,0xFFFFFFFF,7,2,512,NULL,0,0,185,NULL,NULL,NULL);
 REPLACE INTO `item_db` VALUES (5102,'Round_Eyes','Blank Eyes',4,20,NULL,100,NULL,0,NULL,0,0xFFFFFFFF,7,2,512,NULL,0,0,185,NULL,NULL,NULL);
@@ -2333,7 +2333,7 @@ REPLACE INTO `item_db` VALUES (5117,'Mistic_Rose','Mystic Rose',4,20,NULL,100,NU
 REPLACE INTO `item_db` VALUES (5118,'Ear_Of_Puppy','Puppy Headband',4,20,NULL,100,NULL,2,NULL,0,0xFFFFFFFF,7,2,256,NULL,0,1,199,NULL,NULL,NULL);
 REPLACE INTO `item_db` VALUES (5118,'Ear_Of_Puppy','Puppy Headband',4,20,NULL,100,NULL,2,NULL,0,0xFFFFFFFF,7,2,256,NULL,0,1,199,NULL,NULL,NULL);
 REPLACE INTO `item_db` VALUES (5119,'Super_Novice_Hat_','Super Novice Hat',4,8500,NULL,400,NULL,4,NULL,1,0x00000001,7,2,256,NULL,40,1,193,'bonus bAllStats,1;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (5119,'Super_Novice_Hat_','Super Novice Hat',4,8500,NULL,400,NULL,4,NULL,1,0x00000001,7,2,256,NULL,40,1,193,'bonus bAllStats,1;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (5120,'Fedora_','Bucket Hat',4,6000,NULL,300,NULL,3,NULL,1,0xFFFFFFFF,7,2,256,NULL,0,1,195,NULL,NULL,NULL);
 REPLACE INTO `item_db` VALUES (5120,'Fedora_','Bucket Hat',4,6000,NULL,300,NULL,3,NULL,1,0xFFFFFFFF,7,2,256,NULL,0,1,195,NULL,NULL,NULL);
-REPLACE INTO `item_db` VALUES (5121,'Zherlthsh_Mask','Zealotus Mask',4,20,NULL,400,NULL,3,NULL,0,0xFFFFFFFE,7,2,768,NULL,70,1,200,'bonus2 bAddRace,RC_DemiHuman,5; bonus2 bAddRace,RC_Player,5; bonus2 bSubRace,RC_DemiHuman,5; bonus2 bSubRace,RC_Player,5;',NULL,NULL);
+REPLACE INTO `item_db` VALUES (5121,'Zherlthsh_Mask','Zealotus Mask',4,20,NULL,400,NULL,3,NULL,0,0xFFFFFFFE,7,2,768,NULL,70,1,200,'bonus2 bAddRace,RC_DemiHuman,5; bonus2 bAddRace,RC_Player_Human,5; bonus2 bSubRace,RC_DemiHuman,5; bonus2 bSubRace,RC_Player_Human,5;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (5122,'Magni_Cap','Magni\'s Cap',4,30000,NULL,1000,NULL,5,NULL,0,0xFFFFFFFE,7,2,256,NULL,65,1,250,'bonus bStr,2;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (5122,'Magni_Cap','Magni\'s Cap',4,30000,NULL,1000,NULL,5,NULL,0,0xFFFFFFFE,7,2,256,NULL,65,1,250,'bonus bStr,2;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (5123,'Ulle_Cap','Ulle\'s Cap',4,30000,NULL,500,NULL,3,NULL,1,0xFFFFFFFE,7,2,256,NULL,65,1,254,'bonus bDex,2; bonus bAgi,1;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (5123,'Ulle_Cap','Ulle\'s Cap',4,30000,NULL,500,NULL,3,NULL,1,0xFFFFFFFE,7,2,256,NULL,65,1,254,'bonus bDex,2; bonus bAgi,1;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (5124,'Fricca_Circlet','Fricca\'s Circlet',4,30000,NULL,300,NULL,3,NULL,0,0xFFFFFFFE,7,2,256,NULL,65,1,251,'bonus bMdef,10; bonus bInt,2; bonus bMaxSP,50;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (5124,'Fricca_Circlet','Fricca\'s Circlet',4,30000,NULL,300,NULL,3,NULL,0,0xFFFFFFFE,7,2,256,NULL,65,1,251,'bonus bMdef,10; bonus bInt,2; bonus bMaxSP,50;',NULL,NULL);
@@ -2341,20 +2341,20 @@ REPLACE INTO `item_db` VALUES (5125,'Kiss_Of_Angel','Angel\'s Kiss',4,10000,NULL
 REPLACE INTO `item_db` VALUES (5126,'Morpheus\'s_Hood','Morpheus\'s Hood',4,30000,NULL,200,NULL,1,NULL,0,0xFFFFFFFE,7,2,256,NULL,33,1,256,'bonus bInt,2;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (5126,'Morpheus\'s_Hood','Morpheus\'s Hood',4,30000,NULL,200,NULL,1,NULL,0,0xFFFFFFFE,7,2,256,NULL,33,1,256,'bonus bInt,2;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (5127,'Morrigane\'s_Helm','Morrigane\'s Helm',4,30000,NULL,500,NULL,4,NULL,0,0xFFFFFFFE,7,2,256,NULL,61,1,257,'bonus bLuk,2; bonus bBaseAtk,3;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (5127,'Morrigane\'s_Helm','Morrigane\'s Helm',4,30000,NULL,500,NULL,4,NULL,0,0xFFFFFFFE,7,2,256,NULL,61,1,257,'bonus bLuk,2; bonus bBaseAtk,3;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (5128,'Goibne\'s_Helmet','Goibne\'s Helm',4,30000,NULL,500,NULL,5,NULL,0,0xFFFFFFFE,7,2,256,NULL,54,1,258,'bonus bVit,3; bonus bMdef,3;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (5128,'Goibne\'s_Helmet','Goibne\'s Helm',4,30000,NULL,500,NULL,5,NULL,0,0xFFFFFFFE,7,2,256,NULL,54,1,258,'bonus bVit,3; bonus bMdef,3;',NULL,NULL);
-REPLACE INTO `item_db` VALUES (5129,'Bird_Nest','Bird Nest',4,20,NULL,400,NULL,1,NULL,0,0xFFFFFFFF,7,2,256,NULL,50,0,201,'bonus bAgi,2; bonus2 bSubRace,RC_Brute,10;',NULL,NULL);
+REPLACE INTO `item_db` VALUES (5129,'Bird_Nest','Bird Nest',4,20,NULL,400,NULL,1,NULL,0,0xFFFFFFFF,7,2,256,NULL,50,0,201,'bonus bAgi,2; bonus2 bSubRace,RC_Brute,10; bonus2 bSubRace,RC_Player_Doram,10;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (5130,'Lion_Mask','Lion Mask',4,20,NULL,700,NULL,0,NULL,0,0x00CFDF80,7,2,768,NULL,75,1,202,'bonus2 bAddEffWhenHit,Eff_Silence,500; bonus bMdef,1;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (5130,'Lion_Mask','Lion Mask',4,20,NULL,700,NULL,0,NULL,0,0x00CFDF80,7,2,768,NULL,75,1,202,'bonus2 bAddEffWhenHit,Eff_Silence,500; bonus bMdef,1;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (5131,'Close_Helmet','Close Helmet',4,20,NULL,1200,NULL,8,NULL,0,0x00004082,7,2,769,NULL,75,1,203,'bonus bVit,3; bonus bMaxHPrate,3;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (5131,'Close_Helmet','Close Helmet',4,20,NULL,1200,NULL,8,NULL,0,0x00004082,7,2,769,NULL,75,1,203,'bonus bVit,3; bonus bMaxHPrate,3;',NULL,NULL);
-REPLACE INTO `item_db` VALUES (5132,'Angeling_Hat','Angeling Hat',4,20,NULL,700,NULL,2,NULL,0,0xFFFFFFFF,7,2,256,NULL,0,0,204,'bonus2 bSubRace,RC_DemiHuman,10; bonus2 bSubRace,RC_Player,10;',NULL,NULL);
+REPLACE INTO `item_db` VALUES (5132,'Angeling_Hat','Angeling Hat',4,20,NULL,700,NULL,2,NULL,0,0xFFFFFFFF,7,2,256,NULL,0,0,204,'bonus2 bSubRace,RC_DemiHuman,10; bonus2 bSubRace,RC_Player_Human,10;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (5133,'Sheep_Hat','Sheep Hat',4,20,NULL,150,NULL,1,NULL,0,0x00008110,7,2,256,NULL,0,0,205,'bonus bShortWeaponDamageReturn,5;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (5133,'Sheep_Hat','Sheep Hat',4,20,NULL,150,NULL,1,NULL,0,0x00008110,7,2,256,NULL,0,0,205,'bonus bShortWeaponDamageReturn,5;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (5134,'Pumpkin_Hat','Pumpkin-Head',4,20,NULL,200,NULL,2,NULL,0,0xFFFFFFFF,7,2,256,NULL,0,1,206,'bonus2 bSubRace,RC_Demon,5;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (5134,'Pumpkin_Hat','Pumpkin-Head',4,20,NULL,200,NULL,2,NULL,0,0xFFFFFFFF,7,2,256,NULL,0,1,206,'bonus2 bSubRace,RC_Demon,5;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (5135,'Cyclops_Visor','Cyclop\'s Eye',4,0,NULL,200,NULL,0,NULL,0,0xFFFFFFFE,7,2,512,NULL,75,0,207,'bonus bMaxSP,50;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (5135,'Cyclops_Visor','Cyclop\'s Eye',4,0,NULL,200,NULL,0,NULL,0,0xFFFFFFFE,7,2,512,NULL,75,0,207,'bonus bMaxSP,50;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (5136,'Santa\'s_Hat_','Antonio\'s Santa Hat',4,20,NULL,100,NULL,3,NULL,0,0xFFFFFFFF,7,2,256,NULL,0,1,20,NULL,NULL,NULL);
 REPLACE INTO `item_db` VALUES (5136,'Santa\'s_Hat_','Antonio\'s Santa Hat',4,20,NULL,100,NULL,3,NULL,0,0xFFFFFFFF,7,2,256,NULL,0,1,20,NULL,NULL,NULL);
-REPLACE INTO `item_db` VALUES (5137,'Alice_Doll','Alice Doll',4,20,NULL,500,NULL,0,NULL,1,0xFFFFFFFE,7,2,256,NULL,30,0,208,'bonus bStr,1; bonus2 bAddRace,RC_DemiHuman,10; bonus2 bAddRace,RC_Player,10; bonus2 bAddEff2,Eff_Sleep,10;',NULL,NULL);
+REPLACE INTO `item_db` VALUES (5137,'Alice_Doll','Alice Doll',4,20,NULL,500,NULL,0,NULL,1,0xFFFFFFFE,7,2,256,NULL,30,0,208,'bonus bStr,1; bonus2 bAddRace,RC_DemiHuman,10; bonus2 bAddRace,RC_Player_Human,10; bonus2 bAddEff2,Eff_Sleep,10;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (5138,'Magic_Eyes','Magic Eyes',4,20,NULL,300,NULL,1,NULL,0,0x00810204,7,2,256,NULL,30,1,209,'bonus bMdef,5; bonus bCastrate,-10; bonus bUseSPrate,20;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (5138,'Magic_Eyes','Magic Eyes',4,20,NULL,300,NULL,1,NULL,0,0x00810204,7,2,256,NULL,30,1,209,'bonus bMdef,5; bonus bCastrate,-10; bonus bUseSPrate,20;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (5139,'Hibiscus','Hibiscus',4,20,NULL,200,NULL,0,NULL,0,0xFFFFFFFF,7,2,256,NULL,10,0,210,'bonus bDex,1; bonus bInt,1; bonus bMdef,5;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (5139,'Hibiscus','Hibiscus',4,20,NULL,200,NULL,0,NULL,0,0xFFFFFFFF,7,2,256,NULL,10,0,210,'bonus bDex,1; bonus bInt,1; bonus bMdef,5;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (5140,'Charming_Ribbon','Charming Ribbon',4,20,NULL,400,NULL,1,NULL,1,0xFFFFFFFF,7,2,256,NULL,10,1,211,'bonus2 bSubRace,RC_Undead,5; bonus2 bSubRace,RC_Demon,5;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (5140,'Charming_Ribbon','Charming Ribbon',4,20,NULL,400,NULL,1,NULL,1,0xFFFFFFFF,7,2,256,NULL,10,1,211,'bonus2 bSubRace,RC_Undead,5; bonus2 bSubRace,RC_Demon,5;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (5141,'Marionette_Doll','Marionette Doll',4,20,NULL,400,NULL,0,NULL,1,0xFFFFFFFE,7,2,256,NULL,30,1,212,'bonus bStr,1;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (5141,'Marionette_Doll','Marionette Doll',4,20,NULL,400,NULL,0,NULL,1,0xFFFFFFFE,7,2,256,NULL,30,1,212,'bonus bStr,1;',NULL,NULL);
-REPLACE INTO `item_db` VALUES (5142,'Crescent_Helm','Crescent Helm',4,20,NULL,3000,NULL,8,NULL,0,0x000444A2,7,2,768,NULL,50,1,213,'bonus bVit,1; bonus2 bSubRace,RC_DemiHuman,5; bonus2 bSubRace,RC_Player,5;',NULL,NULL);
+REPLACE INTO `item_db` VALUES (5142,'Crescent_Helm','Crescent Helm',4,20,NULL,3000,NULL,8,NULL,0,0x000444A2,7,2,768,NULL,50,1,213,'bonus bVit,1; bonus2 bSubRace,RC_DemiHuman,5; bonus2 bSubRace,RC_Player_Human,5;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (5143,'Kabuki_Mask','Kabuki Mask',4,20,NULL,1000,NULL,5,NULL,1,0xFFFFFFFE,7,1,769,NULL,30,1,214,'bonus2 bResEff,Eff_Silence,3000;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (5143,'Kabuki_Mask','Kabuki Mask',4,20,NULL,1000,NULL,5,NULL,1,0xFFFFFFFE,7,1,769,NULL,30,1,214,'bonus2 bResEff,Eff_Silence,3000;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (5144,'Gambler_Hat','Gambler Hat',4,20,NULL,200,NULL,2,NULL,0,0xFFFFFFFF,7,2,256,NULL,0,1,16,'bonus bLuk,5;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (5144,'Gambler_Hat','Gambler Hat',4,20,NULL,200,NULL,2,NULL,0,0xFFFFFFFF,7,2,256,NULL,0,1,16,'bonus bLuk,5;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (5145,'Carnival_Joker_Jester','Carnival Joker Jester',4,10,NULL,100,NULL,0,NULL,0,0xFFFFFFFF,7,2,256,NULL,0,1,89,NULL,NULL,NULL);
 REPLACE INTO `item_db` VALUES (5145,'Carnival_Joker_Jester','Carnival Joker Jester',4,10,NULL,100,NULL,0,NULL,0,0xFFFFFFFF,7,2,256,NULL,0,1,89,NULL,NULL,NULL);
@@ -2382,9 +2382,9 @@ REPLACE INTO `item_db` VALUES (5166,'Spinx_Helm_','Sphinx Hat',4,20,NULL,3000,NU
 REPLACE INTO `item_db` VALUES (5167,'Munak_Turban_','Munak Hat',4,20,NULL,300,NULL,5,NULL,1,0xFFFFFFFF,7,2,769,NULL,0,0,51,'bonus2 bSubRace,RC_Undead,10;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (5167,'Munak_Turban_','Munak Hat',4,20,NULL,300,NULL,5,NULL,1,0xFFFFFFFF,7,2,769,NULL,0,0,51,'bonus2 bSubRace,RC_Undead,10;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (5168,'Bongun_Hat_','Bongun Hat',4,20,NULL,300,NULL,5,NULL,1,0xFFFFFFFF,7,2,769,NULL,0,0,139,NULL,NULL,NULL);
 REPLACE INTO `item_db` VALUES (5168,'Bongun_Hat_','Bongun Hat',4,20,NULL,300,NULL,5,NULL,1,0xFFFFFFFF,7,2,769,NULL,0,0,139,NULL,NULL,NULL);
 REPLACE INTO `item_db` VALUES (5169,'Bride_Mask','Bride Mask',4,30000,NULL,500,NULL,4,NULL,1,0xFFFFFFFF,7,2,768,NULL,40,1,223,'if(BaseClass==Job_Taekwon){ bonus bLuk,2; bonus bCritical,5; }',NULL,NULL);
 REPLACE INTO `item_db` VALUES (5169,'Bride_Mask','Bride Mask',4,30000,NULL,500,NULL,4,NULL,1,0xFFFFFFFF,7,2,768,NULL,40,1,223,'if(BaseClass==Job_Taekwon){ bonus bLuk,2; bonus bCritical,5; }',NULL,NULL);
-REPLACE INTO `item_db` VALUES (5170,'Feather_Beret','Feather Beret',4,30000,NULL,600,NULL,1,NULL,0,0xFFFFFFFE,7,2,256,NULL,0,1,224,'bonus bMdef,1; bonus2 bSubRace,RC_DemiHuman,10; bonus2 bSubRace,RC_Player,10;',NULL,NULL);
+REPLACE INTO `item_db` VALUES (5170,'Feather_Beret','Feather Beret',4,30000,NULL,600,NULL,1,NULL,0,0xFFFFFFFE,7,2,256,NULL,0,1,224,'bonus bMdef,1; bonus2 bSubRace,RC_DemiHuman,10; bonus2 bSubRace,RC_Player_Human,10;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (5171,'Valkyrie_Helm','Valkyrie Helm',4,100000,NULL,1000,NULL,5,NULL,1,0xFFFFFFFE,2,2,256,NULL,0,1,225,'bonus bMdef,5;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (5171,'Valkyrie_Helm','Valkyrie Helm',4,100000,NULL,1000,NULL,5,NULL,1,0xFFFFFFFE,2,2,256,NULL,0,1,225,'bonus bMdef,5;',NULL,NULL);
-REPLACE INTO `item_db` VALUES (5172,'Beret','Beret',4,30000,NULL,700,NULL,0,NULL,0,0xFFFFFFFF,7,2,256,NULL,0,0,226,'bonus2 bSubRace,RC_DemiHuman,10; bonus2 bSubRace,RC_Player,10;',NULL,NULL);
+REPLACE INTO `item_db` VALUES (5172,'Beret','Beret',4,30000,NULL,700,NULL,0,NULL,0,0xFFFFFFFF,7,2,256,NULL,0,0,226,'bonus2 bSubRace,RC_DemiHuman,10; bonus2 bSubRace,RC_Player_Human,10;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (5173,'Satto_Hat','Magistrate Hat',4,30000,NULL,400,NULL,3,NULL,1,0xFFFFFFFF,7,2,256,NULL,60,1,227,'if(BaseClass==Job_Taekwon){ bonus bAgi,1; bonus bHPrecovRate,3; }',NULL,NULL);
 REPLACE INTO `item_db` VALUES (5173,'Satto_Hat','Magistrate Hat',4,30000,NULL,400,NULL,3,NULL,1,0xFFFFFFFF,7,2,256,NULL,60,1,227,'if(BaseClass==Job_Taekwon){ bonus bAgi,1; bonus bHPrecovRate,3; }',NULL,NULL);
 REPLACE INTO `item_db` VALUES (5174,'Ayam','Ayam',4,30000,NULL,400,NULL,3,NULL,1,0xFFFFFFFF,7,2,256,NULL,60,1,228,'if(BaseClass==Job_Taekwon){ bonus bInt,1; bonus bSPrecovRate,3; }',NULL,NULL);
 REPLACE INTO `item_db` VALUES (5174,'Ayam','Ayam',4,30000,NULL,400,NULL,3,NULL,1,0xFFFFFFFF,7,2,256,NULL,60,1,228,'if(BaseClass==Job_Taekwon){ bonus bInt,1; bonus bSPrecovRate,3; }',NULL,NULL);
 REPLACE INTO `item_db` VALUES (5175,'Censor_Bar','Censor Bar',4,30000,NULL,100,NULL,0,NULL,0,0xFFFFFFFF,7,2,512,NULL,0,0,229,'bonus2 bResEff,Eff_Curse,500; bonus bMdef,1; bonus bHit,-5;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (5175,'Censor_Bar','Censor Bar',4,30000,NULL,100,NULL,0,NULL,0,0xFFFFFFFF,7,2,512,NULL,0,0,229,'bonus2 bResEff,Eff_Curse,500; bonus bMdef,1; bonus bHit,-5;',NULL,NULL);
@@ -2432,7 +2432,7 @@ REPLACE INTO `item_db` VALUES (5216,'Satanic_Chain_','Evolved Evil Wing',4,20,NU
 REPLACE INTO `item_db` VALUES (5217,'Magestic_Goat_TW','Evolved Majestic Goat',4,20,NULL,800,NULL,5,NULL,0,0x006444A2,7,2,256,NULL,0,1,41,'bonus bStr,2;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (5217,'Magestic_Goat_TW','Evolved Majestic Goat',4,20,NULL,800,NULL,5,NULL,0,0x006444A2,7,2,256,NULL,0,1,41,'bonus bStr,2;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (5218,'Bunny_Band_','Evolved Bunny Band',4,20,NULL,100,NULL,2,NULL,0,0xFFFFFFFF,7,2,256,NULL,0,1,15,'bonus bInt,2;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (5218,'Bunny_Band_','Evolved Bunny Band',4,20,NULL,100,NULL,2,NULL,0,0xFFFFFFFF,7,2,256,NULL,0,1,15,'bonus bInt,2;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (5219,'Drooping_Kitty_','Evolved Drooping Cat',4,250000,NULL,500,NULL,1,NULL,0,0xFFFFFFFE,7,2,256,NULL,0,1,142,'bonus bMdef,18; bonus bFlee,3;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (5219,'Drooping_Kitty_','Evolved Drooping Cat',4,250000,NULL,500,NULL,1,NULL,0,0xFFFFFFFE,7,2,256,NULL,0,1,142,'bonus bMdef,18; bonus bFlee,3;',NULL,NULL);
-REPLACE INTO `item_db` VALUES (5220,'Smoking_Pipe_','Evolved Pipe',4,20,NULL,100,NULL,0,NULL,0,0xFFFFFFFE,7,2,1,NULL,0,0,55,'bonus bVit,1; bonus2 bSubRace,RC_Brute,5;',NULL,NULL);
+REPLACE INTO `item_db` VALUES (5220,'Smoking_Pipe_','Evolved Pipe',4,20,NULL,100,NULL,0,NULL,0,0xFFFFFFFE,7,2,1,NULL,0,0,55,'bonus bVit,1; bonus2 bSubRace,RC_Brute,5; bonus2 bSubRace,RC_Player_Doram,5;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (5221,'Pair_Of_Red_Ribbon_','Evolved Pair of Red Ribbon',4,20,NULL,100,NULL,1,NULL,0,0xFFFFFFFF,7,0,512,NULL,45,0,169,'bonus bFlee,5;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (5221,'Pair_Of_Red_Ribbon_','Evolved Pair of Red Ribbon',4,20,NULL,100,NULL,1,NULL,0,0xFFFFFFFF,7,0,512,NULL,45,0,169,'bonus bFlee,5;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (5222,'Fish_On_Head_','Evolved Blue Fish',4,20,NULL,500,NULL,2,NULL,0,0xFFFFFFFF,7,2,256,NULL,50,1,149,'bonus bAgi,1; bonus bDex,1;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (5222,'Fish_On_Head_','Evolved Blue Fish',4,20,NULL,500,NULL,2,NULL,0,0xFFFFFFFF,7,2,256,NULL,50,1,149,'bonus bAgi,1; bonus bDex,1;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (5223,'Big_Golden_Bell_','Evolved Big Golden Bell',4,20,NULL,200,NULL,2,NULL,0,0xFFFFFFFE,7,2,768,NULL,35,1,175,'bonus bAgi,2;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (5223,'Big_Golden_Bell_','Evolved Big Golden Bell',4,20,NULL,200,NULL,2,NULL,0,0xFFFFFFFE,7,2,768,NULL,35,1,175,'bonus bAgi,2;',NULL,NULL);
@@ -2478,7 +2478,7 @@ REPLACE INTO `item_db` VALUES (5262,'Gold_Tiara_','Golden Tiara',4,20,NULL,500,N
 REPLACE INTO `item_db` VALUES (5263,'Ati_Atihan_Hat','Pagdayaw',4,20,NULL,100,NULL,1,NULL,0,0xFFFFFFFE,7,2,769,NULL,20,1,303,'bonus2 bSubEle,Ele_Water,1; bonus2 bSubEle,Ele_Earth,1; bonus2 bSubEle,Ele_Fire,1; bonus2 bSubEle,Ele_Wind,1; bonus2 bAddEff,Eff_Curse,300;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (5263,'Ati_Atihan_Hat','Pagdayaw',4,20,NULL,100,NULL,1,NULL,0,0xFFFFFFFE,7,2,769,NULL,20,1,303,'bonus2 bSubEle,Ele_Water,1; bonus2 bSubEle,Ele_Earth,1; bonus2 bSubEle,Ele_Fire,1; bonus2 bSubEle,Ele_Wind,1; bonus2 bAddEff,Eff_Curse,300;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (5264,'Aussie_Flag_Hat','Australian Flag Hat',4,20,NULL,500,NULL,4,NULL,0,0xFFFFFFFF,7,2,256,NULL,0,1,304,'bonus bAllStats,2;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (5264,'Aussie_Flag_Hat','Australian Flag Hat',4,20,NULL,500,NULL,4,NULL,0,0xFFFFFFFF,7,2,256,NULL,0,1,304,'bonus bAllStats,2;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (5265,'Apple_Of_Archer_C','Apple of Archer',4,1,NULL,0,NULL,7,NULL,0,0xFFFFFFFE,7,2,256,NULL,1,0,72,'bonus bDex,4;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (5265,'Apple_Of_Archer_C','Apple of Archer',4,1,NULL,0,NULL,7,NULL,0,0xFFFFFFFE,7,2,256,NULL,1,0,72,'bonus bDex,4;',NULL,NULL);
-REPLACE INTO `item_db` VALUES (5266,'Bunny_Band_C','Bunny Band',4,1,NULL,0,NULL,9,NULL,0,0xFFFFFFFF,7,2,256,NULL,1,0,15,'bonus bMdef,5; bonus2 bSubRace,RC_DemiHuman,10; bonus2 bSubRace,RC_Player,10;',NULL,NULL);
+REPLACE INTO `item_db` VALUES (5266,'Bunny_Band_C','Bunny Band',4,1,NULL,0,NULL,9,NULL,0,0xFFFFFFFF,7,2,256,NULL,1,0,15,'bonus bMdef,5; bonus2 bSubRace,RC_DemiHuman,10; bonus2 bSubRace,RC_Player_Human,10;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (5267,'Sahkkat_C','Sakkat',4,1,NULL,0,NULL,10,NULL,0,0xFFFFFFFF,7,2,256,NULL,0,0,67,'bonus bAgi,3;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (5267,'Sahkkat_C','Sakkat',4,1,NULL,0,NULL,10,NULL,0,0xFFFFFFFF,7,2,256,NULL,0,0,67,'bonus bAgi,3;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (5268,'Lord_Circlet_C','Grand Circlet',4,1,NULL,0,NULL,10,NULL,0,0xFFFFFFFE,7,2,256,NULL,1,0,93,'bonus bStr,3; bonus bInt,3; bonus bLuk,3; bonus bMdef,4;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (5268,'Lord_Circlet_C','Grand Circlet',4,1,NULL,0,NULL,10,NULL,0,0xFFFFFFFE,7,2,256,NULL,1,0,93,'bonus bStr,3; bonus bInt,3; bonus bLuk,3; bonus bMdef,4;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (5269,'Flying_Angel_','Flapping Angel Wing',4,20,NULL,300,NULL,1,NULL,0,0xFFFFFFFF,7,2,256,NULL,10,1,264,'bonus bInt,1; bonus bAgi,1; bonus bAspdRate,3; bonus bSpeedRate,25;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (5269,'Flying_Angel_','Flapping Angel Wing',4,20,NULL,300,NULL,1,NULL,0,0xFFFFFFFF,7,2,256,NULL,10,1,264,'bonus bInt,1; bonus bAgi,1; bonus bAspdRate,3; bonus bSpeedRate,25;',NULL,NULL);
@@ -2495,7 +2495,7 @@ REPLACE INTO `item_db` VALUES (5279,'Drooping_Kitty_C','Refined Drooping Cat',4,
 REPLACE INTO `item_db` VALUES (5280,'Magestic_Goat_C','Baphomet Horns',4,2,NULL,0,NULL,5,NULL,0,0xFFFFFFFF,7,2,256,NULL,0,0,41,'bonus bStr,1;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (5280,'Magestic_Goat_C','Baphomet Horns',4,2,NULL,0,NULL,5,NULL,0,0xFFFFFFFF,7,2,256,NULL,0,0,41,'bonus bStr,1;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (5281,'Deviruchi_Cap_C','Refined Deviruchi Hat',4,2,NULL,0,NULL,2,NULL,0,0xFFFFFFFE,7,2,256,NULL,0,0,123,'bonus bStr,1; bonus bInt,1;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (5281,'Deviruchi_Cap_C','Refined Deviruchi Hat',4,2,NULL,0,NULL,2,NULL,0,0xFFFFFFFE,7,2,256,NULL,0,0,123,'bonus bStr,1; bonus bInt,1;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (5282,'euRO_Baseball_Cap','Europe Baseball Cap',4,0,NULL,200,NULL,3,NULL,1,0xFFFFFFFF,7,2,256,NULL,0,1,216,NULL,NULL,NULL);
 REPLACE INTO `item_db` VALUES (5282,'euRO_Baseball_Cap','Europe Baseball Cap',4,0,NULL,200,NULL,3,NULL,1,0xFFFFFFFF,7,2,256,NULL,0,1,216,NULL,NULL,NULL);
-REPLACE INTO `item_db` VALUES (5283,'Chick_Hat','Chick Hat',4,20,NULL,100,NULL,1,NULL,0,0xFFFFFFFF,7,2,256,NULL,10,0,311,'bonus bLuk,2; bonus bMaxHP,50; bonus bMaxSP,50; skill "TF_DOUBLE",2; bonus bDoubleRate,10; bonus2 bSubRace,RC_DemiHuman,3; bonus2 bSubRace,RC_Player,3;',NULL,NULL);
+REPLACE INTO `item_db` VALUES (5283,'Chick_Hat','Chick Hat',4,20,NULL,100,NULL,1,NULL,0,0xFFFFFFFF,7,2,256,NULL,10,0,311,'bonus bLuk,2; bonus bMaxHP,50; bonus bMaxSP,50; skill "TF_DOUBLE",2; bonus bDoubleRate,10; bonus2 bSubRace,RC_DemiHuman,3; bonus2 bSubRace,RC_Player_Human,3;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (5284,'Water_Lily_Crown','Water Lily Crown',4,20,NULL,200,NULL,0,NULL,1,0xFFFFFFFF,7,2,256,NULL,30,0,312,'bonus bDex,1; bonus bAgi,1; bonus bHPrecovRate,5; bonus bSPrecovRate,3;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (5284,'Water_Lily_Crown','Water Lily Crown',4,20,NULL,200,NULL,0,NULL,1,0xFFFFFFFF,7,2,256,NULL,30,0,312,'bonus bDex,1; bonus bAgi,1; bonus bHPrecovRate,5; bonus bSPrecovRate,3;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (5285,'Vane_Hairpin','Vane Hairpin',4,20,NULL,300,NULL,3,NULL,1,0xFFFFFFFF,7,2,256,NULL,30,0,313,'bonus bAgi,2;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (5285,'Vane_Hairpin','Vane Hairpin',4,20,NULL,300,NULL,3,NULL,1,0xFFFFFFFF,7,2,256,NULL,30,0,313,'bonus bAgi,2;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (5286,'Pecopeco_Hairband','Pecopeco Hairband',4,20,NULL,0,NULL,3,NULL,0,0xFFFFFFFF,7,2,256,NULL,70,0,314,'bonus bSpeedRate,25; bonus bAspdRate,-10; bonus bCastrate,25;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (5286,'Pecopeco_Hairband','Pecopeco Hairband',4,20,NULL,0,NULL,3,NULL,0,0xFFFFFFFF,7,2,256,NULL,70,0,314,'bonus bSpeedRate,25; bonus bAspdRate,-10; bonus bCastrate,25;',NULL,NULL);
@@ -2518,15 +2518,15 @@ REPLACE INTO `item_db` VALUES (5302,'Lotus_Flower_Hat','Flower Lily',4,0,NULL,10
 REPLACE INTO `item_db` VALUES (5303,'Flower_Coronet','Flower Crown',4,20,NULL,300,NULL,1,NULL,0,0xFFFFFFFF,7,2,256,NULL,0,1,325,'bonus bMdef,3; bonus bMaxHP,50;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (5303,'Flower_Coronet','Flower Crown',4,20,NULL,300,NULL,1,NULL,0,0xFFFFFFFF,7,2,256,NULL,0,1,325,'bonus bMdef,3; bonus bMaxHP,50;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (5304,'Cap_Of_Blindness','Cap Of Blindness',4,20,NULL,800,NULL,4,NULL,1,0xFFFFFFFF,7,2,769,NULL,50,1,326,'bonus2 bResEff,Eff_Curse,700; bonus2 bResEff,Eff_Blind,10000;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (5304,'Cap_Of_Blindness','Cap Of Blindness',4,20,NULL,800,NULL,4,NULL,1,0xFFFFFFFF,7,2,769,NULL,50,1,326,'bonus2 bResEff,Eff_Curse,700; bonus2 bResEff,Eff_Blind,10000;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (5305,'Pirate_Dagger','Pirate Dagger',4,20,NULL,100,NULL,0,NULL,0,0xFFFFFFFF,7,2,1,NULL,0,0,327,'bonus bBaseAtk,5;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (5305,'Pirate_Dagger','Pirate Dagger',4,20,NULL,100,NULL,0,NULL,0,0xFFFFFFFF,7,2,1,NULL,0,0,327,'bonus bBaseAtk,5;',NULL,NULL);
-REPLACE INTO `item_db` VALUES (5306,'Freyja_Crown','Freya\'s Crown',4,0,NULL,500,NULL,12,NULL,0,0xFFFFFFFE,7,2,256,NULL,0,0,328,'bonus2 bSubRace,RC_DemiHuman,5; bonus2 bSubRace,RC_Player,5;',NULL,NULL);
+REPLACE INTO `item_db` VALUES (5306,'Freyja_Crown','Freya\'s Crown',4,0,NULL,500,NULL,12,NULL,0,0xFFFFFFFE,7,2,256,NULL,0,0,328,'bonus2 bSubRace,RC_DemiHuman,5; bonus2 bSubRace,RC_Player_Human,5;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (5307,'Carmen_Miranda\'s_Hat','Carmen Miranda\'s Hat',4,20,NULL,400,NULL,3,NULL,0,0xFFFFFFFF,7,2,256,NULL,0,1,329,'bonus bMdef,3; bonus3 bAutoSpellWhenHit,"DC_WINKCHARM",1,50;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (5307,'Carmen_Miranda\'s_Hat','Carmen Miranda\'s Hat',4,20,NULL,400,NULL,3,NULL,0,0xFFFFFFFF,7,2,256,NULL,0,1,329,'bonus bMdef,3; bonus3 bAutoSpellWhenHit,"DC_WINKCHARM",1,50;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (5308,'Brazilian_Flag_Hat','Brazil National Flag Hat',4,20,NULL,300,NULL,3,NULL,1,0xFFFFFFFF,7,2,256,NULL,0,1,330,'bonus bSpeedAddRate,25;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (5308,'Brazilian_Flag_Hat','Brazil National Flag Hat',4,20,NULL,300,NULL,3,NULL,1,0xFFFFFFFF,7,2,256,NULL,0,1,330,'bonus bSpeedAddRate,25;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (5309,'Mahican','Wool Mask',4,20,NULL,200,NULL,1,NULL,0,0xFFFFFFFF,7,2,769,NULL,0,1,331,'skill "RG_GRAFFITI",1;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (5309,'Mahican','Wool Mask',4,20,NULL,200,NULL,1,NULL,0,0xFFFFFFFF,7,2,769,NULL,0,1,331,'skill "RG_GRAFFITI",1;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (5310,'Bulb_Hairband','Shining Electric Bulb Hairband',4,20,NULL,100,NULL,3,NULL,1,0xFFFFFFFF,7,2,256,NULL,0,1,332,'bonus2 bSubEle,Ele_Dark,10; skill "MG_SIGHT",1;',NULL,'sc_end SC_SIGHT;');
 REPLACE INTO `item_db` VALUES (5310,'Bulb_Hairband','Shining Electric Bulb Hairband',4,20,NULL,100,NULL,3,NULL,1,0xFFFFFFFF,7,2,256,NULL,0,1,332,'bonus2 bSubEle,Ele_Dark,10; skill "MG_SIGHT",1;',NULL,'sc_end SC_SIGHT;');
 REPLACE INTO `item_db` VALUES (5311,'Large_Hibiscus','Large Hisbiscus',4,20,NULL,100,NULL,1,NULL,1,0xFFFFFFFF,7,2,256,NULL,0,1,333,'bonus bMdef,15;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (5311,'Large_Hibiscus','Large Hisbiscus',4,20,NULL,100,NULL,1,NULL,1,0xFFFFFFFF,7,2,256,NULL,0,1,333,'bonus bMdef,15;',NULL,NULL);
-REPLACE INTO `item_db` VALUES (5312,'Ayothaya_Hat','Ayothaya King\'s Hat',4,20,NULL,100,NULL,5,NULL,1,0x000654E2,7,2,256,NULL,0,1,334,'bonus bStr,1; bonus2 bAddRace,RC_DemiHuman,5; bonus2 bAddRace,RC_Player,5;',NULL,NULL);
+REPLACE INTO `item_db` VALUES (5312,'Ayothaya_Hat','Ayothaya King\'s Hat',4,20,NULL,100,NULL,5,NULL,1,0x000654E2,7,2,256,NULL,0,1,334,'bonus bStr,1; bonus2 bAddRace,RC_DemiHuman,5; bonus2 bAddRace,RC_Player_Human,5;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (5313,'Diadem','Diadem',4,20,NULL,100,NULL,3,NULL,1,0xFFFFFFFF,7,2,768,NULL,0,1,335,'bonus bInt,1; bonus bMatkRate,3; bonus bCastrate,-3;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (5313,'Diadem','Diadem',4,20,NULL,100,NULL,3,NULL,1,0xFFFFFFFF,7,2,768,NULL,0,1,335,'bonus bInt,1; bonus bMatkRate,3; bonus bCastrate,-3;',NULL,NULL);
-REPLACE INTO `item_db` VALUES (5314,'Hockey_Mask','Hockey Mask',4,20,NULL,100,NULL,1,NULL,0,0xFFFFFFFF,7,2,513,NULL,50,0,336,'bonus2 bAddRace,RC_DemiHuman,5; bonus2 bAddRace,RC_Player,5;',NULL,NULL);
+REPLACE INTO `item_db` VALUES (5314,'Hockey_Mask','Hockey Mask',4,20,NULL,100,NULL,1,NULL,0,0xFFFFFFFF,7,2,513,NULL,50,0,336,'bonus2 bAddRace,RC_DemiHuman,5; bonus2 bAddRace,RC_Player_Human,5;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (5315,'Observer','Observer',4,20,NULL,100,NULL,1,NULL,0,0xFFFFFFFF,7,2,512,NULL,35,0,337,'skill "WZ_ESTIMATION",1;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (5315,'Observer','Observer',4,20,NULL,100,NULL,1,NULL,0,0xFFFFFFFF,7,2,512,NULL,35,0,337,'skill "WZ_ESTIMATION",1;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (5316,'Umbrella_Hat','Umbrella Hat',4,20,NULL,100,NULL,2,NULL,0,0xFFFFFFFF,7,2,256,NULL,50,1,338,'bonus2 bSubEle,Ele_Water,3;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (5316,'Umbrella_Hat','Umbrella Hat',4,20,NULL,100,NULL,2,NULL,0,0xFFFFFFFF,7,2,256,NULL,50,1,338,'bonus2 bSubEle,Ele_Water,3;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (5317,'Fisherman_Hat','Fisherman\'s Hat',4,20,NULL,100,NULL,2,NULL,0,0xFFFFFFFF,7,2,256,NULL,50,1,339,'bonus3 bAutoSpell,"WZ_WATERBALL",3,50;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (5317,'Fisherman_Hat','Fisherman\'s Hat',4,20,NULL,100,NULL,2,NULL,0,0xFFFFFFFF,7,2,256,NULL,50,1,339,'bonus3 bAutoSpell,"WZ_WATERBALL",3,50;',NULL,NULL);
@@ -2538,7 +2538,7 @@ REPLACE INTO `item_db` VALUES (5322,'Scarf','Kerchief',4,20,NULL,100,NULL,2,NULL
 REPLACE INTO `item_db` VALUES (5323,'Misstrance_Crown','Misstrance Crown',4,20,NULL,0,NULL,10,NULL,0,0xFFFFFFFF,7,2,256,NULL,0,0,165,'bonus bAllStats,2;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (5323,'Misstrance_Crown','Misstrance Crown',4,20,NULL,0,NULL,10,NULL,0,0xFFFFFFFF,7,2,256,NULL,0,0,165,'bonus bAllStats,2;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (5324,'Little_Angel_Doll','Little Angel Doll',4,20,NULL,300,NULL,2,NULL,0,0xFFFFFFFF,7,2,256,NULL,10,1,344,'bonus bDex,3; bonus4 bAutoSpellWhenHit,"CR_GRANDCROSS",3,30,0;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (5324,'Little_Angel_Doll','Little Angel Doll',4,20,NULL,300,NULL,2,NULL,0,0xFFFFFFFF,7,2,256,NULL,10,1,344,'bonus bDex,3; bonus4 bAutoSpellWhenHit,"CR_GRANDCROSS",3,30,0;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (5325,'Robo_Eye','Robo Eye',4,20,NULL,200,NULL,2,NULL,0,0xFFFFFFFF,7,2,512,NULL,10,0,345,'bonus2 bAddClass,Class_All,2; bonus bMatkRate,2; bonus bDex,1;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (5325,'Robo_Eye','Robo Eye',4,20,NULL,200,NULL,2,NULL,0,0xFFFFFFFF,7,2,512,NULL,10,0,345,'bonus2 bAddClass,Class_All,2; bonus bMatkRate,2; bonus bDex,1;',NULL,NULL);
-REPLACE INTO `item_db` VALUES (5326,'Masquerade_C','Masquerade C',4,1,NULL,0,NULL,1,NULL,0,0xFFFFFFFF,7,2,512,NULL,0,0,78,'bonus2 bAddRace,RC_DemiHuman,7; bonus2 bAddRace,RC_Player,7;',NULL,NULL);
+REPLACE INTO `item_db` VALUES (5326,'Masquerade_C','Masquerade C',4,1,NULL,0,NULL,1,NULL,0,0xFFFFFFFF,7,2,512,NULL,0,0,78,'bonus2 bAddRace,RC_DemiHuman,7; bonus2 bAddRace,RC_Player_Human,7;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (5327,'Orc_Hero_Helm_C','Refined Helmet of Orc Hero',4,1,NULL,0,NULL,10,NULL,0,0xFFFFFFFE,7,2,768,NULL,0,0,178,'bonus bStr,5; bonus bVit,3;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (5327,'Orc_Hero_Helm_C','Refined Helmet of Orc Hero',4,1,NULL,0,NULL,10,NULL,0,0xFFFFFFFE,7,2,768,NULL,0,0,178,'bonus bStr,5; bonus bVit,3;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (5328,'Evil_Wing_Ears_C','Evil Wing Ears C',4,1,NULL,0,NULL,2,NULL,0,0xFFFFFFFF,7,2,512,NULL,0,0,152,'bonus bStr,1;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (5328,'Evil_Wing_Ears_C','Evil Wing Ears C',4,1,NULL,0,NULL,2,NULL,0,0xFFFFFFFF,7,2,512,NULL,0,0,152,'bonus bStr,1;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (5329,'Dark_Blindfold_C','Dark Blindfold C',4,1,NULL,0,NULL,1,NULL,0,0xFFFFFFFF,7,2,512,NULL,0,0,187,'bonus2 bResEff,Eff_Blind,10000; bonus2 bResEff,Eff_Stun,500;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (5329,'Dark_Blindfold_C','Dark Blindfold C',4,1,NULL,0,NULL,1,NULL,0,0xFFFFFFFF,7,2,512,NULL,0,0,187,'bonus2 bResEff,Eff_Blind,10000; bonus2 bResEff,Eff_Stun,500;',NULL,NULL);
@@ -2552,12 +2552,12 @@ REPLACE INTO `item_db` VALUES (5336,'Guildsman_Recruiter','Guildsman Recruiter H
 REPLACE INTO `item_db` VALUES (5337,'Party_Recruiter_Hat','Party Recruiter Hat',4,0,NULL,0,NULL,2,NULL,0,0xFFFFFFFF,7,2,256,NULL,10,1,351,NULL,NULL,NULL);
 REPLACE INTO `item_db` VALUES (5337,'Party_Recruiter_Hat','Party Recruiter Hat',4,0,NULL,0,NULL,2,NULL,0,0xFFFFFFFF,7,2,256,NULL,10,1,351,NULL,NULL,NULL);
 REPLACE INTO `item_db` VALUES (5338,'Bf_Recruiter_Hat','Bf Recruiter Hat',4,0,NULL,0,NULL,2,NULL,0,0xFFFFFFFF,7,2,256,NULL,10,1,352,NULL,NULL,NULL);
 REPLACE INTO `item_db` VALUES (5338,'Bf_Recruiter_Hat','Bf Recruiter Hat',4,0,NULL,0,NULL,2,NULL,0,0xFFFFFFFF,7,2,256,NULL,10,1,352,NULL,NULL,NULL);
 REPLACE INTO `item_db` VALUES (5339,'Friend_Recruiter_Hat','Friend Recruiter Hat',4,0,NULL,0,NULL,2,NULL,0,0xFFFFFFFF,7,2,256,NULL,10,1,353,NULL,NULL,NULL);
 REPLACE INTO `item_db` VALUES (5339,'Friend_Recruiter_Hat','Friend Recruiter Hat',4,0,NULL,0,NULL,2,NULL,0,0xFFFFFFFF,7,2,256,NULL,10,1,353,NULL,NULL,NULL);
-REPLACE INTO `item_db` VALUES (5340,'Deprotai_Doll_Hat','Defolty Doll Hat',4,0,NULL,500,NULL,0,NULL,1,0xFFFFFFFF,7,2,256,NULL,60,0,354,'bonus2 bSubRace,RC_DemiHuman,5; bonus2 bSubRace,RC_Player,5; bonus bStr,2; bonus3 bAutoSpellWhenHit,"AL_ANGELUS",10,20;',NULL,NULL);
-REPLACE INTO `item_db` VALUES (5341,'Claris_Doll_Hat','Glaris Doll Hat',4,0,NULL,500,NULL,0,NULL,1,0xFFFFFFFF,7,2,256,NULL,60,0,355,'bonus2 bSubRace,RC_DemiHuman,5; bonus2 bSubRace,RC_Player,5; bonus bInt,2; bonus bMagicHPGainValue,50;',NULL,NULL);
-REPLACE INTO `item_db` VALUES (5342,'Sorin_Doll_Hat','Sorin Doll Hat',4,0,NULL,500,NULL,0,NULL,1,0xFFFFFFFF,7,2,256,NULL,60,0,356,'bonus2 bSubRace,RC_DemiHuman,5; bonus2 bSubRace,RC_Player,5; bonus bDex,2; autobonus "{ bonus bBaseAtk,50; }",20,10000,0,"{ specialeffect2 EF_POTION_BERSERK; }";',NULL,NULL);
-REPLACE INTO `item_db` VALUES (5343,'Tayelin_Doll_Hat','Telling Doll Hat',4,0,NULL,500,NULL,0,NULL,1,0xFFFFFFFF,7,2,256,NULL,60,0,357,'bonus2 bSubRace,RC_DemiHuman,5; bonus2 bSubRace,RC_Player,5; bonus bAgi,2; bonus2 bAddItemHealRate,504,10; bonus2 bAddItemHealRate,547,10;',NULL,NULL);
-REPLACE INTO `item_db` VALUES (5344,'Binit_Doll_Hat','Bennit Doll Hat',4,0,NULL,500,NULL,0,NULL,1,0xFFFFFFFF,7,2,256,NULL,60,0,358,'bonus2 bSubRace,RC_DemiHuman,5; bonus2 bSubRace,RC_Player,5; bonus bVit,2; autobonus "{ bonus bAspdRate,5; }",20,30000,0,"{ specialeffect2 EF_HASTEUP; }";',NULL,NULL);
-REPLACE INTO `item_db` VALUES (5345,'Debril_Doll_Hat','W Doll Hat',4,0,NULL,500,NULL,0,NULL,1,0xFFFFFFFF,7,2,256,NULL,60,0,359,'bonus2 bSubRace,RC_DemiHuman,5; bonus2 bSubRace,RC_Player,5; bonus bLuk,2; bonus2 bAddRace,RC_Undead,5; bonus2 bMagicAddRace,RC_Undead,5; bonus2 bSubRace,RC_Undead,5;',NULL,NULL);
+REPLACE INTO `item_db` VALUES (5340,'Deprotai_Doll_Hat','Defolty Doll Hat',4,0,NULL,500,NULL,0,NULL,1,0xFFFFFFFF,7,2,256,NULL,60,0,354,'bonus2 bSubRace,RC_DemiHuman,5; bonus2 bSubRace,RC_Player_Human,5; bonus bStr,2; bonus3 bAutoSpellWhenHit,"AL_ANGELUS",10,20;',NULL,NULL);
+REPLACE INTO `item_db` VALUES (5341,'Claris_Doll_Hat','Glaris Doll Hat',4,0,NULL,500,NULL,0,NULL,1,0xFFFFFFFF,7,2,256,NULL,60,0,355,'bonus2 bSubRace,RC_DemiHuman,5; bonus2 bSubRace,RC_Player_Human,5; bonus bInt,2; bonus bMagicHPGainValue,50;',NULL,NULL);
+REPLACE INTO `item_db` VALUES (5342,'Sorin_Doll_Hat','Sorin Doll Hat',4,0,NULL,500,NULL,0,NULL,1,0xFFFFFFFF,7,2,256,NULL,60,0,356,'bonus2 bSubRace,RC_DemiHuman,5; bonus2 bSubRace,RC_Player_Human,5; bonus bDex,2; autobonus "{ bonus bBaseAtk,50; }",20,10000,0,"{ specialeffect2 EF_POTION_BERSERK; }";',NULL,NULL);
+REPLACE INTO `item_db` VALUES (5343,'Tayelin_Doll_Hat','Telling Doll Hat',4,0,NULL,500,NULL,0,NULL,1,0xFFFFFFFF,7,2,256,NULL,60,0,357,'bonus2 bSubRace,RC_DemiHuman,5; bonus2 bSubRace,RC_Player_Human,5; bonus bAgi,2; bonus2 bAddItemHealRate,504,10; bonus2 bAddItemHealRate,547,10;',NULL,NULL);
+REPLACE INTO `item_db` VALUES (5344,'Binit_Doll_Hat','Bennit Doll Hat',4,0,NULL,500,NULL,0,NULL,1,0xFFFFFFFF,7,2,256,NULL,60,0,358,'bonus2 bSubRace,RC_DemiHuman,5; bonus2 bSubRace,RC_Player_Human,5; bonus bVit,2; autobonus "{ bonus bAspdRate,5; }",20,30000,0,"{ specialeffect2 EF_HASTEUP; }";',NULL,NULL);
+REPLACE INTO `item_db` VALUES (5345,'Debril_Doll_Hat','W Doll Hat',4,0,NULL,500,NULL,0,NULL,1,0xFFFFFFFF,7,2,256,NULL,60,0,359,'bonus2 bSubRace,RC_DemiHuman,5; bonus2 bSubRace,RC_Player_Human,5; bonus bLuk,2; bonus2 bAddRace,RC_Undead,5; bonus2 bMagicAddRace,RC_Undead,5; bonus2 bSubRace,RC_Undead,5;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (5346,'Gf_Recruiter_Hat','Gf Recruiter Hat',4,0,NULL,0,NULL,2,NULL,0,0xFFFFFFFF,7,2,256,NULL,10,1,360,NULL,NULL,NULL);
 REPLACE INTO `item_db` VALUES (5346,'Gf_Recruiter_Hat','Gf Recruiter Hat',4,0,NULL,0,NULL,2,NULL,0,0xFFFFFFFF,7,2,256,NULL,10,1,360,NULL,NULL,NULL);
 REPLACE INTO `item_db` VALUES (5347,'Ph.D_Hat_','Ph.D Hat',4,20,NULL,200,NULL,3,NULL,1,0xFFFFFFFE,7,2,256,NULL,0,1,98,NULL,NULL,NULL);
 REPLACE INTO `item_db` VALUES (5347,'Ph.D_Hat_','Ph.D Hat',4,20,NULL,200,NULL,3,NULL,1,0xFFFFFFFE,7,2,256,NULL,0,1,98,NULL,NULL,NULL);
 REPLACE INTO `item_db` VALUES (5348,'Big_Sis\'_Ribbon_','Big Ribbon',4,15000,NULL,200,NULL,2,NULL,1,0xFFFFFFFE,7,2,256,NULL,0,1,28,'bonus bMdef,3;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (5348,'Big_Sis\'_Ribbon_','Big Ribbon',4,15000,NULL,200,NULL,2,NULL,1,0xFFFFFFFE,7,2,256,NULL,0,1,28,'bonus bMdef,3;',NULL,NULL);
@@ -2575,7 +2575,7 @@ REPLACE INTO `item_db` VALUES (5359,'J_Captain_Hat','Ship Captain Hat',4,20,NULL
 REPLACE INTO `item_db` VALUES (5360,'Whikebain_Ears','Hyuke\'s Black Cat Ears',4,20,NULL,200,NULL,2,NULL,0,0xFFFFFFFF,7,2,256,NULL,45,1,368,'bonus bFlee,10; bonus bCritical,3; bonus bCritAtkRate,10; bonus bDefRate,-50; bonus bDef2Rate,-50;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (5360,'Whikebain_Ears','Hyuke\'s Black Cat Ears',4,20,NULL,200,NULL,2,NULL,0,0xFFFFFFFF,7,2,256,NULL,45,1,368,'bonus bFlee,10; bonus bCritical,3; bonus bCritAtkRate,10; bonus bDefRate,-50; bonus bDef2Rate,-50;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (5361,'Gang_Scarf','Gangster Scarf',4,20,NULL,100,NULL,0,NULL,0,0xFFFFFFFF,7,2,1,NULL,60,0,369,'bonus bBaseAtk,5; if(BaseJob==Job_Rogue) skill "RG_GANGSTER",1;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (5361,'Gang_Scarf','Gangster Scarf',4,20,NULL,100,NULL,0,NULL,0,0xFFFFFFFF,7,2,1,NULL,60,0,369,'bonus bBaseAtk,5; if(BaseJob==Job_Rogue) skill "RG_GANGSTER",1;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (5362,'Ninja_Scroll','Ninja Scroll',4,20,NULL,200,NULL,0,NULL,0,0xFFFFFFFF,7,2,1,NULL,60,0,370,'bonus bMatkRate,1;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (5362,'Ninja_Scroll','Ninja Scroll',4,20,NULL,200,NULL,0,NULL,0,0xFFFFFFFF,7,2,1,NULL,60,0,370,'bonus bMatkRate,1;',NULL,NULL);
-REPLACE INTO `item_db` VALUES (5363,'Helm_Of_Abyss','Helm Of Abyss',4,20,NULL,1000,NULL,2,NULL,1,0x000654E2,7,2,256,NULL,70,1,371,'bonus2 bSubRace,RC_DemiHuman,-10; bonus2 bSubRace,RC_Player,-10; bonus2 bSubClass,Class_Boss,10;',NULL,NULL);
+REPLACE INTO `item_db` VALUES (5363,'Helm_Of_Abyss','Helm Of Abyss',4,20,NULL,1000,NULL,2,NULL,1,0x000654E2,7,2,256,NULL,70,1,371,'bonus2 bSubRace,RC_DemiHuman,-10; bonus2 bSubRace,RC_Player_Human,-10; bonus2 bSubClass,Class_Boss,10;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (5364,'Dark_Snake_Lord_Hat','Evil Snake Lord Hat',4,20,NULL,500,NULL,2,NULL,1,0xFFFFFFFF,7,2,256,NULL,60,1,372,'bonus bStr,1; bonus bInt,1; bonus bAgi,2;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (5364,'Dark_Snake_Lord_Hat','Evil Snake Lord Hat',4,20,NULL,500,NULL,2,NULL,1,0xFFFFFFFF,7,2,256,NULL,60,1,372,'bonus bStr,1; bonus bInt,1; bonus bAgi,2;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (5365,'Fried_Egg','Magnolia Hat',4,20,NULL,100,NULL,3,NULL,1,0xFFFFFFFF,7,2,256,NULL,1,0,373,'bonus2 bResEff,Eff_Stun,500; skill "HT_FLASHER",1;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (5365,'Fried_Egg','Magnolia Hat',4,20,NULL,100,NULL,3,NULL,1,0xFFFFFFFF,7,2,256,NULL,1,0,373,'bonus2 bResEff,Eff_Stun,500; skill "HT_FLASHER",1;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (5366,'Hat_0f_King','Love Dad Bandana',4,20,NULL,200,NULL,3,NULL,0,0xFFFFFFFF,7,2,256,NULL,0,1,374,'bonus bAllStats,5;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (5366,'Hat_0f_King','Love Dad Bandana',4,20,NULL,200,NULL,3,NULL,0,0xFFFFFFFF,7,2,256,NULL,0,1,374,'bonus bAllStats,5;',NULL,NULL);
@@ -2586,16 +2586,16 @@ REPLACE INTO `item_db` VALUES (5370,'Orchid_Hairband','Orchid Hairband',4,20,NUL
 REPLACE INTO `item_db` VALUES (5371,'Hat_Of_Judge','Judge Hat',4,20,NULL,300,NULL,2,NULL,0,0xFFFFFFFF,7,2,768,NULL,0,1,377,'bonus bLuk,1; bonus bMaxSP,30;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (5371,'Hat_Of_Judge','Judge Hat',4,20,NULL,300,NULL,2,NULL,0,0xFFFFFFFF,7,2,768,NULL,0,1,377,'bonus bLuk,1; bonus bMaxSP,30;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (5372,'Drooping_White_Kitty','Koneko Hat',4,20,NULL,500,NULL,1,NULL,0,0xFFFFFFFF,7,2,256,NULL,0,1,378,'bonus bInt,1; bonus bDelayRate,-3; bonus bMatkRate,3; bonus bMaxSPrate,3; bonus bMdef,3;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (5372,'Drooping_White_Kitty','Koneko Hat',4,20,NULL,500,NULL,1,NULL,0,0xFFFFFFFF,7,2,256,NULL,0,1,378,'bonus bInt,1; bonus bDelayRate,-3; bonus bMatkRate,3; bonus bMaxSPrate,3; bonus bMdef,3;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (5373,'Darkness_Helm','Dark Randgris Helm',4,20,NULL,300,NULL,2,NULL,1,0xFFFFFFFF,7,2,768,NULL,0,1,379,'bonus bDex,3; bonus bMdef,1;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (5373,'Darkness_Helm','Dark Randgris Helm',4,20,NULL,300,NULL,2,NULL,1,0xFFFFFFFF,7,2,768,NULL,0,1,379,'bonus bDex,3; bonus bMdef,1;',NULL,NULL);
-REPLACE INTO `item_db` VALUES (5374,'L_Magestic_Goat','Gigantic Majestic Goat',4,20,NULL,800,NULL,5,NULL,0,0xFFFFFFFF,7,2,256,NULL,0,1,380,'bonus2 bAddRace,RC_DemiHuman,12; bonus2 bAddRace,RC_Player,12; bonus bBaseAtk,(JobLevel*2)/7;',NULL,NULL);
+REPLACE INTO `item_db` VALUES (5374,'L_Magestic_Goat','Gigantic Majestic Goat',4,20,NULL,800,NULL,5,NULL,0,0xFFFFFFFF,7,2,256,NULL,0,1,380,'bonus2 bAddRace,RC_DemiHuman,12; bonus2 bAddRace,RC_Player_Human,12; bonus bBaseAtk,(JobLevel*2)/7;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (5375,'L_Orc_Hero_Helm','Orc Hero Headdress',4,20,NULL,900,NULL,5,NULL,1,0xFFFFFFFF,7,2,768,NULL,0,1,381,'bonus bStr,2; bonus3 bAutoSpellWhenHit,"BS_WEAPONPERFECT",3,10;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (5375,'L_Orc_Hero_Helm','Orc Hero Headdress',4,20,NULL,900,NULL,5,NULL,1,0xFFFFFFFF,7,2,768,NULL,0,1,381,'bonus bStr,2; bonus3 bAutoSpellWhenHit,"BS_WEAPONPERFECT",3,10;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (5376,'Satanic_Chain_P','Flying Evil Wing',4,20,NULL,100,NULL,3,NULL,1,0xFFFFFFFF,7,2,256,NULL,0,1,382,'bonus bMaxSP,120; bonus2 bAddEff2,Eff_Curse,300;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (5376,'Satanic_Chain_P','Flying Evil Wing',4,20,NULL,100,NULL,3,NULL,1,0xFFFFFFFF,7,2,256,NULL,0,1,382,'bonus bMaxSP,120; bonus2 bAddEff2,Eff_Curse,300;',NULL,NULL);
-REPLACE INTO `item_db` VALUES (5377,'Antique_Pipe','Gentleman\'s Pipe',4,20,NULL,100,NULL,0,NULL,0,0xFFFFFFFF,7,2,1,NULL,0,0,383,'bonus2 bSubRace,RC_DemiHuman,2; bonus2 bSubRace,RC_Player,2;',NULL,NULL);
+REPLACE INTO `item_db` VALUES (5377,'Antique_Pipe','Gentleman\'s Pipe',4,20,NULL,100,NULL,0,NULL,0,0xFFFFFFFF,7,2,1,NULL,0,0,383,'bonus2 bSubRace,RC_DemiHuman,2; bonus2 bSubRace,RC_Player_Human,2;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (5378,'Rabbit_Ear_Hat','Bunny Top Hat',4,20,NULL,300,NULL,0,NULL,0,0xFFFFFFFF,7,2,256,NULL,0,1,384,'bonus bAgi,3; bonus3 bAutoSpellWhenHit,"AL_INCAGI",5,10;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (5378,'Rabbit_Ear_Hat','Bunny Top Hat',4,20,NULL,300,NULL,0,NULL,0,0xFFFFFFFF,7,2,256,NULL,0,1,384,'bonus bAgi,3; bonus3 bAutoSpellWhenHit,"AL_INCAGI",5,10;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (5379,'Balloon_Hat','Tam',4,0,NULL,800,NULL,3,NULL,1,0xFFFFFFFF,7,2,256,NULL,50,1,385,'bonus bMdef,2; bonus bMatkRate,2+(getrefine()/2);',NULL,NULL);
 REPLACE INTO `item_db` VALUES (5379,'Balloon_Hat','Tam',4,0,NULL,800,NULL,3,NULL,1,0xFFFFFFFF,7,2,256,NULL,50,1,385,'bonus bMdef,2; bonus bMatkRate,2+(getrefine()/2);',NULL,NULL);
 REPLACE INTO `item_db` VALUES (5380,'Fish_Head_Hat','Fish Head Hat',4,20,NULL,400,NULL,1,NULL,0,0xFFFFFFFF,7,2,256,NULL,0,1,386,'bonus3 bAutoSpell,"SA_FROSTWEAPON",1,5;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (5380,'Fish_Head_Hat','Fish Head Hat',4,20,NULL,400,NULL,1,NULL,0,0xFFFFFFFF,7,2,256,NULL,0,1,386,'bonus3 bAutoSpell,"SA_FROSTWEAPON",1,5;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (5381,'Santa_Poring_Hat','Santa Poring Hat',4,20,NULL,100,NULL,2,NULL,1,0xFFFFFFFF,7,2,256,NULL,0,0,387,'bonus bMdef,2; bonus2 bAddEle,Ele_Dark,3; bonus2 bSubEle,Ele_Dark,3;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (5381,'Santa_Poring_Hat','Santa Poring Hat',4,20,NULL,100,NULL,2,NULL,1,0xFFFFFFFF,7,2,256,NULL,0,0,387,'bonus bMdef,2; bonus2 bAddEle,Ele_Dark,3; bonus2 bSubEle,Ele_Dark,3;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (5382,'Bell_Ribbon','Bell Ribbon',4,20,NULL,200,NULL,3,NULL,1,0xFFFFFFFF,7,2,256,NULL,0,1,388,'bonus bVit,1; skill "AL_ANGELUS",1;',NULL,'sc_end SC_ANGELUS;');
 REPLACE INTO `item_db` VALUES (5382,'Bell_Ribbon','Bell Ribbon',4,20,NULL,200,NULL,3,NULL,1,0xFFFFFFFF,7,2,256,NULL,0,1,388,'bonus bVit,1; skill "AL_ANGELUS",1;',NULL,'sc_end SC_ANGELUS;');
-REPLACE INTO `item_db` VALUES (5383,'Hunting_Cap','Hunter\'s Cap',4,20,NULL,250,NULL,3,NULL,1,0xFFFFFFFE,7,2,256,NULL,50,1,389,'bonus bLuk,1; bonus2 bAddRace,RC_Brute,10; bonus2 bAddRace,RC_DemiHuman,5; bonus2 bAddRace,RC_Player,5;',NULL,NULL);
+REPLACE INTO `item_db` VALUES (5383,'Hunting_Cap','Hunter\'s Cap',4,20,NULL,250,NULL,3,NULL,1,0xFFFFFFFE,7,2,256,NULL,50,1,389,'bonus bLuk,1; bonus2 bAddRace,RC_Brute,10; bonus2 bAddRace,RC_Player_Doram,10; bonus2 bAddRace,RC_DemiHuman,5; bonus2 bAddRace,RC_Player_Human,5;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (5384,'Santa_Hat_1','Twin Pompom By JB',4,20,NULL,200,NULL,1,NULL,1,0xFFFFFFFF,7,2,256,NULL,20,1,390,'bonus bLuk,3; skill "WZ_ESTIMATION",1; bonus3 bAutoSpell,"AL_INCAGI",1,500;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (5384,'Santa_Hat_1','Twin Pompom By JB',4,20,NULL,200,NULL,1,NULL,1,0xFFFFFFFF,7,2,256,NULL,20,1,390,'bonus bLuk,3; skill "WZ_ESTIMATION",1; bonus3 bAutoSpell,"AL_INCAGI",1,500;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (5385,'Yoyo_Hat','Yoyo Hat',4,20,NULL,300,NULL,1,NULL,0,0xFFFFFFFF,7,2,256,NULL,20,1,391,'skill "TF_HIDING", 1;',NULL,'sc_end SC_HIDING;');
 REPLACE INTO `item_db` VALUES (5385,'Yoyo_Hat','Yoyo Hat',4,20,NULL,300,NULL,1,NULL,0,0xFFFFFFFF,7,2,256,NULL,20,1,391,'skill "TF_HIDING", 1;',NULL,'sc_end SC_HIDING;');
 REPLACE INTO `item_db` VALUES (5386,'Ayam_','Ayam',4,0,NULL,70,NULL,7,NULL,0,0xFFFFFFFF,7,2,256,NULL,1,0,228,'bonus bMdef,7; bonus bFlee,7; bonus2 bAddMonsterDropItem,12198,200;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (5386,'Ayam_','Ayam',4,0,NULL,70,NULL,7,NULL,0,0xFFFFFFFF,7,2,256,NULL,1,0,228,'bonus bMdef,7; bonus bFlee,7; bonus2 bAddMonsterDropItem,12198,200;',NULL,NULL);
@@ -2622,7 +2622,7 @@ REPLACE INTO `item_db` VALUES (5406,'Academy_Freshman_Hat','Academy Freshman Hat
 REPLACE INTO `item_db` VALUES (5407,'Academy_Graduating_Cap','Academy Completion Hat',4,0,NULL,200,NULL,2,NULL,1,0xFFFFFFFF,7,2,256,NULL,0,1,410,'bonus bMaxSP,30;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (5407,'Academy_Graduating_Cap','Academy Completion Hat',4,0,NULL,200,NULL,2,NULL,1,0xFFFFFFFF,7,2,256,NULL,0,1,410,'bonus bMaxSP,30;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (5408,'Old_Bandanna','Old Bandana',4,0,NULL,0,NULL,5,NULL,0,0xFFFFFFFF,7,2,256,NULL,0,0,6,'bonus bInt,2; bonus bMaxSP,50; bonus bCastrate,10;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (5408,'Old_Bandanna','Old Bandana',4,0,NULL,0,NULL,5,NULL,0,0xFFFFFFFF,7,2,256,NULL,0,0,6,'bonus bInt,2; bonus bMaxSP,50; bonus bCastrate,10;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (5409,'New_Cowboy_Hat','Purple Cowboy Hat',4,20,NULL,500,NULL,4,NULL,1,0xFFFFFFFF,7,2,256,NULL,0,1,411,'bonus bInt,2; bonus bVit,2; bonus bMaxSP,50;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (5409,'New_Cowboy_Hat','Purple Cowboy Hat',4,20,NULL,500,NULL,4,NULL,1,0xFFFFFFFF,7,2,256,NULL,0,1,411,'bonus bInt,2; bonus bVit,2; bonus bMaxSP,50;',NULL,NULL);
-REPLACE INTO `item_db` VALUES (5410,'Bread_Bag2','Brown Paperbag Hat',4,20,NULL,200,NULL,6,NULL,0,0xFFFFFFFF,7,2,769,NULL,0,0,412,'bonus bMaxHP,100; bonus2 bResEff, Eff_Stun, 400; bonus2 bSubRace,RC_DemiHuman,4; bonus2 bSubRace,RC_Player,4;',NULL,NULL);
+REPLACE INTO `item_db` VALUES (5410,'Bread_Bag2','Brown Paperbag Hat',4,20,NULL,200,NULL,6,NULL,0,0xFFFFFFFF,7,2,769,NULL,0,0,412,'bonus bMaxHP,100; bonus2 bResEff, Eff_Stun, 400; bonus2 bSubRace,RC_DemiHuman,4; bonus2 bSubRace,RC_Player_Human,4;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (5411,'White_Snake_Hat','White Snake Hat',4,20,NULL,500,NULL,2,NULL,0,0xFFFFFFFF,7,2,256,NULL,0,1,413,'bonus bDex,2;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (5411,'White_Snake_Hat','White Snake Hat',4,20,NULL,500,NULL,2,NULL,0,0xFFFFFFFF,7,2,256,NULL,0,1,413,'bonus bDex,2;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (5412,'Sweet_Candy','Sweet Candy',4,20,NULL,100,NULL,1,NULL,0,0xFFFFFFFF,7,2,1,NULL,0,0,414,'bonus bUnbreakableHelm, 0;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (5412,'Sweet_Candy','Sweet Candy',4,20,NULL,100,NULL,1,NULL,0,0xFFFFFFFF,7,2,1,NULL,0,0,414,'bonus bUnbreakableHelm, 0;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (5413,'Popcorn_Hat','Pop Corn Hat',4,20,NULL,300,NULL,2,NULL,0,0xFFFFFFFF,7,2,256,NULL,0,0,415,'bonus2 bSubEle,Ele_Wind, 10;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (5413,'Popcorn_Hat','Pop Corn Hat',4,20,NULL,300,NULL,2,NULL,0,0xFFFFFFFF,7,2,256,NULL,0,0,415,'bonus2 bSubEle,Ele_Wind, 10;',NULL,NULL);
@@ -2635,12 +2635,12 @@ REPLACE INTO `item_db` VALUES (5419,'Evolved_Leaf','Leaves Of Grass',4,20,NULL,1
 REPLACE INTO `item_db` VALUES (5420,'Mask_Of_Ifrit','Mask Of Ifrit',4,NULL,NULL,0,NULL,8,NULL,0,0xFFFFFFFE,7,2,769,NULL,70,0,421,'bonus bStr,1; bonus bInt,1; bonus bMdef,5; bonus2 bSubEle,Ele_Fire,10; bonus2 bSubEle,Ele_Water,-10; skill "MG_SIGHT",1; bonus3 bAutoSpellWhenHit,"WZ_METEOR",3,50; bonus3 bAutoSpell,"MG_FIREBOLT",3,50;',NULL,'sc_end SC_SIGHT;');
 REPLACE INTO `item_db` VALUES (5420,'Mask_Of_Ifrit','Mask Of Ifrit',4,NULL,NULL,0,NULL,8,NULL,0,0xFFFFFFFE,7,2,769,NULL,70,0,421,'bonus bStr,1; bonus bInt,1; bonus bMdef,5; bonus2 bSubEle,Ele_Fire,10; bonus2 bSubEle,Ele_Water,-10; skill "MG_SIGHT",1; bonus3 bAutoSpellWhenHit,"WZ_METEOR",3,50; bonus3 bAutoSpell,"MG_FIREBOLT",3,50;',NULL,'sc_end SC_SIGHT;');
 REPLACE INTO `item_db` VALUES (5421,'Ifrit\'s_Ear','Ears Of Ifrit',4,20,NULL,0,NULL,0,NULL,0,0xFFFFFFFE,7,2,512,NULL,70,0,422,'bonus bStr,1; bonus bMdef,3; bonus2 bSkillAtk,"MG_FIREBOLT",2; bonus2 bSkillAtk,"WZ_FIREPILLAR",2; bonus2 bSkillAtk,"WZ_METEOR",2; bonus2 bSkillAtk,"SM_BASH",2; bonus2 bSkillAtk,"SM_MAGNUM",2; bonus2 bSkillAtk,"KN_PIERCE",2; bonus2 bSubEle,Ele_Fire,5; bonus2 bSubEle,Ele_Water,-5;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (5421,'Ifrit\'s_Ear','Ears Of Ifrit',4,20,NULL,0,NULL,0,NULL,0,0xFFFFFFFE,7,2,512,NULL,70,0,422,'bonus bStr,1; bonus bMdef,3; bonus2 bSkillAtk,"MG_FIREBOLT",2; bonus2 bSkillAtk,"WZ_FIREPILLAR",2; bonus2 bSkillAtk,"WZ_METEOR",2; bonus2 bSkillAtk,"SM_BASH",2; bonus2 bSkillAtk,"SM_MAGNUM",2; bonus2 bSkillAtk,"KN_PIERCE",2; bonus2 bSubEle,Ele_Fire,5; bonus2 bSubEle,Ele_Water,-5;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (5422,'Linguistic_Book_Cap','Linguistic Book Hat',4,20,NULL,70,NULL,0,NULL,0,0xFFFFFFFF,7,2,256,NULL,0,1,423,'bonus bInt,1; bonus bMdef,2;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (5422,'Linguistic_Book_Cap','Linguistic Book Hat',4,20,NULL,70,NULL,0,NULL,0,0xFFFFFFFF,7,2,256,NULL,0,1,423,'bonus bInt,1; bonus bMdef,2;',NULL,NULL);
-REPLACE INTO `item_db` VALUES (5423,'Lovecap_China','I Love China',4,20,NULL,250,NULL,5,NULL,0,0xFFFFFFFF,7,2,256,NULL,0,0,424,'bonus bDex,3; bonus2 bSubRace,RC_DemiHuman,10; bonus2 bSubRace,RC_Player,10;',NULL,NULL);
+REPLACE INTO `item_db` VALUES (5423,'Lovecap_China','I Love China',4,20,NULL,250,NULL,5,NULL,0,0xFFFFFFFF,7,2,256,NULL,0,0,424,'bonus bDex,3; bonus2 bSubRace,RC_DemiHuman,10; bonus2 bSubRace,RC_Player_Human,10;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (5424,'Fanta_Orange_Can','Fanta Orange Can Hat',4,20,NULL,100,NULL,2,NULL,1,0xFFFFFFFF,7,2,256,NULL,0,1,425,NULL,NULL,NULL);
 REPLACE INTO `item_db` VALUES (5424,'Fanta_Orange_Can','Fanta Orange Can Hat',4,20,NULL,100,NULL,2,NULL,1,0xFFFFFFFF,7,2,256,NULL,0,1,425,NULL,NULL,NULL);
 REPLACE INTO `item_db` VALUES (5425,'Fanta_Grape_Can','Fanta Grape Can Hat',4,20,NULL,100,NULL,2,NULL,1,0xFFFFFFFF,7,2,256,NULL,0,1,426,NULL,NULL,NULL);
 REPLACE INTO `item_db` VALUES (5425,'Fanta_Grape_Can','Fanta Grape Can Hat',4,20,NULL,100,NULL,2,NULL,1,0xFFFFFFFF,7,2,256,NULL,0,1,426,NULL,NULL,NULL);
 REPLACE INTO `item_db` VALUES (5426,'Karada_Meguri_Tea_Hat','Karada Meguricha Hat',4,20,NULL,100,NULL,2,NULL,1,0xFFFFFFFF,7,2,256,NULL,0,1,427,'bonus bLuk,1;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (5426,'Karada_Meguri_Tea_Hat','Karada Meguricha Hat',4,20,NULL,100,NULL,2,NULL,1,0xFFFFFFFF,7,2,256,NULL,0,1,427,'bonus bLuk,1;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (5427,'Royal_Milk_Tea_Hat','Black Tea Kochakaden Hat',4,20,NULL,100,NULL,2,NULL,1,0xFFFFFFFF,7,2,256,NULL,0,1,428,'bonus bAgi,1;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (5427,'Royal_Milk_Tea_Hat','Black Tea Kochakaden Hat',4,20,NULL,100,NULL,2,NULL,1,0xFFFFFFFF,7,2,256,NULL,0,1,428,'bonus bAgi,1;',NULL,NULL);
-REPLACE INTO `item_db` VALUES (5428,'Bread_Bag1','RWC Anniversary Bread Envelope',4,NULL,NULL,100,NULL,0,NULL,0,0xFFFFFFFF,7,2,769,NULL,0,1,429,'bonus2 bSubRace,RC_DemiHuman,12; bonus2 bSubRace,RC_Player,12;',NULL,NULL);
+REPLACE INTO `item_db` VALUES (5428,'Bread_Bag1','RWC Anniversary Bread Envelope',4,NULL,NULL,100,NULL,0,NULL,0,0xFFFFFFFF,7,2,769,NULL,0,1,429,'bonus2 bSubRace,RC_DemiHuman,12; bonus2 bSubRace,RC_Player_Human,12;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (5429,'Bogy_Cap','Bogy Cap',4,20,NULL,100,NULL,2,NULL,1,0xFFFFFFFF,7,2,256,NULL,0,1,430,'bonus bHPrecovRate, 5; bonus bSPrecovRate, 5;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (5429,'Bogy_Cap','Bogy Cap',4,20,NULL,100,NULL,2,NULL,1,0xFFFFFFFF,7,2,256,NULL,0,1,430,'bonus bHPrecovRate, 5; bonus bSPrecovRate, 5;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (5430,'Sacred_Torch_Coronet','Torch Cap',4,20,NULL,0,NULL,3,NULL,0,0xFFFFFFFF,7,2,256,NULL,0,0,431,'bonus2 bSubEle,Ele_Fire,20; skill "MG_FIREBOLT",5;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (5430,'Sacred_Torch_Coronet','Torch Cap',4,20,NULL,0,NULL,3,NULL,0,0xFFFFFFFF,7,2,256,NULL,0,0,431,'bonus2 bSubEle,Ele_Fire,20; skill "MG_FIREBOLT",5;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (5431,'Chicken_Hat','Chicken Hat',4,20,NULL,1000,NULL,0,NULL,1,0xFFFFFFFF,7,2,256,NULL,30,1,432,'bonus3 bAutoSpell,"MC_LOUD",1,30; bonus bAspdRate,5;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (5431,'Chicken_Hat','Chicken Hat',4,20,NULL,1000,NULL,0,NULL,1,0xFFFFFFFF,7,2,256,NULL,30,1,432,'bonus3 bAutoSpell,"MC_LOUD",1,30; bonus bAspdRate,5;',NULL,NULL);
@@ -2663,9 +2663,9 @@ REPLACE INTO `item_db` VALUES (5447,'Frog_Cap','Frog Hat',4,20,NULL,500,NULL,3,N
 REPLACE INTO `item_db` VALUES (5448,'Solo_Play_Box1','Soloplay Box1',4,NULL,NULL,300,NULL,0,NULL,1,0xFFFFFFFF,7,2,769,NULL,0,1,449,NULL,NULL,NULL);
 REPLACE INTO `item_db` VALUES (5448,'Solo_Play_Box1','Soloplay Box1',4,NULL,NULL,300,NULL,0,NULL,1,0xFFFFFFFF,7,2,769,NULL,0,1,449,NULL,NULL,NULL);
 REPLACE INTO `item_db` VALUES (5449,'Solo_Play_Box2','Soloplay Box2',4,NULL,NULL,300,NULL,0,NULL,1,0xFFFFFFFF,7,2,769,NULL,0,1,450,NULL,NULL,NULL);
 REPLACE INTO `item_db` VALUES (5449,'Solo_Play_Box2','Soloplay Box2',4,NULL,NULL,300,NULL,0,NULL,1,0xFFFFFFFF,7,2,769,NULL,0,1,450,NULL,NULL,NULL);
 REPLACE INTO `item_db` VALUES (5450,'Sun_Cap','Solar Hat',4,20,NULL,1000,NULL,0,NULL,0,0xFFFFFFFE,7,2,256,NULL,20,1,451,NULL,NULL,NULL);
 REPLACE INTO `item_db` VALUES (5450,'Sun_Cap','Solar Hat',4,20,NULL,1000,NULL,0,NULL,0,0xFFFFFFFE,7,2,256,NULL,20,1,451,NULL,NULL,NULL);
-REPLACE INTO `item_db` VALUES (5451,'Dragonhelm_Gold','RWC 2008 Dragon Helm Gold',4,20,NULL,2500,NULL,7,NULL,1,0xFFFFFFFF,7,2,256,NULL,1,0,452,'bonus bAspdRate,10; bonus bAllStats,3; bonus2 bAddRace,RC_DemiHuman,5; bonus2 bAddRace,RC_Player,5;',NULL,NULL);
-REPLACE INTO `item_db` VALUES (5452,'Dragonhelm_Silver','RWC 2008 Dragon Helm Silver',4,20,NULL,2500,NULL,5,NULL,1,0xFFFFFFFF,7,2,256,NULL,1,0,453,'bonus bAspdRate,7; bonus bAllStats,2; bonus2 bAddRace,RC_DemiHuman,3; bonus2 bAddRace,RC_Player,3;',NULL,NULL);
-REPLACE INTO `item_db` VALUES (5453,'Dragonhelm_Copper','RWC 2008 Dragon Helm Copper',4,20,NULL,2500,NULL,0,NULL,1,0xFFFFFFFF,7,2,256,NULL,1,0,454,'bonus bAspdRate,5; bonus bAllStats,2; bonus2 bAddRace,RC_DemiHuman,1; bonus2 bAddRace,RC_Player,1;',NULL,NULL);
+REPLACE INTO `item_db` VALUES (5451,'Dragonhelm_Gold','RWC 2008 Dragon Helm Gold',4,20,NULL,2500,NULL,7,NULL,1,0xFFFFFFFF,7,2,256,NULL,1,0,452,'bonus bAspdRate,10; bonus bAllStats,3; bonus2 bAddRace,RC_DemiHuman,5; bonus2 bAddRace,RC_Player_Human,5;',NULL,NULL);
+REPLACE INTO `item_db` VALUES (5452,'Dragonhelm_Silver','RWC 2008 Dragon Helm Silver',4,20,NULL,2500,NULL,5,NULL,1,0xFFFFFFFF,7,2,256,NULL,1,0,453,'bonus bAspdRate,7; bonus bAllStats,2; bonus2 bAddRace,RC_DemiHuman,3; bonus2 bAddRace,RC_Player_Human,3;',NULL,NULL);
+REPLACE INTO `item_db` VALUES (5453,'Dragonhelm_Copper','RWC 2008 Dragon Helm Copper',4,20,NULL,2500,NULL,0,NULL,1,0xFFFFFFFF,7,2,256,NULL,1,0,454,'bonus bAspdRate,5; bonus bAllStats,2; bonus2 bAddRace,RC_DemiHuman,1; bonus2 bAddRace,RC_Player_Human,1;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (5454,'Dog_Cap_','Puppy Hat',4,20,NULL,500,NULL,3,NULL,1,0xFFFFFFFF,7,2,256,NULL,0,1,234,'bonus bStr,1; bonus bInt,1; autobonus "{ bonus bCritical,100; }",10,3000,BF_WEAPON,"{ specialeffect2 EF_ENHANCE; }"; autobonus "{ bonus2 bIgnoreMdefClassRate,Class_Normal,100; bonus2 bIgnoreMdefClassRate,Class_Boss,100; }",10,3000,BF_MAGIC,"{ specialeffect2 EF_MAGICALATTHIT; }";',NULL,NULL);
 REPLACE INTO `item_db` VALUES (5454,'Dog_Cap_','Puppy Hat',4,20,NULL,500,NULL,3,NULL,1,0xFFFFFFFF,7,2,256,NULL,0,1,234,'bonus bStr,1; bonus bInt,1; autobonus "{ bonus bCritical,100; }",10,3000,BF_WEAPON,"{ specialeffect2 EF_ENHANCE; }"; autobonus "{ bonus2 bIgnoreMdefClassRate,Class_Normal,100; bonus2 bIgnoreMdefClassRate,Class_Boss,100; }",10,3000,BF_MAGIC,"{ specialeffect2 EF_MAGICALATTHIT; }";',NULL,NULL);
 REPLACE INTO `item_db` VALUES (5455,'Geographer_Band_','Decorative Geographer',4,20,NULL,500,NULL,1,NULL,1,0xFFFFFFFF,7,2,256,NULL,0,1,238,'bonus bInt,1; bonus3 bAutoSpell,"AL_HEAL",5,50; bonus3 bAutoSpellWhenHit,"AL_HEAL",5,30;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (5455,'Geographer_Band_','Decorative Geographer',4,20,NULL,500,NULL,1,NULL,1,0xFFFFFFFF,7,2,256,NULL,0,1,238,'bonus bInt,1; bonus3 bAutoSpell,"AL_HEAL",5,50; bonus3 bAutoSpellWhenHit,"AL_HEAL",5,30;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (5456,'Vacation_Hat_','Summer Hat',4,20,NULL,200,NULL,0,NULL,1,0xFFFFFFFF,7,2,256,NULL,0,1,315,'bonus bVit,5; bonus bHPrecovRate,20; bonus bSPrecovRate,15;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (5456,'Vacation_Hat_','Summer Hat',4,20,NULL,200,NULL,0,NULL,1,0xFFFFFFFF,7,2,256,NULL,0,1,315,'bonus bVit,5; bonus bHPrecovRate,20; bonus bSPrecovRate,15;',NULL,NULL);
@@ -2674,7 +2674,7 @@ REPLACE INTO `item_db` VALUES (5458,'Pinwheel_Cap','Pinwheel Hat',4,20,NULL,200,
 REPLACE INTO `item_db` VALUES (5459,'Drooping_Bunny_Chusuk','Drooping Bunny',4,0,NULL,100,NULL,1,NULL,0,0xFFFFFFFF,7,2,256,NULL,0,1,249,'bonus bDex,1; bonus bFlee,2;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (5459,'Drooping_Bunny_Chusuk','Drooping Bunny',4,0,NULL,100,NULL,1,NULL,0,0xFFFFFFFF,7,2,256,NULL,0,1,249,'bonus bDex,1; bonus bFlee,2;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (5460,'Adv_Dragon_Skull','Evolved Dragon Skull Hat',4,20,NULL,1000,NULL,7,NULL,0,0xFFFFFFFF,7,2,256,NULL,60,1,457,'bonus bAllStats, 2; bonus bMaxHPrate, 3;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (5460,'Adv_Dragon_Skull','Evolved Dragon Skull Hat',4,20,NULL,1000,NULL,7,NULL,0,0xFFFFFFFF,7,2,256,NULL,60,1,457,'bonus bAllStats, 2; bonus bMaxHPrate, 3;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (5461,'Adv_Whisper_Mask','Evolved Whisper Mask',4,20,NULL,300,NULL,1,NULL,0,0xFFFFFFFF,7,2,769,NULL,50,1,458,'bonus bDex,3; bonus2 bSubEle,Ele_Ghost, 20;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (5461,'Adv_Whisper_Mask','Evolved Whisper Mask',4,20,NULL,300,NULL,1,NULL,0,0xFFFFFFFF,7,2,769,NULL,50,1,458,'bonus bDex,3; bonus2 bSubEle,Ele_Ghost, 20;',NULL,NULL);
-REPLACE INTO `item_db` VALUES (5462,'Spiked_Scarf','Spiked Scarf',4,20,NULL,100,NULL,1,NULL,0,0xFFFFFFFF,7,2,1,NULL,90,0,459,'bonus bVit,1; bonus2 bAddRace,RC_DemiHuman,1; bonus2 bAddRace,RC_Player,1; bonus2 bSubRace,RC_DemiHuman,1; bonus2 bSubRace,RC_Player,1;',NULL,NULL);
+REPLACE INTO `item_db` VALUES (5462,'Spiked_Scarf','Spiked Scarf',4,20,NULL,100,NULL,1,NULL,0,0xFFFFFFFF,7,2,1,NULL,90,0,459,'bonus bVit,1; bonus2 bAddRace,RC_DemiHuman,1; bonus2 bAddRace,RC_Player_Human,1; bonus2 bSubRace,RC_DemiHuman,1; bonus2 bSubRace,RC_Player_Human,1;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (5463,'Rainbow_Scarf','Rainbow Scarf',4,20,NULL,100,NULL,1,NULL,0,0xFFFFFFFF,7,2,1,NULL,90,0,460,'bonus bInt,1; bonus bMdef,2; bonus bMatkRate,1;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (5463,'Rainbow_Scarf','Rainbow Scarf',4,20,NULL,100,NULL,1,NULL,0,0xFFFFFFFF,7,2,1,NULL,90,0,460,'bonus bInt,1; bonus bMdef,2; bonus bMatkRate,1;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (5464,'Zaha_Doll_Hat','Zaha Doll Hat',4,20,NULL,0,NULL,1,NULL,0,0xFFFFFFFF,7,2,256,NULL,0,0,461,'bonus bInt,2; skill "PR_MAGNIFICAT", 3;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (5464,'Zaha_Doll_Hat','Zaha Doll Hat',4,20,NULL,0,NULL,1,NULL,0,0xFFFFFFFF,7,2,256,NULL,0,0,461,'bonus bInt,2; skill "PR_MAGNIFICAT", 3;',NULL,NULL);
 #REPLACE INTO `item_db` VALUES (5465,'Celestial_Hat','Hat Of Fortune',4,20,NULL,500,NULL,3,NULL,1,0xFFFFFFFF,7,2,256,NULL,40,1,462,'bonus bLuk,2; bonus bMdef,5; if(getrefine()>4) bonus bLuk,getrefine()-4;',NULL,NULL);
 #REPLACE INTO `item_db` VALUES (5465,'Celestial_Hat','Hat Of Fortune',4,20,NULL,500,NULL,3,NULL,1,0xFFFFFFFF,7,2,256,NULL,40,1,462,'bonus bLuk,2; bonus bMdef,5; if(getrefine()>4) bonus bLuk,getrefine()-4;',NULL,NULL);
@@ -2695,16 +2695,16 @@ REPLACE INTO `item_db` VALUES (5479,'Shaman\'s_Hair_Ornament','Shaman\'s Hair De
 REPLACE INTO `item_db` VALUES (5480,'Bizofnil_Wing_Deco','Bijofnil Wings',4,20,NULL,1000,NULL,3,NULL,0,0xFFFFFFFF,7,2,256,NULL,30,1,477,'bonus bAllStats,2; bonus3 bAutoSpell,"PR_IMPOSITIO",3,3;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (5480,'Bizofnil_Wing_Deco','Bijofnil Wings',4,20,NULL,1000,NULL,3,NULL,0,0xFFFFFFFF,7,2,256,NULL,30,1,477,'bonus bAllStats,2; bonus3 bAutoSpell,"PR_IMPOSITIO",3,3;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (5481,'Hermose_Cap','Hermode Cap',4,20,NULL,1000,NULL,1,NULL,1,0xFFFFFFFF,7,2,256,NULL,1,1,478,'bonus bAspdRate,10; bonus bBaseAtk,-20; bonus bMatkRate,-10;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (5481,'Hermose_Cap','Hermode Cap',4,20,NULL,1000,NULL,1,NULL,1,0xFFFFFFFF,7,2,256,NULL,1,1,478,'bonus bAspdRate,10; bonus bBaseAtk,-20; bonus bMatkRate,-10;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (5482,'Dark_Knight_Mask','Dark Knight Mask',4,NULL,NULL,3000,NULL,5,NULL,0,0xFFFFFFFF,7,2,769,NULL,80,1,479,'bonus bStr,3;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (5482,'Dark_Knight_Mask','Dark Knight Mask',4,NULL,NULL,3000,NULL,5,NULL,0,0xFFFFFFFF,7,2,769,NULL,80,1,479,'bonus bStr,3;',NULL,NULL);
-REPLACE INTO `item_db` VALUES (5483,'Odin_Mask','Odin Mask',4,20,NULL,100,NULL,1,NULL,0,0xFFFFFFFF,7,2,513,NULL,50,0,480,'bonus bHit,-10; bonus2 bAddRace,RC_DemiHuman,6; bonus2 bAddRace,RC_Player,6;',NULL,NULL);
+REPLACE INTO `item_db` VALUES (5483,'Odin_Mask','Odin Mask',4,20,NULL,100,NULL,1,NULL,0,0xFFFFFFFF,7,2,513,NULL,50,0,480,'bonus bHit,-10; bonus2 bAddRace,RC_DemiHuman,6; bonus2 bAddRace,RC_Player_Human,6;',NULL,NULL);
 #REPLACE INTO `item_db` VALUES (5484,'Taiwan_Flag_Hat','Holidays Hat',4,20,NULL,500,NULL,4,NULL,0,0xFFFFFFFF,7,2,256,NULL,0,0,482,'bonus bAllStats,5; bonus2 bResEff,Eff_Stun,500;',NULL,NULL);
 #REPLACE INTO `item_db` VALUES (5484,'Taiwan_Flag_Hat','Holidays Hat',4,20,NULL,500,NULL,4,NULL,0,0xFFFFFFFF,7,2,256,NULL,0,0,482,'bonus bAllStats,5; bonus2 bResEff,Eff_Stun,500;',NULL,NULL);
-REPLACE INTO `item_db` VALUES (5485,'Tiger_Face','Tiger Face',4,20,NULL,1000,NULL,3,NULL,0,0xFFFFFFFF,7,2,769,NULL,60,1,483,'bonus2 bSubRace,RC_Brute,5; bonus2 bAddRace,RC_Brute,5; bonus2 bMagicAddRace,RC_Brute,5;',NULL,NULL);
+REPLACE INTO `item_db` VALUES (5485,'Tiger_Face','Tiger Face',4,20,NULL,1000,NULL,3,NULL,0,0xFFFFFFFF,7,2,769,NULL,60,1,483,'bonus2 bSubRace,RC_Brute,5; bonus2 bAddRace,RC_Brute,5; bonus2 bMagicAddRace,RC_Brute,5; bonus2 bSubRace,RC_Player_Doram,5; bonus2 bAddRace,RC_Player_Doram,5; bonus2 bMagicAddRace,RC_Player_Doram,5;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (5486,'J_Anniversary_Hat','Anniversary Hat',4,20,NULL,300,NULL,3,NULL,0,0xFFFFFFFF,7,2,256,NULL,0,1,395,'bonus bAllStats, 2;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (5486,'J_Anniversary_Hat','Anniversary Hat',4,20,NULL,300,NULL,3,NULL,0,0xFFFFFFFF,7,2,256,NULL,0,1,395,'bonus bAllStats, 2;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (5487,'J_Poringcake_Hat','Poring Cake Hat',4,20,NULL,500,NULL,1,NULL,0,0xFFFFFFFF,7,2,256,NULL,0,1,417,'bonus bLuk,2;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (5487,'J_Poringcake_Hat','Poring Cake Hat',4,20,NULL,500,NULL,1,NULL,0,0xFFFFFFFF,7,2,256,NULL,0,1,417,'bonus bLuk,2;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (5488,'J_Twin_Santahat','Twin Santa Hat',4,20,NULL,100,NULL,1,NULL,0,0xFFFFFFFF,7,2,256,NULL,0,1,390,'bonus bLuk,1; bonus bMdef,1;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (5488,'J_Twin_Santahat','Twin Santa Hat',4,20,NULL,100,NULL,1,NULL,0,0xFFFFFFFF,7,2,256,NULL,0,1,390,'bonus bLuk,1; bonus bMdef,1;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (5489,'Love_Daddy','Love Daddy Hat',4,20,NULL,100,NULL,0,NULL,0,0xFFFFFFFF,7,2,256,NULL,0,1,484,'bonus bDex,2;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (5489,'Love_Daddy','Love Daddy Hat',4,20,NULL,100,NULL,0,NULL,0,0xFFFFFFFF,7,2,256,NULL,0,1,484,'bonus bDex,2;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (5490,'Anubis_Helm','Anubis Helm',4,20,NULL,0,NULL,3,NULL,0,0xFFFFFFFF,7,2,256,NULL,70,0,485,'bonus bMdef,5; bonus2 bSubClass,Class_Boss,10; bonus bHealpower2,10; bonus bAddItemHealRate,10;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (5490,'Anubis_Helm','Anubis Helm',4,20,NULL,0,NULL,3,NULL,0,0xFFFFFFFF,7,2,256,NULL,70,0,485,'bonus bMdef,5; bonus2 bSubClass,Class_Boss,10; bonus bHealpower2,10; bonus bAddItemHealRate,10;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (5491,'Hat_Of_Outlaw','Bandit Hat',4,20,NULL,800,NULL,3,NULL,1,0xFFFFFFFF,7,2,256,NULL,0,1,486,'bonus bStr,2; bonus2 bSubEle,Ele_Fire, 10;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (5491,'Hat_Of_Outlaw','Bandit Hat',4,20,NULL,800,NULL,3,NULL,1,0xFFFFFFFF,7,2,256,NULL,0,1,486,'bonus bStr,2; bonus2 bSubEle,Ele_Fire, 10;',NULL,NULL);
-REPLACE INTO `item_db` VALUES (5492,'Boy\'s_Cap_I','Student Cap',4,0,NULL,0,NULL,5,NULL,0,0xFFFFFFFE,7,2,256,NULL,0,0,102,'bonus bMdef,3; bonus2 bAddRace,RC_DemiHuman,5; bonus2 bAddRace,RC_Player,5;',NULL,NULL);
+REPLACE INTO `item_db` VALUES (5492,'Boy\'s_Cap_I','Student Cap',4,0,NULL,0,NULL,5,NULL,0,0xFFFFFFFE,7,2,256,NULL,0,0,102,'bonus bMdef,3; bonus2 bAddRace,RC_DemiHuman,5; bonus2 bAddRace,RC_Player_Human,5;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (5493,'Ulle_Cap_I','Ulle\'s Cap',4,0,NULL,0,NULL,3,NULL,0,0xFFFFFFFE,7,2,256,NULL,0,0,254,'bonus bDex,2; bonus bAgi,1;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (5493,'Ulle_Cap_I','Ulle\'s Cap',4,0,NULL,0,NULL,3,NULL,0,0xFFFFFFFE,7,2,256,NULL,0,0,254,'bonus bDex,2; bonus bAgi,1;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (5494,'Spinx_Helm_I','Sphinx Hat',4,0,NULL,0,NULL,5,NULL,0,0x00004082,7,2,257,NULL,0,0,137,'bonus bStr,5;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (5494,'Spinx_Helm_I','Sphinx Hat',4,0,NULL,0,NULL,5,NULL,0,0x00004082,7,2,257,NULL,0,0,137,'bonus bStr,5;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (5495,'Power_Of_Thor','Power Of Thor',4,20,NULL,100,NULL,6,NULL,1,0xFFFFFFFF,7,2,256,NULL,75,1,493,'bonus bInt,1; bonus bDex,1; bonus bMdef,3; bonus bFlee,5;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (5495,'Power_Of_Thor','Power Of Thor',4,20,NULL,100,NULL,6,NULL,1,0xFFFFFFFF,7,2,256,NULL,75,1,493,'bonus bInt,1; bonus bDex,1; bonus bMdef,3; bonus bFlee,5;',NULL,NULL);
@@ -2730,7 +2730,7 @@ REPLACE INTO `item_db` VALUES (5514,'Pisces_Diadem','Pisces Diadem',4,20,NULL,30
 REPLACE INTO `item_db` VALUES (5515,'Pisces_Crown','Pisces Crown',4,20,NULL,300,NULL,6,NULL,0,0xFFFFFFFF,7,2,256,NULL,70,1,512,'bonus bInt,2; bonus bMdef,5; bonus2 bSubEle,Ele_Water, 5; if(getrefine()>6) { bonus bDef, 1; bonus bMatkRate,2; }',NULL,NULL);
 REPLACE INTO `item_db` VALUES (5515,'Pisces_Crown','Pisces Crown',4,20,NULL,300,NULL,6,NULL,0,0xFFFFFFFF,7,2,256,NULL,70,1,512,'bonus bInt,2; bonus bMdef,5; bonus2 bSubEle,Ele_Water, 5; if(getrefine()>6) { bonus bDef, 1; bonus bMatkRate,2; }',NULL,NULL);
 REPLACE INTO `item_db` VALUES (5516,'Hawk_Eyes01','hawk Eyes',4,10,NULL,100,NULL,0,NULL,0,0x00000800,2,2,512,NULL,60,0,23,'bonus bDex,1;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (5516,'Hawk_Eyes01','hawk Eyes',4,10,NULL,100,NULL,0,NULL,0,0x00000800,2,2,512,NULL,60,0,23,'bonus bDex,1;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (5517,'Hawk_Eyes02','Hawk Eyes',4,10,NULL,100,NULL,0,NULL,0,0x00080808,7,2,512,NULL,60,0,23,'bonus bDex,1;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (5517,'Hawk_Eyes02','Hawk Eyes',4,10,NULL,100,NULL,0,NULL,0,0x00080808,7,2,512,NULL,60,0,23,'bonus bDex,1;',NULL,NULL);
-REPLACE INTO `item_db` VALUES (5518,'L_Magestic_Goat2','Gigantic Majestic Goat',4,20,NULL,800,NULL,5,NULL,0,0xFFFFFFFF,7,2,256,NULL,50,1,513,'bonus2 bSubRace,RC_DemiHuman,12; bonus2 bSubRace,RC_Player,12; bonus bBaseAtk,(JobLevel*2)/7;',NULL,NULL);
+REPLACE INTO `item_db` VALUES (5518,'L_Magestic_Goat2','Gigantic Majestic Goat',4,20,NULL,800,NULL,5,NULL,0,0xFFFFFFFF,7,2,256,NULL,50,1,513,'bonus2 bSubRace,RC_DemiHuman,12; bonus2 bSubRace,RC_Player_Human,12; bonus bBaseAtk,(JobLevel*2)/7;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (5519,'Peacock_Feather','Peacock Feather',4,20,NULL,800,NULL,4,NULL,1,0xFFFFFFFF,7,2,256,NULL,1,1,514,'bonus bInt,2;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (5519,'Peacock_Feather','Peacock Feather',4,20,NULL,800,NULL,4,NULL,1,0xFFFFFFFF,7,2,256,NULL,1,1,514,'bonus bInt,2;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (5520,'Rabbit_Earplug','Rabbit Earplugs',4,NULL,NULL,400,NULL,0,NULL,1,0xFFFFFFFF,7,2,768,NULL,1,1,515,'bonus2 bAddClass,Class_All,4; bonus bMatkRate,4;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (5520,'Rabbit_Earplug','Rabbit Earplugs',4,NULL,NULL,400,NULL,0,NULL,1,0xFFFFFFFF,7,2,768,NULL,1,1,515,'bonus2 bAddClass,Class_All,4; bonus bMatkRate,4;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (5521,'Angry_Mouth_C','Angry Mouth',4,0,NULL,0,NULL,0,NULL,0,0xFFFFFFFF,7,2,1,NULL,0,0,194,'bonus bDelayRate,-3;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (5521,'Angry_Mouth_C','Angry Mouth',4,0,NULL,0,NULL,0,NULL,0,0xFFFFFFFF,7,2,1,NULL,0,0,194,'bonus bDelayRate,-3;',NULL,NULL);
@@ -2747,7 +2747,7 @@ REPLACE INTO `item_db` VALUES (5531,'B_Dragon_Hat','Baby Dragon Hat',4,45000,NUL
 REPLACE INTO `item_db` VALUES (5532,'Pirate_Dagger_J','Pirate Dagger',4,20,NULL,100,NULL,0,NULL,0,0xFFFFFFFF,7,2,1,NULL,0,1,327,'bonus bShortWeaponDamageReturn,1;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (5532,'Pirate_Dagger_J','Pirate Dagger',4,20,NULL,100,NULL,0,NULL,0,0xFFFFFFFF,7,2,1,NULL,0,1,327,'bonus bShortWeaponDamageReturn,1;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (5533,'Emperor_Wreath_J','Emperor Wreath',4,20,NULL,800,NULL,3,NULL,1,0xFFFFFFFF,7,2,256,NULL,80,1,261,'bonus bAllStats,1;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (5533,'Emperor_Wreath_J','Emperor Wreath',4,20,NULL,800,NULL,3,NULL,1,0xFFFFFFFF,7,2,256,NULL,80,1,261,'bonus bAllStats,1;',NULL,NULL);
 #REPLACE INTO `item_db` VALUES (5534,'Fox_Hat_J','Fox Hat',4,20,NULL,100,NULL,1,NULL,0,0xFFFFFFFF,7,2,513,NULL,70,0,403,'bonus bAgi,1; bonus bFlee2,2;',NULL,NULL);
 #REPLACE INTO `item_db` VALUES (5534,'Fox_Hat_J','Fox Hat',4,20,NULL,100,NULL,1,NULL,0,0xFFFFFFFF,7,2,513,NULL,70,0,403,'bonus bAgi,1; bonus bFlee2,2;',NULL,NULL);
-REPLACE INTO `item_db` VALUES (5535,'Side_Cap','Side Cap',4,0,NULL,500,NULL,3,NULL,0,0xFFFFFFFF,7,2,256,NULL,0,1,529,'bonus bVit,1; bonus bDex,1; bonus bMdef,3; bonus2 bSubRace,RC_DemiHuman,5; bonus2 bSubRace,RC_Player,5; bonus2 bAddRace,RC_DemiHuman,3; bonus2 bAddRace,RC_Player,3;',NULL,NULL);
+REPLACE INTO `item_db` VALUES (5535,'Side_Cap','Side Cap',4,0,NULL,500,NULL,3,NULL,0,0xFFFFFFFF,7,2,256,NULL,0,1,529,'bonus bVit,1; bonus bDex,1; bonus bMdef,3; bonus2 bSubRace,RC_DemiHuman,5; bonus2 bSubRace,RC_Player_Human,5; bonus2 bAddRace,RC_DemiHuman,3; bonus2 bAddRace,RC_Player_Human,3;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (5536,'Spare_Card','Spare Card',4,20,NULL,10,NULL,1,NULL,0,0xFFFFFFFF,7,2,1,NULL,1,0,526,'bonus2 bAddMonsterDropItem,6187,1000;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (5536,'Spare_Card','Spare Card',4,20,NULL,10,NULL,1,NULL,0,0xFFFFFFFF,7,2,1,NULL,1,0,526,'bonus2 bAddMonsterDropItem,6187,1000;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (5537,'Quati_Hat','Kwati Hat',4,20,NULL,700,NULL,2,NULL,1,0xFFFFFFFF,7,2,256,NULL,45,0,527,'bonus bAgi,3;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (5537,'Quati_Hat','Kwati Hat',4,20,NULL,700,NULL,2,NULL,1,0xFFFFFFFF,7,2,256,NULL,45,0,527,'bonus bAgi,3;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (5538,'Tucan_Hat','Tucan Hat',4,20,NULL,600,NULL,2,NULL,1,0xFFFFFFFF,7,2,768,NULL,45,0,528,'bonus bDex,3;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (5538,'Tucan_Hat','Tucan Hat',4,20,NULL,600,NULL,2,NULL,1,0xFFFFFFFF,7,2,768,NULL,45,0,528,'bonus bDex,3;',NULL,NULL);
@@ -2765,7 +2765,7 @@ REPLACE INTO `item_db` VALUES (5549,'Taurus_Diadem','Taurus Diadem',4,20,NULL,30
 REPLACE INTO `item_db` VALUES (5550,'Taurus_Crown','Taurus Crown',4,20,NULL,300,NULL,3,NULL,0,0xFFFFFFFF,7,2,256,NULL,70,1,536,'bonus bDex,2; bonus bDelayRate,-2; bonus2 bSubEle,Ele_earth,5; if(getrefine()>6) { bonus bDex,1; bonus bMatkRate,1; }',NULL,NULL);
 REPLACE INTO `item_db` VALUES (5550,'Taurus_Crown','Taurus Crown',4,20,NULL,300,NULL,3,NULL,0,0xFFFFFFFF,7,2,256,NULL,70,1,536,'bonus bDex,2; bonus bDelayRate,-2; bonus2 bSubEle,Ele_earth,5; if(getrefine()>6) { bonus bDex,1; bonus bMatkRate,1; }',NULL,NULL);
 #REPLACE INTO `item_db` VALUES (5551,'Holy_Egg_Hat','Holy Egg Hat',4,20,NULL,0,NULL,1,NULL,0,0xFFFFFFFF,7,2,256,NULL,0,1,537,NULL,NULL,NULL);
 #REPLACE INTO `item_db` VALUES (5551,'Holy_Egg_Hat','Holy Egg Hat',4,20,NULL,0,NULL,1,NULL,0,0xFFFFFFFF,7,2,256,NULL,0,1,537,NULL,NULL,NULL);
 REPLACE INTO `item_db` VALUES (5552,'Fest_Lord_Circlet','Festival Grand Circlet',4,0,NULL,0,NULL,8,NULL,0,0xFFFFFFFF,7,2,256,NULL,0,0,93,'bonus bStr,3; bonus bInt,3; bonus bMdef,3;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (5552,'Fest_Lord_Circlet','Festival Grand Circlet',4,0,NULL,0,NULL,8,NULL,0,0xFFFFFFFF,7,2,256,NULL,0,0,93,'bonus bStr,3; bonus bInt,3; bonus bMdef,3;',NULL,NULL);
-REPLACE INTO `item_db` VALUES (5553,'Fest_Bunny_Band','Festival Bunny Band',4,0,NULL,0,NULL,7,NULL,0,0xFFFFFFFF,7,2,256,NULL,0,0,15,'bonus bMdef,4; bonus2 bSubRace,RC_DemiHuman,9; bonus2 bSubRace,RC_Player,9;',NULL,NULL);
+REPLACE INTO `item_db` VALUES (5553,'Fest_Bunny_Band','Festival Bunny Band',4,0,NULL,0,NULL,7,NULL,0,0xFFFFFFFF,7,2,256,NULL,0,0,15,'bonus bMdef,4; bonus2 bSubRace,RC_DemiHuman,9; bonus2 bSubRace,RC_Player_Human,9;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (5554,'Octopus_Hat','Octopus Hat',4,20,NULL,200,NULL,3,NULL,0,0xFFFFFFFF,7,2,256,NULL,20,1,538,'bonus3 bAutoSpell,"SM_PROVOKE",5,10; bonus bUnbreakableHelm;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (5554,'Octopus_Hat','Octopus Hat',4,20,NULL,200,NULL,3,NULL,0,0xFFFFFFFF,7,2,256,NULL,20,1,538,'bonus3 bAutoSpell,"SM_PROVOKE",5,10; bonus bUnbreakableHelm;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (5555,'Leaf_Cat_Hat','Leaf Cat Hat',4,20,NULL,100,NULL,3,NULL,0,0xFFFFFFFF,7,2,256,NULL,0,1,539,'bonus bAgi,1; bonus3 bAutoSpellWhenHit,"AL_HEAL",3,10;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (5555,'Leaf_Cat_Hat','Leaf Cat Hat',4,20,NULL,100,NULL,3,NULL,0,0xFFFFFFFF,7,2,256,NULL,0,1,539,'bonus bAgi,1; bonus3 bAutoSpellWhenHit,"AL_HEAL",3,10;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (5556,'Fur_Seal_Hat','Seal Hat',4,20,NULL,500,NULL,3,NULL,0,0xFFFFFFFF,7,2,769,NULL,55,1,540,'bonus bInt,1; bonus3 bAutoSpell,"WZ_FROSTNOVA",1,30;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (5556,'Fur_Seal_Hat','Seal Hat',4,20,NULL,500,NULL,3,NULL,0,0xFFFFFFFF,7,2,769,NULL,55,1,540,'bonus bInt,1; bonus3 bAutoSpell,"WZ_FROSTNOVA",1,30;',NULL,NULL);
@@ -2777,8 +2777,8 @@ REPLACE INTO `item_db` VALUES (5561,'Rabbit_Magic_Hat_J','Magic Rabbit Hat',4,0,
 REPLACE INTO `item_db` VALUES (5562,'Good_Wedding_Veil_J','Luxurious Wedding Veil',4,0,NULL,500,NULL,0,NULL,1,0xFFFFFFFF,7,2,768,NULL,45,0,489,'bonus bMdef,10; bonus bCastRate,-3; bonus bUseSPrate,-5;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (5562,'Good_Wedding_Veil_J','Luxurious Wedding Veil',4,0,NULL,500,NULL,0,NULL,1,0xFFFFFFFF,7,2,768,NULL,45,0,489,'bonus bMdef,10; bonus bCastRate,-3; bonus bUseSPrate,-5;',NULL,NULL);
 #REPLACE INTO `item_db` VALUES (5563,'Dolor_Hat','Dolor Hat',4,20,NULL,100,NULL,1,NULL,1,0xFFFFFFFF,7,2,256,NULL,0,0,547,NULL,NULL,NULL);
 #REPLACE INTO `item_db` VALUES (5563,'Dolor_Hat','Dolor Hat',4,20,NULL,100,NULL,1,NULL,1,0xFFFFFFFF,7,2,256,NULL,0,0,547,NULL,NULL,NULL);
 REPLACE INTO `item_db` VALUES (5564,'Crown_Of_Deceit','Crown of Deceit',4,20,NULL,300,NULL,3,NULL,1,0xFFFFFFFF,7,2,768,NULL,85,1,544,'bonus bInt,4; bonus bCastRate,-10;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (5564,'Crown_Of_Deceit','Crown of Deceit',4,20,NULL,300,NULL,3,NULL,1,0xFFFFFFFF,7,2,768,NULL,85,1,544,'bonus bInt,4; bonus bCastRate,-10;',NULL,NULL);
-REPLACE INTO `item_db` VALUES (5565,'Dragon_Arhat_Mask','Dragon Arhat Mask',4,0,NULL,0,NULL,5,NULL,0,0xFFFFFFFF,7,2,513,NULL,1,0,545,'bonus2 bAddRace,RC_DemiHuman,10; bonus2 bAddRace,RC_Player,10;',NULL,NULL);
-REPLACE INTO `item_db` VALUES (5566,'Tiger_Arhat_Mask','Tiger Arhat Mask',4,0,NULL,0,NULL,1,NULL,0,0xFFFFFFFF,7,2,513,NULL,1,0,546,'bonus2 bAddRace,RC_DemiHuman,2; bonus2 bAddRace,RC_Player,2;',NULL,NULL);
+REPLACE INTO `item_db` VALUES (5565,'Dragon_Arhat_Mask','Dragon Arhat Mask',4,0,NULL,0,NULL,5,NULL,0,0xFFFFFFFF,7,2,513,NULL,1,0,545,'bonus2 bAddRace,RC_DemiHuman,10; bonus2 bAddRace,RC_Player_Human,10;',NULL,NULL);
+REPLACE INTO `item_db` VALUES (5566,'Tiger_Arhat_Mask','Tiger Arhat Mask',4,0,NULL,0,NULL,1,NULL,0,0xFFFFFFFF,7,2,513,NULL,1,0,546,'bonus2 bAddRace,RC_DemiHuman,2; bonus2 bAddRace,RC_Player_Human,2;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (5567,'Bright_Fury','Bright Fury',4,20,NULL,300,NULL,1,NULL,1,0xFFFFFFFF,7,2,256,NULL,1,1,548,'bonus bStr,1; bonus2 bAddClass,Class_All,2; bonus bAspdRate,2;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (5567,'Bright_Fury','Bright Fury',4,20,NULL,300,NULL,1,NULL,1,0xFFFFFFFF,7,2,256,NULL,1,1,548,'bonus bStr,1; bonus2 bAddClass,Class_All,2; bonus bAspdRate,2;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (5568,'Rabbit_Bonnet','Rabbit Bonnet',4,20,NULL,1000,NULL,1,NULL,1,0xFFFFFFFF,7,2,768,NULL,0,1,549,'bonus bInt,2;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (5568,'Rabbit_Bonnet','Rabbit Bonnet',4,20,NULL,1000,NULL,1,NULL,1,0xFFFFFFFF,7,2,768,NULL,0,1,549,'bonus bInt,2;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (5569,'Gemini_Diadem','Gemini Diadem',4,20,NULL,300,NULL,4,NULL,0,0xFFFFFFFF,7,2,256,NULL,70,1,550,'bonus bAgi,2; bonus bMatkRate,2; if(getrefine()>6) { bonus bMdef,7; bonus bMAtkRate,8; bonus2 bSubEle,Ele_Wind,5; }',NULL,NULL);
 REPLACE INTO `item_db` VALUES (5569,'Gemini_Diadem','Gemini Diadem',4,20,NULL,300,NULL,4,NULL,0,0xFFFFFFFF,7,2,256,NULL,70,1,550,'bonus bAgi,2; bonus bMatkRate,2; if(getrefine()>6) { bonus bMdef,7; bonus bMAtkRate,8; bonus2 bSubEle,Ele_Wind,5; }',NULL,NULL);
@@ -3011,8 +3011,8 @@ REPLACE INTO `item_db` VALUES (5796,'Cheer_Scarf','Cheer Scarf',4,0,NULL,0,NULL,
 REPLACE INTO `item_db` VALUES (5797,'Cheer_Scarf2','Cheer Scarf2',4,0,NULL,0,NULL,0,NULL,0,0xFFFFFFFF,7,2,1,NULL,1,0,369,NULL,NULL,NULL);
 REPLACE INTO `item_db` VALUES (5797,'Cheer_Scarf2','Cheer Scarf2',4,0,NULL,0,NULL,0,NULL,0,0xFFFFFFFF,7,2,1,NULL,1,0,369,NULL,NULL,NULL);
 REPLACE INTO `item_db` VALUES (5798,'Cheer_Scarf3','Cheer Scarf3',4,0,NULL,0,NULL,0,NULL,0,0xFFFFFFFF,7,2,1,NULL,1,0,369,NULL,NULL,NULL);
 REPLACE INTO `item_db` VALUES (5798,'Cheer_Scarf3','Cheer Scarf3',4,0,NULL,0,NULL,0,NULL,0,0xFFFFFFFF,7,2,1,NULL,1,0,369,NULL,NULL,NULL);
 REPLACE INTO `item_db` VALUES (5799,'Cheer_Scarf4','Cheer Scarf4',4,0,NULL,0,NULL,0,NULL,0,0xFFFFFFFF,7,2,1,NULL,1,0,369,NULL,NULL,NULL);
 REPLACE INTO `item_db` VALUES (5799,'Cheer_Scarf4','Cheer Scarf4',4,0,NULL,0,NULL,0,NULL,0,0xFFFFFFFF,7,2,1,NULL,1,0,369,NULL,NULL,NULL);
-REPLACE INTO `item_db` VALUES (5800,'Blush_Of_Groom','Blush of Groom',4,20,NULL,50,NULL,0,NULL,0,0xFFFFFFFF,7,2,512,NULL,0,0,125,'bonus2 bSubRace,RC_DemiHuman,3; bonus2 bSubRace,RC_Player,3;',NULL,NULL);
-REPLACE INTO `item_db` VALUES (5801,'Ribbon_Of_Bride','Red Tailed Ribbon',4,20,NULL,100,NULL,5,NULL,0,0xFFFFFFFF,7,2,256,NULL,0,1,167,'bonus bAllStats,2; bonus2 bSubRace,RC_DemiHuman,10; bonus2 bSubRace,RC_Player,10; if(getskilllv("AL_HEAL")==10) { bonus3 bAutoSpellWhenHit,"AL_HEAL",10,20; } else { bonus3 bAutoSpellWhenHit,"AL_HEAL",5,20; }',NULL,NULL);
+REPLACE INTO `item_db` VALUES (5800,'Blush_Of_Groom','Blush of Groom',4,20,NULL,50,NULL,0,NULL,0,0xFFFFFFFF,7,2,512,NULL,0,0,125,'bonus2 bSubRace,RC_DemiHuman,3; bonus2 bSubRace,RC_Player_Human,3;',NULL,NULL);
+REPLACE INTO `item_db` VALUES (5801,'Ribbon_Of_Bride','Red Tailed Ribbon',4,20,NULL,100,NULL,5,NULL,0,0xFFFFFFFF,7,2,256,NULL,0,1,167,'bonus bAllStats,2; bonus2 bSubRace,RC_DemiHuman,10; bonus2 bSubRace,RC_Player_Human,10; if(getskilllv("AL_HEAL")==10) { bonus3 bAutoSpellWhenHit,"AL_HEAL",10,20; } else { bonus3 bAutoSpellWhenHit,"AL_HEAL",5,20; }',NULL,NULL);
 REPLACE INTO `item_db` VALUES (5802,'Upgrade_Elephant_Hat','Upgraded Elephant Hat',4,0,NULL,500,NULL,3,NULL,1,0xFFFFFFFF,7,2,256,NULL,0,1,215,NULL,NULL,NULL);
 REPLACE INTO `item_db` VALUES (5802,'Upgrade_Elephant_Hat','Upgraded Elephant Hat',4,0,NULL,500,NULL,3,NULL,1,0xFFFFFFFF,7,2,256,NULL,0,1,215,NULL,NULL,NULL);
 REPLACE INTO `item_db` VALUES (5803,'Flower_Love_Hat','Love Flower Hat',4,20,NULL,100,NULL,2,NULL,0,0xFFFFFFFF,7,2,256,NULL,0,1,5,'bonus2 bAddMonsterDropItem,608,100;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (5803,'Flower_Love_Hat','Love Flower Hat',4,20,NULL,100,NULL,2,NULL,0,0xFFFFFFFF,7,2,256,NULL,0,1,5,'bonus2 bAddMonsterDropItem,608,100;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (5804,'Pirate_Eyepatch','Pirate Eye Bandage',4,1000,NULL,100,NULL,0,NULL,0,0xFFFFFFFF,7,2,512,NULL,0,0,13,NULL,NULL,NULL);
 REPLACE INTO `item_db` VALUES (5804,'Pirate_Eyepatch','Pirate Eye Bandage',4,1000,NULL,100,NULL,0,NULL,0,0xFFFFFFFF,7,2,512,NULL,0,0,13,NULL,NULL,NULL);
@@ -3033,7 +3033,7 @@ REPLACE INTO `item_db` VALUES (5818,'Carnival_Hat','Carnival Hat',4,0,NULL,0,NUL
 REPLACE INTO `item_db` VALUES (5819,'Carnival_Circlet','Carnival Circlet',4,0,NULL,0,NULL,6,NULL,0,0xFFFFFFFF,7,2,256,NULL,0,1,506,'bonus bAllStats, 3;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (5819,'Carnival_Circlet','Carnival Circlet',4,0,NULL,0,NULL,6,NULL,0,0xFFFFFFFF,7,2,256,NULL,0,1,506,'bonus bAllStats, 3;',NULL,NULL);
 #REPLACE INTO `item_db` VALUES (5820,'Black_Elven_Ears','Black Elven Ears',4,10,NULL,100,NULL,2,NULL,0,0xFFFFFFFF,7,2,512,NULL,0,0,498,NULL,NULL,NULL);
 #REPLACE INTO `item_db` VALUES (5820,'Black_Elven_Ears','Black Elven Ears',4,10,NULL,100,NULL,2,NULL,0,0xFFFFFFFF,7,2,512,NULL,0,0,498,NULL,NULL,NULL);
 REPLACE INTO `item_db` VALUES (5821,'Gold_Tulip_Hairpin','Gold Tulip Hairpin',4,10,NULL,100,NULL,2,NULL,0,0xFFFFFFFF,7,2,256,NULL,0,1,499,'bonus2 bExpAddClass,Class_All,5;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (5821,'Gold_Tulip_Hairpin','Gold Tulip Hairpin',4,10,NULL,100,NULL,2,NULL,0,0xFFFFFFFF,7,2,256,NULL,0,1,499,'bonus2 bExpAddClass,Class_All,5;',NULL,NULL);
-REPLACE INTO `item_db` VALUES (5822,'Love_Chick_Hat','Love Chick Hat',4,10000,NULL,100,NULL,4,NULL,0,0xFFFFFFFF,7,2,256,NULL,0,1,500,'bonus bLuk,4; bonus bMaxHP,100; bonus bMaxSP,100; bonus2 bSubRace,RC_DemiHuman,7; bonus2 bSubRace,RC_Player,7; bonus2 bSubRace,RC_Undead,7;',NULL,NULL);
+REPLACE INTO `item_db` VALUES (5822,'Love_Chick_Hat','Love Chick Hat',4,10000,NULL,100,NULL,4,NULL,0,0xFFFFFFFF,7,2,256,NULL,0,1,500,'bonus bLuk,4; bonus bMaxHP,100; bonus bMaxSP,100; bonus2 bSubRace,RC_DemiHuman,7; bonus2 bSubRace,RC_Player_Human,7; bonus2 bSubRace,RC_Undead,7;',NULL,NULL);
 #REPLACE INTO `item_db` VALUES (5823,'Love_Arrow','Love Arrow',4,5000,NULL,100,NULL,1,NULL,0,0xFFFFFFFF,7,2,136,NULL,0,0,0,'bonus bDex,5; bonus bAgi,5;',NULL,NULL);
 #REPLACE INTO `item_db` VALUES (5823,'Love_Arrow','Love Arrow',4,5000,NULL,100,NULL,1,NULL,0,0xFFFFFFFF,7,2,136,NULL,0,0,0,'bonus bDex,5; bonus bAgi,5;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (5824,'Fools_Day_Hat','Fools Day Hat',4,20,NULL,300,NULL,6,NULL,1,0xFFFFFFFF,7,2,256,NULL,30,1,265,NULL,NULL,NULL);
 REPLACE INTO `item_db` VALUES (5824,'Fools_Day_Hat','Fools Day Hat',4,20,NULL,300,NULL,6,NULL,1,0xFFFFFFFF,7,2,256,NULL,30,1,265,NULL,NULL,NULL);
 #REPLACE INTO `item_db` VALUES (5825,'Badge_Of_Order_Grace','Badge Of Order Grace',4,0,NULL,0,NULL,1,NULL,0,0xFFFFFFFF,7,2,136,NULL,0,0,0,'bonus bMdef,1;',NULL,NULL);
 #REPLACE INTO `item_db` VALUES (5825,'Badge_Of_Order_Grace','Badge Of Order Grace',4,0,NULL,0,NULL,1,NULL,0,0xFFFFFFFF,7,2,136,NULL,0,0,0,'bonus bMdef,1;',NULL,NULL);
@@ -5375,8 +5375,8 @@ REPLACE INTO `item_db` VALUES (13008,'Jitte_','Jitte',5,20000,NULL,400,70,NULL,1
 REPLACE INTO `item_db` VALUES (13009,'Kamaitachi','Kamaitachi',5,48000,NULL,900,125,NULL,2,0,0x02000000,7,2,2,4,70,1,1,'bonus bAtkEle,Ele_Wind; bonus bCritical,3; bonus bAspdRate,3;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (13009,'Kamaitachi','Kamaitachi',5,48000,NULL,900,125,NULL,2,0,0x02000000,7,2,2,4,70,1,1,'bonus bAtkEle,Ele_Wind; bonus bCritical,3; bonus bAspdRate,3;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (13010,'Asura','Asura',5,3000,NULL,600,50,NULL,1,2,0x02000000,7,2,2,1,12,1,1,'bonus bMatkRate,10;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (13010,'Asura','Asura',5,3000,NULL,600,50,NULL,1,2,0x02000000,7,2,2,1,12,1,1,'bonus bMatkRate,10;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (13011,'Asura_','Asura',5,3000,NULL,600,50,NULL,1,3,0x02000000,7,2,2,1,12,1,1,'bonus bMatkRate,10;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (13011,'Asura_','Asura',5,3000,NULL,600,50,NULL,1,3,0x02000000,7,2,2,1,12,1,1,'bonus bMatkRate,10;',NULL,NULL);
-REPLACE INTO `item_db` VALUES (13012,'Murasame','Murasame',5,20,NULL,700,95,NULL,1,1,0x02000000,7,2,2,2,24,1,1,'bonus bAtkEle,Ele_Water; bonus2 bCriticalAddRace,RC_DemiHuman,10; bonus2 bCriticalAddRace,RC_Player,10;',NULL,NULL);
-REPLACE INTO `item_db` VALUES (13013,'Murasame_','Murasame',5,20,NULL,700,95,NULL,1,2,0x02000000,7,2,2,2,24,1,1,'bonus bAtkEle,Ele_Water; bonus2 bCriticalAddRace,RC_DemiHuman,10; bonus2 bCriticalAddRace,RC_Player,10;',NULL,NULL);
+REPLACE INTO `item_db` VALUES (13012,'Murasame','Murasame',5,20,NULL,700,95,NULL,1,1,0x02000000,7,2,2,2,24,1,1,'bonus bAtkEle,Ele_Water; bonus2 bCriticalAddRace,RC_DemiHuman,10; bonus2 bCriticalAddRace,RC_Player_Human,10;',NULL,NULL);
+REPLACE INTO `item_db` VALUES (13013,'Murasame_','Murasame',5,20,NULL,700,95,NULL,1,2,0x02000000,7,2,2,2,24,1,1,'bonus bAtkEle,Ele_Water; bonus2 bCriticalAddRace,RC_DemiHuman,10; bonus2 bCriticalAddRace,RC_Player_Human,10;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (13014,'Hakujin','Hakujin',5,20,NULL,800,120,NULL,1,0,0x02000000,7,2,2,3,42,1,1,'bonus bInt,2; bonus3 bAutoSpell,"AL_HEAL",1,10;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (13014,'Hakujin','Hakujin',5,20,NULL,800,120,NULL,1,0,0x02000000,7,2,2,3,42,1,1,'bonus bInt,2; bonus3 bAutoSpell,"AL_HEAL",1,10;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (13015,'Hakujin_','Hakujin',5,20,NULL,800,120,NULL,1,1,0x02000000,7,2,2,3,42,1,1,'bonus bInt,2; bonus3 bAutoSpell,"AL_HEAL",1,10;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (13015,'Hakujin_','Hakujin',5,20,NULL,800,120,NULL,1,1,0x02000000,7,2,2,3,42,1,1,'bonus bInt,2; bonus3 bAutoSpell,"AL_HEAL",1,10;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (13016,'Poison_Knife_','Poison Knife',5,20,NULL,800,64,NULL,1,2,0x028F5EEE,7,2,2,3,65,1,1,'bonus bAtkEle,Ele_Poison; bonus2 bAddEff,Eff_Poison,3000;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (13016,'Poison_Knife_','Poison Knife',5,20,NULL,800,64,NULL,1,2,0x028F5EEE,7,2,2,3,65,1,1,'bonus bAtkEle,Ele_Poison; bonus2 bAddEff,Eff_Poison,3000;',NULL,NULL);
@@ -5384,7 +5384,7 @@ REPLACE INTO `item_db` VALUES (13017,'House_Auger_','Ice Pick',5,20,NULL,600,70,
 REPLACE INTO `item_db` VALUES (13018,'Sucsamad_','Sucsamad',5,20,NULL,800,140,NULL,1,1,0x028F5EEE,7,2,2,4,36,1,1,'bonus2 bAddEle,Ele_Earth,10; bonus2 bAddEle,Ele_Wind,10; bonus bUnbreakableWeapon;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (13018,'Sucsamad_','Sucsamad',5,20,NULL,800,140,NULL,1,1,0x028F5EEE,7,2,2,4,36,1,1,'bonus2 bAddEle,Ele_Earth,10; bonus2 bAddEle,Ele_Wind,10; bonus bUnbreakableWeapon;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (13019,'Ginnungagap_','Ginnungagap',5,20,NULL,700,148,NULL,1,1,0x3E9F7EEF,7,2,2,4,70,1,1,'bonus bAtkEle,Ele_Dark; bonus2 bAddEff,Eff_Blind,500; bonus2 bAddEff2,Eff_Blind,50;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (13019,'Ginnungagap_','Ginnungagap',5,20,NULL,700,148,NULL,1,1,0x3E9F7EEF,7,2,2,4,70,1,1,'bonus bAtkEle,Ele_Dark; bonus2 bAddEff,Eff_Blind,500; bonus2 bAddEff2,Eff_Blind,50;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (13020,'Warrior_Balmung_','Warrior\'s Balmung',5,20,NULL,1000,170,NULL,1,0,0xFFFFFFFF,7,2,2,4,48,1,1,'bonus bAllStats,5;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (13020,'Warrior_Balmung_','Warrior\'s Balmung',5,20,NULL,1000,170,NULL,1,0,0xFFFFFFFF,7,2,2,4,48,1,1,'bonus bAllStats,5;',NULL,NULL);
-REPLACE INTO `item_db` VALUES (13021,'Combat_Knife_C','Combat Knife',5,1,NULL,0,129,NULL,1,0,0x028F5EEE,7,2,2,4,1,0,1,'bonus bIgnoreDefRace,RC_DemiHuman; bonus bIgnoreDefRace,RC_Player; bonus2 bSubRace,RC_DemiHuman,10; bonus2 bSubRace,RC_Player,10; bonus2 bSubRace,RC_Demon,-10; bonus bMaxSPrate,10; bonus bSPDrainValue,3;',NULL,NULL);
+REPLACE INTO `item_db` VALUES (13021,'Combat_Knife_C','Combat Knife',5,1,NULL,0,129,NULL,1,0,0x028F5EEE,7,2,2,4,1,0,1,'bonus bIgnoreDefRace,RC_DemiHuman; bonus bIgnoreDefRace,RC_Player_Human; bonus2 bSubRace,RC_DemiHuman,10; bonus2 bSubRace,RC_Player_Human,10; bonus2 bSubRace,RC_Demon,-10; bonus bMaxSPrate,10; bonus bSPDrainValue,3;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (13022,'Counter_Dagger_C','Dagger of Counter',5,1,NULL,0,209,NULL,1,0,0x00810204,7,2,2,4,1,0,1,'bonus bCritical,90;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (13022,'Counter_Dagger_C','Dagger of Counter',5,1,NULL,0,209,NULL,1,0,0x00810204,7,2,2,4,1,0,1,'bonus bCritical,90;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (13023,'Asura_C','Ashura',5,1,NULL,0,120,NULL,1,0,0x02000000,7,2,2,1,1,0,1,'bonus bMatkRate,15;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (13023,'Asura_C','Ashura',5,1,NULL,0,120,NULL,1,0,0x02000000,7,2,2,1,1,0,1,'bonus bMatkRate,15;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (13024,'Sword_Breaker_C','Refined Swordbreaker',5,2,NULL,0,105,NULL,1,0,0x028F5EEE,7,2,2,4,0,0,1,'bonus bBreakWeaponRate,500;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (13024,'Sword_Breaker_C','Refined Swordbreaker',5,2,NULL,0,105,NULL,1,0,0x028F5EEE,7,2,2,4,0,0,1,'bonus bBreakWeaponRate,500;',NULL,NULL);
@@ -5399,13 +5399,13 @@ REPLACE INTO `item_db` VALUES (13032,'Mail_Breaker_','Mailbreaker',5,20,NULL,100
 REPLACE INTO `item_db` VALUES (13033,'Assasin_Dagger_','Assassin Dagger',5,20,NULL,600,140,NULL,1,1,0x00001000,7,2,2,4,36,1,1,'bonus bMaxHPrate,20; bonus bMaxSPrate,15; bonus bAspdRate,2; bonus bAtkEle,Ele_Dark;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (13033,'Assasin_Dagger_','Assassin Dagger',5,20,NULL,600,140,NULL,1,1,0x00001000,7,2,2,4,36,1,1,'bonus bMaxHPrate,20; bonus bMaxSPrate,15; bonus bAspdRate,2; bonus bAtkEle,Ele_Dark;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (13034,'Twilight_Desert','Desert Twilight',5,20,NULL,600,130,NULL,1,2,0x00001000,2,2,2,2,70,1,1,NULL,NULL,NULL);
 REPLACE INTO `item_db` VALUES (13034,'Twilight_Desert','Desert Twilight',5,20,NULL,600,130,NULL,1,2,0x00001000,2,2,2,2,70,1,1,NULL,NULL,NULL);
 REPLACE INTO `item_db` VALUES (13035,'Sandstorm','Sandstorm',5,20,NULL,600,50,NULL,1,4,0x00001000,2,2,2,2,70,1,1,NULL,NULL,NULL);
 REPLACE INTO `item_db` VALUES (13035,'Sandstorm','Sandstorm',5,20,NULL,600,50,NULL,1,4,0x00001000,2,2,2,2,70,1,1,NULL,NULL,NULL);
-REPLACE INTO `item_db` VALUES (13036,'BF_Dagger1','Brave Assassin\'s Damascus',5,20,NULL,0,120,NULL,1,0,0x3E9F7EEF,7,2,2,3,80,1,1,'bonus bStr,1; bonus bAgi,1; bonus2 bAddRace,RC_DemiHuman,75; bonus2 bAddRace,RC_Player,75; bonus2 bIgnoreDefRaceRate,RC_DemiHuman,20; bonus2 bIgnoreDefRaceRate,RC_Player,20; bonus bUnbreakableWeapon; if(Class==Job_Ninja||Class==Job_Rogue||Class==Job_Stalker) bonus bMatkRate,15;',NULL,NULL);
-REPLACE INTO `item_db` VALUES (13037,'BF_Dagger2','Valorous Assassin\'s Damascus',5,20,NULL,0,120,NULL,1,0,0x3E9F7EEF,7,2,2,3,80,1,1,'bonus bStr,1; bonus bAgi,1; bonus2 bAddRace,RC_DemiHuman,75; bonus2 bAddRace,RC_Player,75; bonus bUnbreakableWeapon; autobonus "{ bonus bDefRatioAtkClass,Class_All; }",10,6000,BF_WEAPON,"{ specialeffect2 EF_HASTEUP; }"; if(Class==Job_Ninja||Class==Job_Rogue||Class==Job_Stalker) bonus bMatkRate,15;',NULL,NULL);
+REPLACE INTO `item_db` VALUES (13036,'BF_Dagger1','Brave Assassin\'s Damascus',5,20,NULL,0,120,NULL,1,0,0x3E9F7EEF,7,2,2,3,80,1,1,'bonus bStr,1; bonus bAgi,1; bonus2 bAddRace,RC_DemiHuman,75; bonus2 bAddRace,RC_Player_Human,75; bonus2 bIgnoreDefRaceRate,RC_DemiHuman,20; bonus2 bIgnoreDefRaceRate,RC_Player_Human,20; bonus bUnbreakableWeapon; if(Class==Job_Ninja||Class==Job_Rogue||Class==Job_Stalker) bonus bMatkRate,15;',NULL,NULL);
+REPLACE INTO `item_db` VALUES (13037,'BF_Dagger2','Valorous Assassin\'s Damascus',5,20,NULL,0,120,NULL,1,0,0x3E9F7EEF,7,2,2,3,80,1,1,'bonus bStr,1; bonus bAgi,1; bonus2 bAddRace,RC_DemiHuman,75; bonus2 bAddRace,RC_Player_Human,75; bonus bUnbreakableWeapon; autobonus "{ bonus bDefRatioAtkClass,Class_All; }",10,6000,BF_WEAPON,"{ specialeffect2 EF_HASTEUP; }"; if(Class==Job_Ninja||Class==Job_Rogue||Class==Job_Stalker) bonus bMatkRate,15;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (13038,'Dagger_Of_Hunter','Dagger of Hunter',5,20,NULL,700,120,NULL,1,3,0x00020000,2,2,2,3,70,1,1,'bonus bStr,1; bonus bAgi,2; bonus bDex,1; bonus4 bAutoSpellOnSkill,"RG_BACKSTAP","SM_BASH",10,100; bonus2 bSkillAtk,"RG_BACKSTAP",20;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (13038,'Dagger_Of_Hunter','Dagger of Hunter',5,20,NULL,700,120,NULL,1,3,0x00020000,2,2,2,3,70,1,1,'bonus bStr,1; bonus bAgi,2; bonus bDex,1; bonus4 bAutoSpellOnSkill,"RG_BACKSTAP","SM_BASH",10,100; bonus2 bSkillAtk,"RG_BACKSTAP",20;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (13039,'Ivory_Knife','Ivory Knife',5,20,NULL,700,130,NULL,1,2,0x028F5EEE,2,2,2,3,50,1,1,'bonus bAgi,2; bonus bAspdRate,3; bonus2 bAddEff,Eff_Bleeding,300; bonus3 bAutoSpell,"NPC_CRITICALWOUND",1,30;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (13039,'Ivory_Knife','Ivory Knife',5,20,NULL,700,130,NULL,1,2,0x028F5EEE,2,2,2,3,50,1,1,'bonus bAgi,2; bonus bAspdRate,3; bonus2 bAddEff,Eff_Bleeding,300; bonus3 bAutoSpell,"NPC_CRITICALWOUND",1,30;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (13040,'N_Cutter','Novice Cutter',5,0,NULL,0,50,NULL,1,3,0x3E9F7EEF,7,2,2,1,1,0,1,NULL,NULL,NULL);
 REPLACE INTO `item_db` VALUES (13040,'N_Cutter','Novice Cutter',5,0,NULL,0,50,NULL,1,3,0x3E9F7EEF,7,2,2,1,1,0,1,NULL,NULL,NULL);
 REPLACE INTO `item_db` VALUES (13041,'N_Main_Gauche','Novice Main Gauche',5,0,NULL,0,63,NULL,1,3,0x3E9F7EEF,7,2,2,1,1,0,1,NULL,NULL,NULL);
 REPLACE INTO `item_db` VALUES (13041,'N_Main_Gauche','Novice Main Gauche',5,0,NULL,0,63,NULL,1,3,0x3E9F7EEF,7,2,2,1,1,0,1,NULL,NULL,NULL);
-REPLACE INTO `item_db` VALUES (13042,'Krieger_Dagger1','Glorious Gladius',5,20,NULL,0,120,NULL,1,0,0x3E9F7EEF,7,2,2,4,80,1,1,'bonus2 bAddRace,RC_DemiHuman,75; bonus2 bAddRace,RC_Player,75; bonus2 bIgnoreDefRaceRate,RC_DemiHuman,20; bonus2 bIgnoreDefRaceRate,RC_Player,20; bonus3 bAutoSpell,"PR_LEXDIVINA",1,20; bonus bUnbreakableWeapon; if(getrefine()>5) { bonus2 bAddRace,RC_DemiHuman,(getrefine()-4)*(getrefine()-4); bonus2 bAddRace,RC_Player,(getrefine()-4)*(getrefine()-4); bonus2 bIgnoreDefRaceRate,RC_DemiHuman,5; bonus2 bIgnoreDefRaceRate,RC_Player,5; } if(getrefine()>8) bonus4 bAutoSpellOnSkill,"RG_RAID","NPC_WIDEBLEEDING",1,250;',NULL,NULL);
+REPLACE INTO `item_db` VALUES (13042,'Krieger_Dagger1','Glorious Gladius',5,20,NULL,0,120,NULL,1,0,0x3E9F7EEF,7,2,2,4,80,1,1,'bonus2 bAddRace,RC_DemiHuman,75; bonus2 bAddRace,RC_Player_Human,75; bonus2 bIgnoreDefRaceRate,RC_DemiHuman,20; bonus2 bIgnoreDefRaceRate,RC_Player_Human,20; bonus3 bAutoSpell,"PR_LEXDIVINA",1,20; bonus bUnbreakableWeapon; if(getrefine()>5) { bonus2 bAddRace,RC_DemiHuman,(getrefine()-4)*(getrefine()-4); bonus2 bAddRace,RC_Player_Human,(getrefine()-4)*(getrefine()-4); bonus2 bIgnoreDefRaceRate,RC_DemiHuman,5; bonus2 bIgnoreDefRaceRate,RC_Player_Human,5; } if(getrefine()>8) bonus4 bAutoSpellOnSkill,"RG_RAID","NPC_WIDEBLEEDING",1,250;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (13043,'Fortune_Sword_I','Fortune Sword',5,0,NULL,0,120,NULL,1,0,0x028F5EEE,7,2,2,4,0,0,1,'bonus bLuk,5;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (13043,'Fortune_Sword_I','Fortune Sword',5,0,NULL,0,120,NULL,1,0,0x028F5EEE,7,2,2,4,0,0,1,'bonus bLuk,5;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (13044,'House_Auger_I','Ice Pick',5,0,NULL,0,105,NULL,1,0,0x028F5EEE,7,2,2,4,0,0,1,NULL,NULL,NULL);
 REPLACE INTO `item_db` VALUES (13044,'House_Auger_I','Ice Pick',5,0,NULL,0,105,NULL,1,0,0x028F5EEE,7,2,2,4,0,0,1,NULL,NULL,NULL);
 REPLACE INTO `item_db` VALUES (13045,'Kamaitachi_I','Kamaitachi',5,0,NULL,0,155,NULL,2,0,0x02000000,7,2,2,4,0,0,1,NULL,NULL,NULL);
 REPLACE INTO `item_db` VALUES (13045,'Kamaitachi_I','Kamaitachi',5,0,NULL,0,155,NULL,2,0,0x02000000,7,2,2,4,0,0,1,NULL,NULL,NULL);
@@ -5421,9 +5421,9 @@ REPLACE INTO `item_db` VALUES (13104,'The_Garrison','Garrison',5,48000,NULL,500,
 REPLACE INTO `item_db` VALUES (13105,'The_Garrison_','Garrison',5,48000,NULL,500,70,NULL,7,2,0x41000000,7,2,34,2,55,1,17,'bonus bHit,-10;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (13105,'The_Garrison_','Garrison',5,48000,NULL,500,70,NULL,7,2,0x41000000,7,2,34,2,55,1,17,'bonus bHit,-10;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (13106,'Gold_Lux','Gold Lux',5,100000,NULL,500,20,NULL,7,0,0x41000000,7,2,34,3,12,1,17,'bonus bHit,-10; if(getskilllv("GS_GLITTERING")>0) bonus3 bAutoSpell,"GS_GLITTERING",getskilllv("GS_GLITTERING"),100;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (13106,'Gold_Lux','Gold Lux',5,100000,NULL,500,20,NULL,7,0,0x41000000,7,2,34,3,12,1,17,'bonus bHit,-10; if(getskilllv("GS_GLITTERING")>0) bonus3 bAutoSpell,"GS_GLITTERING",getskilllv("GS_GLITTERING"),100;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (13107,'Wasteland_Outlaw','Wasteland\'s Outlaw',5,20,NULL,580,68,NULL,7,2,0x41000000,7,2,34,3,70,1,17,'bonus bHit,readparam(bAgi)/10; bonus bAspdRate,readparam(bAgi)/14;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (13107,'Wasteland_Outlaw','Wasteland\'s Outlaw',5,20,NULL,580,68,NULL,7,2,0x41000000,7,2,34,3,70,1,17,'bonus bHit,readparam(bAgi)/10; bonus bAspdRate,readparam(bAgi)/14;',NULL,NULL);
-REPLACE INTO `item_db` VALUES (13108,'BF_Pistol1','Soldier Revolver',5,0,NULL,0,70,NULL,7,0,0x41000000,7,2,34,3,80,1,17,'bonus bDex,2; bonus bHit,-10; bonus2 bAddRace,RC_DemiHuman,55; bonus2 bAddRace,RC_Player,55; bonus2 bIgnoreDefRaceRate,RC_DemiHuman,20; bonus2 bIgnoreDefRaceRate,RC_Player,20; autobonus "{ bonus bAspdRate,100; }",10,3000,BF_WEAPON,"{ specialeffect2 EF_POTION_BERSERK; }"; bonus bUnbreakableWeapon;',NULL,NULL);
+REPLACE INTO `item_db` VALUES (13108,'BF_Pistol1','Soldier Revolver',5,0,NULL,0,70,NULL,7,0,0x41000000,7,2,34,3,80,1,17,'bonus bDex,2; bonus bHit,-10; bonus2 bAddRace,RC_DemiHuman,55; bonus2 bAddRace,RC_Player_Human,55; bonus2 bIgnoreDefRaceRate,RC_DemiHuman,20; bonus2 bIgnoreDefRaceRate,RC_Player_Human,20; autobonus "{ bonus bAspdRate,100; }",10,3000,BF_WEAPON,"{ specialeffect2 EF_POTION_BERSERK; }"; bonus bUnbreakableWeapon;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (13109,'Wasteland_Outlaw_C','Wasteland Outlaw',5,20,NULL,0,100,NULL,7,0,0x41000000,7,2,34,3,0,0,17,'bonus bHit,readparam(bAgi)/10; bonus bAspdRate,readparam(bAgi)/14; bonus2 bAddClass,Class_All,10; bonus bMatkRate,10;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (13109,'Wasteland_Outlaw_C','Wasteland Outlaw',5,20,NULL,0,100,NULL,7,0,0x41000000,7,2,34,3,0,0,17,'bonus bHit,readparam(bAgi)/10; bonus bAspdRate,readparam(bAgi)/14; bonus2 bAddClass,Class_All,10; bonus bMatkRate,10;',NULL,NULL);
-REPLACE INTO `item_db` VALUES (13110,'Krieger_Pistol1','Glorious Pistol',5,0,NULL,0,80,NULL,7,0,0x41000000,7,2,34,4,80,1,17,'bonus2 bAddRace,RC_DemiHuman,55; bonus2 bAddRace,RC_Player,55; bonus2 bIgnoreDefRaceRate,RC_DemiHuman,20; bonus2 bIgnoreDefRaceRate,RC_Player,20; bonus bUnbreakableWeapon; if(getrefine()>5){ bonus2 bAddRace,RC_DemiHuman,pow(getrefine()-4,2); bonus2 bAddRace,RC_Player,pow(getrefine()-4,2); bonus2 bIgnoreDefRaceRate,RC_DemiHuman,5; bonus2 bIgnoreDefRaceRate,RC_Player,5; } if(getrefine()>8) { bonus4 bAutoSpellOnSkill,"GS_RAPIDSHOWER","GS_GLITTERING",1,1000; bonus2 bSkillAtk,"GS_RAPIDSHOWER",getrefine()*2; }',NULL,NULL);
+REPLACE INTO `item_db` VALUES (13110,'Krieger_Pistol1','Glorious Pistol',5,0,NULL,0,80,NULL,7,0,0x41000000,7,2,34,4,80,1,17,'bonus2 bAddRace,RC_DemiHuman,55; bonus2 bAddRace,RC_Player_Human,55; bonus2 bIgnoreDefRaceRate,RC_DemiHuman,20; bonus2 bIgnoreDefRaceRate,RC_Player_Human,20; bonus bUnbreakableWeapon; if(getrefine()>5){ bonus2 bAddRace,RC_DemiHuman,pow(getrefine()-4,2); bonus2 bAddRace,RC_Player_Human,pow(getrefine()-4,2); bonus2 bIgnoreDefRaceRate,RC_DemiHuman,5; bonus2 bIgnoreDefRaceRate,RC_Player_Human,5; } if(getrefine()>8) { bonus4 bAutoSpellOnSkill,"GS_RAPIDSHOWER","GS_GLITTERING",1,1000; bonus2 bSkillAtk,"GS_RAPIDSHOWER",getrefine()*2; }',NULL,NULL);
 #13111,Sharpshooter_Revolver
 #13111,Sharpshooter_Revolver
 REPLACE INTO `item_db` VALUES (13112,'P_Revolver1','Eden Revlover I',5,0,NULL,0,4,NULL,7,0,0x41000000,7,2,34,1,26,0,17,'bonus bHit,-5;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (13112,'P_Revolver1','Eden Revlover I',5,0,NULL,0,4,NULL,7,0,0x41000000,7,2,34,1,26,0,17,'bonus bHit,-5;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (13113,'P_Revolver2','Eden Revlover II',5,0,NULL,0,60,NULL,7,0,0x41000000,7,2,34,1,40,0,17,'bonus bHit,-5;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (13113,'P_Revolver2','Eden Revlover II',5,0,NULL,0,60,NULL,7,0,0x41000000,7,2,34,1,40,0,17,'bonus bHit,-5;',NULL,NULL);
@@ -5436,8 +5436,8 @@ REPLACE INTO `item_db` VALUES (13154,'Rolling_Stone','Rolling Stone',5,12000,NUL
 REPLACE INTO `item_db` VALUES (13155,'Black_Rose','Black Rose',5,32000,NULL,900,180,NULL,9,1,0x41000000,7,2,34,2,35,1,20,'bonus bSplashRange,1;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (13155,'Black_Rose','Black Rose',5,32000,NULL,900,180,NULL,9,1,0x41000000,7,2,34,2,35,1,20,'bonus bSplashRange,1;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (13156,'Gate_Keeper','Gate Keeper',5,56000,NULL,1000,210,NULL,9,0,0x41000000,7,2,34,2,24,1,20,'bonus bSplashRange,1; bonus3 bAutoSpell,"GS_SPREADATTACK",6,50;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (13156,'Gate_Keeper','Gate Keeper',5,56000,NULL,1000,210,NULL,9,0,0x41000000,7,2,34,2,24,1,20,'bonus bSplashRange,1; bonus3 bAutoSpell,"GS_SPREADATTACK",6,50;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (13157,'Drifter','Drifter',5,80000,NULL,2300,50,NULL,9,1,0x41000000,7,2,34,2,55,1,19,NULL,NULL,NULL);
 REPLACE INTO `item_db` VALUES (13157,'Drifter','Drifter',5,80000,NULL,2300,50,NULL,9,1,0x41000000,7,2,34,2,55,1,19,NULL,NULL,NULL);
-REPLACE INTO `item_db` VALUES (13158,'Butcher','Butcher',5,130000,NULL,2500,75,NULL,9,0,0x41000000,7,2,34,3,68,1,19,'bonus2 bCriticalAddRace,RC_Brute,10;',NULL,NULL);
-REPLACE INTO `item_db` VALUES (13159,'Butcher_','Butcher',5,130000,NULL,2500,75,NULL,9,1,0x41000000,7,2,34,3,68,1,19,'bonus2 bCriticalAddRace,RC_Brute,10;',NULL,NULL);
+REPLACE INTO `item_db` VALUES (13158,'Butcher','Butcher',5,130000,NULL,2500,75,NULL,9,0,0x41000000,7,2,34,3,68,1,19,'bonus2 bCriticalAddRace,RC_Brute,10; bonus2 bCriticalAddRace,RC_Player_Doram,10;',NULL,NULL);
+REPLACE INTO `item_db` VALUES (13159,'Butcher_','Butcher',5,130000,NULL,2500,75,NULL,9,1,0x41000000,7,2,34,3,68,1,19,'bonus2 bCriticalAddRace,RC_Brute,10; bonus2 bCriticalAddRace,RC_Player_Doram,10;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (13160,'Destroyer','Destroyer',5,110000,NULL,1200,220,NULL,9,0,0x41000000,7,2,34,2,52,1,21,'bonus bBreakArmorRate,200;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (13160,'Destroyer','Destroyer',5,110000,NULL,1200,220,NULL,9,0,0x41000000,7,2,34,2,52,1,21,'bonus bBreakArmorRate,200;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (13161,'Destroyer_','Destroyer',5,110000,NULL,1200,220,NULL,9,1,0x41000000,7,2,34,2,52,1,21,'bonus bBreakArmorRate,200;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (13161,'Destroyer_','Destroyer',5,110000,NULL,1200,220,NULL,9,1,0x41000000,7,2,34,2,52,1,21,'bonus bBreakArmorRate,200;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (13162,'Inferno','Inferno',5,230000,NULL,1250,280,NULL,9,1,0x41000000,7,2,34,2,65,1,21,NULL,NULL,NULL);
 REPLACE INTO `item_db` VALUES (13162,'Inferno','Inferno',5,230000,NULL,1250,280,NULL,9,1,0x41000000,7,2,34,2,65,1,21,NULL,NULL,NULL);
@@ -5449,15 +5449,15 @@ REPLACE INTO `item_db` VALUES (13167,'Gate_KeeperDD','Gate Keeper-DD',5,72000,NU
 REPLACE INTO `item_db` VALUES (13168,'Thunder_P','Thunder P',5,76000,NULL,700,80,NULL,9,1,0x41000000,7,2,34,3,70,1,20,'bonus bSplashRange,1; bonus bHit,-5; bonus bAspdRate,20;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (13168,'Thunder_P','Thunder P',5,76000,NULL,700,80,NULL,9,1,0x41000000,7,2,34,3,70,1,20,'bonus bSplashRange,1; bonus bHit,-5; bonus bAspdRate,20;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (13169,'Thunder_P_','Thunder P',5,76000,NULL,700,80,NULL,9,2,0x41000000,7,2,34,3,70,1,20,'bonus bSplashRange,1; bonus bHit,-5; bonus bAspdRate,20;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (13169,'Thunder_P_','Thunder P',5,76000,NULL,700,80,NULL,9,2,0x41000000,7,2,34,3,70,1,20,'bonus bSplashRange,1; bonus bHit,-5; bonus bAspdRate,20;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (13170,'Lever_Action_Rifle','Lever Action Rifle',5,20,NULL,770,138,NULL,9,2,0x41000000,7,2,34,3,70,1,18,'bonus bHit,20; bonus bCritical,50; bonus bAspdRate,-5;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (13170,'Lever_Action_Rifle','Lever Action Rifle',5,20,NULL,770,138,NULL,9,2,0x41000000,7,2,34,3,70,1,18,'bonus bHit,20; bonus bCritical,50; bonus bAspdRate,-5;',NULL,NULL);
-REPLACE INTO `item_db` VALUES (13171,'BF_Rifle1','Soldier Rifle',5,0,NULL,0,50,NULL,9,0,0x41000000,7,2,34,3,80,1,18,'bonus bDex,2; bonus bHit,10; bonus bCritical,10; bonus2 bAddRace,RC_DemiHuman,75; bonus2 bAddRace,RC_Player,75; bonus2 bCastrate,"GS_TRACKING",-25; bonus2 bIgnoreDefRaceRate,RC_DemiHuman,20; bonus2 bIgnoreDefRaceRate,RC_Player,20; bonus bUnbreakableWeapon;',NULL,NULL);
-REPLACE INTO `item_db` VALUES (13172,'BF_Gatling_Gun1','Soldier Gatling Gun',5,0,NULL,0,80,NULL,9,0,0x41000000,7,2,34,3,80,1,19,'bonus bDex,2; bonus2 bAddRace,RC_DemiHuman,35; bonus2 bAddRace,RC_Player,35; bonus2 bIgnoreDefRaceRate,RC_DemiHuman,20; bonus2 bIgnoreDefRaceRate,RC_Player,20; autobonus "{ bonus bBaseAtk,80; bonus2 bHPLossRate,120,1000; }",10,6000,BF_WEAPON,"{ specialeffect2 EF_BASH3D; }"; bonus bUnbreakableWeapon;',NULL,NULL);
-REPLACE INTO `item_db` VALUES (13173,'BF_Shotgun1','Soldier Shotgun',5,0,NULL,0,100,NULL,9,0,0x41000000,7,2,34,3,80,1,20,'bonus bDex,2; bonus bSplashRange,1; bonus2 bAddRace,RC_DemiHuman,55; bonus2 bAddRace,RC_Player,55; bonus2 bIgnoreDefRaceRate,RC_DemiHuman,20; bonus2 bIgnoreDefRaceRate,RC_Player,20; autobonus "{ bonus bBaseAtk,80; bonus2 bHPLossRate,100,1000; }",30,6000,BF_WEAPON,"{ specialeffect2 EF_BASH3D; }"; bonus bUnbreakableWeapon;',NULL,NULL);
-REPLACE INTO `item_db` VALUES (13174,'BF_Launcher1','Soldier Grenade Launcher',5,0,NULL,0,300,NULL,9,0,0x41000000,7,2,34,3,80,1,21,'bonus bDex,2; bonus2 bAddRace,RC_DemiHuman,35; bonus2 bAddRace,RC_Player,35; bonus2 bIgnoreDefRaceRate,RC_DemiHuman,20; bonus2 bIgnoreDefRaceRate,RC_Player,20; autobonus "{ bonus bBaseAtk,300; bonus2 bHPLossRate,120,1000; }",30,9000,BF_WEAPON,"{ specialeffect2 EF_BASH3D; }"; bonus bUnbreakableWeapon;',NULL,NULL);
+REPLACE INTO `item_db` VALUES (13171,'BF_Rifle1','Soldier Rifle',5,0,NULL,0,50,NULL,9,0,0x41000000,7,2,34,3,80,1,18,'bonus bDex,2; bonus bHit,10; bonus bCritical,10; bonus2 bAddRace,RC_DemiHuman,75; bonus2 bAddRace,RC_Player_Human,75; bonus2 bCastrate,"GS_TRACKING",-25; bonus2 bIgnoreDefRaceRate,RC_DemiHuman,20; bonus2 bIgnoreDefRaceRate,RC_Player_Human,20; bonus bUnbreakableWeapon;',NULL,NULL);
+REPLACE INTO `item_db` VALUES (13172,'BF_Gatling_Gun1','Soldier Gatling Gun',5,0,NULL,0,80,NULL,9,0,0x41000000,7,2,34,3,80,1,19,'bonus bDex,2; bonus2 bAddRace,RC_DemiHuman,35; bonus2 bAddRace,RC_Player_Human,35; bonus2 bIgnoreDefRaceRate,RC_DemiHuman,20; bonus2 bIgnoreDefRaceRate,RC_Player_Human,20; autobonus "{ bonus bBaseAtk,80; bonus2 bHPLossRate,120,1000; }",10,6000,BF_WEAPON,"{ specialeffect2 EF_BASH3D; }"; bonus bUnbreakableWeapon;',NULL,NULL);
+REPLACE INTO `item_db` VALUES (13173,'BF_Shotgun1','Soldier Shotgun',5,0,NULL,0,100,NULL,9,0,0x41000000,7,2,34,3,80,1,20,'bonus bDex,2; bonus bSplashRange,1; bonus2 bAddRace,RC_DemiHuman,55; bonus2 bAddRace,RC_Player_Human,55; bonus2 bIgnoreDefRaceRate,RC_DemiHuman,20; bonus2 bIgnoreDefRaceRate,RC_Player_Human,20; autobonus "{ bonus bBaseAtk,80; bonus2 bHPLossRate,100,1000; }",30,6000,BF_WEAPON,"{ specialeffect2 EF_BASH3D; }"; bonus bUnbreakableWeapon;',NULL,NULL);
+REPLACE INTO `item_db` VALUES (13174,'BF_Launcher1','Soldier Grenade Launcher',5,0,NULL,0,300,NULL,9,0,0x41000000,7,2,34,3,80,1,21,'bonus bDex,2; bonus2 bAddRace,RC_DemiHuman,35; bonus2 bAddRace,RC_Player_Human,35; bonus2 bIgnoreDefRaceRate,RC_DemiHuman,20; bonus2 bIgnoreDefRaceRate,RC_Player_Human,20; autobonus "{ bonus bBaseAtk,300; bonus2 bHPLossRate,120,1000; }",30,9000,BF_WEAPON,"{ specialeffect2 EF_BASH3D; }"; bonus bUnbreakableWeapon;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (13175,'Lever_Action_Rifle_C','Lever Action Rifle',5,20,NULL,0,170,NULL,9,0,0x41000000,7,2,34,3,0,0,18,'bonus bHit,20; bonus bCritical,50; bonus bAspdRate,-5;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (13175,'Lever_Action_Rifle_C','Lever Action Rifle',5,20,NULL,0,170,NULL,9,0,0x41000000,7,2,34,3,0,0,18,'bonus bHit,20; bonus bCritical,50; bonus bAspdRate,-5;',NULL,NULL);
-REPLACE INTO `item_db` VALUES (13176,'Krieger_Rifle1','Glorious Rifle',5,0,NULL,0,90,NULL,9,0,0x41000000,7,2,34,4,80,1,18,'bonus2 bAddRace,RC_DemiHuman,75; bonus2 bAddRace,RC_Player,75; bonus2 bIgnoreDefRaceRate,RC_DemiHuman,20; bonus2 bIgnoreDefRaceRate,RC_Player,20; bonus2 bSkillAtk,"GS_TRIPLEACTION",30; bonus bUnbreakableWeapon; if(getrefine()>5) { bonus2 bAddRace,RC_DemiHuman,(getrefine()-4)*(getrefine()-4); bonus2 bAddRace,RC_Player,(getrefine()-4)*(getrefine()-4); bonus2 bIgnoreDefRaceRate,RC_DemiHuman,5; bonus2 bIgnoreDefRaceRate,RC_Player,5; } if(getrefine()>8) { bonus2 bCastrate,"GS_TRACKING",25; bonus2 bSkillAtk,"GS_TRACKING",getrefine() * 3; }',NULL,NULL);
-REPLACE INTO `item_db` VALUES (13177,'Krieger_Gatling1','Glorious Gatling Gun',5,0,NULL,0,90,NULL,9,0,0x41000000,7,2,34,4,80,1,19,'bonus2 bAddRace,RC_DemiHuman,35; bonus2 bAddRace,RC_Player,35; bonus2 bIgnoreDefRaceRate,RC_DemiHuman,20; bonus2 bIgnoreDefRaceRate,RC_Player,20; bonus2 bSkillAtk,"GS_TRIPLEACTION",30; bonus bUnbreakableWeapon; if(getrefine()>5) { bonus2 bAddRace,RC_DemiHuman,(getrefine()-4)*(getrefine()-4); bonus2 bAddRace,RC_Player,(getrefine()-4)*(getrefine()-4); bonus2 bIgnoreDefRaceRate,RC_DemiHuman,5; bonus2 bIgnoreDefRaceRate,RC_Player,5; } if(getrefine()>8) {bonus2 bAddClass,Class_All,getrefine(); }',NULL,NULL);
-REPLACE INTO `item_db` VALUES (13178,'Krieger_Shotgun1','Glorious Shotgun',5,0,NULL,0,110,NULL,9,0,0x41000000,7,2,34,4,80,1,20,'bonus2 bAddRace,RC_DemiHuman,55; bonus2 bAddRace,RC_Player,55; bonus2 bIgnoreDefRaceRate,RC_DemiHuman,20; bonus2 bIgnoreDefRaceRate,RC_Player,20; bonus bSplashRange,1; bonus2 bSkillAtk,"GS_TRIPLEACTION",30; bonus bUnbreakableWeapon; if(getrefine()>5) { bonus2 bAddRace,RC_DemiHuman,(getrefine()-4)*(getrefine()-4); bonus2 bAddRace,RC_Player,(getrefine()-4)*(getrefine()-4); bonus2 bIgnoreDefRaceRate,RC_DemiHuman,5; bonus2 bIgnoreDefRaceRate,RC_Player,5; } if(getrefine()>8) { bonus2 bSkillAtk,"GS_SPREADATTACK",getrefine() * 2; bonus3 bAddEffOnSkill,"GS_SPREADATTACK",Eff_Stun,2000; }',NULL,NULL);
-REPLACE INTO `item_db` VALUES (13179,'Krieger_Launcher1','Glorious Grenade Launcher',5,0,NULL,0,330,NULL,9,0,0x41000000,7,2,34,4,80,1,21,'bonus2 bAddRace,RC_DemiHuman,35; bonus2 bAddRace,RC_Player,35; bonus2 bIgnoreDefRaceRate,RC_DemiHuman,20; bonus2 bIgnoreDefRaceRate,RC_Player,20; bonus2 bSkillAtk,"GS_TRIPLEACTION",30; bonus bUnbreakableWeapon; if(getrefine()>5) { bonus2 bAddRace,RC_DemiHuman,(getrefine()-4)*(getrefine()-4); bonus2 bAddRace,RC_Player,(getrefine()-4)*(getrefine()-4); bonus2 bIgnoreDefRaceRate,RC_DemiHuman,5; bonus2 bIgnoreDefRaceRate,RC_Player,5; } if(getrefine()>8) { bonus2 bSkillAtk,"GS_GROUNDDRIFT",getrefine() * 2; bonus3 bAddEffOnSkill,"GS_SPREADATTACK",Eff_Stun,2000; autobonus "{ bonus bAspdRate,20; }",200,20000,BF_WEAPON,"{ specialeffect2 EF_POTION_BERSERK; }"; }',NULL,NULL);
+REPLACE INTO `item_db` VALUES (13176,'Krieger_Rifle1','Glorious Rifle',5,0,NULL,0,90,NULL,9,0,0x41000000,7,2,34,4,80,1,18,'bonus2 bAddRace,RC_DemiHuman,75; bonus2 bAddRace,RC_Player_Human,75; bonus2 bIgnoreDefRaceRate,RC_DemiHuman,20; bonus2 bIgnoreDefRaceRate,RC_Player_Human,20; bonus2 bSkillAtk,"GS_TRIPLEACTION",30; bonus bUnbreakableWeapon; if(getrefine()>5) { bonus2 bAddRace,RC_DemiHuman,(getrefine()-4)*(getrefine()-4); bonus2 bAddRace,RC_Player_Human,(getrefine()-4)*(getrefine()-4); bonus2 bIgnoreDefRaceRate,RC_DemiHuman,5; bonus2 bIgnoreDefRaceRate,RC_Player_Human,5; } if(getrefine()>8) { bonus2 bCastrate,"GS_TRACKING",25; bonus2 bSkillAtk,"GS_TRACKING",getrefine() * 3; }',NULL,NULL);
+REPLACE INTO `item_db` VALUES (13177,'Krieger_Gatling1','Glorious Gatling Gun',5,0,NULL,0,90,NULL,9,0,0x41000000,7,2,34,4,80,1,19,'bonus2 bAddRace,RC_DemiHuman,35; bonus2 bAddRace,RC_Player_Human,35; bonus2 bIgnoreDefRaceRate,RC_DemiHuman,20; bonus2 bIgnoreDefRaceRate,RC_Player_Human,20; bonus2 bSkillAtk,"GS_TRIPLEACTION",30; bonus bUnbreakableWeapon; if(getrefine()>5) { bonus2 bAddRace,RC_DemiHuman,(getrefine()-4)*(getrefine()-4); bonus2 bAddRace,RC_Player_Human,(getrefine()-4)*(getrefine()-4); bonus2 bIgnoreDefRaceRate,RC_DemiHuman,5; bonus2 bIgnoreDefRaceRate,RC_Player_Human,5; } if(getrefine()>8) {bonus2 bAddClass,Class_All,getrefine(); }',NULL,NULL);
+REPLACE INTO `item_db` VALUES (13178,'Krieger_Shotgun1','Glorious Shotgun',5,0,NULL,0,110,NULL,9,0,0x41000000,7,2,34,4,80,1,20,'bonus2 bAddRace,RC_DemiHuman,55; bonus2 bAddRace,RC_Player_Human,55; bonus2 bIgnoreDefRaceRate,RC_DemiHuman,20; bonus2 bIgnoreDefRaceRate,RC_Player_Human,20; bonus bSplashRange,1; bonus2 bSkillAtk,"GS_TRIPLEACTION",30; bonus bUnbreakableWeapon; if(getrefine()>5) { bonus2 bAddRace,RC_DemiHuman,(getrefine()-4)*(getrefine()-4); bonus2 bAddRace,RC_Player_Human,(getrefine()-4)*(getrefine()-4); bonus2 bIgnoreDefRaceRate,RC_DemiHuman,5; bonus2 bIgnoreDefRaceRate,RC_Player_Human,5; } if(getrefine()>8) { bonus2 bSkillAtk,"GS_SPREADATTACK",getrefine() * 2; bonus3 bAddEffOnSkill,"GS_SPREADATTACK",Eff_Stun,2000; }',NULL,NULL);
+REPLACE INTO `item_db` VALUES (13179,'Krieger_Launcher1','Glorious Grenade Launcher',5,0,NULL,0,330,NULL,9,0,0x41000000,7,2,34,4,80,1,21,'bonus2 bAddRace,RC_DemiHuman,35; bonus2 bAddRace,RC_Player_Human,35; bonus2 bIgnoreDefRaceRate,RC_DemiHuman,20; bonus2 bIgnoreDefRaceRate,RC_Player_Human,20; bonus2 bSkillAtk,"GS_TRIPLEACTION",30; bonus bUnbreakableWeapon; if(getrefine()>5) { bonus2 bAddRace,RC_DemiHuman,(getrefine()-4)*(getrefine()-4); bonus2 bAddRace,RC_Player_Human,(getrefine()-4)*(getrefine()-4); bonus2 bIgnoreDefRaceRate,RC_DemiHuman,5; bonus2 bIgnoreDefRaceRate,RC_Player_Human,5; } if(getrefine()>8) { bonus2 bSkillAtk,"GS_GROUNDDRIFT",getrefine() * 2; bonus3 bAddEffOnSkill,"GS_SPREADATTACK",Eff_Stun,2000; autobonus "{ bonus bAspdRate,20; }",200,20000,BF_WEAPON,"{ specialeffect2 EF_POTION_BERSERK; }"; }',NULL,NULL);
 # Bullets
 # Bullets
 REPLACE INTO `item_db` VALUES (13200,'Bullet','Bullet',10,1,NULL,2,10,NULL,NULL,NULL,0x41000000,7,2,32768,NULL,1,NULL,3,NULL,NULL,NULL);
 REPLACE INTO `item_db` VALUES (13200,'Bullet','Bullet',10,1,NULL,2,10,NULL,NULL,NULL,0x41000000,7,2,32768,NULL,1,NULL,3,NULL,NULL,NULL);
 REPLACE INTO `item_db` VALUES (13201,'Silver_Bullet','Silver Bullet',10,15,NULL,2,15,NULL,NULL,NULL,0x41000000,7,2,32768,NULL,1,NULL,3,'bonus bAtkEle,Ele_Holy;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (13201,'Silver_Bullet','Silver Bullet',10,15,NULL,2,15,NULL,NULL,NULL,0x41000000,7,2,32768,NULL,1,NULL,3,'bonus bAtkEle,Ele_Holy;',NULL,NULL);
@@ -5517,9 +5517,9 @@ REPLACE INTO `item_db` VALUES (13301,'Huuma_Giant_Wheel','Huuma Giant Wheel Shur
 REPLACE INTO `item_db` VALUES (13302,'Huuma_Giant_Wheel_','Huuma Giant Wheel Shuriken',5,40000,NULL,2500,50,NULL,1,4,0x02000000,7,2,34,4,42,1,22,'bonus bUnbreakableWeapon; bonus2 bAddEff,Eff_Bleeding,100;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (13302,'Huuma_Giant_Wheel_','Huuma Giant Wheel Shuriken',5,40000,NULL,2500,50,NULL,1,4,0x02000000,7,2,34,4,42,1,22,'bonus bUnbreakableWeapon; bonus2 bAddEff,Eff_Bleeding,100;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (13303,'Huuma_Blaze','Huuma Blaze Shuriken',5,78000,NULL,1500,185,NULL,1,0,0x02000000,7,2,34,4,55,1,22,'bonus bUnbreakableWeapon; bonus bAtkEle,Ele_Fire; bonus bDex,-2; bonus3 bAutoSpell,"MG_FIREBALL",5,30;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (13303,'Huuma_Blaze','Huuma Blaze Shuriken',5,78000,NULL,1500,185,NULL,1,0,0x02000000,7,2,34,4,55,1,22,'bonus bUnbreakableWeapon; bonus bAtkEle,Ele_Fire; bonus bDex,-2; bonus3 bAutoSpell,"MG_FIREBALL",5,30;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (13304,'Huuma_Calm_Mind','Huuma Calm Mind',5,20,NULL,1550,112,NULL,1,2,0x02000000,7,2,34,3,70,1,22,'bonus bUnbreakableWeapon; bonus2 bSkillAtk,"NJ_HUUMA",30; bonus bNoCastCancel;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (13304,'Huuma_Calm_Mind','Huuma Calm Mind',5,20,NULL,1550,112,NULL,1,2,0x02000000,7,2,34,3,70,1,22,'bonus bUnbreakableWeapon; bonus2 bSkillAtk,"NJ_HUUMA",30; bonus bNoCastCancel;',NULL,NULL);
-REPLACE INTO `item_db` VALUES (13305,'BF_Huuma_Shuriken1','Brave Huuma Front Shuriken',5,20,NULL,0,55,NULL,1,0,0x02000000,7,2,34,3,80,1,22,'bonus bStr,2; bonus bDex,1; bonus2 bAddRace,RC_DemiHuman,95; bonus2 bAddRace,RC_Player,95; bonus2 bIgnoreDefRaceRate,RC_DemiHuman,20; bonus2 bIgnoreDefRaceRate,RC_Player,20; bonus bUnbreakableWeapon;',NULL,NULL);
-REPLACE INTO `item_db` VALUES (13306,'BF_Huuma_Shuriken2','Valorous Huuma Front Shuriken',5,20,NULL,0,55,NULL,1,0,0x02000000,7,2,34,3,80,1,22,'bonus bStr,2; bonus bDex,1; bonus2 bAddRace,RC_DemiHuman,95; bonus2 bAddRace,RC_Player,95; autobonus "{ bonus2 bSkillAtk,\\\"NJ_HUUMA\\\",100; bonus2 bSkillAtk,\\\"NJ_ISSEN\\\",100; }",50,10000,BF_WEAPON,"{specialeffect2 EF_POTION_BERSERK; }"; bonus bUnbreakableWeapon;',NULL,NULL);
-REPLACE INTO `item_db` VALUES (13307,'Krieger_Huuma_Shuriken1','Glorious Shuriken',5,20,NULL,0,55,NULL,1,0,0x02000000,7,2,34,4,80,1,22,'bonus2 bAddRace,RC_DemiHuman,95; bonus2 bAddRace,RC_Player,95; bonus2 bIgnoreDefRaceRate,RC_DemiHuman,20; bonus2 bIgnoreDefRaceRate,RC_Player,20; bonus bMatkRate,15; autobonus "{ bonus2 bSkillAtk,\\\"NJ_HUUMA\\\",100; bonus2 bSkillAtk,\\\"NJ_ISSEN\\\",100; }",50,10000; bonus bUnbreakableWeapon; if(getrefine()>5) { bonus2 bAddRace,RC_DemiHuman,(getrefine()-3)*(getrefine()-3); bonus2 bAddRace,RC_Player,(getrefine()-3)*(getrefine()-3); bonus2 bIgnoreDefRaceRate,RC_DemiHuman,5; bonus2 bIgnoreDefRaceRate,RC_Player,5; } if(getrefine()>8) { bonus5 bAutoSpellOnSkill,"NJ_ISSEN","AL_HEAL",10,1000,1; bonus4 bAutoSpellOnSkill,"NJ_HUUMA","NPC_CRITICALWOUND",2,200; }',NULL,NULL);
+REPLACE INTO `item_db` VALUES (13305,'BF_Huuma_Shuriken1','Brave Huuma Front Shuriken',5,20,NULL,0,55,NULL,1,0,0x02000000,7,2,34,3,80,1,22,'bonus bStr,2; bonus bDex,1; bonus2 bAddRace,RC_DemiHuman,95; bonus2 bAddRace,RC_Player_Human,95; bonus2 bIgnoreDefRaceRate,RC_DemiHuman,20; bonus2 bIgnoreDefRaceRate,RC_Player_Human,20; bonus bUnbreakableWeapon;',NULL,NULL);
+REPLACE INTO `item_db` VALUES (13306,'BF_Huuma_Shuriken2','Valorous Huuma Front Shuriken',5,20,NULL,0,55,NULL,1,0,0x02000000,7,2,34,3,80,1,22,'bonus bStr,2; bonus bDex,1; bonus2 bAddRace,RC_DemiHuman,95; bonus2 bAddRace,RC_Player_Human,95; autobonus "{ bonus2 bSkillAtk,\\\"NJ_HUUMA\\\",100; bonus2 bSkillAtk,\\\"NJ_ISSEN\\\",100; }",50,10000,BF_WEAPON,"{specialeffect2 EF_POTION_BERSERK; }"; bonus bUnbreakableWeapon;',NULL,NULL);
+REPLACE INTO `item_db` VALUES (13307,'Krieger_Huuma_Shuriken1','Glorious Shuriken',5,20,NULL,0,55,NULL,1,0,0x02000000,7,2,34,4,80,1,22,'bonus2 bAddRace,RC_DemiHuman,95; bonus2 bAddRace,RC_Player_Human,95; bonus2 bIgnoreDefRaceRate,RC_DemiHuman,20; bonus2 bIgnoreDefRaceRate,RC_Player_Human,20; bonus bMatkRate,15; autobonus "{ bonus2 bSkillAtk,\\\"NJ_HUUMA\\\",100; bonus2 bSkillAtk,\\\"NJ_ISSEN\\\",100; }",50,10000; bonus bUnbreakableWeapon; if(getrefine()>5) { bonus2 bAddRace,RC_DemiHuman,(getrefine()-3)*(getrefine()-3); bonus2 bAddRace,RC_Player_Human,(getrefine()-3)*(getrefine()-3); bonus2 bIgnoreDefRaceRate,RC_DemiHuman,5; bonus2 bIgnoreDefRaceRate,RC_Player_Human,5; } if(getrefine()>8) { bonus5 bAutoSpellOnSkill,"NJ_ISSEN","AL_HEAL",10,1000,1; bonus4 bAutoSpellOnSkill,"NJ_HUUMA","NPC_CRITICALWOUND",2,200; }',NULL,NULL);
 REPLACE INTO `item_db` VALUES (13308,'Huuma_Blaze_I','Huuma Blaze Shuriken',5,0,NULL,0,230,NULL,1,0,0x02000000,7,2,34,4,0,0,22,'bonus bUnbreakableWeapon; bonus bAtkEle,Ele_Fire; bonus bDex,2;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (13308,'Huuma_Blaze_I','Huuma Blaze Shuriken',5,0,NULL,0,230,NULL,1,0,0x02000000,7,2,34,4,0,0,22,'bonus bUnbreakableWeapon; bonus bAtkEle,Ele_Fire; bonus bDex,2;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (13309,'Huuma_Giant_Wheel_C','Huuma Giant Wheel Shuriken',5,0,NULL,0,99,NULL,1,0,0x02000000,7,2,34,4,1,0,22,'bonus2 bAddSize,Size_All,80;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (13309,'Huuma_Giant_Wheel_C','Huuma Giant Wheel Shuriken',5,0,NULL,0,99,NULL,1,0,0x02000000,7,2,34,4,1,0,22,'bonus2 bAddSize,Size_All,80;',NULL,NULL);
 # More 1-Handed Swords
 # More 1-Handed Swords
@@ -5530,16 +5530,16 @@ REPLACE INTO `item_db` VALUES (13403,'Solar_Sword_C','Solar Sword',5,2,NULL,0,12
 REPLACE INTO `item_db` VALUES (13404,'Platinum_Shotel','Platinum Shotel',5,20,NULL,1500,130,NULL,1,1,0x000654E2,7,2,2,4,55,1,2,'bonus bCritical,50;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (13404,'Platinum_Shotel','Platinum Shotel',5,20,NULL,1500,130,NULL,1,1,0x000654E2,7,2,2,4,55,1,2,'bonus bCritical,50;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (13405,'Curved_Sword','Curved Sword',5,20,NULL,800,125,NULL,1,2,0x000654E2,7,2,2,4,55,1,2,'bonus bAspdRate,10; bonus2 bAddEff,Eff_Curse,300;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (13405,'Curved_Sword','Curved Sword',5,20,NULL,800,125,NULL,1,2,0x000654E2,7,2,2,4,55,1,2,'bonus bAspdRate,10; bonus2 bAddEff,Eff_Curse,300;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (13406,'Edger','Edger',5,20,NULL,0,120,NULL,1,0,0x000654E2,7,2,2,1,0,0,2,'bonus2 bAddClass,Class_All,50;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (13406,'Edger','Edger',5,20,NULL,0,120,NULL,1,0,0x000654E2,7,2,2,1,0,0,2,'bonus2 bAddClass,Class_All,50;',NULL,NULL);
-REPLACE INTO `item_db` VALUES (13407,'Nagan_C','Refined Nagan',5,1,NULL,0,148,NULL,1,0,0x000654E2,7,2,2,4,0,0,2,'skill "TF_DOUBLE",5; bonus bDoubleRate,25; bonus2 bAddRace,RC_DemiHuman,40; bonus2 bAddRace,RC_Player,40;',NULL,NULL);
+REPLACE INTO `item_db` VALUES (13407,'Nagan_C','Refined Nagan',5,1,NULL,0,148,NULL,1,0,0x000654E2,7,2,2,4,0,0,2,'skill "TF_DOUBLE",5; bonus bDoubleRate,25; bonus2 bAddRace,RC_DemiHuman,40; bonus2 bAddRace,RC_Player_Human,40;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (13408,'Fire_Brand_C','Refined Fireblend',5,1,NULL,0,120,NULL,1,0,0x000654E2,7,2,2,4,0,0,2,'bonus bAtkEle,Ele_Fire; bonus bInt,2; skill "MG_FIREBOLT",5; bonus3 bAutoSpell,"MG_FIREBOLT",5,100;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (13408,'Fire_Brand_C','Refined Fireblend',5,1,NULL,0,120,NULL,1,0,0x000654E2,7,2,2,4,0,0,2,'bonus bAtkEle,Ele_Fire; bonus bInt,2; skill "MG_FIREBOLT",5; bonus3 bAutoSpell,"MG_FIREBOLT",5,100;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (13409,'Immaterial_Sword_C','Refined Immaterial Sword',5,1,NULL,0,160,NULL,1,0,0x000654E2,7,2,2,4,0,0,2,'bonus bAtkEle,Ele_Ghost; bonus2 bSPVanishRate,45,30; bonus bSPDrainValue,-1; bonus bUnbreakableWeapon;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (13409,'Immaterial_Sword_C','Refined Immaterial Sword',5,1,NULL,0,160,NULL,1,0,0x000654E2,7,2,2,4,0,0,2,'bonus bAtkEle,Ele_Ghost; bonus2 bSPVanishRate,45,30; bonus bSPDrainValue,-1; bonus bUnbreakableWeapon;',NULL,NULL);
-REPLACE INTO `item_db` VALUES (13410,'BF_Sword1','Valorous Gladiator Blade',5,20,NULL,0,115,NULL,1,0,0x000654E3,7,2,2,3,80,1,2,'bonus bStr,1; bonus bDex,1; bonus2 bAddRace,RC_DemiHuman,75; bonus2 bAddRace,RC_Player,75; bonus2 bIgnoreDefRaceRate,RC_DemiHuman,20; bonus2 bIgnoreDefRaceRate,RC_Player,20; bonus bUnbreakableWeapon;',NULL,NULL);
-REPLACE INTO `item_db` VALUES (13411,'BF_Sword2','Brave Gladiator Blade',5,20,NULL,0,115,NULL,1,0,0x000654E3,7,2,2,3,80,1,2,'bonus bStr,1; bonus bDex,1; bonus2 bAddRace,RC_DemiHuman,75; bonus2 bAddRace,RC_Player,75; bonus bMatkRate,10; bonus bUnbreakableWeapon;',NULL,NULL);
+REPLACE INTO `item_db` VALUES (13410,'BF_Sword1','Valorous Gladiator Blade',5,20,NULL,0,115,NULL,1,0,0x000654E3,7,2,2,3,80,1,2,'bonus bStr,1; bonus bDex,1; bonus2 bAddRace,RC_DemiHuman,75; bonus2 bAddRace,RC_Player_Human,75; bonus2 bIgnoreDefRaceRate,RC_DemiHuman,20; bonus2 bIgnoreDefRaceRate,RC_Player_Human,20; bonus bUnbreakableWeapon;',NULL,NULL);
+REPLACE INTO `item_db` VALUES (13411,'BF_Sword2','Brave Gladiator Blade',5,20,NULL,0,115,NULL,1,0,0x000654E3,7,2,2,3,80,1,2,'bonus bStr,1; bonus bDex,1; bonus2 bAddRace,RC_DemiHuman,75; bonus2 bAddRace,RC_Player_Human,75; bonus bMatkRate,10; bonus bUnbreakableWeapon;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (13412,'Twin_Edge_B','Twin Edge of Naght Sieger',5,20,NULL,1500,150,NULL,1,3,0x000654E2,2,2,2,4,75,1,2,'bonus bAtkEle,Ele_Water; skill "MG_FROSTDIVER",5; autobonus "{ bonus bIgnoreDefClass,Class_Normal; }",50,5000;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (13412,'Twin_Edge_B','Twin Edge of Naght Sieger',5,20,NULL,1500,150,NULL,1,3,0x000654E2,2,2,2,4,75,1,2,'bonus bAtkEle,Ele_Water; skill "MG_FROSTDIVER",5; autobonus "{ bonus bIgnoreDefClass,Class_Normal; }",50,5000;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (13413,'Twin_Edge_R','Twin Edge of Naght Sieger',5,20,NULL,1500,160,NULL,1,3,0x000654E2,2,2,2,4,75,1,2,'bonus bAtkEle,Ele_Fire; skill "WZ_METEOR",3; autobonus "{ bonus bIgnoreDefClass,Class_Normal; }",50,5000;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (13413,'Twin_Edge_R','Twin Edge of Naght Sieger',5,20,NULL,1500,160,NULL,1,3,0x000654E2,2,2,2,4,75,1,2,'bonus bAtkEle,Ele_Fire; skill "WZ_METEOR",3; autobonus "{ bonus bIgnoreDefClass,Class_Normal; }",50,5000;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (13414,'Elemental_Sword','Elemental Sword',5,20,NULL,1200,105,NULL,1,3,0x000654E2,2,2,2,3,70,1,2,'bonus bStr,2; bonus bInt,4; bonus bDex,1; bonus bMatkRate,5; bonus2 bAddEle,Ele_Neutral,10; bonus3 bAutoSpell,"MG_COLDBOLT",3,50; bonus4 bAutoSpellOnSkill,"MG_COLDBOLT","MG_FIREBOLT",3,1000; bonus4 bAutoSpellOnSkill,"MG_FIREBOLT","MG_LIGHTNINGBOLT",3,1000; bonus4 bAutoSpellOnSkill,"MG_LIGHTNINGBOLT","WZ_EARTHSPIKE",3,1000;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (13414,'Elemental_Sword','Elemental Sword',5,20,NULL,1200,105,NULL,1,3,0x000654E2,2,2,2,3,70,1,2,'bonus bStr,2; bonus bInt,4; bonus bDex,1; bonus bMatkRate,5; bonus2 bAddEle,Ele_Neutral,10; bonus3 bAutoSpell,"MG_COLDBOLT",3,50; bonus4 bAutoSpellOnSkill,"MG_COLDBOLT","MG_FIREBOLT",3,1000; bonus4 bAutoSpellOnSkill,"MG_FIREBOLT","MG_LIGHTNINGBOLT",3,1000; bonus4 bAutoSpellOnSkill,"MG_LIGHTNINGBOLT","WZ_EARTHSPIKE",3,1000;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (13415,'N_Falchion','Novice Falchion',5,0,NULL,0,59,NULL,1,3,0x000654E3,7,2,2,1,2,0,2,NULL,NULL,NULL);
 REPLACE INTO `item_db` VALUES (13415,'N_Falchion','Novice Falchion',5,0,NULL,0,59,NULL,1,3,0x000654E3,7,2,2,1,2,0,2,NULL,NULL,NULL);
-REPLACE INTO `item_db` VALUES (13416,'Krieger_Onehand_Sword1','Glorious Flamberge',5,20,NULL,0,130,NULL,1,0,0x000654E3,7,2,2,4,80,1,2,'bonus2 bAddRace,RC_DemiHuman,75; bonus2 bAddRace,RC_Player,75; bonus2 bIgnoreDefRaceRate,RC_DemiHuman,20; bonus2 bIgnoreDefRaceRate,RC_Player,20; bonus bUnbreakableWeapon; if(getrefine()>5) { bonus2 bAddRace,RC_DemiHuman,(getrefine()-4)*(getrefine()-4); bonus2 bAddRace,RC_Player,(getrefine()-4)*(getrefine()-4); bonus2 bIgnoreDefRaceRate,RC_DemiHuman,5; bonus2 bIgnoreDefRaceRate,RC_Player,5; } if(getrefine()>6) bonus bAspdRate,5; if(getrefine()>8) { bonus bAspdRate,5; bonus4 bAutoSpellOnSkill,"SM_BASH","NPC_CRITICALWOUND",2,200; }',NULL,NULL);
+REPLACE INTO `item_db` VALUES (13416,'Krieger_Onehand_Sword1','Glorious Flamberge',5,20,NULL,0,130,NULL,1,0,0x000654E3,7,2,2,4,80,1,2,'bonus2 bAddRace,RC_DemiHuman,75; bonus2 bAddRace,RC_Player_Human,75; bonus2 bIgnoreDefRaceRate,RC_DemiHuman,20; bonus2 bIgnoreDefRaceRate,RC_Player_Human,20; bonus bUnbreakableWeapon; if(getrefine()>5) { bonus2 bAddRace,RC_DemiHuman,(getrefine()-4)*(getrefine()-4); bonus2 bAddRace,RC_Player_Human,(getrefine()-4)*(getrefine()-4); bonus2 bIgnoreDefRaceRate,RC_DemiHuman,5; bonus2 bIgnoreDefRaceRate,RC_Player_Human,5; } if(getrefine()>6) bonus bAspdRate,5; if(getrefine()>8) { bonus bAspdRate,5; bonus4 bAutoSpellOnSkill,"SM_BASH","NPC_CRITICALWOUND",2,200; }',NULL,NULL);
 REPLACE INTO `item_db` VALUES (13417,'Krieger_Onehand_Sword2','Glorious Rapier',5,20,NULL,0,130,NULL,1,0,0x000654E3,7,2,2,4,80,1,2,'bonus bInt,getrefine()-5; bonus bMatkRate,10; bonus bUnbreakableWeapon; if(getrefine()>5) bonus bUseSPrate,-10; if(getrefine()>8) bonus bInt,5;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (13417,'Krieger_Onehand_Sword2','Glorious Rapier',5,20,NULL,0,130,NULL,1,0,0x000654E3,7,2,2,4,80,1,2,'bonus bInt,getrefine()-5; bonus bMatkRate,10; bonus bUnbreakableWeapon; if(getrefine()>5) bonus bUseSPrate,-10; if(getrefine()>8) bonus bInt,5;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (13418,'Krieger_Onehand_Sword3','Glorious Holy Avenger',5,20,NULL,0,130,NULL,1,0,0x000444A2,7,2,2,4,80,1,2,'bonus bInt,getrefine()-5; bonus bMatkRate,10; bonus bUnbreakableWeapon; if(getrefine()>5) bonus bUseSPrate,-10; if(getrefine()>8) bonus4 bAutoSpellOnSkill,"PA_PRESSURE","PR_LEXAETERNA",1,1000; if(getrefine()>9) bonus bInt,5;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (13418,'Krieger_Onehand_Sword3','Glorious Holy Avenger',5,20,NULL,0,130,NULL,1,0,0x000444A2,7,2,2,4,80,1,2,'bonus bInt,getrefine()-5; bonus bMatkRate,10; bonus bUnbreakableWeapon; if(getrefine()>5) bonus bUseSPrate,-10; if(getrefine()>8) bonus4 bAutoSpellOnSkill,"PA_PRESSURE","PR_LEXAETERNA",1,1000; if(getrefine()>9) bonus bInt,5;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (13419,'Holy_Saber','Holy saber',5,20,NULL,0,160,NULL,1,0,0x000654E2,7,2,2,3,0,0,2,NULL,NULL,NULL);
 REPLACE INTO `item_db` VALUES (13419,'Holy_Saber','Holy saber',5,20,NULL,0,160,NULL,1,0,0x000654E2,7,2,2,3,0,0,2,NULL,NULL,NULL);
@@ -6479,7 +6479,7 @@ REPLACE INTO `item_db` VALUES (14607,'Luxurious_Dinner_W','Luxurious Western Foo
 REPLACE INTO `item_db` VALUES (14608,'Luxurious_Dinner_E','Manchu-Han Imperial Feast',2,20000,NULL,1200,NULL,NULL,NULL,NULL,0xFFFFFFFF,7,2,NULL,NULL,NULL,NULL,NULL,'sc_start SC_INCALLSTATUS,3600000,6;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (14608,'Luxurious_Dinner_E','Manchu-Han Imperial Feast',2,20000,NULL,1200,NULL,NULL,NULL,NULL,0xFFFFFFFF,7,2,NULL,NULL,NULL,NULL,NULL,'sc_start SC_INCALLSTATUS,3600000,6;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (14609,'Spoiled_Cuisine','Spoiled Cuisine',2,0,NULL,0,NULL,NULL,NULL,NULL,0xFFFFFFFF,7,2,NULL,NULL,NULL,NULL,NULL,'percentheal 10,10;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (14609,'Spoiled_Cuisine','Spoiled Cuisine',2,0,NULL,0,NULL,NULL,NULL,NULL,0xFFFFFFFF,7,2,NULL,NULL,NULL,NULL,NULL,'percentheal 10,10;',NULL,NULL);
 # More Armors
 # More Armors
-REPLACE INTO `item_db` VALUES (15000,'Bone_Plate','Bone Plate',4,20,NULL,1000,NULL,7,NULL,1,0x000654E2,2,2,16,NULL,85,1,0,'bonus bStr,1; bonus bMdef,3; bonus2 bIgnoreDefRaceRate,RC_DemiHuman,10; bonus2 bIgnoreDefRaceRate,RC_Player,10; bonus2 bIgnoreDefRaceRate,RC_Brute,10; bonus3 bAutoSpellWhenHit,"NPC_WIDEBLEEDING",1,10;',NULL,NULL);
+REPLACE INTO `item_db` VALUES (15000,'Bone_Plate','Bone Plate',4,20,NULL,1000,NULL,7,NULL,1,0x000654E2,2,2,16,NULL,85,1,0,'bonus bStr,1; bonus bMdef,3; bonus2 bIgnoreDefRaceRate,RC_DemiHuman,10; bonus2 bIgnoreDefRaceRate,RC_Player_Human,10; bonus2 bIgnoreDefRaceRate,RC_Brute,10; bonus2 bIgnoreDefRaceRate,RC_Player_Doram,10; bonus3 bAutoSpellWhenHit,"NPC_WIDEBLEEDING",1,10;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (15001,'Odin\'s_Blessing_I','Odin\'s Blessing',4,0,NULL,0,NULL,10,NULL,0,0xFFFFFFFE,7,2,16,NULL,0,0,0,NULL,NULL,NULL);
 REPLACE INTO `item_db` VALUES (15001,'Odin\'s_Blessing_I','Odin\'s Blessing',4,0,NULL,0,NULL,10,NULL,0,0xFFFFFFFE,7,2,16,NULL,0,0,0,NULL,NULL,NULL);
 # More Maces
 # More Maces
 REPLACE INTO `item_db` VALUES (16000,'Erde','Erde',5,20,NULL,500,130,NULL,1,2,0x0004C5B2,2,2,2,4,50,1,8,'bonus2 bSkillAtk,"AM_ACIDTERROR",20; bonus2 bSkillAtk,"AM_DEMONSTRATION",20; bonus bMaxSP,50; bonus bHealPower,10;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (16000,'Erde','Erde',5,20,NULL,500,130,NULL,1,2,0x0004C5B2,2,2,2,4,50,1,8,'bonus2 bSkillAtk,"AM_ACIDTERROR",20; bonus2 bSkillAtk,"AM_DEMONSTRATION",20; bonus bMaxSP,50; bonus bHealPower,10;',NULL,NULL);
@@ -6605,7 +6605,7 @@ REPLACE INTO `item_db` VALUES (18595,'Horn_Of_Ancient','Horn of Ancient',4,40,NU
 REPLACE INTO `item_db` VALUES (18596,'Sprout_Hat','Sprout Hat',4,20,NULL,200,NULL,4,NULL,0,0xFFFFFFFF,7,2,256,NULL,70,1,758,'skill "WZ_HEAVENDRIVE",3;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (18596,'Sprout_Hat','Sprout Hat',4,20,NULL,200,NULL,4,NULL,0,0xFFFFFFFF,7,2,256,NULL,70,1,758,'skill "WZ_HEAVENDRIVE",3;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (18597,'Mercury_Helm','Mercury Riser',4,40,NULL,200,NULL,10,NULL,1,0xFFFFFFFF,7,2,256,NULL,0,1,759,'bonus bAspdRate,3; bonus bCritical,3; if(getrefine() >= 7) { bonus bAspdRate,2; bonus bCritical,2; } if(getrefine() >= 9) { bonus bAspdRate,2; bonus bCritical,2; }',NULL,NULL);
 REPLACE INTO `item_db` VALUES (18597,'Mercury_Helm','Mercury Riser',4,40,NULL,200,NULL,10,NULL,1,0xFFFFFFFF,7,2,256,NULL,0,1,759,'bonus bAspdRate,3; bonus bCritical,3; if(getrefine() >= 7) { bonus bAspdRate,2; bonus bCritical,2; } if(getrefine() >= 9) { bonus bAspdRate,2; bonus bCritical,2; }',NULL,NULL);
 #
 #
-REPLACE INTO `item_db` VALUES (18600,'Cat_Ears_Beret','Cat Ear Beret',4,20,NULL,100,NULL,5,NULL,0,0xFFFFFFFF,7,2,256,NULL,0,1,761,'bonus bAtkRate,5; if(getrefine() > 5 && getrefine() <= 12) { bonus2 bAddRace,RC_DemiHuman,(getrefine() - 5); bonus2 bSubRace,RC_DemiHuman,(getrefine() - 5); bonus2 bAddRace,RC_Player,(getrefine() - 5); bonus2 bSubRace,RC_Player,(getrefine() - 5); } if(getrefine() > 12) { bonus2 bAddRace,RC_DemiHuman,7; bonus2 bAddRace,RC_Player,7; bonus2 bSubRace,RC_DemiHuman,7; bonus2 bSubRace,RC_Player,7; }',NULL,NULL);
+REPLACE INTO `item_db` VALUES (18600,'Cat_Ears_Beret','Cat Ear Beret',4,20,NULL,100,NULL,5,NULL,0,0xFFFFFFFF,7,2,256,NULL,0,1,761,'bonus bAtkRate,5; if(getrefine() > 5 && getrefine() <= 12) { bonus2 bAddRace,RC_DemiHuman,(getrefine() - 5); bonus2 bSubRace,RC_DemiHuman,(getrefine() - 5); bonus2 bAddRace,RC_Player_Human,(getrefine() - 5); bonus2 bSubRace,RC_Player_Human,(getrefine() - 5); } if(getrefine() > 12) { bonus2 bAddRace,RC_DemiHuman,7; bonus2 bAddRace,RC_Player_Human,7; bonus2 bSubRace,RC_DemiHuman,7; bonus2 bSubRace,RC_Player_Human,7; }',NULL,NULL);
 #
 #
 REPLACE INTO `item_db` VALUES (18612,'White_Musang_Hat','White Musang Hat',4,40,NULL,200,NULL,3,NULL,1,0xFFFFFFFF,7,2,256,NULL,0,1,770,'bonus bStr,2; bonus bVit,2; bonus bLuk,1; bonus bUnbreakableHelm;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (18612,'White_Musang_Hat','White Musang Hat',4,40,NULL,200,NULL,3,NULL,1,0xFFFFFFFF,7,2,256,NULL,0,1,770,'bonus bStr,2; bonus bVit,2; bonus bLuk,1; bonus bUnbreakableHelm;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (18613,'Black_Musang_Hat','Black Musang Hat',4,40,NULL,200,NULL,3,NULL,1,0xFFFFFFFF,7,2,256,NULL,0,1,771,'bonus bInt,2; bonus bDex,2; bonus bAgi,1; bonus bUnbreakableHelm;',NULL,NULL);
 REPLACE INTO `item_db` VALUES (18613,'Black_Musang_Hat','Black Musang Hat',4,40,NULL,200,NULL,3,NULL,1,0xFFFFFFFF,7,2,256,NULL,0,1,771,'bonus bInt,2; bonus bDex,2; bonus bAgi,1; bonus bUnbreakableHelm;',NULL,NULL);

文件差异内容过多而无法显示
+ 181 - 181
sql-files/item_db_re.sql


+ 6 - 2
sql-files/main.sql

@@ -252,8 +252,9 @@ CREATE TABLE IF NOT EXISTS `char` (
   `unban_time` int(11) unsigned NOT NULL default '0',
   `unban_time` int(11) unsigned NOT NULL default '0',
   `font` tinyint(3) unsigned NOT NULL default '0',
   `font` tinyint(3) unsigned NOT NULL default '0',
   `uniqueitem_counter` int(11) unsigned NOT NULL default '0',
   `uniqueitem_counter` int(11) unsigned NOT NULL default '0',
-  `sex` ENUM('M','F','U') NOT NULL default 'U',
+  `sex` ENUM('M','F') NOT NULL,
   `hotkey_rowshift` tinyint(3) unsigned NOT NULL default '0',
   `hotkey_rowshift` tinyint(3) unsigned NOT NULL default '0',
+  `hotkey_rowshift2` tinyint(3) unsigned NOT NULL default '0',
   `clan_id` int(11) unsigned NOT NULL default '0',
   `clan_id` int(11) unsigned NOT NULL default '0',
   `last_login` datetime DEFAULT NULL,
   `last_login` datetime DEFAULT NULL,
   `title_id` INT(11) unsigned NOT NULL default '0',
   `title_id` INT(11) unsigned NOT NULL default '0',
@@ -753,8 +754,11 @@ CREATE TABLE IF NOT EXISTS `login` (
   `pincode_change` int(11) unsigned NOT NULL DEFAULT '0',
   `pincode_change` int(11) unsigned NOT NULL DEFAULT '0',
   `vip_time` int(11) unsigned NOT NULL default '0',
   `vip_time` int(11) unsigned NOT NULL default '0',
   `old_group` tinyint(3) NOT NULL default '0',
   `old_group` tinyint(3) NOT NULL default '0',
+  `web_auth_token` varchar(17) null,
+  `web_auth_token_enabled` tinyint(2) NOT NULL default '0',
   PRIMARY KEY  (`account_id`),
   PRIMARY KEY  (`account_id`),
-  KEY `name` (`userid`)
+  KEY `name` (`userid`),
+  UNIQUE KEY `web_auth_token_key` (`web_auth_token`)
 ) ENGINE=MyISAM AUTO_INCREMENT=2000000; 
 ) ENGINE=MyISAM AUTO_INCREMENT=2000000; 
 
 
 -- added standard accounts for servers, VERY INSECURE!!!
 -- added standard accounts for servers, VERY INSECURE!!!

+ 242 - 9
sql-files/mob_db_re.sql

@@ -369,7 +369,7 @@ REPLACE INTO `mob_db_re` VALUES (1289,'MAYA_PUPLE','Maya Purple','Maya Purple',8
 REPLACE INTO `mob_db_re` VALUES (1290,'SKELETON_GENERAL','Skeleton General','Skeleton General',88,6720,0,1368,1553,1,1317,1701,100,35,72,34,52,31,84,25,10,12,1,1,29,0x3695,150,2276,576,432,0,0,0,0,0,0,0,7068,2550,756,160,508,800,0,0,1219,80,13035,15,2274,1,0,0,0,0,4221,1);
 REPLACE INTO `mob_db_re` VALUES (1290,'SKELETON_GENERAL','Skeleton General','Skeleton General',88,6720,0,1368,1553,1,1317,1701,100,35,72,34,52,31,84,25,10,12,1,1,29,0x3695,150,2276,576,432,0,0,0,0,0,0,0,7068,2550,756,160,508,800,0,0,1219,80,13035,15,2274,1,0,0,0,0,4221,1);
 REPLACE INTO `mob_db_re` VALUES (1291,'WRAITH_DEAD','Wraith Dead','Wraith Dead',86,10035,0,2518,1824,2,1002,160,88,56,63,69,55,45,88,45,10,12,2,1,89,0x3695,175,1816,576,240,0,0,0,0,0,0,0,1059,4413,2206,10,2506,8,716,700,732,5,603,100,568,300,0,0,0,0,4189,1);
 REPLACE INTO `mob_db_re` VALUES (1291,'WRAITH_DEAD','Wraith Dead','Wraith Dead',86,10035,0,2518,1824,2,1002,160,88,56,63,69,55,45,88,45,10,12,2,1,89,0x3695,175,1816,576,240,0,0,0,0,0,0,0,1059,4413,2206,10,2506,8,716,700,732,5,603,100,568,300,0,0,0,0,4189,1);
 REPLACE INTO `mob_db_re` VALUES (1292,'MINI_DEMON','Mini Demon','Mini Demon',117,19402,1,2700,2025,1,938,114,80,25,130,69,55,56,79,40,10,12,0,6,27,0x2003695,150,1000,600,384,0,0,0,0,0,0,0,1038,4413,1039,450,2255,3,757,160,912,2500,1009,10,1478,5,0,0,0,0,4204,1);
 REPLACE INTO `mob_db_re` VALUES (1292,'MINI_DEMON','Mini Demon','Mini Demon',117,19402,1,2700,2025,1,938,114,80,25,130,69,55,56,79,40,10,12,0,6,27,0x2003695,150,1000,600,384,0,0,0,0,0,0,0,1038,4413,1039,450,2255,3,757,160,912,2500,1009,10,1478,5,0,0,0,0,4204,1);
-REPLACE INTO `mob_db_re` VALUES (1293,'CREMY_FEAR','Creamy Fear','Creamy Fear',77,3420,0,945,1067,2,757,110,76,37,65,36,33,49,66,30,10,12,0,4,24,0x2003695,155,1136,720,840,0,0,0,0,0,0,0,924,4550,2333,10,518,550,602,200,1550,8,2726,5,522,50,0,0,0,0,4298,1);
+REPLACE INTO `mob_db_re` VALUES (1293,'CREMY_FEAR','Creamy Fear','Creamy Fear',117,18211,0,2583,2475,2,731,243,76,37,65,36,33,49,79,30,10,12,0,4,24,0x2003695,155,1136,720,840,0,0,0,0,0,0,0,924,4550,2333,10,518,550,2899,1,12676,8,2726,5,522,50,0,0,0,0,4298,1);
 REPLACE INTO `mob_db_re` VALUES (1294,'KILLER_MANTIS','Killer Mantis','Killer Mantis',91,7650,0,1485,1674,1,1521,1201,107,45,82,56,58,45,69,40,10,12,1,4,22,0x2003695,175,1528,660,432,0,0,0,0,0,0,0,1031,4550,943,2500,721,10,509,15,514,25,1262,1,2108,1,0,0,0,0,4301,1);
 REPLACE INTO `mob_db_re` VALUES (1294,'KILLER_MANTIS','Killer Mantis','Killer Mantis',91,7650,0,1485,1674,1,1521,1201,107,45,82,56,58,45,69,40,10,12,1,4,22,0x2003695,175,1528,660,432,0,0,0,0,0,0,0,1031,4550,943,2500,721,10,509,15,514,25,1262,1,2108,1,0,0,0,0,4301,1);
 REPLACE INTO `mob_db_re` VALUES (1295,'OWL_BARON','Owl Baron','Owl Baron',120,21000,1,3042,2282,2,629,201,88,25,72,65,55,102,77,72,10,12,2,6,60,0x6203695,175,1345,824,440,0,0,0,0,0,0,0,7071,3500,7063,2500,0,0,1472,1,1629,2,693,100,5045,5,0,0,0,0,4238,1);
 REPLACE INTO `mob_db_re` VALUES (1295,'OWL_BARON','Owl Baron','Owl Baron',120,21000,1,3042,2282,2,629,201,88,25,72,65,55,102,77,72,10,12,2,6,60,0x6203695,175,1345,824,440,0,0,0,0,0,0,0,7071,3500,7063,2500,0,0,1472,1,1629,2,693,100,5045,5,0,0,0,0,4238,1);
 REPLACE INTO `mob_db_re` VALUES (1296,'KOBOLD_LEADER','Kobold Leader','Kobold Leader',112,13520,1,2643,2383,1,995,96,90,62,135,34,68,56,83,47,10,12,1,7,44,0x3695,150,1028,528,360,0,0,0,0,0,0,0,999,450,1034,6305,912,1200,0,0,1613,2,525,150,526,100,0,0,0,0,4291,1);
 REPLACE INTO `mob_db_re` VALUES (1296,'KOBOLD_LEADER','Kobold Leader','Kobold Leader',112,13520,1,2643,2383,1,995,96,90,62,135,34,68,56,83,47,10,12,1,7,44,0x3695,150,1028,528,360,0,0,0,0,0,0,0,999,450,1034,6305,912,1200,0,0,1613,2,525,150,526,100,0,0,0,0,4291,1);
@@ -2163,10 +2163,10 @@ REPLACE INTO `mob_db_re` VALUES (2935,'T_EVIL_CLOUD_HERMIT','Taoist Hermit','Tao
 REPLACE INTO `mob_db_re` VALUES (2936,'E_GHOSTRING','Ghostring','Ghostring',1,10,0,0,0,1,1,1,100,99,0,0,0,0,0,0,7,12,0,3,20,0x0,300,1220,1080,648,0,0,0,0,0,0,0,535,1500,535,1500,535,1500,535,1500,12192,2000,7225,2000,6658,500,0,0,0,0,6658,10000);
 REPLACE INTO `mob_db_re` VALUES (2936,'E_GHOSTRING','Ghostring','Ghostring',1,10,0,0,0,1,1,1,100,99,0,0,0,0,0,0,7,12,0,3,20,0x0,300,1220,1080,648,0,0,0,0,0,0,0,535,1500,535,1500,535,1500,535,1500,12192,2000,7225,2000,6658,500,0,0,0,0,6658,10000);
 #REPLACE INTO `mob_db_re` VALUES (2937,'M_LOKI','M Loki','M Loki',145,1215600,1,1,1,2,1835,444,15,89,76,66,90,55,189,22,10,12,1,7,20,0x0,175,800,750,300,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0);
 #REPLACE INTO `mob_db_re` VALUES (2937,'M_LOKI','M Loki','M Loki',145,1215600,1,1,1,2,1835,444,15,89,76,66,90,55,189,22,10,12,1,7,20,0x0,175,800,750,300,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0);
 REPLACE INTO `mob_db_re` VALUES (2938,'MM_MAGIC_SEAL','Magic Seal','Magic Seal',140,10000000,1,1,6999,1,1,1,80,200,16,26,30,115,79,5,10,12,2,0,20,0x0,300,1000,1000,1000,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0);
 REPLACE INTO `mob_db_re` VALUES (2938,'MM_MAGIC_SEAL','Magic Seal','Magic Seal',140,10000000,1,1,6999,1,1,1,80,200,16,26,30,115,79,5,10,12,2,0,20,0x0,300,1000,1000,1000,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0);
-REPLACE INTO `mob_db_re` VALUES (2939,'MM_EVIL_SHADOW1','Evil Shadow','Evil Shadow',138,112000,1,7456,5983,1,3266,1307,30,30,88,44,88,21,95,44,10,12,2,6,47,0x2000085,200,1500,600,500,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0);
-REPLACE INTO `mob_db_re` VALUES (2940,'MM_EVIL_SHADOW2','Evil Shadow','Evil Shadow',141,127650,1,8103,7738,1,2678,1071,121,36,60,103,45,35,172,15,10,12,1,6,47,0x2000085,200,1000,500,600,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0);
-REPLACE INTO `mob_db_re` VALUES (2941,'MM_EVIL_SHADOW3','Evil Shadow','Evil Shadow',142,153400,1,8863,6736,1,3167,1267,89,44,120,87,66,33,106,27,10,12,2,6,47,0x2000085,200,1800,780,480,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0);
-REPLACE INTO `mob_db_re` VALUES (2942,'MM_EVIL_FANATICS','Evil Fanatics','Evil Fanatics',151,8256000,1,1008653,988954,3,3350,167,166,103,118,72,40,55,213,30,10,12,2,6,67,0x6280085,200,1000,500,350,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0);
+REPLACE INTO `mob_db_re` VALUES (2939,'MM_EVIL_SHADOW1','Evil Shadow','Evil Shadow',138,112000,1,7456,5983,1,3266,1307,30,30,88,44,88,21,95,44,10,12,2,6,47,0x2000085,200,1500,600,500,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,27264,1);
+REPLACE INTO `mob_db_re` VALUES (2940,'MM_EVIL_SHADOW2','Evil Shadow','Evil Shadow',141,127650,1,8103,7738,1,2678,1071,121,36,60,103,45,35,172,15,10,12,1,6,47,0x2000085,200,1000,500,600,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,27264,1);
+REPLACE INTO `mob_db_re` VALUES (2941,'MM_EVIL_SHADOW3','Evil Shadow','Evil Shadow',142,153400,1,8863,6736,1,3167,1267,89,44,120,87,66,33,106,27,10,12,2,6,47,0x2000085,200,1800,780,480,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,27264,1);
+REPLACE INTO `mob_db_re` VALUES (2942,'MM_EVIL_FANATICS','Evil Fanatics','Evil Fanatics',151,8256000,1,1008653,988954,3,3350,167,166,103,118,72,40,55,213,30,10,12,2,6,67,0x6280085,200,1000,500,350,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,27265,1);
 REPLACE INTO `mob_db_re` VALUES (2943,'MM_ICE_MINE','Icemine','Icemine',149,10000,200,0,0,7,200,1,200,10,200,200,200,200,200,200,12,12,0,4,88,0xE170000,2000,0,1000,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0);
 REPLACE INTO `mob_db_re` VALUES (2943,'MM_ICE_MINE','Icemine','Icemine',149,10000,200,0,0,7,200,1,200,10,200,200,200,200,200,200,12,12,0,4,88,0xE170000,2000,0,1000,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0);
 #2944,J_HORNET
 #2944,J_HORNET
 #2945,J_MUMMY
 #2945,J_MUMMY
@@ -2414,7 +2414,7 @@ REPLACE INTO `mob_db_re` VALUES (3181,'E1_FELOCK','Captain Ferlock','Captain Fer
 #3187,E2_G_S_NYDHOG
 #3187,E2_G_S_NYDHOG
 #3188,E2_FELOCK
 #3188,E2_FELOCK
 #3189,WOLF_MOON
 #3189,WOLF_MOON
-REPLACE INTO `mob_db_re` VALUES (3190,'MM_SARAH','Sarah','Sarah Irene',160,100000000,1,0,0,12,1090,1665,276,255,43,161,6,188,225,136,10,12,0,0,20,0x87700A4,2000,500,500,0,0,0,0,0,0,0,0,15121,1000,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4610,1);
+REPLACE INTO `mob_db_re` VALUES (3190,'MM_SARAH','Sarah','Sarah Irene',160,100000000,1,0,0,12,1090,1665,276,255,43,161,6,188,225,136,10,12,0,0,20,0xE7F00A4,2000,500,500,0,0,0,0,0,0,0,0,15121,1000,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4610,1);
 REPLACE INTO `mob_db_re` VALUES (3191,'MM_M_GIGAN1','Gigantes','Gigantes',160,6653400,1,0,1,2,4635,120,64,112,156,151,30,62,265,21,10,12,1,6,47,0x62D3885,250,500,500,600,0,0,0,0,0,0,0,15121,100,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,27183,1);
 REPLACE INTO `mob_db_re` VALUES (3191,'MM_M_GIGAN1','Gigantes','Gigantes',160,6653400,1,0,1,2,4635,120,64,112,156,151,30,62,265,21,10,12,1,6,47,0x62D3885,250,500,500,600,0,0,0,0,0,0,0,15121,100,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,27183,1);
 REPLACE INTO `mob_db_re` VALUES (3192,'MM_M_GIGAN2','Gigantes','Gigantes',160,9870000,1,0,0,2,5128,89,89,175,212,138,43,21,227,15,10,12,1,6,47,0x62A3885,250,500,500,600,0,0,0,0,0,0,0,15121,100,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,27183,1);
 REPLACE INTO `mob_db_re` VALUES (3192,'MM_M_GIGAN2','Gigantes','Gigantes',160,9870000,1,0,0,2,5128,89,89,175,212,138,43,21,227,15,10,12,1,6,47,0x62A3885,250,500,500,600,0,0,0,0,0,0,0,15121,100,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,27183,1);
 REPLACE INTO `mob_db_re` VALUES (3193,'MM_M_GIGAN3','Ancient Medium Gigantes','Ancient Medium Gigantes',160,1126300,1,0,0,2,3967,165,113,155,121,125,45,35,271,15,10,12,1,6,47,0x6283885,300,500,500,600,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,27183,1);
 REPLACE INTO `mob_db_re` VALUES (3193,'MM_M_GIGAN3','Ancient Medium Gigantes','Ancient Medium Gigantes',160,1126300,1,0,0,2,3967,165,113,155,121,125,45,35,271,15,10,12,1,6,47,0x6283885,300,500,500,600,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,27183,1);
@@ -4013,12 +4013,42 @@ REPLACE INTO `mob_db_re` VALUES (3790,'SWEETS_DROPS','Sweets Drops','Sweets Drop
 #20813,MD_EVENT_AMDARAIS
 #20813,MD_EVENT_AMDARAIS
 #20814,G_PAYONSOLDIER
 #20814,G_PAYONSOLDIER
 #20815,G_PAYONSOLDIER2
 #20815,G_PAYONSOLDIER2
-
+#20816,EM_DILUVIO
+#20817,EM_ARDOR
+#20818,EM_PROCELLA
+#20819,EM_TERREMOTUS
+#20820,EM_SERPENS
+#20821,4JOB_VOID
+#20822,4JOB_WRAITH
+#20823,4JOB_KINGS_NIGHT
+#20824,4JOB_AGONY_NIGHT
+#20825,4JOB_DEVOTION_NIGHT
+#20826,4JOB_ARMED_NIGHT
+#20827,4JOB_DOOMK
+#20828,4JOB_VERKHASEL
+#20829,4JOB_BAPHOMET
+#20830,4JOB_H_FALCON
+#20831,4JOB_S_FALCON
+#20832,4JOB_R_FALCON
+#20833,4JOB_WORG
+#20834,MEISTER_ABR1
+#20835,MEISTER_ABR2
+#20836,MEISTER_ABR3
+#20837,MEISTER_ABR4
+#20838,ELEMETAL_MASTER_S1
+#20839,ELEMETAL_MASTER_S2
+#20840,ELEMETAL_MASTER_S3
+#20841,ELEMETAL_MASTER_S4
+#20842,ELEMETAL_MASTER_S5
 #20843,ILL_ABYSMAL_WITCH
 #20843,ILL_ABYSMAL_WITCH
 #20844,PRAY_GIVER
 #20844,PRAY_GIVER
 #20845,SMILE_GIVER
 #20845,SMILE_GIVER
 #20846,MD_HIDDEN_GROUND01
 #20846,MD_HIDDEN_GROUND01
 #20847,MD_HIDDEN_GROUND02
 #20847,MD_HIDDEN_GROUND02
+#20848,SUMMON_WOODENWARRIOR
+#20849,SUMMON_WOODEN_FAIRY
+#20850,SUMMON_CREEPER
+#20851,SUMMON_HELLTREE
 
 
 #20856,MD_N_ARENA_1
 #20856,MD_N_ARENA_1
 #20857,MD_N_ARENA_2
 #20857,MD_N_ARENA_2
@@ -4039,7 +4069,8 @@ REPLACE INTO `mob_db_re` VALUES (3790,'SWEETS_DROPS','Sweets Drops','Sweets Drop
 #20872,MD_GEFFEN_FENRIR_N
 #20872,MD_GEFFEN_FENRIR_N
 #20873,WAR_NUT
 #20873,WAR_NUT
 #20874,MOLE_TW
 #20874,MOLE_TW
-
+#20875,4JOB_LETICIA
+#20876,4JOB_ACIDUS
 #20877,G_ILL_SROPHO
 #20877,G_ILL_SROPHO
 #20878,G_ILL_OBEAUNE
 #20878,G_ILL_OBEAUNE
 #20879,G_ILL_DEVIACE
 #20879,G_ILL_DEVIACE
@@ -4049,8 +4080,210 @@ REPLACE INTO `mob_db_re` VALUES (3790,'SWEETS_DROPS','Sweets Drops','Sweets Drop
 #20883,G_ILL_SWORD_FISH
 #20883,G_ILL_SWORD_FISH
 #20884,G_ILL_STROUF
 #20884,G_ILL_STROUF
 #20885,G_ILL_PHEN
 #20885,G_ILL_PHEN
-
+#20886,MD_Airboat_Tree
+#20887,MD_Airboat_Poring
+#20888,MD_Airboat_Worm
+#20889,MD_Airboat_LEECH
+#20890,MD_Airboat_Mos
+#20891,MD_Airboat_Boss
+#20892,MD_SAKRAY
+#20893,MD_TIARA
+#20894,MD_UNDEAD_KNIGHT
+#20895,MD_UNDEAD_SOLDIER
+#20896,MD_UNDEAD_ARCHER
+#20897,MD_UNDEAD_WIZARD
+#20898,MD_UNDEAD_MAGICIAN
+#20899,MD_UNDEAD_NOBLE
+#20900,MD_UNDEAD_SERVANT
+#20901,DISASTER_OMEN
+#20902,DISASTER_WIND
+#20903,CONQUER_INCARNATION
+#20904,FAMINE_INCARNATION
+#20905,APPETITE_INCARNATION
+#20906,DISASTER_SYMBOL
+#20907,DEVIL_EYE
+#20908,WAR_INCARNATION
+#20909,DEATH_INCARNATION
+#20910,CARNIVOROUS
+#20911,SINS_JUSTICE
+#20912,SINS_BRAVE
+#20913,SINS_MODERATION
+#20914,SINS_WISDOM
+#20915,G_SINS_JUSTICE
+#20916,G_SINS_BRAVE
+#20917,G_SINS_MODERATION
+#20918,G_SINS_WISDOM
 #20919,CARAT_TWEVENT
 #20919,CARAT_TWEVENT
+#20920,CHIMERA_LAVA
+#20921,CHIMERA_FULGOR
+#20922,CHIMERA_NAPEO
+#20923,CHIMERA_GALENSIS
+#20924,CHIMERA_AMITERA
+#20925,CHIMERA_LITUS
+#20926,CHIMERA_FILLIA
+#20927,CHIMERA_VANILAQUS
+#20928,CHIMERA_THEONE
+#20929,GIANT_CAPUT
+#20930,DOLORIAN
+#20931,PLAGARION
+#20932,DEADRE
+#20933,VENEDI
+#20934,R001_BESTIA
+#20935,GAN_CEANN
+#20936,DISGUISER
+#20937,BRUTAL_MURDERER
+#20938,GHOST_CUBE
+#20939,LUDE_GAL
+#20940,BLUEMOON_LOLI_RURI
+#20941,GROTE
+#20942,PIERROTZOIST
+#20943,DEATH_WITCH
+#20944,JP_E_MONSTER_151
+#20945,JP_E_MONSTER_152
+#20946,JP_E_MONSTER_153
+#20947,JP_E_MONSTER_154
+#20948,JP_E_MONSTER_155
+#20949,JP_E_MONSTER_156
+#20950,JP_E_MONSTER_157
+#20951,JP_E_MONSTER_158
+#20952,JP_E_MONSTER_159
+#20953,JP_E_MONSTER_160
+#20954,JP_E_MONSTER_161
+#20955,JP_E_MONSTER_162
+#20956,JP_E_MONSTER_163
+#20957,JP_E_MONSTER_164
+#20958,JP_E_MONSTER_165
+#20959,JP_E_MONSTER_166
+#20960,JP_E_MONSTER_167
+#20961,JP_E_MONSTER_168
+#20962,JP_E_MONSTER_169
+#20963,JP_E_MONSTER_170
+#20964,JP_E_MONSTER_171
+#20965,JP_E_MONSTER_172
+#20966,JP_E_MONSTER_173
+#20967,JP_E_MONSTER_174
+#20968,JP_E_MONSTER_175
+#20969,JP_E_MONSTER_176
+#20970,JP_E_MONSTER_177
+#20971,JP_E_MONSTER_178
+#20972,JP_E_MONSTER_179
+#20973,JP_E_MONSTER_180
+#20974,JP_E_MONSTER_181
+#20975,JP_E_MONSTER_182
+#20976,JP_E_MONSTER_183
+#20977,JP_E_MONSTER_184
+#20978,JP_E_MONSTER_185
+#20979,JP_E_MONSTER_186
+#20980,JP_E_MONSTER_187
+#20981,JP_E_MONSTER_188
+#20982,JP_E_MONSTER_189
+#20983,JP_E_MONSTER_190
+#20984,JP_E_MONSTER_191
+#20985,JP_E_MONSTER_192
+#20986,JP_E_MONSTER_193
+#20987,JP_E_MONSTER_194
+#20988,JP_E_MONSTER_195
+#20989,JP_E_MONSTER_196
+#20990,JP_E_MONSTER_197
+#20991,JP_E_MONSTER_198
+#20992,JP_E_MONSTER_199
+#20993,JP_E_MONSTER_200
+#20994,MD_BETELGEUSE
+#20995,MD_G_DEADSOUL
+#20996,MD_NAGHT_SIEGER
+#20997,MD_G_ENTWEIHEN_M
+#20998,MD_T_JAKK
+#20999,MD_T_STONE_SHOOTER
+#21000,MD_T_GRIZZLY
+#21001,MD_T_STALACTIC_GOLEM
+#21002,MD_T_CHIMERA
+#21003,MD_T_KARAKASA
+#21004,MD_T_RIDEWORD
+#21005,MD_T_PARASITE
+#21006,MD_T_WRAITH
+#21007,MD_T_PETIT_
+#21008,MD_T_WIND_GHOST
+#21009,MD_T_CLOCK
+#21010,MD_T_RAYDRIC_ARCHER
+#21011,MD_T_INCREASE_SOIL
+#21012,MD_T_PENOMENA
+#21013,MD_T_PETIT
+#21014,MD_T_ALARM
+#21015,MD_T_ZOMBIE_PRISONER
+#21016,MD_T_MARIONETTE
+#21017,MD_T_PERMETER
+#21018,MD_T_SKEL_PRISONER
+#21019,MD_T_OWL_DUKE
+#21020,MD_T_DEVIRUCHI
+#21021,MD_T_BLOOD_BUTTERFLY
+#21022,MD_T_STAPO
+#21023,MD_T_EVIL_CLOUD_HERMIT
+#21024,MD_T_THE_PAPER
+#21025,MD_T_TENGU
+#21026,MD_T_ALICE
+#21027,MD_T_ANACONDAQ
+#21028,MD_T_GARGOYLE
+#21029,MD_T_CARAT
+#21030,MD_T_STING
+#21031,MD_T_GRYPHON
+#21032,MD_T_GIBBET
+#21033,MD_T_NIGHTMARE_TERROR
+#21034,MD_T_ANOLIAN
+#21035,MD_T_BLOODY_MURDERER
+#21036,MD_T_ALIOT
+#21037,MD_T_VENATU
+#21038,MD_T_DEATHWORD
+#21039,MD_T_PLASMA_B
+#21040,MD_T_DIMIK
+#21041,MD_T_MINI_DEMON
+#21042,MD_T_LEIB_OLMAI
+#21043,MD_T_WANDER_MAN
+#21044,MD_T_RETRIBUTION
+#21045,MD_T_FLAME_SKULL
+#21046,MD_T_KNIGHT_OF_ABYSS
+#21047,MD_T_BANSHEE
+#21048,G_CHIMERA_LAVA
+#21049,G_CHIMERA_FULGOR
+#21050,G_CHIMERA_NAPEO
+#21051,G_CHIMERA_GALENSIS
+#21052,G_DISGUISER
+#21053,G_BLUEMOON_LOLI_RURI
+#21054,G_GROTE
+#21055,G_PIERROTZOIST
+#21056,G_GIANT_CAPUT
+#21057,G_DOLORIAN
+#21058,G_PLAGARION
+#21059,G_DEADRE
+#21060,G_VENEDI
+#21061,MD_Airboat_Boss2
+#21062,MD_Airboat_Boss3
+#21063,MD_Airboat_Boss4
+#21064,S_DUMMY_100_SMALL
+#21065,S_DUMMY_100_MEDIUM
+#21066,S_DUMMY_100_LARGE
+#21067,S_DUMMY_100_NOTHING
+#21068,S_DUMMY_100_DRAGON
+#21069,S_DUMMY_100_ANIMAL
+#21070,S_DUMMY_100_HUMAN
+#21071,S_DUMMY_100_INSECT
+#21072,S_DUMMY_100_FISH
+#21073,S_DUMMY_100_DEMON
+#21074,S_DUMMY_100_PLANT
+#21075,S_DUMMY_100_ANGEL
+#21076,S_DUMMY_100_UNDEAD
+#21077,S_DUMMY_100_NOTHING2
+#21078,S_DUMMY_100_WATER
+#21079,S_DUMMY_100_GROUND
+#21080,S_DUMMY_100_FIRE
+#21081,S_DUMMY_100_WIND
+#21082,S_DUMMY_100_POISON
+#21083,S_DUMMY_100_SAINT
+#21084,S_DUMMY_100_DARKNESS
+#21085,S_DUMMY_100_TELEKINESIS
+#21086,S_DUMMY_100_UNDEAD2
+#21087,S_DUMMY_100_HUMANP
+#21088,S_DUMMY_100_DORAMP
+#21089,WANDERING_DUCK
 
 
 #31999,HUNTING_GID_DEFAULT
 #31999,HUNTING_GID_DEFAULT
 #32000,MONSTER_2ND_END
 #32000,MONSTER_2ND_END

+ 3 - 0
sql-files/upgrades/upgrade_20200518.sql

@@ -0,0 +1,3 @@
+-- WM_DOMINION_IMPULSE
+UPDATE `char` c, `skill` s SET `c`.skill_point = `c`.skill_point + `s`.lv WHERE `s`.id = 2417 AND `c`.char_id = `s`.char_id;
+DELETE FROM `skill` WHERE `id` = 2417;

+ 1 - 0
sql-files/upgrades/upgrade_20200603.sql

@@ -0,0 +1 @@
+ALTER TABLE  `char` ADD COLUMN `hotkey_rowshift2` TINYINT(3) UNSIGNED NOT NULL DEFAULT  '0' AFTER `hotkey_rowshift`;

+ 13 - 0
sql-files/upgrades/upgrade_20200604.sql

@@ -0,0 +1,13 @@
+UPDATE `char` `c`
+INNER JOIN `login` `l`
+ON `l`.`account_id` = `c`.`account_id`
+SET `c`.`sex` = `l`.`sex`
+WHERE
+	`c`.`sex` = 'U'
+AND
+	`l`.`sex` <> 'S'
+;
+
+ALTER TABLE `char`
+	MODIFY `sex` ENUM('M','F') NOT NULL
+;

+ 1 - 0
sql-files/upgrades/upgrade_20200622.sql

@@ -0,0 +1 @@
+UPDATE `char_reg_num` SET `value` = `value` * 100 WHERE `key` = 'guildtime' AND `index` = 0 AND `value` < 24;

+ 5 - 0
sql-files/upgrades/upgrade_20200625.sql

@@ -0,0 +1,5 @@
+ALTER TABLE `login`
+	ADD COLUMN `web_auth_token` VARCHAR(17) NULL AFTER `old_group`,
+	ADD COLUMN `web_auth_token_enabled` tinyint(2) NOT NULL default '0' AFTER `web_auth_token`,
+	ADD UNIQUE KEY `web_auth_token_key` (`web_auth_token`)
+;

+ 68 - 87
src/char/char.cpp

@@ -299,7 +299,7 @@ int char_mmo_char_tosql(uint32 char_id, struct mmo_charstatus* p){
 		(p->rename != cp->rename) || (p->robe != cp->robe) || (p->character_moves != cp->character_moves) ||
 		(p->rename != cp->rename) || (p->robe != cp->robe) || (p->character_moves != cp->character_moves) ||
 		(p->unban_time != cp->unban_time) || (p->font != cp->font) || (p->uniqueitem_counter != cp->uniqueitem_counter) ||
 		(p->unban_time != cp->unban_time) || (p->font != cp->font) || (p->uniqueitem_counter != cp->uniqueitem_counter) ||
 		(p->hotkey_rowshift != cp->hotkey_rowshift) || (p->clan_id != cp->clan_id ) || (p->title_id != cp->title_id) ||
 		(p->hotkey_rowshift != cp->hotkey_rowshift) || (p->clan_id != cp->clan_id ) || (p->title_id != cp->title_id) ||
-		(p->show_equip != cp->show_equip)
+		(p->show_equip != cp->show_equip) || (p->hotkey_rowshift2 != cp->hotkey_rowshift2)
 	)
 	)
 	{	//Save status
 	{	//Save status
 		if( SQL_ERROR == Sql_Query(sql_handle, "UPDATE `%s` SET `base_level`='%d', `job_level`='%d',"
 		if( SQL_ERROR == Sql_Query(sql_handle, "UPDATE `%s` SET `base_level`='%d', `job_level`='%d',"
@@ -310,7 +310,7 @@ int char_mmo_char_tosql(uint32 char_id, struct mmo_charstatus* p){
 			"`weapon`='%d',`shield`='%d',`head_top`='%d',`head_mid`='%d',`head_bottom`='%d',"
 			"`weapon`='%d',`shield`='%d',`head_top`='%d',`head_mid`='%d',`head_bottom`='%d',"
 			"`last_map`='%s',`last_x`='%d',`last_y`='%d',`save_map`='%s',`save_x`='%d',`save_y`='%d', `rename`='%d',"
 			"`last_map`='%s',`last_x`='%d',`last_y`='%d',`save_map`='%s',`save_x`='%d',`save_y`='%d', `rename`='%d',"
 			"`delete_date`='%lu',`robe`='%d',`moves`='%d',`font`='%u',`uniqueitem_counter`='%u',"
 			"`delete_date`='%lu',`robe`='%d',`moves`='%d',`font`='%u',`uniqueitem_counter`='%u',"
-			"`hotkey_rowshift`='%d', `clan_id`='%d', `title_id`='%lu', `show_equip`='%d'"
+			"`hotkey_rowshift`='%d', `clan_id`='%d', `title_id`='%lu', `show_equip`='%d', `hotkey_rowshift2`='%d'"
 			" WHERE `account_id`='%d' AND `char_id` = '%d'",
 			" WHERE `account_id`='%d' AND `char_id` = '%d'",
 			schema_config.char_db, p->base_level, p->job_level,
 			schema_config.char_db, p->base_level, p->job_level,
 			p->base_exp, p->job_exp, p->zeny,
 			p->base_exp, p->job_exp, p->zeny,
@@ -322,7 +322,7 @@ int char_mmo_char_tosql(uint32 char_id, struct mmo_charstatus* p){
 			mapindex_id2name(p->save_point.map), p->save_point.x, p->save_point.y, p->rename,
 			mapindex_id2name(p->save_point.map), p->save_point.x, p->save_point.y, p->rename,
 			(unsigned long)p->delete_date, // FIXME: platform-dependent size
 			(unsigned long)p->delete_date, // FIXME: platform-dependent size
 			p->robe, p->character_moves, p->font, p->uniqueitem_counter,
 			p->robe, p->character_moves, p->font, p->uniqueitem_counter,
-			p->hotkey_rowshift, p->clan_id, p->title_id, p->show_equip,
+			p->hotkey_rowshift, p->clan_id, p->title_id, p->show_equip, p->hotkey_rowshift2,
 			p->account_id, p->char_id) )
 			p->account_id, p->char_id) )
 		{
 		{
 			Sql_ShowDebug(sql_handle);
 			Sql_ShowDebug(sql_handle);
@@ -857,42 +857,24 @@ bool char_memitemdata_from_sql(struct s_storage* p, int max, int id, enum storag
  *
  *
  * @retval SEX_MALE if the per-character sex is male
  * @retval SEX_MALE if the per-character sex is male
  * @retval SEX_FEMALE if the per-character sex is female
  * @retval SEX_FEMALE if the per-character sex is female
- * @retval SEX_ACCOUNT if the per-character sex is not defined or the current PACKETVER doesn't support it.
  */
  */
-int char_mmo_gender(const struct char_session_data *sd, const struct mmo_charstatus *p, char sex)
-{
+int char_mmo_gender( const struct char_session_data *sd, const struct mmo_charstatus *p, char sex ){
+	switch( sex ){
 #if PACKETVER >= 20141016
 #if PACKETVER >= 20141016
-	(void)sd; (void)p; // Unused
-	switch (sex) {
 		case 'M':
 		case 'M':
 			return SEX_MALE;
 			return SEX_MALE;
 		case 'F':
 		case 'F':
 			return SEX_FEMALE;
 			return SEX_FEMALE;
-		case 'U':
-		default:
-			return SEX_ACCOUNT;
-	}
 #else
 #else
-	if (sex == 'M' || sex == 'F') {
-		if (!sd) {
-			// sd is not available, there isn't much we can do. Just return and print a warning.
-			ShowWarning("Character '%s' (CID: %d, AID: %d) has sex '%c', but PACKETVER does not support per-character sex. Defaulting to 'U'.\n",
-					p->name, p->char_id, p->account_id, sex);
-			return SEX_ACCOUNT;
-		}
-		if ((sex == 'M' && sd->sex == SEX_FEMALE)
-		 || (sex == 'F' && sd->sex == SEX_MALE)) {
-			ShowWarning("Changing sex of character '%s' (CID: %d, AID: %d) to 'U' due to incompatible PACKETVER.\n", p->name, p->char_id, p->account_id);
-			chlogif_parse_ackchangecharsex(p->char_id, sd->sex);
-		} else {
-			ShowInfo("Resetting sex of character '%s' (CID: %d, AID: %d) to 'U' due to incompatible PACKETVER.\n", p->name, p->char_id, p->account_id);
-		}
-		if (SQL_ERROR == Sql_Query(sql_handle, "UPDATE `%s` SET `sex` = 'U' WHERE `char_id` = '%d'", schema_config.char_db, p->char_id)) {
-			Sql_ShowDebug(sql_handle);
-		}
-	}
-	return SEX_ACCOUNT;
+		case 'M':
+		case 'F':
+			// No matter what the database says, always return the account gender
+			return sd->sex;
 #endif
 #endif
+		default:
+			ShowWarning( "Found unknown gender '%c' for character '%s' (CID: %d, AID: %d), returning account gender...\n", sex, p->name, p->char_id, p->account_id );
+			return sd->sex;
+	}
 }
 }
 
 
 int char_mmo_char_tobuf(uint8* buf, struct mmo_charstatus* p);
 int char_mmo_char_tobuf(uint8* buf, struct mmo_charstatus* p);
@@ -924,7 +906,8 @@ int char_mmo_chars_fromsql(struct char_session_data* sd, uint8* buf, uint8* coun
 		"`str`,`agi`,`vit`,`int`,`dex`,`luk`,`max_hp`,`hp`,`max_sp`,`sp`,"
 		"`str`,`agi`,`vit`,`int`,`dex`,`luk`,`max_hp`,`hp`,`max_sp`,`sp`,"
 		"`status_point`,`skill_point`,`option`,`karma`,`manner`,`hair`,`hair_color`,"
 		"`status_point`,`skill_point`,`option`,`karma`,`manner`,`hair`,`hair_color`,"
 		"`clothes_color`,`body`,`weapon`,`shield`,`head_top`,`head_mid`,`head_bottom`,`last_map`,`rename`,`delete_date`,"
 		"`clothes_color`,`body`,`weapon`,`shield`,`head_top`,`head_mid`,`head_bottom`,`last_map`,`rename`,`delete_date`,"
-		"`robe`,`moves`,`unban_time`,`font`,`uniqueitem_counter`,`sex`,`hotkey_rowshift`,`title_id`,`show_equip`"
+		"`robe`,`moves`,`unban_time`,`font`,`uniqueitem_counter`,`sex`,`hotkey_rowshift`,`title_id`,`show_equip`,"
+		"`hotkey_rowshift2`"
 		" FROM `%s` WHERE `account_id`='%d' AND `char_num` < '%d'", schema_config.char_db, sd->account_id, MAX_CHARS)
 		" FROM `%s` WHERE `account_id`='%d' AND `char_num` < '%d'", schema_config.char_db, sd->account_id, MAX_CHARS)
 	||	SQL_ERROR == SqlStmt_Execute(stmt)
 	||	SQL_ERROR == SqlStmt_Execute(stmt)
 	||	SQL_ERROR == SqlStmt_BindColumn(stmt, 0,  SQLDT_INT,    &p.char_id, 0, NULL, NULL)
 	||	SQL_ERROR == SqlStmt_BindColumn(stmt, 0,  SQLDT_INT,    &p.char_id, 0, NULL, NULL)
@@ -972,6 +955,7 @@ int char_mmo_chars_fromsql(struct char_session_data* sd, uint8* buf, uint8* coun
 	||	SQL_ERROR == SqlStmt_BindColumn(stmt, 42, SQLDT_UCHAR,  &p.hotkey_rowshift, 0, NULL, NULL)
 	||	SQL_ERROR == SqlStmt_BindColumn(stmt, 42, SQLDT_UCHAR,  &p.hotkey_rowshift, 0, NULL, NULL)
 	||	SQL_ERROR == SqlStmt_BindColumn(stmt, 43, SQLDT_ULONG,  &p.title_id, 0, NULL, NULL)
 	||	SQL_ERROR == SqlStmt_BindColumn(stmt, 43, SQLDT_ULONG,  &p.title_id, 0, NULL, NULL)
 	||	SQL_ERROR == SqlStmt_BindColumn(stmt, 44, SQLDT_UINT16, &p.show_equip, 0, NULL, NULL)
 	||	SQL_ERROR == SqlStmt_BindColumn(stmt, 44, SQLDT_UINT16, &p.show_equip, 0, NULL, NULL)
+	||	SQL_ERROR == SqlStmt_BindColumn(stmt, 45, SQLDT_UCHAR,  &p.hotkey_rowshift2, 0, NULL, NULL)
 	)
 	)
 	{
 	{
 		SqlStmt_ShowDebug(stmt);
 		SqlStmt_ShowDebug(stmt);
@@ -1039,7 +1023,7 @@ int char_mmo_char_fromsql(uint32 char_id, struct mmo_charstatus* p, bool load_ev
 		"`status_point`,`skill_point`,`option`,`karma`,`manner`,`party_id`,`guild_id`,`pet_id`,`homun_id`,`elemental_id`,`hair`,"
 		"`status_point`,`skill_point`,`option`,`karma`,`manner`,`party_id`,`guild_id`,`pet_id`,`homun_id`,`elemental_id`,`hair`,"
 		"`hair_color`,`clothes_color`,`body`,`weapon`,`shield`,`head_top`,`head_mid`,`head_bottom`,`last_map`,`last_x`,`last_y`,"
 		"`hair_color`,`clothes_color`,`body`,`weapon`,`shield`,`head_top`,`head_mid`,`head_bottom`,`last_map`,`last_x`,`last_y`,"
 		"`save_map`,`save_x`,`save_y`,`partner_id`,`father`,`mother`,`child`,`fame`,`rename`,`delete_date`,`robe`, `moves`,"
 		"`save_map`,`save_x`,`save_y`,`partner_id`,`father`,`mother`,`child`,`fame`,`rename`,`delete_date`,`robe`, `moves`,"
-		"`unban_time`,`font`,`uniqueitem_counter`,`sex`,`hotkey_rowshift`,`clan_id`,`title_id`,`show_equip`"
+		"`unban_time`,`font`,`uniqueitem_counter`,`sex`,`hotkey_rowshift`,`clan_id`,`title_id`,`show_equip`,`hotkey_rowshift2`"
 		" FROM `%s` WHERE `char_id`=? LIMIT 1", schema_config.char_db)
 		" FROM `%s` WHERE `char_id`=? LIMIT 1", schema_config.char_db)
 	||	SQL_ERROR == SqlStmt_BindParam(stmt, 0, SQLDT_INT, &char_id, 0)
 	||	SQL_ERROR == SqlStmt_BindParam(stmt, 0, SQLDT_INT, &char_id, 0)
 	||	SQL_ERROR == SqlStmt_Execute(stmt)
 	||	SQL_ERROR == SqlStmt_Execute(stmt)
@@ -1105,6 +1089,7 @@ int char_mmo_char_fromsql(uint32 char_id, struct mmo_charstatus* p, bool load_ev
 	||	SQL_ERROR == SqlStmt_BindColumn(stmt, 59, SQLDT_INT,    &p->clan_id, 0, NULL, NULL)
 	||	SQL_ERROR == SqlStmt_BindColumn(stmt, 59, SQLDT_INT,    &p->clan_id, 0, NULL, NULL)
 	||	SQL_ERROR == SqlStmt_BindColumn(stmt, 60, SQLDT_ULONG,  &p->title_id, 0, NULL, NULL)
 	||	SQL_ERROR == SqlStmt_BindColumn(stmt, 60, SQLDT_ULONG,  &p->title_id, 0, NULL, NULL)
 	||	SQL_ERROR == SqlStmt_BindColumn(stmt, 61, SQLDT_UINT16, &p->show_equip, 0, NULL, NULL)
 	||	SQL_ERROR == SqlStmt_BindColumn(stmt, 61, SQLDT_UINT16, &p->show_equip, 0, NULL, NULL)
+	||	SQL_ERROR == SqlStmt_BindColumn(stmt, 62, SQLDT_UCHAR,  &p->hotkey_rowshift2, 0, NULL, NULL)
 	)
 	)
 	{
 	{
 		SqlStmt_ShowDebug(stmt);
 		SqlStmt_ShowDebug(stmt);
@@ -1211,7 +1196,7 @@ int char_mmo_char_fromsql(uint32 char_id, struct mmo_charstatus* p, bool load_ev
 
 
 	while( SQL_SUCCESS == SqlStmt_NextRow(stmt) )
 	while( SQL_SUCCESS == SqlStmt_NextRow(stmt) )
 	{
 	{
-		if( hotkey_num >= 0 && hotkey_num < MAX_HOTKEYS )
+		if( hotkey_num >= 0 && hotkey_num < MAX_HOTKEYS_DB )
 			memcpy(&p->hotkeys[hotkey_num], &tmp_hotkey, sizeof(tmp_hotkey));
 			memcpy(&p->hotkeys[hotkey_num], &tmp_hotkey, sizeof(tmp_hotkey));
 		else
 		else
 			ShowWarning("mmo_char_fromsql: ignoring invalid hotkey (hotkey=%d,type=%u,id=%u,lv=%u) of character %s (AID=%d,CID=%d)\n", hotkey_num, tmp_hotkey.type, tmp_hotkey.id, tmp_hotkey.lv, p->name, p->account_id, p->char_id);
 			ShowWarning("mmo_char_fromsql: ignoring invalid hotkey (hotkey=%d,type=%u,id=%u,lv=%u) of character %s (AID=%d,CID=%d)\n", hotkey_num, tmp_hotkey.type, tmp_hotkey.id, tmp_hotkey.lv, p->name, p->account_id, p->char_id);
@@ -1380,22 +1365,14 @@ int char_check_char_name(char * name, char * esc_name)
 //-----------------------------------
 //-----------------------------------
 // Function to create a new character
 // Function to create a new character
 //-----------------------------------
 //-----------------------------------
-#if PACKETVER >= 20120307
-#if PACKETVER >= 20151001
-int char_make_new_char_sql(struct char_session_data* sd, char* name_, int slot, int hair_color, int hair_style, short start_job, short unknown, int sex) { // TODO: Unknown byte
-#else
-int char_make_new_char_sql(struct char_session_data* sd, char* name_, int slot, int hair_color, int hair_style) {
-#endif
-	int str = 1, agi = 1, vit = 1, int_ = 1, dex = 1, luk = 1;
-#else
-int char_make_new_char_sql(struct char_session_data* sd, char* name_, int str, int agi, int vit, int int_, int dex, int luk, int slot, int hair_color, int hair_style) {
-#endif
+int char_make_new_char( struct char_session_data* sd, char* name_, int str, int agi, int vit, int int_, int dex, int luk, int slot, int hair_color, int hair_style, short start_job, int sex ){
 	char name[NAME_LENGTH];
 	char name[NAME_LENGTH];
 	char esc_name[NAME_LENGTH*2+1];
 	char esc_name[NAME_LENGTH*2+1];
 	struct point tmp_start_point[MAX_STARTPOINT];
 	struct point tmp_start_point[MAX_STARTPOINT];
 	struct startitem tmp_start_items[MAX_STARTITEM];
 	struct startitem tmp_start_items[MAX_STARTITEM];
 	uint32 char_id;
 	uint32 char_id;
 	int flag, k, start_point_idx = rnd() % charserv_config.start_point_count;
 	int flag, k, start_point_idx = rnd() % charserv_config.start_point_count;
+	int status_points;
 
 
 	safestrncpy(name, name_, NAME_LENGTH);
 	safestrncpy(name, name_, NAME_LENGTH);
 	normalize_name(name,TRIM_CHARS);
 	normalize_name(name,TRIM_CHARS);
@@ -1410,32 +1387,51 @@ int char_make_new_char_sql(struct char_session_data* sd, char* name_, int str, i
 	if( flag < 0 )
 	if( flag < 0 )
 		return flag;
 		return flag;
 
 
-	//check other inputs
-#if PACKETVER >= 20120307
-#if PACKETVER >= 20151001
-	switch(sex) {
-			case SEX_FEMALE:
-				sex = 'F';
-				break;
-			case SEX_MALE:
-				sex = 'M';
-				break;
-			default:
-				sex = 'U';
-				break;
-	}
-#endif
-	if(slot < 0 || slot >= sd->char_slots)
-#else
-	if((slot < 0 || slot >= sd->char_slots) // slots
-	|| (str + agi + vit + int_ + dex + luk != 6*5 ) // stats
-	|| (str < 1 || str > 9 || agi < 1 || agi > 9 || vit < 1 || vit > 9 || int_ < 1 || int_ > 9 || dex < 1 || dex > 9 || luk < 1 || luk > 9) // individual stat values
-	|| (str + int_ != 10 || agi + luk != 10 || vit + dex != 10) ) // pairs
-#endif
-#if PACKETVER >= 20100413
+	// Check inputs from the client - never trust it!
+
+	// Check the slot
+	if( slot < 0 || slot >= sd->char_slots ){
 		return -4; // invalid slot
 		return -4; // invalid slot
-#else
+	}
+
+	// Check gender
+	switch( sex ){
+		case SEX_FEMALE:
+			sex = 'F';
+			break;
+		case SEX_MALE:
+			sex = 'M';
+			break;
+		default:
+			ShowWarning( "Received unsupported gender '%d'...\n", sex );
+			return -2; // invalid input
+	}
+
+	// Check status values
+#if PACKETVER < 20120307
+	// All stats together always have to add up to a total of 30 points
+	if( ( str + agi + vit + int_ + dex + luk ) != 30 ){
+		return -2; // invalid input
+	}
+
+	// No status can be below 1
+	if( str < 1 || agi < 1 || vit < 1 || int_ < 1 || dex < 1 || luk < 1 ){
+		return -2; // invalid input
+	}
+
+	// No status can be higher than 9
+	if( str > 9 || agi > 9 || vit > 9 || int_ > 9 || dex > 9 || luk > 9 ){
+		return -2; // invalid input
+	}
+
+	// The status pairs always have to add up to a total of 10 points
+	if( ( str + int_ ) != 10 || ( agi + luk ) != 10 || ( vit + dex ) != 10 ){
 		return -2; // invalid input
 		return -2; // invalid input
+	}
+
+	status_points = 0;
+#else
+	status_points = 48;
 #endif
 #endif
 
 
 	// check the number of already existing chars in this account
 	// check the number of already existing chars in this account
@@ -1479,28 +1475,12 @@ int char_make_new_char_sql(struct char_session_data* sd, char* name_, int str, i
 #endif
 #endif
 
 
 	//Insert the new char entry to the database
 	//Insert the new char entry to the database
-#if PACKETVER >= 20151001
 	if( SQL_ERROR == Sql_Query(sql_handle, "INSERT INTO `%s` (`account_id`, `char_num`, `name`, `class`, `zeny`, `status_point`, `str`, `agi`, `vit`, `int`, `dex`, `luk`, `max_hp`, `hp`,"
 	if( SQL_ERROR == Sql_Query(sql_handle, "INSERT INTO `%s` (`account_id`, `char_num`, `name`, `class`, `zeny`, `status_point`, `str`, `agi`, `vit`, `int`, `dex`, `luk`, `max_hp`, `hp`,"
 		"`max_sp`, `sp`, `hair`, `hair_color`, `last_map`, `last_x`, `last_y`, `save_map`, `save_x`, `save_y`, `sex`) VALUES ("
 		"`max_sp`, `sp`, `hair`, `hair_color`, `last_map`, `last_x`, `last_y`, `save_map`, `save_x`, `save_y`, `sex`) VALUES ("
 		"'%d', '%d', '%s', '%d', '%d',  '%d', '%d', '%d', '%d', '%d', '%d', '%d', '%u', '%u', '%u', '%u', '%d', '%d', '%s', '%d', '%d', '%s', '%d', '%d', '%c')",
 		"'%d', '%d', '%s', '%d', '%d',  '%d', '%d', '%d', '%d', '%d', '%d', '%d', '%u', '%u', '%u', '%u', '%d', '%d', '%s', '%d', '%d', '%s', '%d', '%d', '%c')",
-		schema_config.char_db, sd->account_id , slot, esc_name, start_job, charserv_config.start_zeny, 48, str, agi, vit, int_, dex, luk,
+		schema_config.char_db, sd->account_id , slot, esc_name, start_job, charserv_config.start_zeny, status_points, str, agi, vit, int_, dex, luk,
 		(40 * (100 + vit)/100) , (40 * (100 + vit)/100 ),  (11 * (100 + int_)/100), (11 * (100 + int_)/100), hair_style, hair_color,
 		(40 * (100 + vit)/100) , (40 * (100 + vit)/100 ),  (11 * (100 + int_)/100), (11 * (100 + int_)/100), hair_style, hair_color,
 		mapindex_id2name(tmp_start_point[start_point_idx].map), tmp_start_point[start_point_idx].x, tmp_start_point[start_point_idx].y, mapindex_id2name(tmp_start_point[start_point_idx].map), tmp_start_point[start_point_idx].x, tmp_start_point[start_point_idx].y, sex) )
 		mapindex_id2name(tmp_start_point[start_point_idx].map), tmp_start_point[start_point_idx].x, tmp_start_point[start_point_idx].y, mapindex_id2name(tmp_start_point[start_point_idx].map), tmp_start_point[start_point_idx].x, tmp_start_point[start_point_idx].y, sex) )
-#elif PACKETVER >= 20120307
-	if( SQL_ERROR == Sql_Query(sql_handle, "INSERT INTO `%s` (`account_id`, `char_num`, `name`, `zeny`, `status_point`, `str`, `agi`, `vit`, `int`, `dex`, `luk`, `max_hp`, `hp`,"
-		"`max_sp`, `sp`, `hair`, `hair_color`, `last_map`, `last_x`, `last_y`, `save_map`, `save_x`, `save_y`) VALUES ("
-		"'%d', '%d', '%s', '%d',  '%d', '%d', '%d', '%d', '%d', '%d', '%d', '%u', '%u', '%u', '%u', '%d', '%d', '%s', '%d', '%d', '%s', '%d', '%d')",
-		schema_config.char_db, sd->account_id , slot, esc_name, charserv_config.start_zeny, 48, str, agi, vit, int_, dex, luk,
-		(40 * (100 + vit)/100) , (40 * (100 + vit)/100 ),  (11 * (100 + int_)/100), (11 * (100 + int_)/100), hair_style, hair_color,
-		mapindex_id2name(tmp_start_point[start_point_idx].map), tmp_start_point[start_point_idx].x, tmp_start_point[start_point_idx].y, mapindex_id2name(tmp_start_point[start_point_idx].map), tmp_start_point[start_point_idx].x, tmp_start_point[start_point_idx].y) )
-#else
-	if( SQL_ERROR == Sql_Query(sql_handle, "INSERT INTO `%s` (`account_id`, `char_num`, `name`, `zeny`, `str`, `agi`, `vit`, `int`, `dex`, `luk`, `max_hp`, `hp`,"
-		"`max_sp`, `sp`, `hair`, `hair_color`, `last_map`, `last_x`, `last_y`, `save_map`, `save_x`, `save_y`) VALUES ("
-		"'%d', '%d', '%s', '%d',  '%d', '%d', '%d', '%d', '%d', '%d', '%u', '%u', '%u', '%u', '%d', '%d', '%s', '%d', '%d', '%s', '%d', '%d')",
-		schema_config.char_db, sd->account_id , slot, esc_name, charserv_config.start_zeny, str, agi, vit, int_, dex, luk,
-		(40 * (100 + vit)/100) , (40 * (100 + vit)/100 ),  (11 * (100 + int_)/100), (11 * (100 + int_)/100), hair_style, hair_color,
-		mapindex_id2name(tmp_start_point[start_point_idx].map), tmp_start_point[start_point_idx].x, tmp_start_point[start_point_idx].y, mapindex_id2name(tmp_start_point[start_point_idx].map), tmp_start_point[start_point_idx].x, tmp_start_point[start_point_idx].y) )
-#endif
 	{
 	{
 		Sql_ShowDebug(sql_handle);
 		Sql_ShowDebug(sql_handle);
 		return -2; //No, stop the procedure!
 		return -2; //No, stop the procedure!
@@ -1986,7 +1966,7 @@ void char_auth_ok(int fd, struct char_session_data *sd) {
 		{	//Character already online. KICK KICK KICK
 		{	//Character already online. KICK KICK KICK
 			mapif_disconnectplayer(map_server[character->server].fd, character->account_id, character->char_id, 2);
 			mapif_disconnectplayer(map_server[character->server].fd, character->account_id, character->char_id, 2);
 			if (character->waiting_disconnect == INVALID_TIMER)
 			if (character->waiting_disconnect == INVALID_TIMER)
-				character->waiting_disconnect = add_timer(gettick()+20000, char_chardb_waiting_disconnect, character->account_id, 0);
+				character->waiting_disconnect = add_timer(gettick()+AUTH_TIMEOUT, char_chardb_waiting_disconnect, character->account_id, 0);
 			chclif_send_auth_result(fd,8);
 			chclif_send_auth_result(fd,8);
 			return;
 			return;
 		}
 		}
@@ -2318,7 +2298,8 @@ bool char_checkdb(void){
 		"`guild_id`,`pet_id`,`homun_id`,`elemental_id`,`hair`,`hair_color`,`clothes_color`,`weapon`,"
 		"`guild_id`,`pet_id`,`homun_id`,`elemental_id`,`hair`,`hair_color`,`clothes_color`,`weapon`,"
 		"`shield`,`head_top`,`head_mid`,`head_bottom`,`robe`,`last_map`,`last_x`,`last_y`,`save_map`,"
 		"`shield`,`head_top`,`head_mid`,`head_bottom`,`robe`,`last_map`,`last_x`,`last_y`,`save_map`,"
 		"`save_x`,`save_y`,`partner_id`,`online`,`father`,`mother`,`child`,`fame`,`rename`,`delete_date`,"
 		"`save_x`,`save_y`,`partner_id`,`online`,`father`,`mother`,`child`,`fame`,`rename`,`delete_date`,"
-		"`moves`,`unban_time`,`font`,`sex`,`hotkey_rowshift`,`clan_id`,`last_login`,`title_id`,`show_equip`"
+		"`moves`,`unban_time`,`font`,`sex`,`hotkey_rowshift`,`clan_id`,`last_login`,`title_id`,`show_equip`,"
+		"`hotkey_rowshift2`"
 		" FROM `%s` LIMIT 1;", schema_config.char_db) ){
 		" FROM `%s` LIMIT 1;", schema_config.char_db) ){
 		Sql_ShowDebug(sql_handle);
 		Sql_ShowDebug(sql_handle);
 		return false;
 		return false;

+ 1 - 7
src/char/char.hpp

@@ -306,13 +306,7 @@ void char_auth_ok(int fd, struct char_session_data *sd);
 void char_set_charselect(uint32 account_id);
 void char_set_charselect(uint32 account_id);
 void char_read_fame_list(void);
 void char_read_fame_list(void);
 
 
-#if PACKETVER >= 20151001
-int char_make_new_char_sql(struct char_session_data* sd, char* name_, int slot, int hair_color, int hair_style, short start_job, short unknown, int sex);
-#elif PACKETVER >= 20120307
-int char_make_new_char_sql(struct char_session_data* sd, char* name_, int slot, int hair_color, int hair_style);
-#else
-int char_make_new_char_sql(struct char_session_data* sd, char* name_, int str, int agi, int vit, int int_, int dex, int luk, int slot, int hair_color, int hair_style);
-#endif
+int char_make_new_char( struct char_session_data* sd, char* name_, int str, int agi, int vit, int int_, int dex, int luk, int slot, int hair_color, int hair_style, short start_job, int sex );
 
 
 void char_set_session_flag_(int account_id, int val, bool set);
 void char_set_session_flag_(int account_id, int val, bool set);
 #define char_set_session_flag(account_id, val)   ( char_set_session_flag_((account_id), (val), true)  )
 #define char_set_session_flag(account_id, val)   ( char_set_session_flag_((account_id), (val), true)  )

+ 74 - 9
src/char/char_clif.cpp

@@ -811,13 +811,24 @@ int chclif_parse_charselect(int fd, struct char_session_data* sd,uint32 ipl){
 		char* data;
 		char* data;
 		uint32 char_id;
 		uint32 char_id;
 		struct auth_node* node;
 		struct auth_node* node;
-		int i, map_fd;
+		int i, map_fd, server_id;
 		DBMap *auth_db = char_get_authdb();
 		DBMap *auth_db = char_get_authdb();
 		DBMap *char_db_ = char_get_chardb();
 		DBMap *char_db_ = char_get_chardb();
 
 
 		int slot = RFIFOB(fd,2);
 		int slot = RFIFOB(fd,2);
 		RFIFOSKIP(fd,3);
 		RFIFOSKIP(fd,3);
 
 
+		ARR_FIND( 0, ARRAYLENGTH(map_server), server_id, map_server[server_id].fd > 0 && !map_server[server_id].map.empty() );
+		// Map-server not available, tell the client to wait (client wont close, char select will respawn)
+		if (server_id == ARRAYLENGTH(map_server)) {
+			WFIFOHEAD(fd, 24);
+			WFIFOW(fd, 0) = 0x840;
+			WFIFOW(fd, 2) = 24;
+			memcpy(WFIFOP(fd, 4), "0", 20); // we can't send it empty (otherwise the list will pop up)
+			WFIFOSET(fd, 24);
+			return 1;
+		}
+
 		// Check if the character exists and is not scheduled for deletion
 		// Check if the character exists and is not scheduled for deletion
 		if ( SQL_SUCCESS != Sql_Query(sql_handle, "SELECT `char_id` FROM `%s` WHERE `account_id`='%d' AND `char_num`='%d' AND `delete_date` = 0", schema_config.char_db, sd->account_id, slot)
 		if ( SQL_SUCCESS != Sql_Query(sql_handle, "SELECT `char_id` FROM `%s` WHERE `account_id`='%d' AND `char_num`='%d' AND `delete_date` = 0", schema_config.char_db, sd->account_id, slot)
 		  || SQL_SUCCESS != Sql_NextRow(sql_handle)
 		  || SQL_SUCCESS != Sql_NextRow(sql_handle)
@@ -855,8 +866,6 @@ int chclif_parse_charselect(int fd, struct char_session_data* sd,uint32 ipl){
 
 
 		//Have to switch over to the DB instance otherwise data won't propagate [Kevin]
 		//Have to switch over to the DB instance otherwise data won't propagate [Kevin]
 		cd = (struct mmo_charstatus *)idb_get(char_db_, char_id);
 		cd = (struct mmo_charstatus *)idb_get(char_db_, char_id);
-		if (cd->sex == SEX_ACCOUNT)
-			cd->sex = sd->sex;
 
 
 		if (charserv_config.log_char) {
 		if (charserv_config.log_char) {
 			char esc_name[NAME_LENGTH*2+1];
 			char esc_name[NAME_LENGTH*2+1];
@@ -951,16 +960,72 @@ int chclif_parse_createnewchar(int fd, struct char_session_data* sd,int cmd){
 	if( (charserv_config.char_new)==0 ) //turn character creation on/off [Kevin]
 	if( (charserv_config.char_new)==0 ) //turn character creation on/off [Kevin]
 		char_id = -2;
 		char_id = -2;
 	else {
 	else {
+		char name[NAME_LENGTH];
+		int str, agi, vit, int_, dex, luk;
+		int slot;
+		int hair_color;
+		int hair_style;
+		short start_job;
+		int sex;
+
 #if PACKETVER >= 20151001
 #if PACKETVER >= 20151001
-			char_id = char_make_new_char_sql(sd, RFIFOCP(fd,2),RFIFOB(fd,26),RFIFOW(fd,27),RFIFOW(fd,29),RFIFOW(fd,31),RFIFOW(fd,32),RFIFOB(fd,35));
-			RFIFOSKIP(fd,36);
+		// Sent values
+		safestrncpy( name, RFIFOCP( fd, 2 ), NAME_LENGTH );
+		slot = RFIFOB( fd, 26 );
+		hair_color = RFIFOW( fd, 27 );
+		hair_style = RFIFOW( fd, 29 );
+		start_job = RFIFOW( fd, 31 );
+		// Unknown RFIFOW( fd, 32 )
+		sex = RFIFOB( fd, 35 );
+
+		// Default values
+		str = 1;
+		agi = 1;
+		vit = 1;
+		int_ = 1;
+		dex = 1;
+		luk = 1;
+
+		RFIFOSKIP( fd, 36 );
 #elif PACKETVER >= 20120307
 #elif PACKETVER >= 20120307
-			char_id = char_make_new_char_sql(sd, RFIFOCP(fd,2),RFIFOB(fd,26),RFIFOW(fd,27),RFIFOW(fd,29));
-			RFIFOSKIP(fd,31);
+		// Sent values
+		safestrncpy( name, RFIFOCP( fd, 2 ), NAME_LENGTH );
+		slot = RFIFOB( fd, 26 );
+		hair_color = RFIFOW( fd, 27 );
+		hair_style = RFIFOW( fd, 29 );
+
+		// Default values
+		str = 1;
+		agi = 1;
+		vit = 1;
+		int_ = 1;
+		dex = 1;
+		luk = 1;
+		start_job = JOB_NOVICE;
+		sex = sd->sex;
+
+		RFIFOSKIP( fd, 31 );
 #else
 #else
-			char_id = char_make_new_char_sql(sd, RFIFOCP(fd,2),RFIFOB(fd,26),RFIFOB(fd,27),RFIFOB(fd,28),RFIFOB(fd,29),RFIFOB(fd,30),RFIFOB(fd,31),RFIFOB(fd,32),RFIFOW(fd,33),RFIFOW(fd,35));
-			RFIFOSKIP(fd,37);
+		// Sent values
+		safestrncpy( name, RFIFOCP( fd, 2 ), NAME_LENGTH );
+		str = RFIFOB( fd, 26 );
+		agi = RFIFOB( fd, 27 );
+		vit = RFIFOB( fd, 28 );
+		int_ = RFIFOB( fd, 29 );
+		dex = RFIFOB( fd, 30 );
+		luk = RFIFOB( fd, 31 );
+		slot = RFIFOB( fd, 32 );
+		hair_color = RFIFOW( fd, 33 );
+		hair_style = RFIFOW( fd, 35 );
+
+		// Default values
+		start_job = JOB_NOVICE;
+		sex = sd->sex;
+
+		RFIFOSKIP( fd, 37 );
 #endif
 #endif
+
+		char_id = char_make_new_char( sd, name, str, agi, vit, int_, dex, luk, slot, hair_color, hair_style, start_job, sex );
 	}
 	}
 
 
 	if (char_id < 0) {
 	if (char_id < 0) {

+ 26 - 30
src/char/char_logif.cpp

@@ -179,12 +179,12 @@ void chlogif_prepsend_global_accreg(void) {
 }
 }
 
 
 void chlogif_send_global_accreg(const char *key, unsigned int index, int64 int_value, const char* string_value, bool is_string) {
 void chlogif_send_global_accreg(const char *key, unsigned int index, int64 int_value, const char* string_value, bool is_string) {
-	int nlen = WFIFOW(login_fd, 2);
-	size_t len;
-
 	if (!chlogif_isconnected())
 	if (!chlogif_isconnected())
 		return;
 		return;
 
 
+	int nlen = WFIFOW(login_fd, 2);
+	size_t len;
+
 	len = strlen(key)+1;
 	len = strlen(key)+1;
 
 
 	WFIFOB(login_fd, nlen) = (unsigned char)len; // won't be higher; the column size is 32
 	WFIFOB(login_fd, nlen) = (unsigned char)len; // won't be higher; the column size is 32
@@ -275,7 +275,7 @@ void chlogif_send_setaccoffline(int fd, int aid){
 	WFIFOSET(fd,6);
 	WFIFOSET(fd,6);
 }
 }
 
 
-int chlogif_parse_ackconnect(int fd, struct char_session_data* sd){
+int chlogif_parse_ackconnect(int fd){
 	if (RFIFOREST(fd) < 3)
 	if (RFIFOREST(fd) < 3)
 		return 0;
 		return 0;
 
 
@@ -295,10 +295,11 @@ int chlogif_parse_ackconnect(int fd, struct char_session_data* sd){
 	return 1;
 	return 1;
 }
 }
 
 
-int chlogif_parse_ackaccreq(int fd, struct char_session_data* sd){
+int chlogif_parse_ackaccreq(int fd){
 	if (RFIFOREST(fd) < 21)
 	if (RFIFOREST(fd) < 21)
 		return 0;
 		return 0;
 	{
 	{
+		struct char_session_data* sd;
 		uint32 account_id = RFIFOL(fd,2);
 		uint32 account_id = RFIFOL(fd,2);
 		uint32 login_id1 = RFIFOL(fd,6);
 		uint32 login_id1 = RFIFOL(fd,6);
 		uint32 login_id2 = RFIFOL(fd,10);
 		uint32 login_id2 = RFIFOL(fd,10);
@@ -332,16 +333,16 @@ int chlogif_parse_ackaccreq(int fd, struct char_session_data* sd){
  * Receive account data from login-server
  * Receive account data from login-server
  * AH 0x2717 <aid>.L <email>.40B <expiration_time>.L <group_id>.B <birthdate>.11B <pincode>.5B <pincode_change>.L <isvip>.B <char_vip>.B <char_billing>.B
  * AH 0x2717 <aid>.L <email>.40B <expiration_time>.L <group_id>.B <birthdate>.11B <pincode>.5B <pincode_change>.L <isvip>.B <char_vip>.B <char_billing>.B
  **/
  **/
-int chlogif_parse_reqaccdata(int fd, struct char_session_data* sd){
-	int u_fd; //user fd
+int chlogif_parse_reqaccdata(int fd){
 	if (RFIFOREST(fd) < 75)
 	if (RFIFOREST(fd) < 75)
 		return 0;
 		return 0;
+	int u_fd; //user fd
+	struct char_session_data* sd;
 
 
 	// find the authenticated session with this account id
 	// find the authenticated session with this account id
 	ARR_FIND( 0, fd_max, u_fd, session[u_fd] && (sd = (struct char_session_data*)session[u_fd]->session_data) && sd->auth && sd->account_id == RFIFOL(fd,2) );
 	ARR_FIND( 0, fd_max, u_fd, session[u_fd] && (sd = (struct char_session_data*)session[u_fd]->session_data) && sd->auth && sd->account_id == RFIFOL(fd,2) );
 	if( u_fd < fd_max )
 	if( u_fd < fd_max )
 	{
 	{
-		int server_id;
 		memcpy(sd->email, RFIFOP(fd,6), 40);
 		memcpy(sd->email, RFIFOP(fd,6), 40);
 		sd->expiration_time = (time_t)RFIFOL(fd,46);
 		sd->expiration_time = (time_t)RFIFOL(fd,46);
 		sd->group_id = RFIFOB(fd,50);
 		sd->group_id = RFIFOB(fd,50);
@@ -357,12 +358,10 @@ int chlogif_parse_reqaccdata(int fd, struct char_session_data* sd){
 		sd->isvip = RFIFOB(fd,72);
 		sd->isvip = RFIFOB(fd,72);
 		sd->chars_vip = RFIFOB(fd,73);
 		sd->chars_vip = RFIFOB(fd,73);
 		sd->chars_billing = RFIFOB(fd,74);
 		sd->chars_billing = RFIFOB(fd,74);
-		ARR_FIND( 0, ARRAYLENGTH(map_server), server_id, map_server[server_id].fd > 0 && map_server[server_id].map[0] );
 		// continued from char_auth_ok...
 		// continued from char_auth_ok...
-		if( server_id == ARRAYLENGTH(map_server) || //server not online, bugreport:2359
-			(((charserv_config.max_connect_user == 0 || charserv_config.char_maintenance == 1) ||
+		if(((charserv_config.max_connect_user == 0 || charserv_config.char_maintenance == 1) ||
 			(charserv_config.max_connect_user > 0 && char_count_users() >= charserv_config.max_connect_user)) &&
 			(charserv_config.max_connect_user > 0 && char_count_users() >= charserv_config.max_connect_user)) &&
-			sd->group_id < charserv_config.gm_allow_group)) {
+			sd->group_id < charserv_config.gm_allow_group) {
 			// refuse connection (over populated)
 			// refuse connection (over populated)
 			chclif_reject(u_fd,0);
 			chclif_reject(u_fd,0);
 		} else {
 		} else {
@@ -377,7 +376,7 @@ int chlogif_parse_reqaccdata(int fd, struct char_session_data* sd){
 	return 1;
 	return 1;
 }
 }
 
 
-int chlogif_parse_keepalive(int fd, struct char_session_data* sd){
+int chlogif_parse_keepalive(int fd){
 	if (RFIFOREST(fd) < 2)
 	if (RFIFOREST(fd) < 2)
 		return 0;
 		return 0;
 	RFIFOSKIP(fd,2);
 	RFIFOSKIP(fd,2);
@@ -425,7 +424,7 @@ void chlogif_parse_change_sex_sub(int sex, int acc, int char_id, int class_, int
 		inter_guild_sex_changed(guild_id, acc, char_id, sex);
 		inter_guild_sex_changed(guild_id, acc, char_id, sex);
 }
 }
 
 
-int chlogif_parse_ackchangesex(int fd, struct char_session_data* sd)
+int chlogif_parse_ackchangesex(int fd)
 {
 {
 	if (RFIFOREST(fd) < 7)
 	if (RFIFOREST(fd) < 7)
 		return 0;
 		return 0;
@@ -519,7 +518,7 @@ int chlogif_parse_ackchangecharsex(int char_id, int sex)
 	return 0;
 	return 0;
 }
 }
 
 
-int chlogif_parse_ack_global_accreg(int fd, struct char_session_data* sd){
+int chlogif_parse_ack_global_accreg(int fd){
 	if (RFIFOREST(fd) < 4 || RFIFOREST(fd) < RFIFOW(fd,2))
 	if (RFIFOREST(fd) < 4 || RFIFOREST(fd) < RFIFOW(fd,2))
 		return 0;
 		return 0;
 	else { //Receive account_reg2 registry, forward to map servers.
 	else { //Receive account_reg2 registry, forward to map servers.
@@ -530,7 +529,7 @@ int chlogif_parse_ack_global_accreg(int fd, struct char_session_data* sd){
 	return 1;
 	return 1;
 }
 }
 
 
-int chlogif_parse_accbannotification(int fd, struct char_session_data* sd){
+int chlogif_parse_accbannotification(int fd){
 	if (RFIFOREST(fd) < 11)
 	if (RFIFOREST(fd) < 11)
 		return 0;
 		return 0;
 	else { // send to all map-servers to disconnect the player
 	else { // send to all map-servers to disconnect the player
@@ -547,7 +546,7 @@ int chlogif_parse_accbannotification(int fd, struct char_session_data* sd){
 	return 1;
 	return 1;
 }
 }
 
 
-int chlogif_parse_askkick(int fd, struct char_session_data* sd){
+int chlogif_parse_askkick(int fd){
 	if (RFIFOREST(fd) < 6)
 	if (RFIFOREST(fd) < 6)
 		return 0;
 		return 0;
 	else {
 	else {
@@ -583,7 +582,7 @@ int chlogif_parse_askkick(int fd, struct char_session_data* sd){
 	return 1;
 	return 1;
 }
 }
 
 
-int chlogif_parse_updip(int fd, struct char_session_data* sd){
+int chlogif_parse_updip(int fd){
 	unsigned char buf[2];
 	unsigned char buf[2];
 	uint32 new_ip = 0;
 	uint32 new_ip = 0;
 
 
@@ -700,7 +699,6 @@ int chlogif_parse_AccInfoAck(int fd) {
 
 
 
 
 int chlogif_parse(int fd) {
 int chlogif_parse(int fd) {
-	struct char_session_data* sd = NULL;
 
 
 	// only process data from the login-server
 	// only process data from the login-server
 	if( fd != login_fd ) {
 	if( fd != login_fd ) {
@@ -727,8 +725,6 @@ int chlogif_parse(int fd) {
 		}
 		}
 	}
 	}
 
 
-	sd = (struct char_session_data*)session[fd]->session_data;
-
 	while(RFIFOREST(fd) >= 2) {
 	while(RFIFOREST(fd) >= 2) {
 		// -1: Login server is not connected
 		// -1: Login server is not connected
 		//  0: Avoid processing followup packets (prev was probably incomplete) packet
 		//  0: Avoid processing followup packets (prev was probably incomplete) packet
@@ -736,16 +732,16 @@ int chlogif_parse(int fd) {
 		int next = 1;
 		int next = 1;
 		uint16 command = RFIFOW(fd,0);
 		uint16 command = RFIFOW(fd,0);
 		switch( command ) {
 		switch( command ) {
-			case 0x2711: next = chlogif_parse_ackconnect(fd,sd); break;
-			case 0x2713: next = chlogif_parse_ackaccreq(fd, sd); break;
-			case 0x2717: next = chlogif_parse_reqaccdata(fd, sd); break;
-			case 0x2718: next = chlogif_parse_keepalive(fd, sd); break;
+			case 0x2711: next = chlogif_parse_ackconnect(fd); break;
+			case 0x2713: next = chlogif_parse_ackaccreq(fd); break;
+			case 0x2717: next = chlogif_parse_reqaccdata(fd); break;
+			case 0x2718: next = chlogif_parse_keepalive(fd); break;
 			case 0x2721: next = chlogif_parse_AccInfoAck(fd); break;
 			case 0x2721: next = chlogif_parse_AccInfoAck(fd); break;
-			case 0x2723: next = chlogif_parse_ackchangesex(fd, sd); break;
-			case 0x2726: next = chlogif_parse_ack_global_accreg(fd, sd); break;
-			case 0x2731: next = chlogif_parse_accbannotification(fd, sd); break;
-			case 0x2734: next = chlogif_parse_askkick(fd,sd); break;
-			case 0x2735: next = chlogif_parse_updip(fd,sd); break;
+			case 0x2723: next = chlogif_parse_ackchangesex(fd); break;
+			case 0x2726: next = chlogif_parse_ack_global_accreg(fd); break;
+			case 0x2731: next = chlogif_parse_accbannotification(fd); break;
+			case 0x2734: next = chlogif_parse_askkick(fd); break;
+			case 0x2735: next = chlogif_parse_updip(fd); break;
 			case 0x2743: next = chlogif_parse_vipack(fd); break;
 			case 0x2743: next = chlogif_parse_vipack(fd); break;
 			default:
 			default:
 				ShowError("Unknown packet 0x%04x received from login-server, disconnecting.\n", command);
 				ShowError("Unknown packet 0x%04x received from login-server, disconnecting.\n", command);

+ 9 - 9
src/char/char_logif.hpp

@@ -26,17 +26,17 @@ void chlogif_send_setacconline(int aid);
 void chlogif_send_setallaccoffline(int fd);
 void chlogif_send_setallaccoffline(int fd);
 void chlogif_send_setaccoffline(int fd, int aid);
 void chlogif_send_setaccoffline(int fd, int aid);
 
 
-int chlogif_parse_ackconnect(int fd, struct char_session_data* sd);
-int chlogif_parse_ackaccreq(int fd, struct char_session_data* sd);
-int chlogif_parse_reqaccdata(int fd, struct char_session_data* sd);
-int chlogif_parse_keepalive(int fd, struct char_session_data* sd);
+int chlogif_parse_ackconnect(int fd);
+int chlogif_parse_ackaccreq(int fd);
+int chlogif_parse_reqaccdata(int fd);
+int chlogif_parse_keepalive(int fd);
 void chlogif_parse_change_sex_sub(int sex, int acc, int char_id, int class_, int guild_id);
 void chlogif_parse_change_sex_sub(int sex, int acc, int char_id, int class_, int guild_id);
-int chlogif_parse_ackchangesex(int fd, struct char_session_data* sd);
+int chlogif_parse_ackchangesex(int fd);
 int chlogif_parse_ackchangecharsex(int char_id, int sex);
 int chlogif_parse_ackchangecharsex(int char_id, int sex);
-int chlogif_parse_ack_global_accreg(int fd, struct char_session_data* sd);
-int chlogif_parse_accbannotification(int fd, struct char_session_data* sd);
-int chlogif_parse_askkick(int fd, struct char_session_data* sd);
-int chlogif_parse_updip(int fd, struct char_session_data* sd);
+int chlogif_parse_ack_global_accreg(int fd);
+int chlogif_parse_accbannotification(int fd);
+int chlogif_parse_askkick(int fd);
+int chlogif_parse_updip(int fd);
 
 
 int chlogif_parse_vipack(int fd);
 int chlogif_parse_vipack(int fd);
 int chlogif_reqvipdata(uint32 aid, uint8 flag, int32 timediff, int mapfd);
 int chlogif_reqvipdata(uint32 aid, uint8 flag, int32 timediff, int mapfd);

+ 0 - 4
src/char/char_mapif.cpp

@@ -1013,8 +1013,6 @@ int chmapif_parse_reqauth(int fd, int id){
 		}
 		}
 		if( runflag == CHARSERVER_ST_RUNNING && autotrade && cd ){
 		if( runflag == CHARSERVER_ST_RUNNING && autotrade && cd ){
 			uint16 mmo_charstatus_len = sizeof(struct mmo_charstatus) + 25;
 			uint16 mmo_charstatus_len = sizeof(struct mmo_charstatus) + 25;
-			if (cd->sex == SEX_ACCOUNT)
-				cd->sex = sex;
 
 
 			WFIFOHEAD(fd,mmo_charstatus_len);
 			WFIFOHEAD(fd,mmo_charstatus_len);
 			WFIFOW(fd,0) = 0x2afd;
 			WFIFOW(fd,0) = 0x2afd;
@@ -1042,8 +1040,6 @@ int chmapif_parse_reqauth(int fd, int id){
 			)
 			)
 		{// auth ok
 		{// auth ok
 			uint16 mmo_charstatus_len = sizeof(struct mmo_charstatus) + 25;
 			uint16 mmo_charstatus_len = sizeof(struct mmo_charstatus) + 25;
-			if (cd->sex == SEX_ACCOUNT)
-				cd->sex = sex;
 
 
 			WFIFOHEAD(fd,mmo_charstatus_len);
 			WFIFOHEAD(fd,mmo_charstatus_len);
 			WFIFOW(fd,0) = 0x2afd;
 			WFIFOW(fd,0) = 0x2afd;

+ 12 - 0
src/common/core.cpp

@@ -3,6 +3,8 @@
 
 
 #include "core.hpp"
 #include "core.hpp"
 
 
+#include "../config/core.hpp"
+
 #ifndef MINICORE
 #ifndef MINICORE
 #include "ers.hpp"
 #include "ers.hpp"
 #include "socket.hpp"
 #include "socket.hpp"
@@ -24,6 +26,16 @@
 #include "showmsg.hpp"
 #include "showmsg.hpp"
 #include "strlib.hpp"
 #include "strlib.hpp"
 
 
+#ifndef DEPRECATED_COMPILER_SUPPORT
+	#if defined( _MSC_VER ) && _MSC_VER < 1900
+		#error "Visual Studio versions older than Visual Studio 2015 are not officially supported anymore"
+	#elif defined( __clang__ ) && __clang_major__ < 4 && !( __clang_major__ == 3 && __clang_minor__ >= 7 )
+		#error "clang versions older than clang 3.7 are not officially supported anymore"
+	#elif !defined( __clang__ ) && defined( __GNUC__ ) && __GNUC__ < 5
+		#error "GCC versions older than GCC 5 are not officially supported anymore"
+	#endif
+#endif
+
 /// Called when a terminate signal is received.
 /// Called when a terminate signal is received.
 void (*shutdown_callback)(void) = NULL;
 void (*shutdown_callback)(void) = NULL;
 
 

+ 11 - 5
src/common/mmo.hpp

@@ -33,6 +33,12 @@
 	#define MAX_HOTKEYS 38
 	#define MAX_HOTKEYS 38
 #endif
 #endif
 
 
+#if PACKETVER_MAIN_NUM >= 20190522 || PACKETVER_RE_NUM >= 20190508 || PACKETVER_ZERO_NUM >= 20190605
+	#define MAX_HOTKEYS_DB ((MAX_HOTKEYS) * 2)
+#else
+	#define MAX_HOTKEYS_DB MAX_HOTKEYS
+#endif
+
 #define MAX_MAP_PER_SERVER 1500 /// Maximum amount of maps available on a server
 #define MAX_MAP_PER_SERVER 1500 /// Maximum amount of maps available on a server
 #define MAX_INVENTORY 100 ///Maximum items in player inventory
 #define MAX_INVENTORY 100 ///Maximum items in player inventory
 /** Max number of characters per account. Note that changing this setting alone is not enough if the client is not hexed to support more characters as well.
 /** Max number of characters per account. Note that changing this setting alone is not enough if the client is not hexed to support more characters as well.
@@ -377,7 +383,7 @@ struct s_storage {
 		unsigned get : 1;
 		unsigned get : 1;
 		unsigned put : 1;
 		unsigned put : 1;
 	} state;
 	} state;
-	union { // Max for inventory, storage, cart, and guild storage are 1637 each without changing this struct and struct item [2014/10/27]
+	union { // Max for inventory, storage, cart, and guild storage are 818 each without changing this struct and struct item [2016/08/14]
 		struct item items_inventory[MAX_INVENTORY];
 		struct item items_inventory[MAX_INVENTORY];
 		struct item items_storage[MAX_STORAGE];
 		struct item items_storage[MAX_STORAGE];
 		struct item items_cart[MAX_CART];
 		struct item items_cart[MAX_CART];
@@ -518,7 +524,7 @@ struct mmo_charstatus {
 
 
 	struct s_friend friends[MAX_FRIENDS]; //New friend system [Skotlex]
 	struct s_friend friends[MAX_FRIENDS]; //New friend system [Skotlex]
 #ifdef HOTKEY_SAVING
 #ifdef HOTKEY_SAVING
-	struct hotkey hotkeys[MAX_HOTKEYS];
+	struct hotkey hotkeys[MAX_HOTKEYS_DB];
 #endif
 #endif
 	bool show_equip,allow_party;
 	bool show_equip,allow_party;
 	short rename;
 	short rename;
@@ -536,6 +542,7 @@ struct mmo_charstatus {
 	uint32 uniqueitem_counter;
 	uint32 uniqueitem_counter;
 
 
 	unsigned char hotkey_rowshift;
 	unsigned char hotkey_rowshift;
+	unsigned char hotkey_rowshift2;
 	unsigned long title_id;
 	unsigned long title_id;
 };
 };
 
 
@@ -673,7 +680,7 @@ struct guild {
 	struct guild_expulsion expulsion[MAX_GUILDEXPULSION];
 	struct guild_expulsion expulsion[MAX_GUILDEXPULSION];
 	struct guild_skill skill[MAX_GUILDSKILL];
 	struct guild_skill skill[MAX_GUILDSKILL];
 	struct Channel *channel;
 	struct Channel *channel;
-	unsigned short instance_id;
+	int instance_id;
 	time_t last_leader_change;
 	time_t last_leader_change;
 
 
 	/* Used by char-server to save events for guilds */
 	/* Used by char-server to save events for guilds */
@@ -964,8 +971,7 @@ enum e_job {
 enum e_sex {
 enum e_sex {
 	SEX_FEMALE = 0,
 	SEX_FEMALE = 0,
 	SEX_MALE,
 	SEX_MALE,
-	SEX_SERVER,
-	SEX_ACCOUNT = 99
+	SEX_SERVER
 };
 };
 
 
 /// Item Bound Type
 /// Item Bound Type

+ 4 - 0
src/common/socket.cpp

@@ -428,6 +428,8 @@ int send_from_fifo(int fd)
 
 
 	if( len > 0 )
 	if( len > 0 )
 	{
 	{
+		session[fd]->wdata_tick = last_tick;
+
 		// some data could not be transferred?
 		// some data could not be transferred?
 		// shift unsent data to the beginning of the queue
 		// shift unsent data to the beginning of the queue
 		if( (size_t)len < session[fd]->wdata_size )
 		if( (size_t)len < session[fd]->wdata_size )
@@ -587,6 +589,7 @@ int make_listen_bind(uint32 ip, uint16 port)
 	create_session(fd, connect_client, null_send, null_parse);
 	create_session(fd, connect_client, null_send, null_parse);
 	session[fd]->client_addr = 0; // just listens
 	session[fd]->client_addr = 0; // just listens
 	session[fd]->rdata_tick = 0; // disable timeouts on this socket
 	session[fd]->rdata_tick = 0; // disable timeouts on this socket
+	session[fd]->wdata_tick = 0;
 
 
 	return fd;
 	return fd;
 }
 }
@@ -727,6 +730,7 @@ static int create_session(int fd, RecvFunc func_recv, SendFunc func_send, ParseF
 	session[fd]->func_send  = func_send;
 	session[fd]->func_send  = func_send;
 	session[fd]->func_parse = func_parse;
 	session[fd]->func_parse = func_parse;
 	session[fd]->rdata_tick = last_tick;
 	session[fd]->rdata_tick = last_tick;
+	session[fd]->wdata_tick = last_tick;
 	return 0;
 	return 0;
 }
 }
 
 

+ 1 - 0
src/common/socket.hpp

@@ -98,6 +98,7 @@ struct socket_data
 	size_t rdata_size, wdata_size;
 	size_t rdata_size, wdata_size;
 	size_t rdata_pos;
 	size_t rdata_pos;
 	time_t rdata_tick; // time of last recv (for detecting timeouts); zero when timeout is disabled
 	time_t rdata_tick; // time of last recv (for detecting timeouts); zero when timeout is disabled
+	time_t wdata_tick; // time of last send (for detecting timeouts);
 
 
 	RecvFunc func_recv;
 	RecvFunc func_recv;
 	SendFunc func_send;
 	SendFunc func_send;

+ 8 - 0
src/common/sql.cpp

@@ -96,6 +96,14 @@ Sql* Sql_Malloc(void)
 }
 }
 
 
 
 
+/**
+ * Retrieves the last error number.
+ * @param self : sql handle
+ * @return last error number
+ */
+unsigned int Sql_GetError( Sql* self ){
+	return mysql_errno( &self->handle );
+}
 
 
 static int Sql_P_Keepalive(Sql* self);
 static int Sql_P_Keepalive(Sql* self);
 
 

+ 5 - 0
src/common/sql.hpp

@@ -105,6 +105,11 @@ struct Sql* Sql_Malloc(void);
 
 
 
 
 
 
+/// Retrieves the last error number.
+unsigned int Sql_GetError( Sql* self );
+
+
+
 /// Establishes a connection.
 /// Establishes a connection.
 ///
 ///
 /// @return SQL_SUCCESS or SQL_ERROR
 /// @return SQL_SUCCESS or SQL_ERROR

+ 7 - 0
src/config/core.hpp

@@ -74,6 +74,13 @@
 // overflows, which is approximately every ~49 days.
 // overflows, which is approximately every ~49 days.
 //#define DEPRECATED_WINDOWS_SUPPORT
 //#define DEPRECATED_WINDOWS_SUPPORT
 
 
+// Uncomment to enable compilation for unsupported compilers
+// Note:
+// Compilation might work on these compilers, but they might not fully follow newer C++ rules and
+// cause unexpected behavior.
+// Do NOT create any issues or ask for help with these compilers.
+//#define DEPRECATED_COMPILER_SUPPORT
+
 /**
 /**
  * No settings past this point
  * No settings past this point
  **/
  **/

+ 18 - 1
src/config/packets.hpp

@@ -13,7 +13,7 @@
 	/// Do NOT edit this line! To set your client version, please do this instead:
 	/// Do NOT edit this line! To set your client version, please do this instead:
 	/// In Windows: Add this line in your src\custom\defines_pre.hpp file: #define PACKETVER YYYYMMDD
 	/// In Windows: Add this line in your src\custom\defines_pre.hpp file: #define PACKETVER YYYYMMDD
 	/// In Linux: The same as above or run the following command: ./configure --enable-packetver=YYYYMMDD
 	/// In Linux: The same as above or run the following command: ./configure --enable-packetver=YYYYMMDD
-	#define PACKETVER 20180620
+	#define PACKETVER 20200401
 #endif
 #endif
 
 
 #ifndef PACKETVER_RE
 #ifndef PACKETVER_RE
@@ -24,6 +24,23 @@
 	#endif
 	#endif
 #endif
 #endif
 
 
+#ifndef PACKETVER_RE
+	#define PACKETVER_MAIN_NUM PACKETVER
+
+	// Undefine all sakray server definitions
+	#undef PACKETVER_RE
+	#undef PACKETVER_RE_NUM
+#else
+	// Undefine existing definition
+	#undef PACKETVER_RE
+
+	#define PACKETVER_RE PACKETVER
+	#define PACKETVER_RE_NUM PACKETVER
+
+	// Undefine all main server definitions
+	#undef PACKETVER_MAIN_NUM
+#endif
+
 #if PACKETVER >= 20110817
 #if PACKETVER >= 20110817
 	/// Comment to disable the official packet obfuscation support.
 	/// Comment to disable the official packet obfuscation support.
 	/// This requires PACKETVER 2011-08-17 or newer.
 	/// This requires PACKETVER 2011-08-17 or newer.

+ 89 - 2
src/login/account.cpp

@@ -14,6 +14,8 @@
 #include "../common/sql.hpp"
 #include "../common/sql.hpp"
 #include "../common/strlib.hpp"
 #include "../common/strlib.hpp"
 
 
+#include "login.hpp" // login_config
+
 /// global defines
 /// global defines
 
 
 /// internal structure
 /// internal structure
@@ -49,6 +51,9 @@ static bool account_db_sql_get_property(AccountDB* self, const char* key, char*
 static bool account_db_sql_set_property(AccountDB* self, const char* option, const char* value);
 static bool account_db_sql_set_property(AccountDB* self, const char* option, const char* value);
 static bool account_db_sql_create(AccountDB* self, struct mmo_account* acc);
 static bool account_db_sql_create(AccountDB* self, struct mmo_account* acc);
 static bool account_db_sql_remove(AccountDB* self, const uint32 account_id);
 static bool account_db_sql_remove(AccountDB* self, const uint32 account_id);
+static bool account_db_sql_enable_webtoken( AccountDB* self, const uint32 account_id );
+static bool account_db_sql_disable_webtoken( AccountDB* self, const uint32 account_id );
+static bool account_db_sql_remove_webtokens( AccountDB* self );
 static bool account_db_sql_save(AccountDB* self, const struct mmo_account* acc);
 static bool account_db_sql_save(AccountDB* self, const struct mmo_account* acc);
 static bool account_db_sql_load_num(AccountDB* self, struct mmo_account* acc, const uint32 account_id);
 static bool account_db_sql_load_num(AccountDB* self, struct mmo_account* acc, const uint32 account_id);
 static bool account_db_sql_load_str(AccountDB* self, struct mmo_account* acc, const char* userid);
 static bool account_db_sql_load_str(AccountDB* self, struct mmo_account* acc, const char* userid);
@@ -71,6 +76,9 @@ AccountDB* account_db_sql(void) {
 	db->vtable.save         = &account_db_sql_save;
 	db->vtable.save         = &account_db_sql_save;
 	db->vtable.create       = &account_db_sql_create;
 	db->vtable.create       = &account_db_sql_create;
 	db->vtable.remove       = &account_db_sql_remove;
 	db->vtable.remove       = &account_db_sql_remove;
+	db->vtable.enable_webtoken = &account_db_sql_enable_webtoken;
+	db->vtable.disable_webtoken = &account_db_sql_disable_webtoken;
+	db->vtable.remove_webtokens = &account_db_sql_remove_webtokens;
 	db->vtable.load_num     = &account_db_sql_load_num;
 	db->vtable.load_num     = &account_db_sql_load_num;
 	db->vtable.load_str     = &account_db_sql_load_str;
 	db->vtable.load_str     = &account_db_sql_load_str;
 	db->vtable.iterator     = &account_db_sql_iterator;
 	db->vtable.iterator     = &account_db_sql_iterator;
@@ -81,7 +89,7 @@ AccountDB* account_db_sql(void) {
 	safestrncpy(db->db_hostname, "127.0.0.1", sizeof(db->db_hostname));
 	safestrncpy(db->db_hostname, "127.0.0.1", sizeof(db->db_hostname));
 	db->db_port = 3306;
 	db->db_port = 3306;
 	safestrncpy(db->db_username, "ragnarok", sizeof(db->db_username));
 	safestrncpy(db->db_username, "ragnarok", sizeof(db->db_username));
-	safestrncpy(db->db_password, "ragnarok", sizeof(db->db_password));
+	safestrncpy(db->db_password, "", sizeof(db->db_password));
 	safestrncpy(db->db_database, "ragnarok", sizeof(db->db_database));
 	safestrncpy(db->db_database, "ragnarok", sizeof(db->db_database));
 	safestrncpy(db->codepage, "", sizeof(db->codepage));
 	safestrncpy(db->codepage, "", sizeof(db->codepage));
 	// other settings
 	// other settings
@@ -134,6 +142,8 @@ static bool account_db_sql_init(AccountDB* self) {
 	if( codepage[0] != '\0' && SQL_ERROR == Sql_SetEncoding(sql_handle, codepage) )
 	if( codepage[0] != '\0' && SQL_ERROR == Sql_SetEncoding(sql_handle, codepage) )
 		Sql_ShowDebug(sql_handle);
 		Sql_ShowDebug(sql_handle);
 
 
+	self->remove_webtokens( self );
+
 	Sql_UpgradesChecker(sql_handle, SQLDB_LOGIN);
 	Sql_UpgradesChecker(sql_handle, SQLDB_LOGIN);
 
 
 	return true;
 	return true;
@@ -146,6 +156,10 @@ static bool account_db_sql_init(AccountDB* self) {
 static void account_db_sql_destroy(AccountDB* self){
 static void account_db_sql_destroy(AccountDB* self){
 	AccountDB_SQL* db = (AccountDB_SQL*)self;
 	AccountDB_SQL* db = (AccountDB_SQL*)self;
 
 
+	if( SQL_ERROR == Sql_Query( db->accounts, "UPDATE `%s` SET `web_auth_token` = NULL", db->account_db ) ){
+		Sql_ShowDebug( db->accounts );
+	}
+
 	Sql_Free(db->accounts);
 	Sql_Free(db->accounts);
 	db->accounts = NULL;
 	db->accounts = NULL;
 	aFree(db);
 	aFree(db);
@@ -485,7 +499,7 @@ static bool account_db_sql_iter_next(AccountDBIterator* self, struct mmo_account
 }
 }
 
 
 /**
 /**
- * Fetch a struct mmo_account from sql.
+ * Fetch a struct mmo_account from sql, excluding web_auth_token.
  * @param db: pointer to db
  * @param db: pointer to db
  * @param acc: pointer of mmo_account to fill
  * @param acc: pointer of mmo_account to fill
  * @param account_id: id of user account to take data from
  * @param account_id: id of user account to take data from
@@ -535,6 +549,7 @@ static bool mmo_auth_fromsql(AccountDB_SQL* db, struct mmo_account* acc, uint32
 	Sql_GetData(sql_handle, 17, &data, NULL); acc->old_group = atoi(data);
 	Sql_GetData(sql_handle, 17, &data, NULL); acc->old_group = atoi(data);
 #endif
 #endif
 	Sql_FreeResult(sql_handle);
 	Sql_FreeResult(sql_handle);
+	acc->web_auth_token[0] = '\0';
 
 
 	return true;
 	return true;
 }
 }
@@ -631,6 +646,45 @@ static bool mmo_auth_tosql(AccountDB_SQL* db, const struct mmo_account* acc, boo
 		}
 		}
 	}
 	}
 
 
+	if( acc->sex != 'S' && login_config.use_web_auth_token ){
+		const int MAX_RETRIES = 20;
+		int i = 0;
+		bool success = false;
+
+		// Retry it for a maximum number of retries
+		do{
+			if( SQL_SUCCESS == Sql_Query( sql_handle, "UPDATE `%s` SET `web_auth_token` = LEFT( SHA2( CONCAT( UUID(), RAND() ), 256 ), %d ), `web_auth_token_enabled` = '1' WHERE `account_id` = '%d'", db->account_db, WEB_AUTH_TOKEN_LENGTH - 1, acc->account_id ) ){
+				success = true;
+				break;
+			}
+		}while( i < MAX_RETRIES && Sql_GetError( sql_handle ) == 1062 );
+
+		if( !success ){
+			if( i == MAX_RETRIES ){
+				ShowError( "Failed to generate a unique web_auth_token with %d retries...\n", i );
+			}else{
+				Sql_ShowDebug( sql_handle );
+			}
+
+			break;
+		}
+
+		char* data;
+		size_t len;
+
+		if( SQL_SUCCESS != Sql_Query( sql_handle, "SELECT `web_auth_token` from `%s` WHERE `account_id` = '%d'", db->account_db, acc->account_id ) ||
+			SQL_SUCCESS != Sql_NextRow( sql_handle ) ||
+			SQL_SUCCESS != Sql_GetData( sql_handle, 0, &data, &len )
+			){
+			Sql_ShowDebug( sql_handle );
+			break;
+		}
+
+		safestrncpy( (char *)&acc->web_auth_token, data, sizeof( acc->web_auth_token ) );
+
+		Sql_FreeResult( sql_handle );
+	}
+
 	// if we got this far, everything was successful
 	// if we got this far, everything was successful
 	result = true;
 	result = true;
 
 
@@ -831,3 +885,36 @@ void mmo_send_global_accreg(AccountDB* self, int fd, uint32 account_id, uint32 c
 
 
 	Sql_FreeResult(sql_handle);
 	Sql_FreeResult(sql_handle);
 }
 }
+
+bool account_db_sql_enable_webtoken( AccountDB* self, const uint32 account_id ){
+	AccountDB_SQL* db = (AccountDB_SQL*)self;
+
+	if( SQL_ERROR == Sql_Query( db->accounts, "UPDATE `%s` SET `web_auth_token_enabled` = '1' WHERE `account_id` = '%u'", db->account_db, account_id ) ){
+		Sql_ShowDebug( db->accounts );
+		return false;
+	}
+
+	return true;
+}
+
+bool account_db_sql_disable_webtoken( AccountDB* self, const uint32 account_id ){
+	AccountDB_SQL* db = (AccountDB_SQL*)self;
+
+	if( SQL_ERROR == Sql_Query( db->accounts, "UPDATE `%s` SET `web_auth_token_enabled` = '0' WHERE `account_id` = '%u'", db->account_db, account_id ) ){
+		Sql_ShowDebug( db->accounts );
+		return false;
+	}
+
+	return true;
+}
+
+bool account_db_sql_remove_webtokens( AccountDB* self ){
+	AccountDB_SQL* db = (AccountDB_SQL*)self;
+
+	if( SQL_ERROR == Sql_Query( db->accounts, "UPDATE `%s` SET `web_auth_token` = NULL, `web_auth_token_enabled` = '0'", db->account_db ) ){
+		Sql_ShowDebug( db->accounts );
+		return false;
+	}
+
+	return true;
+}

+ 14 - 0
src/login/account.hpp

@@ -8,6 +8,10 @@
 #include "../common/mmo.hpp" // ACCOUNT_REG2_NUM
 #include "../common/mmo.hpp" // ACCOUNT_REG2_NUM
 #include "../config/core.hpp"
 #include "../config/core.hpp"
 
 
+#ifndef WEB_AUTH_TOKEN_LENGTH
+#define WEB_AUTH_TOKEN_LENGTH 16+1
+#endif
+
 typedef struct AccountDB AccountDB;
 typedef struct AccountDB AccountDB;
 typedef struct AccountDBIterator AccountDBIterator;
 typedef struct AccountDBIterator AccountDBIterator;
 
 
@@ -32,6 +36,7 @@ struct mmo_account {
 	char birthdate[10+1];   // assigned birth date (format: YYYY-MM-DD)
 	char birthdate[10+1];   // assigned birth date (format: YYYY-MM-DD)
 	char pincode[PINCODE_LENGTH+1];		// pincode system
 	char pincode[PINCODE_LENGTH+1];		// pincode system
 	time_t pincode_change;	// (timestamp): last time of pincode change
 	time_t pincode_change;	// (timestamp): last time of pincode change
+	char web_auth_token[WEB_AUTH_TOKEN_LENGTH]; // web authentication token (randomized on each login)
 #ifdef VIP_ENABLE
 #ifdef VIP_ENABLE
 	int old_group;
 	int old_group;
 	time_t vip_time;
 	time_t vip_time;
@@ -101,6 +106,15 @@ struct AccountDB {
 	/// @return true if successful
 	/// @return true if successful
 	bool (*remove)(AccountDB* self, const uint32 account_id);
 	bool (*remove)(AccountDB* self, const uint32 account_id);
 
 
+	/// Enables the web auth token for the given account id
+	bool (*enable_webtoken)(AccountDB* self, const uint32 account_id);
+
+	/// Disables the web auth token for the given account id
+	bool (*disable_webtoken)(AccountDB* self, const uint32 account_id);
+
+	/// Removes the web auth token for all accounts
+	bool (*remove_webtokens)(AccountDB* self);
+
 	/// Modifies the data of an existing account.
 	/// Modifies the data of an existing account.
 	/// Uses acc->account_id to identify the account.
 	/// Uses acc->account_id to identify the account.
 	///
 	///

+ 11 - 1
src/login/login.cpp

@@ -98,6 +98,8 @@ struct online_login_data* login_add_online_user(int char_server, uint32 account_
 		}
 		}
 	}
 	}
 
 
+	accounts->enable_webtoken( accounts, account_id );
+
 	return p;
 	return p;
 }
 }
 
 
@@ -118,6 +120,8 @@ void login_remove_online_user(uint32 account_id) {
 		delete_timer( p->waiting_disconnect, login_waiting_disconnect_timer );
 		delete_timer( p->waiting_disconnect, login_waiting_disconnect_timer );
 	}
 	}
 
 
+	accounts->disable_webtoken( accounts, account_id );
+
 	online_db.erase( account_id );
 	online_db.erase( account_id );
 }
 }
 
 
@@ -409,9 +413,12 @@ int login_mmo_auth(struct login_session_data* sd, bool isServer) {
 	safestrncpy(acc.last_ip, ip, sizeof(acc.last_ip));
 	safestrncpy(acc.last_ip, ip, sizeof(acc.last_ip));
 	acc.unban_time = 0;
 	acc.unban_time = 0;
 	acc.logincount++;
 	acc.logincount++;
-
 	accounts->save(accounts, &acc);
 	accounts->save(accounts, &acc);
 
 
+	if( login_config.use_web_auth_token ){
+		safestrncpy( sd->web_auth_token, acc.web_auth_token, WEB_AUTH_TOKEN_LENGTH );
+	}
+
 	if( sd->sex != 'S' && sd->account_id < START_ACCOUNT_NUM )
 	if( sd->sex != 'S' && sd->account_id < START_ACCOUNT_NUM )
 		ShowWarning("Account %s has account id %d! Account IDs must be over %d to work properly!\n", sd->userid, sd->account_id, START_ACCOUNT_NUM);
 		ShowWarning("Account %s has account id %d! Account IDs must be over %d to work properly!\n", sd->userid, sd->account_id, START_ACCOUNT_NUM);
 
 
@@ -637,6 +644,8 @@ bool login_config_read(const char* cfgName, bool normal) {
 			login_config.ip_sync_interval = (unsigned int)1000*60*atoi(w2); //w2 comes in minutes.
 			login_config.ip_sync_interval = (unsigned int)1000*60*atoi(w2); //w2 comes in minutes.
 		else if(!strcmpi(w1, "client_hash_check"))
 		else if(!strcmpi(w1, "client_hash_check"))
 			login_config.client_hash_check = config_switch(w2);
 			login_config.client_hash_check = config_switch(w2);
+		else if(!strcmpi(w1, "use_web_auth_token"))
+			login_config.use_web_auth_token = config_switch(w2);
 		else if(!strcmpi(w1, "client_hash")) {
 		else if(!strcmpi(w1, "client_hash")) {
 			int group = 0;
 			int group = 0;
 			char md5[33];
 			char md5[33];
@@ -751,6 +760,7 @@ void login_set_defaults() {
 	login_config.vip_sys.char_increase = MAX_CHAR_VIP;
 	login_config.vip_sys.char_increase = MAX_CHAR_VIP;
 	login_config.vip_sys.group = 5;
 	login_config.vip_sys.group = 5;
 #endif
 #endif
+	login_config.use_web_auth_token = true;
 
 
 	//other default conf
 	//other default conf
 	safestrncpy(login_config.loginconf_name, "conf/login_athena.conf", sizeof(login_config.loginconf_name));
 	safestrncpy(login_config.loginconf_name, "conf/login_athena.conf", sizeof(login_config.loginconf_name));

+ 3 - 0
src/login/login.hpp

@@ -45,6 +45,8 @@ struct login_session_data {
 	int has_client_hash;		///client ha sent an hash
 	int has_client_hash;		///client ha sent an hash
 
 
 	int fd;				///socket of client
 	int fd;				///socket of client
+
+	char web_auth_token[WEB_AUTH_TOKEN_LENGTH]; /// web authentication token
 };
 };
 
 
 #define MAX_SERVERS 5 //max number of mapserv that could be attach
 #define MAX_SERVERS 5 //max number of mapserv that could be attach
@@ -109,6 +111,7 @@ struct Login_Config {
 		unsigned int char_increase;					/// number of char-slot to increase in VIP state
 		unsigned int char_increase;					/// number of char-slot to increase in VIP state
 	} vip_sys;
 	} vip_sys;
 #endif
 #endif
+	bool use_web_auth_token;						/// Enable web authentication token system
 };
 };
 extern struct Login_Config login_config;
 extern struct Login_Config login_config;
 
 

部分文件因为文件数量过多而无法显示