Explorar el Código

Fixed a few problems with SQL databases (#6242)

Fixes #6202
Follow up to 6b84115

Thanks to @bgamez23
Lemongrass3110 hace 3 años
padre
commit
029d8dff9b

+ 5 - 5
db/import-tmpl/item_db.yml

@@ -111,7 +111,7 @@ Header:
 #    Weight: 10
 #    AliasName: Foolishness_Of_Blind
 #  - Id: 7951
-#    AegisName: Token_Bag
+#    AegisName: Gold_Tulip
 #    Name: Token Bag
 #    Type: Etc
 #    Sell: 10
@@ -357,7 +357,7 @@ Header:
 #    Weight: 10
 #    AliasName: Silver_Coin
 #  - Id: 12715
-#    AegisName: Black_Treasure_Chest
+#    AegisName: Black_Treasure_Box
 #    Name: Black Treasure Chest
 #    Type: Usable
 #    Weight: 200
@@ -368,7 +368,7 @@ Header:
 # iRO Valentine's Day Event 2009
 #=============================================================
 #  - Id: 5817
-#    AegisName: Valentine's_Emblem
+#    AegisName: Valentine_Pledge
 #    Name: Valentine's Emblem
 #    Type: Armor
 #    Buy: 10
@@ -438,11 +438,11 @@ Header:
 #    Script: |
 #      bonus bMdef,5; bonus2 bAddMonsterDropItem,12192,2500;
 #  - Id: 6298
-#    AegisName: Crushed_Pumpkin
+#    AegisName: Pumpkin_Head_Crushed
 #    Name: Crushed Pumpkin
 #    Type: Etc
 #  - Id: 6299
-#    AegisName: Worn_Fabric
+#    AegisName: Worn_Cloth_Piece
 #    Name: Worn Fabric
 #    Type: Etc
 

+ 2 - 2
doc/yaml/sql/item_db2.sql

@@ -5,8 +5,8 @@
 DROP TABLE IF EXISTS `item_db2`;
 CREATE TABLE `item_db2` (
   `id` int(10) unsigned NOT NULL DEFAULT '0',
-  `name_aegis` varchar(50) NOT NULL DEFAULT '',
-  `name_english` varchar(100) NOT NULL DEFAULT '',
+  `name_aegis` varchar(50) DEFAULT NULL,
+  `name_english` varchar(100) DEFAULT NULL,
   `type` varchar(20) DEFAULT NULL,
   `subtype` varchar(20) DEFAULT NULL,
   `price_buy` mediumint(8) unsigned DEFAULT NULL,

+ 2 - 2
doc/yaml/sql/item_db2_re.sql

@@ -5,8 +5,8 @@
 DROP TABLE IF EXISTS `item_db2_re`;
 CREATE TABLE `item_db2_re` (
   `id` int(10) unsigned NOT NULL DEFAULT '0',
-  `name_aegis` varchar(50) NOT NULL DEFAULT '',
-  `name_english` varchar(100) NOT NULL DEFAULT '',
+  `name_aegis` varchar(50) DEFAULT NULL,
+  `name_english` varchar(100) DEFAULT NULL,
   `type` varchar(20) DEFAULT NULL,
   `subtype` varchar(20) DEFAULT NULL,
   `price_buy` mediumint(8) unsigned DEFAULT NULL,

+ 2 - 2
doc/yaml/sql/mob_db2.sql

@@ -5,8 +5,8 @@
 DROP TABLE IF EXISTS `mob_db2`;
 CREATE TABLE `mob_db2` (
   `id` int(11) unsigned NOT NULL,
-  `name_aegis` varchar(24) NOT NULL,
-  `name_english` text NOT NULL,
+  `name_aegis` varchar(24) DEFAULT NULL,
+  `name_english` text DEFAULT NULL,
   `name_japanese` text DEFAULT NULL,
   `level` smallint(6) unsigned DEFAULT NULL,
   `hp` int(11) unsigned DEFAULT NULL,

+ 2 - 2
doc/yaml/sql/mob_db2_re.sql

@@ -5,8 +5,8 @@
 DROP TABLE IF EXISTS `mob_db2_re`;
 CREATE TABLE `mob_db2_re` (
   `id` int(11) unsigned NOT NULL,
-  `name_aegis` varchar(24) NOT NULL,
-  `name_english` text NOT NULL,
+  `name_aegis` varchar(24) DEFAULT NULL,
+  `name_english` text DEFAULT NULL,
   `name_japanese` text DEFAULT NULL,
   `level` smallint(6) unsigned DEFAULT NULL,
   `hp` int(11) unsigned DEFAULT NULL,

+ 7 - 7
sql-files/item_db2.sql

@@ -5,8 +5,8 @@
 DROP TABLE IF EXISTS `item_db2`;
 CREATE TABLE `item_db2` (
   `id` int(10) unsigned NOT NULL DEFAULT '0',
-  `name_aegis` varchar(50) NOT NULL DEFAULT '',
-  `name_english` varchar(100) NOT NULL DEFAULT '',
+  `name_aegis` varchar(50) DEFAULT NULL,
+  `name_english` varchar(100) DEFAULT NULL,
   `type` varchar(20) DEFAULT NULL,
   `subtype` varchar(20) DEFAULT NULL,
   `price_buy` mediumint(8) unsigned DEFAULT NULL,
@@ -113,7 +113,7 @@ CREATE TABLE `item_db2` (
 REPLACE INTO `item_db2` (`id`,`name_aegis`,`name_english`,`type`,`price_sell`,`weight`,`alias_name`) VALUES (1998,'Jeramiah\'s_Jur','Jeramiah\'s Jur','Etc',10,10,'Jur');
 REPLACE INTO `item_db2` (`id`,`name_aegis`,`name_english`,`type`,`price_sell`,`weight`,`alias_name`) VALUES (1999,'Zed\'s_Staff','Zed\'s Staff','Etc',10,10,'Staff_Of_Soul');
 REPLACE INTO `item_db2` (`id`,`name_aegis`,`name_english`,`type`,`price_sell`,`weight`,`alias_name`) VALUES (7950,'THG_Membership','THG Membership','Etc',10,10,'Foolishness_Of_Blind');
-REPLACE INTO `item_db2` (`id`,`name_aegis`,`name_english`,`type`,`price_sell`,`weight`,`alias_name`) VALUES (7951,'Token_Bag','Token Bag','Etc',10,10,'Leather_Bag_Of_Infinity');
+REPLACE INTO `item_db2` (`id`,`name_aegis`,`name_english`,`type`,`price_sell`,`weight`,`alias_name`) VALUES (7951,'Gold_Tulip','Token Bag','Etc',10,10,'Leather_Bag_Of_Infinity');
 
 # Official Event Items that had their Effects removed after the event was completed
 #=============================================================
@@ -149,8 +149,8 @@ REPLACE INTO `item_db2` (`id`,`name_aegis`,`name_english`,`type`,`weight`,`alias
 # iRO Valentine's Day Event 2009
 #=============================================================
 REPLACE INTO `item_db2` (`id`,`name_aegis`,`name_english`,`type`,`weight`,`alias_name`) VALUES (7916,'Silver_Coin_','Silver Coin','Etc',10,'Silver_Coin');
-REPLACE INTO `item_db2` (`id`,`name_aegis`,`name_english`,`type`,`weight`,`alias_name`,`script`) VALUES (12715,'Black_Treasure_Chest','Black Treasure Chest','Usable',200,'Treasure_Box_','callfunc "F_08stpattyseventbox";');
-REPLACE INTO `item_db2` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`defense`,`location_right_accessory`,`location_left_accessory`,`script`) VALUES (5817,'Valentine\'s_Emblem','Valentine\'s Emblem','Armor',10,3,true,true,'bonus bAtkRate,3; bonus bMatkRate,3; bonus bAllStats,2; bonus bFlee,10; bonus bAspd,1; bonus bMdef,3; bonus2 bSkillAtk,"AL_HEAL",10; bonus2 bSkillHeal,"AL_HEAL",10; bonus2 bSkillHeal,"AM_POTIONPITCHER",10; bonus2 bAddItemGroupHealRate,IG_Potion,10;');
+REPLACE INTO `item_db2` (`id`,`name_aegis`,`name_english`,`type`,`weight`,`alias_name`,`script`) VALUES (12715,'Black_Treasure_Box','Black Treasure Chest','Usable',200,'Treasure_Box_','callfunc "F_08stpattyseventbox";');
+REPLACE INTO `item_db2` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`defense`,`location_right_accessory`,`location_left_accessory`,`script`) VALUES (5817,'Valentine_Pledge','Valentine\'s Emblem','Armor',10,3,true,true,'bonus bAtkRate,3; bonus bMatkRate,3; bonus bAllStats,2; bonus bFlee,10; bonus bAspd,1; bonus bMdef,3; bonus2 bSkillAtk,"AL_HEAL",10; bonus2 bSkillHeal,"AL_HEAL",10; bonus2 bSkillHeal,"AM_POTIONPITCHER",10; bonus2 bAddItemGroupHealRate,IG_Potion,10;');
 REPLACE INTO `item_db2` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`) VALUES (7946,'Gold_Ring_Of_Valentine','Gold Ring Of Valentine','Etc',10);
 REPLACE INTO `item_db2` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`) VALUES (7947,'Silver_Ring_Of_Valentine','Silver Ring Of Valentine','Etc',10);
 REPLACE INTO `item_db2` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`) VALUES (7948,'Box','Box','Etc',10,10);
@@ -162,8 +162,8 @@ REPLACE INTO `item_db2` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`sc
 # iRO Halloween Event 2009
 #=============================================================
 REPLACE INTO `item_db2` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`defense`,`location_head_top`,`refineable`,`view`,`script`) VALUES (5668,'Weird_Pumpkin_Hat','Weird Pumpkin Hat','Armor',20,5,true,true,206,'bonus bMdef,5; bonus2 bAddMonsterDropItem,12192,2500;');
-REPLACE INTO `item_db2` (`id`,`name_aegis`,`name_english`,`type`) VALUES (6298,'Crushed_Pumpkin','Crushed Pumpkin','Etc');
-REPLACE INTO `item_db2` (`id`,`name_aegis`,`name_english`,`type`) VALUES (6299,'Worn_Fabric','Worn Fabric','Etc');
+REPLACE INTO `item_db2` (`id`,`name_aegis`,`name_english`,`type`) VALUES (6298,'Pumpkin_Head_Crushed','Crushed Pumpkin','Etc');
+REPLACE INTO `item_db2` (`id`,`name_aegis`,`name_english`,`type`) VALUES (6299,'Worn_Cloth_Piece','Worn Fabric','Etc');
 
 # Old Tuxedo and Wedding Dress, will display the outfit when worn.
 #=============================================================

+ 7 - 7
sql-files/item_db2_re.sql

@@ -5,8 +5,8 @@
 DROP TABLE IF EXISTS `item_db2_re`;
 CREATE TABLE `item_db2_re` (
   `id` int(10) unsigned NOT NULL DEFAULT '0',
-  `name_aegis` varchar(50) NOT NULL DEFAULT '',
-  `name_english` varchar(100) NOT NULL DEFAULT '',
+  `name_aegis` varchar(50) DEFAULT NULL,
+  `name_english` varchar(100) DEFAULT NULL,
   `type` varchar(20) DEFAULT NULL,
   `subtype` varchar(20) DEFAULT NULL,
   `price_buy` mediumint(8) unsigned DEFAULT NULL,
@@ -120,7 +120,7 @@ CREATE TABLE `item_db2_re` (
 REPLACE INTO `item_db2_re` (`id`,`name_aegis`,`name_english`,`type`,`price_sell`,`weight`,`alias_name`) VALUES (1998,'Jeramiah\'s_Jur','Jeramiah\'s Jur','Etc',10,10,'Jur');
 REPLACE INTO `item_db2_re` (`id`,`name_aegis`,`name_english`,`type`,`price_sell`,`weight`,`alias_name`) VALUES (1999,'Zed\'s_Staff','Zed\'s Staff','Etc',10,10,'Staff_Of_Soul');
 REPLACE INTO `item_db2_re` (`id`,`name_aegis`,`name_english`,`type`,`price_sell`,`weight`,`alias_name`) VALUES (7950,'THG_Membership','THG Membership','Etc',10,10,'Foolishness_Of_Blind');
-REPLACE INTO `item_db2_re` (`id`,`name_aegis`,`name_english`,`type`,`price_sell`,`weight`,`alias_name`) VALUES (7951,'Token_Bag','Token Bag','Etc',10,10,'Leather_Bag_Of_Infinity');
+REPLACE INTO `item_db2_re` (`id`,`name_aegis`,`name_english`,`type`,`price_sell`,`weight`,`alias_name`) VALUES (7951,'Gold_Tulip','Token Bag','Etc',10,10,'Leather_Bag_Of_Infinity');
 
 # Official Event Items that had their Effects removed after the event was completed
 #=============================================================
@@ -156,8 +156,8 @@ REPLACE INTO `item_db2_re` (`id`,`name_aegis`,`name_english`,`type`,`weight`,`al
 # iRO Valentine's Day Event 2009
 #=============================================================
 REPLACE INTO `item_db2_re` (`id`,`name_aegis`,`name_english`,`type`,`weight`,`alias_name`) VALUES (7916,'Silver_Coin_','Silver Coin','Etc',10,'Silver_Coin');
-REPLACE INTO `item_db2_re` (`id`,`name_aegis`,`name_english`,`type`,`weight`,`alias_name`,`script`) VALUES (12715,'Black_Treasure_Chest','Black Treasure Chest','Usable',200,'Treasure_Box_','callfunc "F_08stpattyseventbox";');
-REPLACE INTO `item_db2_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`defense`,`location_right_accessory`,`location_left_accessory`,`script`) VALUES (5817,'Valentine\'s_Emblem','Valentine\'s Emblem','Armor',10,3,true,true,'bonus bAtkRate,3; bonus bMatkRate,3; bonus bAllStats,2; bonus bFlee,10; bonus bAspd,1; bonus bMdef,3; bonus2 bSkillAtk,"AL_HEAL",10; bonus2 bSkillHeal,"AL_HEAL",10; bonus2 bSkillHeal,"AM_POTIONPITCHER",10; bonus2 bAddItemGroupHealRate,IG_Potion,10;');
+REPLACE INTO `item_db2_re` (`id`,`name_aegis`,`name_english`,`type`,`weight`,`alias_name`,`script`) VALUES (12715,'Black_Treasure_Box','Black Treasure Chest','Usable',200,'Treasure_Box_','callfunc "F_08stpattyseventbox";');
+REPLACE INTO `item_db2_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`defense`,`location_right_accessory`,`location_left_accessory`,`script`) VALUES (5817,'Valentine_Pledge','Valentine\'s Emblem','Armor',10,3,true,true,'bonus bAtkRate,3; bonus bMatkRate,3; bonus bAllStats,2; bonus bFlee,10; bonus bAspd,1; bonus bMdef,3; bonus2 bSkillAtk,"AL_HEAL",10; bonus2 bSkillHeal,"AL_HEAL",10; bonus2 bSkillHeal,"AM_POTIONPITCHER",10; bonus2 bAddItemGroupHealRate,IG_Potion,10;');
 REPLACE INTO `item_db2_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`) VALUES (7946,'Gold_Ring_Of_Valentine','Gold Ring Of Valentine','Etc',10);
 REPLACE INTO `item_db2_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`) VALUES (7947,'Silver_Ring_Of_Valentine','Silver Ring Of Valentine','Etc',10);
 REPLACE INTO `item_db2_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`) VALUES (7948,'Box','Box','Etc',10,10);
@@ -169,8 +169,8 @@ REPLACE INTO `item_db2_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,
 # iRO Halloween Event 2009
 #=============================================================
 REPLACE INTO `item_db2_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`defense`,`location_head_top`,`refineable`,`view`,`script`) VALUES (5668,'Weird_Pumpkin_Hat','Weird Pumpkin Hat','Armor',20,5,true,true,206,'bonus bMdef,5; bonus2 bAddMonsterDropItem,12192,2500;');
-REPLACE INTO `item_db2_re` (`id`,`name_aegis`,`name_english`,`type`) VALUES (6298,'Crushed_Pumpkin','Crushed Pumpkin','Etc');
-REPLACE INTO `item_db2_re` (`id`,`name_aegis`,`name_english`,`type`) VALUES (6299,'Worn_Fabric','Worn Fabric','Etc');
+REPLACE INTO `item_db2_re` (`id`,`name_aegis`,`name_english`,`type`) VALUES (6298,'Pumpkin_Head_Crushed','Crushed Pumpkin','Etc');
+REPLACE INTO `item_db2_re` (`id`,`name_aegis`,`name_english`,`type`) VALUES (6299,'Worn_Cloth_Piece','Worn Fabric','Etc');
 
 # Old Tuxedo and Wedding Dress, will display the outfit when worn.
 #=============================================================

+ 4 - 4
sql-files/item_db_re_equip.sql

@@ -3837,6 +3837,7 @@ REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`weight`,`ran
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`weight`,`location_head_mid`,`equip_level_min`,`view`,`script`) VALUES (19117,'Poring_Sunglasses_','Poring Sunglasses','Armor',10,true,1,954,'bonus2 bDropAddRace,RC_All,5;\nbonus2 bExpAddRace,RC_All,5;');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`weight`,`slots`,`location_head_mid`,`equip_level_min`,`view`,`script`) VALUES (19118,'Poring_Sunglasses__','Poring Sunglasses','Armor',10,1,true,1,954,'bonus2 bDropAddRace,RC_All,4;\nbonus2 bExpAddRace,RC_All,4;');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`defense`,`location_head_top`,`equip_level_min`,`refineable`,`view`,`trade_override`,`trade_nodrop`,`trade_notrade`,`trade_nocart`,`trade_noguildstorage`,`trade_nomail`,`trade_noauction`,`script`) VALUES (19119,'Toughen_Time_Keeper_Hat','Enhanced Time Keeper Hat','Armor',10,true,100,true,240,100,true,true,true,true,true,true,'.@r = getrefine();\nbonus bAllStats,2;\nbonus bVariableCastrate,-5;\nbonus bMaxHP,500;\nbonus bMaxSP,100;\nbonus2 bSPDrainRate,30,3+(.@r/3);\nbonus2 bHPDrainRate,10,1+(.@r/4);');
+REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`weight`,`defense`,`location_head_top`,`equip_level_min`,`refineable`,`view`,`script`) VALUES (19221,'Golden_Angel_Band_TH','Golden Angel Hairband','Armor',10,10,true,1,true,1104,'.@r = getrefine();\nif (readparam(bStr) >= 70) {\n   bonus bBaseAtk,5;\n   if (.@r >= 7)\n      bonus bBaseAtk,10;\n   }\n   if (readparam(bInt) >= 70) {\n      bonus bMatk,5;\n      if (.@r >= 7)\n         bonus bMatk,10;\n   }\n   if (readparam(bVit) >= 70) {\n      bonus bMaxHPrate,2;\n      bonus bMaxSPrate,2;\n      if (.@r >= 7)\n         bonus bMaxHPrate,2;\n         bonus bMaxSPrate,2;\n   }\n   if (readparam(bAgi) >= 70) {\n      bonus bAspdRate,2;\n      if (.@r >= 7)\n         bonus bAspdRate,3;\n   }\n   if (readparam(bDex) >= 70) {\n      bonus bLongAtkRate,2;\n      if (.@r >= 7)\n         bonus bLongAtkRate,3;\n   }\n   if (readparam(bLuk) >= 70) {\n      bonus bCritAtkRate,2;\n      if (.@r >= 7)\n         bonus bCritAtkRate,3;\n}');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`defense`,`slots`,`location_head_top`,`equip_level_min`,`refineable`,`view`,`script`) VALUES (19125,'Cylinder_Hairband','Cylinder Hairband','Armor',20,300,12,1,true,90,true,1477,'bonus bStr,5;\nbonus bInt,5;\nbonus2 bVariableCastrate,"GN_CARTCANNON",-100;\nbonus2 bSkillUseSP,"GN_CARTCANNON",30;\nbonus2 bSkillUseSP,"GN_CART_TORNADO",5;\nbonus2 bSkillAtk,"GN_CARTCANNON",10;\nbonus2 bSkillAtk,"GN_CART_TORNADO",5;\nif (getrefine()>=5) {\n   bonus2 bSkillAtk,"GN_CARTCANNON",20;\n   bonus2 bSkillAtk,"GN_CART_TORNADO",10;\n}\nif (getrefine()>=8) {\n   bonus2 bSkillAtk,"GN_CARTCANNON",30;\n   bonus2 bSkillAtk,"GN_CART_TORNADO",20;\n}');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`slots`,`location_head_mid`,`equip_level_min`,`refineable`,`view`,`script`) VALUES (19126,'Shadow_Booster_','Magical Booster','Armor',10,300,1,true,1,true,873,'bonus bAspd,1;\nbonus bDelayrate,-1;');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`defense`,`slots`,`job_all`,`job_novice`,`location_head_top`,`location_head_mid`,`equip_level_min`,`refineable`,`view`,`script`) VALUES (19127,'Zherlthsh_Mask_','Zealotus Mask','Armor',20,400,3,1,true,false,true,true,70,true,200,'bonus2 bSubRace,RC_DemiHuman,5;\nbonus2 bAddRace,RC_DemiHuman,5;\nbonus2 bSubRace,RC_Player_Human,5;\nbonus2 bAddRace,RC_Player_Human,5;');
@@ -3910,7 +3911,6 @@ REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`defense`,`slots`,`job_all`,`job_novice`,`job_supernovice`,`location_head_top`,`equip_level_min`,`refineable`,`view`,`script`) VALUES (19210,'Apple_Of_Archer_IL','Illusion Apple of Archer','Armor',20,200,1,1,true,false,false,true,99,true,72,'bonus bDex,(3+(getrefine()/2));');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`defense`,`slots`,`location_head_top`,`equip_level_min`,`refineable`,`view`,`script`) VALUES (19211,'Magical_Feather_K','Magical Feather','Armor',20,30,5,1,true,10,true,1279,'.@r = getrefine();\nbonus bUseSPrate,10*(.@r/3);\nbonus2 bSkillAtk,"AL_HOLYLIGHT",100*(.@r/3);\nif (.@r>=9) {\n   bonus2 bSubEle,Ele_Undead,17;\n   bonus2 bSubEle,Ele_Ghost,17;\n   bonus2 bSubEle,Ele_Poison,17;\n   bonus2 bSubEle,Ele_Holy,17;\n   bonus2 bSubEle,Ele_Dark,17;\n}\nelse if (.@r>=7) {\n   bonus2 bAddEle,Ele_Undead,10;\n   bonus2 bAddEle,Ele_Ghost,10;\n   bonus2 bAddEle,Ele_Poison,10;\n   bonus2 bAddEle,Ele_Holy,10;\n   bonus2 bAddEle,Ele_Dark,10;\n}\nelse {\n   bonus2 bAddEle,Ele_Undead,5;\n   bonus2 bAddEle,Ele_Ghost,5;\n   bonus2 bAddEle,Ele_Poison,5;\n   bonus2 bAddEle,Ele_Holy,5;\n   bonus2 bAddEle,Ele_Dark,5;\n}\nif (.@r>=12) {\n   .@val = 1;\n}\nbonus5 bAutoSpell,"AL_HOLYLIGHT",1+.@val,10,BF_SHORT|BF_WEAPON,1;\nbonus5 bAutoSpell,"AL_HOLYLIGHT",1+.@val,5,BF_LONG|BF_WEAPON,1;');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`location_head_mid`,`view`,`trade_override`,`trade_nodrop`,`trade_notrade`,`trade_nocart`,`trade_nostorage`,`trade_noguildstorage`,`trade_nomail`,`trade_noauction`,`script`) VALUES (19218,'Time_Keeper_Glasses','Time Keeper Glasses','Armor',true,47,100,true,true,true,true,true,true,true,'bonus bMaxSP,50;');
-REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`weight`,`defense`,`location_head_top`,`equip_level_min`,`refineable`,`view`,`script`) VALUES (19221,'Golden_Angel_Band_TH','Golden Angel Hairband','Armor',10,10,true,1,true,1104,'.@r = getrefine();\nif (readparam(bStr) >= 70) {\n   bonus bBaseAtk,5;\n   if (.@r >= 7)\n      bonus bBaseAtk,10;\n   }\n   if (readparam(bInt) >= 70) {\n      bonus bMatk,5;\n      if (.@r >= 7)\n         bonus bMatk,10;\n   }\n   if (readparam(bVit) >= 70) {\n      bonus bMaxHPrate,2;\n      bonus bMaxSPrate,2;\n      if (.@r >= 7)\n         bonus bMaxHPrate,2;\n         bonus bMaxSPrate,2;\n   }\n   if (readparam(bAgi) >= 70) {\n      bonus bAspdRate,2;\n      if (.@r >= 7)\n         bonus bAspdRate,3;\n   }\n   if (readparam(bDex) >= 70) {\n      bonus bLongAtkRate,2;\n      if (.@r >= 7)\n         bonus bLongAtkRate,3;\n   }\n   if (readparam(bLuk) >= 70) {\n      bonus bCritAtkRate,2;\n      if (.@r >= 7)\n         bonus bCritAtkRate,3;\n}');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`weight`,`defense`,`slots`,`job_alchemist`,`job_assassin`,`job_blacksmith`,`job_crusader`,`job_knight`,`job_merchant`,`job_novice`,`job_rogue`,`job_supernovice`,`job_swordman`,`job_thief`,`location_head_top`,`equip_level_min`,`refineable`,`view`,`script`) VALUES (19223,'Cap_IL','Illusion Cap','Armor',400,15,1,true,true,true,true,true,true,true,true,true,true,true,true,120,true,14,'bonus2 bAddClass,Class_All,1;\nbonus bBaseAtk,(2*getrefine());');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`location_head_low`,`equip_level_min`,`view`,`script`) VALUES (19238,'PoringTownOnion','Poring Village Leek','Armor',20,100,true,30,824,'autobonus "{ bonus bSpeedRate,25; }",50,5000,BF_NORMAL,"{ showscript \\"Smokie-formation!\\"; active_transform 1056,5000; /*SMOKIE*/ }";');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`location_head_low`,`equip_level_min`,`view`,`script`) VALUES (19239,'PoringTownCarrot','Poring Village Carrot','Armor',20,100,true,30,829,'autobonus "{ bonus bSpeedRate,25; }",50,5000,BF_NORMAL,"{ showscript \\"Lunatic-formation!\\"; active_transform 1063,5000; /*LUNATIC*/ }";');
@@ -5097,7 +5097,7 @@ REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`weight`,`def
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`weight`,`defense`,`slots`,`class_third`,`class_third_upper`,`class_third_baby`,`location_garment`,`equip_level_min`,`refineable`,`script`) VALUES (20967,'Temporal_M_Dex','Temporal Dex Manteau','Armor',400,38,1,true,true,true,true,100,true,'.@r = getrefine();\nbonus bLongAtkRate,(.@r/2);\nbonus bBaseAtk,10*(.@r/2);\nbonus bCritAtkRate,3*(.@r/4);\nif (.@r>=7) {\n   bonus2 bAddClass,Class_All,7;\n}\nif (.@r>=9) {\n   bonus2 bIgnoreDefRaceRate,RC_Demon,20;\n   bonus2 bIgnoreMDefRaceRate,RC_Demon,20;\n   bonus2 bIgnoreDefRaceRate,RC_Brute,20;\n   bonus2 bIgnoreMDefRaceRate,RC_Brute,20;\n}\nif (.@r>=11) {\n   bonus2 bIgnoreDefRaceRate,RC_Demon,10;\n   bonus2 bIgnoreMDefRaceRate,RC_Demon,10;\n   bonus2 bIgnoreDefRaceRate,RC_Brute,10;\n   bonus2 bIgnoreMDefRaceRate,RC_Brute,10;\n}');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`weight`,`defense`,`slots`,`class_third`,`class_third_upper`,`class_third_baby`,`location_garment`,`equip_level_min`,`refineable`,`script`) VALUES (20968,'Temporal_M_Luk','Temporal Luk Manteau','Armor',400,38,1,true,true,true,true,100,true,'.@r = getrefine();\nbonus bCritAtkRate,3*(.@r/2);\nbonus bCritical,3*(.@r/2);\nbonus bAspdRate,5*(.@r/4);\nif (.@r>=7) {\n   bonus2 bAddClass,Class_All,7;\n}\nif (.@r>=9) {\n   bonus2 bIgnoreDefRaceRate,RC_Demon,20;\n   bonus2 bIgnoreMDefRaceRate,RC_Demon,20;\n   bonus2 bIgnoreDefRaceRate,RC_Brute,20;\n   bonus2 bIgnoreMDefRaceRate,RC_Brute,20;\n}\nif (.@r>=11) {\n   bonus2 bIgnoreDefRaceRate,RC_Demon,10;\n   bonus2 bIgnoreMDefRaceRate,RC_Demon,10;\n   bonus2 bIgnoreDefRaceRate,RC_Brute,10;\n   bonus2 bIgnoreMDefRaceRate,RC_Brute,10;\n}');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`defense`,`location_garment`,`equip_level_min`,`refineable`,`script`) VALUES (20969,'Rainbow_Muffler_Jp','Rainbow Muffler','Armor',20,300,12,true,100,true,'.@r = getrefine();\n.@lvl = getskilllv("WM_GLOOMYDAY");\nif (.@r >= 7) {\n   .@val = 10;\n} else if (.@r >= 5) {\n   .@val = 5;\n}\nelse {\n   .@val = 2;\n}\nbonus bMaxHPrate,.@val;\nbonus bMaxSPrate,.@val;\nbonus bMatkRate,.@val+(4*.@lvl);\nbonus2 bSubRace,RC_Player_Human,5;\nbonus2 bSubRace,RC_Player_Doram,5;\nbonus2 bSkillAtk,"WM_METALICSOUND",4*.@lvl;\nif (getskilllv("WM_FRIGG_SONG") == 5) {\n   bonus2 bSkillCooldown,"WM_METALICSOUND",-200;\n   bonus bAspdRate,10;\n}\nif (getskilllv("WM_LULLABY_DEEPSLEEP") == 5) {\n   skill "AL_HEAL",10;\n   bonus bMagicHPGainValue,200;\n   bonus bMagicSPGainValue,20;\n}');
-REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`location_costume_Garment`,`view`) VALUES (20985,'aegis_20985','Costume Gourd Bottle','Armor',true,82);
+REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`location_costume_garment`,`view`) VALUES (20985,'aegis_20985','Costume Gourd Bottle','Armor',true,82);
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`location_costume_garment`,`view`) VALUES (20988,'C_Mechanical_Butterfly','Costume: Mechanical Butterfly','Armor',true,92);
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`location_costume_garment`) VALUES (20990,'C_Rotating_Gears','Costume: Rotating Gears','Armor',true);
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`subtype`,`price_buy`,`weight`,`attack`,`range`,`slots`,`job_crusader`,`job_knight`,`job_swordman`,`location_left_hand`,`location_right_hand`,`weapon_level`,`equip_level_min`,`refineable`,`trade_override`,`trade_nodrop`,`script`) VALUES (21000,'Upg_Twohand_Sword','Upg Two-Handed Sword','Weapon','2hSword',20,1500,100,1,1,true,true,true,true,true,3,1,true,100,true,'.@r = getrefine();\nbonus bBaseAtk,(.@r*12);\nbonus bMatk,(.@r*5);\nif (BaseLevel>70)\n   bonus bBaseAtk,(((BaseLevel-70)/10)*10);');
@@ -7344,7 +7344,7 @@ REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`weight`,`def
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`weight`,`defense`,`slots`,`location_garment`,`equip_level_min`,`refineable`,`script`) VALUES (480021,'Auto_Engine_B','Automatic Engine Wing Type B','Armor',900,70,1,true,160,true,'.@r = getrefine();\nbonus bMaxHP,1500;\nbonus bMaxHP,100*(.@r/2);\nif (.@r>=7) {\n   bonus bVariableCastrate,-7;\n}');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`weight`,`defense`,`slots`,`job_all`,`job_novice`,`location_garment`,`equip_level_min`,`refineable`,`script`) VALUES (480054,'Morrigane\'s_Manteau_IL','Illusion Morrigane\'s Manteau','Armor',600,12,1,true,false,true,130,true,'.@r = getrefine();\nbonus bLuk,5;\nbonus bFlee,20;\nif (.@r>=7) {\n   bonus2 bAddRace,RC_Fish,5;\n   bonus2 bAddRace,RC_Insect,5;\n   bonus2 bAddRace,RC_Demon,5;\n   bonus2 bAddRace,RC_DemiHuman,5;\n}\nif (.@r>=9) {\n   bonus2 bAddRace,RC_Fish,10;\n   bonus2 bAddRace,RC_Insect,10;\n   bonus2 bAddRace,RC_Demon,10;\n   bonus2 bAddRace,RC_DemiHuman,10;\n}');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`location_costume_garment`,`view`) VALUES (480056,'aegis_480056','Costume Heavenly Fallen Angel\'s Wings','Armor',true,3);
-REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`location_costume_Garment`,`view`) VALUES (480058,'aegis_480058','Costume Wavy Golden Angel Wings','Armor',true,75);
+REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`location_costume_garment`,`view`) VALUES (480058,'aegis_480058','Costume Wavy Golden Angel Wings','Armor',true,75);
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`defense`,`slots`,`location_garment`,`equip_level_min`,`refineable`,`trade_override`,`trade_nodrop`,`trade_notrade`,`trade_nocart`,`trade_nostorage`,`trade_noguildstorage`,`trade_nomail`,`trade_noauction`,`script`) VALUES (480062,'E_Illusion_Engine_A','Illusion engine wing type A (attributable)','Armor',50,1,true,130,true,100,true,true,true,true,true,true,true,'.@r = getrefine();\nbonus bMaxHP,1000+100*(.@r/2);\nif (.@r>=7) {\n   bonus bAspdRate,5;\n}');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`defense`,`slots`,`location_garment`,`equip_level_min`,`refineable`,`trade_override`,`trade_nodrop`,`trade_notrade`,`trade_nocart`,`trade_nostorage`,`trade_noguildstorage`,`trade_nomail`,`trade_noauction`,`script`) VALUES (480063,'E_Illusion_Engine_B','Illusion engine wing type B (attributable)','Armor',50,1,true,130,true,100,true,true,true,true,true,true,true,'.@r = getrefine();\nbonus bMaxHP,1000+100*(.@r/2);\nif (.@r>=7) {\n   bonus bVariableCastrate,-5;\n}');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`location_costume_garment`,`view`) VALUES (480069,'C_Wing_Of_Angel_Move','Costume Heavenly Angel Wings','Armor',true,61);
@@ -7355,7 +7355,7 @@ REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`weight`,`def
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`location_costume_garment`,`view`) VALUES (480095,'C_Giant_White_Rabbit','costume large white rabbit','Armor',true,98);
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`location_costume_garment`,`view`) VALUES (480097,'C_Snow_Powder','Costume: Snow Powder','Armor',true,100);
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`location_costume_garment`,`view`) VALUES (480107,'C_Kings_Twin_Sword','Costume Kings Twin Sword','Armor',true,104);
-REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`weight`,`defense`,`location_garment`,`equip_level_min`,`refineable`,`script`) VALUES (480120,'aegis_480120','Guardian Soul','Armor',1000,25,true,100,true,'.@r = getrefine();\nbonus bUnbreakableGarment;\nbonus bUnbreakableGarment;\nskill "WZ_HEAVENDRIVE",1;\nbonus2 bSubRace,RC_Player_Human,5;\nbonus2 bSubRace,RC_Player_Doram,5;\nif (.@r>=7) {\n   .@a = (readparam(bLuk)+readparam(bStr))/18;\n   .@b = (readparam(bAgi)+readparam(bVit))/18;\n   .@c = (readparam(bInt)+readparam(bDex))/18;\n   .@bonus = (.@r>=12 ? 5 : 3);\n   bonus bDelayRate,-.@a;\n   bonus2 bSubEle,Ele_Holy,.@bonus*.@a;\n   bonus2 bSubEle,Ele_Dark,.@bonus*.@a;\n   bonus bAspdRate,.@b;\n   bonus bMaxHPrate,(.@r>=12?2:1)*.@b;\n   bonus2 bSubEle,Ele_Fire,.@bonus*.@b;\n   bonus2 bSubEle,Ele_Water,.@bonus*.@b;\n   bonus bVariableCastrate,-.@c;\n   bonus2 bSubEle,Ele_Wind,.@bonus*.@c;\n   bonus2 bSubEle,Ele_Earth,.@bonus*.@c;\n}');
+REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`weight`,`defense`,`location_garment`,`equip_level_min`,`refineable`,`script`) VALUES (480120,'aegis_480120','Guardian Soul','Armor',1000,25,true,100,true,'.@r = getrefine();\nbonus bUnbreakableGarment;\nskill "WZ_HEAVENDRIVE",1;\nbonus2 bSubRace,RC_Player_Human,5;\nbonus2 bSubRace,RC_Player_Doram,5;\nif (.@r>=7) {\n   .@a = (readparam(bLuk)+readparam(bStr))/18;\n   .@b = (readparam(bAgi)+readparam(bVit))/18;\n   .@c = (readparam(bInt)+readparam(bDex))/18;\n   .@bonus = (.@r>=12 ? 5 : 3);\n   bonus bDelayRate,-.@a;\n   bonus2 bSubEle,Ele_Holy,.@bonus*.@a;\n   bonus2 bSubEle,Ele_Dark,.@bonus*.@a;\n   bonus bAspdRate,.@b;\n   bonus bMaxHPrate,(.@r>=12?2:1)*.@b;\n   bonus2 bSubEle,Ele_Fire,.@bonus*.@b;\n   bonus2 bSubEle,Ele_Water,.@bonus*.@b;\n   bonus bVariableCastrate,-.@c;\n   bonus2 bSubEle,Ele_Wind,.@bonus*.@c;\n   bonus2 bSubEle,Ele_Earth,.@bonus*.@c;\n}');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`slots`,`location_right_accessory`,`location_left_accessory`,`equip_level_min`,`script`) VALUES (490004,'Attacker_Booster_Ring','Attacker Booster Ring','Armor',1,true,true,100,'bonus bAspdRate,10;\nbonus bVariableCastrate,-10;\nbonus bMaxHPrate,3;\nbonus bCritAtkRate,5;');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`slots`,`location_right_accessory`,`location_left_accessory`,`equip_level_min`,`script`) VALUES (490005,'Elemental_Booster_Earring','Elemental Booster Earrings','Armor',1,true,true,100,'bonus bAspdRate,10;\nbonus bVariableCastrate,-10;\nbonus bMaxSPrate,3;\nbonus2 bMagicAtkEle,Ele_Fire,5;\nbonus2 bMagicAtkEle,Ele_Wind,5;\nbonus2 bMagicAtkEle,Ele_Water,5;\nbonus2 bMagicAtkEle,Ele_Ground,5;\nbonus2 bMagicAtkEle,Ele_Neutral,5;');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`slots`,`location_right_accessory`,`location_left_accessory`,`equip_level_min`,`script`) VALUES (490006,'Defender_Booster_Earring','Defender Booster Earrings','Armor',1,true,true,100,'bonus bAspdRate,10;\nbonus bVariableCastrate,-10;\nbonus bMaxSPrate,3;\nbonus2 bMagicAtkEle,Ele_Undead,5;\nbonus2 bMagicAtkEle,Ele_Poison,5;\nbonus2 bMagicAtkEle,Ele_Dark,5;\nbonus2 bMagicAtkEle,Ele_Ghost,5;\nbonus2 bMagicAtkEle,Ele_Holy,5;');

+ 3 - 3
sql-files/item_db_re_usable.sql

@@ -527,7 +527,7 @@ REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`trade_override`,`trade_nodrop`,`trade_notrade`,`trade_nosell`,`trade_nocart`,`trade_noguildstorage`,`trade_nomail`,`trade_noauction`,`script`) VALUES (12207,'Vit_Dish10_','Stew Of Immortality','Healing',2,10,100,true,true,true,true,true,true,true,'sc_start SC_FOOD_VIT_CASH,1800000,10;\npercentheal 15,5;');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`delay_duration`,`delay_status`,`trade_override`,`trade_nodrop`,`trade_notrade`,`trade_nosell`,`trade_nocart`,`trade_noguildstorage`,`trade_nomail`,`trade_noauction`,`script`) VALUES (12208,'Battle_Manual','Battle Manual','Usable',2,10,60000,'Reuse_Limit_C',100,true,true,true,true,true,true,true,'sc_start SC_EXPBOOST,1800000,50;');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`trade_override`,`trade_nodrop`,`trade_notrade`,`trade_nosell`,`trade_nocart`,`trade_noguildstorage`,`trade_nomail`,`trade_noauction`,`script`) VALUES (12209,'Insurance','Life Insurance','Usable',2,10,100,true,true,true,true,true,true,true,'sc_start SC_LIFEINSURANCE,1800000,0;');
-REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`delay_duration`,`delay_status`,`trade_override`,`trade_nodrop`,`trade_notrade`,`trade_nosell`,`trade_nocart`,`trade_noguildstorage`,`trade_nomail`,`trade_noauction`,`script`) VALUES (12210,'Bubble_Gum','Bubble Gum','Usable',2,10,60000,'Reuse_Limit_D',100,true,true,true,true,true,true,true,'sc_start SC_ITEMBOOST,1800000,200;');
+REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`delay_duration`,`delay_status`,`trade_override`,`trade_nodrop`,`trade_notrade`,`trade_nosell`,`trade_nocart`,`trade_noguildstorage`,`trade_nomail`,`trade_noauction`,`script`) VALUES (12210,'Bubble_Gum','Bubble Gum','Usable',2,10,60000,'Reuse_Limit_D',100,true,true,true,true,true,true,true,'sc_start SC_ITEMBOOST,1800000,100;');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`trade_override`,`trade_nodrop`,`trade_notrade`,`trade_nosell`,`trade_nocart`,`trade_noguildstorage`,`trade_nomail`,`trade_noauction`,`script`) VALUES (12211,'Kafra_Card','Kafra Card','Usable',2,10,100,true,true,true,true,true,true,true,'callfunc "F_CashStore";');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`trade_override`,`trade_nodrop`,`trade_notrade`,`trade_nosell`,`trade_nocart`,`trade_noguildstorage`,`trade_nomail`,`trade_noauction`,`script`) VALUES (12212,'Giant_Fly_Wing','Giant Fly Wing','DelayConsume',2,10,100,true,true,true,true,true,true,true,'callfunc "F_CashPartyCall";');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`trade_override`,`trade_nodrop`,`trade_notrade`,`trade_nosell`,`trade_nocart`,`trade_noguildstorage`,`trade_nomail`,`trade_noauction`,`script`) VALUES (12213,'Neuralizer','Neuralizer','Delayconsume',2,100,true,true,true,true,true,true,true,'callfunc "F_CashReset";');
@@ -726,7 +726,7 @@ REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`script`) VAL
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`) VALUES (12409,'Pork_Belly_H','1st Class Pork Belly','Usable');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`) VALUES (12410,'Spareribs_H','Thick Pork Belly','Usable');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`script`) VALUES (12411,'HE_Battle_Manual','HE Battle Manual','Usable',2,10,'sc_start SC_EXPBOOST,900000,200;');
-REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`script`) VALUES (12412,'HE_Bubble_Gum','HE Bubble Gum','Usable',2,10,'sc_start SC_ITEMBOOST,900000,300;');
+REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`script`) VALUES (12412,'HE_Bubble_Gum','HE Bubble Gum','Usable',2,10,'sc_start SC_ITEMBOOST,900000,200;');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`trade_override`,`trade_nodrop`,`trade_notrade`,`trade_nosell`,`trade_nocart`,`trade_noguildstorage`,`trade_nomail`,`trade_noauction`) VALUES (12413,'PCBang_Coupon_Box2','PC Cafe Coupon Box','Usable',20,10,100,true,true,true,true,true,true,true);
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`flag_buyingstore`,`script`) VALUES (12414,'Guarana_Candy','Guarana Candy','Usable',20,10,true,'sc_start SC_ASPDPOTION0,1800000,0;\nsc_start SC_INCREASEAGI,140000,5;\nskilleffect "AL_INCAGI",0;');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`weight`,`nouse_override`,`nouse_sitting`,`trade_override`,`trade_nodrop`,`trade_notrade`,`trade_nosell`,`trade_nocart`,`trade_noguildstorage`,`trade_nomail`,`trade_noauction`) VALUES (12415,'Siege_Teleport_Scroll2','Siege Teleport Scroll Silver','Usable',10,100,true,100,true,true,true,true,true,true,true);
@@ -3089,7 +3089,7 @@ REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`script`) VALUES (22611,'Packing_Envelope','Packed Envelope','Usable',10,10,'.@r = rand(1,10);\nif (.@r == 1)\n   sc_start SC_PACKING_ENVELOPE1,30000,33; // +atk\nelse if (.@r == 2)\n   sc_start SC_PACKING_ENVELOPE2,30000,33; // +matk\nelse if (.@r == 3)\n   sc_start SC_PACKING_ENVELOPE3,30000,3; // +hp%\nelse if (.@r == 4)\n   sc_start SC_PACKING_ENVELOPE4,30000,3; // +sp%\nelse if (.@r == 5)\n   sc_start SC_PACKING_ENVELOPE5,30000,33; // +flee\nelse if (.@r == 6)\n   sc_start SC_PACKING_ENVELOPE6,30000,3; // +aspd\nelse if (.@r == 7)\n   sc_start SC_PACKING_ENVELOPE7,30000,33; // +def\nelse if (.@r == 8)\n   sc_start SC_PACKING_ENVELOPE8,30000,33; // +mdef\nelse if (.@r == 9)\n   sc_start SC_PACKING_ENVELOPE9,30000,33; // +crit\nelse\n   sc_start SC_PACKING_ENVELOPE10,30000,33; // +hit');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`script`) VALUES (22612,'Decomposition_Potion','Corrupt Reagents','Delayconsume',10,50,'specialeffect2 EF_VENOMDUST;\nshowscript "Yeah! Zombie night! Yeah!!";');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`script`) VALUES (22613,'Contaminated_Reagents','Contaminated Reagents','Delayconsume',10,50,'/* TODO */');
-REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`trade_override`,`trade_nodrop`,`trade_notrade`,`trade_nosell`,`trade_nocart`,`trade_nostorage`,`trade_noguildstorage`,`trade_nomail`,`trade_noauction`,`script`) VALUES (22614,'Premium_Manual','Premium Manual','Usable',2,100,true,true,true,true,true,true,true,true,'sc_start SC_EXPBOOST,8640000,50;\nsc_start SC_ITEMBOOST,8640000,200;');
+REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`trade_override`,`trade_nodrop`,`trade_notrade`,`trade_nosell`,`trade_nocart`,`trade_nostorage`,`trade_noguildstorage`,`trade_nomail`,`trade_noauction`,`script`) VALUES (22614,'Premium_Manual','Premium Manual','Usable',2,100,true,true,true,true,true,true,true,true,'sc_start SC_EXPBOOST,8640000,50;\nsc_start SC_ITEMBOOST,8640000,100;');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`trade_override`,`trade_nodrop`,`trade_notrade`,`trade_nosell`,`trade_nocart`,`trade_noguildstorage`,`trade_nomail`,`trade_noauction`) VALUES (22617,'Clear_Box_S','Clear Box S','Cash',10,10,100,true,true,true,true,true,true,true);
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`trade_override`,`trade_nodrop`,`trade_notrade`,`trade_nosell`,`trade_nocart`,`trade_noguildstorage`,`trade_nomail`,`trade_noauction`) VALUES (22618,'Clear_Box_A','Clear Box A','Cash',10,10,100,true,true,true,true,true,true,true);
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`trade_override`,`trade_nodrop`,`trade_notrade`,`trade_nocart`,`trade_nostorage`,`trade_noguildstorage`,`trade_nomail`,`trade_noauction`,`script`) VALUES (22619,'Ghost_Summon_Scroll','Ghost Scroll','Usable',100,true,true,true,true,true,true,true,'/* mercenary_create M_E_DEVILING,1800000; */');

+ 2 - 2
sql-files/mob_db2.sql

@@ -5,8 +5,8 @@
 DROP TABLE IF EXISTS `mob_db2`;
 CREATE TABLE `mob_db2` (
   `id` int(11) unsigned NOT NULL,
-  `name_aegis` varchar(24) NOT NULL,
-  `name_english` text NOT NULL,
+  `name_aegis` varchar(24) DEFAULT NULL,
+  `name_english` text DEFAULT NULL,
   `name_japanese` text DEFAULT NULL,
   `level` smallint(6) unsigned DEFAULT NULL,
   `hp` int(11) unsigned DEFAULT NULL,

+ 2 - 2
sql-files/mob_db2_re.sql

@@ -5,8 +5,8 @@
 DROP TABLE IF EXISTS `mob_db2_re`;
 CREATE TABLE `mob_db2_re` (
   `id` int(11) unsigned NOT NULL,
-  `name_aegis` varchar(24) NOT NULL,
-  `name_english` text NOT NULL,
+  `name_aegis` varchar(24) DEFAULT NULL,
+  `name_english` text DEFAULT NULL,
   `name_japanese` text DEFAULT NULL,
   `level` smallint(6) unsigned DEFAULT NULL,
   `hp` int(11) unsigned DEFAULT NULL,

+ 91 - 78
sql-files/mob_skill_db_re.sql

@@ -10113,34 +10113,34 @@ REPLACE INTO `mob_skill_db_re` VALUES (2781,'Leaf Cat Ringleader@AL_HEAL','chase
 REPLACE INTO `mob_skill_db_re` VALUES (2781,'Leaf Cat Ringleader@AL_HEAL','attack',28,1,10000,500,5000,'no','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'18',NULL);
 REPLACE INTO `mob_skill_db_re` VALUES (2781,'Leaf Cat Ringleader@AL_HEAL','chase',28,1,10000,500,5000,'no','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'18',NULL);
 REPLACE INTO `mob_skill_db_re` VALUES (2781,'Leaf Cat Ringleader@NPC_SUMMONSLAVE','idle',196,2,10000,700,30000,'no','self','slavele','0',1586,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db_re` VALUES (2782,'C4_L_WHIKEBAIN@TF_THROWSTONE','chase',152,1,10000,0,3000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db_re` VALUES (2782,'C4_L_WHIKEBAIN@TF_THROWSTONE','follow',152,1,10000,0,3000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db_re` VALUES (2782,'C4_L_WHIKEBAIN@NPC_POISON','attack',176,5,1000,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db_re` VALUES (2782,'C4_L_WHIKEBAIN@RG_STRIPWEAPON','attack',215,5,500,0,10000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'18',NULL);
-REPLACE INTO `mob_skill_db_re` VALUES (2782,'C4_L_WHIKEBAIN@RG_STRIPARMOR','attack',217,5,500,0,10000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'18',NULL);
-REPLACE INTO `mob_skill_db_re` VALUES (2782,'C4_L_WHIKEBAIN@RG_STRIPSHIELD','attack',216,5,500,0,10000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'17',NULL);
-REPLACE INTO `mob_skill_db_re` VALUES (2782,'C4_L_WHIKEBAIN@RG_STRIPHELM','attack',218,5,500,0,10000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db_re` VALUES (2782,'C4_L_WHIKEBAIN@RG_INTIMIDATE','attack',219,10,2000,0,60000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db_re` VALUES (2782,'C4_L_WHIKEBAIN@RG_CLOSECONFINE','attack',1005,1,1000,0,30000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db_re` VALUES (2782,'C4_L_WHIKEBAIN@NPC_POISONATTACK','attack',188,5,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db_re` VALUES (2783,'C5_L_EREMES@AS_CLOAKING','attack',135,3,2000,200,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db_re` VALUES (2783,'C5_L_EREMES@AS_CLOAKING','idle',135,3,2000,200,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db_re` VALUES (2783,'C5_L_EREMES@AS_CLOAKING','chase',135,3,2000,200,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db_re` VALUES (2783,'C5_L_EREMES@AS_GRIMTOOTH','idle',137,5,10000,0,0,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db_re` VALUES (2782,'C4_L_WHIKEBAIN@TF_THROWSTONE','chase',152,1,10000,0,3000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db_re` VALUES (2782,'C4_L_WHIKEBAIN@TF_THROWSTONE','follow',152,1,10000,0,3000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db_re` VALUES (2782,'C4_L_WHIKEBAIN@NPC_POISON','attack',176,5,1000,800,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db_re` VALUES (2782,'C4_L_WHIKEBAIN@RG_STRIPWEAPON','attack',215,5,500,0,10000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'18',NULL);
+REPLACE INTO `mob_skill_db_re` VALUES (2782,'C4_L_WHIKEBAIN@RG_STRIPARMOR','attack',217,5,500,0,10000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'18',NULL);
+REPLACE INTO `mob_skill_db_re` VALUES (2782,'C4_L_WHIKEBAIN@RG_STRIPSHIELD','attack',216,5,500,0,10000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'17',NULL);
+REPLACE INTO `mob_skill_db_re` VALUES (2782,'C4_L_WHIKEBAIN@RG_STRIPHELM','attack',218,5,500,0,10000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db_re` VALUES (2782,'C4_L_WHIKEBAIN@RG_INTIMIDATE','attack',219,10,2000,0,60000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db_re` VALUES (2782,'C4_L_WHIKEBAIN@RG_CLOSECONFINE','attack',1005,1,1000,0,30000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db_re` VALUES (2782,'C4_L_WHIKEBAIN@NPC_POISONATTACK','attack',188,5,1000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db_re` VALUES (2783,'C5_L_EREMES@AS_CLOAKING','attack',135,3,2000,200,5000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db_re` VALUES (2783,'C5_L_EREMES@AS_CLOAKING','idle',135,3,2000,200,5000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db_re` VALUES (2783,'C5_L_EREMES@AS_CLOAKING','chase',135,3,2000,200,5000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db_re` VALUES (2783,'C5_L_EREMES@AS_GRIMTOOTH','idle',137,5,10000,0,0,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
 REPLACE INTO `mob_skill_db_re` VALUES (2783,'C5_L_EREMES@AS_GRIMTOOTH','chase',137,5,10000,0,0,'yes','target','skillused','18',NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db_re` VALUES (2783,'C5_L_EREMES@AS_SONICBLOW','attack',136,10,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
-REPLACE INTO `mob_skill_db_re` VALUES (2783,'C5_L_EREMES@AS_GRIMTOOTH','chase',137,5,2000,0,0,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db_re` VALUES (2783,'C5_L_EREMES@AS_VENOMDUST','idle',140,10,2000,0,50000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
-REPLACE INTO `mob_skill_db_re` VALUES (2783,'C5_L_EREMES@AS_VENOMDUST','attack',140,10,2000,0,50000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
-REPLACE INTO `mob_skill_db_re` VALUES (2783,'C5_L_EREMES@NPC_CRITICALSLASH','attack',170,1,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db_re` VALUES (2783,'C5_L_EREMES@NPC_STUNATTACK','attack',179,5,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db_re` VALUES (2783,'C5_L_EREMES@NPC_POISONATTACK','attack',188,5,1000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db_re` VALUES (2783,'C5_L_EREMES@AL_TELEPORT','idle',26,1,1000,1000,10000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db_re` VALUES (2783,'C5_L_EREMES@AL_TELEPORT','chase',26,1,1000,1000,10000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db_re` VALUES (2783,'C5_L_EREMES@AL_TELEPORT','attack',26,1,1000,1000,10000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db_re` VALUES (2783,'C5_L_EREMES@AL_HEAL','idle',28,9,10000,1000,10000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db_re` VALUES (2783,'C5_L_EREMES@AL_HEAL','chase',28,9,10000,1000,10000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db_re` VALUES (2783,'C5_L_EREMES@AL_HEAL','attack',28,9,10000,1000,10000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db_re` VALUES (2783,'C5_L_EREMES@AS_SONICBLOW','attack',136,10,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db_re` VALUES (2783,'C5_L_EREMES@AS_GRIMTOOTH','chase',137,5,2000,0,0,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db_re` VALUES (2783,'C5_L_EREMES@AS_VENOMDUST','idle',140,10,2000,0,50000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db_re` VALUES (2783,'C5_L_EREMES@AS_VENOMDUST','attack',140,10,2000,0,50000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db_re` VALUES (2783,'C5_L_EREMES@NPC_CRITICALSLASH','attack',170,1,1000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db_re` VALUES (2783,'C5_L_EREMES@NPC_STUNATTACK','attack',179,5,1000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db_re` VALUES (2783,'C5_L_EREMES@NPC_POISONATTACK','attack',188,5,1000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db_re` VALUES (2783,'C5_L_EREMES@AL_TELEPORT','idle',26,1,1000,1000,10000,'no','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db_re` VALUES (2783,'C5_L_EREMES@AL_TELEPORT','chase',26,1,1000,1000,10000,'no','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db_re` VALUES (2783,'C5_L_EREMES@AL_TELEPORT','attack',26,1,1000,1000,10000,'no','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db_re` VALUES (2783,'C5_L_EREMES@AL_HEAL','idle',28,9,10000,1000,10000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db_re` VALUES (2783,'C5_L_EREMES@AL_HEAL','chase',28,9,10000,1000,10000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db_re` VALUES (2783,'C5_L_EREMES@AL_HEAL','attack',28,9,10000,1000,10000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
 REPLACE INTO `mob_skill_db_re` VALUES (2784,'Swift Kobold Archer@AL_TELEPORT','attack',26,1,500,0,5000,'yes','self','myhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
 REPLACE INTO `mob_skill_db_re` VALUES (2784,'Swift Kobold Archer@AL_HEAL','attack',28,5,10000,500,5000,'yes','self','myhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
 REPLACE INTO `mob_skill_db_re` VALUES (2784,'Swift Kobold Archer@AC_DOUBLE','attack',46,3,500,1000,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'6',NULL);
@@ -11014,17 +11014,29 @@ REPLACE INTO `mob_skill_db_re` VALUES (2939,'Evil Shadow@NPC_CURSEATTACK','attac
 REPLACE INTO `mob_skill_db_re` VALUES (2940,'Evil Shadow@NPC_DARKSTRIKE','attack',340,1,3000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
 REPLACE INTO `mob_skill_db_re` VALUES (2941,'Evil Shadow@NPC_CRITICALSLASH','chase',170,1,3000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
 REPLACE INTO `mob_skill_db_re` VALUES (2941,'Evil Shadow@NPC_PETRIFYATTACK','attack',180,5,3500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db_re` VALUES (2942,'Evil Fanatics@NPC_INVINCIBLE','idle',685,1,10000,0,20000,'yes','self','myhpltmaxrate','100',NULL,NULL,NULL,NULL,NULL,NULL,'42');
-REPLACE INTO `mob_skill_db_re` VALUES (2942,'Evil Fanatics@NPC_INVINCIBLE','attack',685,1,10000,0,20000,'yes','self','myhpltmaxrate','100',NULL,NULL,NULL,NULL,NULL,NULL,'42');
-REPLACE INTO `mob_skill_db_re` VALUES (2942,'Evil Fanatics@NPC_INVINCIBLE','attack',685,1,10000,0,20000,'yes','self','myhpltmaxrate','90',NULL,NULL,NULL,NULL,NULL,NULL,'42');
-REPLACE INTO `mob_skill_db_re` VALUES (2942,'Evil Fanatics@NPC_INVINCIBLE','attack',685,1,10000,0,20000,'yes','self','myhpltmaxrate','80',NULL,NULL,NULL,NULL,NULL,NULL,'42');
-REPLACE INTO `mob_skill_db_re` VALUES (2942,'Evil Fanatics@NPC_INVINCIBLE','attack',685,1,10000,0,20000,'yes','self','myhpltmaxrate','70',NULL,NULL,NULL,NULL,NULL,NULL,'42');
-REPLACE INTO `mob_skill_db_re` VALUES (2942,'Evil Fanatics@NPC_INVINCIBLE','attack',685,1,10000,0,20000,'yes','self','myhpltmaxrate','60',NULL,NULL,NULL,NULL,NULL,NULL,'42');
-REPLACE INTO `mob_skill_db_re` VALUES (2942,'Evil Fanatics@NPC_INVINCIBLE','attack',685,1,10000,0,20000,'yes','self','myhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,NULL,'42');
-REPLACE INTO `mob_skill_db_re` VALUES (2942,'Evil Fanatics@NPC_INVINCIBLE','attack',685,1,10000,0,20000,'yes','self','myhpltmaxrate','40',NULL,NULL,NULL,NULL,NULL,NULL,'42');
-REPLACE INTO `mob_skill_db_re` VALUES (2942,'Evil Fanatics@NPC_INVINCIBLE','attack',685,1,10000,0,20000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,NULL,'42');
-REPLACE INTO `mob_skill_db_re` VALUES (2942,'Evil Fanatics@NPC_INVINCIBLE','attack',685,1,10000,0,20000,'yes','self','myhpltmaxrate','20',NULL,NULL,NULL,NULL,NULL,NULL,'42');
-REPLACE INTO `mob_skill_db_re` VALUES (2942,'Evil Fanatics@NPC_INVINCIBLE','attack',685,1,10000,0,20000,'yes','self','myhpltmaxrate','10',NULL,NULL,NULL,NULL,NULL,NULL,'42');
+REPLACE INTO `mob_skill_db_re` VALUES (2942,'Evil Fanatics@NPC_INVINCIBLE','idle',685,1,10000,0,20000,'yes','self','myhpltmaxrate','100',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db_re` VALUES (2942,'Evil Fanatics@NPC_INVINCIBLE','attack',685,1,10000,0,20000,'yes','self','myhpltmaxrate','100',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db_re` VALUES (2942,'Evil Fanatics@NPC_INVINCIBLE','attack',685,1,10000,0,20000,'yes','self','myhpltmaxrate','90',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db_re` VALUES (2942,'Evil Fanatics@NPC_INVINCIBLE','attack',685,1,10000,0,20000,'yes','self','myhpltmaxrate','80',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db_re` VALUES (2942,'Evil Fanatics@NPC_INVINCIBLE','attack',685,1,10000,0,20000,'yes','self','myhpltmaxrate','70',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db_re` VALUES (2942,'Evil Fanatics@NPC_INVINCIBLE','attack',685,1,10000,0,20000,'yes','self','myhpltmaxrate','60',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db_re` VALUES (2942,'Evil Fanatics@NPC_INVINCIBLE','attack',685,1,10000,0,20000,'yes','self','myhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db_re` VALUES (2942,'Evil Fanatics@NPC_INVINCIBLE','attack',685,1,10000,0,20000,'yes','self','myhpltmaxrate','40',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db_re` VALUES (2942,'Evil Fanatics@NPC_INVINCIBLE','attack',685,1,10000,0,20000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db_re` VALUES (2942,'Evil Fanatics@NPC_INVINCIBLE','attack',685,1,10000,0,20000,'yes','self','myhpltmaxrate','20',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db_re` VALUES (2942,'Evil Fanatics@NPC_INVINCIBLE','attack',685,1,10000,0,20000,'yes','self','myhpltmaxrate','10',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+# unknown monster chat
+#REPLACE INTO `mob_skill_db_re` VALUES ( 2942,'Evil Fanatics@NPC_INVINCIBLE','idle',685,1,10000,0,20000,'yes','self','myhpltmaxrate','100',NULL,NULL,NULL,NULL,NULL,NULL,'42');
+#REPLACE INTO `mob_skill_db_re` VALUES ( 2942,'Evil Fanatics@NPC_INVINCIBLE','attack',685,1,10000,0,20000,'yes','self','myhpltmaxrate','100',NULL,NULL,NULL,NULL,NULL,NULL,'42');
+#REPLACE INTO `mob_skill_db_re` VALUES ( 2942,'Evil Fanatics@NPC_INVINCIBLE','attack',685,1,10000,0,20000,'yes','self','myhpltmaxrate','90',NULL,NULL,NULL,NULL,NULL,NULL,'42');
+#REPLACE INTO `mob_skill_db_re` VALUES ( 2942,'Evil Fanatics@NPC_INVINCIBLE','attack',685,1,10000,0,20000,'yes','self','myhpltmaxrate','80',NULL,NULL,NULL,NULL,NULL,NULL,'42');
+#REPLACE INTO `mob_skill_db_re` VALUES ( 2942,'Evil Fanatics@NPC_INVINCIBLE','attack',685,1,10000,0,20000,'yes','self','myhpltmaxrate','70',NULL,NULL,NULL,NULL,NULL,NULL,'42');
+#REPLACE INTO `mob_skill_db_re` VALUES ( 2942,'Evil Fanatics@NPC_INVINCIBLE','attack',685,1,10000,0,20000,'yes','self','myhpltmaxrate','60',NULL,NULL,NULL,NULL,NULL,NULL,'42');
+#REPLACE INTO `mob_skill_db_re` VALUES ( 2942,'Evil Fanatics@NPC_INVINCIBLE','attack',685,1,10000,0,20000,'yes','self','myhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,NULL,'42');
+#REPLACE INTO `mob_skill_db_re` VALUES ( 2942,'Evil Fanatics@NPC_INVINCIBLE','attack',685,1,10000,0,20000,'yes','self','myhpltmaxrate','40',NULL,NULL,NULL,NULL,NULL,NULL,'42');
+#REPLACE INTO `mob_skill_db_re` VALUES ( 2942,'Evil Fanatics@NPC_INVINCIBLE','attack',685,1,10000,0,20000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,NULL,'42');
+#REPLACE INTO `mob_skill_db_re` VALUES ( 2942,'Evil Fanatics@NPC_INVINCIBLE','attack',685,1,10000,0,20000,'yes','self','myhpltmaxrate','20',NULL,NULL,NULL,NULL,NULL,NULL,'42');
+#REPLACE INTO `mob_skill_db_re` VALUES ( 2942,'Evil Fanatics@NPC_INVINCIBLE','attack',685,1,10000,0,20000,'yes','self','myhpltmaxrate','10',NULL,NULL,NULL,NULL,NULL,NULL,'42');
 #REPLACE INTO `mob_skill_db_re` VALUES ( 2942,'Evil Fanatics@NPC_DANCINGBLADE','attack',713,1,1000,0,15000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
 #REPLACE INTO `mob_skill_db_re` VALUES ( 2942,'Evil Fanatics@NPC_PULSESTRIKE2','attack',712,1,800,0,15000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
 #REPLACE INTO `mob_skill_db_re` VALUES ( 2942,'Evil Fanatics@NPC_DARKPIERCING','attack',715,1,2500,0,60000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
@@ -11950,7 +11962,7 @@ REPLACE INTO `mob_skill_db_re` VALUES (3254,'T_W_O@NPC_SILENCEATTACK','chase',17
 REPLACE INTO `mob_skill_db_re` VALUES (3254,'T_W_O@NPC_WIDESLEEP','attack',668,5,4000,0,15000,'no','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
 REPLACE INTO `mob_skill_db_re` VALUES (3254,'T_W_O@NPC_WIDESTONE','attack',666,5,6000,0,30000,'no','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
 REPLACE INTO `mob_skill_db_re` VALUES (3254,'T_W_O@NPC_WIDESOULDRAIN','attack',680,10,10000,0,60000,'no','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db_re` VALUES (3254,'T_W_O@NPC_CRITICALWOUND','attack',673,5,1500,500,45000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db_re` VALUES (3254,'T_W_O@NPC_CRITICALWOUND','attack',673,5,1500,500,45000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
 
 REPLACE INTO `mob_skill_db_re` VALUES (3442,'FROZENWOLF@WZ_WATERBALL','attack',86,4,1000,1500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
 REPLACE INTO `mob_skill_db_re` VALUES (3442,'FROZENWOLF@WZ_WATERBALL','chase',86,4,1000,1500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
@@ -12003,42 +12015,42 @@ REPLACE INTO `mob_skill_db_re` VALUES (3452,'ZOMBIE_GUARD@NPC_POISONATTACK','att
 REPLACE INTO `mob_skill_db_re` VALUES (3452,'ZOMBIE_GUARD@NPC_BLOODDRAIN','attack',199,1,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'2',NULL);
 
 # Sky Fortress Invasion Instance
-REPLACE INTO `mob_skill_db_re` VALUES (3473,'AS_RAGGED_GOLEM@NPC_ELECTRICWALK','attack',744,5,2000,0,5000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db_re` VALUES (3473,'AS_RAGGED_GOLEM@NPC_FIREWALK','attack',745,5,2000,0,5000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db_re` VALUES (3473,'AS_RAGGED_GOLEM@NPC_HALLUCINATIONWALK','attack',743,5,10000,800,500000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db_re` VALUES (3473,'AS_RAGGED_GOLEM@NPC_HALLUCINATIONWALK','chase',743,5,10000,800,500000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db_re` VALUES (3474,'AS_BLOODY_KNIGHT@NPC_PHANTOMTHRUST','attack',741,5,2000,1000,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db_re` VALUES (3474,'AS_BLOODY_KNIGHT@NPC_IGNITIONBREAK','attack',740,5,1000,3000,5000,'no','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db_re` VALUES (3475,'AS_WIND_GHOST@NPC_CLOUD_KILL','chase',739,5,10000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db_re` VALUES (3475,'AS_WIND_GHOST@NPC_CLOUD_KILL','attack',739,5,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db_re` VALUES (3475,'AS_WIND_GHOST@NPC_POISON_BUSTER','attack',742,2,1000,1000,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db_re` VALUES (3475,'AS_WIND_GHOST@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,'29');
-REPLACE INTO `mob_skill_db_re` VALUES (3475,'AS_WIND_GHOST@HT_SHOCKWAVE','idle',118,5,500,0,300000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,'29');
-REPLACE INTO `mob_skill_db_re` VALUES (3476,'AS_ZOMBIE@NPC_POISON','attack',176,1,500,800,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db_re` VALUES (3476,'AS_ZOMBIE@NPC_POISON','angry',176,1,500,800,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db_re` VALUES (3476,'AS_ZOMBIE@NPC_UNDEADATTACK','attack',347,1,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db_re` VALUES (3476,'AS_ZOMBIE@NPC_UNDEADATTACK','angry',347,1,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db_re` VALUES (3478,'AS_ZOMBIE_SLAUGHTER@NPC_BLINDATTACK','attack',177,5,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db_re` VALUES (3478,'AS_ZOMBIE_SLAUGHTER@NPC_POISON','attack',176,5,500,800,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db_re` VALUES (3478,'AS_ZOMBIE_SLAUGHTER@AS_SONICBLOW','attack',136,5,1000,800,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db_re` VALUES (3478,'AS_ZOMBIE_SLAUGHTER@NPC_COMBOATTACK','attack',171,1,500,700,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db_re` VALUES (3479,'AS_ZOMBIE_MASTER@KN_BRANDISHSPEAR','attack',57,5,500,1000,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db_re` VALUES (3479,'AS_ZOMBIE_MASTER@NPC_POISON','attack',176,3,500,800,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db_re` VALUES (3479,'AS_ZOMBIE_MASTER@NPC_UNDEADATTACK','attack',347,3,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db_re` VALUES (3479,'AS_ZOMBIE_MASTER@NPC_UNDEADATTACK','angry',347,1,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db_re` VALUES (3480,'AS_CURSED_SOLDIER@NPC_BLINDATTACK','attack',177,5,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db_re` VALUES (3480,'AS_CURSED_SOLDIER@AC_DOUBLE','attack',46,5,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db_re` VALUES (3480,'AS_CURSED_SOLDIER@NPC_MAGICALATTACK','attack',192,1,500,800,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db_re` VALUES (3480,'AS_CURSED_SOLDIER@AC_SHOWER','attack',47,3,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db_re` VALUES (3481,'AS_EVIL_SHADOW1@NPC_PIERCINGATT','chase',158,1,4000,0,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db_re` VALUES (3481,'AS_EVIL_SHADOW1@NPC_CURSEATTACK','attack',181,5,3500,0,20000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db_re` VALUES (3482,'AS_EVIL_SHADOW2@NPC_DARKSTRIKE','attack',340,1,3000,0,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db_re` VALUES (3483,'AS_EVIL_SHADOW3@NPC_CRITICALSLASH','chase',170,1,3000,0,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db_re` VALUES (3483,'AS_EVIL_SHADOW3@NPC_PETRIFYATTACK','attack',180,5,3500,0,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db_re` VALUES (3485,'AS_D_CURSED_SOLDIER@NPC_BLINDATTACK','attack',177,5,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db_re` VALUES (3485,'AS_D_CURSED_SOLDIER@AC_DOUBLE','attack',46,5,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db_re` VALUES (3485,'AS_D_CURSED_SOLDIER@NPC_MAGICALATTACK','attack',192,1,500,800,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db_re` VALUES (3485,'AS_D_CURSED_SOLDIER@AC_SHOWER','attack',47,3,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db_re` VALUES (3473,'AS_RAGGED_GOLEM@NPC_ELECTRICWALK','attack',744,5,2000,0,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db_re` VALUES (3473,'AS_RAGGED_GOLEM@NPC_FIREWALK','attack',745,5,2000,0,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db_re` VALUES (3473,'AS_RAGGED_GOLEM@NPC_HALLUCINATIONWALK','attack',743,5,10000,800,500000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db_re` VALUES (3473,'AS_RAGGED_GOLEM@NPC_HALLUCINATIONWALK','chase',743,5,10000,800,500000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db_re` VALUES (3474,'AS_BLOODY_KNIGHT@NPC_PHANTOMTHRUST','attack',741,5,2000,1000,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db_re` VALUES (3474,'AS_BLOODY_KNIGHT@NPC_IGNITIONBREAK','attack',740,5,1000,3000,5000,'no','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db_re` VALUES (3475,'AS_WIND_GHOST@NPC_CLOUD_KILL','chase',739,5,10000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db_re` VALUES (3475,'AS_WIND_GHOST@NPC_CLOUD_KILL','attack',739,5,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db_re` VALUES (3475,'AS_WIND_GHOST@NPC_POISON_BUSTER','attack',742,2,1000,1000,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db_re` VALUES (3475,'AS_WIND_GHOST@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db_re` VALUES (3475,'AS_WIND_GHOST@HT_SHOCKWAVE','idle',118,5,500,0,300000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db_re` VALUES (3476,'AS_ZOMBIE@NPC_POISON','attack',176,1,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db_re` VALUES (3476,'AS_ZOMBIE@NPC_POISON','angry',176,1,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db_re` VALUES (3476,'AS_ZOMBIE@NPC_UNDEADATTACK','attack',347,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db_re` VALUES (3476,'AS_ZOMBIE@NPC_UNDEADATTACK','angry',347,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db_re` VALUES (3478,'AS_ZOMBIE_SLAUGHTER@NPC_BLINDATTACK','attack',177,5,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db_re` VALUES (3478,'AS_ZOMBIE_SLAUGHTER@NPC_POISON','attack',176,5,500,800,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db_re` VALUES (3478,'AS_ZOMBIE_SLAUGHTER@AS_SONICBLOW','attack',136,5,1000,800,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db_re` VALUES (3478,'AS_ZOMBIE_SLAUGHTER@NPC_COMBOATTACK','attack',171,1,500,700,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db_re` VALUES (3479,'AS_ZOMBIE_MASTER@KN_BRANDISHSPEAR','attack',57,5,500,1000,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db_re` VALUES (3479,'AS_ZOMBIE_MASTER@NPC_POISON','attack',176,3,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db_re` VALUES (3479,'AS_ZOMBIE_MASTER@NPC_UNDEADATTACK','attack',347,3,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db_re` VALUES (3479,'AS_ZOMBIE_MASTER@NPC_UNDEADATTACK','angry',347,1,2000,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db_re` VALUES (3480,'AS_CURSED_SOLDIER@NPC_BLINDATTACK','attack',177,5,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db_re` VALUES (3480,'AS_CURSED_SOLDIER@AC_DOUBLE','attack',46,5,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db_re` VALUES (3480,'AS_CURSED_SOLDIER@NPC_MAGICALATTACK','attack',192,1,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db_re` VALUES (3480,'AS_CURSED_SOLDIER@AC_SHOWER','attack',47,3,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db_re` VALUES (3481,'AS_EVIL_SHADOW1@NPC_PIERCINGATT','chase',158,1,4000,0,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db_re` VALUES (3481,'AS_EVIL_SHADOW1@NPC_CURSEATTACK','attack',181,5,3500,0,20000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db_re` VALUES (3482,'AS_EVIL_SHADOW2@NPC_DARKSTRIKE','attack',340,1,3000,0,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db_re` VALUES (3483,'AS_EVIL_SHADOW3@NPC_CRITICALSLASH','chase',170,1,3000,0,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db_re` VALUES (3483,'AS_EVIL_SHADOW3@NPC_PETRIFYATTACK','attack',180,5,3500,0,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db_re` VALUES (3485,'AS_D_CURSED_SOLDIER@NPC_BLINDATTACK','attack',177,5,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db_re` VALUES (3485,'AS_D_CURSED_SOLDIER@AC_DOUBLE','attack',46,5,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db_re` VALUES (3485,'AS_D_CURSED_SOLDIER@NPC_MAGICALATTACK','attack',192,1,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db_re` VALUES (3485,'AS_D_CURSED_SOLDIER@AC_SHOWER','attack',47,3,500,0,5000,'yes','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
 
 REPLACE INTO `mob_skill_db_re` VALUES (3487,'IMMORTAL_CORPS1@NPC_PIERCINGATT','chase',158,5,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
 REPLACE INTO `mob_skill_db_re` VALUES (3487,'IMMORTAL_CORPS1@NPC_CRITICALWOUND','attack',673,1,500,500,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
@@ -12064,15 +12076,15 @@ REPLACE INTO `mob_skill_db_re` VALUES (3489,'IMMORTAL_CORPS3@NPC_EARTHQUAKE','at
 REPLACE INTO `mob_skill_db_re` VALUES (3489,'IMMORTAL_CORPS3@NPC_POWERUP','attack',349,3,10000,0,20000,'yes','self','myhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
 REPLACE INTO `mob_skill_db_re` VALUES (3489,'IMMORTAL_CORPS3@NPC_EARTHQUAKE','attack',653,1,10000,2000,60000,'no','self','myhpltmaxrate','25',NULL,NULL,NULL,NULL,NULL,'6',NULL);
 REPLACE INTO `mob_skill_db_re` VALUES (3490,'IMMORTAL_CO_CMDER@NPC_SUMMONSLAVE','idle',196,1,10000,500,60000,'no','self','slavele','0',3487,3488,3489,NULL,NULL,NULL,NULL);
-#REPLACE INTO `mob_skill_db_re` VALUES (3490,'IMMORTAL_CO_CMDER@NPC_CHEAL','idle',729,5,3000,0,5000,'yes','self','friendhpltmaxrate','80',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+#REPLACE INTO `mob_skill_db_re` VALUES ( 3490,'IMMORTAL_CO_CMDER@NPC_CHEAL','idle',729,5,3000,0,5000,'yes','self','friendhpltmaxrate','80',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
 REPLACE INTO `mob_skill_db_re` VALUES (3490,'IMMORTAL_CO_CMDER@AB_CHEAL','idle',2043,5,3000,0,5000,'yes','self','friendhpltmaxrate','80',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
 REPLACE INTO `mob_skill_db_re` VALUES (3490,'IMMORTAL_CO_CMDER@MG_SIGHT','idle',10,1,500,100,10000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
 REPLACE INTO `mob_skill_db_re` VALUES (3490,'IMMORTAL_CO_CMDER@MG_SIGHT','chase',10,1,500,100,10000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
 REPLACE INTO `mob_skill_db_re` VALUES (3490,'IMMORTAL_CO_CMDER@NPC_SUMMONSLAVE','attack',196,1,10000,700,60000,'no','self','slavele','0',3487,3488,3489,NULL,NULL,NULL,NULL);
-#REPLACE INTO `mob_skill_db_re` VALUES (3490,'IMMORTAL_CO_CMDER@NPC_CHEAL','attack',729,5,3000,0,5000,'yes','self','friendhpltmaxrate','80',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+#REPLACE INTO `mob_skill_db_re` VALUES ( 3490,'IMMORTAL_CO_CMDER@NPC_CHEAL','attack',729,5,3000,0,5000,'yes','self','friendhpltmaxrate','80',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
 REPLACE INTO `mob_skill_db_re` VALUES (3490,'IMMORTAL_CO_CMDER@AB_CHEAL','attack',2043,5,3000,0,5000,'yes','self','friendhpltmaxrate','80',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
 REPLACE INTO `mob_skill_db_re` VALUES (3490,'IMMORTAL_CO_CMDER@NPC_BLOODDRAIN','attack',199,1,3000,0,4000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-#REPLACE INTO `mob_skill_db_re` VALUES (3490,'IMMORTAL_CO_CMDER@NPC_CHEAL','chase',729,5,3000,0,5000,'yes','self','friendhpltmaxrate','80',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+#REPLACE INTO `mob_skill_db_re` VALUES ( 3490,'IMMORTAL_CO_CMDER@NPC_CHEAL','chase',729,5,3000,0,5000,'yes','self','friendhpltmaxrate','80',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
 REPLACE INTO `mob_skill_db_re` VALUES (3490,'IMMORTAL_CO_CMDER@AB_CHEAL','chase',2043,5,3000,0,5000,'yes','self','friendhpltmaxrate','80',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
 REPLACE INTO `mob_skill_db_re` VALUES (3490,'IMMORTAL_CO_CMDER@NPC_HELLJUDGEMENT','attack',662,3,1000,2000,30000,'yes','self','myhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,'7',NULL);
 REPLACE INTO `mob_skill_db_re` VALUES (3490,'IMMORTAL_CO_CMDER@NPC_ALLHEAL','attack',687,9,500,2000,100000,'yes','self','myhpltmaxrate','15',NULL,NULL,NULL,NULL,NULL,'52',NULL);
@@ -12129,3 +12141,4 @@ REPLACE INTO `mob_skill_db_re` VALUES (3633,'EP16_2_VENOM_KIMERA@NPC_POISONATTAC
 REPLACE INTO `mob_skill_db_re` VALUES (3633,'EP16_2_VENOM_KIMERA@NPC_WIDESIGHT','attack',669,1,10000,0,30000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
 REPLACE INTO `mob_skill_db_re` VALUES (3633,'EP16_2_VENOM_KIMERA@NPC_ACIDBREATH','attack',657,6,10000,3000,25000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
 REPLACE INTO `mob_skill_db_re` VALUES (3633,'EP16_2_VENOM_KIMERA@RG_STRIPARMOR','attack',217,5,500,1000,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+

+ 40 - 26
src/map/itemdb.cpp

@@ -72,8 +72,24 @@ uint64 ItemDatabase::parseBodyNode(const YAML::Node &node) {
 			return 0;
 		}
 
+		if( exists ){
+			// Create a copy
+			std::string aegisname = item->name;
+			// Convert it to lower
+			util::tolower( aegisname );
+			// Remove old AEGIS name from lookup
+			this->aegisNameToItemDataMap.erase( aegisname );
+		}
+
 		item->name.resize(ITEM_NAME_LENGTH);
 		item->name = name.c_str();
+
+		// Create a copy
+		std::string aegisname = name;
+		// Convert it to lower
+		util::tolower( aegisname );
+
+		this->aegisNameToItemDataMap[aegisname] = item;
 	}
 
 	if (this->nodeExists(node, "Name")) {
@@ -82,8 +98,24 @@ uint64 ItemDatabase::parseBodyNode(const YAML::Node &node) {
 		if (!this->asString(node, "Name", name))
 			return 0;
 
+		if( exists ){
+			// Create a copy
+			std::string ename = item->ename;
+			// Convert it to lower
+			util::tolower( ename );
+			// Remove old name from lookup
+			this->nameToItemDataMap.erase( ename );
+		}
+
 		item->ename.resize(ITEM_NAME_LENGTH);
 		item->ename = name.c_str();
+
+		// Create a copy
+		std::string ename = name;
+		// Convert it to lower
+		util::tolower( ename );
+
+		this->nameToItemDataMap[ename] = item;
 	}
 
 	if (this->nodeExists(node, "Type")) {
@@ -1040,27 +1072,6 @@ void ItemDatabase::loadingFinished(){
 
 		item_db.put( ITEMID_DUMMY, dummy_item );
 	}
-
-	// Prepare the container size to not allocate often
-	this->nameToItemDataMap.reserve( this->size() );
-	this->aegisNameToItemDataMap.reserve( this->size() );
-
-	// Build the name lookup maps
-	for( const auto& entry : *this ){
-		// Create a copy
-		std::string ename = entry.second->ename;
-		// Convert it to lower
-		util::tolower( ename );
-
-		this->nameToItemDataMap[ename] = entry.second;
-
-		// Create a copy
-		std::string aegisname = entry.second->name;
-		// Convert it to lower
-		util::tolower( aegisname );
-
-		this->aegisNameToItemDataMap[aegisname] = entry.second;
-	}
 }
 
 /**
@@ -1095,7 +1106,7 @@ e_sex ItemDatabase::defaultGender( const YAML::Node &node, std::shared_ptr<item_
 	return static_cast<e_sex>( id->sex );
 }
 
-std::shared_ptr<item_data> ItemDatabase::searchname( const char* name ){
+std::shared_ptr<item_data> ItemDatabase::search_aegisname( const char* name ){
 	// Create a copy
 	std::string lowername = name;
 	// Convert it to lower
@@ -1104,7 +1115,7 @@ std::shared_ptr<item_data> ItemDatabase::searchname( const char* name ){
 	return util::umap_find( this->aegisNameToItemDataMap, lowername );
 }
 
-std::shared_ptr<item_data> ItemDatabase::search_aegisname( const char *name ){
+std::shared_ptr<item_data> ItemDatabase::searchname( const char *name ){
 	// Create a copy
 	std::string lowername = name;
 	// Convert it to lower
@@ -2110,9 +2121,12 @@ static bool itemdb_read_sqldb_sub(std::vector<std::string> str) {
 	int32 index = -1;
 
 	node["Id"] = std::stoul(str[++index], nullptr, 10);
-	node["AegisName"] = str[++index];
-	node["Name"] = str[++index];
-	node["Type"] = str[++index];
+	if (!str[++index].empty())
+		node["AegisName"] = str[index];
+	if (!str[++index].empty())
+		node["Name"] = str[index];
+	if (!str[++index].empty())
+		node["Type"] = str[index];
 	if (!str[++index].empty())
 		node["SubType"] = str[index];
 	if (!str[++index].empty())

+ 4 - 2
src/map/mob.cpp

@@ -4935,8 +4935,10 @@ static bool mob_read_sqldb_sub(std::vector<std::string> str) {
 	int32 index = -1;
 
 	node["Id"] = std::stoul(str[++index]);
-	node["AegisName"] = str[++index];
-	node["Name"] = str[++index];
+	if (!str[++index].empty())
+		node["AegisName"] = str[index];
+	if (!str[++index].empty())
+		node["Name"] = str[index];
 	if (!str[++index].empty())
 		node["JapaneseName"] = str[index];
 	if (!str[++index].empty() && std::stoi(str[index]) > 1)

+ 4 - 0
src/tool/csv2yaml.cpp

@@ -127,6 +127,7 @@ bool process( const std::string& type, uint32 version, const std::vector<std::st
 		const std::string to = path + "/" + (rename.size() > 0 ? rename : name) + ".yml";
 
 		if( fileExists( from ) ){
+#ifndef CONVERT_ALL
 			if( !askConfirmation( "Found the file \"%s\", which requires migration to yml.\nDo you want to convert it now? (Y/N)\n", from.c_str() ) ){
 				continue;
 			}
@@ -136,6 +137,9 @@ bool process( const std::string& type, uint32 version, const std::vector<std::st
 					continue;
 				}
 			}
+#else
+			ShowMessage( "Found the file \"%s\", which requires migration to yml.\n", from.c_str() );
+#endif
 
 			ShowNotice("Conversion process has begun.\n");
 

+ 4 - 0
src/tool/yaml2sql.cpp

@@ -139,9 +139,11 @@ bool process( const std::string& type, uint32 version, const std::vector<std::st
 		const std::string to = "sql-files/" + to_table + ".sql";
 
 		if( fileExists( from ) ){
+#ifndef CONVERT_ALL
 			if( !askConfirmation( "Found the file \"%s\", which can be converted to sql.\nDo you want to convert it now? (Y/N)\n", from.c_str() ) ){
 				continue;
 			}
+#endif
 
 			inNode.reset();
 
@@ -156,11 +158,13 @@ bool process( const std::string& type, uint32 version, const std::vector<std::st
 			if (!inNode["Body"].IsDefined())
 				continue;
 
+#ifndef CONVERT_ALL
 			if (fileExists(to)) {
 				if (!askConfirmation("The file \"%s\" already exists.\nDo you want to replace it? (Y/N)\n", to.c_str())) {
 					continue;
 				}
 			}
+#endif
 
 			out.open(to);